Package org.antlr.v4.tool

Examples of org.antlr.v4.tool.Grammar


      "lexer grammar L;\n" +
      "ID : 'a'..'z' ;\n" + // one char
      "SEMI : ';' ;\n"+
      "INT : '0'..'9'+ ;\n"
    );
    Grammar g = new Grammar(
      "parser grammar T;\n"+
      "tokens {ID,SEMI,INT}\n" +
      "a : ID | ID | ID SEMI ;\n");
    int decision = 0;
    checkPredictedAlt(lg, g, decision, "a", 1);
View Full Code Here


    String result = ATNSerializer.getDecoded(atn, Arrays.asList(g.getTokenNames()));
    assertEquals(expecting, result);
  }

  @Test public void testRuleRef() throws Exception {
    Grammar g = new Grammar(
      "parser grammar T;\n"+
      "a : e ;\n" +
      "e : E ;\n");
    String expecting =
      "max type 1\n" +
        "0:RULE_START 0\n" +
        "1:RULE_STOP 0\n" +
        "2:RULE_START 1\n" +
        "3:RULE_STOP 1\n" +
        "4:BASIC 0\n" +
        "5:BASIC 0\n" +
        "6:BASIC 1\n" +
        "7:BASIC 1\n" +
        "8:BASIC 1\n" +
        "rule 0:0\n" +
        "rule 1:2\n" +
        "0->4 EPSILON 0,0,0\n" +
        "2->6 EPSILON 0,0,0\n" +
        "4->5 RULE 2,1,0\n" +
        "5->1 EPSILON 0,0,0\n" +
        "6->7 ATOM 1,0,0\n" +
        "7->3 EPSILON 0,0,0\n";
    ATN atn = createATN(g, true);
    String result = ATNSerializer.getDecoded(atn, Arrays.asList(g.getTokenNames()));
    assertEquals(expecting, result);
  }
View Full Code Here

import static org.junit.Assert.assertEquals;

public class TestTokenPositionOptions extends BaseTest {
  @Test public void testLeftRecursionRewrite() throws Exception {
    Grammar g = new Grammar(
        "grammar T;\n" +
        "s : e ';' ;\n" +
        "e : e '*' e\n" +
        "  | e '+' e\n" +
        "  | e '.' ID\n" +
View Full Code Here

    }
    assertEquals(expectedElementTokens, Utils.join(tokens.toArray(), "\n"));
  }

  @Test public void testLeftRecursionWithLabels() throws Exception {
    Grammar g = new Grammar(
        "grammar T;\n" +
        "s : e ';' ;\n" +
        "e : e '*' x=e\n" +
        "  | e '+' e\n" +
        "  | e '.' y=ID\n" +
View Full Code Here

    }
    assertEquals(expectedElementTokens, Utils.join(tokens.toArray(), "\n"));
  }

