List of usage examples for org.antlr.v4.runtime ParserRuleContext toStringTree
@Override
public String toStringTree(Parser recog)
From source file:dijkstra.utility.DijkstraTreeDisplayer.java
License:Open Source License
/** * Call this routine to display the parse tree. Hit ENTER on the console to continue. *//*from ww w . j a v a2 s .c o m*/ public static void showTree(DijkstraParser parser, ParserRuleContext tree) { { System.out.println(tree.toStringTree(parser)); final List<String> ruleNames = Arrays.asList(parser.getRuleNames()); final TreeViewer tv = new TreeViewer(ruleNames, tree); final JFrame frame = new JFrame("Parse Tree"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.add(tv); //Display the window. frame.pack(); frame.setVisible(true); final BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); try { br.readLine(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
From source file:dsl.utility.DijkstraTreeDisplayer.java
License:Open Source License
/** * Call this routine to display the parse tree. Hit ENTER on the console to continue. *//*from w w w .j av a 2 s . c o m*/ public static void showTree(DSLParser parser, ParserRuleContext tree) { { System.out.println(tree.toStringTree(parser)); List<String> ruleNames = Arrays.asList(parser.getRuleNames()); TreeViewer tv = new TreeViewer(ruleNames, tree); JFrame frame = new JFrame("Parse Tree"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.add(tv); //Display the window. frame.pack(); frame.setVisible(true); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); try { br.readLine(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
From source file:org.smallpearl.compiler.Compiler.java
License:BSD License
public static void main(String[] args) throws Exception { int i;//from w w w.ja v a 2 s . c o m if (args.length < 1) { printHelp(); return; } if (!checkAndProcessArguments(args)) { return; } for (i = 0; i < inputFiles.size(); i++) { SmallPearlLexer lexer = null; try { lexer = new SmallPearlLexer(new ANTLRFileStream(inputFiles.get(i))); } catch (IOException ex) { System.out.println("Error:" + ex.getMessage()); System.exit(-2); } CommonTokenStream tokens = new CommonTokenStream(lexer); SmallPearlParser parser = new SmallPearlParser(tokens); parser.setBuildParseTree(true); //////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Start Analysis //////////////////////////////////////////////////////////////////////////////////////////////////////////////// System.out.println("Start compiling of:" + inputFiles.get(i).toString()); System.out.println("Performing syntax check"); ParserRuleContext tree = parser.program(); System.out.flush(); if (printAST) { System.out.println("Parse tree:"); System.out.println(tree.toStringTree(parser)); } if (inspectAST) { System.out.println("Inspect Parse tree:"); // visualize parse tree in dialog box tree.inspect(parser); System.out.println("Press any key"); try { int ch = System.in.read(); } catch (IOException ex) { } } if (dumpDFA) { parser.dumpDFA(); } if (parser.getNumberOfSyntaxErrors() <= 0) { BuildSymbolTableVisitor buildSymbolTableVisitor = new BuildSymbolTableVisitor(verbose); buildSymbolTableVisitor.visit(tree); if (!nosemantic) { SemanticCheckVisitor semanticCheckVisitor = new SemanticCheckVisitor(verbose); semanticCheckVisitor.visit(tree); } if (exportSystemPart) { SystemPartExport(lexer.getSourceName(), tree); } // try { CppGenerate(lexer.getSourceName(), tree); /* } catch(Exception ex) { System.err.println(ex.getMessage()); System.err.println("Compilation aborted."); if ( stacktrace ) { System.err.println( getStackTrace(ex)); } System.exit(-1); } */ if (dumpSymbolTable) { SymbolTable symtab = SymbolTable.getSymbolTable(); System.out.println(symtab); symtab.getGlobalsDeclarations(); } } noOfErrors = parser.getNumberOfSyntaxErrors(); System.out.flush(); System.out.println("Number of errors in " + inputFiles.get(i) + " encountered: " + noOfErrors); if (noOfErrors == 0) { System.exit(0); } else { System.exit(1); } } }