Package org.antlr.v4.tool

Examples of org.antlr.v4.tool.LexerGrammar


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

  @Test public void testLexerEOFInSet() throws Exception {
    LexerGrammar lg = new LexerGrammar(
      "lexer grammar L;\n"+
      "INT : 'a' (EOF|'\\n') ;\n");
    String expecting =
      "max type 1\n" +
        "0:TOKEN_START -1\n" +
        "1:RULE_START 0\n" +
        "2:RULE_STOP 0\n" +
        "3:BASIC 0\n" +
        "4:BASIC 0\n" +
        "5:BLOCK_START 0 6\n" +
        "6:BLOCK_END 0\n" +
        "rule 0:1 1\n" +
        "mode 0:0\n" +
        "0:EOF, '\\n'..'\\n'\n" +
        "0->1 EPSILON 0,0,0\n" +
        "1->3 EPSILON 0,0,0\n" +
        "3->5 ATOM 97,0,0\n" +
        "4->6 SET 0,0,0\n" +
        "5->4 EPSILON 0,0,0\n" +
        "6->2 EPSILON 0,0,0\n" +
        "0:0\n" +
        "1:5\n";
    ATN atn = createATN(lg, true);
    String result = ATNSerializer.getDecoded(atn, Arrays.asList(lg.getTokenNames()));
    assertEquals(expecting, result);
  }
View Full Code Here


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

  @Test public void testLexerLoops() throws Exception {
    LexerGrammar lg = new LexerGrammar(
      "lexer grammar L;\n"+
      "INT : '0'..'9'+ ;\n");
    String expecting =
      "max type 1\n" +
        "0:TOKEN_START -1\n" +
        "1:RULE_START 0\n" +
        "2:RULE_STOP 0\n" +
        "3:BASIC 0\n" +
        "4:PLUS_BLOCK_START 0 5\n" +
        "5:BLOCK_END 0\n" +
        "6:PLUS_LOOP_BACK 0\n" +
        "7:LOOP_END 0 6\n" +
        "rule 0:1 1\n" +
        "mode 0:0\n" +
        "0->1 EPSILON 0,0,0\n" +
        "1->4 EPSILON 0,0,0\n" +
        "3->5 RANGE 48,57,0\n" +
        "4->3 EPSILON 0,0,0\n" +
        "5->6 EPSILON 0,0,0\n" +
        "6->4 EPSILON 0,0,0\n" +
        "6->7 EPSILON 0,0,0\n" +
        "7->2 EPSILON 0,0,0\n" +
        "0:0\n" +
        "1:6\n";
    ATN atn = createATN(lg, true);
    String result = ATNSerializer.getDecoded(atn, Arrays.asList(lg.getTokenNames()));
    assertEquals(expecting, result);
  }
View Full Code Here

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

  @Test public void testLexerAction() throws Exception {
    LexerGrammar lg = new LexerGrammar(
      "lexer grammar L;\n"+
      "A : 'a' {a} ;\n" +
      "B : 'b' ;\n" +
      "C : 'c' {c} ;\n");
    String expecting =
      "max type 3\n" +
        "0:TOKEN_START -1\n" +
        "1:RULE_START 0\n" +
        "2:RULE_STOP 0\n" +
        "3:RULE_START 1\n" +
        "4:RULE_STOP 1\n" +
        "5:RULE_START 2\n" +
        "6:RULE_STOP 2\n" +
        "7:BASIC 0\n" +
        "8:BASIC 0\n" +
        "9:BASIC 0\n" +
        "10:BASIC 1\n" +
        "11:BASIC 1\n" +
        "12:BASIC 2\n" +
        "13:BASIC 2\n" +
        "14:BASIC 2\n" +
        "rule 0:1 1\n" +
        "rule 1:3 2\n" +
        "rule 2:5 3\n" +
        "mode 0:0\n" +
        "0->1 EPSILON 0,0,0\n" +
        "0->3 EPSILON 0,0,0\n" +
        "0->5 EPSILON 0,0,0\n" +
        "1->7 EPSILON 0,0,0\n" +
        "3->10 EPSILON 0,0,0\n" +
        "5->12 EPSILON 0,0,0\n" +
        "7->8 ATOM 97,0,0\n" +
        "8->9 ACTION 0,0,0\n" +
        "9->2 EPSILON 0,0,0\n" +
        "10->11 ATOM 98,0,0\n" +
        "11->4 EPSILON 0,0,0\n" +
        "12->13 ATOM 99,0,0\n" +
        "13->14 ACTION 2,1,0\n" +
        "14->6 EPSILON 0,0,0\n" +
        "0:0\n";
    ATN atn = createATN(lg, true);
    String result = ATNSerializer.getDecoded(atn, Arrays.asList(lg.getTokenNames()));
    assertEquals(expecting, result);
  }
