1324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// $ANTLR ${project.version} ${buildNumber} T.g 2011-05-06 19:14:23 2324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 3324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ============================================================================= 4324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * Standard antlr3 OBJC runtime definitions 5324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver */ 6324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#import <Cocoa/Cocoa.h> 7324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#import <ANTLR/ANTLR.h> 8324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* End of standard antlr3 runtime definitions 9324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * ============================================================================= 10324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver */ 11324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 12324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* parserHeaderFile */ 13324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#ifndef ANTLR3TokenTypeAlreadyDefined 14324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define ANTLR3TokenTypeAlreadyDefined 15324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvertypedef enum { 16324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver ANTLR_EOF = -1, 17324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver INVALID, 18324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver EOR, 19324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver DOWN, 20324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver UP, 21324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver MIN 22324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver} ANTLR3TokenType; 23324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#endif 24324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 25324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#pragma mark Tokens 26324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#ifdef EOF 27324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#undef EOF 28324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#endif 29324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define EOF -1 30324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define T__7 7 31324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define ID 4 32324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define INT 5 33324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define WS 6 34324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#pragma mark Dynamic Global Scopes 35324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#pragma mark Dynamic Rule Scopes 36324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#pragma mark Rule Return Scopes start 37324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 38324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* Interface grammar class */ 39324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@interface TParser : ANTLRParser { /* line 572 */ 40324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC start of ruleAttributeScopeMemVar */ 41324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 42324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 43324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC end of ruleAttributeScopeMemVar */ 44324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC start of globalAttributeScopeMemVar */ 45324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 46324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 47324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC end of globalAttributeScopeMemVar */ 48324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC start of actions.(actionScope).memVars */ 49324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 50324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* With this true, enum is seen as a keyword. False, it's an identifier */ 51324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverBOOL enableEnum; 52324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 53324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC end of actions.(actionScope).memVars */ 54324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC start of memVars */ 55324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC end of memVars */ 56324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 57324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 58324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 59324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC start of actions.(actionScope).properties */ 60324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC end of actions.(actionScope).properties */ 61324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC start of properties */ 62324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC end of properties */ 63324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 64324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver+ (void) initialize; 65324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver+ (id) newTParser:(id<ANTLRTokenStream>)aStream; 66324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC start of actions.(actionScope).methodsDecl */ 67324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC end of actions.(actionScope).methodsDecl */ 68324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 69324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC start of methodsDecl */ 70324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC end of methodsDecl */ 71324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 72324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void)stat; 73324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void)identifier; 74324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void)enumAsKeyword; 75324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void)enumAsID; 76324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 77324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 78324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@end /* end of TParser interface */ 79324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 80324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/** Demonstrates how semantic predicates get hoisted out of the rule in 81324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * which they are found and used in other decisions. This grammar illustrates 82324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * how predicates can be used to distinguish between enum as a keyword and 83324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * an ID *dynamically*. :) 84324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 85324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * Run "java org.antlr.Tool -dfa t.g" to generate DOT (graphviz) files. See 86324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * the T_dec-1.dot file to see the predicates in action. 87324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver */