00001 package edu.ksu.cis.bandera.jjjc.parser;
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036 import edu.ksu.cis.bandera.jjjc.lexer.*;
00037 import edu.ksu.cis.bandera.jjjc.node.*;
00038 import edu.ksu.cis.bandera.jjjc.analysis.*;
00039 import ca.mcgill.sable.util.*;
00040
00041 import java.io.DataInputStream;
00042 import java.io.BufferedInputStream;
00043 import java.io.IOException;
00044
00045 public class Parser
00046 {
00047 public final Analysis ignoredTokens = new AnalysisAdapter();
00048
00049 protected Node node;
00050
00051 private final Lexer lexer;
00052 private final ListIterator stack = new LinkedList().listIterator();
00053 private int last_shift;
00054 private int last_pos;
00055 private int last_line;
00056 private final TokenIndex converter = new TokenIndex();
00057 private final int[] action = new int[2];
00058
00059 private final static int SHIFT = 0;
00060 private final static int REDUCE = 1;
00061 private final static int ACCEPT = 2;
00062 private final static int ERROR = 3;
00063
00064 private static int[][][] actionTable;
00065
00066
00067
00068
00069
00070
00071
00072
00073
00074
00075
00076
00077
00078
00079
00080
00081
00082
00083
00084
00085
00086
00087
00088
00089
00090
00091
00092
00093
00094
00095
00096
00097
00098
00099
00100
00101
00102
00103
00104
00105
00106
00107
00108
00109
00110
00111
00112
00113
00114
00115
00116
00117
00118
00119
00120
00121
00122
00123
00124
00125
00126
00127
00128
00129
00130
00131
00132
00133
00134
00135
00136
00137
00138
00139
00140
00141
00142
00143
00144
00145
00146
00147
00148
00149
00150
00151
00152
00153
00154
00155
00156
00157
00158
00159
00160
00161
00162
00163
00164
00165
00166
00167
00168
00169
00170
00171
00172
00173
00174
00175
00176
00177
00178
00179
00180
00181
00182
00183
00184
00185
00186
00187
00188
00189
00190
00191
00192
00193
00194
00195
00196
00197
00198
00199
00200
00201
00202
00203
00204
00205
00206
00207
00208
00209
00210
00211
00212
00213
00214
00215
00216
00217
00218
00219
00220
00221
00222
00223
00224
00225
00226
00227
00228
00229
00230
00231
00232
00233
00234
00235
00236
00237
00238
00239
00240
00241
00242
00243
00244
00245
00246
00247
00248
00249
00250
00251
00252
00253
00254
00255
00256
00257
00258
00259
00260
00261
00262
00263
00264
00265
00266
00267
00268
00269
00270
00271
00272
00273
00274
00275
00276
00277
00278
00279
00280
00281
00282
00283
00284
00285
00286
00287
00288
00289
00290
00291
00292
00293
00294
00295
00296
00297
00298
00299
00300
00301
00302
00303
00304
00305
00306
00307
00308
00309
00310
00311
00312
00313
00314
00315
00316
00317
00318
00319
00320
00321
00322
00323
00324
00325
00326
00327
00328
00329
00330
00331
00332
00333
00334
00335
00336
00337
00338
00339
00340
00341
00342
00343
00344
00345
00346
00347
00348
00349
00350
00351
00352
00353
00354
00355
00356
00357
00358
00359
00360
00361
00362
00363
00364
00365
00366
00367
00368
00369
00370
00371
00372
00373
00374
00375
00376
00377
00378
00379
00380
00381
00382
00383
00384
00385
00386
00387
00388
00389
00390
00391
00392
00393
00394
00395
00396
00397
00398
00399
00400
00401
00402
00403
00404
00405
00406
00407
00408
00409
00410
00411
00412
00413
00414
00415
00416
00417
00418
00419
00420
00421
00422
00423
00424
00425
00426
00427
00428
00429
00430
00431
00432
00433
00434
00435
00436
00437
00438
00439
00440
00441
00442
00443
00444
00445
00446
00447
00448
00449
00450
00451
00452
00453
00454
00455
00456
00457
00458
00459
00460
00461
00462
00463
00464
00465
00466
00467
00468
00469
00470
00471
00472
00473
00474
00475
00476
00477
00478
00479
00480
00481
00482
00483
00484
00485
00486
00487
00488
00489
00490
00491
00492
00493
00494
00495
00496
00497
00498
00499
00500
00501
00502
00503
00504
00505
00506
00507
00508
00509
00510
00511
00512
00513
00514
00515
00516
00517
00518
00519
00520
00521
00522
00523
00524
00525
00526
00527
00528
00529
00530
00531
00532
00533
00534
00535
00536
00537
00538
00539
00540
00541
00542
00543
00544
00545
00546
00547
00548
00549
00550
00551
00552
00553
00554
00555
00556
00557
00558
00559
00560
00561
00562
00563
00564
00565
00566
00567
00568
00569
00570
00571
00572
00573
00574
00575
00576
00577
00578
00579
00580
00581
00582
00583
00584
00585
00586
00587
00588
00589
00590
00591
00592
00593
00594
00595
00596
00597
00598
00599
00600
00601
00602
00603
00604
00605
00606
00607
00608
00609
00610
00611
00612
00613
00614
00615
00616
00617
00618
00619
00620
00621
00622
00623
00624
00625
00626
00627
00628
00629
00630
00631
00632
00633
00634
00635
00636
00637
00638
00639
00640
00641
00642
00643
00644
00645
00646
00647
00648
00649
00650
00651
00652
00653
00654
00655
00656
00657
00658
00659
00660
00661
00662
00663
00664
00665
00666
00667
00668
00669
00670
00671
00672
00673
00674
00675
00676
00677
00678
00679
00680
00681
00682
00683
00684
00685
00686
00687
00688
00689
00690
00691
00692
00693
00694
00695
00696
00697
00698
00699
00700
00701
00702
00703
00704
00705
00706
00707
00708
00709
00710
00711
00712
00713
00714
00715
00716
00717
00718
00719
00720
00721
00722
00723
00724
00725
00726
00727
00728
00729
00730
00731
00732
00733
00734
00735
00736
00737
00738
00739
00740 private static int[][][] gotoTable;
00741
00742
00743
00744
00745
00746
00747
00748
00749
00750
00751
00752
00753
00754
00755
00756
00757
00758
00759
00760
00761
00762
00763
00764
00765
00766
00767
00768
00769
00770
00771
00772
00773
00774
00775
00776
00777
00778
00779
00780
00781
00782
00783
00784
00785
00786
00787
00788
00789
00790
00791
00792
00793
00794
00795
00796
00797
00798
00799
00800
00801
00802
00803
00804
00805
00806
00807
00808
00809
00810
00811
00812
00813
00814
00815
00816
00817
00818
00819
00820
00821
00822
00823
00824
00825
00826
00827
00828
00829
00830
00831
00832
00833
00834
00835
00836
00837
00838
00839
00840
00841
00842
00843
00844
00845
00846
00847
00848
00849
00850
00851
00852
00853
00854
00855
00856
00857
00858
00859
00860
00861
00862
00863
00864
00865
00866
00867
00868
00869
00870
00871
00872
00873
00874
00875
00876
00877
00878
00879
00880
00881
00882 private static String[] errorMessages;
00883
00884
00885
00886
00887
00888
00889
00890
00891
00892
00893
00894
00895
00896
00897
00898
00899
00900
00901
00902
00903
00904
00905
00906
00907
00908
00909
00910
00911
00912
00913
00914
00915
00916
00917
00918
00919
00920
00921
00922
00923
00924
00925
00926
00927
00928
00929
00930
00931
00932
00933
00934
00935
00936
00937
00938
00939
00940
00941
00942
00943
00944
00945
00946
00947
00948
00949
00950
00951
00952
00953
00954
00955
00956
00957
00958
00959
00960
00961
00962
00963
00964
00965
00966
00967
00968
00969
00970
00971
00972
00973
00974
00975
00976
00977
00978
00979
00980
00981
00982
00983
00984
00985
00986
00987
00988
00989
00990
00991
00992
00993
00994
00995
00996
00997
00998
00999
01000
01001
01002
01003 private static int[] errors;
01004
01005
01006
01007 public Parser(Lexer lexer)
01008 {
01009 this.lexer = lexer;
01010
01011 if(actionTable == null)
01012 {
01013 try
01014 {
01015 DataInputStream s = new DataInputStream(
01016 new BufferedInputStream(
01017 Parser.class.getResourceAsStream("parser.dat")));
01018
01019
01020 int length = s.readInt();
01021 actionTable = new int[length][][];
01022 for(int i = 0; i < actionTable.length; i++)
01023 {
01024 length = s.readInt();
01025 actionTable[i] = new int[length][3];
01026 for(int j = 0; j < actionTable[i].length; j++)
01027 {
01028 for(int k = 0; k < 3; k++)
01029 {
01030 actionTable[i][j][k] = s.readInt();
01031 }
01032 }
01033 }
01034
01035
01036 length = s.readInt();
01037 gotoTable = new int[length][][];
01038 for(int i = 0; i < gotoTable.length; i++)
01039 {
01040 length = s.readInt();
01041 gotoTable[i] = new int[length][2];
01042 for(int j = 0; j < gotoTable[i].length; j++)
01043 {
01044 for(int k = 0; k < 2; k++)
01045 {
01046 gotoTable[i][j][k] = s.readInt();
01047 }
01048 }
01049 }
01050
01051
01052 length = s.readInt();
01053 errorMessages = new String[length];
01054 for(int i = 0; i < errorMessages.length; i++)
01055 {
01056 length = s.readInt();
01057 StringBuffer buffer = new StringBuffer();
01058
01059 for(int j = 0; j < length; j++)
01060 {
01061 buffer.append(s.readChar());
01062 }
01063 errorMessages[i] = buffer.toString();
01064 }
01065
01066
01067 length = s.readInt();
01068 errors = new int[length];
01069 for(int i = 0; i < errors.length; i++)
01070 {
01071 errors[i] = s.readInt();
01072 }
01073
01074 s.close();
01075 }
01076 catch(Exception e)
01077 {
01078 throw new RuntimeException("Unable to read parser.dat.");
01079 }
01080 }
01081 }
01082 protected void filter() throws ParserException, LexerException, IOException
01083 {
01084 }
01085 private int goTo(int index)
01086 {
01087 int state = state();
01088 int low = 1;
01089 int high = gotoTable[index].length - 1;
01090 int value = gotoTable[index][0][1];
01091
01092 while(low <= high)
01093 {
01094 int middle = (low + high) / 2;
01095
01096 if(state < gotoTable[index][middle][0])
01097 {
01098 high = middle - 1;
01099 }
01100 else if(state > gotoTable[index][middle][0])
01101 {
01102 low = middle + 1;
01103 }
01104 else
01105 {
01106 value = gotoTable[index][middle][1];
01107 break;
01108 }
01109 }
01110
01111 return value;
01112 }
01113 private int index(Switchable token)
01114 {
01115 converter.index = -1;
01116 token.apply(converter);
01117 return converter.index;
01118 }
01119 Node new0()
01120 {
01121 XPTypeDeclaration node3 = null;
01122 XPImportDeclaration node2 = null;
01123 PPackageDeclaration node1 = null;
01124 AOldCompilationUnit node = new AOldCompilationUnit(node1, node2, node3);
01125 return node;
01126 }
01127 Node new1()
01128 {
01129 XPTypeDeclaration node3 = null;
01130 XPImportDeclaration node2 = null;
01131 PPackageDeclaration node1 = (PPackageDeclaration) pop();
01132 AOldCompilationUnit node = new AOldCompilationUnit(node1, node2, node3);
01133 return node;
01134 }
01135 Node new10()
01136 {
01137 XPTypeDeclaration node3 = (XPTypeDeclaration) pop();
01138 XPImportDeclaration node2 = (XPImportDeclaration) pop();
01139 PPackageDeclaration node1 = null;
01140 AOldCompilationUnit node = new AOldCompilationUnit(node1, node2, node3);
01141 return node;
01142 }
01143 Node new100()
01144 {
01145 PThrows node4 = null;
01146 PMethodDeclarator node3 = (PMethodDeclarator) pop();
01147 PType node2 = (PType) pop();
01148 XPModifier node1 = null;
01149 ATypedMethodHeader node = new ATypedMethodHeader(node1, node2, node3, node4);
01150 return node;
01151 }
01152 Node new101()
01153 {
01154 PThrows node4 = null;
01155 PMethodDeclarator node3 = (PMethodDeclarator) pop();
01156 PType node2 = (PType) pop();
01157 XPModifier node1 = (XPModifier) pop();
01158 ATypedMethodHeader node = new ATypedMethodHeader(node1, node2, node3, node4);
01159 return node;
01160 }
01161 Node new102()
01162 {
01163 PThrows node4 = (PThrows) pop();
01164 PMethodDeclarator node3 = (PMethodDeclarator) pop();
01165 PType node2 = (PType) pop();
01166 XPModifier node1 = null;
01167 ATypedMethodHeader node = new ATypedMethodHeader(node1, node2, node3, node4);
01168 return node;
01169 }
01170 Node new103()
01171 {
01172 PThrows node4 = (PThrows) pop();
01173 PMethodDeclarator node3 = (PMethodDeclarator) pop();
01174 PType node2 = (PType) pop();
01175 XPModifier node1 = (XPModifier) pop();
01176 ATypedMethodHeader node = new ATypedMethodHeader(node1, node2, node3, node4);
01177 return node;
01178 }
01179 Node new104()
01180 {
01181 PThrows node4 = null;
01182 PMethodDeclarator node3 = (PMethodDeclarator) pop();
01183 TVoid node2 = (TVoid) pop();
01184 XPModifier node1 = null;
01185 AVoidMethodHeader node = new AVoidMethodHeader(node1, node2, node3, node4);
01186 return node;
01187 }
01188 Node new105()
01189 {
01190 PThrows node4 = null;
01191 PMethodDeclarator node3 = (PMethodDeclarator) pop();
01192 TVoid node2 = (TVoid) pop();
01193 XPModifier node1 = (XPModifier) pop();
01194 AVoidMethodHeader node = new AVoidMethodHeader(node1, node2, node3, node4);
01195 return node;
01196 }
01197 Node new106()
01198 {
01199 PThrows node4 = (PThrows) pop();
01200 PMethodDeclarator node3 = (PMethodDeclarator) pop();
01201 TVoid node2 = (TVoid) pop();
01202 XPModifier node1 = null;
01203 AVoidMethodHeader node = new AVoidMethodHeader(node1, node2, node3, node4);
01204 return node;
01205 }
01206 Node new107()
01207 {
01208 PThrows node4 = (PThrows) pop();
01209 PMethodDeclarator node3 = (PMethodDeclarator) pop();
01210 TVoid node2 = (TVoid) pop();
01211 XPModifier node1 = (XPModifier) pop();
01212 AVoidMethodHeader node = new AVoidMethodHeader(node1, node2, node3, node4);
01213 return node;
01214 }
01215 Node new108()
01216 {
01217 XPDim node5 = null;
01218 TRPar node4 = (TRPar) pop();
01219 PFormalParameterList node3 = null;
01220 TLPar node2 = (TLPar) pop();
01221 TId node1 = (TId) pop();
01222 AOldMethodDeclarator node = new AOldMethodDeclarator(node1, node2, node3, node4, node5);
01223 return node;
01224 }
01225 Node new109()
01226 {
01227 XPDim node5 = null;
01228 TRPar node4 = (TRPar) pop();
01229 PFormalParameterList node3 = (PFormalParameterList) pop();
01230 TLPar node2 = (TLPar) pop();
01231 TId node1 = (TId) pop();
01232 AOldMethodDeclarator node = new AOldMethodDeclarator(node1, node2, node3, node4, node5);
01233 return node;
01234 }
01235 Node new11()
01236 {
01237 XPTypeDeclaration node3 = (XPTypeDeclaration) pop();
01238 XPImportDeclaration node2 = (XPImportDeclaration) pop();
01239 PPackageDeclaration node1 = (PPackageDeclaration) pop();
01240 AOldCompilationUnit node = new AOldCompilationUnit(node1, node2, node3);
01241 return node;
01242 }
01243 Node new110()
01244 {
01245 XPDim node5 = (XPDim) pop();
01246 TRPar node4 = (TRPar) pop();
01247 PFormalParameterList node3 = null;
01248 TLPar node2 = (TLPar) pop();
01249 TId node1 = (TId) pop();
01250 AOldMethodDeclarator node = new AOldMethodDeclarator(node1, node2, node3, node4, node5);
01251 return node;
01252 }
01253 Node new111()
01254 {
01255 XPDim node5 = (XPDim) pop();
01256 TRPar node4 = (TRPar) pop();
01257 PFormalParameterList node3 = (PFormalParameterList) pop();
01258 TLPar node2 = (TLPar) pop();
01259 TId node1 = (TId) pop();
01260 AOldMethodDeclarator node = new AOldMethodDeclarator(node1, node2, node3, node4, node5);
01261 return node;
01262 }
01263 Node new112()
01264 {
01265 PFormalParameter node1 = (PFormalParameter) pop();
01266 AFormalParameterFormalParameterList node = new AFormalParameterFormalParameterList(node1);
01267 return node;
01268 }
01269 Node new113()
01270 {
01271 PFormalParameter node3 = (PFormalParameter) pop();
01272 TComma node2 = (TComma) pop();
01273 PFormalParameterList node1 = (PFormalParameterList) pop();
01274 AFormalParameterListFormalParameterList node = new AFormalParameterListFormalParameterList(node1, node2, node3);
01275 return node;
01276 }
01277 Node new114()
01278 {
01279 PVariableDeclaratorId node3 = (PVariableDeclaratorId) pop();
01280 PType node2 = (PType) pop();
01281 XPModifier node1 = null;
01282 AFormalParameter node = new AFormalParameter(node1, node2, node3);
01283 return node;
01284 }
01285 Node new115()
01286 {
01287 PVariableDeclaratorId node3 = (PVariableDeclaratorId) pop();
01288 PType node2 = (PType) pop();
01289 XPModifier node1 = (XPModifier) pop();
01290 AFormalParameter node = new AFormalParameter(node1, node2, node3);
01291 return node;
01292 }
01293 Node new116()
01294 {
01295 PClassTypeList node2 = (PClassTypeList) pop();
01296 TThrows node1 = (TThrows) pop();
01297 AOldThrows node = new AOldThrows(node1, node2);
01298 return node;
01299 }
01300 Node new117()
01301 {
01302 PClassType node1 = (PClassType) pop();
01303 AClassTypeClassTypeList node = new AClassTypeClassTypeList(node1);
01304 return node;
01305 }
01306 Node new118()
01307 {
01308 PClassType node3 = (PClassType) pop();
01309 TComma node2 = (TComma) pop();
01310 PClassTypeList node1 = (PClassTypeList) pop();
01311 AClassTypeListClassTypeList node = new AClassTypeListClassTypeList(node1, node2, node3);
01312 return node;
01313 }
01314 Node new119()
01315 {
01316 PBlock node1 = (PBlock) pop();
01317 ABlockMethodBody node = new ABlockMethodBody(node1);
01318 return node;
01319 }
01320 Node new12()
01321 {
01322 PExp node1 = (PExp) pop();
01323 AAssertionCompilationUnit node = new AAssertionCompilationUnit(node1);
01324 return node;
01325 }
01326 Node new120()
01327 {
01328 TSemicolon node1 = (TSemicolon) pop();
01329 AEmptyMethodBody node = new AEmptyMethodBody(node1);
01330 return node;
01331 }
01332 Node new121()
01333 {
01334 PBlock node2 = (PBlock) pop();
01335 TStatic node1 = (TStatic) pop();
01336 AStaticInitializer node = new AStaticInitializer(node1, node2);
01337 return node;
01338 }
01339 Node new122()
01340 {
01341 PConstructorBody node4 = (PConstructorBody) pop();
01342 PThrows node3 = null;
01343 PConstructorDeclarator node2 = (PConstructorDeclarator) pop();
01344 XPModifier node1 = null;
01345 AConstructorDeclaration node = new AConstructorDeclaration(node1, node2, node3, node4);
01346 return node;
01347 }
01348 Node new123()
01349 {
01350 PConstructorBody node4 = (PConstructorBody) pop();
01351 PThrows node3 = null;
01352 PConstructorDeclarator node2 = (PConstructorDeclarator) pop();
01353 XPModifier node1 = (XPModifier) pop();
01354 AConstructorDeclaration node = new AConstructorDeclaration(node1, node2, node3, node4);
01355 return node;
01356 }
01357 Node new124()
01358 {
01359 PConstructorBody node4 = (PConstructorBody) pop();
01360 PThrows node3 = (PThrows) pop();
01361 PConstructorDeclarator node2 = (PConstructorDeclarator) pop();
01362 XPModifier node1 = null;
01363 AConstructorDeclaration node = new AConstructorDeclaration(node1, node2, node3, node4);
01364 return node;
01365 }
01366 Node new125()
01367 {
01368 PConstructorBody node4 = (PConstructorBody) pop();
01369 PThrows node3 = (PThrows) pop();
01370 PConstructorDeclarator node2 = (PConstructorDeclarator) pop();
01371 XPModifier node1 = (XPModifier) pop();
01372 AConstructorDeclaration node = new AConstructorDeclaration(node1, node2, node3, node4);
01373 return node;
01374 }
01375 Node new126()
01376 {
01377 TRPar node4 = (TRPar) pop();
01378 PFormalParameterList node3 = null;
01379 TLPar node2 = (TLPar) pop();
01380 TId node1 = (TId) pop();
01381 AOldConstructorDeclarator node = new AOldConstructorDeclarator(node1, node2, node3, node4);
01382 return node;
01383 }
01384 Node new127()
01385 {
01386 TRPar node4 = (TRPar) pop();
01387 PFormalParameterList node3 = (PFormalParameterList) pop();
01388 TLPar node2 = (TLPar) pop();
01389 TId node1 = (TId) pop();
01390 AOldConstructorDeclarator node = new AOldConstructorDeclarator(node1, node2, node3, node4);
01391 return node;
01392 }
01393 Node new128()
01394 {
01395 TRBrace node4 = (TRBrace) pop();
01396 XPBlockedStmt node3 = null;
01397 PConstructorInvocation node2 = null;
01398 TLBrace node1 = (TLBrace) pop();
01399 AConstructorBody node = new AConstructorBody(node1, node2, node3, node4);
01400 return node;
01401 }
01402 Node new129()
01403 {
01404 TRBrace node4 = (TRBrace) pop();
01405 XPBlockedStmt node3 = null;
01406 PConstructorInvocation node2 = (PConstructorInvocation) pop();
01407 TLBrace node1 = (TLBrace) pop();
01408 AConstructorBody node = new AConstructorBody(node1, node2, node3, node4);
01409 return node;
01410 }
01411 Node new13()
01412 {
01413 TSemicolon node3 = (TSemicolon) pop();
01414 PName node2 = (PName) pop();
01415 TPackage node1 = (TPackage) pop();
01416 APackageDeclaration node = new APackageDeclaration(node1, node2, node3);
01417 return node;
01418 }
01419 Node new130()
01420 {
01421 TRBrace node4 = (TRBrace) pop();
01422 XPBlockedStmt node3 = (XPBlockedStmt) pop();
01423 PConstructorInvocation node2 = null;
01424 TLBrace node1 = (TLBrace) pop();
01425 AConstructorBody node = new AConstructorBody(node1, node2, node3, node4);
01426 return node;
01427 }
01428 Node new131()
01429 {
01430 PBlockedStmt node2 = (PBlockedStmt) pop();
01431 XPBlockedStmt node1 = (XPBlockedStmt) pop();
01432 X1PBlockedStmt node = new X1PBlockedStmt(node1, node2);
01433 return node;
01434 }
01435 Node new132()
01436 {
01437 PBlockedStmt node1 = (PBlockedStmt) pop();
01438 X2PBlockedStmt node = new X2PBlockedStmt(node1);
01439 return node;
01440 }
01441 Node new133()
01442 {
01443 TRBrace node4 = (TRBrace) pop();
01444 XPBlockedStmt node3 = (XPBlockedStmt) pop();
01445 PConstructorInvocation node2 = (PConstructorInvocation) pop();
01446 TLBrace node1 = (TLBrace) pop();
01447 AConstructorBody node = new AConstructorBody(node1, node2, node3, node4);
01448 return node;
01449 }
01450 Node new134()
01451 {
01452 TSemicolon node5 = (TSemicolon) pop();
01453 TRPar node4 = (TRPar) pop();
01454 PArgumentList node3 = null;
01455 TLPar node2 = (TLPar) pop();
01456 TThis node1 = (TThis) pop();
01457 AOldThisConstructorInvocation node = new AOldThisConstructorInvocation(node1, node2, node3, node4, node5);
01458 return node;
01459 }
01460 Node new135()
01461 {
01462 TSemicolon node5 = (TSemicolon) pop();
01463 TRPar node4 = (TRPar) pop();
01464 PArgumentList node3 = (PArgumentList) pop();
01465 TLPar node2 = (TLPar) pop();
01466 TThis node1 = (TThis) pop();
01467 AOldThisConstructorInvocation node = new AOldThisConstructorInvocation(node1, node2, node3, node4, node5);
01468 return node;
01469 }
01470 Node new136()
01471 {
01472 TSemicolon node5 = (TSemicolon) pop();
01473 TRPar node4 = (TRPar) pop();
01474 PArgumentList node3 = null;
01475 TLPar node2 = (TLPar) pop();
01476 TSuper node1 = (TSuper) pop();
01477 AOldSuperConstructorInvocation node = new AOldSuperConstructorInvocation(node1, node2, node3, node4, node5);
01478 return node;
01479 }
01480 Node new137()
01481 {
01482 TSemicolon node5 = (TSemicolon) pop();
01483 TRPar node4 = (TRPar) pop();
01484 PArgumentList node3 = (PArgumentList) pop();
01485 TLPar node2 = (TLPar) pop();
01486 TSuper node1 = (TSuper) pop();
01487 AOldSuperConstructorInvocation node = new AOldSuperConstructorInvocation(node1, node2, node3, node4, node5);
01488 return node;
01489 }
01490 Node new138()
01491 {
01492 TSemicolon node7 = (TSemicolon) pop();
01493 TRPar node6 = (TRPar) pop();
01494 PArgumentList node5 = null;
01495 TLPar node4 = (TLPar) pop();
01496 TSuper node3 = (TSuper) pop();
01497 TDot node2 = (TDot) pop();
01498 PPrimary node1 = (PPrimary) pop();
01499 AOldQualifiedConstructorInvocation node = new AOldQualifiedConstructorInvocation(node1, node2, node3, node4, node5, node6, node7);
01500 return node;
01501 }
01502 Node new139()
01503 {
01504 TSemicolon node7 = (TSemicolon) pop();
01505 TRPar node6 = (TRPar) pop();
01506 PArgumentList node5 = (PArgumentList) pop();
01507 TLPar node4 = (TLPar) pop();
01508 TSuper node3 = (TSuper) pop();
01509 TDot node2 = (TDot) pop();
01510 PPrimary node1 = (PPrimary) pop();
01511 AOldQualifiedConstructorInvocation node = new AOldQualifiedConstructorInvocation(node1, node2, node3, node4, node5, node6, node7);
01512 return node;
01513 }
01514 Node new14()
01515 {
01516 POneSingleTypeImportDeclaration node1 = (POneSingleTypeImportDeclaration) pop();
01517 ASingleTypeImportDeclarationImportDeclaration node = new ASingleTypeImportDeclarationImportDeclaration(node1);
01518 return node;
01519 }
01520 Node new140()
01521 {
01522 PInterfaceBody node5 = (PInterfaceBody) pop();
01523 PExtendsInterfaces node4 = null;
01524 TId node3 = (TId) pop();
01525 TInterface node2 = (TInterface) pop();
01526 XPModifier node1 = null;
01527 AOldInterfaceDeclaration node = new AOldInterfaceDeclaration(node1, node2, node3, node4, node5);
01528 return node;
01529 }
01530 Node new141()
01531 {
01532 PInterfaceBody node5 = (PInterfaceBody) pop();
01533 PExtendsInterfaces node4 = null;
01534 TId node3 = (TId) pop();
01535 TInterface node2 = (TInterface) pop();
01536 XPModifier node1 = (XPModifier) pop();
01537 AOldInterfaceDeclaration node = new AOldInterfaceDeclaration(node1, node2, node3, node4, node5);
01538 return node;
01539 }
01540 Node new142()
01541 {
01542 PInterfaceBody node5 = (PInterfaceBody) pop();
01543 PExtendsInterfaces node4 = (PExtendsInterfaces) pop();
01544 TId node3 = (TId) pop();
01545 TInterface node2 = (TInterface) pop();
01546 XPModifier node1 = null;
01547 AOldInterfaceDeclaration node = new AOldInterfaceDeclaration(node1, node2, node3, node4, node5);
01548 return node;
01549 }
01550 Node new143()
01551 {
01552 PInterfaceBody node5 = (PInterfaceBody) pop();
01553 PExtendsInterfaces node4 = (PExtendsInterfaces) pop();
01554 TId node3 = (TId) pop();
01555 TInterface node2 = (TInterface) pop();
01556 XPModifier node1 = (XPModifier) pop();
01557 AOldInterfaceDeclaration node = new AOldInterfaceDeclaration(node1, node2, node3, node4, node5);
01558 return node;
01559 }
01560 Node new144()
01561 {
01562 PInterfaceType node2 = (PInterfaceType) pop();
01563 TExtends node1 = (TExtends) pop();
01564 AExtendsExtendsInterfaces node = new AExtendsExtendsInterfaces(node1, node2);
01565 return node;
01566 }
01567 Node new145()
01568 {
01569 PInterfaceType node3 = (PInterfaceType) pop();
01570 TComma node2 = (TComma) pop();
01571 PExtendsInterfaces node1 = (PExtendsInterfaces) pop();
01572 AExtendsInterfacesExtendsInterfaces node = new AExtendsInterfacesExtendsInterfaces(node1, node2, node3);
01573 return node;
01574 }
01575 Node new146()
01576 {
01577 TRBrace node3 = (TRBrace) pop();
01578 XPInterfaceMemberDeclaration node2 = null;
01579 TLBrace node1 = (TLBrace) pop();
01580 AInterfaceBody node = new AInterfaceBody(node1, node2, node3);
01581 return node;
01582 }
01583 Node new147()
01584 {
01585 TRBrace node3 = (TRBrace) pop();
01586 XPInterfaceMemberDeclaration node2 = (XPInterfaceMemberDeclaration) pop();
01587 TLBrace node1 = (TLBrace) pop();
01588 AInterfaceBody node = new AInterfaceBody(node1, node2, node3);
01589 return node;
01590 }
01591 Node new148()
01592 {
01593 PInterfaceMemberDeclaration node2 = (PInterfaceMemberDeclaration) pop();
01594 XPInterfaceMemberDeclaration node1 = (XPInterfaceMemberDeclaration) pop();
01595 X1PInterfaceMemberDeclaration node = new X1PInterfaceMemberDeclaration(node1, node2);
01596 return node;
01597 }
01598 Node new149()
01599 {
01600 PInterfaceMemberDeclaration node1 = (PInterfaceMemberDeclaration) pop();
01601 X2PInterfaceMemberDeclaration node = new X2PInterfaceMemberDeclaration(node1);
01602 return node;
01603 }
01604 Node new15()
01605 {
01606 POneTypeImportOnDemandDeclaration node1 = (POneTypeImportOnDemandDeclaration) pop();
01607 ATypeImportOnDemandDeclarationImportDeclaration node = new ATypeImportOnDemandDeclarationImportDeclaration(node1);
01608 return node;
01609 }
01610 Node new150()
01611 {
01612 PConstantDeclaration node1 = (PConstantDeclaration) pop();
01613 AOldConstantDeclarationInterfaceMemberDeclaration node = new AOldConstantDeclarationInterfaceMemberDeclaration(node1);
01614 return node;
01615 }
01616 Node new151()
01617 {
01618 PAbstractMethodDeclaration node1 = (PAbstractMethodDeclaration) pop();
01619 AOldAbstractMethodDeclarationInterfaceMemberDeclaration node = new AOldAbstractMethodDeclarationInterfaceMemberDeclaration(node1);
01620 return node;
01621 }
01622 Node new152()
01623 {
01624 PClassDeclaration node1 = (PClassDeclaration) pop();
01625 AClassDeclarationInterfaceMemberDeclaration node = new AClassDeclarationInterfaceMemberDeclaration(node1);
01626 return node;
01627 }
01628 Node new153()
01629 {
01630 PInterfaceDeclaration node1 = (PInterfaceDeclaration) pop();
01631 AInterfaceDeclarationInterfaceMemberDeclaration node = new AInterfaceDeclarationInterfaceMemberDeclaration(node1);
01632 return node;
01633 }
01634 Node new154()
01635 {
01636 PFieldDeclaration node1 = (PFieldDeclaration) pop();
01637 AConstantDeclaration node = new AConstantDeclaration(node1);
01638 return node;
01639 }
01640 Node new155()
01641 {
01642 TSemicolon node2 = (TSemicolon) pop();
01643 PMethodHeader node1 = (PMethodHeader) pop();
01644 AAbstractMethodDeclaration node = new AAbstractMethodDeclaration(node1, node2);
01645 return node;
01646 }
01647 Node new156()
01648 {
01649 TRBrace node4 = (TRBrace) pop();
01650 TComma node3 = null;
01651 PVariableInitializers node2 = null;
01652 TLBrace node1 = (TLBrace) pop();
01653 AOldArrayInitializer node = new AOldArrayInitializer(node1, node2, node3, node4);
01654 return node;
01655 }
01656 Node new157()
01657 {
01658 TRBrace node4 = (TRBrace) pop();
01659 TComma node3 = null;
01660 PVariableInitializers node2 = (PVariableInitializers) pop();
01661 TLBrace node1 = (TLBrace) pop();
01662 AOldArrayInitializer node = new AOldArrayInitializer(node1, node2, node3, node4);
01663 return node;
01664 }
01665 Node new158()
01666 {
01667 TRBrace node4 = (TRBrace) pop();
01668 TComma node3 = (TComma) pop();
01669 PVariableInitializers node2 = null;
01670 TLBrace node1 = (TLBrace) pop();
01671 AOldArrayInitializer node = new AOldArrayInitializer(node1, node2, node3, node4);
01672 return node;
01673 }
01674 Node new159()
01675 {
01676 TRBrace node4 = (TRBrace) pop();
01677 TComma node3 = (TComma) pop();
01678 PVariableInitializers node2 = (PVariableInitializers) pop();
01679 TLBrace node1 = (TLBrace) pop();
01680 AOldArrayInitializer node = new AOldArrayInitializer(node1, node2, node3, node4);
01681 return node;
01682 }
01683 Node new16()
01684 {
01685 TSemicolon node3 = (TSemicolon) pop();
01686 PName node2 = (PName) pop();
01687 TImport node1 = (TImport) pop();
01688 AOneSingleTypeImportDeclaration node = new AOneSingleTypeImportDeclaration(node1, node2, node3);
01689 return node;
01690 }
01691 Node new160()
01692 {
01693 PVariableInitializer node1 = (PVariableInitializer) pop();
01694 AVariableInitializerVariableInitializers node = new AVariableInitializerVariableInitializers(node1);
01695 return node;
01696 }
01697 Node new161()
01698 {
01699 PVariableInitializer node3 = (PVariableInitializer) pop();
01700 TComma node2 = (TComma) pop();
01701 PVariableInitializers node1 = (PVariableInitializers) pop();
01702 AVariableInitializersVariableInitializers node = new AVariableInitializersVariableInitializers(node1, node2, node3);
01703 return node;
01704 }
01705 Node new162()
01706 {
01707 TRBrace node3 = (TRBrace) pop();
01708 XPBlockedStmt node2 = null;
01709 TLBrace node1 = (TLBrace) pop();
01710 ABlock node = new ABlock(node1, node2, node3);
01711 return node;
01712 }
01713 Node new163()
01714 {
01715 TRBrace node3 = (TRBrace) pop();
01716 XPBlockedStmt node2 = (XPBlockedStmt) pop();
01717 TLBrace node1 = (TLBrace) pop();
01718 ABlock node = new ABlock(node1, node2, node3);
01719 return node;
01720 }
01721 Node new164()
01722 {
01723 PLocalVariableDeclarationStmt node1 = (PLocalVariableDeclarationStmt) pop();
01724 ALocalVariableDeclarationStmtBlockedStmt node = new ALocalVariableDeclarationStmtBlockedStmt(node1);
01725 return node;
01726 }
01727 Node new165()
01728 {
01729 PStmt node1 = (PStmt) pop();
01730 AStmtBlockedStmt node = new AStmtBlockedStmt(node1);
01731 return node;
01732 }
01733 Node new166()
01734 {
01735 PClassDeclaration node1 = (PClassDeclaration) pop();
01736 AClassDeclarationBlockedStmt node = new AClassDeclarationBlockedStmt(node1);
01737 return node;
01738 }
01739 Node new167()
01740 {
01741 TSemicolon node2 = (TSemicolon) pop();
01742 PLocalVariableDeclaration node1 = (PLocalVariableDeclaration) pop();
01743 ALocalVariableDeclarationStmt node = new ALocalVariableDeclarationStmt(node1, node2);
01744 return node;
01745 }
01746 Node new168()
01747 {
01748 PVariableDeclarators node3 = (PVariableDeclarators) pop();
01749 PType node2 = (PType) pop();
01750 XPModifier node1 = null;
01751 AOldLocalVariableDeclaration node = new AOldLocalVariableDeclaration(node1, node2, node3);
01752 return node;
01753 }
01754 Node new169()
01755 {
01756 PVariableDeclarators node3 = (PVariableDeclarators) pop();
01757 PType node2 = (PType) pop();
01758 XPModifier node1 = (XPModifier) pop();
01759 AOldLocalVariableDeclaration node = new AOldLocalVariableDeclaration(node1, node2, node3);
01760 return node;
01761 }
01762 Node new17()
01763 {
01764 TSemicolon node5 = (TSemicolon) pop();
01765 TStar node4 = (TStar) pop();
01766 TDot node3 = (TDot) pop();
01767 PName node2 = (PName) pop();
01768 TImport node1 = (TImport) pop();
01769 AOneTypeImportOnDemandDeclaration node = new AOneTypeImportOnDemandDeclaration(node1, node2, node3, node4, node5);
01770 return node;
01771 }
01772 Node new170()
01773 {
01774 PStmtWithoutTrailingSubstmt node1 = (PStmtWithoutTrailingSubstmt) pop();
01775 AStmtWithoutTrailingSubstmtStmt node = new AStmtWithoutTrailingSubstmtStmt(node1);
01776 return node;
01777 }
01778 Node new171()
01779 {
01780 PLabeledStmt node1 = (PLabeledStmt) pop();
01781 ALabeledStmtStmt node = new ALabeledStmtStmt(node1);
01782 return node;
01783 }
01784 Node new172()
01785 {
01786 PIfThenStmt node1 = (PIfThenStmt) pop();
01787 AIfThenStmtStmt node = new AIfThenStmtStmt(node1);
01788 return node;
01789 }
01790 Node new173()
01791 {
01792 PIfThenElseStmt node1 = (PIfThenElseStmt) pop();
01793 AIfThenElseStmtStmt node = new AIfThenElseStmtStmt(node1);
01794 return node;
01795 }
01796 Node new174()
01797 {
01798 POneWhileStmt node1 = (POneWhileStmt) pop();
01799 AWhileStmtStmt node = new AWhileStmtStmt(node1);
01800 return node;
01801 }
01802 Node new175()
01803 {
01804 POneForStmt node1 = (POneForStmt) pop();
01805 AForStmtStmt node = new AForStmtStmt(node1);
01806 return node;
01807 }
01808 Node new176()
01809 {
01810 PStmtWithoutTrailingSubstmt node1 = (PStmtWithoutTrailingSubstmt) pop();
01811 AStmtWithoutTrailingSubstmtStmtNoShortIf node = new AStmtWithoutTrailingSubstmtStmtNoShortIf(node1);
01812 return node;
01813 }
01814 Node new177()
01815 {
01816 PLabeledStmtNoShortIf node1 = (PLabeledStmtNoShortIf) pop();
01817 ALabeledStmtNoShortIfStmtNoShortIf node = new ALabeledStmtNoShortIfStmtNoShortIf(node1);
01818 return node;
01819 }
01820 Node new178()
01821 {
01822 PIfThenElseStmtNoShortIf node1 = (PIfThenElseStmtNoShortIf) pop();
01823 AIfThenElseStmtNoShortIfStmtNoShortIf node = new AIfThenElseStmtNoShortIfStmtNoShortIf(node1);
01824 return node;
01825 }
01826 Node new179()
01827 {
01828 PWhileStmtNoShortIf node1 = (PWhileStmtNoShortIf) pop();
01829 AWhileStmtNoShortIfStmtNoShortIf node = new AWhileStmtNoShortIfStmtNoShortIf(node1);
01830 return node;
01831 }
01832 Node new18()
01833 {
01834 PClassDeclaration node1 = (PClassDeclaration) pop();
01835 AClassTypeDeclaration node = new AClassTypeDeclaration(node1);
01836 return node;
01837 }
01838 Node new180()
01839 {
01840 PForStmtNoShortIf node1 = (PForStmtNoShortIf) pop();
01841 AForStmtNoShortIfStmtNoShortIf node = new AForStmtNoShortIfStmtNoShortIf(node1);
01842 return node;
01843 }
01844 Node new181()
01845 {
01846 PBlock node1 = (PBlock) pop();
01847 ABlockStmtWithoutTrailingSubstmt node = new ABlockStmtWithoutTrailingSubstmt(node1);
01848 return node;
01849 }
01850 Node new182()
01851 {
01852 PSemicolonStmt node1 = (PSemicolonStmt) pop();
01853 AEmptyStmtStmtWithoutTrailingSubstmt node = new AEmptyStmtStmtWithoutTrailingSubstmt(node1);
01854 return node;
01855 }
01856 Node new183()
01857 {
01858 PExpStmt node1 = (PExpStmt) pop();
01859 AExpStmtStmtWithoutTrailingSubstmt node = new AExpStmtStmtWithoutTrailingSubstmt(node1);
01860 return node;
01861 }
01862 Node new184()
01863 {
01864 POneSwitchStmt node1 = (POneSwitchStmt) pop();
01865 ASwitchStmtStmtWithoutTrailingSubstmt node = new ASwitchStmtStmtWithoutTrailingSubstmt(node1);
01866 return node;
01867 }
01868 Node new185()
01869 {
01870 POneDoStmt node1 = (POneDoStmt) pop();
01871 ADoStmtStmtWithoutTrailingSubstmt node = new ADoStmtStmtWithoutTrailingSubstmt(node1);
01872 return node;
01873 }
01874 Node new186()
01875 {
01876 POneBreakStmt node1 = (POneBreakStmt) pop();
01877 ABreakStmtStmtWithoutTrailingSubstmt node = new ABreakStmtStmtWithoutTrailingSubstmt(node1);
01878 return node;
01879 }
01880 Node new187()
01881 {
01882 POneContinueStmt node1 = (POneContinueStmt) pop();
01883 AContinueStmtStmtWithoutTrailingSubstmt node = new AContinueStmtStmtWithoutTrailingSubstmt(node1);
01884 return node;
01885 }
01886 Node new188()
01887 {
01888 POneReturnStmt node1 = (POneReturnStmt) pop();
01889 AReturnStmtStmtWithoutTrailingSubstmt node = new AReturnStmtStmtWithoutTrailingSubstmt(node1);
01890 return node;
01891 }
01892 Node new189()
01893 {
01894 POneSynchronizedStmt node1 = (POneSynchronizedStmt) pop();
01895 ASynchronizedStmtStmtWithoutTrailingSubstmt node = new ASynchronizedStmtStmtWithoutTrailingSubstmt(node1);
01896 return node;
01897 }
01898 Node new19()
01899 {
01900 PInterfaceDeclaration node1 = (PInterfaceDeclaration) pop();
01901 AInterfaceTypeDeclaration node = new AInterfaceTypeDeclaration(node1);
01902 return node;
01903 }
01904 Node new190()
01905 {
01906 POneThrowStmt node1 = (POneThrowStmt) pop();
01907 AThrowStmtStmtWithoutTrailingSubstmt node = new AThrowStmtStmtWithoutTrailingSubstmt(node1);
01908 return node;
01909 }
01910 Node new191()
01911 {
01912 POneTryStmt node1 = (POneTryStmt) pop();
01913 ATryStmtStmtWithoutTrailingSubstmt node = new ATryStmtStmtWithoutTrailingSubstmt(node1);
01914 return node;
01915 }
01916 Node new192()
01917 {
01918 TSemicolon node1 = (TSemicolon) pop();
01919 ASemicolonStmt node = new ASemicolonStmt(node1);
01920 return node;
01921 }
01922 Node new193()
01923 {
01924 PStmt node3 = (PStmt) pop();
01925 TColon node2 = (TColon) pop();
01926 TId node1 = (TId) pop();
01927 ALabeledStmt node = new ALabeledStmt(node1, node2, node3);
01928 return node;
01929 }
01930 Node new194()
01931 {
01932 PStmtNoShortIf node3 = (PStmtNoShortIf) pop();
01933 TColon node2 = (TColon) pop();
01934 TId node1 = (TId) pop();
01935 ALabeledStmtNoShortIf node = new ALabeledStmtNoShortIf(node1, node2, node3);
01936 return node;
01937 }
01938 Node new195()
01939 {
01940 TSemicolon node2 = (TSemicolon) pop();
01941 PStmtExp node1 = (PStmtExp) pop();
01942 AOriginalExpStmt node = new AOriginalExpStmt(node1, node2);
01943 return node;
01944 }
01945 Node new196()
01946 {
01947 PAssignment node1 = (PAssignment) pop();
01948 AAssignmentStmtExp node = new AAssignmentStmtExp(node1);
01949 return node;
01950 }
01951 Node new197()
01952 {
01953 PPreIncrementExp node1 = (PPreIncrementExp) pop();
01954 APreIncrementExpStmtExp node = new APreIncrementExpStmtExp(node1);
01955 return node;
01956 }
01957 Node new198()
01958 {
01959 PPreDecrementExp node1 = (PPreDecrementExp) pop();
01960 APreDecrementExpStmtExp node = new APreDecrementExpStmtExp(node1);
01961 return node;
01962 }
01963 Node new199()
01964 {
01965 PPostIncrementExpr node1 = (PPostIncrementExpr) pop();
01966 APostIncrementExpStmtExp node = new APostIncrementExpStmtExp(node1);
01967 return node;
01968 }
01969 Node new2()
01970 {
01971 XPTypeDeclaration node3 = null;
01972 XPImportDeclaration node2 = (XPImportDeclaration) pop();
01973 PPackageDeclaration node1 = null;
01974 AOldCompilationUnit node = new AOldCompilationUnit(node1, node2, node3);
01975 return node;
01976 }
01977 Node new20()
01978 {
01979 TSemicolon node1 = (TSemicolon) pop();
01980 AEmptyTypeDeclaration node = new AEmptyTypeDeclaration(node1);
01981 return node;
01982 }
01983 Node new200()
01984 {
01985 PPostDecrementExpr node1 = (PPostDecrementExpr) pop();
01986 APostDecrementExpStmtExp node = new APostDecrementExpStmtExp(node1);
01987 return node;
01988 }
01989 Node new201()
01990 {
01991 PMethodInvocation node1 = (PMethodInvocation) pop();
01992 AMethodInvocationStmtExp node = new AMethodInvocationStmtExp(node1);
01993 return node;
01994 }
01995 Node new202()
01996 {
01997 PClassInstanceCreationExp node1 = (PClassInstanceCreationExp) pop();
01998 AClassInstanceCreationExpStmtExp node = new AClassInstanceCreationExpStmtExp(node1);
01999 return node;
02000 }
02001 Node new203()
02002 {
02003 PStmt node5 = (PStmt) pop();
02004 TRPar node4 = (TRPar) pop();
02005 PExp node3 = (PExp) pop();
02006 TLPar node2 = (TLPar) pop();
02007 TIf node1 = (TIf) pop();
02008 AIfThenStmt node = new AIfThenStmt(node1, node2, node3, node4, node5);
02009 return node;
02010 }
02011 Node new204()
02012 {
02013 PStmt node7 = (PStmt) pop();
02014 TElse node6 = (TElse) pop();
02015 PStmtNoShortIf node5 = (PStmtNoShortIf) pop();
02016 TRPar node4 = (TRPar) pop();
02017 PExp node3 = (PExp) pop();
02018 TLPar node2 = (TLPar) pop();
02019 TIf node1 = (TIf) pop();
02020 AIfThenElseStmt node = new AIfThenElseStmt(node1, node2, node3, node4, node5, node6, node7);
02021 return node;
02022 }
02023 Node new205()
02024 {
02025 PStmtNoShortIf node7 = (PStmtNoShortIf) pop();
02026 TElse node6 = (TElse) pop();
02027 PStmtNoShortIf node5 = (PStmtNoShortIf) pop();
02028 TRPar node4 = (TRPar) pop();
02029 PExp node3 = (PExp) pop();
02030 TLPar node2 = (TLPar) pop();
02031 TIf node1 = (TIf) pop();
02032 AIfThenElseStmtNoShortIf node = new AIfThenElseStmtNoShortIf(node1, node2, node3, node4, node5, node6, node7);
02033 return node;
02034 }
02035 Node new206()
02036 {
02037 TRBrace node8 = (TRBrace) pop();
02038 XPSwitchLabel node7 = null;
02039 XPSwitchBlockStmtGroup node6 = null;
02040 TLBrace node5 = (TLBrace) pop();
02041 TRPar node4 = (TRPar) pop();
02042 PExp node3 = (PExp) pop();
02043 TLPar node2 = (TLPar) pop();
02044 TSwitch node1 = (TSwitch) pop();
02045 AOneSwitchStmt node = new AOneSwitchStmt(node1, node2, node3, node4, node5, node6, node7, node8);
02046 return node;
02047 }
02048 Node new207()
02049 {
02050 TRBrace node8 = (TRBrace) pop();
02051 XPSwitchLabel node7 = null;
02052 XPSwitchBlockStmtGroup node6 = (XPSwitchBlockStmtGroup) pop();
02053 TLBrace node5 = (TLBrace) pop();
02054 TRPar node4 = (TRPar) pop();
02055 PExp node3 = (PExp) pop();
02056 TLPar node2 = (TLPar) pop();
02057 TSwitch node1 = (TSwitch) pop();
02058 AOneSwitchStmt node = new AOneSwitchStmt(node1, node2, node3, node4, node5, node6, node7, node8);
02059 return node;
02060 }
02061 Node new208()
02062 {
02063 PSwitchBlockStmtGroup node2 = (PSwitchBlockStmtGroup) pop();
02064 XPSwitchBlockStmtGroup node1 = (XPSwitchBlockStmtGroup) pop();
02065 X1PSwitchBlockStmtGroup node = new X1PSwitchBlockStmtGroup(node1, node2);
02066 return node;
02067 }
02068 Node new209()
02069 {
02070 PSwitchBlockStmtGroup node1 = (PSwitchBlockStmtGroup) pop();
02071 X2PSwitchBlockStmtGroup node = new X2PSwitchBlockStmtGroup(node1);
02072 return node;
02073 }
02074 Node new21()
02075 {
02076 PIntegerLiteral node1 = (PIntegerLiteral) pop();
02077 AIntegerLiteralLiteral node = new AIntegerLiteralLiteral(node1);
02078 return node;
02079 }
02080 Node new210()
02081 {
02082 TRBrace node8 = (TRBrace) pop();
02083 XPSwitchLabel node7 = (XPSwitchLabel) pop();
02084 XPSwitchBlockStmtGroup node6 = null;
02085 TLBrace node5 = (TLBrace) pop();
02086 TRPar node4 = (TRPar) pop();
02087 PExp node3 = (PExp) pop();
02088 TLPar node2 = (TLPar) pop();
02089 TSwitch node1 = (TSwitch) pop();
02090 AOneSwitchStmt node = new AOneSwitchStmt(node1, node2, node3, node4, node5, node6, node7, node8);
02091 return node;
02092 }
02093 Node new211()
02094 {
02095 PSwitchLabel node2 = (PSwitchLabel) pop();
02096 XPSwitchLabel node1 = (XPSwitchLabel) pop();
02097 X1PSwitchLabel node = new X1PSwitchLabel(node1, node2);
02098 return node;
02099 }
02100 Node new212()
02101 {
02102 PSwitchLabel node1 = (PSwitchLabel) pop();
02103 X2PSwitchLabel node = new X2PSwitchLabel(node1);
02104 return node;
02105 }
02106 Node new213()
02107 {
02108 TRBrace node8 = (TRBrace) pop();
02109 XPSwitchLabel node7 = (XPSwitchLabel) pop();
02110 XPSwitchBlockStmtGroup node6 = (XPSwitchBlockStmtGroup) pop();
02111 TLBrace node5 = (TLBrace) pop();
02112 TRPar node4 = (TRPar) pop();
02113 PExp node3 = (PExp) pop();
02114 TLPar node2 = (TLPar) pop();
02115 TSwitch node1 = (TSwitch) pop();
02116 AOneSwitchStmt node = new AOneSwitchStmt(node1, node2, node3, node4, node5, node6, node7, node8);
02117 return node;
02118 }
02119 Node new214()
02120 {
02121 XPBlockedStmt node2 = (XPBlockedStmt) pop();
02122 XPSwitchLabel node1 = (XPSwitchLabel) pop();
02123 ASwitchBlockStmtGroup node = new ASwitchBlockStmtGroup(node1, node2);
02124 return node;
02125 }
02126 Node new215()
02127 {
02128 TColon node3 = (TColon) pop();
02129 PConstantExp node2 = (PConstantExp) pop();
02130 TCase node1 = (TCase) pop();
02131 AOldCaseSwitchLabel node = new AOldCaseSwitchLabel(node1, node2, node3);
02132 return node;
02133 }
02134 Node new216()
02135 {
02136 TColon node2 = (TColon) pop();
02137 TDefault node1 = (TDefault) pop();
02138 ADefaultSwitchLabel node = new ADefaultSwitchLabel(node1, node2);
02139 return node;
02140 }
02141 Node new217()
02142 {
02143 PStmt node5 = (PStmt) pop();
02144 TRPar node4 = (TRPar) pop();
02145 PExp node3 = (PExp) pop();
02146 TLPar node2 = (TLPar) pop();
02147 TWhile node1 = (TWhile) pop();
02148 AOneWhileStmt node = new AOneWhileStmt(node1, node2, node3, node4, node5);
02149 return node;
02150 }
02151 Node new218()
02152 {
02153 PStmtNoShortIf node5 = (PStmtNoShortIf) pop();
02154 TRPar node4 = (TRPar) pop();
02155 PExp node3 = (PExp) pop();
02156 TLPar node2 = (TLPar) pop();
02157 TWhile node1 = (TWhile) pop();
02158 AWhileStmtNoShortIf node = new AWhileStmtNoShortIf(node1, node2, node3, node4, node5);
02159 return node;
02160 }
02161 Node new219()
02162 {
02163 TSemicolon node7 = (TSemicolon) pop();
02164 TRPar node6 = (TRPar) pop();
02165 PExp node5 = (PExp) pop();
02166 TLPar node4 = (TLPar) pop();
02167 TWhile node3 = (TWhile) pop();
02168 PStmt node2 = (PStmt) pop();
02169 TDo node1 = (TDo) pop();
02170 AOneDoStmt node = new AOneDoStmt(node1, node2, node3, node4, node5, node6, node7);
02171 return node;
02172 }
02173 Node new22()
02174 {
02175 TFloatingPointLiteral node1 = (TFloatingPointLiteral) pop();
02176 AFloatingPointLiteralLiteral node = new AFloatingPointLiteralLiteral(node1);
02177 return node;
02178 }
02179 Node new220()
02180 {
02181 PStmt node9 = (PStmt) pop();
02182 TRPar node8 = (TRPar) pop();
02183 PForUpdate node7 = null;
02184 TSemicolon node6 = (TSemicolon) pop();
02185 PExp node5 = null;
02186 TSemicolon node4 = (TSemicolon) pop();
02187 PForInit node3 = null;
02188 TLPar node2 = (TLPar) pop();
02189 TFor node1 = (TFor) pop();
02190 AOneForStmt node = new AOneForStmt(node1, node2, node3, node4, node5, node6, node7, node8, node9);
02191 return node;
02192 }
02193 Node new221()
02194 {
02195 PStmt node9 = (PStmt) pop();
02196 TRPar node8 = (TRPar) pop();
02197 PForUpdate node7 = null;
02198 TSemicolon node6 = (TSemicolon) pop();
02199 PExp node5 = null;
02200 TSemicolon node4 = (TSemicolon) pop();
02201 PForInit node3 = (PForInit) pop();
02202 TLPar node2 = (TLPar) pop();
02203 TFor node1 = (TFor) pop();
02204 AOneForStmt node = new AOneForStmt(node1, node2, node3, node4, node5, node6, node7, node8, node9);
02205 return node;
02206 }
02207 Node new222()
02208 {
02209 PStmt node9 = (PStmt) pop();
02210 TRPar node8 = (TRPar) pop();
02211 PForUpdate node7 = null;
02212 TSemicolon node6 = (TSemicolon) pop();
02213 PExp node5 = (PExp) pop();
02214 TSemicolon node4 = (TSemicolon) pop();
02215 PForInit node3 = null;
02216 TLPar node2 = (TLPar) pop();
02217 TFor node1 = (TFor) pop();
02218 AOneForStmt node = new AOneForStmt(node1, node2, node3, node4, node5, node6, node7, node8, node9);
02219 return node;
02220 }
02221 Node new223()
02222 {
02223 PStmt node9 = (PStmt) pop();
02224 TRPar node8 = (TRPar) pop();
02225 PForUpdate node7 = null;
02226 TSemicolon node6 = (TSemicolon) pop();
02227 PExp node5 = (PExp) pop();
02228 TSemicolon node4 = (TSemicolon) pop();
02229 PForInit node3 = (PForInit) pop();
02230 TLPar node2 = (TLPar) pop();
02231 TFor node1 = (TFor) pop();
02232 AOneForStmt node = new AOneForStmt(node1, node2, node3, node4, node5, node6, node7, node8, node9);
02233 return node;
02234 }
02235 Node new224()
02236 {
02237 PStmt node9 = (PStmt) pop();
02238 TRPar node8 = (TRPar) pop();
02239 PForUpdate node7 = (PForUpdate) pop();
02240 TSemicolon node6 = (TSemicolon) pop();
02241 PExp node5 = null;
02242 TSemicolon node4 = (TSemicolon) pop();
02243 PForInit node3 = null;
02244 TLPar node2 = (TLPar) pop();
02245 TFor node1 = (TFor) pop();
02246 AOneForStmt node = new AOneForStmt(node1, node2, node3, node4, node5, node6, node7, node8, node9);
02247 return node;
02248 }
02249 Node new225()
02250 {
02251 PStmt node9 = (PStmt) pop();
02252 TRPar node8 = (TRPar) pop();
02253 PForUpdate node7 = (PForUpdate) pop();
02254 TSemicolon node6 = (TSemicolon) pop();
02255 PExp node5 = null;
02256 TSemicolon node4 = (TSemicolon) pop();
02257 PForInit node3 = (PForInit) pop();
02258 TLPar node2 = (TLPar) pop();
02259 TFor node1 = (TFor) pop();
02260 AOneForStmt node = new AOneForStmt(node1, node2, node3, node4, node5, node6, node7, node8, node9);
02261 return node;
02262 }
02263 Node new226()
02264 {
02265 PStmt node9 = (PStmt) pop();
02266 TRPar node8 = (TRPar) pop();
02267 PForUpdate node7 = (PForUpdate) pop();
02268 TSemicolon node6 = (TSemicolon) pop();
02269 PExp node5 = (PExp) pop();
02270 TSemicolon node4 = (TSemicolon) pop();
02271 PForInit node3 = null;
02272 TLPar node2 = (TLPar) pop();
02273 TFor node1 = (TFor) pop();
02274 AOneForStmt node = new AOneForStmt(node1, node2, node3, node4, node5, node6, node7, node8, node9);
02275 return node;
02276 }
02277 Node new227()
02278 {
02279 PStmt node9 = (PStmt) pop();
02280 TRPar node8 = (TRPar) pop();
02281 PForUpdate node7 = (PForUpdate) pop();
02282 TSemicolon node6 = (TSemicolon) pop();
02283 PExp node5 = (PExp) pop();
02284 TSemicolon node4 = (TSemicolon) pop();
02285 PForInit node3 = (PForInit) pop();
02286 TLPar node2 = (TLPar) pop();
02287 TFor node1 = (TFor) pop();
02288 AOneForStmt node = new AOneForStmt(node1, node2, node3, node4, node5, node6, node7, node8, node9);
02289 return node;
02290 }
02291 Node new228()
02292 {
02293 PStmtNoShortIf node9 = (PStmtNoShortIf) pop();
02294 TRPar node8 = (TRPar) pop();
02295 PForUpdate node7 = null;
02296 TSemicolon node6 = (TSemicolon) pop();
02297 PExp node5 = null;
02298 TSemicolon node4 = (TSemicolon) pop();
02299 PForInit node3 = null;
02300 TLPar node2 = (TLPar) pop();
02301 TFor node1 = (TFor) pop();
02302 AForStmtNoShortIf node = new AForStmtNoShortIf(node1, node2, node3, node4, node5, node6, node7, node8, node9);
02303 return node;
02304 }
02305 Node new229()
02306 {
02307 PStmtNoShortIf node9 = (PStmtNoShortIf) pop();
02308 TRPar node8 = (TRPar) pop();
02309 PForUpdate node7 = null;
02310 TSemicolon node6 = (TSemicolon) pop();
02311 PExp node5 = null;
02312 TSemicolon node4 = (TSemicolon) pop();
02313 PForInit node3 = (PForInit) pop();
02314 TLPar node2 = (TLPar) pop();
02315 TFor node1 = (TFor) pop();
02316 AForStmtNoShortIf node = new AForStmtNoShortIf(node1, node2, node3, node4, node5, node6, node7, node8, node9);
02317 return node;
02318 }
02319 Node new23()
02320 {
02321 PBooleanLiteral node1 = (PBooleanLiteral) pop();
02322 ABooleanLiteralLiteral node = new ABooleanLiteralLiteral(node1);
02323 return node;
02324 }
02325 Node new230()
02326 {
02327 PStmtNoShortIf node9 = (PStmtNoShortIf) pop();
02328 TRPar node8 = (TRPar) pop();
02329 PForUpdate node7 = null;
02330 TSemicolon node6 = (TSemicolon) pop();
02331 PExp node5 = (PExp) pop();
02332 TSemicolon node4 = (TSemicolon) pop();
02333 PForInit node3 = null;
02334 TLPar node2 = (TLPar) pop();
02335 TFor node1 = (TFor) pop();
02336 AForStmtNoShortIf node = new AForStmtNoShortIf(node1, node2, node3, node4, node5, node6, node7, node8, node9);
02337 return node;
02338 }
02339 Node new231()
02340 {
02341 PStmtNoShortIf node9 = (PStmtNoShortIf) pop();
02342 TRPar node8 = (TRPar) pop();
02343 PForUpdate node7 = null;
02344 TSemicolon node6 = (TSemicolon) pop();
02345 PExp node5 = (PExp) pop();
02346 TSemicolon node4 = (TSemicolon) pop();
02347 PForInit node3 = (PForInit) pop();
02348 TLPar node2 = (TLPar) pop();
02349 TFor node1 = (TFor) pop();
02350 AForStmtNoShortIf node = new AForStmtNoShortIf(node1, node2, node3, node4, node5, node6, node7, node8, node9);
02351 return node;
02352 }
02353 Node new232()
02354 {
02355 PStmtNoShortIf node9 = (PStmtNoShortIf) pop();
02356 TRPar node8 = (TRPar) pop();
02357 PForUpdate node7 = (PForUpdate) pop();
02358 TSemicolon node6 = (TSemicolon) pop();
02359 PExp node5 = null;
02360 TSemicolon node4 = (TSemicolon) pop();
02361 PForInit node3 = null;
02362 TLPar node2 = (TLPar) pop();
02363 TFor node1 = (TFor) pop();
02364 AForStmtNoShortIf node = new AForStmtNoShortIf(node1, node2, node3, node4, node5, node6, node7, node8, node9);
02365 return node;
02366 }
02367 Node new233()
02368 {
02369 PStmtNoShortIf node9 = (PStmtNoShortIf) pop();
02370 TRPar node8 = (TRPar) pop();
02371 PForUpdate node7 = (PForUpdate) pop();
02372 TSemicolon node6 = (TSemicolon) pop();
02373 PExp node5 = null;
02374 TSemicolon node4 = (TSemicolon) pop();
02375 PForInit node3 = (PForInit) pop();
02376 TLPar node2 = (TLPar) pop();
02377 TFor node1 = (TFor) pop();
02378 AForStmtNoShortIf node = new AForStmtNoShortIf(node1, node2, node3, node4, node5, node6, node7, node8, node9);
02379 return node;
02380 }
02381 Node new234()
02382 {
02383 PStmtNoShortIf node9 = (PStmtNoShortIf) pop();
02384 TRPar node8 = (TRPar) pop();
02385 PForUpdate node7 = (PForUpdate) pop();
02386 TSemicolon node6 = (TSemicolon) pop();
02387 PExp node5 = (PExp) pop();
02388 TSemicolon node4 = (TSemicolon) pop();
02389 PForInit node3 = null;
02390 TLPar node2 = (TLPar) pop();
02391 TFor node1 = (TFor) pop();
02392 AForStmtNoShortIf node = new AForStmtNoShortIf(node1, node2, node3, node4, node5, node6, node7, node8, node9);
02393 return node;
02394 }
02395 Node new235()
02396 {
02397 PStmtNoShortIf node9 = (PStmtNoShortIf) pop();
02398 TRPar node8 = (TRPar) pop();
02399 PForUpdate node7 = (PForUpdate) pop();
02400 TSemicolon node6 = (TSemicolon) pop();
02401 PExp node5 = (PExp) pop();
02402 TSemicolon node4 = (TSemicolon) pop();
02403 PForInit node3 = (PForInit) pop();
02404 TLPar node2 = (TLPar) pop();
02405 TFor node1 = (TFor) pop();
02406 AForStmtNoShortIf node = new AForStmtNoShortIf(node1, node2, node3, node4, node5, node6, node7, node8, node9);
02407 return node;
02408 }
02409 Node new236()
02410 {
02411 PStmtExpList node1 = (PStmtExpList) pop();
02412 AStmtExpListForInit node = new AStmtExpListForInit(node1);
02413 return node;
02414 }
02415 Node new237()
02416 {
02417 PLocalVariableDeclaration node1 = (PLocalVariableDeclaration) pop();
02418 ALocalVariableDeclarationForInit node = new ALocalVariableDeclarationForInit(node1);
02419 return node;
02420 }
02421 Node new238()
02422 {
02423 PStmtExpList node1 = (PStmtExpList) pop();
02424 AForUpdate node = new AForUpdate(node1);
02425 return node;
02426 }
02427 Node new239()
02428 {
02429 PStmtExp node1 = (PStmtExp) pop();
02430 AStmtExpStmtExpList node = new AStmtExpStmtExpList(node1);
02431 return node;
02432 }
02433 Node new24()
02434 {
02435 TCharacterLiteral node1 = (TCharacterLiteral) pop();
02436 ACharacterLiteralLiteral node = new ACharacterLiteralLiteral(node1);
02437 return node;
02438 }
02439 Node new240()
02440 {
02441 PStmtExp node3 = (PStmtExp) pop();
02442 TComma node2 = (TComma) pop();
02443 PStmtExpList node1 = (PStmtExpList) pop();
02444 AStmtExpListStmtExpList node = new AStmtExpListStmtExpList(node1, node2, node3);
02445 return node;
02446 }
02447 Node new241()
02448 {
02449 TSemicolon node3 = (TSemicolon) pop();
02450 TId node2 = null;
02451 TBreak node1 = (TBreak) pop();
02452 AOneBreakStmt node = new AOneBreakStmt(node1, node2, node3);
02453 return node;
02454 }
02455 Node new242()
02456 {
02457 TSemicolon node3 = (TSemicolon) pop();
02458 TId node2 = (TId) pop();
02459 TBreak node1 = (TBreak) pop();
02460 AOneBreakStmt node = new AOneBreakStmt(node1, node2, node3);
02461 return node;
02462 }
02463 Node new243()
02464 {
02465 TSemicolon node3 = (TSemicolon) pop();
02466 TId node2 = null;
02467 TContinue node1 = (TContinue) pop();
02468 AOneContinueStmt node = new AOneContinueStmt(node1, node2, node3);
02469 return node;
02470 }
02471 Node new244()
02472 {
02473 TSemicolon node3 = (TSemicolon) pop();
02474 TId node2 = (TId) pop();
02475 TContinue node1 = (TContinue) pop();
02476 AOneContinueStmt node = new AOneContinueStmt(node1, node2, node3);
02477 return node;
02478 }
02479 Node new245()
02480 {
02481 TSemicolon node3 = (TSemicolon) pop();
02482 PExp node2 = null;
02483 TReturn node1 = (TReturn) pop();
02484 AOneReturnStmt node = new AOneReturnStmt(node1, node2, node3);
02485 return node;
02486 }
02487 Node new246()
02488 {
02489 TSemicolon node3 = (TSemicolon) pop();
02490 PExp node2 = (PExp) pop();
02491 TReturn node1 = (TReturn) pop();
02492 AOneReturnStmt node = new AOneReturnStmt(node1, node2, node3);
02493 return node;
02494 }
02495 Node new247()
02496 {
02497 TSemicolon node3 = (TSemicolon) pop();
02498 PExp node2 = (PExp) pop();
02499 TThrow node1 = (TThrow) pop();
02500 AOneThrowStmt node = new AOneThrowStmt(node1, node2, node3);
02501 return node;
02502 }
02503 Node new248()
02504 {
02505 PBlock node5 = (PBlock) pop();
02506 TRPar node4 = (TRPar) pop();
02507 PExp node3 = (PExp) pop();
02508 TLPar node2 = (TLPar) pop();
02509 TSynchronized node1 = (TSynchronized) pop();
02510 AOneSynchronizedStmt node = new AOneSynchronizedStmt(node1, node2, node3, node4, node5);
02511 return node;
02512 }
02513 Node new249()
02514 {
02515 XPCatchClause node3 = (XPCatchClause) pop();
02516 PBlock node2 = (PBlock) pop();
02517 TTry node1 = (TTry) pop();
02518 ATryOneTryStmt node = new ATryOneTryStmt(node1, node2, node3);
02519 return node;
02520 }
02521 Node new25()
02522 {
02523 TStringLiteral node1 = (TStringLiteral) pop();
02524 AStringLiteralLiteral node = new AStringLiteralLiteral(node1);
02525 return node;
02526 }
02527 Node new250()
02528 {
02529 PCatchClause node2 = (PCatchClause) pop();
02530 XPCatchClause node1 = (XPCatchClause) pop();
02531 X1PCatchClause node = new X1PCatchClause(node1, node2);
02532 return node;
02533 }
02534 Node new251()
02535 {
02536 PCatchClause node1 = (PCatchClause) pop();
02537 X2PCatchClause node = new X2PCatchClause(node1);
02538 return node;
02539 }
02540 Node new252()
02541 {
02542 PFinally node4 = (PFinally) pop();
02543 XPCatchClause node3 = null;
02544 PBlock node2 = (PBlock) pop();
02545 TTry node1 = (TTry) pop();
02546 AFinallyOneTryStmt node = new AFinallyOneTryStmt(node1, node2, node3, node4);
02547 return node;
02548 }
02549 Node new253()
02550 {
02551 PFinally node4 = (PFinally) pop();
02552 XPCatchClause node3 = (XPCatchClause) pop();
02553 PBlock node2 = (PBlock) pop();
02554 TTry node1 = (TTry) pop();
02555 AFinallyOneTryStmt node = new AFinallyOneTryStmt(node1, node2, node3, node4);
02556 return node;
02557 }
02558 Node new254()
02559 {
02560 PBlock node5 = (PBlock) pop();
02561 TRPar node4 = (TRPar) pop();
02562 PFormalParameter node3 = (PFormalParameter) pop();
02563 TLPar node2 = (TLPar) pop();
02564 TCatch node1 = (TCatch) pop();
02565 ACatchClause node = new ACatchClause(node1, node2, node3, node4, node5);
02566 return node;
02567 }
02568 Node new255()
02569 {
02570 PBlock node2 = (PBlock) pop();
02571 TFinally node1 = (TFinally) pop();
02572 AFinally node = new AFinally(node1, node2);
02573 return node;
02574 }
02575 Node new256()
02576 {
02577 PPrimaryNoNewArray node1 = (PPrimaryNoNewArray) pop();
02578 APrimaryNoNewArrayPrimary node = new APrimaryNoNewArrayPrimary(node1);
02579 return node;
02580 }
02581 Node new257()
02582 {
02583 PArrayCreationExp node1 = (PArrayCreationExp) pop();
02584 AArrayCreationExpPrimary node = new AArrayCreationExpPrimary(node1);
02585 return node;
02586 }
02587 Node new258()
02588 {
02589 PLiteral node1 = (PLiteral) pop();
02590 ALiteralPrimaryNoNewArray node = new ALiteralPrimaryNoNewArray(node1);
02591 return node;
02592 }
02593 Node new259()
02594 {
02595 TThis node1 = (TThis) pop();
02596 AThisPrimaryNoNewArray node = new AThisPrimaryNoNewArray(node1);
02597 return node;
02598 }
02599 Node new26()
02600 {
02601 PNullLiteral node1 = (PNullLiteral) pop();
02602 ANullLiteralLiteral node = new ANullLiteralLiteral(node1);
02603 return node;
02604 }
02605 Node new260()
02606 {
02607 TRPar node3 = (TRPar) pop();
02608 PExp node2 = (PExp) pop();
02609 TLPar node1 = (TLPar) pop();
02610 ALParPrimaryNoNewArray node = new ALParPrimaryNoNewArray(node1, node2, node3);
02611 return node;
02612 }
02613 Node new261()
02614 {
02615 PClassInstanceCreationExp node1 = (PClassInstanceCreationExp) pop();
02616 AClassInstanceCreationExpPrimaryNoNewArray node = new AClassInstanceCreationExpPrimaryNoNewArray(node1);
02617 return node;
02618 }
02619 Node new262()
02620 {
02621 PFieldAccess node1 = (PFieldAccess) pop();
02622 AFieldAccessPrimaryNoNewArray node = new AFieldAccessPrimaryNoNewArray(node1);
02623 return node;
02624 }
02625 Node new263()
02626 {
02627 PMethodInvocation node1 = (PMethodInvocation) pop();
02628 AMethodInvocationPrimaryNoNewArray node = new AMethodInvocationPrimaryNoNewArray(node1);
02629 return node;
02630 }
02631 Node new264()
02632 {
02633 PArrayAccess node1 = (PArrayAccess) pop();
02634 AArrayAccessPrimaryNoNewArray node = new AArrayAccessPrimaryNoNewArray(node1);
02635 return node;
02636 }
02637 Node new265()
02638 {
02639 TThis node3 = (TThis) pop();
02640 TDot node2 = (TDot) pop();
02641 PName node1 = (PName) pop();
02642 AQualifiedThisPrimaryNoNewArray node = new AQualifiedThisPrimaryNoNewArray(node1, node2, node3);
02643 return node;
02644 }
02645 Node new266()
02646 {
02647 TClass node4 = (TClass) pop();
02648 TDot node3 = (TDot) pop();
02649 XPDim node2 = null;
02650 PPrimitiveType node1 = (PPrimitiveType) pop();
02651 AOldPrimitiveTypePrimaryNoNewArray node = new AOldPrimitiveTypePrimaryNoNewArray(node1, node2, node3, node4);
02652 return node;
02653 }
02654 Node new267()
02655 {
02656 TClass node4 = (TClass) pop();
02657 TDot node3 = (TDot) pop();
02658 XPDim node2 = (XPDim) pop();
02659 PPrimitiveType node1 = (PPrimitiveType) pop();
02660 AOldPrimitiveTypePrimaryNoNewArray node = new AOldPrimitiveTypePrimaryNoNewArray(node1, node2, node3, node4);
02661 return node;
02662 }
02663 Node new268()
02664 {
02665 TClass node4 = (TClass) pop();
02666 TDot node3 = (TDot) pop();
02667 XPDim node2 = null;
02668 PName node1 = (PName) pop();
02669 AOldNamedTypePrimaryNoNewArray node = new AOldNamedTypePrimaryNoNewArray(node1, node2, node3, node4);
02670 return node;
02671 }
02672 Node new269()
02673 {
02674 TClass node4 = (TClass) pop();
02675 TDot node3 = (TDot) pop();
02676 XPDim node2 = (XPDim) pop();
02677 PName node1 = (PName) pop();
02678 AOldNamedTypePrimaryNoNewArray node = new AOldNamedTypePrimaryNoNewArray(node1, node2, node3, node4);
02679 return node;
02680 }
02681 Node new27()
02682 {
02683 PPrimitiveType node1 = (PPrimitiveType) pop();
02684 APrimitiveType node = new APrimitiveType(node1);
02685 return node;
02686 }
02687 Node new270()
02688 {
02689 TClass node3 = (TClass) pop();
02690 TDot node2 = (TDot) pop();
02691 TVoid node1 = (TVoid) pop();
02692 AVoidPrimaryNoNewArray node = new AVoidPrimaryNoNewArray(node1, node2, node3);
02693 return node;
02694 }
02695 Node new271()
02696 {
02697 PClassBody node6 = null;
02698 TRPar node5 = (TRPar) pop();
02699 PArgumentList node4 = null;
02700 TLPar node3 = (TLPar) pop();
02701 PName node2 = (PName) pop();
02702 TNew node1 = (TNew) pop();
02703 AOldSimpleClassInstanceCreationExp node = new AOldSimpleClassInstanceCreationExp(node1, node2, node3, node4, node5, node6);
02704 return node;
02705 }
02706 Node new272()
02707 {
02708 PClassBody node6 = null;
02709 TRPar node5 = (TRPar) pop();
02710 PArgumentList node4 = (PArgumentList) pop();
02711 TLPar node3 = (TLPar) pop();
02712 PName node2 = (PName) pop();
02713 TNew node1 = (TNew) pop();
02714 AOldSimpleClassInstanceCreationExp node = new AOldSimpleClassInstanceCreationExp(node1, node2, node3, node4, node5, node6);
02715 return node;
02716 }
02717 Node new273()
02718 {
02719 PClassBody node6 = (PClassBody) pop();
02720 TRPar node5 = (TRPar) pop();
02721 PArgumentList node4 = null;
02722 TLPar node3 = (TLPar) pop();
02723 PName node2 = (PName) pop();
02724 TNew node1 = (TNew) pop();
02725 AOldSimpleClassInstanceCreationExp node = new AOldSimpleClassInstanceCreationExp(node1, node2, node3, node4, node5, node6);
02726 return node;
02727 }
02728 Node new274()
02729 {
02730 PClassBody node6 = (PClassBody) pop();
02731 TRPar node5 = (TRPar) pop();
02732 PArgumentList node4 = (PArgumentList) pop();
02733 TLPar node3 = (TLPar) pop();
02734 PName node2 = (PName) pop();
02735 TNew node1 = (TNew) pop();
02736 AOldSimpleClassInstanceCreationExp node = new AOldSimpleClassInstanceCreationExp(node1, node2, node3, node4, node5, node6);
02737 return node;
02738 }
02739 Node new275()
02740 {
02741 PClassBody node8 = null;
02742 TRPar node7 = (TRPar) pop();
02743 PArgumentList node6 = null;
02744 TLPar node5 = (TLPar) pop();
02745 TId node4 = (TId) pop();
02746 TNew node3 = (TNew) pop();
02747 TDot node2 = (TDot) pop();
02748 PPrimary node1 = (PPrimary) pop();
02749 AOldQualifiedClassInstanceCreationExp node = new AOldQualifiedClassInstanceCreationExp(node1, node2, node3, node4, node5, node6, node7, node8);
02750 return node;
02751 }
02752 Node new276()
02753 {
02754 PClassBody node8 = null;
02755 TRPar node7 = (TRPar) pop();
02756 PArgumentList node6 = (PArgumentList) pop();
02757 TLPar node5 = (TLPar) pop();
02758 TId node4 = (TId) pop();
02759 TNew node3 = (TNew) pop();
02760 TDot node2 = (TDot) pop();
02761 PPrimary node1 = (PPrimary) pop();
02762 AOldQualifiedClassInstanceCreationExp node = new AOldQualifiedClassInstanceCreationExp(node1, node2, node3, node4, node5, node6, node7, node8);
02763 return node;
02764 }
02765 Node new277()
02766 {
02767 PClassBody node8 = (PClassBody) pop();
02768 TRPar node7 = (TRPar) pop();
02769 PArgumentList node6 = null;
02770 TLPar node5 = (TLPar) pop();
02771 TId node4 = (TId) pop();
02772 TNew node3 = (TNew) pop();
02773 TDot node2 = (TDot) pop();
02774 PPrimary node1 = (PPrimary) pop();
02775 AOldQualifiedClassInstanceCreationExp node = new AOldQualifiedClassInstanceCreationExp(node1, node2, node3, node4, node5, node6, node7, node8);
02776 return node;
02777 }
02778 Node new278()
02779 {
02780 PClassBody node8 = (PClassBody) pop();
02781 TRPar node7 = (TRPar) pop();
02782 PArgumentList node6 = (PArgumentList) pop();
02783 TLPar node5 = (TLPar) pop();
02784 TId node4 = (TId) pop();
02785 TNew node3 = (TNew) pop();
02786 TDot node2 = (TDot) pop();
02787 PPrimary node1 = (PPrimary) pop();
02788 AOldQualifiedClassInstanceCreationExp node = new AOldQualifiedClassInstanceCreationExp(node1, node2, node3, node4, node5, node6, node7, node8);
02789 return node;
02790 }
02791 Node new279()
02792 {
02793 PExp node1 = (PExp) pop();
02794 AExpArgumentList node = new AExpArgumentList(node1);
02795 return node;
02796 }
02797 Node new28()
02798 {
02799 PReferenceType node1 = (PReferenceType) pop();
02800 AReferenceType node = new AReferenceType(node1);
02801 return node;
02802 }
02803 Node new280()
02804 {
02805 PExp node3 = (PExp) pop();
02806 TComma node2 = (TComma) pop();
02807 PArgumentList node1 = (PArgumentList) pop();
02808 AArgumentListArgumentList node = new AArgumentListArgumentList(node1, node2, node3);
02809 return node;
02810 }
02811 Node new281()
02812 {
02813 XPDim node4 = null;
02814 XPDimExp node3 = (XPDimExp) pop();
02815 PPrimitiveType node2 = (PPrimitiveType) pop();
02816 TNew node1 = (TNew) pop();
02817 APrimitiveTypeArrayCreationExp node = new APrimitiveTypeArrayCreationExp(node1, node2, node3, node4);
02818 return node;
02819 }
02820 Node new282()
02821 {
02822 PDimExp node2 = (PDimExp) pop();
02823 XPDimExp node1 = (XPDimExp) pop();
02824 X1PDimExp node = new X1PDimExp(node1, node2);
02825 return node;
02826 }
02827 Node new283()
02828 {
02829 PDimExp node1 = (PDimExp) pop();
02830 X2PDimExp node = new X2PDimExp(node1);
02831 return node;
02832 }
02833 Node new284()
02834 {
02835 XPDim node4 = (XPDim) pop();
02836 XPDimExp node3 = (XPDimExp) pop();
02837 PPrimitiveType node2 = (PPrimitiveType) pop();
02838 TNew node1 = (TNew) pop();
02839 APrimitiveTypeArrayCreationExp node = new APrimitiveTypeArrayCreationExp(node1, node2, node3, node4);
02840 return node;
02841 }
02842 Node new285()
02843 {
02844 XPDim node4 = null;
02845 XPDimExp node3 = (XPDimExp) pop();
02846 PClassOrInterfaceType node2 = (PClassOrInterfaceType) pop();
02847 TNew node1 = (TNew) pop();
02848 AClassOrInterfaceTypeArrayCreationExp node = new AClassOrInterfaceTypeArrayCreationExp(node1, node2, node3, node4);
02849 return node;
02850 }
02851 Node new286()
02852 {
02853 XPDim node4 = (XPDim) pop();
02854 XPDimExp node3 = (XPDimExp) pop();
02855 PClassOrInterfaceType node2 = (PClassOrInterfaceType) pop();
02856 TNew node1 = (TNew) pop();
02857 AClassOrInterfaceTypeArrayCreationExp node = new AClassOrInterfaceTypeArrayCreationExp(node1, node2, node3, node4);
02858 return node;
02859 }
02860 Node new287()
02861 {
02862 PArrayInitializer node4 = (PArrayInitializer) pop();
02863 XPDim node3 = (XPDim) pop();
02864 PPrimitiveType node2 = (PPrimitiveType) pop();
02865 TNew node1 = (TNew) pop();
02866 AInitPrimitiveArrayCreationExp node = new AInitPrimitiveArrayCreationExp(node1, node2, node3, node4);
02867 return node;
02868 }
02869 Node new288()
02870 {
02871 PArrayInitializer node4 = (PArrayInitializer) pop();
02872 XPDim node3 = (XPDim) pop();
02873 PClassOrInterfaceType node2 = (PClassOrInterfaceType) pop();
02874 TNew node1 = (TNew) pop();
02875 AInitClassInterfaceArrayCreationExp node = new AInitClassInterfaceArrayCreationExp(node1, node2, node3, node4);
02876 return node;
02877 }
02878 Node new289()
02879 {
02880 TRBracket node2 = (TRBracket) pop();
02881 TLBracket node1 = (TLBracket) pop();
02882 ADim node = new ADim(node1, node2);
02883 return node;
02884 }
02885 Node new29()
02886 {
02887 PNumericType node1 = (PNumericType) pop();
02888 ANumericTypePrimitiveType node = new ANumericTypePrimitiveType(node1);
02889 return node;
02890 }
02891 Node new290()
02892 {
02893 TRBracket node3 = (TRBracket) pop();
02894 PExp node2 = (PExp) pop();
02895 TLBracket node1 = (TLBracket) pop();
02896 ADimExp node = new ADimExp(node1, node2, node3);
02897 return node;
02898 }
02899 Node new291()
02900 {
02901 TId node3 = (TId) pop();
02902 TDot node2 = (TDot) pop();
02903 PPrimary node1 = (PPrimary) pop();
02904 AOldPrimaryFieldAccess node = new AOldPrimaryFieldAccess(node1, node2, node3);
02905 return node;
02906 }
02907 Node new292()
02908 {
02909 TId node3 = (TId) pop();
02910 TDot node2 = (TDot) pop();
02911 TSuper node1 = (TSuper) pop();
02912 ASuperFieldAccess node = new ASuperFieldAccess(node1, node2, node3);
02913 return node;
02914 }
02915 Node new293()
02916 {
02917 TRPar node4 = (TRPar) pop();
02918 PArgumentList node3 = null;
02919 TLPar node2 = (TLPar) pop();
02920 PName node1 = (PName) pop();
02921 ANameMethodInvocation node = new ANameMethodInvocation(node1, node2, node3, node4);
02922 return node;
02923 }
02924 Node new294()
02925 {
02926 TRPar node4 = (TRPar) pop();
02927 PArgumentList node3 = (PArgumentList) pop();
02928 TLPar node2 = (TLPar) pop();
02929 PName node1 = (PName) pop();
02930 ANameMethodInvocation node = new ANameMethodInvocation(node1, node2, node3, node4);
02931 return node;
02932 }
02933 Node new295()
02934 {
02935 TRPar node6 = (TRPar) pop();
02936 PArgumentList node5 = null;
02937 TLPar node4 = (TLPar) pop();
02938 TId node3 = (TId) pop();
02939 TDot node2 = (TDot) pop();
02940 PPrimary node1 = (PPrimary) pop();
02941 APrimaryMethodInvocation node = new APrimaryMethodInvocation(node1, node2, node3, node4, node5, node6);
02942 return node;
02943 }
02944 Node new296()
02945 {
02946 TRPar node6 = (TRPar) pop();
02947 PArgumentList node5 = (PArgumentList) pop();
02948 TLPar node4 = (TLPar) pop();
02949 TId node3 = (TId) pop();
02950 TDot node2 = (TDot) pop();
02951 PPrimary node1 = (PPrimary) pop();
02952 APrimaryMethodInvocation node = new APrimaryMethodInvocation(node1, node2, node3, node4, node5, node6);
02953 return node;
02954 }
02955 Node new297()
02956 {
02957 TRPar node6 = (TRPar) pop();
02958 PArgumentList node5 = null;
02959 TLPar node4 = (TLPar) pop();
02960 TId node3 = (TId) pop();
02961 TDot node2 = (TDot) pop();
02962 TSuper node1 = (TSuper) pop();
02963 ASuperMethodInvocation node = new ASuperMethodInvocation(node1, node2, node3, node4, node5, node6);
02964 return node;
02965 }
02966 Node new298()
02967 {
02968 TRPar node6 = (TRPar) pop();
02969 PArgumentList node5 = (PArgumentList) pop();
02970 TLPar node4 = (TLPar) pop();
02971 TId node3 = (TId) pop();
02972 TDot node2 = (TDot) pop();
02973 TSuper node1 = (TSuper) pop();
02974 ASuperMethodInvocation node = new ASuperMethodInvocation(node1, node2, node3, node4, node5, node6);
02975 return node;
02976 }
02977 Node new299()
02978 {
02979 TRBracket node4 = (TRBracket) pop();
02980 PExp node3 = (PExp) pop();
02981 TLBracket node2 = (TLBracket) pop();
02982 PName node1 = (PName) pop();
02983 ANameArrayAccess node = new ANameArrayAccess(node1, node2, node3, node4);
02984 return node;
02985 }
02986 Node new3()
02987 {
02988 PImportDeclaration node2 = (PImportDeclaration) pop();
02989 XPImportDeclaration node1 = (XPImportDeclaration) pop();
02990 X1PImportDeclaration node = new X1PImportDeclaration(node1, node2);
02991 return node;
02992 }
02993 Node new30()
02994 {
02995 TBoolean node1 = (TBoolean) pop();
02996 ABooleanPrimitiveType node = new ABooleanPrimitiveType(node1);
02997 return node;
02998 }
02999 Node new300()
03000 {
03001 TRBracket node4 = (TRBracket) pop();
03002 PExp node3 = (PExp) pop();
03003 TLBracket node2 = (TLBracket) pop();
03004 PPrimaryNoNewArray node1 = (PPrimaryNoNewArray) pop();
03005 AOldPrimaryNoNewArrayArrayAccess node = new AOldPrimaryNoNewArrayArrayAccess(node1, node2, node3, node4);
03006 return node;
03007 }
03008 Node new301()
03009 {
03010 PPrimary node1 = (PPrimary) pop();
03011 APrimaryPostfixExp node = new APrimaryPostfixExp(node1);
03012 return node;
03013 }
03014 Node new302()
03015 {
03016 PName node1 = (PName) pop();
03017 ANamePostfixExp node = new ANamePostfixExp(node1);
03018 return node;
03019 }
03020 Node new303()
03021 {
03022 PPostIncrementExpr node1 = (PPostIncrementExpr) pop();
03023 APostIncrementExpPostfixExp node = new APostIncrementExpPostfixExp(node1);
03024 return node;
03025 }
03026 Node new304()
03027 {
03028 PPostDecrementExpr node1 = (PPostDecrementExpr) pop();
03029 APostDecrementExpPostfixExp node = new APostDecrementExpPostfixExp(node1);
03030 return node;
03031 }
03032 Node new305()
03033 {
03034 TPlusPlus node2 = (TPlusPlus) pop();
03035 PPostfixExp node1 = (PPostfixExp) pop();
03036 APostIncrementExpr node = new APostIncrementExpr(node1, node2);
03037 return node;
03038 }
03039 Node new306()
03040 {
03041 TMinusMinus node2 = (TMinusMinus) pop();
03042 PPostfixExp node1 = (PPostfixExp) pop();
03043 APostDecrementExpr node = new APostDecrementExpr(node1, node2);
03044 return node;
03045 }
03046 Node new307()
03047 {
03048 PPreIncrementExp node1 = (PPreIncrementExp) pop();
03049 APreIncrementExpUnaryExp node = new APreIncrementExpUnaryExp(node1);
03050 return node;
03051 }
03052 Node new308()
03053 {
03054 PPreDecrementExp node1 = (PPreDecrementExp) pop();
03055 APreDecrementExpUnaryExp node = new APreDecrementExpUnaryExp(node1);
03056 return node;
03057 }
03058 Node new309()
03059 {
03060 PUnaryExp node2 = (PUnaryExp) pop();
03061 TPlus node1 = (TPlus) pop();
03062 APlusUnaryExp node = new APlusUnaryExp(node1, node2);
03063 return node;
03064 }
03065 Node new31()
03066 {
03067 PIntegralType node1 = (PIntegralType) pop();
03068 AIntegralTypeNumericType node = new AIntegralTypeNumericType(node1);
03069 return node;
03070 }
03071 Node new310()
03072 {
03073 PUnaryExp node2 = (PUnaryExp) pop();
03074 TMinus node1 = (TMinus) pop();
03075 AMinusUnaryExp node = new AMinusUnaryExp(node1, node2);
03076 return node;
03077 }
03078 Node new311()
03079 {
03080 PUnaryExpNotPlusMinus node1 = (PUnaryExpNotPlusMinus) pop();
03081 ANotPlusMinusUnaryExp node = new ANotPlusMinusUnaryExp(node1);
03082 return node;
03083 }
03084 Node new312()
03085 {
03086 PUnaryExp node2 = (PUnaryExp) pop();
03087 TPlusPlus node1 = (TPlusPlus) pop();
03088 APreIncrementExp node = new APreIncrementExp(node1, node2);
03089 return node;
03090 }
03091 Node new313()
03092 {
03093 PUnaryExp node2 = (PUnaryExp) pop();
03094 TMinusMinus node1 = (TMinusMinus) pop();
03095 APreDecrementExp node = new APreDecrementExp(node1, node2);
03096 return node;
03097 }
03098 Node new314()
03099 {
03100 PPostfixExp node1 = (PPostfixExp) pop();
03101 APostfixExpUnaryExpNotPlusMinus node = new APostfixExpUnaryExpNotPlusMinus(node1);
03102 return node;
03103 }
03104 Node new315()
03105 {
03106 PUnaryExp node2 = (PUnaryExp) pop();
03107 TBitComplement node1 = (TBitComplement) pop();
03108 ABitComplementUnaryExpNotPlusMinus node = new ABitComplementUnaryExpNotPlusMinus(node1, node2);
03109 return node;
03110 }
03111 Node new316()
03112 {
03113 PUnaryExp node2 = (PUnaryExp) pop();
03114 TComplement node1 = (TComplement) pop();
03115 AComplementUnaryExpNotPlusMinus node = new AComplementUnaryExpNotPlusMinus(node1, node2);
03116 return node;
03117 }
03118 Node new317()
03119 {
03120 PCastExp node1 = (PCastExp) pop();
03121 ACastExpUnaryExpNotPlusMinus node = new ACastExpUnaryExpNotPlusMinus(node1);
03122 return node;
03123 }
03124 Node new318()
03125 {
03126 PUnaryExp node5 = (PUnaryExp) pop();
03127 TRPar node4 = (TRPar) pop();
03128 XPDim node3 = null;
03129 PPrimitiveType node2 = (PPrimitiveType) pop();
03130 TLPar node1 = (TLPar) pop();
03131 AOldPrimitiveTypeCastExp node = new AOldPrimitiveTypeCastExp(node1, node2, node3, node4, node5);
03132 return node;
03133 }
03134 Node new319()
03135 {
03136 PUnaryExp node5 = (PUnaryExp) pop();
03137 TRPar node4 = (TRPar) pop();
03138 XPDim node3 = (XPDim) pop();
03139 PPrimitiveType node2 = (PPrimitiveType) pop();
03140 TLPar node1 = (TLPar) pop();
03141 AOldPrimitiveTypeCastExp node = new AOldPrimitiveTypeCastExp(node1, node2, node3, node4, node5);
03142 return node;
03143 }
03144 Node new32()
03145 {
03146 PFloatingPointType node1 = (PFloatingPointType) pop();
03147 AFloatingPointTypeNumericType node = new AFloatingPointTypeNumericType(node1);
03148 return node;
03149 }
03150 Node new320()
03151 {
03152 PUnaryExpNotPlusMinus node4 = (PUnaryExpNotPlusMinus) pop();
03153 TRPar node3 = (TRPar) pop();
03154 PExp node2 = (PExp) pop();
03155 TLPar node1 = (TLPar) pop();
03156 AOldExpCastExp node = new AOldExpCastExp(node1, node2, node3, node4);
03157 return node;
03158 }
03159 Node new321()
03160 {
03161 PUnaryExpNotPlusMinus node5 = (PUnaryExpNotPlusMinus) pop();
03162 TRPar node4 = (TRPar) pop();
03163 XPDim node3 = (XPDim) pop();
03164 PName node2 = (PName) pop();
03165 TLPar node1 = (TLPar) pop();
03166 AOldNameCastExp node = new AOldNameCastExp(node1, node2, node3, node4, node5);
03167 return node;
03168 }
03169 Node new322()
03170 {
03171 PUnaryExp node1 = (PUnaryExp) pop();
03172 AUnaryExpMultiplicativeExp node = new AUnaryExpMultiplicativeExp(node1);
03173 return node;
03174 }
03175 Node new323()
03176 {
03177 PUnaryExp node3 = (PUnaryExp) pop();
03178 TStar node2 = (TStar) pop();
03179 PMultiplicativeExp node1 = (PMultiplicativeExp) pop();
03180 AStarMultiplicativeExp node = new AStarMultiplicativeExp(node1, node2, node3);
03181 return node;
03182 }
03183 Node new324()
03184 {
03185 PUnaryExp node3 = (PUnaryExp) pop();
03186 TDiv node2 = (TDiv) pop();
03187 PMultiplicativeExp node1 = (PMultiplicativeExp) pop();
03188 ADivMultiplicativeExp node = new ADivMultiplicativeExp(node1, node2, node3);
03189 return node;
03190 }
03191 Node new325()
03192 {
03193 PUnaryExp node3 = (PUnaryExp) pop();
03194 TMod node2 = (TMod) pop();
03195 PMultiplicativeExp node1 = (PMultiplicativeExp) pop();
03196 AModMultiplicativeExp node = new AModMultiplicativeExp(node1, node2, node3);
03197 return node;
03198 }
03199 Node new326()
03200 {
03201 PMultiplicativeExp node1 = (PMultiplicativeExp) pop();
03202 AMultiplicativeExpAdditiveExp node = new AMultiplicativeExpAdditiveExp(node1);
03203 return node;
03204 }
03205 Node new327()
03206 {
03207 PMultiplicativeExp node3 = (PMultiplicativeExp) pop();
03208 TPlus node2 = (TPlus) pop();
03209 PAdditiveExp node1 = (PAdditiveExp) pop();
03210 APlusAdditiveExp node = new APlusAdditiveExp(node1, node2, node3);
03211 return node;
03212 }
03213 Node new328()
03214 {
03215 PMultiplicativeExp node3 = (PMultiplicativeExp) pop();
03216 TMinus node2 = (TMinus) pop();
03217 PAdditiveExp node1 = (PAdditiveExp) pop();
03218 AMinusAdditiveExp node = new AMinusAdditiveExp(node1, node2, node3);
03219 return node;
03220 }
03221 Node new329()
03222 {
03223 PAdditiveExp node1 = (PAdditiveExp) pop();
03224 AAdditiveExpShiftExp node = new AAdditiveExpShiftExp(node1);
03225 return node;
03226 }
03227 Node new33()
03228 {
03229 TByte node1 = (TByte) pop();
03230 AByteIntegralType node = new AByteIntegralType(node1);
03231 return node;
03232 }
03233 Node new330()
03234 {
03235 PAdditiveExp node3 = (PAdditiveExp) pop();
03236 TShiftLeft node2 = (TShiftLeft) pop();
03237 PShiftExp node1 = (PShiftExp) pop();
03238 AShiftLeftShiftExp node = new AShiftLeftShiftExp(node1, node2, node3);
03239 return node;
03240 }
03241 Node new331()
03242 {
03243 PAdditiveExp node3 = (PAdditiveExp) pop();
03244 TSignedShiftRight node2 = (TSignedShiftRight) pop();
03245 PShiftExp node1 = (PShiftExp) pop();
03246 ASignedShiftRightShiftExp node = new ASignedShiftRightShiftExp(node1, node2, node3);
03247 return node;
03248 }
03249 Node new332()
03250 {
03251 PAdditiveExp node3 = (PAdditiveExp) pop();
03252 TUnsignedShiftRight node2 = (TUnsignedShiftRight) pop();
03253 PShiftExp node1 = (PShiftExp) pop();
03254 AUnsignedShiftRightShiftExp node = new AUnsignedShiftRightShiftExp(node1, node2, node3);
03255 return node;
03256 }
03257 Node new333()
03258 {
03259 PShiftExp node1 = (PShiftExp) pop();
03260 AShiftExpRelationalExp node = new AShiftExpRelationalExp(node1);
03261 return node;
03262 }
03263 Node new334()
03264 {
03265 PShiftExp node3 = (PShiftExp) pop();
03266 TLt node2 = (TLt) pop();
03267 PRelationalExp node1 = (PRelationalExp) pop();
03268 ALtRelationalExp node = new ALtRelationalExp(node1, node2, node3);
03269 return node;
03270 }
03271 Node new335()
03272 {
03273 PShiftExp node3 = (PShiftExp) pop();
03274 TGt node2 = (TGt) pop();
03275 PRelationalExp node1 = (PRelationalExp) pop();
03276 AGtRelationalExp node = new AGtRelationalExp(node1, node2, node3);
03277 return node;
03278 }
03279 Node new336()
03280 {
03281 PShiftExp node3 = (PShiftExp) pop();
03282 TLteq node2 = (TLteq) pop();
03283 PRelationalExp node1 = (PRelationalExp) pop();
03284 ALteqRelationalExp node = new ALteqRelationalExp(node1, node2, node3);
03285 return node;
03286 }
03287 Node new337()
03288 {
03289 PShiftExp node3 = (PShiftExp) pop();
03290 TGteq node2 = (TGteq) pop();
03291 PRelationalExp node1 = (PRelationalExp) pop();
03292 AGteqRelationalExp node = new AGteqRelationalExp(node1, node2, node3);
03293 return node;
03294 }
03295 Node new338()
03296 {
03297 PReferenceType node3 = (PReferenceType) pop();
03298 TInstanceof node2 = (TInstanceof) pop();
03299 PRelationalExp node1 = (PRelationalExp) pop();
03300 AInstanceofRelationalExp node = new AInstanceofRelationalExp(node1, node2, node3);
03301 return node;
03302 }
03303 Node new339()
03304 {
03305 PRelationalExp node1 = (PRelationalExp) pop();
03306 ARelationalExpEqualityExp node = new ARelationalExpEqualityExp(node1);
03307 return node;
03308 }
03309 Node new34()
03310 {
03311 TShort node1 = (TShort) pop();
03312 AShortIntegralType node = new AShortIntegralType(node1);
03313 return node;
03314 }
03315 Node new340()
03316 {
03317 PRelationalExp node3 = (PRelationalExp) pop();
03318 TEq node2 = (TEq) pop();
03319 PEqualityExp node1 = (PEqualityExp) pop();
03320 AEqEqualityExp node = new AEqEqualityExp(node1, node2, node3);
03321 return node;
03322 }
03323 Node new341()
03324 {
03325 PRelationalExp node3 = (PRelationalExp) pop();
03326 TNeq node2 = (TNeq) pop();
03327 PEqualityExp node1 = (PEqualityExp) pop();
03328 ANeqEqualityExp node = new ANeqEqualityExp(node1, node2, node3);
03329 return node;
03330 }
03331 Node new342()
03332 {
03333 PEqualityExp node1 = (PEqualityExp) pop();
03334 AEqualityExpAndExp node = new AEqualityExpAndExp(node1);
03335 return node;
03336 }
03337 Node new343()
03338 {
03339 PEqualityExp node3 = (PEqualityExp) pop();
03340 TBitAnd node2 = (TBitAnd) pop();
03341 PAndExp node1 = (PAndExp) pop();
03342 AAndExpAndExp node = new AAndExpAndExp(node1, node2, node3);
03343 return node;
03344 }
03345 Node new344()
03346 {
03347 PAndExp node1 = (PAndExp) pop();
03348 AAndExpExclusiveOrExp node = new AAndExpExclusiveOrExp(node1);
03349 return node;
03350 }
03351 Node new345()
03352 {
03353 PAndExp node3 = (PAndExp) pop();
03354 TBitXor node2 = (TBitXor) pop();
03355 PExclusiveOrExp node1 = (PExclusiveOrExp) pop();
03356 AExclusiveOrExpExclusiveOrExp node = new AExclusiveOrExpExclusiveOrExp(node1, node2, node3);
03357 return node;
03358 }
03359 Node new346()
03360 {
03361 PExclusiveOrExp node1 = (PExclusiveOrExp) pop();
03362 AExclusiveOrExpInclusiveOrExp node = new AExclusiveOrExpInclusiveOrExp(node1);
03363 return node;
03364 }
03365 Node new347()
03366 {
03367 PExclusiveOrExp node3 = (PExclusiveOrExp) pop();
03368 TBitOr node2 = (TBitOr) pop();
03369 PInclusiveOrExp node1 = (PInclusiveOrExp) pop();
03370 AInclusiveOrExpInclusiveOrExp node = new AInclusiveOrExpInclusiveOrExp(node1, node2, node3);
03371 return node;
03372 }
03373 Node new348()
03374 {
03375 PInclusiveOrExp node1 = (PInclusiveOrExp) pop();
03376 AInclusiveOrExpConditionalAndExp node = new AInclusiveOrExpConditionalAndExp(node1);
03377 return node;
03378 }
03379 Node new349()
03380 {
03381 PInclusiveOrExp node3 = (PInclusiveOrExp) pop();
03382 TAnd node2 = (TAnd) pop();
03383 PConditionalAndExp node1 = (PConditionalAndExp) pop();
03384 AConditionalAndExpConditionalAndExp node = new AConditionalAndExpConditionalAndExp(node1, node2, node3);
03385 return node;
03386 }
03387 Node new35()
03388 {
03389 TInt node1 = (TInt) pop();
03390 AIntIntegralType node = new AIntIntegralType(node1);
03391 return node;
03392 }
03393 Node new350()
03394 {
03395 PConditionalAndExp node1 = (PConditionalAndExp) pop();
03396 AConditionalAndExpConditionalOrExp node = new AConditionalAndExpConditionalOrExp(node1);
03397 return node;
03398 }
03399 Node new351()
03400 {
03401 PConditionalAndExp node3 = (PConditionalAndExp) pop();
03402 TOr node2 = (TOr) pop();
03403 PConditionalOrExp node1 = (PConditionalOrExp) pop();
03404 AConditionalOrExpConditionalOrExp node = new AConditionalOrExpConditionalOrExp(node1, node2, node3);
03405 return node;
03406 }
03407 Node new352()
03408 {
03409 PConditionalOrExp node1 = (PConditionalOrExp) pop();
03410 AConditionalOrExpConditionalExp node = new AConditionalOrExpConditionalExp(node1);
03411 return node;
03412 }
03413 Node new353()
03414 {
03415 PConditionalExp node5 = (PConditionalExp) pop();
03416 TColon node4 = (TColon) pop();
03417 PExp node3 = (PExp) pop();
03418 TQuestion node2 = (TQuestion) pop();
03419 PConditionalOrExp node1 = (PConditionalOrExp) pop();
03420 AQuestionConditionalExp node = new AQuestionConditionalExp(node1, node2, node3, node4, node5);
03421 return node;
03422 }
03423 Node new354()
03424 {
03425 PConditionalExp node1 = (PConditionalExp) pop();
03426 AConditionalExpAssignmentExp node = new AConditionalExpAssignmentExp(node1);
03427 return node;
03428 }
03429 Node new355()
03430 {
03431 PAssignment node1 = (PAssignment) pop();
03432 AAssignmentAssignmentExp node = new AAssignmentAssignmentExp(node1);
03433 return node;
03434 }
03435 Node new356()
03436 {
03437 PAssignmentExp node3 = (PAssignmentExp) pop();
03438 PAssignmentOperator node2 = (PAssignmentOperator) pop();
03439 PLeftHandSide node1 = (PLeftHandSide) pop();
03440 AAssignment node = new AAssignment(node1, node2, node3);
03441 return node;
03442 }
03443 Node new357()
03444 {
03445 PName node1 = (PName) pop();
03446 ANameLeftHandSide node = new ANameLeftHandSide(node1);
03447 return node;
03448 }
03449 Node new358()
03450 {
03451 PFieldAccess node1 = (PFieldAccess) pop();
03452 AFieldAccessLeftHandSide node = new AFieldAccessLeftHandSide(node1);
03453 return node;
03454 }
03455 Node new359()
03456 {
03457 PArrayAccess node1 = (PArrayAccess) pop();
03458 AArrayAccessLeftHandSide node = new AArrayAccessLeftHandSide(node1);
03459 return node;
03460 }
03461 Node new36()
03462 {
03463 TLong node1 = (TLong) pop();
03464 ALongIntegralType node = new ALongIntegralType(node1);
03465 return node;
03466 }
03467 Node new360()
03468 {
03469 TAssign node1 = (TAssign) pop();
03470 AAssignAssignmentOperator node = new AAssignAssignmentOperator(node1);
03471 return node;
03472 }
03473 Node new361()
03474 {
03475 TStarAssign node1 = (TStarAssign) pop();
03476 AStarAssignAssignmentOperator node = new AStarAssignAssignmentOperator(node1);
03477 return node;
03478 }
03479 Node new362()
03480 {
03481 TDivAssign node1 = (TDivAssign) pop();
03482 ADivAssignAssignmentOperator node = new ADivAssignAssignmentOperator(node1);
03483 return node;
03484 }
03485 Node new363()
03486 {
03487 TModAssign node1 = (TModAssign) pop();
03488 AModAssignAssignmentOperator node = new AModAssignAssignmentOperator(node1);
03489 return node;
03490 }
03491 Node new364()
03492 {
03493 TPlusAssign node1 = (TPlusAssign) pop();
03494 APlusAssignAssignmentOperator node = new APlusAssignAssignmentOperator(node1);
03495 return node;
03496 }
03497 Node new365()
03498 {
03499 TMinusAssign node1 = (TMinusAssign) pop();
03500 AMinusAssignAssignmentOperator node = new AMinusAssignAssignmentOperator(node1);
03501 return node;
03502 }
03503 Node new366()
03504 {
03505 TShiftLeftAssign node1 = (TShiftLeftAssign) pop();
03506 AShiftLeftAssignAssignmentOperator node = new AShiftLeftAssignAssignmentOperator(node1);
03507 return node;
03508 }
03509 Node new367()
03510 {
03511 TSignedShiftRightAssign node1 = (TSignedShiftRightAssign) pop();
03512 ASignedShiftRightAssignAssignmentOperator node = new ASignedShiftRightAssignAssignmentOperator(node1);
03513 return node;
03514 }
03515 Node new368()
03516 {
03517 TUnsignedShiftRightAssign node1 = (TUnsignedShiftRightAssign) pop();
03518 AUnsignedShiftRightAssignAssignmentOperator node = new AUnsignedShiftRightAssignAssignmentOperator(node1);
03519 return node;
03520 }
03521 Node new369()
03522 {
03523 TBitAndAssign node1 = (TBitAndAssign) pop();
03524 ABitAndAssignAssignmentOperator node = new ABitAndAssignAssignmentOperator(node1);
03525 return node;
03526 }
03527 Node new37()
03528 {
03529 TChar node1 = (TChar) pop();
03530 ACharIntegralType node = new ACharIntegralType(node1);
03531 return node;
03532 }
03533 Node new370()
03534 {
03535 TBitXorAssign node1 = (TBitXorAssign) pop();
03536 ABitXorAssignAssignmentOperator node = new ABitXorAssignAssignmentOperator(node1);
03537 return node;
03538 }
03539 Node new371()
03540 {
03541 TBitOrAssign node1 = (TBitOrAssign) pop();
03542 ABitOrAssignAssignmentOperator node = new ABitOrAssignAssignmentOperator(node1);
03543 return node;
03544 }
03545 Node new372()
03546 {
03547 PAssignmentExp node1 = (PAssignmentExp) pop();
03548 AOldExp node = new AOldExp(node1);
03549 return node;
03550 }
03551 Node new373()
03552 {
03553 PExp node1 = (PExp) pop();
03554 AConstantExp node = new AConstantExp(node1);
03555 return node;
03556 }
03557 Node new374()
03558 {
03559 TOr node1 = (TOr) pop();
03560 AOrBinaryOperator node = new AOrBinaryOperator(node1);
03561 return node;
03562 }
03563 Node new375()
03564 {
03565 TAnd node1 = (TAnd) pop();
03566 AAndBinaryOperator node = new AAndBinaryOperator(node1);
03567 return node;
03568 }
03569 Node new376()
03570 {
03571 TBitOr node1 = (TBitOr) pop();
03572 ABitOrBinaryOperator node = new ABitOrBinaryOperator(node1);
03573 return node;
03574 }
03575 Node new377()
03576 {
03577 TBitXor node1 = (TBitXor) pop();
03578 ABitXorBinaryOperator node = new ABitXorBinaryOperator(node1);
03579 return node;
03580 }
03581 Node new378()
03582 {
03583 TBitAnd node1 = (TBitAnd) pop();
03584 ABitAndBinaryOperator node = new ABitAndBinaryOperator(node1);
03585 return node;
03586 }
03587 Node new379()
03588 {
03589 TNeq node1 = (TNeq) pop();
03590 ANeqBinaryOperator node = new ANeqBinaryOperator(node1);
03591 return node;
03592 }
03593 Node new38()
03594 {
03595 TFloat node1 = (TFloat) pop();
03596 AFloatFloatingPointType node = new AFloatFloatingPointType(node1);
03597 return node;
03598 }
03599 Node new380()
03600 {
03601 TEq node1 = (TEq) pop();
03602 AEqBinaryOperator node = new AEqBinaryOperator(node1);
03603 return node;
03604 }
03605 Node new381()
03606 {
03607 TLt node1 = (TLt) pop();
03608 ALtBinaryOperator node = new ALtBinaryOperator(node1);
03609 return node;
03610 }
03611 Node new382()
03612 {
03613 TGt node1 = (TGt) pop();
03614 AGtBinaryOperator node = new AGtBinaryOperator(node1);
03615 return node;
03616 }
03617 Node new383()
03618 {
03619 TLteq node1 = (TLteq) pop();
03620 ALteqBinaryOperator node = new ALteqBinaryOperator(node1);
03621 return node;
03622 }
03623 Node new384()
03624 {
03625 TGteq node1 = (TGteq) pop();
03626 AGteqBinaryOperator node = new AGteqBinaryOperator(node1);
03627 return node;
03628 }
03629 Node new385()
03630 {
03631 TShiftLeft node1 = (TShiftLeft) pop();
03632 AShiftLeftBinaryOperator node = new AShiftLeftBinaryOperator(node1);
03633 return node;
03634 }
03635 Node new386()
03636 {
03637 TSignedShiftRight node1 = (TSignedShiftRight) pop();
03638 ASignedShiftRightBinaryOperator node = new ASignedShiftRightBinaryOperator(node1);
03639 return node;
03640 }
03641 Node new387()
03642 {
03643 TUnsignedShiftRight node1 = (TUnsignedShiftRight) pop();
03644 AUnsignedShiftRightBinaryOperator node = new AUnsignedShiftRightBinaryOperator(node1);
03645 return node;
03646 }
03647 Node new388()
03648 {
03649 TPlus node1 = (TPlus) pop();
03650 APlusBinaryOperator node = new APlusBinaryOperator(node1);
03651 return node;
03652 }
03653 Node new389()
03654 {
03655 TMinus node1 = (TMinus) pop();
03656 AMinusBinaryOperator node = new AMinusBinaryOperator(node1);
03657 return node;
03658 }
03659 Node new39()
03660 {
03661 TDouble node1 = (TDouble) pop();
03662 ADoubleFloatingPointType node = new ADoubleFloatingPointType(node1);
03663 return node;
03664 }
03665 Node new390()
03666 {
03667 TMod node1 = (TMod) pop();
03668 AModBinaryOperator node = new AModBinaryOperator(node1);
03669 return node;
03670 }
03671 Node new391()
03672 {
03673 TDiv node1 = (TDiv) pop();
03674 ADivBinaryOperator node = new ADivBinaryOperator(node1);
03675 return node;
03676 }
03677 Node new392()
03678 {
03679 TStar node1 = (TStar) pop();
03680 AStarBinaryOperator node = new AStarBinaryOperator(node1);
03681 return node;
03682 }
03683 Node new393()
03684 {
03685 TPlusPlus node1 = (TPlusPlus) pop();
03686 AIncrementUnaryOperator node = new AIncrementUnaryOperator(node1);
03687 return node;
03688 }
03689 Node new394()
03690 {
03691 TMinusMinus node1 = (TMinusMinus) pop();
03692 ADecrementUnaryOperator node = new ADecrementUnaryOperator(node1);
03693 return node;
03694 }
03695 Node new395()
03696 {
03697 TPlus node1 = (TPlus) pop();
03698 APlusUnaryOperator node = new APlusUnaryOperator(node1);
03699 return node;
03700 }
03701 Node new396()
03702 {
03703 TMinus node1 = (TMinus) pop();
03704 AMinusUnaryOperator node = new AMinusUnaryOperator(node1);
03705 return node;
03706 }
03707 Node new397()
03708 {
03709 TBitComplement node1 = (TBitComplement) pop();
03710 ABitComplementUnaryOperator node = new ABitComplementUnaryOperator(node1);
03711 return node;
03712 }
03713 Node new398()
03714 {
03715 TComplement node1 = (TComplement) pop();
03716 AComplementUnaryOperator node = new AComplementUnaryOperator(node1);
03717 return node;
03718 }
03719 Node new399()
03720 {
03721 TTrue node1 = (TTrue) pop();
03722 ATrueBooleanLiteral node = new ATrueBooleanLiteral(node1);
03723 return node;
03724 }
03725 Node new4()
03726 {
03727 PImportDeclaration node1 = (PImportDeclaration) pop();
03728 X2PImportDeclaration node = new X2PImportDeclaration(node1);
03729 return node;
03730 }
03731 Node new40()
03732 {
03733 PClassOrInterfaceType node1 = (PClassOrInterfaceType) pop();
03734 AClassOrInterfaceTypeReferenceType node = new AClassOrInterfaceTypeReferenceType(node1);
03735 return node;
03736 }
03737 Node new400()
03738 {
03739 TFalse node1 = (TFalse) pop();
03740 AFalseBooleanLiteral node = new AFalseBooleanLiteral(node1);
03741 return node;
03742 }
03743 Node new401()
03744 {
03745 TNull node1 = (TNull) pop();
03746 ANullLiteral node = new ANullLiteral(node1);
03747 return node;
03748 }
03749 Node new402()
03750 {
03751 TDecimalIntegerLiteral node1 = (TDecimalIntegerLiteral) pop();
03752 ADecimalIntegerLiteral node = new ADecimalIntegerLiteral(node1);
03753 return node;
03754 }
03755 Node new403()
03756 {
03757 THexIntegerLiteral node1 = (THexIntegerLiteral) pop();
03758 AHexIntegerLiteral node = new AHexIntegerLiteral(node1);
03759 return node;
03760 }
03761 Node new404()
03762 {
03763 TOctalIntegerLiteral node1 = (TOctalIntegerLiteral) pop();
03764 AOctalIntegerLiteral node = new AOctalIntegerLiteral(node1);
03765 return node;
03766 }
03767 Node new41()
03768 {
03769 PArrayType node1 = (PArrayType) pop();
03770 AArrayReferenceType node = new AArrayReferenceType(node1);
03771 return node;
03772 }
03773 Node new42()
03774 {
03775 PName node1 = (PName) pop();
03776 AClassOrInterfaceType node = new AClassOrInterfaceType(node1);
03777 return node;
03778 }
03779 Node new43()
03780 {
03781 PClassOrInterfaceType node1 = (PClassOrInterfaceType) pop();
03782 AClassType node = new AClassType(node1);
03783 return node;
03784 }
03785 Node new44()
03786 {
03787 PClassOrInterfaceType node1 = (PClassOrInterfaceType) pop();
03788 AInterfaceType node = new AInterfaceType(node1);
03789 return node;
03790 }
03791 Node new45()
03792 {
03793 XPDim node2 = (XPDim) pop();
03794 PPrimitiveType node1 = (PPrimitiveType) pop();
03795 APrimitiveArrayType node = new APrimitiveArrayType(node1, node2);
03796 return node;
03797 }
03798 Node new46()
03799 {
03800 PDim node2 = (PDim) pop();
03801 XPDim node1 = (XPDim) pop();
03802 X1PDim node = new X1PDim(node1, node2);
03803 return node;
03804 }
03805 Node new47()
03806 {
03807 PDim node1 = (PDim) pop();
03808 X2PDim node = new X2PDim(node1);
03809 return node;
03810 }
03811 Node new48()
03812 {
03813 XPDim node2 = (XPDim) pop();
03814 PName node1 = (PName) pop();
03815 ANameArrayType node = new ANameArrayType(node1, node2);
03816 return node;
03817 }
03818 Node new49()
03819 {
03820 POneSimpleName node1 = (POneSimpleName) pop();
03821 ASimpleNameName node = new ASimpleNameName(node1);
03822 return node;
03823 }
03824 Node new5()
03825 {
03826 XPTypeDeclaration node3 = null;
03827 XPImportDeclaration node2 = (XPImportDeclaration) pop();
03828 PPackageDeclaration node1 = (PPackageDeclaration) pop();
03829 AOldCompilationUnit node = new AOldCompilationUnit(node1, node2, node3);
03830 return node;
03831 }
03832 Node new50()
03833 {
03834 POneQualifiedName node1 = (POneQualifiedName) pop();
03835 AQualifiedNameName node = new AQualifiedNameName(node1);
03836 return node;
03837 }
03838 Node new51()
03839 {
03840 TId node1 = (TId) pop();
03841 AOneSimpleName node = new AOneSimpleName(node1);
03842 return node;
03843 }
03844 Node new52()
03845 {
03846 TId node3 = (TId) pop();
03847 TDot node2 = (TDot) pop();
03848 PName node1 = (PName) pop();
03849 AOneQualifiedName node = new AOneQualifiedName(node1, node2, node3);
03850 return node;
03851 }
03852 Node new53()
03853 {
03854 TPublic node1 = (TPublic) pop();
03855 APublicModifier node = new APublicModifier(node1);
03856 return node;
03857 }
03858 Node new54()
03859 {
03860 TProtected node1 = (TProtected) pop();
03861 AProtectedModifier node = new AProtectedModifier(node1);
03862 return node;
03863 }
03864 Node new55()
03865 {
03866 TPrivate node1 = (TPrivate) pop();
03867 APrivateModifier node = new APrivateModifier(node1);
03868 return node;
03869 }
03870 Node new56()
03871 {
03872 TStatic node1 = (TStatic) pop();
03873 AStaticModifier node = new AStaticModifier(node1);
03874 return node;
03875 }
03876 Node new57()
03877 {
03878 TAbstract node1 = (TAbstract) pop();
03879 AAbstractModifier node = new AAbstractModifier(node1);
03880 return node;
03881 }
03882 Node new58()
03883 {
03884 TFinal node1 = (TFinal) pop();
03885 AFinalModifier node = new AFinalModifier(node1);
03886 return node;
03887 }
03888 Node new59()
03889 {
03890 TNative node1 = (TNative) pop();
03891 ANativeModifier node = new ANativeModifier(node1);
03892 return node;
03893 }
03894 Node new6()
03895 {
03896 XPTypeDeclaration node3 = (XPTypeDeclaration) pop();
03897 XPImportDeclaration node2 = null;
03898 PPackageDeclaration node1 = null;
03899 AOldCompilationUnit node = new AOldCompilationUnit(node1, node2, node3);
03900 return node;
03901 }
03902 Node new60()
03903 {
03904 TSynchronized node1 = (TSynchronized) pop();
03905 ASynchronizedModifier node = new ASynchronizedModifier(node1);
03906 return node;
03907 }
03908 Node new61()
03909 {
03910 TTransient node1 = (TTransient) pop();
03911 ATransientModifier node = new ATransientModifier(node1);
03912 return node;
03913 }
03914 Node new62()
03915 {
03916 TVolatile node1 = (TVolatile) pop();
03917 AVolatileModifier node = new AVolatileModifier(node1);
03918 return node;
03919 }
03920 Node new63()
03921 {
03922 PClassBody node6 = (PClassBody) pop();
03923 PInterfaces node5 = null;
03924 PSuper node4 = null;
03925 TId node3 = (TId) pop();
03926 TClass node2 = (TClass) pop();
03927 XPModifier node1 = null;
03928 AClassDeclaration node = new AClassDeclaration(node1, node2, node3, node4, node5, node6);
03929 return node;
03930 }
03931 Node new64()
03932 {
03933 PClassBody node6 = (PClassBody) pop();
03934 PInterfaces node5 = null;
03935 PSuper node4 = null;
03936 TId node3 = (TId) pop();
03937 TClass node2 = (TClass) pop();
03938 XPModifier node1 = (XPModifier) pop();
03939 AClassDeclaration node = new AClassDeclaration(node1, node2, node3, node4, node5, node6);
03940 return node;
03941 }
03942 Node new65()
03943 {
03944 PModifier node2 = (PModifier) pop();
03945 XPModifier node1 = (XPModifier) pop();
03946 X1PModifier node = new X1PModifier(node1, node2);
03947 return node;
03948 }
03949 Node new66()
03950 {
03951 PModifier node1 = (PModifier) pop();
03952 X2PModifier node = new X2PModifier(node1);
03953 return node;
03954 }
03955 Node new67()
03956 {
03957 PClassBody node6 = (PClassBody) pop();
03958 PInterfaces node5 = null;
03959 PSuper node4 = (PSuper) pop();
03960 TId node3 = (TId) pop();
03961 TClass node2 = (TClass) pop();
03962 XPModifier node1 = null;
03963 AClassDeclaration node = new AClassDeclaration(node1, node2, node3, node4, node5, node6);
03964 return node;
03965 }
03966 Node new68()
03967 {
03968 PClassBody node6 = (PClassBody) pop();
03969 PInterfaces node5 = null;
03970 PSuper node4 = (PSuper) pop();
03971 TId node3 = (TId) pop();
03972 TClass node2 = (TClass) pop();
03973 XPModifier node1 = (XPModifier) pop();
03974 AClassDeclaration node = new AClassDeclaration(node1, node2, node3, node4, node5, node6);
03975 return node;
03976 }
03977 Node new69()
03978 {
03979 PClassBody node6 = (PClassBody) pop();
03980 PInterfaces node5 = (PInterfaces) pop();
03981 PSuper node4 = null;
03982 TId node3 = (TId) pop();
03983 TClass node2 = (TClass) pop();
03984 XPModifier node1 = null;
03985 AClassDeclaration node = new AClassDeclaration(node1, node2, node3, node4, node5, node6);
03986 return node;
03987 }
03988 Node new7()
03989 {
03990 PTypeDeclaration node2 = (PTypeDeclaration) pop();
03991 XPTypeDeclaration node1 = (XPTypeDeclaration) pop();
03992 X1PTypeDeclaration node = new X1PTypeDeclaration(node1, node2);
03993 return node;
03994 }
03995 Node new70()
03996 {
03997 PClassBody node6 = (PClassBody) pop();
03998 PInterfaces node5 = (PInterfaces) pop();
03999 PSuper node4 = null;
04000 TId node3 = (TId) pop();
04001 TClass node2 = (TClass) pop();
04002 XPModifier node1 = (XPModifier) pop();
04003 AClassDeclaration node = new AClassDeclaration(node1, node2, node3, node4, node5, node6);
04004 return node;
04005 }
04006 Node new71()
04007 {
04008 PClassBody node6 = (PClassBody) pop();
04009 PInterfaces node5 = (PInterfaces) pop();
04010 PSuper node4 = (PSuper) pop();
04011 TId node3 = (TId) pop();
04012 TClass node2 = (TClass) pop();
04013 XPModifier node1 = null;
04014 AClassDeclaration node = new AClassDeclaration(node1, node2, node3, node4, node5, node6);
04015 return node;
04016 }
04017 Node new72()
04018 {
04019 PClassBody node6 = (PClassBody) pop();
04020 PInterfaces node5 = (PInterfaces) pop();
04021 PSuper node4 = (PSuper) pop();
04022 TId node3 = (TId) pop();
04023 TClass node2 = (TClass) pop();
04024 XPModifier node1 = (XPModifier) pop();
04025 AClassDeclaration node = new AClassDeclaration(node1, node2, node3, node4, node5, node6);
04026 return node;
04027 }
04028 Node new73()
04029 {
04030 PClassType node2 = (PClassType) pop();
04031 TExtends node1 = (TExtends) pop();
04032 AOldSuper node = new AOldSuper(node1, node2);
04033 return node;
04034 }
04035 Node new74()
04036 {
04037 PInterfaceTypeList node2 = (PInterfaceTypeList) pop();
04038 TImplements node1 = (TImplements) pop();
04039 AOldInterfaces node = new AOldInterfaces(node1, node2);
04040 return node;
04041 }
04042 Node new75()
04043 {
04044 PInterfaceType node1 = (PInterfaceType) pop();
04045 AInterfaceTypeInterfaceTypeList node = new AInterfaceTypeInterfaceTypeList(node1);
04046 return node;
04047 }
04048 Node new76()
04049 {
04050 PInterfaceType node3 = (PInterfaceType) pop();
04051 TComma node2 = (TComma) pop();
04052 PInterfaceTypeList node1 = (PInterfaceTypeList) pop();
04053 AInterfaceTypeListInterfaceTypeList node = new AInterfaceTypeListInterfaceTypeList(node1, node2, node3);
04054 return node;
04055 }
04056 Node new77()
04057 {
04058 TRBrace node3 = (TRBrace) pop();
04059 XPClassBodyDeclaration node2 = null;
04060 TLBrace node1 = (TLBrace) pop();
04061 AClassBody node = new AClassBody(node1, node2, node3);
04062 return node;
04063 }
04064 Node new78()
04065 {
04066 TRBrace node3 = (TRBrace) pop();
04067 XPClassBodyDeclaration node2 = (XPClassBodyDeclaration) pop();
04068 TLBrace node1 = (TLBrace) pop();
04069 AClassBody node = new AClassBody(node1, node2, node3);
04070 return node;
04071 }
04072 Node new79()
04073 {
04074 PClassBodyDeclaration node2 = (PClassBodyDeclaration) pop();
04075 XPClassBodyDeclaration node1 = (XPClassBodyDeclaration) pop();
04076 X1PClassBodyDeclaration node = new X1PClassBodyDeclaration(node1, node2);
04077 return node;
04078 }
04079 Node new8()
04080 {
04081 PTypeDeclaration node1 = (PTypeDeclaration) pop();
04082 X2PTypeDeclaration node = new X2PTypeDeclaration(node1);
04083 return node;
04084 }
04085 Node new80()
04086 {
04087 PClassBodyDeclaration node1 = (PClassBodyDeclaration) pop();
04088 X2PClassBodyDeclaration node = new X2PClassBodyDeclaration(node1);
04089 return node;
04090 }
04091 Node new81()
04092 {
04093 PClassMemberDeclaration node1 = (PClassMemberDeclaration) pop();
04094 AClassMemberDeclarationClassBodyDeclaration node = new AClassMemberDeclarationClassBodyDeclaration(node1);
04095 return node;
04096 }
04097 Node new82()
04098 {
04099 PStaticInitializer node1 = (PStaticInitializer) pop();
04100 AOldStaticInitializerClassBodyDeclaration node = new AOldStaticInitializerClassBodyDeclaration(node1);
04101 return node;
04102 }
04103 Node new83()
04104 {
04105 PConstructorDeclaration node1 = (PConstructorDeclaration) pop();
04106 AConstructorClassBodyDeclaration node = new AConstructorClassBodyDeclaration(node1);
04107 return node;
04108 }
04109 Node new84()
04110 {
04111 PBlock node1 = (PBlock) pop();
04112 ABlockClassBodyDeclaration node = new ABlockClassBodyDeclaration(node1);
04113 return node;
04114 }
04115 Node new85()
04116 {
04117 PFieldDeclaration node1 = (PFieldDeclaration) pop();
04118 AFieldDeclarationClassMemberDeclaration node = new AFieldDeclarationClassMemberDeclaration(node1);
04119 return node;
04120 }
04121 Node new86()
04122 {
04123 PMethodDeclaration node1 = (PMethodDeclaration) pop();
04124 AMethodDeclarationClassMemberDeclaration node = new AMethodDeclarationClassMemberDeclaration(node1);
04125 return node;
04126 }
04127 Node new87()
04128 {
04129 PClassDeclaration node1 = (PClassDeclaration) pop();
04130 AClassDeclarationClassMemberDeclaration node = new AClassDeclarationClassMemberDeclaration(node1);
04131 return node;
04132 }
04133 Node new88()
04134 {
04135 PInterfaceDeclaration node1 = (PInterfaceDeclaration) pop();
04136 AInterfaceDeclarationClassMemberDeclaration node = new AInterfaceDeclarationClassMemberDeclaration(node1);
04137 return node;
04138 }
04139 Node new89()
04140 {
04141 TSemicolon node4 = (TSemicolon) pop();
04142 PVariableDeclarators node3 = (PVariableDeclarators) pop();
04143 PType node2 = (PType) pop();
04144 XPModifier node1 = null;
04145 AOldFieldDeclaration node = new AOldFieldDeclaration(node1, node2, node3, node4);
04146 return node;
04147 }
04148 Node new9()
04149 {
04150 XPTypeDeclaration node3 = (XPTypeDeclaration) pop();
04151 XPImportDeclaration node2 = null;
04152 PPackageDeclaration node1 = (PPackageDeclaration) pop();
04153 AOldCompilationUnit node = new AOldCompilationUnit(node1, node2, node3);
04154 return node;
04155 }
04156 Node new90()
04157 {
04158 TSemicolon node4 = (TSemicolon) pop();
04159 PVariableDeclarators node3 = (PVariableDeclarators) pop();
04160 PType node2 = (PType) pop();
04161 XPModifier node1 = (XPModifier) pop();
04162 AOldFieldDeclaration node = new AOldFieldDeclaration(node1, node2, node3, node4);
04163 return node;
04164 }
04165 Node new91()
04166 {
04167 PVariableDeclarator node1 = (PVariableDeclarator) pop();
04168 AVariableDeclaratorVariableDeclarators node = new AVariableDeclaratorVariableDeclarators(node1);
04169 return node;
04170 }
04171 Node new92()
04172 {
04173 PVariableDeclarator node3 = (PVariableDeclarator) pop();
04174 TComma node2 = (TComma) pop();
04175 PVariableDeclarators node1 = (PVariableDeclarators) pop();
04176 AVariableDeclaratorsVariableDeclarators node = new AVariableDeclaratorsVariableDeclarators(node1, node2, node3);
04177 return node;
04178 }
04179 Node new93()
04180 {
04181 PVariableDeclaratorId node1 = (PVariableDeclaratorId) pop();
04182 AIdVariableDeclarator node = new AIdVariableDeclarator(node1);
04183 return node;
04184 }
04185 Node new94()
04186 {
04187 PVariableInitializer node3 = (PVariableInitializer) pop();
04188 TAssign node2 = (TAssign) pop();
04189 PVariableDeclaratorId node1 = (PVariableDeclaratorId) pop();
04190 AAssignedVariableDeclarator node = new AAssignedVariableDeclarator(node1, node2, node3);
04191 return node;
04192 }
04193 Node new95()
04194 {
04195 XPDim node2 = null;
04196 TId node1 = (TId) pop();
04197 AVariableDeclaratorId node = new AVariableDeclaratorId(node1, node2);
04198 return node;
04199 }
04200 Node new96()
04201 {
04202 XPDim node2 = (XPDim) pop();
04203 TId node1 = (TId) pop();
04204 AVariableDeclaratorId node = new AVariableDeclaratorId(node1, node2);
04205 return node;
04206 }
04207 Node new97()
04208 {
04209 PExp node1 = (PExp) pop();
04210 AExpVariableInitializer node = new AExpVariableInitializer(node1);
04211 return node;
04212 }
04213 Node new98()
04214 {
04215 PArrayInitializer node1 = (PArrayInitializer) pop();
04216 AArrayVariableInitializer node = new AArrayVariableInitializer(node1);
04217 return node;
04218 }
04219 Node new99()
04220 {
04221 PMethodBody node2 = (PMethodBody) pop();
04222 PMethodHeader node1 = (PMethodHeader) pop();
04223 AMethodDeclaration node = new AMethodDeclaration(node1, node2);
04224 return node;
04225 }
04226 public Start parse() throws ParserException, LexerException, IOException
04227 {
04228 push(0, null, false);
04229
04230 List ign = null;
04231 while(true)
04232 {
04233 while(index(lexer.peek()) == -1)
04234 {
04235 if(ign == null)
04236 {
04237 ign = new TypedLinkedList(NodeCast.instance);
04238 }
04239
04240 ign.add(lexer.next());
04241 }
04242
04243 if(ign != null)
04244 {
04245 ignoredTokens.setIn(lexer.peek(), ign);
04246 ign = null;
04247 }
04248
04249 last_pos = lexer.peek().getPos();
04250 last_line = lexer.peek().getLine();
04251
04252 int index = index(lexer.peek());
04253 action[0] = actionTable[state()][0][1];
04254 action[1] = actionTable[state()][0][2];
04255
04256 int low = 1;
04257 int high = actionTable[state()].length - 1;
04258
04259 while(low <= high)
04260 {
04261 int middle = (low + high) / 2;
04262
04263 if(index < actionTable[state()][middle][0])
04264 {
04265 high = middle - 1;
04266 }
04267 else if(index > actionTable[state()][middle][0])
04268 {
04269 low = middle + 1;
04270 }
04271 else
04272 {
04273 action[0] = actionTable[state()][middle][1];
04274 action[1] = actionTable[state()][middle][2];
04275 break;
04276 }
04277 }
04278
04279 switch(action[0])
04280 {
04281 case SHIFT:
04282 push(action[1], lexer.next(), true);
04283 last_shift = action[1];
04284 break;
04285 case REDUCE:
04286 switch(action[1])
04287 {
04288 case 0: { Node node = new0(); push(goTo(0), node, true); } break;
04289 case 1: { Node node = new1(); push(goTo(0), node, true); } break;
04290 case 2: { Node node = new2(); push(goTo(0), node, true); } break;
04291 case 3: { Node node = new3(); push(goTo(128), node, false); } break;
04292 case 4: { Node node = new4(); push(goTo(128), node, false); } break;
04293 case 5: { Node node = new5(); push(goTo(0), node, true); } break;
04294 case 6: { Node node = new6(); push(goTo(0), node, true); } break;
04295 case 7: { Node node = new7(); push(goTo(129), node, false); } break;
04296 case 8: { Node node = new8(); push(goTo(129), node, false); } break;
04297 case 9: { Node node = new9(); push(goTo(0), node, true); } break;
04298 case 10: { Node node = new10(); push(goTo(0), node, true); } break;
04299 case 11: { Node node = new11(); push(goTo(0), node, true); } break;
04300 case 12: { Node node = new12(); push(goTo(0), node, true); } break;
04301 case 13: { Node node = new13(); push(goTo(1), node, true); } break;
04302 case 14: { Node node = new14(); push(goTo(2), node, true); } break;
04303 case 15: { Node node = new15(); push(goTo(2), node, true); } break;
04304 case 16: { Node node = new16(); push(goTo(3), node, true); } break;
04305 case 17: { Node node = new17(); push(goTo(4), node, true); } break;
04306 case 18: { Node node = new18(); push(goTo(5), node, true); } break;
04307 case 19: { Node node = new19(); push(goTo(5), node, true); } break;
04308 case 20: { Node node = new20(); push(goTo(5), node, true); } break;
04309 case 21: { Node node = new21(); push(goTo(6), node, true); } break;
04310 case 22: { Node node = new22(); push(goTo(6), node, true); } break;
04311 case 23: { Node node = new23(); push(goTo(6), node, true); } break;
04312 case 24: { Node node = new24(); push(goTo(6), node, true); } break;
04313 case 25: { Node node = new25(); push(goTo(6), node, true); } break;
04314 case 26: { Node node = new26(); push(goTo(6), node, true); } break;
04315 case 27: { Node node = new27(); push(goTo(7), node, true); } break;
04316 case 28: { Node node = new28(); push(goTo(7), node, true); } break;
04317 case 29: { Node node = new29(); push(goTo(8), node, true); } break;
04318 case 30: { Node node = new30(); push(goTo(8), node, true); } break;
04319 case 31: { Node node = new31(); push(goTo(9), node, true); } break;
04320 case 32: { Node node = new32(); push(goTo(9), node, true); } break;
04321 case 33: { Node node = new33(); push(goTo(10), node, true); } break;
04322 case 34: { Node node = new34(); push(goTo(10), node, true); } break;
04323 case 35: { Node node = new35(); push(goTo(10), node, true); } break;
04324 case 36: { Node node = new36(); push(goTo(10), node, true); } break;
04325 case 37: { Node node = new37(); push(goTo(10), node, true); } break;
04326 case 38: { Node node = new38(); push(goTo(11), node, true); } break;
04327 case 39: { Node node = new39(); push(goTo(11), node, true); } break;
04328 case 40: { Node node = new40(); push(goTo(12), node, true); } break;
04329 case 41: { Node node = new41(); push(goTo(12), node, true); } break;
04330 case 42: { Node node = new42(); push(goTo(13), node, true); } break;
04331 case 43: { Node node = new43(); push(goTo(14), node, true); } break;
04332 case 44: { Node node = new44(); push(goTo(15), node, true); } break;
04333 case 45: { Node node = new45(); push(goTo(16), node, true); } break;
04334 case 46: { Node node = new46(); push(goTo(130), node, false); } break;
04335 case 47: { Node node = new47(); push(goTo(130), node, false); } break;
04336 case 48: { Node node = new48(); push(goTo(16), node, true); } break;
04337 case 49: { Node node = new49(); push(goTo(17), node, true); } break;
04338 case 50: { Node node = new50(); push(goTo(17), node, true); } break;
04339 case 51: { Node node = new51(); push(goTo(18), node, true); } break;
04340 case 52: { Node node = new52(); push(goTo(19), node, true); } break;
04341 case 53: { Node node = new53(); push(goTo(20), node, true); } break;
04342 case 54: { Node node = new54(); push(goTo(20), node, true); } break;
04343 case 55: { Node node = new55(); push(goTo(20), node, true); } break;
04344 case 56: { Node node = new56(); push(goTo(20), node, true); } break;
04345 case 57: { Node node = new57(); push(goTo(20), node, true); } break;
04346 case 58: { Node node = new58(); push(goTo(20), node, true); } break;
04347 case 59: { Node node = new59(); push(goTo(20), node, true); } break;
04348 case 60: { Node node = new60(); push(goTo(20), node, true); } break;
04349 case 61: { Node node = new61(); push(goTo(20), node, true); } break;
04350 case 62: { Node node = new62(); push(goTo(20), node, true); } break;
04351 case 63: { Node node = new63(); push(goTo(21), node, true); } break;
04352 case 64: { Node node = new64(); push(goTo(21), node, true); } break;
04353 case 65: { Node node = new65(); push(goTo(131), node, false); } break;
04354 case 66: { Node node = new66(); push(goTo(131), node, false); } break;
04355 case 67: { Node node = new67(); push(goTo(21), node, true); } break;
04356 case 68: { Node node = new68(); push(goTo(21), node, true); } break;
04357 case 69: { Node node = new69(); push(goTo(21), node, true); } break;
04358 case 70: { Node node = new70(); push(goTo(21), node, true); } break;
04359 case 71: { Node node = new71(); push(goTo(21), node, true); } break;
04360 case 72: { Node node = new72(); push(goTo(21), node, true); } break;
04361 case 73: { Node node = new73(); push(goTo(22), node, true); } break;
04362 case 74: { Node node = new74(); push(goTo(23), node, true); } break;
04363 case 75: { Node node = new75(); push(goTo(24), node, true); } break;
04364 case 76: { Node node = new76(); push(goTo(24), node, true); } break;
04365 case 77: { Node node = new77(); push(goTo(25), node, true); } break;
04366 case 78: { Node node = new78(); push(goTo(25), node, true); } break;
04367 case 79: { Node node = new79(); push(goTo(132), node, false); } break;
04368 case 80: { Node node = new80(); push(goTo(132), node, false); } break;
04369 case 81: { Node node = new81(); push(goTo(26), node, true); } break;
04370 case 82: { Node node = new82(); push(goTo(26), node, true); } break;
04371 case 83: { Node node = new83(); push(goTo(26), node, true); } break;
04372 case 84: { Node node = new84(); push(goTo(26), node, true); } break;
04373 case 85: { Node node = new85(); push(goTo(27), node, true); } break;
04374 case 86: { Node node = new86(); push(goTo(27), node, true); } break;
04375 case 87: { Node node = new87(); push(goTo(27), node, true); } break;
04376 case 88: { Node node = new88(); push(goTo(27), node, true); } break;
04377 case 89: { Node node = new89(); push(goTo(28), node, true); } break;
04378 case 90: { Node node = new90(); push(goTo(28), node, true); } break;
04379 case 91: { Node node = new91(); push(goTo(29), node, true); } break;
04380 case 92: { Node node = new92(); push(goTo(29), node, true); } break;
04381 case 93: { Node node = new93(); push(goTo(30), node, true); } break;
04382 case 94: { Node node = new94(); push(goTo(30), node, true); } break;
04383 case 95: { Node node = new95(); push(goTo(31), node, true); } break;
04384 case 96: { Node node = new96(); push(goTo(31), node, true); } break;
04385 case 97: { Node node = new97(); push(goTo(32), node, true); } break;
04386 case 98: { Node node = new98(); push(goTo(32), node, true); } break;
04387 case 99: { Node node = new99(); push(goTo(33), node, true); } break;
04388 case 100: { Node node = new100(); push(goTo(34), node, true); } break;
04389 case 101: { Node node = new101(); push(goTo(34), node, true); } break;
04390 case 102: { Node node = new102(); push(goTo(34), node, true); } break;
04391 case 103: { Node node = new103(); push(goTo(34), node, true); } break;
04392 case 104: { Node node = new104(); push(goTo(34), node, true); } break;
04393 case 105: { Node node = new105(); push(goTo(34), node, true); } break;
04394 case 106: { Node node = new106(); push(goTo(34), node, true); } break;
04395 case 107: { Node node = new107(); push(goTo(34), node, true); } break;
04396 case 108: { Node node = new108(); push(goTo(35), node, true); } break;
04397 case 109: { Node node = new109(); push(goTo(35), node, true); } break;
04398 case 110: { Node node = new110(); push(goTo(35), node, true); } break;
04399 case 111: { Node node = new111(); push(goTo(35), node, true); } break;
04400 case 112: { Node node = new112(); push(goTo(36), node, true); } break;
04401 case 113: { Node node = new113(); push(goTo(36), node, true); } break;
04402 case 114: { Node node = new114(); push(goTo(37), node, true); } break;
04403 case 115: { Node node = new115(); push(goTo(37), node, true); } break;
04404 case 116: { Node node = new116(); push(goTo(38), node, true); } break;
04405 case 117: { Node node = new117(); push(goTo(39), node, true); } break;
04406 case 118: { Node node = new118(); push(goTo(39), node, true); } break;
04407 case 119: { Node node = new119(); push(goTo(40), node, true); } break;
04408 case 120: { Node node = new120(); push(goTo(40), node, true); } break;
04409 case 121: { Node node = new121(); push(goTo(41), node, true); } break;
04410 case 122: { Node node = new122(); push(goTo(42), node, true); } break;
04411 case 123: { Node node = new123(); push(goTo(42), node, true); } break;
04412 case 124: { Node node = new124(); push(goTo(42), node, true); } break;
04413 case 125: { Node node = new125(); push(goTo(42), node, true); } break;
04414 case 126: { Node node = new126(); push(goTo(43), node, true); } break;
04415 case 127: { Node node = new127(); push(goTo(43), node, true); } break;
04416 case 128: { Node node = new128(); push(goTo(44), node, true); } break;
04417 case 129: { Node node = new129(); push(goTo(44), node, true); } break;
04418 case 130: { Node node = new130(); push(goTo(44), node, true); } break;
04419 case 131: { Node node = new131(); push(goTo(133), node, false); } break;
04420 case 132: { Node node = new132(); push(goTo(133), node, false); } break;
04421 case 133: { Node node = new133(); push(goTo(44), node, true); } break;
04422 case 134: { Node node = new134(); push(goTo(45), node, true); } break;
04423 case 135: { Node node = new135(); push(goTo(45), node, true); } break;
04424 case 136: { Node node = new136(); push(goTo(45), node, true); } break;
04425 case 137: { Node node = new137(); push(goTo(45), node, true); } break;
04426 case 138: { Node node = new138(); push(goTo(45), node, true); } break;
04427 case 139: { Node node = new139(); push(goTo(45), node, true); } break;
04428 case 140: { Node node = new140(); push(goTo(46), node, true); } break;
04429 case 141: { Node node = new141(); push(goTo(46), node, true); } break;
04430 case 142: { Node node = new142(); push(goTo(46), node, true); } break;
04431 case 143: { Node node = new143(); push(goTo(46), node, true); } break;
04432 case 144: { Node node = new144(); push(goTo(47), node, true); } break;
04433 case 145: { Node node = new145(); push(goTo(47), node, true); } break;
04434 case 146: { Node node = new146(); push(goTo(48), node, true); } break;
04435 case 147: { Node node = new147(); push(goTo(48), node, true); } break;
04436 case 148: { Node node = new148(); push(goTo(134), node, false); } break;
04437 case 149: { Node node = new149(); push(goTo(134), node, false); } break;
04438 case 150: { Node node = new150(); push(goTo(49), node, true); } break;
04439 case 151: { Node node = new151(); push(goTo(49), node, true); } break;
04440 case 152: { Node node = new152(); push(goTo(49), node, true); } break;
04441 case 153: { Node node = new153(); push(goTo(49), node, true); } break;
04442 case 154: { Node node = new154(); push(goTo(50), node, true); } break;
04443 case 155: { Node node = new155(); push(goTo(51), node, true); } break;
04444 case 156: { Node node = new156(); push(goTo(52), node, true); } break;
04445 case 157: { Node node = new157(); push(goTo(52), node, true); } break;
04446 case 158: { Node node = new158(); push(goTo(52), node, true); } break;
04447 case 159: { Node node = new159(); push(goTo(52), node, true); } break;
04448 case 160: { Node node = new160(); push(goTo(53), node, true); } break;
04449 case 161: { Node node = new161(); push(goTo(53), node, true); } break;
04450 case 162: { Node node = new162(); push(goTo(54), node, true); } break;
04451 case 163: { Node node = new163(); push(goTo(54), node, true); } break;
04452 case 164: { Node node = new164(); push(goTo(55), node, true); } break;
04453 case 165: { Node node = new165(); push(goTo(55), node, true); } break;
04454 case 166: { Node node = new166(); push(goTo(55), node, true); } break;
04455 case 167: { Node node = new167(); push(goTo(56), node, true); } break;
04456 case 168: { Node node = new168(); push(goTo(57), node, true); } break;
04457 case 169: { Node node = new169(); push(goTo(57), node, true); } break;
04458 case 170: { Node node = new170(); push(goTo(58), node, true); } break;
04459 case 171: { Node node = new171(); push(goTo(58), node, true); } break;
04460 case 172: { Node node = new172(); push(goTo(58), node, true); } break;
04461 case 173: { Node node = new173(); push(goTo(58), node, true); } break;
04462 case 174: { Node node = new174(); push(goTo(58), node, true); } break;
04463 case 175: { Node node = new175(); push(goTo(58), node, true); } break;
04464 case 176: { Node node = new176(); push(goTo(59), node, true); } break;
04465 case 177: { Node node = new177(); push(goTo(59), node, true); } break;
04466 case 178: { Node node = new178(); push(goTo(59), node, true); } break;
04467 case 179: { Node node = new179(); push(goTo(59), node, true); } break;
04468 case 180: { Node node = new180(); push(goTo(59), node, true); } break;
04469 case 181: { Node node = new181(); push(goTo(60), node, true); } break;
04470 case 182: { Node node = new182(); push(goTo(60), node, true); } break;
04471 case 183: { Node node = new183(); push(goTo(60), node, true); } break;
04472 case 184: { Node node = new184(); push(goTo(60), node, true); } break;
04473 case 185: { Node node = new185(); push(goTo(60), node, true); } break;
04474 case 186: { Node node = new186(); push(goTo(60), node, true); } break;
04475 case 187: { Node node = new187(); push(goTo(60), node, true); } break;
04476 case 188: { Node node = new188(); push(goTo(60), node, true); } break;
04477 case 189: { Node node = new189(); push(goTo(60), node, true); } break;
04478 case 190: { Node node = new190(); push(goTo(60), node, true); } break;
04479 case 191: { Node node = new191(); push(goTo(60), node, true); } break;
04480 case 192: { Node node = new192(); push(goTo(61), node, true); } break;
04481 case 193: { Node node = new193(); push(goTo(62), node, true); } break;
04482 case 194: { Node node = new194(); push(goTo(63), node, true); } break;
04483 case 195: { Node node = new195(); push(goTo(64), node, true); } break;
04484 case 196: { Node node = new196(); push(goTo(65), node, true); } break;
04485 case 197: { Node node = new197(); push(goTo(65), node, true); } break;
04486 case 198: { Node node = new198(); push(goTo(65), node, true); } break;
04487 case 199: { Node node = new199(); push(goTo(65), node, true); } break;
04488 case 200: { Node node = new200(); push(goTo(65), node, true); } break;
04489 case 201: { Node node = new201(); push(goTo(65), node, true); } break;
04490 case 202: { Node node = new202(); push(goTo(65), node, true); } break;
04491 case 203: { Node node = new203(); push(goTo(66), node, true); } break;
04492 case 204: { Node node = new204(); push(goTo(67), node, true); } break;
04493 case 205: { Node node = new205(); push(goTo(68), node, true); } break;
04494 case 206: { Node node = new206(); push(goTo(69), node, true); } break;
04495 case 207: { Node node = new207(); push(goTo(69), node, true); } break;
04496 case 208: { Node node = new208(); push(goTo(135), node, false); } break;
04497 case 209: { Node node = new209(); push(goTo(135), node, false); } break;
04498 case 210: { Node node = new210(); push(goTo(69), node, true); } break;
04499 case 211: { Node node = new211(); push(goTo(136), node, false); } break;
04500 case 212: { Node node = new212(); push(goTo(136), node, false); } break;
04501 case 213: { Node node = new213(); push(goTo(69), node, true); } break;
04502 case 214: { Node node = new214(); push(goTo(70), node, true); } break;
04503 case 215: { Node node = new215(); push(goTo(71), node, true); } break;
04504 case 216: { Node node = new216(); push(goTo(71), node, true); } break;
04505 case 217: { Node node = new217(); push(goTo(72), node, true); } break;
04506 case 218: { Node node = new218(); push(goTo(73), node, true); } break;
04507 case 219: { Node node = new219(); push(goTo(74), node, true); } break;
04508 case 220: { Node node = new220(); push(goTo(75), node, true); } break;
04509 case 221: { Node node = new221(); push(goTo(75), node, true); } break;
04510 case 222: { Node node = new222(); push(goTo(75), node, true); } break;
04511 case 223: { Node node = new223(); push(goTo(75), node, true); } break;
04512 case 224: { Node node = new224(); push(goTo(75), node, true); } break;
04513 case 225: { Node node = new225(); push(goTo(75), node, true); } break;
04514 case 226: { Node node = new226(); push(goTo(75), node, true); } break;
04515 case 227: { Node node = new227(); push(goTo(75), node, true); } break;
04516 case 228: { Node node = new228(); push(goTo(76), node, true); } break;
04517 case 229: { Node node = new229(); push(goTo(76), node, true); } break;
04518 case 230: { Node node = new230(); push(goTo(76), node, true); } break;
04519 case 231: { Node node = new231(); push(goTo(76), node, true); } break;
04520 case 232: { Node node = new232(); push(goTo(76), node, true); } break;
04521 case 233: { Node node = new233(); push(goTo(76), node, true); } break;
04522 case 234: { Node node = new234(); push(goTo(76), node, true); } break;
04523 case 235: { Node node = new235(); push(goTo(76), node, true); } break;
04524 case 236: { Node node = new236(); push(goTo(77), node, true); } break;
04525 case 237: { Node node = new237(); push(goTo(77), node, true); } break;
04526 case 238: { Node node = new238(); push(goTo(78), node, true); } break;
04527 case 239: { Node node = new239(); push(goTo(79), node, true); } break;
04528 case 240: { Node node = new240(); push(goTo(79), node, true); } break;
04529 case 241: { Node node = new241(); push(goTo(80), node, true); } break;
04530 case 242: { Node node = new242(); push(goTo(80), node, true); } break;
04531 case 243: { Node node = new243(); push(goTo(81), node, true); } break;
04532 case 244: { Node node = new244(); push(goTo(81), node, true); } break;
04533 case 245: { Node node = new245(); push(goTo(82), node, true); } break;
04534 case 246: { Node node = new246(); push(goTo(82), node, true); } break;
04535 case 247: { Node node = new247(); push(goTo(83), node, true); } break;
04536 case 248: { Node node = new248(); push(goTo(84), node, true); } break;
04537 case 249: { Node node = new249(); push(goTo(85), node, true); } break;
04538 case 250: { Node node = new250(); push(goTo(137), node, false); } break;
04539 case 251: { Node node = new251(); push(goTo(137), node, false); } break;
04540 case 252: { Node node = new252(); push(goTo(85), node, true); } break;
04541 case 253: { Node node = new253(); push(goTo(85), node, true); } break;
04542 case 254: { Node node = new254(); push(goTo(86), node, true); } break;
04543 case 255: { Node node = new255(); push(goTo(87), node, true); } break;
04544 case 256: { Node node = new256(); push(goTo(88), node, true); } break;
04545 case 257: { Node node = new257(); push(goTo(88), node, true); } break;
04546 case 258: { Node node = new258(); push(goTo(89), node, true); } break;
04547 case 259: { Node node = new259(); push(goTo(89), node, true); } break;
04548 case 260: { Node node = new260(); push(goTo(89), node, true); } break;
04549 case 261: { Node node = new261(); push(goTo(89), node, true); } break;
04550 case 262: { Node node = new262(); push(goTo(89), node, true); } break;
04551 case 263: { Node node = new263(); push(goTo(89), node, true); } break;
04552 case 264: { Node node = new264(); push(goTo(89), node, true); } break;
04553 case 265: { Node node = new265(); push(goTo(89), node, true); } break;
04554 case 266: { Node node = new266(); push(goTo(89), node, true); } break;
04555 case 267: { Node node = new267(); push(goTo(89), node, true); } break;
04556 case 268: { Node node = new268(); push(goTo(89), node, true); } break;
04557 case 269: { Node node = new269(); push(goTo(89), node, true); } break;
04558 case 270: { Node node = new270(); push(goTo(89), node, true); } break;
04559 case 271: { Node node = new271(); push(goTo(90), node, true); } break;
04560 case 272: { Node node = new272(); push(goTo(90), node, true); } break;
04561 case 273: { Node node = new273(); push(goTo(90), node, true); } break;
04562 case 274: { Node node = new274(); push(goTo(90), node, true); } break;
04563 case 275: { Node node = new275(); push(goTo(90), node, true); } break;
04564 case 276: { Node node = new276(); push(goTo(90), node, true); } break;
04565 case 277: { Node node = new277(); push(goTo(90), node, true); } break;
04566 case 278: { Node node = new278(); push(goTo(90), node, true); } break;
04567 case 279: { Node node = new279(); push(goTo(91), node, true); } break;
04568 case 280: { Node node = new280(); push(goTo(91), node, true); } break;
04569 case 281: { Node node = new281(); push(goTo(92), node, true); } break;
04570 case 282: { Node node = new282(); push(goTo(138), node, false); } break;
04571 case 283: { Node node = new283(); push(goTo(138), node, false); } break;
04572 case 284: { Node node = new284(); push(goTo(92), node, true); } break;
04573 case 285: { Node node = new285(); push(goTo(92), node, true); } break;
04574 case 286: { Node node = new286(); push(goTo(92), node, true); } break;
04575 case 287: { Node node = new287(); push(goTo(92), node, true); } break;
04576 case 288: { Node node = new288(); push(goTo(92), node, true); } break;
04577 case 289: { Node node = new289(); push(goTo(93), node, true); } break;
04578 case 290: { Node node = new290(); push(goTo(94), node, true); } break;
04579 case 291: { Node node = new291(); push(goTo(95), node, true); } break;
04580 case 292: { Node node = new292(); push(goTo(95), node, true); } break;
04581 case 293: { Node node = new293(); push(goTo(96), node, true); } break;
04582 case 294: { Node node = new294(); push(goTo(96), node, true); } break;
04583 case 295: { Node node = new295(); push(goTo(96), node, true); } break;
04584 case 296: { Node node = new296(); push(goTo(96), node, true); } break;
04585 case 297: { Node node = new297(); push(goTo(96), node, true); } break;
04586 case 298: { Node node = new298(); push(goTo(96), node, true); } break;
04587 case 299: { Node node = new299(); push(goTo(97), node, true); } break;
04588 case 300: { Node node = new300(); push(goTo(97), node, true); } break;
04589 case 301: { Node node = new301(); push(goTo(98), node, true); } break;
04590 case 302: { Node node = new302(); push(goTo(98), node, true); } break;
04591 case 303: { Node node = new303(); push(goTo(98), node, true); } break;
04592 case 304: { Node node = new304(); push(goTo(98), node, true); } break;
04593 case 305: { Node node = new305(); push(goTo(99), node, true); } break;
04594 case 306: { Node node = new306(); push(goTo(100), node, true); } break;
04595 case 307: { Node node = new307(); push(goTo(101), node, true); } break;
04596 case 308: { Node node = new308(); push(goTo(101), node, true); } break;
04597 case 309: { Node node = new309(); push(goTo(101), node, true); } break;
04598 case 310: { Node node = new310(); push(goTo(101), node, true); } break;
04599 case 311: { Node node = new311(); push(goTo(101), node, true); } break;
04600 case 312: { Node node = new312(); push(goTo(102), node, true); } break;
04601 case 313: { Node node = new313(); push(goTo(103), node, true); } break;
04602 case 314: { Node node = new314(); push(goTo(104), node, true); } break;
04603 case 315: { Node node = new315(); push(goTo(104), node, true); } break;
04604 case 316: { Node node = new316(); push(goTo(104), node, true); } break;
04605 case 317: { Node node = new317(); push(goTo(104), node, true); } break;
04606 case 318: { Node node = new318(); push(goTo(105), node, true); } break;
04607 case 319: { Node node = new319(); push(goTo(105), node, true); } break;
04608 case 320: { Node node = new320(); push(goTo(105), node, true); } break;
04609 case 321: { Node node = new321(); push(goTo(105), node, true); } break;
04610 case 322: { Node node = new322(); push(goTo(106), node, true); } break;
04611 case 323: { Node node = new323(); push(goTo(106), node, true); } break;
04612 case 324: { Node node = new324(); push(goTo(106), node, true); } break;
04613 case 325: { Node node = new325(); push(goTo(106), node, true); } break;
04614 case 326: { Node node = new326(); push(goTo(107), node, true); } break;
04615 case 327: { Node node = new327(); push(goTo(107), node, true); } break;
04616 case 328: { Node node = new328(); push(goTo(107), node, true); } break;
04617 case 329: { Node node = new329(); push(goTo(108), node, true); } break;
04618 case 330: { Node node = new330(); push(goTo(108), node, true); } break;
04619 case 331: { Node node = new331(); push(goTo(108), node, true); } break;
04620 case 332: { Node node = new332(); push(goTo(108), node, true); } break;
04621 case 333: { Node node = new333(); push(goTo(109), node, true); } break;
04622 case 334: { Node node = new334(); push(goTo(109), node, true); } break;
04623 case 335: { Node node = new335(); push(goTo(109), node, true); } break;
04624 case 336: { Node node = new336(); push(goTo(109), node, true); } break;
04625 case 337: { Node node = new337(); push(goTo(109), node, true); } break;
04626 case 338: { Node node = new338(); push(goTo(109), node, true); } break;
04627 case 339: { Node node = new339(); push(goTo(110), node, true); } break;
04628 case 340: { Node node = new340(); push(goTo(110), node, true); } break;
04629 case 341: { Node node = new341(); push(goTo(110), node, true); } break;
04630 case 342: { Node node = new342(); push(goTo(111), node, true); } break;
04631 case 343: { Node node = new343(); push(goTo(111), node, true); } break;
04632 case 344: { Node node = new344(); push(goTo(112), node, true); } break;
04633 case 345: { Node node = new345(); push(goTo(112), node, true); } break;
04634 case 346: { Node node = new346(); push(goTo(113), node, true); } break;
04635 case 347: { Node node = new347(); push(goTo(113), node, true); } break;
04636 case 348: { Node node = new348(); push(goTo(114), node, true); } break;
04637 case 349: { Node node = new349(); push(goTo(114), node, true); } break;
04638 case 350: { Node node = new350(); push(goTo(115), node, true); } break;
04639 case 351: { Node node = new351(); push(goTo(115), node, true); } break;
04640 case 352: { Node node = new352(); push(goTo(116), node, true); } break;
04641 case 353: { Node node = new353(); push(goTo(116), node, true); } break;
04642 case 354: { Node node = new354(); push(goTo(117), node, true); } break;
04643 case 355: { Node node = new355(); push(goTo(117), node, true); } break;
04644 case 356: { Node node = new356(); push(goTo(118), node, true); } break;
04645 case 357: { Node node = new357(); push(goTo(119), node, true); } break;
04646 case 358: { Node node = new358(); push(goTo(119), node, true); } break;
04647 case 359: { Node node = new359(); push(goTo(119), node, true); } break;
04648 case 360: { Node node = new360(); push(goTo(120), node, true); } break;
04649 case 361: { Node node = new361(); push(goTo(120), node, true); } break;
04650 case 362: { Node node = new362(); push(goTo(120), node, true); } break;
04651 case 363: { Node node = new363(); push(goTo(120), node, true); } break;
04652 case 364: { Node node = new364(); push(goTo(120), node, true); } break;
04653 case 365: { Node node = new365(); push(goTo(120), node, true); } break;
04654 case 366: { Node node = new366(); push(goTo(120), node, true); } break;
04655 case 367: { Node node = new367(); push(goTo(120), node, true); } break;
04656 case 368: { Node node = new368(); push(goTo(120), node, true); } break;
04657 case 369: { Node node = new369(); push(goTo(120), node, true); } break;
04658 case 370: { Node node = new370(); push(goTo(120), node, true); } break;
04659 case 371: { Node node = new371(); push(goTo(120), node, true); } break;
04660 case 372: { Node node = new372(); push(goTo(121), node, true); } break;
04661 case 373: { Node node = new373(); push(goTo(122), node, true); } break;
04662 case 374: { Node node = new374(); push(goTo(123), node, true); } break;
04663 case 375: { Node node = new375(); push(goTo(123), node, true); } break;
04664 case 376: { Node node = new376(); push(goTo(123), node, true); } break;
04665 case 377: { Node node = new377(); push(goTo(123), node, true); } break;
04666 case 378: { Node node = new378(); push(goTo(123), node, true); } break;
04667 case 379: { Node node = new379(); push(goTo(123), node, true); } break;
04668 case 380: { Node node = new380(); push(goTo(123), node, true); } break;
04669 case 381: { Node node = new381(); push(goTo(123), node, true); } break;
04670 case 382: { Node node = new382(); push(goTo(123), node, true); } break;
04671 case 383: { Node node = new383(); push(goTo(123), node, true); } break;
04672 case 384: { Node node = new384(); push(goTo(123), node, true); } break;
04673 case 385: { Node node = new385(); push(goTo(123), node, true); } break;
04674 case 386: { Node node = new386(); push(goTo(123), node, true); } break;
04675 case 387: { Node node = new387(); push(goTo(123), node, true); } break;
04676 case 388: { Node node = new388(); push(goTo(123), node, true); } break;
04677 case 389: { Node node = new389(); push(goTo(123), node, true); } break;
04678 case 390: { Node node = new390(); push(goTo(123), node, true); } break;
04679 case 391: { Node node = new391(); push(goTo(123), node, true); } break;
04680 case 392: { Node node = new392(); push(goTo(123), node, true); } break;
04681 case 393: { Node node = new393(); push(goTo(124), node, true); } break;
04682 case 394: { Node node = new394(); push(goTo(124), node, true); } break;
04683 case 395: { Node node = new395(); push(goTo(124), node, true); } break;
04684 case 396: { Node node = new396(); push(goTo(124), node, true); } break;
04685 case 397: { Node node = new397(); push(goTo(124), node, true); } break;
04686 case 398: { Node node = new398(); push(goTo(124), node, true); } break;
04687 case 399: { Node node = new399(); push(goTo(125), node, true); } break;
04688 case 400: { Node node = new400(); push(goTo(125), node, true); } break;
04689 case 401: { Node node = new401(); push(goTo(126), node, true); } break;
04690 case 402: { Node node = new402(); push(goTo(127), node, true); } break;
04691 case 403: { Node node = new403(); push(goTo(127), node, true); } break;
04692 case 404: { Node node = new404(); push(goTo(127), node, true); } break;
04693 }
04694 break;
04695 case ACCEPT:
04696 {
04697 EOF node2 = (EOF) lexer.next();
04698 PCompilationUnit node1 = (PCompilationUnit) pop();
04699 Start node = new Start(node1, node2);
04700 return node;
04701 }
04702 case ERROR:
04703 throw new ParserException(
04704 "[" + last_line + "," + last_pos + "] " +
04705 errorMessages[errors[action[1]]]);
04706 }
04707 }
04708 }
04709 private Node pop()
04710 {
04711 return (Node) ((State) stack.previous()).node;
04712 }
04713 private void push(int state, Node node, boolean filter) throws ParserException, LexerException, IOException
04714 {
04715 this.node = node;
04716
04717 if(filter)
04718 {
04719 filter();
04720 }
04721
04722 if(!stack.hasNext())
04723 {
04724 stack.add(new State(state, this.node));
04725 stack.next();
04726 return;
04727 }
04728
04729 State s = (State) stack.next();
04730 s.state = state;
04731 s.node = this.node;
04732 }
04733 private int state()
04734 {
04735 State s = (State) stack.previous();
04736 stack.next();
04737 return s.state;
04738 }
04739 }