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 + -
显示快捷键?