instrmain.java

来自「Java写的词法/语法分析器。可生成JAVA语言或者是C++的词法和语法分析器。」· Java 代码 · 共 49 行

JAVA
49
字号
import java.io.*;import antlr.*;import antlr.collections.*;import antlr.debug.misc.*;class InstrMain {  /** Parser will query filter for information */  public static TokenStreamHiddenTokenFilter filter;public static void main(String[] args) {  InstrLexer lexer = new InstrLexer(new DataInputStream(System.in));  lexer.setTokenObjectClass("antlr.CommonHiddenStreamToken");  filter = new TokenStreamHiddenTokenFilter(lexer);  filter.hide(InstrParser.WS);  filter.hide(InstrParser.SL_COMMENT);  InstrParser parser = new InstrParser(filter);  parser.setASTNodeClass("antlr.CommonASTWithHiddenTokens");  try {    // Parse the input statements    parser.slist();  }  catch (IOException io) {    System.err.println("IOException while parsing");  }  catch(ParserException e) {    System.err.println("exception: "+e);  }  CommonASTWithHiddenTokens t =    (CommonASTWithHiddenTokens)parser.getAST();/* UNCOMMENT THIS TO SEE THE TREE STRUCTURE  ASTFactory factory = new ASTFactory();  AST r = factory.create(0,"AST ROOT");  r.setFirstChild(t);  ASTFrame frame = new ASTFrame("Preserve Whitespace Example AST", r);  frame.setVisible(true);*/  InstrTreeWalker walker = new InstrTreeWalker();  try {    walker.slist(t);  }  catch(ParserException e) {    System.err.println("exception: "+e);  }}}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?