⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 symboltableparser.m

📁 ANTLR(ANother Tool for Language Recognition)它是这样的一种工具
💻 M
📖 第 1 页 / 共 2 页
字号:
// $ANTLR 3.0b5 /Users/kroepke/Projects/antlr3/code/antlr/main/lib/ObjC/Framework/examples/scopes/SymbolTable.g 2006-11-12 20:47:00#import "SymbolTableParser.h"#pragma mark Cyclic DFA#pragma mark Bitsetsconst static unsigned long long FOLLOW_globals_in_prog44_data[] = {0x0000000000000082LL};static ANTLRBitSet *FOLLOW_globals_in_prog44;const static unsigned long long FOLLOW_method_in_prog47_data[] = {0x0000000000000082LL};static ANTLRBitSet *FOLLOW_method_in_prog47;const static unsigned long long FOLLOW_decl_in_globals79_data[] = {0x0000000000004002LL};static ANTLRBitSet *FOLLOW_decl_in_globals79;const static unsigned long long FOLLOW_7_in_method110_data[] = {0x0000000000000010LL};static ANTLRBitSet *FOLLOW_7_in_method110;const static unsigned long long FOLLOW_SymbolTableParser_ID_in_method112_data[] = {0x0000000000000100LL};static ANTLRBitSet *FOLLOW_SymbolTableParser_ID_in_method112;const static unsigned long long FOLLOW_8_in_method114_data[] = {0x0000000000000200LL};static ANTLRBitSet *FOLLOW_8_in_method114;const static unsigned long long FOLLOW_9_in_method116_data[] = {0x0000000000000400LL};static ANTLRBitSet *FOLLOW_9_in_method116;const static unsigned long long FOLLOW_block_in_method118_data[] = {0x0000000000000002LL};static ANTLRBitSet *FOLLOW_block_in_method118;const static unsigned long long FOLLOW_10_in_block147_data[] = {0x0000000000004C10LL};static ANTLRBitSet *FOLLOW_10_in_block147;const static unsigned long long FOLLOW_decl_in_block150_data[] = {0x0000000000004C10LL};static ANTLRBitSet *FOLLOW_decl_in_block150;const static unsigned long long FOLLOW_stat_in_block155_data[] = {0x0000000000000C10LL};static ANTLRBitSet *FOLLOW_stat_in_block155;const static unsigned long long FOLLOW_11_in_block159_data[] = {0x0000000000000002LL};static ANTLRBitSet *FOLLOW_11_in_block159;const static unsigned long long FOLLOW_SymbolTableParser_ID_in_stat183_data[] = {0x0000000000001000LL};static ANTLRBitSet *FOLLOW_SymbolTableParser_ID_in_stat183;const static unsigned long long FOLLOW_12_in_stat185_data[] = {0x0000000000000020LL};static ANTLRBitSet *FOLLOW_12_in_stat185;const static unsigned long long FOLLOW_SymbolTableParser_INT_in_stat187_data[] = {0x0000000000002000LL};static ANTLRBitSet *FOLLOW_SymbolTableParser_INT_in_stat187;const static unsigned long long FOLLOW_13_in_stat189_data[] = {0x0000000000000002LL};static ANTLRBitSet *FOLLOW_13_in_stat189;const static unsigned long long FOLLOW_block_in_stat199_data[] = {0x0000000000000002LL};static ANTLRBitSet *FOLLOW_block_in_stat199;const static unsigned long long FOLLOW_14_in_decl213_data[] = {0x0000000000000010LL};static ANTLRBitSet *FOLLOW_14_in_decl213;const static unsigned long long FOLLOW_SymbolTableParser_ID_in_decl215_data[] = {0x0000000000002000LL};static ANTLRBitSet *FOLLOW_SymbolTableParser_ID_in_decl215;const static unsigned long long FOLLOW_13_in_decl217_data[] = {0x0000000000000002LL};static ANTLRBitSet *FOLLOW_13_in_decl217;#pragma mark Dynamic Global Scopes@implementation SymbolTableParserSymbolsScope@end#pragma mark Dynamic Rule Scopes#pragma mark Rule return scopes start@implementation SymbolTableParser+ (void) initialize{	FOLLOW_globals_in_prog44 = [[ANTLRBitSet alloc] initWithBits:FOLLOW_globals_in_prog44_data count:1];	FOLLOW_method_in_prog47 = [[ANTLRBitSet alloc] initWithBits:FOLLOW_method_in_prog47_data count:1];	FOLLOW_decl_in_globals79 = [[ANTLRBitSet alloc] initWithBits:FOLLOW_decl_in_globals79_data count:1];	FOLLOW_7_in_method110 = [[ANTLRBitSet alloc] initWithBits:FOLLOW_7_in_method110_data count:1];	FOLLOW_SymbolTableParser_ID_in_method112 = [[ANTLRBitSet alloc] initWithBits:FOLLOW_SymbolTableParser_ID_in_method112_data count:1];	FOLLOW_8_in_method114 = [[ANTLRBitSet alloc] initWithBits:FOLLOW_8_in_method114_data count:1];	FOLLOW_9_in_method116 = [[ANTLRBitSet alloc] initWithBits:FOLLOW_9_in_method116_data count:1];	FOLLOW_block_in_method118 = [[ANTLRBitSet alloc] initWithBits:FOLLOW_block_in_method118_data count:1];	FOLLOW_10_in_block147 = [[ANTLRBitSet alloc] initWithBits:FOLLOW_10_in_block147_data count:1];	FOLLOW_decl_in_block150 = [[ANTLRBitSet alloc] initWithBits:FOLLOW_decl_in_block150_data count:1];	FOLLOW_stat_in_block155 = [[ANTLRBitSet alloc] initWithBits:FOLLOW_stat_in_block155_data count:1];	FOLLOW_11_in_block159 = [[ANTLRBitSet alloc] initWithBits:FOLLOW_11_in_block159_data count:1];	FOLLOW_SymbolTableParser_ID_in_stat183 = [[ANTLRBitSet alloc] initWithBits:FOLLOW_SymbolTableParser_ID_in_stat183_data count:1];	FOLLOW_12_in_stat185 = [[ANTLRBitSet alloc] initWithBits:FOLLOW_12_in_stat185_data count:1];	FOLLOW_SymbolTableParser_INT_in_stat187 = [[ANTLRBitSet alloc] initWithBits:FOLLOW_SymbolTableParser_INT_in_stat187_data count:1];	FOLLOW_13_in_stat189 = [[ANTLRBitSet alloc] initWithBits:FOLLOW_13_in_stat189_data count:1];	FOLLOW_block_in_stat199 = [[ANTLRBitSet alloc] initWithBits:FOLLOW_block_in_stat199_data count:1];	FOLLOW_14_in_decl213 = [[ANTLRBitSet alloc] initWithBits:FOLLOW_14_in_decl213_data count:1];	FOLLOW_SymbolTableParser_ID_in_decl215 = [[ANTLRBitSet alloc] initWithBits:FOLLOW_SymbolTableParser_ID_in_decl215_data count:1];	FOLLOW_13_in_decl217 = [[ANTLRBitSet alloc] initWithBits:FOLLOW_13_in_decl217_data count:1];}- (id) initWithTokenStream:(id<ANTLRTokenStream>)aStream{	if ((self = [super initWithTokenStream:aStream])) {		tokenNames = [[NSArray alloc] initWithObjects:@"<invalid>", @"<EOR>", @"<DOWN>", @"<UP>",     @"ID",     @"INT",     @"WS",     @"'method'",     @"'('",     @"')'",     @"'{'",     @"'}'",     @"'='",     @"';'",     @"'int'", nil];		SymbolTableParser_Symbols_stack = [[NSMutableArray alloc] init];																level = 0;	}	return self;}- (void) dealloc{	[tokenNames release];	[SymbolTableParser_Symbols_stack release];	[super dealloc];}// $ANTLR start prog// /Users/kroepke/Projects/antlr3/code/antlr/main/lib/ObjC/Framework/examples/scopes/SymbolTable.g:25:1: prog : globals ( method )* ;- (void) prog{    @try {        // /Users/kroepke/Projects/antlr3/code/antlr/main/lib/ObjC/Framework/examples/scopes/SymbolTable.g:25:9: ( globals ( method )* ) // ruleBlockSingleAlt        // /Users/kroepke/Projects/antlr3/code/antlr/main/lib/ObjC/Framework/examples/scopes/SymbolTable.g:25:9: globals ( method )* // alt        {        [following addObject:FOLLOW_globals_in_prog44];        [self globals];        [following removeLastObject];        do {            int alt1=2;            {            	int LA1_0 = [input LA:1];            	if ( LA1_0==7 ) {            		alt1 = 1;            	}            }            switch (alt1) {        	case 1 :        	    // /Users/kroepke/Projects/antlr3/code/antlr/main/lib/ObjC/Framework/examples/scopes/SymbolTable.g:25:18: method // alt        	    {        	    [following addObject:FOLLOW_method_in_prog47];        	    [self method];        	    [following removeLastObject];        	    }        	    break;        	default :        	    goto loop1;            }        } while (YES); loop1: ;        }    }	@catch (ANTLRRecognitionException *re) {		[self reportError:re];		[self recover:input exception:re];	}	@finally {		// token labels		// token+rule list labels		// rule labels		// rule refs in alts with rewrites	}	return ;}// $ANTLR end prog// $ANTLR start globals// /Users/kroepke/Projects/antlr3/code/antlr/main/lib/ObjC/Framework/examples/scopes/SymbolTable.g:28:1: globals : ( decl )* ;- (void) globals{    [SymbolTableParser_Symbols_stack addObject:[[[SymbolTableParserSymbolsScope alloc] init] autorelease]];        level++;        [[SymbolTableParser_Symbols_stack lastObject] setValue: [[NSMutableArray alloc] init] forKey:@"names"];    @try {        // /Users/kroepke/Projects/antlr3/code/antlr/main/lib/ObjC/Framework/examples/scopes/SymbolTable.g:34:9: ( ( decl )* ) // ruleBlockSingleAlt        // /Users/kroepke/Projects/antlr3/code/antlr/main/lib/ObjC/Framework/examples/scopes/SymbolTable.g:34:9: ( decl )* // alt        {        do {            int alt2=2;            {            	int LA2_0 = [input LA:1];            	if ( LA2_0==14 ) {            		alt2 = 1;            	}            }            switch (alt2) {        	case 1 :        	    // /Users/kroepke/Projects/antlr3/code/antlr/main/lib/ObjC/Framework/examples/scopes/SymbolTable.g:34:10: decl // alt        	    {        	    [following addObject:FOLLOW_decl_in_globals79];        	    [self decl];        	    [following removeLastObject];        	    }        	    break;        	default :        	    goto loop2;            }        } while (YES); loop2: ;                NSLog(@"globals: %@", [[SymbolTableParser_Symbols_stack lastObject] valueForKey:@"names"]);                level--;                        }    }	@catch (ANTLRRecognitionException *re) {		[self reportError:re];		[self recover:input exception:re];	}	@finally {		// token labels		// token+rule list labels		// rule labels		// rule refs in alts with rewrites		[SymbolTableParser_Symbols_stack removeLastObject];	}	return ;}// $ANTLR end globals

⌨️ 快捷键说明

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