View Full Code Here

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

  @Test public void testLexerNotSet() throws Exception {
    LexerGrammar lg = new LexerGrammar(
      "lexer grammar L;\n"+
      "ID : ~('a'|'b')\n ;");
    String expecting =
      "max type 1\n" +
      "0:TOKEN_START -1\n" +
      "1:RULE_START 0\n" +
      "2:RULE_STOP 0\n" +
      "3:BASIC 0\n" +
      "4:BASIC 0\n" +
      "rule 0:1 1\n" +
      "mode 0:0\n" +
      "0:'a'..'b'\n" +
      "0->1 EPSILON 0,0,0\n" +
      "1->3 EPSILON 0,0,0\n" +
      "3->4 NOT_SET 0,0,0\n" +
      "4->2 EPSILON 0,0,0\n" +
      "0:0\n";
    ATN atn = createATN(lg, true);
    String result = ATNSerializer.getDecoded(atn, Arrays.asList(lg.getTokenNames()));
    assertEquals(expecting, result);
  }
View Full Code Here

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

  @Test public void testLexerSetWithRange() throws Exception {
    LexerGrammar lg = new LexerGrammar(
      "lexer grammar L;\n"+
      "ID : ('a'|'b'|'e'|'p'..'t')\n ;");
    String expecting =
      "max type 1\n" +
      "0:TOKEN_START -1\n" +
      "1:RULE_START 0\n" +
      "2:RULE_STOP 0\n" +
      "3:BASIC 0\n" +
      "4:BASIC 0\n" +
      "rule 0:1 1\n" +
      "mode 0:0\n" +
      "0:'a'..'b', 'e'..'e', 'p'..'t'\n" +
      "0->1 EPSILON 0,0,0\n" +
      "1->3 EPSILON 0,0,0\n" +
      "3->4 SET 0,0,0\n" +
      "4->2 EPSILON 0,0,0\n" +
      "0:0\n";
    ATN atn = createATN(lg, true);
    String result = ATNSerializer.getDecoded(atn, Arrays.asList(lg.getTokenNames()));
    assertEquals(expecting, result);
  }
View Full Code Here

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

  @Test public void testLexerNotSetWithRange() throws Exception {
    LexerGrammar lg = new LexerGrammar(
      "lexer grammar L;\n"+
      "ID : ~('a'|'b'|'e'|'p'..'t')\n ;");
    String expecting =
      "max type 1\n" +
      "0:TOKEN_START -1\n" +
      "1:RULE_START 0\n" +
      "2:RULE_STOP 0\n" +
      "3:BASIC 0\n" +
      "4:BASIC 0\n" +
      "rule 0:1 1\n" +
      "mode 0:0\n" +
      "0:'a'..'b', 'e'..'e', 'p'..'t'\n" +
      "0->1 EPSILON 0,0,0\n" +
      "1->3 EPSILON 0,0,0\n" +
      "3->4 NOT_SET 0,0,0\n" +
      "4->2 EPSILON 0,0,0\n" +
      "0:0\n";
    ATN atn = createATN(lg, true);
    String result = ATNSerializer.getDecoded(atn, Arrays.asList(lg.getTokenNames()));
    assertEquals(expecting, result);
  }
