InstrMain.java
上传用户:afrynkmhm
上传日期:2007-01-06
资源大小:1262k
文件大小:1k
- 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);
- }
- }
- }