  @Test public void testLeftRecursionWithSet() throws Exception {
    Grammar g = new Grammar(
        "grammar T;\n" +
        "s : e ';' ;\n" +
        "e : e op=('*'|'/') e\n" +
        "  | e '+' e\n" +
        "  | e '.' ID\n" +
View Full Code Here

import static org.junit.Assert.*;

public class TestATNSerialization extends BaseTest {
  @Test public void testSimpleNoBlock() throws Exception {
    Grammar g = new Grammar(
      "parser grammar T;\n"+
      "a : A B ;");
    String expecting =
      "max type 2\n" +
        "0:RULE_START 0\n" +
        "1:RULE_STOP 0\n" +
        "2:BASIC 0\n" +
        "3:BASIC 0\n" +
        "4:BASIC 0\n" +
        "5:BASIC 0\n" +
        "rule 0:0\n" +
        "0->2 EPSILON 0,0,0\n" +
        "2->3 ATOM 1,0,0\n" +
        "3->4 ATOM 2,0,0\n" +
        "4->1 EPSILON 0,0,0\n";
    ATN atn = createATN(g, true);
    String result = ATNSerializer.getDecoded(atn, Arrays.asList(g.getTokenNames()));
    assertEquals(expecting, result);
  }
View Full Code Here

    String result = ATNSerializer.getDecoded(atn, Arrays.asList(g.getTokenNames()));
    assertEquals(expecting, result);
  }

  @Test public void testEOF() throws Exception {
    Grammar g = new Grammar(
      "parser grammar T;\n"+
      "a : A EOF ;");
    String expecting =
      "max type 1\n" +
        "0:RULE_START 0\n" +
        "1:RULE_STOP 0\n" +
        "2:BASIC 0\n" +
        "3:BASIC 0\n" +
        "4:BASIC 0\n" +
        "5:BASIC 0\n" +
        "rule 0:0\n" +
        "0->2 EPSILON 0,0,0\n" +
        "2->3 ATOM 1,0,0\n" +
        "3->4 ATOM 0,0,1\n" +
        "4->1 EPSILON 0,0,0\n";
    ATN atn = createATN(g, true);
    String result = ATNSerializer.getDecoded(atn, Arrays.asList(g.getTokenNames()));
    assertEquals(expecting, result);
  }
View Full Code Here

    String result = ATNSerializer.getDecoded(atn, Arrays.asList(g.getTokenNames()));
    assertEquals(expecting, result);
  }

  @Test public void testEOFInSet() throws Exception {
    Grammar g = new Grammar(
      "parser grammar T;\n"+
      "a : (A|EOF) ;");
    String expecting =
      "max type 1\n" +
        "0:RULE_START 0\n" +
        "1:RULE_STOP 0\n" +
        "2:BASIC 0\n" +
        "3:BASIC 0\n" +
        "4:BASIC 0\n" +
        "rule 0:0\n" +
        "0:EOF, A..A\n" +
        "0->2 EPSILON 0,0,0\n" +
        "2->3 SET 0,0,0\n" +
        "3->1 EPSILON 0,0,0\n";
    ATN atn = createATN(g, true);
    String result = ATNSerializer.getDecoded(atn, Arrays.asList(g.getTokenNames()));
    assertEquals(expecting, result);
  }
View Full Code Here

    String result = ATNSerializer.getDecoded(atn, Arrays.asList(g.getTokenNames()));
    assertEquals(expecting, result);
  }

  @Test public void testNot() throws Exception {
    Grammar g = new Grammar(
      "parser grammar T;\n"+
      "tokens {A, B, C}\n" +
      "a : ~A ;");
    String expecting =
      "max type 3\n" +
      "0:RULE_START 0\n" +
      "1:RULE_STOP 0\n" +
      "2:BASIC 0\n" +
      "3:BASIC 0\n" +
      "4:BASIC 0\n" +
      "rule 0:0\n" +
      "0:A..A\n" +
      "0->2 EPSILON 0,0,0\n" +
      "2->3 NOT_SET 0,0,0\n" +
      "3->1 EPSILON 0,0,0\n";
    ATN atn = createATN(g, true);
    DOTGenerator gen = new DOTGenerator(g);
    System.out.println(gen.getDOT(atn.ruleToStartState[0]));
    String result = ATNSerializer.getDecoded(atn, Arrays.asList(g.getTokenNames()));
    assertEquals(expecting, result);
  }
View Full Code Here

    String result = ATNSerializer.getDecoded(atn, Arrays.asList(g.getTokenNames()));
    assertEquals(expecting, result);
  }

  @Test public void testWildcard() throws Exception {
    Grammar g = new Grammar(
      "parser grammar T;\n"+
      "tokens {A, B, C}\n" +
      "a : . ;");
    String expecting =
      "max type 3\n" +
      "0:RULE_START 0\n" +
      "1:RULE_STOP 0\n" +
      "2:BASIC 0\n" +
      "3:BASIC 0\n" +
      "4:BASIC 0\n" +
      "rule 0:0\n" +
      "0->2 EPSILON 0,0,0\n" +
      "2->3 WILDCARD 0,0,0\n" +
      "3->1 EPSILON 0,0,0\n";
    ATN atn = createATN(g, true);
    String result = ATNSerializer.getDecoded(atn, Arrays.asList(g.getTokenNames()));
    assertEquals(expecting, result);
  }
View Full Code Here

TOP

Related Classes of org.antlr.v4.tool.Grammar

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.