List of usage examples for org.antlr.v4.runtime CommonTokenStream CommonTokenStream
public CommonTokenStream(TokenSource tokenSource)
From source file:nl.lxtreme.libtdl.TdlHelper.java
License:Apache License
/** * Returns a token stream based on this lexer. * /* w w w . j av a 2 s.c o m*/ * @return a new {@link TokenStream} for this lexer. */ private TokenStream getTokenStream() { return new CommonTokenStream(m_lexer); }
From source file:no.nb.nna.broprox.robotsparser.RobotsTxtParser.java
License:Apache License
public RobotsTxt parse(CharStream robotsStream) throws IOException { TokenSource tokenSource = new RobotstxtLexer(robotsStream); TokenStream tokens = new CommonTokenStream(tokenSource); RobotstxtParser parser = new RobotstxtParser(tokens); ParseTree p = parser.robotstxt();//from w ww. j a va 2 s .c om ParseTreeWalker walker = new ParseTreeWalker(); RobotsTxt robotsTxt = new RobotsTxt(); walker.walk(new RobotsListener(robotsTxt), p); return robotsTxt; }
From source file:no.nb.nna.broprox.robotsparser.UserAgentParser.java
License:Apache License
public String parse(String userAgent) { TokenSource tokenSource = new UseragentLexer(CharStreams.fromString(userAgent)); TokenStream tokens = new CommonTokenStream(tokenSource); UseragentParser parser = new UseragentParser(tokens); ParseTree p = parser.prog();//from w ww .j a va 2s.c o m ParseTreeWalker walker = new ParseTreeWalker(); UserAgentListener listener = new UserAgentListener(); walker.walk(listener, p); return listener.getBaseUserAgent(); }
From source file:no.sintef.bvr.constraints.bcl.Loader.java
License:LGPL
public static void main(String[] args) throws FileNotFoundException, IOException { CharStream input = new ANTLRInputStream(new FileInputStream("TestData/test2.bcl")); BCLLexer lexer = new BCLLexer(input); TokenStream tokens = new CommonTokenStream(lexer); BCLParser parser = new BCLParser(tokens); // Build BVR//from w w w .j a v a 2 s .co m SPLCABVRModel cm = new SPLCABVRModel(); // ConfigurableUnit cu = buildExampleBVR(cm); BVRModel model = buildExampleBVR(cm); Variable minSpeed = BvrFactory.eINSTANCE.createVariable(); // Variabletype minSpeedType = // bvrFactory.eINSTANCE.createVariabletype(); minSpeed.setName("minSpeed"); // minSpeed.setType(minSpeedType); // cu.getOwnedVSpec().add(minSpeed); model.getVariabilityModel().getVariable().add(minSpeed); // Build model RuleNode root = parser.constraint().getRuleContext(); BCLConstraint c = BvrFactory.eINSTANCE.createBCLConstraint(); BCLExpression e = new BCLBuilder().recurse((RuleNode) root.getChild(0), 0, model, true); c.getExpression().add(e); // Pretty Print String s = new BCLPrettyPrinter().prettyPrint(e); System.out.println(s); }
From source file:no.sintef.bvr.tool.model.ConstraintFacade.java
License:LGPL
private RuleNode parseBCL(String s) { CharStream input = new ANTLRInputStream(s); BCLLexer lexer = new BCLLexer(input); TokenStream tokens = new CommonTokenStream(lexer); BCLParser parser = new BCLParser(tokens); RuleNode root = parser.constraint().getRuleContext(); return root;//from w w w . ja v a 2s . c om }
From source file:no.ssb.vtl.script.VTLScriptEngine.java
License:Apache License
public VTLParser.StartContext parse(Reader reader, Consumer<VTLScriptException> errorConsumer) throws IOException { // TODO: Change to CharStreams.fromString() when #1977 makes it to release. VTLLexer lexer = new VTLLexer(new ANTLRInputStream(reader)); VTLParser parser = new VTLParser(new CommonTokenStream(lexer)); lexer.removeErrorListeners();// ww w. j av a 2s . co m parser.removeErrorListeners(); BaseErrorListener errorListener = new SyntaxErrorListener(errorConsumer); lexer.addErrorListener(errorListener); parser.addErrorListener(errorListener); return parser.start(); }
From source file:no.ssb.vtl.test.junit.GrammarRule.java
License:Apache License
/** * Parse an expression starting from the given <b>ANTLR rule</b> * <p>// w ww. ja v a 2s. c o m * In order to get the Rule, use the {@link #withRule(String)} method. * * @param expression the expression to parse. * @param rule the rule to start from. * @param diagnostic {@link DiagnosticErrorListener} will be used if true. * @return the resulting parse tree. * @throws Exception if the expression failed to parse. */ public ParserRuleContext parse(String expression, Rule rule, boolean diagnostic) throws Exception { Multimap<Integer, String> messages = LinkedListMultimap.create(); LexerInterpreter lexerInterpreter = grammar.createLexerInterpreter(new ANTLRInputStream(expression)); GrammarParserInterpreter parserInterpreter = grammar .createGrammarParserInterpreter(new CommonTokenStream(lexerInterpreter)); BaseErrorListener errorListener; if (diagnostic) { errorListener = new DiagnosticErrorListener(); } else { errorListener = new ConsoleErrorListener(); } BaseErrorListener ruleErrorReporter = new BaseErrorListener() { @Override public void syntaxError(Recognizer<?, ?> recognizer, Object offendingSymbol, int line, int charPositionInLine, String msg, org.antlr.v4.runtime.RecognitionException e) { int startLine = line, stopLine = line; int startColumn = charPositionInLine, stopColumn = charPositionInLine; if (offendingSymbol instanceof Token) { Token symbol = (Token) offendingSymbol; int start = symbol.getStartIndex(); int stop = symbol.getStopIndex(); if (start >= 0 && stop >= 0) { stopColumn = startColumn + (stop - start) + 1; } } messages.put(stopLine, String.format("at [%4s:%6s]:\t%s (%s)\n", String.format("%d,%d", startLine, stopLine), String.format("%d,%d", startColumn, stopColumn), msg, Optional.ofNullable(e).map(ex -> ex.getClass().getSimpleName()).orElse("null"))); } }; parserInterpreter.setErrorHandler(new GrammarParserInterpreter.BailButConsumeErrorStrategy()); lexerInterpreter.removeErrorListeners(); parserInterpreter.removeErrorListeners(); lexerInterpreter.addErrorListener(errorListener); parserInterpreter.addErrorListener(errorListener); lexerInterpreter.addErrorListener(ruleErrorReporter); parserInterpreter.addErrorListener(ruleErrorReporter); ParserRuleContext parse = parserInterpreter.parse(rule.index); if (!messages.isEmpty()) { StringBuilder expressionWithErrors = new StringBuilder(); LineNumberReader expressionReader = new LineNumberReader(new StringReader(expression)); String line; while ((line = expressionReader.readLine()) != null) { int lineNumber = expressionReader.getLineNumber(); expressionWithErrors.append(String.format("\t%d:%s%n", lineNumber, line)); if (messages.containsKey(lineNumber)) { expressionWithErrors.append(String.format("%n")); for (String message : messages.get(lineNumber)) { expressionWithErrors.append(message); } } } throw new Exception( String.format("errors parsing expression:%n%n%s%n", expressionWithErrors.toString())); } return parse; }
From source file:notaql.engines.csv.path.CSVInputPathParser.java
License:Apache License
@Override public InputPath parse(String enginePath, boolean relative) { final NotaQL2CSVInLexer lexer = new NotaQL2CSVInLexer(new ANTLRInputStream(enginePath)); final NotaQL2CSVInParser parser = new NotaQL2CSVInParser(new CommonTokenStream(lexer)); parser.addErrorListener(new NotaQLErrorListener(parser)); final NotaQL2CSVInParser.InputPathContext inputPathContext = parser.inputPath(); final List<InputPathStep> steps = new LinkedList<>( new CSVInputPathVisitor(transformationParser, relative).visit(inputPathContext).getPathSteps()); return new InputPath(relative, steps); }
From source file:notaql.engines.csv.path.CSVOutputPathParser.java
License:Apache License
@Override public OutputPath parse(String enginePath, boolean relative) { final NotaQL2CSVOutLexer lexer = new NotaQL2CSVOutLexer(new ANTLRInputStream(enginePath)); final NotaQL2CSVOutParser parser = new NotaQL2CSVOutParser(new CommonTokenStream(lexer)); parser.addErrorListener(new NotaQLErrorListener(parser)); final NotaQL2CSVOutParser.OutputPathContext outputPathContext = parser.outputPath(); return new CSVOutputPathVisitor(this.transformationParser, relative).visit(outputPathContext); }
From source file:notaql.engines.hbase.parser.path.HBaseInputPathParser.java
License:Apache License
@Override public InputPath parse(String enginePath, boolean relative) { final NotaQL2ColumnInLexer lexer = new NotaQL2ColumnInLexer(new ANTLRInputStream(enginePath)); final NotaQL2ColumnInParser parser = new NotaQL2ColumnInParser(new CommonTokenStream(lexer)); parser.addErrorListener(new NotaQLErrorListener(parser)); final NotaQL2ColumnInParser.InputPathContext inputPathContext = parser.inputPath(); final List<InputPathStep> steps = new LinkedList<>( new HBaseInputPathVisitor(transformationParser, relative).visit(inputPathContext).getPathSteps()); return new InputPath(relative, steps); }