List<ANTLRMessage> checkLexerDFA(String gtext, String modeName, String expecting) throws Exception { ErrorQueue equeue = new ErrorQueue(); LexerGrammar g = new LexerGrammar(gtext, equeue); g.atn = createATN(g); // LexerATNToDFAConverter conv = new LexerATNToDFAConverter(g); // DFA dfa = conv.createDFA(modeName); // g.setLookaheadDFA(0, dfa); // only one decision to worry about // // String result = null; // if ( dfa!=null ) result = dfa.toString(); // assertEquals(expecting, result); // // return equeue.all; return null; }
public LexerInterpreter createLexerInterpreter(CharStream input) { if (this.isParser()) { throw new IllegalStateException( "A lexer interpreter can only be created for a lexer or combined grammar."); } if (this.isCombined()) { return implicitLexer.createLexerInterpreter(input); } char[] serializedAtn = ATNSerializer.getSerializedAsChars(atn); ATN deserialized = new ATNDeserializer().deserialize(serializedAtn); return new LexerInterpreter( fileName, Arrays.asList(getTokenDisplayNames()), Arrays.asList(getRuleNames()), ((LexerGrammar) this).modes.keySet(), deserialized, input); }
static { lexerGrammar.add("\\(", TokenType.OPEN_PAREN); lexerGrammar.add("\\)", TokenType.CLOSE_PAREN); lexerGrammar.add("&&", TokenType.AND); lexerGrammar.add("\\|\\|", TokenType.OR); lexerGrammar.add("==", TokenType.EQUAL); lexerGrammar.add("!=", TokenType.NOT_EQUAL); lexerGrammar.add(">=", TokenType.GREATER_THAN_OR_EQUAL); lexerGrammar.add("<=", TokenType.LESS_THAN_OR_EQUAL); lexerGrammar.add(">", TokenType.GREATER_THAN); lexerGrammar.add("<", TokenType.LESS_THAN); lexerGrammar.add( "(\"[^\"\\\\\\r\\n]*(?:\\\\.[^\"\\\\\\r\\n]*)*\")|\\d+|true|false", TokenType.CONSTANT); lexerGrammar.add("[a-zA-Z][a-zA-Z0-9_]*", TokenType.FIELD_NAME); }