1324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// $ANTLR 3.2 Aug 13, 2010 14:19:31 SimpleCTP.g 2010-08-13 14:29:19 2324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 3324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverimport org.antlr.runtime.*; 4324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverimport org.antlr.runtime.tree.*;import java.util.Stack; 5324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverimport java.util.List; 6324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverimport java.util.ArrayList; 7324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 8324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverpublic class SimpleCTP extends TreeParser { 9324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final String[] tokenNames = new String[] { 10324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver "<invalid>", "<EOR>", "<DOWN>", "<UP>", "VAR_DEF", "ARG_DEF", "FUNC_HDR", "FUNC_DECL", "FUNC_DEF", "BLOCK", "ID", "EQ", "INT", "FOR", "INT_TYPE", "CHAR", "VOID", "EQEQ", "LT", "PLUS", "WS", "';'", "'('", "','", "')'", "'{'", "'}'" 11324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver }; 12324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final int LT=18; 13324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final int T__26=26; 14324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final int T__25=25; 15324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final int T__24=24; 16324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final int T__23=23; 17324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final int T__22=22; 18324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final int T__21=21; 19324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final int CHAR=15; 20324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final int FOR=13; 21324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final int FUNC_HDR=6; 22324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final int INT=12; 23324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final int FUNC_DEF=8; 24324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final int INT_TYPE=14; 25324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final int ID=10; 26324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final int EOF=-1; 27324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final int FUNC_DECL=7; 28324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final int ARG_DEF=5; 29324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final int WS=20; 30324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final int BLOCK=9; 31324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final int PLUS=19; 32324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final int VOID=16; 33324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final int EQ=11; 34324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final int VAR_DEF=4; 35324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final int EQEQ=17; 36324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 37324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // delegates 38324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // delegators 39324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 40324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 41324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public SimpleCTP(TreeNodeStream input) { 42324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver this(input, new RecognizerSharedState()); 43324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 44324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public SimpleCTP(TreeNodeStream input, RecognizerSharedState state) { 45324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver super(input, state); 46324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 47324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 48324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 49324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 50324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public String[] getTokenNames() { return SimpleCTP.tokenNames; } 51324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public String getGrammarFileName() { return "SimpleCTP.g"; } 52324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 53324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 54324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 55324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // $ANTLR start "program" 56324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:8:1: program : ( declaration )+ ; 57324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public final void program() throws RecognitionException { 58324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver try { 59324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:9:5: ( ( declaration )+ ) 60324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:9:9: ( declaration )+ 61324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 62324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:9:9: ( declaration )+ 63324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver int cnt1=0; 64324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver loop1: 65324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver do { 66324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver int alt1=2; 67324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver int LA1_0 = input.LA(1); 68324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 69324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver if ( (LA1_0==VAR_DEF||(LA1_0>=FUNC_DECL && LA1_0<=FUNC_DEF)) ) { 70324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver alt1=1; 71324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 72324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 73324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 74324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver switch (alt1) { 75324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case 1 : 76324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:9:9: declaration 77324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 78324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver pushFollow(FOLLOW_declaration_in_program43); 79324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver declaration(); 80324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 81324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver state._fsp--; 82324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 83324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 84324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 85324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 86324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 87324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver default : 88324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver if ( cnt1 >= 1 ) break loop1; 89324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver EarlyExitException eee = 90324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver new EarlyExitException(1, input); 91324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver throw eee; 92324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 93324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver cnt1++; 94324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } while (true); 95324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 96324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 97324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 98324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 99324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 100324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver catch (RecognitionException re) { 101324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver reportError(re); 102324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver recover(input,re); 103324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 104324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver finally { 105324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 106324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver return ; 107324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 108324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // $ANTLR end "program" 109324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 110324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 111324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // $ANTLR start "declaration" 112324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:12:1: declaration : ( variable | ^( FUNC_DECL functionHeader ) | ^( FUNC_DEF functionHeader block ) ); 113324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public final void declaration() throws RecognitionException { 114324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver try { 115324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:13:5: ( variable | ^( FUNC_DECL functionHeader ) | ^( FUNC_DEF functionHeader block ) ) 116324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver int alt2=3; 117324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver switch ( input.LA(1) ) { 118324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case VAR_DEF: 119324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 120324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver alt2=1; 121324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 122324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 123324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case FUNC_DECL: 124324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 125324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver alt2=2; 126324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 127324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 128324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case FUNC_DEF: 129324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 130324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver alt2=3; 131324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 132324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 133324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver default: 134324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver NoViableAltException nvae = 135324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver new NoViableAltException("", 2, 0, input); 136324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 137324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver throw nvae; 138324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 139324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 140324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver switch (alt2) { 141324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case 1 : 142324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:13:9: variable 143324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 144324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver pushFollow(FOLLOW_variable_in_declaration63); 145324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver variable(); 146324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 147324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver state._fsp--; 148324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 149324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 150324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 151324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 152324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case 2 : 153324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:14:9: ^( FUNC_DECL functionHeader ) 154324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 155324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver match(input,FUNC_DECL,FOLLOW_FUNC_DECL_in_declaration74); 156324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 157324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver match(input, Token.DOWN, null); 158324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver pushFollow(FOLLOW_functionHeader_in_declaration76); 159324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver functionHeader(); 160324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 161324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver state._fsp--; 162324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 163324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 164324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver match(input, Token.UP, null); 165324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 166324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 167324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 168324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case 3 : 169324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:15:9: ^( FUNC_DEF functionHeader block ) 170324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 171324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver match(input,FUNC_DEF,FOLLOW_FUNC_DEF_in_declaration88); 172324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 173324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver match(input, Token.DOWN, null); 174324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver pushFollow(FOLLOW_functionHeader_in_declaration90); 175324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver functionHeader(); 176324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 177324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver state._fsp--; 178324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 179324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver pushFollow(FOLLOW_block_in_declaration92); 180324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver block(); 181324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 182324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver state._fsp--; 183324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 184324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 185324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver match(input, Token.UP, null); 186324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 187324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 188324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 189324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 190324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 191324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 192324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver catch (RecognitionException re) { 193324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver reportError(re); 194324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver recover(input,re); 195324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 196324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver finally { 197324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 198324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver return ; 199324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 200324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // $ANTLR end "declaration" 201324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 202324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 203324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // $ANTLR start "variable" 204324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:18:1: variable : ^( VAR_DEF type declarator ) ; 205324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public final void variable() throws RecognitionException { 206324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver try { 207324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:19:5: ( ^( VAR_DEF type declarator ) ) 208324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:19:9: ^( VAR_DEF type declarator ) 209324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 210324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver match(input,VAR_DEF,FOLLOW_VAR_DEF_in_variable113); 211324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 212324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver match(input, Token.DOWN, null); 213324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver pushFollow(FOLLOW_type_in_variable115); 214324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver type(); 215324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 216324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver state._fsp--; 217324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 218324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver pushFollow(FOLLOW_declarator_in_variable117); 219324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver declarator(); 220324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 221324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver state._fsp--; 222324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 223324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 224324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver match(input, Token.UP, null); 225324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 226324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 227324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 228324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 229324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver catch (RecognitionException re) { 230324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver reportError(re); 231324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver recover(input,re); 232324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 233324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver finally { 234324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 235324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver return ; 236324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 237324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // $ANTLR end "variable" 238324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 239324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 240324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // $ANTLR start "declarator" 241324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:22:1: declarator : ID ; 242324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public final void declarator() throws RecognitionException { 243324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver try { 244324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:23:5: ( ID ) 245324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:23:9: ID 246324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 247324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver match(input,ID,FOLLOW_ID_in_declarator137); 248324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 249324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 250324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 251324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 252324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver catch (RecognitionException re) { 253324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver reportError(re); 254324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver recover(input,re); 255324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 256324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver finally { 257324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 258324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver return ; 259324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 260324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // $ANTLR end "declarator" 261324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 262324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 263324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // $ANTLR start "functionHeader" 264324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:26:1: functionHeader : ^( FUNC_HDR type ID ( formalParameter )+ ) ; 265324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public final void functionHeader() throws RecognitionException { 266324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver try { 267324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:27:5: ( ^( FUNC_HDR type ID ( formalParameter )+ ) ) 268324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:27:9: ^( FUNC_HDR type ID ( formalParameter )+ ) 269324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 270324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver match(input,FUNC_HDR,FOLLOW_FUNC_HDR_in_functionHeader158); 271324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 272324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver match(input, Token.DOWN, null); 273324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver pushFollow(FOLLOW_type_in_functionHeader160); 274324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver type(); 275324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 276324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver state._fsp--; 277324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 278324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver match(input,ID,FOLLOW_ID_in_functionHeader162); 279324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:27:28: ( formalParameter )+ 280324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver int cnt3=0; 281324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver loop3: 282324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver do { 283324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver int alt3=2; 284324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver int LA3_0 = input.LA(1); 285324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 286324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver if ( (LA3_0==ARG_DEF) ) { 287324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver alt3=1; 288324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 289324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 290324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 291324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver switch (alt3) { 292324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case 1 : 293324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:27:28: formalParameter 294324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 295324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver pushFollow(FOLLOW_formalParameter_in_functionHeader164); 296324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver formalParameter(); 297324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 298324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver state._fsp--; 299324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 300324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 301324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 302324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 303324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 304324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver default : 305324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver if ( cnt3 >= 1 ) break loop3; 306324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver EarlyExitException eee = 307324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver new EarlyExitException(3, input); 308324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver throw eee; 309324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 310324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver cnt3++; 311324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } while (true); 312324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 313324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 314324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver match(input, Token.UP, null); 315324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 316324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 317324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 318324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 319324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver catch (RecognitionException re) { 320324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver reportError(re); 321324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver recover(input,re); 322324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 323324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver finally { 324324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 325324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver return ; 326324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 327324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // $ANTLR end "functionHeader" 328324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 329324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 330324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // $ANTLR start "formalParameter" 331324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:30:1: formalParameter : ^( ARG_DEF type declarator ) ; 332324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public final void formalParameter() throws RecognitionException { 333324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver try { 334324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:31:5: ( ^( ARG_DEF type declarator ) ) 335324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:31:9: ^( ARG_DEF type declarator ) 336324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 337324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver match(input,ARG_DEF,FOLLOW_ARG_DEF_in_formalParameter186); 338324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 339324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver match(input, Token.DOWN, null); 340324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver pushFollow(FOLLOW_type_in_formalParameter188); 341324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver type(); 342324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 343324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver state._fsp--; 344324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 345324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver pushFollow(FOLLOW_declarator_in_formalParameter190); 346324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver declarator(); 347324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 348324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver state._fsp--; 349324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 350324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 351324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver match(input, Token.UP, null); 352324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 353324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 354324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 355324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 356324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver catch (RecognitionException re) { 357324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver reportError(re); 358324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver recover(input,re); 359324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 360324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver finally { 361324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 362324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver return ; 363324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 364324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // $ANTLR end "formalParameter" 365324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 366324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 367324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // $ANTLR start "type" 368324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:34:1: type : ( 'int' | 'char' | 'void' | ID ); 369324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public final void type() throws RecognitionException { 370324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver try { 371324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:35:5: ( 'int' | 'char' | 'void' | ID ) 372324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g: 373324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 374324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver if ( input.LA(1)==ID||(input.LA(1)>=INT_TYPE && input.LA(1)<=VOID) ) { 375324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver input.consume(); 376324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver state.errorRecovery=false; 377324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 378324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver else { 379324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver MismatchedSetException mse = new MismatchedSetException(null,input); 380324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver throw mse; 381324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 382324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 383324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 384324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 385324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 386324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 387324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver catch (RecognitionException re) { 388324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver reportError(re); 389324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver recover(input,re); 390324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 391324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver finally { 392324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 393324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver return ; 394324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 395324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // $ANTLR end "type" 396324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 397324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 398324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // $ANTLR start "block" 399324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:41:1: block : ^( BLOCK ( variable )* ( stat )* ) ; 400324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public final void block() throws RecognitionException { 401324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver try { 402324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:42:5: ( ^( BLOCK ( variable )* ( stat )* ) ) 403324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:42:9: ^( BLOCK ( variable )* ( stat )* ) 404324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 405324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver match(input,BLOCK,FOLLOW_BLOCK_in_block273); 406324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 407324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver if ( input.LA(1)==Token.DOWN ) { 408324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver match(input, Token.DOWN, null); 409324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:42:17: ( variable )* 410324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver loop4: 411324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver do { 412324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver int alt4=2; 413324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver int LA4_0 = input.LA(1); 414324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 415324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver if ( (LA4_0==VAR_DEF) ) { 416324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver alt4=1; 417324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 418324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 419324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 420324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver switch (alt4) { 421324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case 1 : 422324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:42:17: variable 423324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 424324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver pushFollow(FOLLOW_variable_in_block275); 425324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver variable(); 426324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 427324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver state._fsp--; 428324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 429324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 430324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 431324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 432324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 433324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver default : 434324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break loop4; 435324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 436324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } while (true); 437324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 438324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:42:27: ( stat )* 439324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver loop5: 440324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver do { 441324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver int alt5=2; 442324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver int LA5_0 = input.LA(1); 443324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 444324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver if ( ((LA5_0>=BLOCK && LA5_0<=FOR)||(LA5_0>=EQEQ && LA5_0<=PLUS)) ) { 445324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver alt5=1; 446324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 447324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 448324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 449324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver switch (alt5) { 450324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case 1 : 451324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:42:27: stat 452324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 453324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver pushFollow(FOLLOW_stat_in_block278); 454324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver stat(); 455324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 456324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver state._fsp--; 457324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 458324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 459324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 460324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 461324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 462324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver default : 463324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break loop5; 464324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 465324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } while (true); 466324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 467324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 468324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver match(input, Token.UP, null); 469324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 470324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 471324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 472324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 473324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 474324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver catch (RecognitionException re) { 475324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver reportError(re); 476324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver recover(input,re); 477324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 478324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver finally { 479324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 480324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver return ; 481324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 482324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // $ANTLR end "block" 483324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 484324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 485324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // $ANTLR start "stat" 486324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:45:1: stat : ( forStat | expr | block ); 487324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public final void stat() throws RecognitionException { 488324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver try { 489324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:45:5: ( forStat | expr | block ) 490324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver int alt6=3; 491324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver switch ( input.LA(1) ) { 492324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case FOR: 493324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 494324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver alt6=1; 495324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 496324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 497324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case ID: 498324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case EQ: 499324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case INT: 500324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case EQEQ: 501324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case LT: 502324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case PLUS: 503324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 504324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver alt6=2; 505324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 506324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 507324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case BLOCK: 508324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 509324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver alt6=3; 510324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 511324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 512324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver default: 513324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver NoViableAltException nvae = 514324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver new NoViableAltException("", 6, 0, input); 515324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 516324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver throw nvae; 517324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 518324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 519324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver switch (alt6) { 520324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case 1 : 521324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:45:7: forStat 522324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 523324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver pushFollow(FOLLOW_forStat_in_stat292); 524324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver forStat(); 525324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 526324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver state._fsp--; 527324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 528324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 529324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 530324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 531324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case 2 : 532324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:46:7: expr 533324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 534324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver pushFollow(FOLLOW_expr_in_stat300); 535324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver expr(); 536324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 537324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver state._fsp--; 538324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 539324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 540324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 541324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 542324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case 3 : 543324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:47:7: block 544324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 545324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver pushFollow(FOLLOW_block_in_stat308); 546324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver block(); 547324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 548324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver state._fsp--; 549324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 550324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 551324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 552324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 553324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 554324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 555324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 556324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver catch (RecognitionException re) { 557324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver reportError(re); 558324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver recover(input,re); 559324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 560324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver finally { 561324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 562324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver return ; 563324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 564324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // $ANTLR end "stat" 565324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 566324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 567324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // $ANTLR start "forStat" 568324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:50:1: forStat : ^( 'for' expr expr expr block ) ; 569324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public final void forStat() throws RecognitionException { 570324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver try { 571324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:51:5: ( ^( 'for' expr expr expr block ) ) 572324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:51:9: ^( 'for' expr expr expr block ) 573324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 574324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver match(input,FOR,FOLLOW_FOR_in_forStat328); 575324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 576324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver match(input, Token.DOWN, null); 577324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver pushFollow(FOLLOW_expr_in_forStat330); 578324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver expr(); 579324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 580324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver state._fsp--; 581324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 582324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver pushFollow(FOLLOW_expr_in_forStat332); 583324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver expr(); 584324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 585324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver state._fsp--; 586324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 587324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver pushFollow(FOLLOW_expr_in_forStat334); 588324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver expr(); 589324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 590324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver state._fsp--; 591324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 592324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver pushFollow(FOLLOW_block_in_forStat336); 593324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver block(); 594324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 595324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver state._fsp--; 596324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 597324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 598324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver match(input, Token.UP, null); 599324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 600324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 601324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 602324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 603324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver catch (RecognitionException re) { 604324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver reportError(re); 605324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver recover(input,re); 606324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 607324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver finally { 608324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 609324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver return ; 610324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 611324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // $ANTLR end "forStat" 612324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 613324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static class expr_return extends TreeRuleReturnScope { 614324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver }; 615324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 616324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // $ANTLR start "expr" 617324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:54:1: expr : ( ^( EQEQ expr expr ) | ^( LT expr expr ) | ^( PLUS expr expr ) | ^( EQ ID e= expr ) | atom ); 618324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public final SimpleCTP.expr_return expr() throws RecognitionException { 619324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver SimpleCTP.expr_return retval = new SimpleCTP.expr_return(); 620324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.start = input.LT(1); 621324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 622324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver ANTLRCommonTree ID1=null; 623324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver SimpleCTP.expr_return e = null; 624324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 625324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 626324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver try { 627324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:54:5: ( ^( EQEQ expr expr ) | ^( LT expr expr ) | ^( PLUS expr expr ) | ^( EQ ID e= expr ) | atom ) 628324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver int alt7=5; 629324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver switch ( input.LA(1) ) { 630324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case EQEQ: 631324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 632324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver alt7=1; 633324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 634324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 635324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case LT: 636324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 637324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver alt7=2; 638324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 639324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 640324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case PLUS: 641324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 642324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver alt7=3; 643324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 644324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 645324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case EQ: 646324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 647324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver alt7=4; 648324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 649324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 650324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case ID: 651324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case INT: 652324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 653324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver alt7=5; 654324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 655324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 656324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver default: 657324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver NoViableAltException nvae = 658324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver new NoViableAltException("", 7, 0, input); 659324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 660324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver throw nvae; 661324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 662324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 663324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver switch (alt7) { 664324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case 1 : 665324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:54:9: ^( EQEQ expr expr ) 666324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 667324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver match(input,EQEQ,FOLLOW_EQEQ_in_expr352); 668324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 669324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver match(input, Token.DOWN, null); 670324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver pushFollow(FOLLOW_expr_in_expr354); 671324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver expr(); 672324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 673324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver state._fsp--; 674324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 675324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver pushFollow(FOLLOW_expr_in_expr356); 676324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver expr(); 677324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 678324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver state._fsp--; 679324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 680324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 681324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver match(input, Token.UP, null); 682324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 683324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 684324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 685324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case 2 : 686324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:55:9: ^( LT expr expr ) 687324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 688324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver match(input,LT,FOLLOW_LT_in_expr368); 689324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 690324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver match(input, Token.DOWN, null); 691324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver pushFollow(FOLLOW_expr_in_expr370); 692324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver expr(); 693324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 694324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver state._fsp--; 695324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 696324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver pushFollow(FOLLOW_expr_in_expr372); 697324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver expr(); 698324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 699324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver state._fsp--; 700324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 701324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 702324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver match(input, Token.UP, null); 703324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 704324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 705324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 706324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case 3 : 707324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:56:9: ^( PLUS expr expr ) 708324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 709324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver match(input,PLUS,FOLLOW_PLUS_in_expr384); 710324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 711324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver match(input, Token.DOWN, null); 712324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver pushFollow(FOLLOW_expr_in_expr386); 713324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver expr(); 714324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 715324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver state._fsp--; 716324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 717324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver pushFollow(FOLLOW_expr_in_expr388); 718324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver expr(); 719324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 720324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver state._fsp--; 721324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 722324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 723324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver match(input, Token.UP, null); 724324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 725324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 726324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 727324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case 4 : 728324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:57:9: ^( EQ ID e= expr ) 729324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 730324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver match(input,EQ,FOLLOW_EQ_in_expr400); 731324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 732324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver match(input, Token.DOWN, null); 733324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver ID1=(ANTLRCommonTree)match(input,ID,FOLLOW_ID_in_expr402); 734324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver pushFollow(FOLLOW_expr_in_expr406); 735324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver e=expr(); 736324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 737324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver state._fsp--; 738324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 739324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 740324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver match(input, Token.UP, null); 741324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver NSLog(@"assigning %@ to variable %@", (e!=null?(input.getTokenStream().toString( 742324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver input.getTreeAdaptor().getTokenStartIndex(e.start), 743324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver input.getTreeAdaptor().getTokenStopIndex(e.start))):null), (ID1!=null?ID1.getText():null)); 744324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 745324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 746324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 747324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case 5 : 748324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:58:9: atom 749324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 750324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver pushFollow(FOLLOW_atom_in_expr419); 751324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver atom(); 752324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 753324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver state._fsp--; 754324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 755324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 756324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 757324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 758324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 759324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 760324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 761324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver catch (RecognitionException re) { 762324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver reportError(re); 763324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver recover(input,re); 764324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 765324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver finally { 766324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 767324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver return retval; 768324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 769324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // $ANTLR end "expr" 770324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 771324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 772324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // $ANTLR start "atom" 773324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:61:1: atom : ( ID | INT ); 774324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public final void atom() throws RecognitionException { 775324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver try { 776324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:62:5: ( ID | INT ) 777324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g: 778324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 779324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver if ( input.LA(1)==ID||input.LA(1)==INT ) { 780324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver input.consume(); 781324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver state.errorRecovery=false; 782324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 783324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver else { 784324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver MismatchedSetException mse = new MismatchedSetException(null,input); 785324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver throw mse; 786324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 787324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 788324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 789324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 790324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 791324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 792324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver catch (RecognitionException re) { 793324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver reportError(re); 794324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver recover(input,re); 795324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 796324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver finally { 797324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 798324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver return ; 799324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 800324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // $ANTLR end "atom" 801324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 802324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // Delegated rules 803324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 804324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 805324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 806324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 807324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_declaration_in_program43 = new BitSet(new long[]{0x0000000000000192L}); 808324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_variable_in_declaration63 = new BitSet(new long[]{0x0000000000000002L}); 809324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_FUNC_DECL_in_declaration74 = new BitSet(new long[]{0x0000000000000004L}); 810324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_functionHeader_in_declaration76 = new BitSet(new long[]{0x0000000000000008L}); 811324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_FUNC_DEF_in_declaration88 = new BitSet(new long[]{0x0000000000000004L}); 812324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_functionHeader_in_declaration90 = new BitSet(new long[]{0x0000000000000200L}); 813324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_block_in_declaration92 = new BitSet(new long[]{0x0000000000000008L}); 814324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_VAR_DEF_in_variable113 = new BitSet(new long[]{0x0000000000000004L}); 815324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_type_in_variable115 = new BitSet(new long[]{0x0000000000000400L}); 816324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_declarator_in_variable117 = new BitSet(new long[]{0x0000000000000008L}); 817324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_ID_in_declarator137 = new BitSet(new long[]{0x0000000000000002L}); 818324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_FUNC_HDR_in_functionHeader158 = new BitSet(new long[]{0x0000000000000004L}); 819324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_type_in_functionHeader160 = new BitSet(new long[]{0x0000000000000400L}); 820324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_ID_in_functionHeader162 = new BitSet(new long[]{0x0000000000000020L}); 821324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_formalParameter_in_functionHeader164 = new BitSet(new long[]{0x0000000000000028L}); 822324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_ARG_DEF_in_formalParameter186 = new BitSet(new long[]{0x0000000000000004L}); 823324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_type_in_formalParameter188 = new BitSet(new long[]{0x0000000000000400L}); 824324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_declarator_in_formalParameter190 = new BitSet(new long[]{0x0000000000000008L}); 825324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_set_in_type0 = new BitSet(new long[]{0x0000000000000002L}); 826324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_BLOCK_in_block273 = new BitSet(new long[]{0x0000000000000004L}); 827324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_variable_in_block275 = new BitSet(new long[]{0x00000000000E3E18L}); 828324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_stat_in_block278 = new BitSet(new long[]{0x00000000000E3E08L}); 829324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_forStat_in_stat292 = new BitSet(new long[]{0x0000000000000002L}); 830324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_expr_in_stat300 = new BitSet(new long[]{0x0000000000000002L}); 831324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_block_in_stat308 = new BitSet(new long[]{0x0000000000000002L}); 832324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_FOR_in_forStat328 = new BitSet(new long[]{0x0000000000000004L}); 833324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_expr_in_forStat330 = new BitSet(new long[]{0x00000000000E1C00L}); 834324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_expr_in_forStat332 = new BitSet(new long[]{0x00000000000E1C00L}); 835324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_expr_in_forStat334 = new BitSet(new long[]{0x0000000000000200L}); 836324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_block_in_forStat336 = new BitSet(new long[]{0x0000000000000008L}); 837324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_EQEQ_in_expr352 = new BitSet(new long[]{0x0000000000000004L}); 838324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_expr_in_expr354 = new BitSet(new long[]{0x00000000000E1C00L}); 839324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_expr_in_expr356 = new BitSet(new long[]{0x0000000000000008L}); 840324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_LT_in_expr368 = new BitSet(new long[]{0x0000000000000004L}); 841324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_expr_in_expr370 = new BitSet(new long[]{0x00000000000E1C00L}); 842324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_expr_in_expr372 = new BitSet(new long[]{0x0000000000000008L}); 843324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_PLUS_in_expr384 = new BitSet(new long[]{0x0000000000000004L}); 844324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_expr_in_expr386 = new BitSet(new long[]{0x00000000000E1C00L}); 845324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_expr_in_expr388 = new BitSet(new long[]{0x0000000000000008L}); 846324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_EQ_in_expr400 = new BitSet(new long[]{0x0000000000000004L}); 847324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_ID_in_expr402 = new BitSet(new long[]{0x00000000000E1C00L}); 848324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_expr_in_expr406 = new BitSet(new long[]{0x0000000000000008L}); 849324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_atom_in_expr419 = new BitSet(new long[]{0x0000000000000002L}); 850324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_set_in_atom0 = new BitSet(new long[]{0x0000000000000002L}); 851324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 852324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}