List of usage examples for org.antlr.v4.runtime CommonTokenStream CommonTokenStream
public CommonTokenStream(TokenSource tokenSource)
From source file:net.fchauvel.trio.core.storage.parsing.Builder.java
License:Open Source License
public Requirement requirementFrom(String text) { TrioLexer lexer = new TrioLexer(new ANTLRInputStream(text)); CommonTokenStream tokens = new CommonTokenStream(lexer); TrioParser parser = new TrioParser(tokens); ParseTree tree = parser.requirements(); return tree.accept(new ExpressionBuilder()); }
From source file:net.fchauvel.trio.core.storage.parsing.Builder.java
License:Open Source License
public Component componentFrom(String text) { TrioLexer lexer = new TrioLexer(new ANTLRInputStream(text)); CommonTokenStream tokens = new CommonTokenStream(lexer); TrioParser parser = new TrioParser(tokens); ParseTree tree = parser.component(); return tree.accept(new ComponentBuilder()); }
From source file:net.fchauvel.trio.core.storage.parsing.Builder.java
License:Open Source License
public Assembly systemFrom(String text) { TrioLexer lexer = new TrioLexer(new ANTLRInputStream(text)); CommonTokenStream tokens = new CommonTokenStream(lexer); TrioParser parser = new TrioParser(tokens); ParseTree tree = parser.system();//from w w w .j av a2 s . c o m return tree.accept(new SystemBuilder()); }
From source file:net.fchauvel.trio.core.storage.parsing.Builder.java
License:Open Source License
public Assembly systemFrom(InputStream input) throws IOException, SyntaxError { SystemErrorListener listener = new SystemErrorListener(); TrioLexer lexer = new TrioLexer(new ANTLRInputStream(input)); lexer.removeErrorListeners();//from w w w. j a va 2 s. c o m lexer.addErrorListener(listener); CommonTokenStream tokens = new CommonTokenStream(lexer); TrioParser parser = new TrioParser(tokens); parser.removeErrorListeners(); parser.addErrorListener(listener); ParseTree tree = parser.system(); listener.abortIfAnyError(); return tree.accept(new SystemBuilder()); }
From source file:net.klazz.symboliclua.conv.Main.java
License:Open Source License
public static void main(String[] args) { try {/* w ww . java2s. com*/ ANTLRInputStream in = new ANTLRInputStream(System.in); LuaLexer l = new LuaLexer(in); CommonTokenStream stream = new CommonTokenStream(l); LuaParser p = new LuaParser(stream); System.out.println(new Converter(stream).visit(p.chunk())); } catch (Exception e) { e.printStackTrace(); } }
From source file:net.lldp.checksims.parse.ast.ASTFactory.java
License:Open Source License
/** * Creates a parser of a given type//from w ww.ja v a2s .co m * @param sn the name of the submission * @param inputText the ANTLR stream generated from the submission * @param pclazz the Class type of the parser to be generated * @param lclazz the Lexer type of the lexer that the parser will use * @return A parser of the provided type, lexing with the provided lexer */ static public <T extends Parser> T makeParser(String sn, ANTLRInputStream inputText, Class<T> pclazz, Class<? extends Lexer> lclazz) { try { final Lexer lexer = makeLexer(sn, inputText, lclazz); final CommonTokenStream tokenStream = new CommonTokenStream(lexer); T parser = pclazz.getConstructor(TokenStream.class).newInstance(tokenStream); parser.removeErrorListeners(); parser.addErrorListener(new BaseErrorListener() { @Override public void syntaxError(Recognizer<?, ?> recognizer, Object offendingSymbol, int line, int charPositionInLine, String msg, RecognitionException e) { CommonToken token = (CommonToken) offendingSymbol; if ("<EOF>".equals(token.getText())) { throw new EOFParsingException(); } throw new SyntaxErrorException(sn, msg); } }); return parser; } catch (InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException | NoSuchMethodException | SecurityException e1) { throw new RuntimeException(e1); } }
From source file:net.openchrom.xxd.processor.supplier.rscripting.ui.editor.RenameProperty.java
License:Open Source License
private void applySelection(final ITextSelection textSelection) { info.setOldName(textSelection.getText()); info.setNewName(textSelection.getText()); info.addOffset(textSelection.getOffset()); /* Add AST manipulation here! */ IEditorPart editor = (IEditorPart) PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage() .getActiveEditor();/* w ww. ja v a 2 s . c om*/ if (editor instanceof REditor) { IDocument doc = ((ITextEditor) editor).getDocumentProvider().getDocument(editor.getEditorInput()); ANTLRInputStream input = new ANTLRInputStream(doc.get()); RLexer lexer = new RLexer(input); CommonTokenStream tokens = new CommonTokenStream(lexer); RFilter filter = new RFilter(tokens); filter.stream(); // call start rule: stream tokens.reset(); RParser parser = new RParser(tokens); RuleContext tree = parser.prog(); /* * ParseTreePattern p = parser.compileParseTreePattern("ID", RParser.RULE_expr); * ParseTreeMatch m = p.match(tree); * if ( m.succeeded() ) { * System.out.println("succeed!"); * } */ info.addOffset(textSelection.getOffset() + 150); info.addOffset(textSelection.getOffset() + 250); info.setSourceFile(getFile()); } }
From source file:net.openchrom.xxd.processor.supplier.rscripting.ui.editor.RReconcilingStrategy.java
License:Open Source License
/** * next character position - used locally and only valid while {@link #calculatePositions()} is in progress. *///from ww w . ja va 2 s.co m protected void calculatePositions() { Vector<REditorOutlineNode> editorOldNodes = editor.nodes; /* Create the category base node for the outline! */ editor.createNodes(); if (editor != null) { IResource resource = (IResource) editor.getEditorInput().getAdapter(IResource.class); if (resource != null) { try { resource.deleteMarkers(IMarker.PROBLEM, true, IResource.DEPTH_INFINITE); } catch (CoreException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } } IDocument doc = fDocument; ANTLRInputStream input = new ANTLRInputStream(doc.get()); RLexer lexer = new RLexer(input); CommonTokenStream tokens = new CommonTokenStream(lexer); RFilter filter = new RFilter(tokens); filter.stream(); // call start rule: stream tokens.reset(); RParser parser = new RParser(tokens); // parser.setErrorHandler(new RErrorStrategy()); parser.setBuildParseTree(true); UnderlineListener li = new UnderlineListener(editor); lexer.removeErrorListeners(); lexer.addErrorListener(li); parser.removeErrorListeners(); // parser.getInterpreter().setPredictionMode(PredictionMode.LL_EXACT_AMBIG_DETECTION); parser.addErrorListener(li); // Token to= parser.match(0); // System.out.println("Errors: " + parser.getNumberOfSyntaxErrors()); ParseTreeWalker walker = new ParseTreeWalker(); RuleContext tree = parser.prog(); /* Create the listener to create the outline, etc. */ RBaseListen list = new RBaseListen(tokens, editor, parser); list.startStop.clear(); walker.walk(list, tree); /* * long startTime = System.currentTimeMillis(); * long stopTime = System.currentTimeMillis(); * long elapsedTime = stopTime - startTime; * System.out.println(elapsedTime); */ fPositions.clear(); for (int i = 0; i < list.startStop.size(); i++) { String pos = (String) list.startStop.get(i); String[] val = pos.split(","); fPositions.add(new Position(Integer.parseInt(val[0]), Integer.parseInt(val[1]))); } /* Update the outline! */ Display.getDefault().asyncExec(new Runnable() { public void run() { editor.updateFoldingStructure(fPositions); editor.outlineInputChanged(editorOldNodes, editor.nodes); } }); }
From source file:net.sf.jabref.logic.search.rules.GrammarBasedSearchRule.java
License:Open Source License
private void init(String query) throws ParseCancellationException { if (Objects.equals(this.query, query)) { return;/*from w ww . j a v a2 s. co m*/ } SearchLexer lexer = new SearchLexer(new ANTLRInputStream(query)); lexer.removeErrorListeners(); // no infos on file system lexer.addErrorListener(ThrowingErrorListener.INSTANCE); SearchParser parser = new SearchParser(new CommonTokenStream(lexer)); parser.removeErrorListeners(); // no infos on file system parser.addErrorListener(ThrowingErrorListener.INSTANCE); parser.setErrorHandler(new BailErrorStrategy()); // ParseCancellationException on parse errors tree = parser.start(); this.query = query; }
From source file:net.sf.jabref.search.rules.SearchExpression.java
License:Open Source License
private void init(String query) throws ParseCancellationException { if (this.query != null && this.query.equals(query)) { return;// ww w . j av a2s . c o m } SearchLexer lexer = new SearchLexer(new ANTLRInputStream(query)); lexer.removeErrorListeners(); // no infos on file system lexer.addErrorListener(ThrowingErrorListener.INSTANCE); SearchParser parser = new SearchParser(new CommonTokenStream(lexer)); parser.removeErrorListeners(); // no infos on file system parser.addErrorListener(ThrowingErrorListener.INSTANCE); parser.setErrorHandler(new BailErrorStrategy()); // ParseCancellationException on parse errors tree = parser.start(); this.query = query; }