1324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// $ANTLR 3.2 Aug 13, 2010 14:19:31 SimpleC.g 2010-08-13 14:29:19 2324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 3324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverimport org.antlr.runtime.*; 4324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverimport java.util.Stack; 5324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverimport java.util.List; 6324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverimport java.util.ArrayList; 7324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 8324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 9324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverimport org.antlr.runtime.tree.*; 10324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 11324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverpublic class SimpleCParser extends Parser { 12324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final String[] tokenNames = new String[] { 13324c4644fee44b9898524c09511bd33c3f12e2dfBen 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", "';'", "'('", "','", "')'", "'{'", "'}'" 14324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver }; 15324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final int LT=18; 16324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final int T__26=26; 17324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final int T__25=25; 18324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final int T__24=24; 19324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final int T__23=23; 20324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final int T__22=22; 21324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final int T__21=21; 22324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final int CHAR=15; 23324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final int FOR=13; 24324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final int FUNC_HDR=6; 25324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final int INT=12; 26324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final int FUNC_DEF=8; 27324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final int INT_TYPE=14; 28324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final int ID=10; 29324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final int EOF=-1; 30324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final int FUNC_DECL=7; 31324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final int ARG_DEF=5; 32324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final int WS=20; 33324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final int BLOCK=9; 34324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final int PLUS=19; 35324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final int VOID=16; 36324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final int EQ=11; 37324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final int VAR_DEF=4; 38324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final int EQEQ=17; 39324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 40324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // delegates 41324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // delegators 42324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 43324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 44324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public SimpleCParser(TokenStream input) { 45324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver this(input, new RecognizerSharedState()); 46324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 47324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public SimpleCParser(TokenStream input, RecognizerSharedState state) { 48324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver super(input, state); 49324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 50324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 51324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 52324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver protected TreeAdaptor adaptor = new CommonTreeAdaptor(); 53324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 54324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public void setTreeAdaptor(TreeAdaptor adaptor) { 55324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver this.adaptor = adaptor; 56324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 57324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public TreeAdaptor getTreeAdaptor() { 58324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver return adaptor; 59324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 60324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 61324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public String[] getTokenNames() { return SimpleCParser.tokenNames; } 62324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public String getGrammarFileName() { return "SimpleC.g"; } 63324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 64324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 65324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static class program_return extends ParserRuleReturnScope { 66324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object tree; 67324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public Object getTree() { return tree; } 68324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver }; 69324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 70324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // $ANTLR start "program" 71324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:16:1: program : ( declaration )+ ; 72324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public final SimpleCParser.program_return program() throws RecognitionException { 73324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver SimpleCParser.program_return retval = new SimpleCParser.program_return(); 74324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.start = input.LT(1); 75324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 76324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object root_0 = null; 77324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 78324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver SimpleCParser.declaration_return declaration1 = null; 79324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 80324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 81324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 82324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver try { 83324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:17:5: ( ( declaration )+ ) 84324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:17:9: ( declaration )+ 85324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 86324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver root_0 = (Object)adaptor.nil(); 87324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 88324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:17:9: ( declaration )+ 89324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver int cnt1=0; 90324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver loop1: 91324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver do { 92324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver int alt1=2; 93324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver int LA1_0 = input.LA(1); 94324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 95324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver if ( (LA1_0==ID||(LA1_0>=INT_TYPE && LA1_0<=VOID)) ) { 96324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver alt1=1; 97324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 98324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 99324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 100324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver switch (alt1) { 101324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case 1 : 102324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:17:9: declaration 103324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 104324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver pushFollow(FOLLOW_declaration_in_program85); 105324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver declaration1=declaration(); 106324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 107324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver state._fsp--; 108324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 109324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver adaptor.addChild(root_0, declaration1.getTree()); 110324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 111324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 112324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 113324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 114324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver default : 115324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver if ( cnt1 >= 1 ) break loop1; 116324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver EarlyExitException eee = 117324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver new EarlyExitException(1, input); 118324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver throw eee; 119324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 120324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver cnt1++; 121324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } while (true); 122324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 123324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 124324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 125324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 126324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.stop = input.LT(-1); 127324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 128324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.tree = (Object)adaptor.rulePostProcessing(root_0); 129324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 130324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 131324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 132324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver catch (RecognitionException re) { 133324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver reportError(re); 134324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver recover(input,re); 135324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); 136324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 137324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 138324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver finally { 139324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 140324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver return retval; 141324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 142324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // $ANTLR end "program" 143324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 144324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static class declaration_return extends ParserRuleReturnScope { 145324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object tree; 146324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public Object getTree() { return tree; } 147324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver }; 148324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 149324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // $ANTLR start "declaration" 150324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:20:1: declaration : ( variable | functionHeader ';' -> ^( FUNC_DECL functionHeader ) | functionHeader block -> ^( FUNC_DEF functionHeader block ) ); 151324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public final SimpleCParser.declaration_return declaration() throws RecognitionException { 152324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver SimpleCParser.declaration_return retval = new SimpleCParser.declaration_return(); 153324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.start = input.LT(1); 154324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 155324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object root_0 = null; 156324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 157324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Token char_literal4=null; 158324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver SimpleCParser.variable_return variable2 = null; 159324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 160324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver SimpleCParser.functionHeader_return functionHeader3 = null; 161324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 162324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver SimpleCParser.functionHeader_return functionHeader5 = null; 163324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 164324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver SimpleCParser.block_return block6 = null; 165324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 166324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 167324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object char_literal4_tree=null; 168324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver RewriteRuleTokenStream stream_21=new RewriteRuleTokenStream(adaptor,"token 21"); 169324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver RewriteRuleSubtreeStream stream_functionHeader=new RewriteRuleSubtreeStream(adaptor,"rule functionHeader"); 170324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver RewriteRuleSubtreeStream stream_block=new RewriteRuleSubtreeStream(adaptor,"rule block"); 171324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver try { 172324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:21:5: ( variable | functionHeader ';' -> ^( FUNC_DECL functionHeader ) | functionHeader block -> ^( FUNC_DEF functionHeader block ) ) 173324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver int alt2=3; 174324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver alt2 = dfa2.predict(input); 175324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver switch (alt2) { 176324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case 1 : 177324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:21:9: variable 178324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 179324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver root_0 = (Object)adaptor.nil(); 180324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 181324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver pushFollow(FOLLOW_variable_in_declaration105); 182324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver variable2=variable(); 183324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 184324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver state._fsp--; 185324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 186324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver adaptor.addChild(root_0, variable2.getTree()); 187324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 188324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 189324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 190324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case 2 : 191324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:22:9: functionHeader ';' 192324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 193324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver pushFollow(FOLLOW_functionHeader_in_declaration115); 194324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver functionHeader3=functionHeader(); 195324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 196324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver state._fsp--; 197324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 198324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver stream_functionHeader.add(functionHeader3.getTree()); 199324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver char_literal4=(Token)match(input,21,FOLLOW_21_in_declaration117); 200324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver stream_21.add(char_literal4); 201324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 202324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 203324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 204324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // AST REWRITE 205324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // elements: functionHeader 206324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // token labels: 207324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // rule labels: retval 208324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // token list labels: 209324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // rule list labels: 210324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // wildcard labels: 211324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.tree = root_0; 212324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); 213324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 214324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver root_0 = (Object)adaptor.nil(); 215324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // 22:28: -> ^( FUNC_DECL functionHeader ) 216324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 217324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:22:31: ^( FUNC_DECL functionHeader ) 218324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 219324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object root_1 = (Object)adaptor.nil(); 220324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(FUNC_DECL, "FUNC_DECL"), root_1); 221324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 222324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver adaptor.addChild(root_1, stream_functionHeader.nextTree()); 223324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 224324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver adaptor.addChild(root_0, root_1); 225324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 226324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 227324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 228324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 229324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.tree = root_0; 230324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 231324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 232324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case 3 : 233324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:23:9: functionHeader block 234324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 235324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver pushFollow(FOLLOW_functionHeader_in_declaration135); 236324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver functionHeader5=functionHeader(); 237324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 238324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver state._fsp--; 239324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 240324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver stream_functionHeader.add(functionHeader5.getTree()); 241324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver pushFollow(FOLLOW_block_in_declaration137); 242324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver block6=block(); 243324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 244324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver state._fsp--; 245324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 246324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver stream_block.add(block6.getTree()); 247324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 248324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 249324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // AST REWRITE 250324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // elements: block, functionHeader 251324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // token labels: 252324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // rule labels: retval 253324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // token list labels: 254324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // rule list labels: 255324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // wildcard labels: 256324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.tree = root_0; 257324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); 258324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 259324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver root_0 = (Object)adaptor.nil(); 260324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // 23:30: -> ^( FUNC_DEF functionHeader block ) 261324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 262324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:23:33: ^( FUNC_DEF functionHeader block ) 263324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 264324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object root_1 = (Object)adaptor.nil(); 265324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(FUNC_DEF, "FUNC_DEF"), root_1); 266324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 267324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver adaptor.addChild(root_1, stream_functionHeader.nextTree()); 268324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver adaptor.addChild(root_1, stream_block.nextTree()); 269324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 270324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver adaptor.addChild(root_0, root_1); 271324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 272324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 273324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 274324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 275324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.tree = root_0; 276324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 277324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 278324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 279324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 280324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.stop = input.LT(-1); 281324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 282324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.tree = (Object)adaptor.rulePostProcessing(root_0); 283324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 284324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 285324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 286324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver catch (RecognitionException re) { 287324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver reportError(re); 288324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver recover(input,re); 289324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); 290324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 291324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 292324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver finally { 293324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 294324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver return retval; 295324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 296324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // $ANTLR end "declaration" 297324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 298324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static class variable_return extends ParserRuleReturnScope { 299324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object tree; 300324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public Object getTree() { return tree; } 301324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver }; 302324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 303324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // $ANTLR start "variable" 304324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:26:1: variable : type declarator ';' -> ^( VAR_DEF type declarator ) ; 305324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public final SimpleCParser.variable_return variable() throws RecognitionException { 306324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver SimpleCParser.variable_return retval = new SimpleCParser.variable_return(); 307324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.start = input.LT(1); 308324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 309324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object root_0 = null; 310324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 311324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Token char_literal9=null; 312324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver SimpleCParser.type_return type7 = null; 313324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 314324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver SimpleCParser.declarator_return declarator8 = null; 315324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 316324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 317324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object char_literal9_tree=null; 318324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver RewriteRuleTokenStream stream_21=new RewriteRuleTokenStream(adaptor,"token 21"); 319324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver RewriteRuleSubtreeStream stream_declarator=new RewriteRuleSubtreeStream(adaptor,"rule declarator"); 320324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver RewriteRuleSubtreeStream stream_type=new RewriteRuleSubtreeStream(adaptor,"rule type"); 321324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver try { 322324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:27:5: ( type declarator ';' -> ^( VAR_DEF type declarator ) ) 323324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:27:9: type declarator ';' 324324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 325324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver pushFollow(FOLLOW_type_in_variable166); 326324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver type7=type(); 327324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 328324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver state._fsp--; 329324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 330324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver stream_type.add(type7.getTree()); 331324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver pushFollow(FOLLOW_declarator_in_variable168); 332324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver declarator8=declarator(); 333324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 334324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver state._fsp--; 335324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 336324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver stream_declarator.add(declarator8.getTree()); 337324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver char_literal9=(Token)match(input,21,FOLLOW_21_in_variable170); 338324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver stream_21.add(char_literal9); 339324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 340324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 341324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 342324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // AST REWRITE 343324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // elements: declarator, type 344324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // token labels: 345324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // rule labels: retval 346324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // token list labels: 347324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // rule list labels: 348324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // wildcard labels: 349324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.tree = root_0; 350324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); 351324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 352324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver root_0 = (Object)adaptor.nil(); 353324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // 27:29: -> ^( VAR_DEF type declarator ) 354324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 355324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:27:32: ^( VAR_DEF type declarator ) 356324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 357324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object root_1 = (Object)adaptor.nil(); 358324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(VAR_DEF, "VAR_DEF"), root_1); 359324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 360324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver adaptor.addChild(root_1, stream_type.nextTree()); 361324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver adaptor.addChild(root_1, stream_declarator.nextTree()); 362324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 363324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver adaptor.addChild(root_0, root_1); 364324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 365324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 366324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 367324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 368324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.tree = root_0; 369324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 370324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 371324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.stop = input.LT(-1); 372324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 373324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.tree = (Object)adaptor.rulePostProcessing(root_0); 374324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 375324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 376324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 377324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver catch (RecognitionException re) { 378324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver reportError(re); 379324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver recover(input,re); 380324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); 381324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 382324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 383324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver finally { 384324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 385324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver return retval; 386324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 387324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // $ANTLR end "variable" 388324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 389324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static class declarator_return extends ParserRuleReturnScope { 390324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object tree; 391324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public Object getTree() { return tree; } 392324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver }; 393324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 394324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // $ANTLR start "declarator" 395324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:30:1: declarator : ID ; 396324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public final SimpleCParser.declarator_return declarator() throws RecognitionException { 397324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver SimpleCParser.declarator_return retval = new SimpleCParser.declarator_return(); 398324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.start = input.LT(1); 399324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 400324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object root_0 = null; 401324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 402324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Token ID10=null; 403324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 404324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object ID10_tree=null; 405324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 406324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver try { 407324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:31:5: ( ID ) 408324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:31:9: ID 409324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 410324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver root_0 = (Object)adaptor.nil(); 411324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 412324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver ID10=(Token)match(input,ID,FOLLOW_ID_in_declarator199); 413324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver ID10_tree = (Object)adaptor.create(ID10); 414324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver adaptor.addChild(root_0, ID10_tree); 415324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 416324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 417324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 418324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 419324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.stop = input.LT(-1); 420324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 421324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.tree = (Object)adaptor.rulePostProcessing(root_0); 422324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 423324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 424324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 425324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver catch (RecognitionException re) { 426324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver reportError(re); 427324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver recover(input,re); 428324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); 429324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 430324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 431324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver finally { 432324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 433324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver return retval; 434324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 435324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // $ANTLR end "declarator" 436324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 437324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static class functionHeader_return extends ParserRuleReturnScope { 438324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object tree; 439324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public Object getTree() { return tree; } 440324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver }; 441324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 442324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // $ANTLR start "functionHeader" 443324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:34:1: functionHeader : type ID '(' ( formalParameter ( ',' formalParameter )* )? ')' -> ^( FUNC_HDR type ID ( formalParameter )+ ) ; 444324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public final SimpleCParser.functionHeader_return functionHeader() throws RecognitionException { 445324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver SimpleCParser.functionHeader_return retval = new SimpleCParser.functionHeader_return(); 446324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.start = input.LT(1); 447324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 448324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object root_0 = null; 449324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 450324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Token ID12=null; 451324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Token char_literal13=null; 452324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Token char_literal15=null; 453324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Token char_literal17=null; 454324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver SimpleCParser.type_return type11 = null; 455324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 456324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver SimpleCParser.formalParameter_return formalParameter14 = null; 457324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 458324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver SimpleCParser.formalParameter_return formalParameter16 = null; 459324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 460324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 461324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object ID12_tree=null; 462324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object char_literal13_tree=null; 463324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object char_literal15_tree=null; 464324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object char_literal17_tree=null; 465324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver RewriteRuleTokenStream stream_ID=new RewriteRuleTokenStream(adaptor,"token ID"); 466324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver RewriteRuleTokenStream stream_22=new RewriteRuleTokenStream(adaptor,"token 22"); 467324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver RewriteRuleTokenStream stream_23=new RewriteRuleTokenStream(adaptor,"token 23"); 468324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver RewriteRuleTokenStream stream_24=new RewriteRuleTokenStream(adaptor,"token 24"); 469324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver RewriteRuleSubtreeStream stream_formalParameter=new RewriteRuleSubtreeStream(adaptor,"rule formalParameter"); 470324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver RewriteRuleSubtreeStream stream_type=new RewriteRuleSubtreeStream(adaptor,"rule type"); 471324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver try { 472324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:35:5: ( type ID '(' ( formalParameter ( ',' formalParameter )* )? ')' -> ^( FUNC_HDR type ID ( formalParameter )+ ) ) 473324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:35:9: type ID '(' ( formalParameter ( ',' formalParameter )* )? ')' 474324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 475324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver pushFollow(FOLLOW_type_in_functionHeader219); 476324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver type11=type(); 477324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 478324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver state._fsp--; 479324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 480324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver stream_type.add(type11.getTree()); 481324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver ID12=(Token)match(input,ID,FOLLOW_ID_in_functionHeader221); 482324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver stream_ID.add(ID12); 483324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 484324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver char_literal13=(Token)match(input,22,FOLLOW_22_in_functionHeader223); 485324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver stream_22.add(char_literal13); 486324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 487324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:35:21: ( formalParameter ( ',' formalParameter )* )? 488324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver int alt4=2; 489324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver int LA4_0 = input.LA(1); 490324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 491324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver if ( (LA4_0==ID||(LA4_0>=INT_TYPE && LA4_0<=VOID)) ) { 492324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver alt4=1; 493324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 494324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver switch (alt4) { 495324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case 1 : 496324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:35:23: formalParameter ( ',' formalParameter )* 497324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 498324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver pushFollow(FOLLOW_formalParameter_in_functionHeader227); 499324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver formalParameter14=formalParameter(); 500324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 501324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver state._fsp--; 502324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 503324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver stream_formalParameter.add(formalParameter14.getTree()); 504324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:35:39: ( ',' formalParameter )* 505324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver loop3: 506324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver do { 507324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver int alt3=2; 508324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver int LA3_0 = input.LA(1); 509324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 510324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver if ( (LA3_0==23) ) { 511324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver alt3=1; 512324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 513324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 514324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 515324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver switch (alt3) { 516324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case 1 : 517324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:35:41: ',' formalParameter 518324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 519324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver char_literal15=(Token)match(input,23,FOLLOW_23_in_functionHeader231); 520324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver stream_23.add(char_literal15); 521324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 522324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver pushFollow(FOLLOW_formalParameter_in_functionHeader233); 523324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver formalParameter16=formalParameter(); 524324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 525324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver state._fsp--; 526324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 527324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver stream_formalParameter.add(formalParameter16.getTree()); 528324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 529324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 530324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 531324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 532324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver default : 533324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break loop3; 534324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 535324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } while (true); 536324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 537324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 538324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 539324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 540324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 541324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 542324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 543324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver char_literal17=(Token)match(input,24,FOLLOW_24_in_functionHeader241); 544324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver stream_24.add(char_literal17); 545324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 546324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 547324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 548324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // AST REWRITE 549324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // elements: ID, formalParameter, type 550324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // token labels: 551324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // rule labels: retval 552324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // token list labels: 553324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // rule list labels: 554324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // wildcard labels: 555324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.tree = root_0; 556324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); 557324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 558324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver root_0 = (Object)adaptor.nil(); 559324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // 36:9: -> ^( FUNC_HDR type ID ( formalParameter )+ ) 560324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 561324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:36:12: ^( FUNC_HDR type ID ( formalParameter )+ ) 562324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 563324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object root_1 = (Object)adaptor.nil(); 564324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(FUNC_HDR, "FUNC_HDR"), root_1); 565324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 566324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver adaptor.addChild(root_1, stream_type.nextTree()); 567324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver adaptor.addChild(root_1, stream_ID.nextNode()); 568324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver if ( !(stream_formalParameter.hasNext()) ) { 569324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver throw new RewriteEarlyExitException(); 570324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 571324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver while ( stream_formalParameter.hasNext() ) { 572324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver adaptor.addChild(root_1, stream_formalParameter.nextTree()); 573324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 574324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 575324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver stream_formalParameter.reset(); 576324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 577324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver adaptor.addChild(root_0, root_1); 578324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 579324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 580324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 581324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 582324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.tree = root_0; 583324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 584324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 585324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.stop = input.LT(-1); 586324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 587324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.tree = (Object)adaptor.rulePostProcessing(root_0); 588324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 589324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 590324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 591324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver catch (RecognitionException re) { 592324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver reportError(re); 593324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver recover(input,re); 594324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); 595324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 596324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 597324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver finally { 598324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 599324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver return retval; 600324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 601324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // $ANTLR end "functionHeader" 602324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 603324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static class formalParameter_return extends ParserRuleReturnScope { 604324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object tree; 605324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public Object getTree() { return tree; } 606324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver }; 607324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 608324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // $ANTLR start "formalParameter" 609324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:39:1: formalParameter : type declarator -> ^( ARG_DEF type declarator ) ; 610324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public final SimpleCParser.formalParameter_return formalParameter() throws RecognitionException { 611324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver SimpleCParser.formalParameter_return retval = new SimpleCParser.formalParameter_return(); 612324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.start = input.LT(1); 613324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 614324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object root_0 = null; 615324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 616324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver SimpleCParser.type_return type18 = null; 617324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 618324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver SimpleCParser.declarator_return declarator19 = null; 619324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 620324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 621324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver RewriteRuleSubtreeStream stream_declarator=new RewriteRuleSubtreeStream(adaptor,"rule declarator"); 622324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver RewriteRuleSubtreeStream stream_type=new RewriteRuleSubtreeStream(adaptor,"rule type"); 623324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver try { 624324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:40:5: ( type declarator -> ^( ARG_DEF type declarator ) ) 625324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:40:9: type declarator 626324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 627324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver pushFollow(FOLLOW_type_in_formalParameter281); 628324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver type18=type(); 629324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 630324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver state._fsp--; 631324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 632324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver stream_type.add(type18.getTree()); 633324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver pushFollow(FOLLOW_declarator_in_formalParameter283); 634324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver declarator19=declarator(); 635324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 636324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver state._fsp--; 637324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 638324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver stream_declarator.add(declarator19.getTree()); 639324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 640324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 641324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // AST REWRITE 642324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // elements: declarator, type 643324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // token labels: 644324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // rule labels: retval 645324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // token list labels: 646324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // rule list labels: 647324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // wildcard labels: 648324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.tree = root_0; 649324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); 650324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 651324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver root_0 = (Object)adaptor.nil(); 652324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // 40:25: -> ^( ARG_DEF type declarator ) 653324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 654324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:40:28: ^( ARG_DEF type declarator ) 655324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 656324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object root_1 = (Object)adaptor.nil(); 657324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(ARG_DEF, "ARG_DEF"), root_1); 658324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 659324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver adaptor.addChild(root_1, stream_type.nextTree()); 660324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver adaptor.addChild(root_1, stream_declarator.nextTree()); 661324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 662324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver adaptor.addChild(root_0, root_1); 663324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 664324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 665324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 666324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 667324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.tree = root_0; 668324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 669324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 670324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.stop = input.LT(-1); 671324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 672324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.tree = (Object)adaptor.rulePostProcessing(root_0); 673324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 674324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 675324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 676324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver catch (RecognitionException re) { 677324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver reportError(re); 678324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver recover(input,re); 679324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); 680324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 681324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 682324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver finally { 683324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 684324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver return retval; 685324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 686324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // $ANTLR end "formalParameter" 687324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 688324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static class type_return extends ParserRuleReturnScope { 689324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object tree; 690324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public Object getTree() { return tree; } 691324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver }; 692324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 693324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // $ANTLR start "type" 694324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:43:1: type : ( 'int' | 'char' | 'void' | ID ); 695324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public final SimpleCParser.type_return type() throws RecognitionException { 696324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver SimpleCParser.type_return retval = new SimpleCParser.type_return(); 697324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.start = input.LT(1); 698324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 699324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object root_0 = null; 700324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 701324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Token set20=null; 702324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 703324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object set20_tree=null; 704324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 705324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver try { 706324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:44:5: ( 'int' | 'char' | 'void' | ID ) 707324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g: 708324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 709324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver root_0 = (Object)adaptor.nil(); 710324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 711324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver set20=(Token)input.LT(1); 712324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver if ( input.LA(1)==ID||(input.LA(1)>=INT_TYPE && input.LA(1)<=VOID) ) { 713324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver input.consume(); 714324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver adaptor.addChild(root_0, (Object)adaptor.create(set20)); 715324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver state.errorRecovery=false; 716324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 717324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver else { 718324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver MismatchedSetException mse = new MismatchedSetException(null,input); 719324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver throw mse; 720324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 721324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 722324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 723324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 724324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 725324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.stop = input.LT(-1); 726324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 727324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.tree = (Object)adaptor.rulePostProcessing(root_0); 728324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 729324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 730324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 731324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver catch (RecognitionException re) { 732324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver reportError(re); 733324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver recover(input,re); 734324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); 735324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 736324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 737324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver finally { 738324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 739324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver return retval; 740324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 741324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // $ANTLR end "type" 742324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 743324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static class block_return extends ParserRuleReturnScope { 744324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object tree; 745324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public Object getTree() { return tree; } 746324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver }; 747324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 748324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // $ANTLR start "block" 749324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:50:1: block : lc= '{' ( variable )* ( stat )* '}' -> ^( BLOCK[$lc,@\"BLOCK\"] ( variable )* ( stat )* ) ; 750324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public final SimpleCParser.block_return block() throws RecognitionException { 751324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver SimpleCParser.block_return retval = new SimpleCParser.block_return(); 752324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.start = input.LT(1); 753324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 754324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object root_0 = null; 755324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 756324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Token lc=null; 757324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Token char_literal23=null; 758324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver SimpleCParser.variable_return variable21 = null; 759324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 760324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver SimpleCParser.stat_return stat22 = null; 761324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 762324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 763324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object lc_tree=null; 764324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object char_literal23_tree=null; 765324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver RewriteRuleTokenStream stream_25=new RewriteRuleTokenStream(adaptor,"token 25"); 766324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver RewriteRuleTokenStream stream_26=new RewriteRuleTokenStream(adaptor,"token 26"); 767324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver RewriteRuleSubtreeStream stream_variable=new RewriteRuleSubtreeStream(adaptor,"rule variable"); 768324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver RewriteRuleSubtreeStream stream_stat=new RewriteRuleSubtreeStream(adaptor,"rule stat"); 769324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver try { 770324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:51:5: (lc= '{' ( variable )* ( stat )* '}' -> ^( BLOCK[$lc,@\"BLOCK\"] ( variable )* ( stat )* ) ) 771324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:51:9: lc= '{' ( variable )* ( stat )* '}' 772324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 773324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver lc=(Token)match(input,25,FOLLOW_25_in_block376); 774324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver stream_25.add(lc); 775324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 776324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:52:13: ( variable )* 777324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver loop5: 778324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver do { 779324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver int alt5=2; 780324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver int LA5_0 = input.LA(1); 781324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 782324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver if ( (LA5_0==ID) ) { 783324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver int LA5_2 = input.LA(2); 784324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 785324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver if ( (LA5_2==ID) ) { 786324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver alt5=1; 787324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 788324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 789324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 790324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 791324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver else if ( ((LA5_0>=INT_TYPE && LA5_0<=VOID)) ) { 792324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver alt5=1; 793324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 794324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 795324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 796324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver switch (alt5) { 797324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case 1 : 798324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:52:13: variable 799324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 800324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver pushFollow(FOLLOW_variable_in_block390); 801324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver variable21=variable(); 802324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 803324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver state._fsp--; 804324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 805324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver stream_variable.add(variable21.getTree()); 806324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 807324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 808324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 809324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 810324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver default : 811324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break loop5; 812324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 813324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } while (true); 814324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 815324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:53:13: ( stat )* 816324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver loop6: 817324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver do { 818324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver int alt6=2; 819324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver int LA6_0 = input.LA(1); 820324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 821324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver if ( (LA6_0==ID||(LA6_0>=INT && LA6_0<=FOR)||(LA6_0>=21 && LA6_0<=22)||LA6_0==25) ) { 822324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver alt6=1; 823324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 824324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 825324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 826324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver switch (alt6) { 827324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case 1 : 828324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:53:13: stat 829324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 830324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver pushFollow(FOLLOW_stat_in_block405); 831324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver stat22=stat(); 832324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 833324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver state._fsp--; 834324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 835324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver stream_stat.add(stat22.getTree()); 836324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 837324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 838324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 839324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 840324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver default : 841324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break loop6; 842324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 843324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } while (true); 844324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 845324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver char_literal23=(Token)match(input,26,FOLLOW_26_in_block416); 846324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver stream_26.add(char_literal23); 847324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 848324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 849324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 850324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // AST REWRITE 851324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // elements: stat, variable 852324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // token labels: 853324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // rule labels: retval 854324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // token list labels: 855324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // rule list labels: 856324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // wildcard labels: 857324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.tree = root_0; 858324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); 859324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 860324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver root_0 = (Object)adaptor.nil(); 861324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // 55:9: -> ^( BLOCK[$lc,@\"BLOCK\"] ( variable )* ( stat )* ) 862324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 863324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:55:12: ^( BLOCK[$lc,@\"BLOCK\"] ( variable )* ( stat )* ) 864324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 865324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object root_1 = (Object)adaptor.nil(); 866324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(BLOCK, lc, @"BLOCK"), root_1); 867324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 868324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:55:34: ( variable )* 869324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver while ( stream_variable.hasNext() ) { 870324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver adaptor.addChild(root_1, stream_variable.nextTree()); 871324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 872324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 873324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver stream_variable.reset(); 874324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:55:44: ( stat )* 875324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver while ( stream_stat.hasNext() ) { 876324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver adaptor.addChild(root_1, stream_stat.nextTree()); 877324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 878324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 879324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver stream_stat.reset(); 880324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 881324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver adaptor.addChild(root_0, root_1); 882324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 883324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 884324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 885324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 886324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.tree = root_0; 887324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 888324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 889324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.stop = input.LT(-1); 890324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 891324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.tree = (Object)adaptor.rulePostProcessing(root_0); 892324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 893324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 894324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 895324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver catch (RecognitionException re) { 896324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver reportError(re); 897324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver recover(input,re); 898324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); 899324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 900324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 901324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver finally { 902324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 903324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver return retval; 904324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 905324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // $ANTLR end "block" 906324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 907324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static class stat_return extends ParserRuleReturnScope { 908324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object tree; 909324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public Object getTree() { return tree; } 910324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver }; 911324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 912324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // $ANTLR start "stat" 913324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:58:1: stat : ( forStat | expr ';' | block | assignStat ';' | ';' ); 914324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public final SimpleCParser.stat_return stat() throws RecognitionException { 915324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver SimpleCParser.stat_return retval = new SimpleCParser.stat_return(); 916324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.start = input.LT(1); 917324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 918324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object root_0 = null; 919324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 920324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Token char_literal26=null; 921324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Token char_literal29=null; 922324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Token char_literal30=null; 923324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver SimpleCParser.forStat_return forStat24 = null; 924324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 925324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver SimpleCParser.expr_return expr25 = null; 926324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 927324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver SimpleCParser.block_return block27 = null; 928324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 929324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver SimpleCParser.assignStat_return assignStat28 = null; 930324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 931324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 932324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object char_literal26_tree=null; 933324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object char_literal29_tree=null; 934324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object char_literal30_tree=null; 935324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 936324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver try { 937324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:58:5: ( forStat | expr ';' | block | assignStat ';' | ';' ) 938324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver int alt7=5; 939324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver switch ( input.LA(1) ) { 940324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case FOR: 941324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 942324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver alt7=1; 943324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 944324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 945324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case ID: 946324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 947324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver int LA7_2 = input.LA(2); 948324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 949324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver if ( (LA7_2==EQ) ) { 950324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver alt7=4; 951324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 952324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver else if ( ((LA7_2>=EQEQ && LA7_2<=PLUS)||LA7_2==21) ) { 953324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver alt7=2; 954324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 955324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver else { 956324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver NoViableAltException nvae = 957324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver new NoViableAltException("", 7, 2, input); 958324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 959324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver throw nvae; 960324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 961324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 962324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 963324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case INT: 964324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case 22: 965324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 966324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver alt7=2; 967324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 968324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 969324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case 25: 970324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 971324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver alt7=3; 972324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 973324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 974324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case 21: 975324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 976324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver alt7=5; 977324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 978324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 979324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver default: 980324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver NoViableAltException nvae = 981324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver new NoViableAltException("", 7, 0, input); 982324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 983324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver throw nvae; 984324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 985324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 986324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver switch (alt7) { 987324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case 1 : 988324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:58:7: forStat 989324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 990324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver root_0 = (Object)adaptor.nil(); 991324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 992324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver pushFollow(FOLLOW_forStat_in_stat449); 993324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver forStat24=forStat(); 994324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 995324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver state._fsp--; 996324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 997324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver adaptor.addChild(root_0, forStat24.getTree()); 998324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 999324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1000324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 1001324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case 2 : 1002324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:59:7: expr ';' 1003324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 1004324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver root_0 = (Object)adaptor.nil(); 1005324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1006324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver pushFollow(FOLLOW_expr_in_stat457); 1007324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver expr25=expr(); 1008324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1009324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver state._fsp--; 1010324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1011324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver adaptor.addChild(root_0, expr25.getTree()); 1012324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver char_literal26=(Token)match(input,21,FOLLOW_21_in_stat459); 1013324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1014324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1015324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 1016324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case 3 : 1017324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:60:7: block 1018324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 1019324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver root_0 = (Object)adaptor.nil(); 1020324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1021324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver pushFollow(FOLLOW_block_in_stat468); 1022324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver block27=block(); 1023324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1024324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver state._fsp--; 1025324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1026324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver adaptor.addChild(root_0, block27.getTree()); 1027324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1028324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1029324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 1030324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case 4 : 1031324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:61:7: assignStat ';' 1032324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 1033324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver root_0 = (Object)adaptor.nil(); 1034324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1035324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver pushFollow(FOLLOW_assignStat_in_stat476); 1036324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver assignStat28=assignStat(); 1037324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1038324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver state._fsp--; 1039324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1040324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver adaptor.addChild(root_0, assignStat28.getTree()); 1041324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver char_literal29=(Token)match(input,21,FOLLOW_21_in_stat478); 1042324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1043324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1044324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 1045324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case 5 : 1046324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:62:7: ';' 1047324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 1048324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver root_0 = (Object)adaptor.nil(); 1049324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1050324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver char_literal30=(Token)match(input,21,FOLLOW_21_in_stat487); 1051324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1052324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1053324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 1054324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1055324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1056324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.stop = input.LT(-1); 1057324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1058324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.tree = (Object)adaptor.rulePostProcessing(root_0); 1059324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 1060324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1061324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1062324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver catch (RecognitionException re) { 1063324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver reportError(re); 1064324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver recover(input,re); 1065324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); 1066324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1067324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1068324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver finally { 1069324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1070324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver return retval; 1071324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1072324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // $ANTLR end "stat" 1073324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1074324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static class forStat_return extends ParserRuleReturnScope { 1075324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object tree; 1076324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public Object getTree() { return tree; } 1077324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver }; 1078324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1079324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // $ANTLR start "forStat" 1080324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:65:1: forStat : 'for' '(' start= assignStat ';' expr ';' next= assignStat ')' block -> ^( 'for' $start expr $next block ) ; 1081324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public final SimpleCParser.forStat_return forStat() throws RecognitionException { 1082324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver SimpleCParser.forStat_return retval = new SimpleCParser.forStat_return(); 1083324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.start = input.LT(1); 1084324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1085324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object root_0 = null; 1086324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1087324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Token string_literal31=null; 1088324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Token char_literal32=null; 1089324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Token char_literal33=null; 1090324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Token char_literal35=null; 1091324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Token char_literal36=null; 1092324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver SimpleCParser.assignStat_return start = null; 1093324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1094324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver SimpleCParser.assignStat_return next = null; 1095324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1096324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver SimpleCParser.expr_return expr34 = null; 1097324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1098324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver SimpleCParser.block_return block37 = null; 1099324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1100324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1101324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object string_literal31_tree=null; 1102324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object char_literal32_tree=null; 1103324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object char_literal33_tree=null; 1104324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object char_literal35_tree=null; 1105324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object char_literal36_tree=null; 1106324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver RewriteRuleTokenStream stream_21=new RewriteRuleTokenStream(adaptor,"token 21"); 1107324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver RewriteRuleTokenStream stream_FOR=new RewriteRuleTokenStream(adaptor,"token FOR"); 1108324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver RewriteRuleTokenStream stream_22=new RewriteRuleTokenStream(adaptor,"token 22"); 1109324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver RewriteRuleTokenStream stream_24=new RewriteRuleTokenStream(adaptor,"token 24"); 1110324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver RewriteRuleSubtreeStream stream_assignStat=new RewriteRuleSubtreeStream(adaptor,"rule assignStat"); 1111324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver RewriteRuleSubtreeStream stream_block=new RewriteRuleSubtreeStream(adaptor,"rule block"); 1112324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver RewriteRuleSubtreeStream stream_expr=new RewriteRuleSubtreeStream(adaptor,"rule expr"); 1113324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver try { 1114324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:66:5: ( 'for' '(' start= assignStat ';' expr ';' next= assignStat ')' block -> ^( 'for' $start expr $next block ) ) 1115324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:66:9: 'for' '(' start= assignStat ';' expr ';' next= assignStat ')' block 1116324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 1117324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver string_literal31=(Token)match(input,FOR,FOLLOW_FOR_in_forStat507); 1118324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver stream_FOR.add(string_literal31); 1119324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1120324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver char_literal32=(Token)match(input,22,FOLLOW_22_in_forStat509); 1121324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver stream_22.add(char_literal32); 1122324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1123324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver pushFollow(FOLLOW_assignStat_in_forStat513); 1124324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver start=assignStat(); 1125324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1126324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver state._fsp--; 1127324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1128324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver stream_assignStat.add(start.getTree()); 1129324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver char_literal33=(Token)match(input,21,FOLLOW_21_in_forStat515); 1130324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver stream_21.add(char_literal33); 1131324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1132324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver pushFollow(FOLLOW_expr_in_forStat517); 1133324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver expr34=expr(); 1134324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1135324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver state._fsp--; 1136324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1137324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver stream_expr.add(expr34.getTree()); 1138324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver char_literal35=(Token)match(input,21,FOLLOW_21_in_forStat519); 1139324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver stream_21.add(char_literal35); 1140324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1141324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver pushFollow(FOLLOW_assignStat_in_forStat523); 1142324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver next=assignStat(); 1143324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1144324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver state._fsp--; 1145324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1146324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver stream_assignStat.add(next.getTree()); 1147324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver char_literal36=(Token)match(input,24,FOLLOW_24_in_forStat525); 1148324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver stream_24.add(char_literal36); 1149324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1150324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver pushFollow(FOLLOW_block_in_forStat527); 1151324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver block37=block(); 1152324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1153324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver state._fsp--; 1154324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1155324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver stream_block.add(block37.getTree()); 1156324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1157324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1158324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // AST REWRITE 1159324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // elements: next, start, FOR, block, expr 1160324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // token labels: 1161324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // rule labels: retval, start, next 1162324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // token list labels: 1163324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // rule list labels: 1164324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // wildcard labels: 1165324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.tree = root_0; 1166324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); 1167324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver RewriteRuleSubtreeStream stream_start=new RewriteRuleSubtreeStream(adaptor,"rule start",start!=null?start.tree:null); 1168324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver RewriteRuleSubtreeStream stream_next=new RewriteRuleSubtreeStream(adaptor,"rule next",next!=null?next.tree:null); 1169324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1170324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver root_0 = (Object)adaptor.nil(); 1171324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // 67:9: -> ^( 'for' $start expr $next block ) 1172324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 1173324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:67:12: ^( 'for' $start expr $next block ) 1174324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 1175324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object root_1 = (Object)adaptor.nil(); 1176324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver root_1 = (Object)adaptor.becomeRoot(stream_FOR.nextNode(), root_1); 1177324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1178324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver adaptor.addChild(root_1, stream_start.nextTree()); 1179324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver adaptor.addChild(root_1, stream_expr.nextTree()); 1180324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver adaptor.addChild(root_1, stream_next.nextTree()); 1181324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver adaptor.addChild(root_1, stream_block.nextTree()); 1182324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1183324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver adaptor.addChild(root_0, root_1); 1184324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1185324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1186324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1187324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1188324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.tree = root_0; 1189324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1190324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1191324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.stop = input.LT(-1); 1192324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1193324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.tree = (Object)adaptor.rulePostProcessing(root_0); 1194324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 1195324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1196324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1197324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver catch (RecognitionException re) { 1198324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver reportError(re); 1199324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver recover(input,re); 1200324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); 1201324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1202324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1203324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver finally { 1204324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1205324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver return retval; 1206324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1207324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // $ANTLR end "forStat" 1208324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1209324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static class assignStat_return extends ParserRuleReturnScope { 1210324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object tree; 1211324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public Object getTree() { return tree; } 1212324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver }; 1213324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1214324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // $ANTLR start "assignStat" 1215324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:70:1: assignStat : ID EQ expr -> ^( EQ ID expr ) ; 1216324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public final SimpleCParser.assignStat_return assignStat() throws RecognitionException { 1217324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver SimpleCParser.assignStat_return retval = new SimpleCParser.assignStat_return(); 1218324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.start = input.LT(1); 1219324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1220324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object root_0 = null; 1221324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1222324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Token ID38=null; 1223324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Token EQ39=null; 1224324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver SimpleCParser.expr_return expr40 = null; 1225324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1226324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1227324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object ID38_tree=null; 1228324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object EQ39_tree=null; 1229324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver RewriteRuleTokenStream stream_EQ=new RewriteRuleTokenStream(adaptor,"token EQ"); 1230324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver RewriteRuleTokenStream stream_ID=new RewriteRuleTokenStream(adaptor,"token ID"); 1231324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver RewriteRuleSubtreeStream stream_expr=new RewriteRuleSubtreeStream(adaptor,"rule expr"); 1232324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver try { 1233324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:71:5: ( ID EQ expr -> ^( EQ ID expr ) ) 1234324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:71:9: ID EQ expr 1235324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 1236324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver ID38=(Token)match(input,ID,FOLLOW_ID_in_assignStat570); 1237324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver stream_ID.add(ID38); 1238324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1239324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver EQ39=(Token)match(input,EQ,FOLLOW_EQ_in_assignStat572); 1240324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver stream_EQ.add(EQ39); 1241324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1242324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver pushFollow(FOLLOW_expr_in_assignStat574); 1243324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver expr40=expr(); 1244324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1245324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver state._fsp--; 1246324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1247324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver stream_expr.add(expr40.getTree()); 1248324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1249324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1250324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // AST REWRITE 1251324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // elements: EQ, ID, expr 1252324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // token labels: 1253324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // rule labels: retval 1254324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // token list labels: 1255324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // rule list labels: 1256324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // wildcard labels: 1257324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.tree = root_0; 1258324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); 1259324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1260324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver root_0 = (Object)adaptor.nil(); 1261324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // 71:20: -> ^( EQ ID expr ) 1262324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 1263324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:71:23: ^( EQ ID expr ) 1264324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 1265324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object root_1 = (Object)adaptor.nil(); 1266324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver root_1 = (Object)adaptor.becomeRoot(stream_EQ.nextNode(), root_1); 1267324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1268324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver adaptor.addChild(root_1, stream_ID.nextNode()); 1269324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver adaptor.addChild(root_1, stream_expr.nextTree()); 1270324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1271324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver adaptor.addChild(root_0, root_1); 1272324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1273324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1274324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1275324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1276324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.tree = root_0; 1277324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1278324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1279324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.stop = input.LT(-1); 1280324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1281324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.tree = (Object)adaptor.rulePostProcessing(root_0); 1282324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 1283324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1284324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1285324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver catch (RecognitionException re) { 1286324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver reportError(re); 1287324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver recover(input,re); 1288324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); 1289324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1290324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1291324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver finally { 1292324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1293324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver return retval; 1294324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1295324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // $ANTLR end "assignStat" 1296324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1297324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static class expr_return extends ParserRuleReturnScope { 1298324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object tree; 1299324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public Object getTree() { return tree; } 1300324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver }; 1301324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1302324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // $ANTLR start "expr" 1303324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:74:1: expr : condExpr ; 1304324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public final SimpleCParser.expr_return expr() throws RecognitionException { 1305324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver SimpleCParser.expr_return retval = new SimpleCParser.expr_return(); 1306324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.start = input.LT(1); 1307324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1308324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object root_0 = null; 1309324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1310324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver SimpleCParser.condExpr_return condExpr41 = null; 1311324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1312324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1313324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1314324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver try { 1315324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:74:5: ( condExpr ) 1316324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:74:9: condExpr 1317324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 1318324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver root_0 = (Object)adaptor.nil(); 1319324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1320324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver pushFollow(FOLLOW_condExpr_in_expr598); 1321324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver condExpr41=condExpr(); 1322324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1323324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver state._fsp--; 1324324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1325324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver adaptor.addChild(root_0, condExpr41.getTree()); 1326324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1327324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1328324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1329324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.stop = input.LT(-1); 1330324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1331324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.tree = (Object)adaptor.rulePostProcessing(root_0); 1332324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 1333324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1334324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1335324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver catch (RecognitionException re) { 1336324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver reportError(re); 1337324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver recover(input,re); 1338324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); 1339324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1340324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1341324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver finally { 1342324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1343324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver return retval; 1344324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1345324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // $ANTLR end "expr" 1346324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1347324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static class condExpr_return extends ParserRuleReturnScope { 1348324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object tree; 1349324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public Object getTree() { return tree; } 1350324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver }; 1351324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1352324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // $ANTLR start "condExpr" 1353324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:77:1: condExpr : aexpr ( ( '==' | '<' ) aexpr )? ; 1354324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public final SimpleCParser.condExpr_return condExpr() throws RecognitionException { 1355324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver SimpleCParser.condExpr_return retval = new SimpleCParser.condExpr_return(); 1356324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.start = input.LT(1); 1357324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1358324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object root_0 = null; 1359324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1360324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Token string_literal43=null; 1361324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Token char_literal44=null; 1362324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver SimpleCParser.aexpr_return aexpr42 = null; 1363324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1364324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver SimpleCParser.aexpr_return aexpr45 = null; 1365324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1366324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1367324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object string_literal43_tree=null; 1368324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object char_literal44_tree=null; 1369324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1370324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver try { 1371324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:78:5: ( aexpr ( ( '==' | '<' ) aexpr )? ) 1372324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:78:9: aexpr ( ( '==' | '<' ) aexpr )? 1373324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 1374324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver root_0 = (Object)adaptor.nil(); 1375324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1376324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver pushFollow(FOLLOW_aexpr_in_condExpr617); 1377324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver aexpr42=aexpr(); 1378324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1379324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver state._fsp--; 1380324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1381324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver adaptor.addChild(root_0, aexpr42.getTree()); 1382324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:78:15: ( ( '==' | '<' ) aexpr )? 1383324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver int alt9=2; 1384324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver int LA9_0 = input.LA(1); 1385324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1386324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver if ( ((LA9_0>=EQEQ && LA9_0<=LT)) ) { 1387324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver alt9=1; 1388324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1389324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver switch (alt9) { 1390324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case 1 : 1391324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:78:17: ( '==' | '<' ) aexpr 1392324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 1393324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:78:17: ( '==' | '<' ) 1394324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver int alt8=2; 1395324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver int LA8_0 = input.LA(1); 1396324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1397324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver if ( (LA8_0==EQEQ) ) { 1398324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver alt8=1; 1399324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1400324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver else if ( (LA8_0==LT) ) { 1401324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver alt8=2; 1402324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1403324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver else { 1404324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver NoViableAltException nvae = 1405324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver new NoViableAltException("", 8, 0, input); 1406324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1407324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver throw nvae; 1408324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1409324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver switch (alt8) { 1410324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case 1 : 1411324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:78:18: '==' 1412324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 1413324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver string_literal43=(Token)match(input,EQEQ,FOLLOW_EQEQ_in_condExpr622); 1414324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver string_literal43_tree = (Object)adaptor.create(string_literal43); 1415324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver root_0 = (Object)adaptor.becomeRoot(string_literal43_tree, root_0); 1416324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1417324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1418324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1419324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 1420324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case 2 : 1421324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:78:26: '<' 1422324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 1423324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver char_literal44=(Token)match(input,LT,FOLLOW_LT_in_condExpr627); 1424324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver char_literal44_tree = (Object)adaptor.create(char_literal44); 1425324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver root_0 = (Object)adaptor.becomeRoot(char_literal44_tree, root_0); 1426324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1427324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1428324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1429324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 1430324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1431324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1432324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1433324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver pushFollow(FOLLOW_aexpr_in_condExpr631); 1434324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver aexpr45=aexpr(); 1435324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1436324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver state._fsp--; 1437324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1438324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver adaptor.addChild(root_0, aexpr45.getTree()); 1439324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1440324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1441324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 1442324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1443324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1444324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1445324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1446324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1447324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1448324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.stop = input.LT(-1); 1449324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1450324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.tree = (Object)adaptor.rulePostProcessing(root_0); 1451324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 1452324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1453324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1454324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver catch (RecognitionException re) { 1455324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver reportError(re); 1456324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver recover(input,re); 1457324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); 1458324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1459324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1460324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver finally { 1461324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1462324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver return retval; 1463324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1464324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // $ANTLR end "condExpr" 1465324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1466324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static class aexpr_return extends ParserRuleReturnScope { 1467324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object tree; 1468324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public Object getTree() { return tree; } 1469324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver }; 1470324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1471324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // $ANTLR start "aexpr" 1472324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:81:1: aexpr : atom ( '+' atom )* ; 1473324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public final SimpleCParser.aexpr_return aexpr() throws RecognitionException { 1474324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver SimpleCParser.aexpr_return retval = new SimpleCParser.aexpr_return(); 1475324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.start = input.LT(1); 1476324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1477324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object root_0 = null; 1478324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1479324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Token char_literal47=null; 1480324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver SimpleCParser.atom_return atom46 = null; 1481324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1482324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver SimpleCParser.atom_return atom48 = null; 1483324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1484324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1485324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object char_literal47_tree=null; 1486324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1487324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver try { 1488324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:82:5: ( atom ( '+' atom )* ) 1489324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:82:9: atom ( '+' atom )* 1490324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 1491324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver root_0 = (Object)adaptor.nil(); 1492324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1493324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver pushFollow(FOLLOW_atom_in_aexpr653); 1494324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver atom46=atom(); 1495324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1496324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver state._fsp--; 1497324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1498324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver adaptor.addChild(root_0, atom46.getTree()); 1499324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:82:14: ( '+' atom )* 1500324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver loop10: 1501324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver do { 1502324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver int alt10=2; 1503324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver int LA10_0 = input.LA(1); 1504324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1505324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver if ( (LA10_0==PLUS) ) { 1506324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver alt10=1; 1507324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1508324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1509324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1510324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver switch (alt10) { 1511324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case 1 : 1512324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:82:16: '+' atom 1513324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 1514324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver char_literal47=(Token)match(input,PLUS,FOLLOW_PLUS_in_aexpr657); 1515324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver char_literal47_tree = (Object)adaptor.create(char_literal47); 1516324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver root_0 = (Object)adaptor.becomeRoot(char_literal47_tree, root_0); 1517324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1518324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver pushFollow(FOLLOW_atom_in_aexpr660); 1519324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver atom48=atom(); 1520324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1521324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver state._fsp--; 1522324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1523324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver adaptor.addChild(root_0, atom48.getTree()); 1524324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1525324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1526324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 1527324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1528324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver default : 1529324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break loop10; 1530324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1531324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } while (true); 1532324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1533324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1534324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1535324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1536324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.stop = input.LT(-1); 1537324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1538324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.tree = (Object)adaptor.rulePostProcessing(root_0); 1539324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 1540324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1541324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1542324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver catch (RecognitionException re) { 1543324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver reportError(re); 1544324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver recover(input,re); 1545324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); 1546324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1547324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1548324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver finally { 1549324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1550324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver return retval; 1551324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1552324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // $ANTLR end "aexpr" 1553324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1554324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static class atom_return extends ParserRuleReturnScope { 1555324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object tree; 1556324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public Object getTree() { return tree; } 1557324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver }; 1558324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1559324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // $ANTLR start "atom" 1560324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:85:1: atom : ( ID | INT | '(' expr ')' -> expr ); 1561324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public final SimpleCParser.atom_return atom() throws RecognitionException { 1562324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver SimpleCParser.atom_return retval = new SimpleCParser.atom_return(); 1563324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.start = input.LT(1); 1564324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1565324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object root_0 = null; 1566324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1567324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Token ID49=null; 1568324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Token INT50=null; 1569324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Token char_literal51=null; 1570324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Token char_literal53=null; 1571324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver SimpleCParser.expr_return expr52 = null; 1572324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1573324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1574324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object ID49_tree=null; 1575324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object INT50_tree=null; 1576324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object char_literal51_tree=null; 1577324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Object char_literal53_tree=null; 1578324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver RewriteRuleTokenStream stream_22=new RewriteRuleTokenStream(adaptor,"token 22"); 1579324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver RewriteRuleTokenStream stream_24=new RewriteRuleTokenStream(adaptor,"token 24"); 1580324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver RewriteRuleSubtreeStream stream_expr=new RewriteRuleSubtreeStream(adaptor,"rule expr"); 1581324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver try { 1582324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:86:5: ( ID | INT | '(' expr ')' -> expr ) 1583324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver int alt11=3; 1584324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver switch ( input.LA(1) ) { 1585324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case ID: 1586324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 1587324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver alt11=1; 1588324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1589324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 1590324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case INT: 1591324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 1592324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver alt11=2; 1593324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1594324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 1595324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case 22: 1596324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 1597324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver alt11=3; 1598324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1599324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 1600324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver default: 1601324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver NoViableAltException nvae = 1602324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver new NoViableAltException("", 11, 0, input); 1603324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1604324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver throw nvae; 1605324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1606324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1607324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver switch (alt11) { 1608324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case 1 : 1609324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:86:7: ID 1610324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 1611324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver root_0 = (Object)adaptor.nil(); 1612324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1613324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver ID49=(Token)match(input,ID,FOLLOW_ID_in_atom680); 1614324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver ID49_tree = (Object)adaptor.create(ID49); 1615324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver adaptor.addChild(root_0, ID49_tree); 1616324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1617324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1618324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1619324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 1620324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case 2 : 1621324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:87:7: INT 1622324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 1623324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver root_0 = (Object)adaptor.nil(); 1624324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1625324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver INT50=(Token)match(input,INT,FOLLOW_INT_in_atom694); 1626324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver INT50_tree = (Object)adaptor.create(INT50); 1627324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver adaptor.addChild(root_0, INT50_tree); 1628324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1629324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1630324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1631324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 1632324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case 3 : 1633324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleC.g:88:7: '(' expr ')' 1634324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 1635324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver char_literal51=(Token)match(input,22,FOLLOW_22_in_atom708); 1636324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver stream_22.add(char_literal51); 1637324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1638324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver pushFollow(FOLLOW_expr_in_atom710); 1639324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver expr52=expr(); 1640324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1641324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver state._fsp--; 1642324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1643324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver stream_expr.add(expr52.getTree()); 1644324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver char_literal53=(Token)match(input,24,FOLLOW_24_in_atom712); 1645324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver stream_24.add(char_literal53); 1646324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1647324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1648324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1649324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // AST REWRITE 1650324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // elements: expr 1651324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // token labels: 1652324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // rule labels: retval 1653324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // token list labels: 1654324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // rule list labels: 1655324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // wildcard labels: 1656324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.tree = root_0; 1657324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null); 1658324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1659324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver root_0 = (Object)adaptor.nil(); 1660324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // 88:20: -> expr 1661324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 1662324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver adaptor.addChild(root_0, stream_expr.nextTree()); 1663324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1664324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1665324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1666324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.tree = root_0; 1667324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1668324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 1669324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1670324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1671324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.stop = input.LT(-1); 1672324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1673324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.tree = (Object)adaptor.rulePostProcessing(root_0); 1674324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 1675324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1676324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1677324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver catch (RecognitionException re) { 1678324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver reportError(re); 1679324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver recover(input,re); 1680324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); 1681324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1682324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1683324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver finally { 1684324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1685324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver return retval; 1686324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1687324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // $ANTLR end "atom" 1688324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1689324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // Delegated rules 1690324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1691324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1692324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver protected DFA2 dfa2 = new DFA2(this); 1693324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver static final String DFA2_eotS = 1694324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver "\15\uffff"; 1695324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver static final String DFA2_eofS = 1696324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver "\15\uffff"; 1697324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver static final String DFA2_minS = 1698324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver "\2\12\1\25\1\12\1\uffff\1\12\1\25\1\27\2\uffff\2\12\1\27"; 1699324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver static final String DFA2_maxS = 1700324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver "\1\20\1\12\1\26\1\30\1\uffff\1\12\1\31\1\30\2\uffff\1\20\1\12\1"+ 1701324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver "\30"; 1702324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver static final String DFA2_acceptS = 1703324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver "\4\uffff\1\1\3\uffff\1\3\1\2\3\uffff"; 1704324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver static final String DFA2_specialS = 1705324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver "\15\uffff}>"; 1706324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver static final String[] DFA2_transitionS = { 1707324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver "\1\1\3\uffff\3\1", 1708324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver "\1\2", 1709324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver "\1\4\1\3", 1710324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver "\1\5\3\uffff\3\5\7\uffff\1\6", 1711324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver "", 1712324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver "\1\7", 1713324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver "\1\11\3\uffff\1\10", 1714324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver "\1\12\1\6", 1715324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver "", 1716324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver "", 1717324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver "\1\13\3\uffff\3\13", 1718324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver "\1\14", 1719324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver "\1\12\1\6" 1720324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver }; 1721324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1722324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver static final short[] DFA2_eot = DFA.unpackEncodedString(DFA2_eotS); 1723324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver static final short[] DFA2_eof = DFA.unpackEncodedString(DFA2_eofS); 1724324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver static final char[] DFA2_min = DFA.unpackEncodedStringToUnsignedChars(DFA2_minS); 1725324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver static final char[] DFA2_max = DFA.unpackEncodedStringToUnsignedChars(DFA2_maxS); 1726324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver static final short[] DFA2_accept = DFA.unpackEncodedString(DFA2_acceptS); 1727324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver static final short[] DFA2_special = DFA.unpackEncodedString(DFA2_specialS); 1728324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver static final short[][] DFA2_transition; 1729324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1730324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver static { 1731324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver int numStates = DFA2_transitionS.length; 1732324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver DFA2_transition = new short[numStates][]; 1733324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver for (int i=0; i<numStates; i++) { 1734324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver DFA2_transition[i] = DFA.unpackEncodedString(DFA2_transitionS[i]); 1735324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1736324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1737324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1738324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver class DFA2 extends DFA { 1739324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1740324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public DFA2(BaseRecognizer recognizer) { 1741324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver this.recognizer = recognizer; 1742324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver this.decisionNumber = 2; 1743324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver this.eot = DFA2_eot; 1744324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver this.eof = DFA2_eof; 1745324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver this.min = DFA2_min; 1746324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver this.max = DFA2_max; 1747324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver this.accept = DFA2_accept; 1748324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver this.special = DFA2_special; 1749324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver this.transition = DFA2_transition; 1750324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1751324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public String getDescription() { 1752324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver return "20:1: declaration : ( variable | functionHeader ';' -> ^( FUNC_DECL functionHeader ) | functionHeader block -> ^( FUNC_DEF functionHeader block ) );"; 1753324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1754324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1755324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1756324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1757324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_declaration_in_program85 = new BitSet(new long[]{0x000000000001C402L}); 1758324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_variable_in_declaration105 = new BitSet(new long[]{0x0000000000000002L}); 1759324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_functionHeader_in_declaration115 = new BitSet(new long[]{0x0000000000200000L}); 1760324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_21_in_declaration117 = new BitSet(new long[]{0x0000000000000002L}); 1761324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_functionHeader_in_declaration135 = new BitSet(new long[]{0x0000000002000000L}); 1762324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_block_in_declaration137 = new BitSet(new long[]{0x0000000000000002L}); 1763324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_type_in_variable166 = new BitSet(new long[]{0x0000000000000400L}); 1764324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_declarator_in_variable168 = new BitSet(new long[]{0x0000000000200000L}); 1765324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_21_in_variable170 = new BitSet(new long[]{0x0000000000000002L}); 1766324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_ID_in_declarator199 = new BitSet(new long[]{0x0000000000000002L}); 1767324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_type_in_functionHeader219 = new BitSet(new long[]{0x0000000000000400L}); 1768324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_ID_in_functionHeader221 = new BitSet(new long[]{0x0000000000400000L}); 1769324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_22_in_functionHeader223 = new BitSet(new long[]{0x000000000101C400L}); 1770324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_formalParameter_in_functionHeader227 = new BitSet(new long[]{0x0000000001800000L}); 1771324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_23_in_functionHeader231 = new BitSet(new long[]{0x000000000001C400L}); 1772324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_formalParameter_in_functionHeader233 = new BitSet(new long[]{0x0000000001800000L}); 1773324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_24_in_functionHeader241 = new BitSet(new long[]{0x0000000000000002L}); 1774324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_type_in_formalParameter281 = new BitSet(new long[]{0x0000000000000400L}); 1775324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_declarator_in_formalParameter283 = new BitSet(new long[]{0x0000000000000002L}); 1776324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_set_in_type0 = new BitSet(new long[]{0x0000000000000002L}); 1777324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_25_in_block376 = new BitSet(new long[]{0x000000000661F400L}); 1778324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_variable_in_block390 = new BitSet(new long[]{0x000000000661F400L}); 1779324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_stat_in_block405 = new BitSet(new long[]{0x0000000006603400L}); 1780324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_26_in_block416 = new BitSet(new long[]{0x0000000000000002L}); 1781324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_forStat_in_stat449 = new BitSet(new long[]{0x0000000000000002L}); 1782324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_expr_in_stat457 = new BitSet(new long[]{0x0000000000200000L}); 1783324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_21_in_stat459 = new BitSet(new long[]{0x0000000000000002L}); 1784324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_block_in_stat468 = new BitSet(new long[]{0x0000000000000002L}); 1785324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_assignStat_in_stat476 = new BitSet(new long[]{0x0000000000200000L}); 1786324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_21_in_stat478 = new BitSet(new long[]{0x0000000000000002L}); 1787324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_21_in_stat487 = new BitSet(new long[]{0x0000000000000002L}); 1788324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_FOR_in_forStat507 = new BitSet(new long[]{0x0000000000400000L}); 1789324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_22_in_forStat509 = new BitSet(new long[]{0x0000000000000400L}); 1790324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_assignStat_in_forStat513 = new BitSet(new long[]{0x0000000000200000L}); 1791324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_21_in_forStat515 = new BitSet(new long[]{0x0000000000401400L}); 1792324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_expr_in_forStat517 = new BitSet(new long[]{0x0000000000200000L}); 1793324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_21_in_forStat519 = new BitSet(new long[]{0x0000000000000400L}); 1794324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_assignStat_in_forStat523 = new BitSet(new long[]{0x0000000001000000L}); 1795324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_24_in_forStat525 = new BitSet(new long[]{0x0000000002000000L}); 1796324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_block_in_forStat527 = new BitSet(new long[]{0x0000000000000002L}); 1797324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_ID_in_assignStat570 = new BitSet(new long[]{0x0000000000000800L}); 1798324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_EQ_in_assignStat572 = new BitSet(new long[]{0x0000000000401400L}); 1799324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_expr_in_assignStat574 = new BitSet(new long[]{0x0000000000000002L}); 1800324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_condExpr_in_expr598 = new BitSet(new long[]{0x0000000000000002L}); 1801324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_aexpr_in_condExpr617 = new BitSet(new long[]{0x0000000000060002L}); 1802324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_EQEQ_in_condExpr622 = new BitSet(new long[]{0x0000000000401400L}); 1803324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_LT_in_condExpr627 = new BitSet(new long[]{0x0000000000401400L}); 1804324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_aexpr_in_condExpr631 = new BitSet(new long[]{0x0000000000000002L}); 1805324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_atom_in_aexpr653 = new BitSet(new long[]{0x0000000000080002L}); 1806324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_PLUS_in_aexpr657 = new BitSet(new long[]{0x0000000000401400L}); 1807324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_atom_in_aexpr660 = new BitSet(new long[]{0x0000000000080002L}); 1808324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_ID_in_atom680 = new BitSet(new long[]{0x0000000000000002L}); 1809324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_INT_in_atom694 = new BitSet(new long[]{0x0000000000000002L}); 1810324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_22_in_atom708 = new BitSet(new long[]{0x0000000000401400L}); 1811324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_expr_in_atom710 = new BitSet(new long[]{0x0000000001000000L}); 1812324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public static final BitSet FOLLOW_24_in_atom712 = new BitSet(new long[]{0x0000000000000002L}); 1813324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1814324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}