main.m

来自「ANTLR(ANother Tool for Language Recognit」· M 代码 · 共 36 行

M
36
字号
#import <Cocoa/Cocoa.h>#import <ANTLR/ANTLR.h>#import "SimpleCLexer.h"#import "SimpleCParser.h"#import "SimpleCTPTreeParser.h"int main() {	NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];		NSString *string = [NSString stringWithContentsOfFile:@"examples/simplecTreeParser/input"];	NSLog(@"input is : %@", string);	ANTLRStringStream *stream = [[ANTLRStringStream alloc] initWithStringNoCopy:string];	SimpleCLexer *lexer = [[SimpleCLexer alloc] initWithCharStream:stream];		//	ANTLRToken *currentToken;	//	while (currentToken = [lexer nextToken]) {	//		NSLog(@"%@", currentToken);	//	}		ANTLRCommonTokenStream *tokenStream = [[ANTLRCommonTokenStream alloc] initWithTokenSource:lexer];	SimpleCParser *parser = [[SimpleCParser alloc] initWithTokenStream:tokenStream];	ANTLRCommonTree *program_tree = [[parser program] tree];	NSLog(@"%@", [program_tree treeDescription]);	ANTLRCommonTreeNodeStream *treeStream = [[ANTLRCommonTreeNodeStream alloc] initWithTree:program_tree];	SimpleCTPTreeParser *walker = [[SimpleCTPTreeParser alloc] initWithTreeNodeStream:treeStream];	[walker program];	[lexer release];	[stream release];	[tokenStream release];	[parser release];	[treeStream release];	[walker release];		[pool release];	return 0;}

⌨️ 快捷键说明

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