List of usage examples for org.antlr.v4.runtime Lexer DEFAULT_MODE
int DEFAULT_MODE
To view the source code for org.antlr.v4.runtime Lexer DEFAULT_MODE.
Click Source Link
From source file:net.certiv.json.test.base.AbstractBase.java
License:Open Source License
public List<String> getTokenTypes(LexerGrammar lg, ATN atn, CharStream input) { LexerATNSimulator interp = new LexerATNSimulator(atn, new DFA[] { new DFA(atn.modeToStartState.get(Lexer.DEFAULT_MODE)) }, null); List<String> tokenTypes = new ArrayList<String>(); int ttype;//from w ww.jav a2s.co m boolean hitEOF = false; do { if (hitEOF) { tokenTypes.add("EOF"); break; } int t = input.LA(1); ttype = interp.match(input, Lexer.DEFAULT_MODE); if (ttype == Token.EOF) { tokenTypes.add("EOF"); } else { tokenTypes.add(lg.typeToTokenList.get(ttype)); } if (t == IntStream.EOF) { hitEOF = true; } } while (ttype != Token.EOF); return tokenTypes; }
From source file:org.apache.olingo.server.core.uri.parser.Parser.java
License:Apache License
private ParserRuleContext parseRule(final String input, final ParserEntryRules entryPoint) throws UriParserSyntaxException { UriParserParser parser = null;/*from w w w . jav a 2 s . co m*/ UriLexer lexer = null; ParserRuleContext ret = null; // Use 2 stage approach to improve performance // see https://github.com/antlr/antlr4/issues/192 // stage = 1 try { // create parser if (logLevel > 0) { //TODO: Discuss if we should keep this code lexer = new UriLexer(new ANTLRInputStream(input)); showTokens(input, lexer.getAllTokens()); } lexer = new UriLexer(new ANTLRInputStream(input)); parser = new UriParserParser(new CommonTokenStream(lexer)); // Set error strategy addStage1ErrorStategy(parser); // Set error collector addStage1ErrorListener(parser); // user the faster LL parsing parser.getInterpreter().setPredictionMode(PredictionMode.SLL); // parse switch (entryPoint) { case All: ret = parser.allEOF(); break; case Batch: ret = parser.batchEOF(); break; case CrossJoin: ret = parser.crossjoinEOF(); break; case Metadata: ret = parser.metadataEOF(); break; case PathSegment: ret = parser.pathSegmentEOF(); break; case FilterExpression: lexer.mode(Lexer.DEFAULT_MODE); ret = parser.filterExpressionEOF(); break; case Orderby: lexer.mode(Lexer.DEFAULT_MODE); ret = parser.orderByEOF(); break; case ExpandItems: lexer.mode(Lexer.DEFAULT_MODE); ret = parser.expandItemsEOF(); break; case Entity: ret = parser.entityEOF(); break; case Select: ret = parser.selectEOF(); break; default: break; } } catch (ParseCancellationException hardException) { // stage = 2 try { // create parser lexer = new UriLexer(new ANTLRInputStream(input)); parser = new UriParserParser(new CommonTokenStream(lexer)); // Set error strategy addStage2ErrorStategy(parser); // Set error collector addStage2ErrorListener(parser); // Use the slower SLL parsing parser.getInterpreter().setPredictionMode(PredictionMode.LL); // parse switch (entryPoint) { case All: ret = parser.allEOF(); break; case Batch: ret = parser.batchEOF(); break; case CrossJoin: ret = parser.crossjoinEOF(); break; case Metadata: ret = parser.metadataEOF(); break; case PathSegment: ret = parser.pathSegmentEOF(); break; case FilterExpression: lexer.mode(Lexer.DEFAULT_MODE); ret = parser.filterExpressionEOF(); break; case Orderby: lexer.mode(Lexer.DEFAULT_MODE); ret = parser.orderByEOF(); break; case ExpandItems: lexer.mode(Lexer.DEFAULT_MODE); ret = parser.expandItemsEOF(); break; case Entity: ret = parser.entityEOF(); break; case Select: ret = parser.selectEOF(); break; default: break; } } catch (final RecognitionException weakException) { throw new UriParserSyntaxException("Error in syntax", weakException, UriParserSyntaxException.MessageKeys.SYNTAX); // exceptionOnStage = 2; } } catch (final RecognitionException hardException) { throw new UriParserSyntaxException("Error in syntax", hardException, UriParserSyntaxException.MessageKeys.SYNTAX); } return ret; }
From source file:org.tvl.goworks.editor.go.highlighter.GoHighlighterLexerState.java
License:Open Source License
private GoHighlighterLexerState() { this(Lexer.DEFAULT_MODE, null); }