View Full Code Here

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

  @Test public void testLexerWildcardWithMode() throws Exception {
    LexerGrammar lg = new LexerGrammar(
      "lexer grammar L;\n"+
      "ID : 'a'..'z'+ ;\n"+
      "mode CMT;" +
      "COMMENT : '*/' {skip(); popMode();} ;\n" +
      "JUNK : . {more();} ;\n");
    String expecting =
      "max type 3\n" +
        "0:TOKEN_START -1\n" +
        "1:TOKEN_START -1\n" +
        "2:RULE_START 0\n" +
        "3:RULE_STOP 0\n" +
        "4:RULE_START 1\n" +
        "5:RULE_STOP 1\n" +
        "6:RULE_START 2\n" +
        "7:RULE_STOP 2\n" +
        "8:BASIC 0\n" +
        "9:PLUS_BLOCK_START 0 10\n" +
        "10:BLOCK_END 0\n" +
        "11:PLUS_LOOP_BACK 0\n" +
        "12:LOOP_END 0 11\n" +
        "13:BASIC 1\n" +
        "14:BASIC 1\n" +
        "15:BASIC 1\n" +
        "16:BASIC 1\n" +
        "17:BASIC 1\n" +
        "18:BASIC 2\n" +
        "19:BASIC 2\n" +
        "20:BASIC 2\n" +
        "rule 0:2 1\n" +
        "rule 1:4 2\n" +
        "rule 2:6 3\n" +
        "mode 0:0\n" +
        "mode 1:1\n" +
        "0->2 EPSILON 0,0,0\n" +
        "1->4 EPSILON 0,0,0\n" +
        "1->6 EPSILON 0,0,0\n" +
        "2->9 EPSILON 0,0,0\n" +
        "4->13 EPSILON 0,0,0\n" +
        "6->18 EPSILON 0,0,0\n" +
        "8->10 RANGE 97,122,0\n" +
        "9->8 EPSILON 0,0,0\n" +
        "10->11 EPSILON 0,0,0\n" +
        "11->9 EPSILON 0,0,0\n" +
        "11->12 EPSILON 0,0,0\n" +
        "12->3 EPSILON 0,0,0\n" +
        "13->14 ATOM 42,0,0\n" +
        "14->15 ATOM 47,0,0\n" +
        "15->16 EPSILON 0,0,0\n" +
        "16->17 ACTION 1,0,0\n" +
        "17->5 EPSILON 0,0,0\n" +
        "18->19 WILDCARD 0,0,0\n" +
        "19->20 ACTION 2,1,0\n" +
        "20->7 EPSILON 0,0,0\n" +
        "0:0\n" +
        "1:1\n" +
        "2:11\n";
    ATN atn = createATN(lg, true);
    String result = ATNSerializer.getDecoded(atn, Arrays.asList(lg.getTokenNames()));
    assertEquals(expecting, result);
  }
View Full Code Here

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

  @Test public void testLexerNotSetWithRange2() throws Exception {
    LexerGrammar lg = new LexerGrammar(
      "lexer grammar L;\n"+
      "ID : ~('a'|'b') ~('e'|'p'..'t')\n ;");
    String expecting =
      "max type 1\n" +
        "0:TOKEN_START -1\n" +
        "1:RULE_START 0\n" +
        "2:RULE_STOP 0\n" +
        "3:BASIC 0\n" +
        "4:BASIC 0\n" +
        "5:BASIC 0\n" +
        "rule 0:1 1\n" +
        "mode 0:0\n" +
        "0:'a'..'b'\n" +
        "1:'e'..'e', 'p'..'t'\n" +
        "0->1 EPSILON 0,0,0\n" +
        "1->3 EPSILON 0,0,0\n" +
        "3->4 NOT_SET 0,0,0\n" +
        "4->5 NOT_SET 1,0,0\n" +
        "5->2 EPSILON 0,0,0\n" +
        "0:0\n";
    ATN atn = createATN(lg, true);
    String result = ATNSerializer.getDecoded(atn, Arrays.asList(lg.getTokenNames()));
    assertEquals(expecting, result);
  }
