List of usage examples for org.antlr.v4.runtime CommonTokenStream CommonTokenStream
public CommonTokenStream(TokenSource tokenSource)
From source file:com.github.jknack.handlebars.internal.HbsParserFactory.java
License:Apache License
/** * Creates a new {@link HbsParser}./*from w ww.j a va2 s . c om*/ * * @param lexer The {@link HbsLexer}. * @return A new {@link HbsParser}. */ private HbsParser newParser(final HbsLexer lexer) { return new HbsParser(new CommonTokenStream(lexer)) { @Override void setStart(final String start) { lexer.start = start; } @Override void setEnd(final String end) { lexer.end = end; } }; }
From source file:com.github.mariusdw.sqlsim.validator.sqlite.SqLiteValidator.java
License:Open Source License
@Override public void validate(String query) throws ValidationException { SQLiteLexer lexer = new SQLiteLexer(new ANTLRInputStream(query)); SQLiteParser parser = new SQLiteParser(new CommonTokenStream(lexer)); List<String> errorStrs = new ArrayList<>(1); ANTLRErrorListener listener = new ANTLRErrorListener() { @Override/* w ww . j a v a 2 s . co m*/ public void syntaxError(Recognizer<?, ?> recognizer, Object offendingSymbol, int line, int charPositionInLine, String msg, RecognitionException e) { String newMsg = "Error [line:" + line + "|char:" + charPositionInLine + "] " + msg; if (errorStrs.size() > 0) { newMsg += "\n" + errorStrs.get(0); errorStrs.set(0, newMsg); } else { errorStrs.add(newMsg); } } @Override public void reportAmbiguity(Parser parser, DFA dfa, int i, int i1, boolean bln, BitSet bitset, ATNConfigSet atncs) { //throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } @Override public void reportAttemptingFullContext(Parser parser, DFA dfa, int i, int i1, BitSet bitset, ATNConfigSet atncs) { //throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } @Override public void reportContextSensitivity(Parser parser, DFA dfa, int i, int i1, int i2, ATNConfigSet atncs) { //throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } }; parser.addErrorListener(listener); try { parser.parse(); if (errorStrs.size() > 0) { throw new ValidationException("Validation error: " + errorStrs.get(0)); } } catch (RecognitionException e) { throw new ValidationException("Validation error:", e); } }
From source file:com.github.minlywang.dsl.calc.main.Calculator.java
License:MIT License
public static void main(String[] args) throws Exception { String inputFile = null;//from w w w . ja v a2s . co m if (args.length > 0) inputFile = args[0]; InputStream is = System.in; if (inputFile != null) is = new FileInputStream(inputFile); else { printStatement(); } ANTLRInputStream input = new ANTLRInputStream(is); CalcLexer lexer = new CalcLexer(input); CommonTokenStream tokens = new CommonTokenStream(lexer); CalcParser parser = new CalcParser(tokens); ParseTree tree = parser.compilationUnit(); // parse Evaluator eval = new Evaluator(); eval.visit(tree); }
From source file:com.github.odiszapc.nginxparser.NgxConfig.java
License:Apache License
public static NgxConfig readAntlr(InputStream in) throws IOException { ANTLRInputStream input = new ANTLRInputStream(in); NginxLexer lexer = new NginxLexer(input); CommonTokenStream tokens = new CommonTokenStream(lexer); NginxParser parser = new NginxParser(tokens); ParseTreeWalker walker = new ParseTreeWalker(); ParseTree tree = parser.config(); // begin parsing at init rule NginxListenerImpl listener = new NginxListenerImpl(); walker.walk(listener, tree);//w w w .j av a2s.c o m return listener.getResult(); }
From source file:com.github.pascalgn.jiracli.parser.CommandReference.java
License:Apache License
public static List<CommandReference> parseCommandReferences(String str) { CommandLineLexer lexer = new CommandLineLexer(new ANTLRInputStream(str)); CommandLineParser parser = new CommandLineParser(new CommonTokenStream(lexer)); lexer.removeErrorListeners();/* w w w.j a v a2s .c o m*/ parser.removeErrorListeners(); CommandLineContext commandLine = parser.commandLine(); final List<CommandReference> commands = new ArrayList<CommandReference>(); final StringBuilder name = new StringBuilder(); final List<String> arguments = new ArrayList<String>(); class Listener extends CommandLineParserBaseListener { @Override public void enterCommandName(CommandNameContext ctx) { if (name.length() == 0) { name.append(ctx.getText()); } else { List<String> args = new ArrayList<String>(arguments); CommandReference command = new CommandReference(name.toString(), args); commands.add(command); name.setLength(0); name.append(ctx.getText()); arguments.clear(); } } @Override public void enterArgument(ArgumentContext ctx) { String arg = ctx.getText(); if (arg.startsWith("'") && arg.endsWith("'")) { arguments.add(unescape(arg.substring(1, arg.length() - 1))); } else if (arg.startsWith("\"") && arg.endsWith("\"")) { arguments.add(unescape(arg.substring(1, arg.length() - 1))); } else { arguments.add(unescape(arg)); } } @Override public void visitErrorNode(ErrorNode node) { throw new IllegalStateException("Unexpected content: " + node.getText()); } } ParseTreeWalker.DEFAULT.walk(new Listener(), commandLine); if (name.length() > 0) { CommandReference command = new CommandReference(name.toString(), arguments); commands.add(command); } return commands; }
From source file:com.github.robozonky.strategy.natural.SideEffectFreeParser.java
License:Apache License
public static ParsedStrategy apply(final CharStream s) { // no refs from this method will be retained when it's over final NaturalLanguageStrategyLexer l = silence(new NaturalLanguageStrategyLexer(s)); modifyInterpreter(l);//w w w . j a v a 2 s . com final CommonTokenStream ts = new CommonTokenStream(l); final NaturalLanguageStrategyParser p = silence(new NaturalLanguageStrategyParser(ts)); p.addErrorListener(ERROR_LISTENER); modifyInterpreter(p); return p.primaryExpression().result; }
From source file:com.github.s4ke.moar.json.MoarJSONSerializer.java
License:Open Source License
private static CodePointSet buildFnFromSetExpression(String setExpression) { RegexLexer lexer = new RegexLexer(new ANTLRInputStream(setExpression)); RegexParser parser = new RegexParser(new CommonTokenStream(lexer)); parser.setBuildParseTree(true);//w ww . ja va 2s . c o m parser.getErrorListeners().clear(); parser.addErrorListener(new BaseErrorListener() { @Override public void syntaxError(Recognizer<?, ?> recognizer, Object offendingSymbol, int line, int charPositionInLine, String msg, RecognitionException e) { throw e; } }); RegexParser.SetContext setContext = parser.set(); if (parser.getNumberOfSyntaxErrors() > 0) { throw new IllegalArgumentException("malformed set expression: " + setExpression); } Set<RangeRep> ranges = new HashSet<>(); boolean negative; if (setContext.negativeSet() != null) { ranges.addAll(Arrays.asList(RegexTreeListener.ranges(setContext.negativeSet().setItems()))); negative = true; } else if (setContext.positiveSet() != null) { ranges.addAll(Arrays.asList(RegexTreeListener.ranges(setContext.positiveSet().setItems()))); negative = false; } else { throw new AssertionError(); } CodePointSet ret = CharacterClassesUtils.positiveFn(ranges); if (negative) { ret = ret.negative(); } return ret; }
From source file:com.github.s4ke.moar.regex.parser.RegexCompiler.java
License:Open Source License
private static RegexParser regexParser(String regexStr) { RegexLexer lexer = new RegexLexer(new ANTLRInputStream(regexStr)); RegexParser parser = new RegexParser(new CommonTokenStream(lexer)); parser.setBuildParseTree(true);//from w w w. j a v a 2 s . c o m return parser; }
From source file:com.github.sip.SipUtils.java
License:Apache License
private static SipParser getSipParser(String input) { SipErrorListener listener = new SipErrorListener(); // Get our lexer SipLexer lexer = new SipLexer(new ANTLRInputStream(input)); lexer.addErrorListener(listener);//from w ww. ja v a 2s . co m // Get a list of matched tokens CommonTokenStream tokens = new CommonTokenStream(lexer); // Pass the tokens to the parser SipParser parser = new SipParser(tokens); parser.setErrorHandler(new BailErrorStrategy()); parser.addErrorListener(listener); return parser; }
From source file:com.github.sip.SipUtils.java
License:Apache License
private static UriHeadersParser getUriHeadersParser(String input, int parsedLength) { SipErrorListener listener = new SipErrorListener(parsedLength); // Get our lexer UriHeadersLexer lexer = new UriHeadersLexer(new ANTLRInputStream(input)); lexer.addErrorListener(listener);/* w w w . j a v a2 s. c om*/ // Get a list of matched tokens CommonTokenStream tokens = new CommonTokenStream(lexer); // Pass the tokens to the parser UriHeadersParser parser = new UriHeadersParser(tokens); parser.addErrorListener(listener); return parser; }