1#import <Cocoa/Cocoa.h>
2#import "antlr3.h"
3#import "LangLexer.h"
4#import "LangParser.h"
5#import "LangDumpDecl.h"
6#import "stdio.h"
7#include <unistd.h>
8
9/*
10import org.antlr.runtime.*;
11import org.antlr.runtime.tree.*;
12
13public class Main {
14	public static void main(String[] args) throws Exception {
15		CharStream input = new ANTLRFileStream(args[0]);
16		LangLexer lex = new LangLexer(input);
17		CommonTokenStream tokens = new CommonTokenStream(lex);
18		LangParser parser = new LangParser(tokens);
19		//LangParser.decl_return r = parser.decl();
20		LangParser.start_return r = parser.start();
21		System.out.println("tree: "+((Tree)r.tree).toStringTree());
22		CommonTree r0 = ((CommonTree)r.tree);
23        
24		CommonTreeNodeStream nodes = new CommonTreeNodeStream(r0);
25		nodes.setTokenStream(tokens);
26		LangDumpDecl walker = new LangDumpDecl(nodes);
27		walker.decl();
28	}
29}
30*/
31
32int main(int argc, const char * argv[])
33{
34    NSError *error;
35    NSLog(@"starting treeparser\n");
36    NSString *dir = @"/Users/acondit/source/antlr3/acondit_localhost/code/antlr/main/runtime/ObjC/Framework/examples/treeparser/input";
37	NSString *string = [NSString stringWithContentsOfFile:dir  encoding:NSASCIIStringEncoding error:&error];
38	NSLog(@"input = %@", string);
39	ANTLRStringStream *stream = [ANTLRStringStream newANTLRStringStream:string];
40	LangLexer *lex = [LangLexer newLangLexerWithCharStream:stream];
41    ANTLRCommonTokenStream *tokens = [ANTLRCommonTokenStream newANTLRCommonTokenStreamWithTokenSource:lex];
42    LangParser *parser = [LangParser newLangParser:tokens];
43//    LangParser_decl_return *r = [parser decl];
44    LangParser_start_return *r = [parser start];
45    NSLog( @"tree: %@", [r.tree toStringTree]);
46    ANTLRCommonTree *r0 = [r getTree];
47    
48    ANTLRCommonTreeNodeStream *nodes = [ANTLRCommonTreeNodeStream newANTLRCommonTreeNodeStream:r0];
49    [nodes setTokenStream:tokens];
50    LangDumpDecl *walker = [LangDumpDecl newLangDumpDecl:nodes];
51    [walker decl];
52
53    NSLog(@"exiting treeparser\n");
54	return 0;
55}