View Full Code Here

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

  @Test public void testModeInLexer() throws Exception {
    LexerGrammar lg = new LexerGrammar(
      "lexer grammar L;\n"+
      "A : 'a'\n ;\n" +
      "B : 'b';\n" +
      "mode A;\n" +
      "C : 'c';\n"+
      "D : 'd';\n");
    String expecting =
      "max type 4\n" +
      "0:TOKEN_START -1\n" +
      "1:TOKEN_START -1\n" +
      "2:RULE_START 0\n" +
      "3:RULE_STOP 0\n" +
      "4:RULE_START 1\n" +
      "5:RULE_STOP 1\n" +
      "6:RULE_START 2\n" +
      "7:RULE_STOP 2\n" +
      "8:RULE_START 3\n" +
      "9:RULE_STOP 3\n" +
      "10:BASIC 0\n" +
      "11:BASIC 0\n" +
      "12:BASIC 1\n" +
      "13:BASIC 1\n" +
      "14:BASIC 2\n" +
      "15:BASIC 2\n" +
      "16:BASIC 3\n" +
      "17:BASIC 3\n" +
      "rule 0:2 1\n" +
      "rule 1:4 2\n" +
      "rule 2:6 3\n" +
      "rule 3:8 4\n" +
      "mode 0:0\n" +
      "mode 1:1\n" +
      "0->2 EPSILON 0,0,0\n" +
      "0->4 EPSILON 0,0,0\n" +
      "1->6 EPSILON 0,0,0\n" +
      "1->8 EPSILON 0,0,0\n" +
      "2->10 EPSILON 0,0,0\n" +
      "4->12 EPSILON 0,0,0\n" +
      "6->14 EPSILON 0,0,0\n" +
      "8->16 EPSILON 0,0,0\n" +
      "10->11 ATOM 97,0,0\n" +
      "11->3 EPSILON 0,0,0\n" +
      "12->13 ATOM 98,0,0\n" +
      "13->5 EPSILON 0,0,0\n" +
      "14->15 ATOM 99,0,0\n" +
      "15->7 EPSILON 0,0,0\n" +
      "16->17 ATOM 100,0,0\n" +
      "17->9 EPSILON 0,0,0\n" +
      "0:0\n" +
      "1:1\n";
    ATN atn = createATN(lg, true);
    String result = ATNSerializer.getDecoded(atn, Arrays.asList(lg.getTokenNames()));
    assertEquals(expecting, result);
  }
View Full Code Here

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

  @Test public void test2ModesInLexer() throws Exception {
    LexerGrammar lg = new LexerGrammar(
      "lexer grammar L;\n"+
      "A : 'a'\n ;\n" +
      "mode M;\n" +
      "B : 'b';\n" +
      "mode M2;\n" +
      "C : 'c';\n");
    String expecting =
      "max type 3\n" +
      "0:TOKEN_START -1\n" +
      "1:TOKEN_START -1\n" +
      "2:TOKEN_START -1\n" +
      "3:RULE_START 0\n" +
      "4:RULE_STOP 0\n" +
      "5:RULE_START 1\n" +
      "6:RULE_STOP 1\n" +
      "7:RULE_START 2\n" +
      "8:RULE_STOP 2\n" +
      "9:BASIC 0\n" +
      "10:BASIC 0\n" +
      "11:BASIC 1\n" +
      "12:BASIC 1\n" +
      "13:BASIC 2\n" +
      "14:BASIC 2\n" +
      "rule 0:3 1\n" +
      "rule 1:5 2\n" +
      "rule 2:7 3\n" +
      "mode 0:0\n" +
      "mode 1:1\n" +
      "mode 2:2\n" +
      "0->3 EPSILON 0,0,0\n" +
      "1->5 EPSILON 0,0,0\n" +
      "2->7 EPSILON 0,0,0\n" +
      "3->9 EPSILON 0,0,0\n" +
      "5->11 EPSILON 0,0,0\n" +
      "7->13 EPSILON 0,0,0\n" +
      "9->10 ATOM 97,0,0\n" +
      "10->4 EPSILON 0,0,0\n" +
      "11->12 ATOM 98,0,0\n" +
      "12->6 EPSILON 0,0,0\n" +
      "13->14 ATOM 99,0,0\n" +
      "14->8 EPSILON 0,0,0\n" +
      "0:0\n" +
      "1:1\n" +
      "2:2\n";
    ATN atn = createATN(lg, true);
    String result = ATNSerializer.getDecoded(atn, Arrays.asList(lg.getTokenNames()));
    assertEquals(expecting, result);
  }
View Full Code Here

TOP

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

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.