#import #import "antlr3.h" #import "LangLexer.h" #import "LangParser.h" #import "LangDumpDecl.h" #import "stdio.h" #include /* import org.antlr.runtime.*; import org.antlr.runtime.tree.*; public class Main { public static void main(String[] args) throws Exception { CharStream input = new ANTLRFileStream(args[0]); LangLexer lex = new LangLexer(input); CommonTokenStream tokens = new CommonTokenStream(lex); LangParser parser = new LangParser(tokens); //LangParser.decl_return r = parser.decl(); LangParser.start_return r = parser.start(); System.out.println("tree: "+((Tree)r.tree).toStringTree()); CommonTree r0 = ((CommonTree)r.tree); CommonTreeNodeStream nodes = new CommonTreeNodeStream(r0); nodes.setTokenStream(tokens); LangDumpDecl walker = new LangDumpDecl(nodes); walker.decl(); } } */ int main(int argc, const char * argv[]) { NSError *error; NSLog(@"starting treeparser\n"); NSString *dir = @"/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/treeparser/input"; NSString *string = [NSString stringWithContentsOfFile:dir encoding:NSASCIIStringEncoding error:&error]; NSLog(@"input = %@", string); ANTLRStringStream *stream = [ANTLRStringStream newANTLRStringStream:string]; LangLexer *lex = [LangLexer newLangLexerWithCharStream:stream]; ANTLRCommonTokenStream *tokens = [ANTLRCommonTokenStream newANTLRCommonTokenStreamWithTokenSource:lex]; LangParser *parser = [LangParser newLangParser:tokens]; // LangParser_decl_return *r = [parser decl]; LangParser_start_return *r = [parser start]; NSLog( @"tree: %@", [r.tree toStringTree]); ANTLRCommonTree *r0 = [r getTree]; ANTLRCommonTreeNodeStream *nodes = [ANTLRCommonTreeNodeStream newANTLRCommonTreeNodeStream:r0]; [nodes setTokenStream:tokens]; LangDumpDecl *walker = [LangDumpDecl newLangDumpDecl:nodes]; [walker decl]; NSLog(@"exiting treeparser\n"); return 0; }