1 
2 #include <iostream>
3 
4 #include "ExprLexer.hpp"
5 #include "ExprParser.hpp"
6 #include "antlr/AST.hpp"
7 #include "antlr/CommonAST.hpp"
8 
main(int,char **)9 int main( int, char** )
10 {
11 	ANTLR_USING_NAMESPACE(std)
12 	ANTLR_USING_NAMESPACE(antlr)
13 	try {
14 		ASTFactory my_factory;
15 		ExprLexer lexer(cin);
16 		ExprParser parser(lexer);
17 
18 		parser.initializeASTFactory(my_factory);
19 		parser.setASTFactory(&my_factory);
20 
21 		parser.expr();
22 		RefCommonAST ast = RefCommonAST(parser.getAST());
23 
24 		if (ast)
25 			cout << ast->toStringList() << endl;
26 		else
27 			cout << "null AST" << endl;
28 	}
29 	catch( ANTLRException& e )
30 	{
31 		cerr << "exception: " << e.getMessage() << endl;
32 		return -1;
33 	}
34 	catch( exception& e )
35 	{
36 		cerr << "exception: " << e.what() << endl;
37 		return -1;
38 	}
39 	return 0;
40 }
41 
42