1
2//----------------------------------------------------
3// The following code was generated by Java(tm) CUP v0.9d
4// Thu Dec 11 17:10:00 CET 2008
5//----------------------------------------------------
6
7package dasm;
8
9import java_cup.runtime.*;
10import dasm.tokens.number_token;
11import dasm.tokens.relative_number_token;
12import dasm.tokens.variant_token;
13
14public class parser extends java_cup.runtime.lr_parser {
15
16  /** constructor */
17  public parser() {super();}
18
19  /** production table */
20  protected static final short _production_table[][] = {
21        {25, 1},     {0, 2},     {26, 2},     {26, 1},     {27, 4},
22        {47, 10},     {43, 3},     {43, 0},     {35, 3},     {35, 3},
23        {35, 0},     {13, 4},     {13, 4},     {1, 1},     {99, 0},
24        {98, 2},     {11, 1},     {11, 0},     {10, 2},     {10, 1},
25        {9, 1},     {9, 1},     {9, 1},     {9, 1},     {9, 1},
26        {9, 1},     {9, 1},     {9, 1},     {9, 1},     {9, 1},
27        {9, 1},     {9, 1},     {9, 1},     {9, 1},     {9, 1},
28        {9, 1},     {9, 1},     {9, 1},     {39, 3},     {39, 0},
29        {22, 1},     {22, 0},     {23, 2},     {23, 1},     {24, 3},
30        {45, 3},     {45, 0},     {46, 1},     {44, 4},     {44, 0},
31        {48, 3},     {48, 0},     {49, 0},     {77, 1},     {77, 0},
32        {78, 2},     {78, 1},     {79, 3},     {94, 2},     {80, 2},
33        {81, 2},     {82, 3},     {82, 3},     {83, 3},     {83, 3},
34        {83, 4},     {83, 4},     {84, 1},     {84, 0},     {85, 2},
35        {85, 1},     {86, 3},     {92, 2},     {92, 3},     {87, 2},
36        {97, 2},     {97, 1},     {89, 2},     {89, 1},     {90, 1},
37        {96, 2},     {96, 1},     {95, 4},     {93, 1},     {88, 3},
38        {91, 1},     {91, 2},     {50, 1},     {50, 0},     {51, 2},
39        {51, 1},     {52, 3},     {53, 2},     {20, 1},     {20, 0},
40        {18, 2},     {18, 1},     {19, 8},     {19, 6},     {19, 4},
41        {6, 2},     {6, 0},     {54, 5},     {55, 3},     {56, 1},
42        {56, 0},     {57, 2},     {57, 1},     {58, 3},     {58, 3},
43        {58, 3},     {58, 4},     {7, 1},     {7, 1},     {7, 1},
44        {8, 1},     {8, 1},     {59, 1},     {59, 0},     {60, 2},
45        {60, 1},     {61, 7},     {61, 7},     {2, 1},     {2, 0},
46        {3, 2},     {3, 0},     {4, 2},     {4, 0},     {32, 1},
47        {32, 0},     {30, 2},     {30, 1},     {31, 3},     {31, 2},
48        {15, 4},     {17, 3},     {37, 2},     {37, 1},     {100, 0},
49        {36, 3},     {38, 1},     {38, 1},     {38, 1},     {38, 1},
50        {38, 0},     {28, 2},     {28, 3},     {16, 2},     {16, 2},
51        {16, 2},     {16, 2},     {16, 2},     {16, 2},     {16, 2},
52        {16, 2},     {16, 2},     {16, 4},     {16, 4},     {42, 9},
53        {42, 5},     {42, 9},     {5, 2},     {5, 0},     {29, 2},
54        {29, 2},     {40, 1},     {41, 1},     {12, 7},     {12, 7},
55        {33, 2},     {21, 1},     {21, 1},     {34, 1},     {34, 2},
56        {34, 2},     {34, 3},     {34, 3},     {34, 3},     {34, 3},
57        {34, 4},     {34, 4},     {34, 4},     {34, 3},     {34, 5},
58        {14, 2},     {14, 2},     {14, 2},     {62, 3},     {63, 3},
59        {64, 2},     {64, 1},     {65, 2},     {65, 2},     {66, 1},
60        {67, 3},     {68, 3},     {69, 2},     {69, 1},     {70, 2},
61        {70, 2},     {71, 1},     {72, 3},     {73, 2},     {74, 2},
62        {74, 1},     {75, 4},     {75, 4},     {76, 1}  };
63
64  /** access to production table */
65  public short[][] production_table() {return _production_table;}
66
67  /** parse action table */
68  protected static final short[][] _action_table = {
69    /*0*/{3,-8,11,-8,15,-8,16,4,-1,0},
70    /*1*/{0,-4,3,-4,11,-4,15,-4,16,-4,-1,0},
71    /*2*/{0,359,-1,0},
72    /*3*/{71,357,-1,0},
73    /*4*/{3,-11,11,302,15,-11,-1,0},
74    /*5*/{0,-1,3,-8,11,-8,15,-8,16,4,-1,0},
75    /*6*/{0,-119,3,-119,5,-119,8,-119,11,-119,15,-119,16,-119,22,8,-1,0},
76    /*7*/{31,285,41,284,-1,0},
77    /*8*/{0,-121,3,-121,5,-121,8,-121,11,-121,15,-121,16,-121,22,-121,-1,0},
78    /*9*/{0,-95,3,-95,5,15,8,-95,11,-95,15,-95,16,-95,-1,0},
79    /*10*/{0,-118,3,-118,5,-118,8,-118,11,-118,15,-118,16,-118,22,8,-1,0},
80    /*11*/{0,-120,3,-120,5,-120,8,-120,11,-120,15,-120,16,-120,22,-120,-1,0},
81    /*12*/{0,-131,3,-131,8,117,11,-131,15,-131,16,-131,-1,0},
82    /*13*/{0,-97,3,-97,5,-97,8,-97,11,-97,15,-97,16,-97,-1,0},
83    /*14*/{39,-15,40,-15,41,-15,42,-15,43,-15,44,-15,45,-15,46,-15,47,-15,48,-15,49,-15,50,-15,51,-15,52,-15,53,-15,54,-15,55,-15,56,-15,68,-15,-1,0},
84    /*15*/{0,-94,3,-94,5,15,8,-94,11,-94,15,-94,16,-94,-1,0},
85    /*16*/{0,-96,3,-96,5,-96,8,-96,11,-96,15,-96,16,-96,-1,0},
86    /*17*/{68,105,-1,0},
87    /*18*/{33,-18,34,-18,39,100,40,97,41,98,42,87,43,85,44,94,45,90,46,92,47,101,48,88,49,95,50,91,51,89,52,96,53,86,54,99,55,93,56,84,65,-18,68,-18,-1,0},
88    /*19*/{4,-106,19,26,20,22,21,21,23,27,-1,0},
89    /*20*/{65,-53,-1,0},
90    /*21*/{68,77,-1,0},
91    /*22*/{4,-105,19,26,20,22,21,21,23,27,-1,0},
92    /*23*/{4,-108,19,-108,20,-108,21,-108,23,-108,-1,0},
93    /*24*/{4,72,-1,0},
94    /*25*/{67,69,-1,0},
95    /*26*/{35,29,36,28,-1,0},
96    /*27*/{68,64,-1,0},
97    /*28*/{68,64,-1,0},
98    /*29*/{4,-69,68,33,-1,0},
99    /*30*/{4,-68,68,33,-1,0},
100    /*31*/{64,43,-1,0},
101    /*32*/{68,41,-1,0},
102    /*33*/{4,-71,68,-71,-1,0},
103    /*34*/{4,38,-1,0},
104    /*35*/{4,-112,19,-112,20,-112,21,-112,23,-112,-1,0},
105    /*36*/{65,40,-1,0},
106    /*37*/{51,39,-1,0},
107    /*38*/{65,-60,-1,0},
108    /*39*/{0,-59,3,-59,4,-59,5,-59,8,-59,11,-59,15,-59,16,-59,19,-59,20,-59,21,-59,22,-59,23,-59,68,-59,-1,0},
109    /*40*/{64,-73,68,42,-1,0},
110    /*41*/{64,-74,-1,0},
111    /*42*/{23,50,67,52,68,46,70,49,71,48,-1,0},
112    /*43*/{65,61,67,52,68,46,70,49,71,48,-1,0},
113    /*44*/{4,-72,68,-72,-1,0},
114    /*45*/{65,-116,67,-116,68,-116,70,-116,71,-116,-1,0},
115    /*46*/{4,-82,23,-82,68,-82,-1,0},
116    /*47*/{65,-114,67,-114,68,-114,70,-114,71,-114,-1,0},
117    /*48*/{65,-113,67,-113,68,-113,70,-113,71,-113,-1,0},
118    /*49*/{65,57,-1,0},
119    /*50*/{4,-77,23,50,68,-77,-1,0},
120    /*51*/{65,-115,67,-115,68,-115,70,-115,71,-115,-1,0},
121    /*52*/{65,-79,67,-79,68,-79,70,-79,71,-79,-1,0},
122    /*53*/{65,-117,67,-117,68,-117,70,-117,71,-117,-1,0},
123    /*54*/{65,-80,67,-80,68,-80,70,-80,71,-80,-1,0},
124    /*55*/{4,-81,23,-81,-1,0},
125    /*56*/{4,-84,68,-84,-1,0},
126    /*57*/{4,-69,68,33,-1,0},
127    /*58*/{4,38,-1,0},
128    /*59*/{4,-83,23,-83,68,-83,-1,0},
129    /*60*/{4,-76,-1,0},
130    /*61*/{65,-78,67,-78,68,-78,70,-78,71,-78,-1,0},
131    /*62*/{4,-70,68,-70,-1,0},
132    /*63*/{26,-14,34,-14,65,-14,-1,0},
133    /*64*/{65,66,-1,0},
134    /*65*/{4,-62,68,-62,-1,0},
135    /*66*/{65,68,-1,0},
136    /*67*/{4,-63,68,-63,-1,0},
137    /*68*/{65,-48,-1,0},
138    /*69*/{65,71,-1,0},
139    /*70*/{4,-109,19,-109,20,-109,21,-109,23,-109,-1,0},
140    /*71*/{30,74,-1,0},
141    /*72*/{0,-100,3,-100,5,-100,8,-100,11,-100,15,-100,16,-100,-1,0},
142    /*73*/{65,75,-1,0},
143    /*74*/{0,-104,3,-104,5,-104,8,-104,11,-104,15,-104,16,-104,-1,0},
144    /*75*/{4,-107,19,-107,20,-107,21,-107,23,-107,-1,0},
145    /*76*/{67,80,-1,0},
146    /*77*/{65,79,-1,0},
147    /*78*/{4,-110,19,-110,20,-110,21,-110,23,-110,-1,0},
148    /*79*/{65,-93,-1,0},
149    /*80*/{65,82,-1,0},
150    /*81*/{4,-111,19,-111,20,-111,21,-111,23,-111,-1,0},
151    /*82*/{33,-17,34,-17,39,100,40,97,41,98,42,87,43,85,44,94,45,90,46,92,47,101,48,88,49,95,50,91,51,89,52,96,53,86,54,99,55,93,56,84,65,-17,68,-17,-1,0},
152    /*83*/{33,-37,34,-37,39,-37,40,-37,41,-37,42,-37,43,-37,44,-37,45,-37,46,-37,47,-37,48,-37,49,-37,50,-37,51,-37,52,-37,53,-37,54,-37,55,-37,56,-37,65,-37,68,-37,-1,0},
153    /*84*/{33,-22,34,-22,39,-22,40,-22,41,-22,42,-22,43,-22,44,-22,45,-22,46,-22,47,-22,48,-22,49,-22,50,-22,51,-22,52,-22,53,-22,54,-22,55,-22,56,-22,65,-22,68,-22,-1,0},
154    /*85*/{33,-34,34,-34,39,-34,40,-34,41,-34,42,-34,43,-34,44,-34,45,-34,46,-34,47,-34,48,-34,49,-34,50,-34,51,-34,52,-34,53,-34,54,-34,55,-34,56,-34,65,-34,68,-34,-1,0},
155    /*86*/{33,-29,34,-29,39,-29,40,-29,41,-29,42,-29,43,-29,44,-29,45,-29,46,-29,47,-29,48,-29,49,-29,50,-29,51,-29,52,-29,53,-29,54,-29,55,-29,56,-29,65,-29,68,-29,-1,0},
156    /*87*/{33,-38,34,-38,39,-38,40,-38,41,-38,42,-38,43,-38,44,-38,45,-38,46,-38,47,-38,48,-38,49,-38,50,-38,51,-38,52,-38,53,-38,54,-38,55,-38,56,-38,65,-38,68,-38,-1,0},
157    /*88*/{33,-32,34,-32,39,-32,40,-32,41,-32,42,-32,43,-32,44,-32,45,-32,46,-32,47,-32,48,-32,49,-32,50,-32,51,-32,52,-32,53,-32,54,-32,55,-32,56,-32,65,-32,68,-32,-1,0},
158    /*89*/{33,-21,34,-21,39,-21,40,-21,41,-21,42,-21,43,-21,44,-21,45,-21,46,-21,47,-21,48,-21,49,-21,50,-21,51,-21,52,-21,53,-21,54,-21,55,-21,56,-21,65,-21,68,-21,-1,0},
159    /*90*/{33,-27,34,-27,39,-27,40,-27,41,-27,42,-27,43,-27,44,-27,45,-27,46,-27,47,-27,48,-27,49,-27,50,-27,51,-27,52,-27,53,-27,54,-27,55,-27,56,-27,65,-27,68,-27,-1,0},
160    /*91*/{33,-24,34,-24,39,-24,40,-24,41,-24,42,-24,43,-24,44,-24,45,-24,46,-24,47,-24,48,-24,49,-24,50,-24,51,-24,52,-24,53,-24,54,-24,55,-24,56,-24,65,-24,68,-24,-1,0},
161    /*92*/{33,-36,34,-36,39,-36,40,-36,41,-36,42,-36,43,-36,44,-36,45,-36,46,-36,47,-36,48,-36,49,-36,50,-36,51,-36,52,-36,53,-36,54,-36,55,-36,56,-36,65,-36,68,-36,-1,0},
162    /*93*/{33,-23,34,-23,39,-23,40,-23,41,-23,42,-23,43,-23,44,-23,45,-23,46,-23,47,-23,48,-23,49,-23,50,-23,51,-23,52,-23,53,-23,54,-23,55,-23,56,-23,65,-23,68,-23,-1,0},
163    /*94*/{33,-28,34,-28,39,-28,40,-28,41,-28,42,-28,43,-28,44,-28,45,-28,46,-28,47,-28,48,-28,49,-28,50,-28,51,-28,52,-28,53,-28,54,-28,55,-28,56,-28,65,-28,68,-28,-1,0},
164    /*95*/{33,-33,34,-33,39,-33,40,-33,41,-33,42,-33,43,-33,44,-33,45,-33,46,-33,47,-33,48,-33,49,-33,50,-33,51,-33,52,-33,53,-33,54,-33,55,-33,56,-33,65,-33,68,-33,-1,0},
165    /*96*/{33,-25,34,-25,39,-25,40,-25,41,-25,42,-25,43,-25,44,-25,45,-25,46,-25,47,-25,48,-25,49,-25,50,-25,51,-25,52,-25,53,-25,54,-25,55,-25,56,-25,65,-25,68,-25,-1,0},
166    /*97*/{33,-30,34,-30,39,-30,40,-30,41,-30,42,-30,43,-30,44,-30,45,-30,46,-30,47,-30,48,-30,49,-30,50,-30,51,-30,52,-30,53,-30,54,-30,55,-30,56,-30,65,-30,68,-30,-1,0},
167    /*98*/{33,-35,34,-35,39,-35,40,-35,41,-35,42,-35,43,-35,44,-35,45,-35,46,-35,47,-35,48,-35,49,-35,50,-35,51,-35,52,-35,53,-35,54,-35,55,-35,56,-35,65,-35,68,-35,-1,0},
168    /*99*/{33,-31,34,-31,39,-31,40,-31,41,-31,42,-31,43,-31,44,-31,45,-31,46,-31,47,-31,48,-31,49,-31,50,-31,51,-31,52,-31,53,-31,54,-31,55,-31,56,-31,65,-31,68,-31,-1,0},
169    /*100*/{33,-26,34,-26,39,-26,40,-26,41,-26,42,-26,43,-26,44,-26,45,-26,46,-26,47,-26,48,-26,49,-26,50,-26,51,-26,52,-26,53,-26,54,-26,55,-26,56,-26,65,-26,68,-26,-1,0},
170    /*101*/{33,-16,34,-16,65,-16,68,-16,-1,0},
171    /*102*/{33,-20,34,-20,39,-20,40,-20,41,-20,42,-20,43,-20,44,-20,45,-20,46,-20,47,-20,48,-20,49,-20,50,-20,51,-20,52,-20,53,-20,54,-20,55,-20,56,-20,65,-20,68,-20,-1,0},
172    /*103*/{33,-19,34,-19,39,-19,40,-19,41,-19,42,-19,43,-19,44,-19,45,-19,46,-19,47,-19,48,-19,49,-19,50,-19,51,-19,52,-19,53,-19,54,-19,55,-19,56,-19,65,-19,68,-19,-1,0},
173    /*104*/{68,106,-1,0},
174    /*105*/{28,109,64,107,65,-102,-1,0},
175    /*106*/{67,52,70,49,71,48,-1,0},
176    /*107*/{65,113,-1,0},
177    /*108*/{67,110,-1,0},
178    /*109*/{64,107,65,-102,-1,0},
179    /*110*/{65,112,-1,0},
180    /*111*/{0,-98,3,-98,5,-98,8,-98,11,-98,15,-98,16,-98,-1,0},
181    /*112*/{0,-99,3,-99,4,-103,5,-99,8,-99,11,-99,15,-99,16,-99,19,-103,20,-103,21,-103,23,-103,-1,0},
182    /*113*/{65,-101,-1,0},
183    /*114*/{0,-5,3,-5,11,-5,15,-5,16,-5,-1,0},
184    /*115*/{0,-133,3,-133,8,-133,11,-133,15,-133,16,-133,-1,0},
185    /*116*/{39,-15,40,-15,41,-15,42,-15,43,-15,44,-15,45,-15,46,-15,47,-15,48,-15,49,-15,50,-15,51,-15,52,-15,53,-15,54,-15,55,-15,56,-15,68,-15,-1,0},
186    /*117*/{1,-140,2,-140,4,123,6,-140,7,-140,9,-140,12,-140,13,-140,19,-140,20,-140,21,-140,23,-140,57,-140,59,-140,61,-140,65,-140,68,-140,69,-140,70,-140,-1,0},
187    /*118*/{0,-130,3,-130,8,117,11,-130,15,-130,16,-130,-1,0},
188    /*119*/{0,-132,3,-132,8,-132,11,-132,15,-132,16,-132,-1,0},
189    /*120*/{1,-140,2,-140,4,123,6,-140,7,-140,9,-140,12,-140,13,-140,19,-140,20,-140,21,-140,23,-140,57,-140,59,-140,61,-140,65,-140,68,-140,69,-140,70,-140,-1,0},
190    /*121*/{1,142,2,138,6,131,7,144,9,143,12,150,13,130,19,133,20,128,21,148,23,134,57,145,59,136,61,132,65,-146,68,129,69,141,70,135,-1,0},
191    /*122*/{27,126,-1,0},
192    /*123*/{1,-139,2,-139,4,-139,6,-139,7,-139,9,-139,12,-139,13,-139,19,-139,20,-139,21,-139,23,-139,57,-139,59,-139,61,-139,65,-139,68,-139,69,-139,70,-139,-1,0},
193    /*124*/{0,-135,3,-135,8,-135,11,-135,15,-135,16,-135,-1,0},
194    /*125*/{65,127,-1,0},
195    /*126*/{0,-137,3,-137,8,-137,11,-137,15,-137,16,-137,-1,0},
196    /*127*/{68,77,-1,0},
197    /*128*/{66,277,-1,0},
198    /*129*/{70,263,-1,0},
199    /*130*/{29,259,68,258,-1,0},
200    /*131*/{68,243,-1,0},
201    /*132*/{67,69,-1,0},
202    /*133*/{35,218,36,215,37,220,38,219,63,214,-1,0},
203    /*134*/{66,212,-1,0},
204    /*135*/{68,199,-1,0},
205    /*136*/{65,-145,-1,0},
206    /*137*/{68,64,-1,0},
207    /*138*/{65,-143,-1,0},
208    /*139*/{65,184,-1,0},
209    /*140*/{65,-174,68,173,72,174,-1,0},
210    /*141*/{65,-144,-1,0},
211    /*142*/{68,171,-1,0},
212    /*143*/{70,169,-1,0},
213    /*144*/{68,156,-1,0},
214    /*145*/{65,-172,-1,0},
215    /*146*/{65,-142,-1,0},
216    /*147*/{65,-53,-1,0},
217    /*148*/{65,-173,-1,0},
218    /*149*/{68,64,-1,0},
219    /*150*/{65,-168,-1,0},
220    /*151*/{65,-152,-1,0},
221    /*152*/{65,-157,-1,0},
222    /*153*/{65,-186,-1,0},
223    /*154*/{70,160,71,162,-1,0},
224    /*155*/{68,157,-1,0},
225    /*156*/{65,158,-1,0},
226    /*157*/{70,-190,71,-190,-1,0},
227    /*158*/{58,167,70,160,71,162,-1,0},
228    /*159*/{65,164,-1,0},
229    /*160*/{58,-192,70,-192,71,-192,-1,0},
230    /*161*/{65,163,-1,0},
231    /*162*/{58,-193,70,-193,71,-193,-1,0},
232    /*163*/{58,-194,70,-194,71,-194,-1,0},
233    /*164*/{65,-189,-1,0},
234    /*165*/{58,-191,70,-191,71,-191,-1,0},
235    /*166*/{65,-195,-1,0},
236    /*167*/{65,-151,-1,0},
237    /*168*/{65,-167,-1,0},
238    /*169*/{65,-154,-1,0},
239    /*170*/{67,52,68,46,70,49,71,48,-1,0},
240    /*171*/{65,-171,-1,0},
241    /*172*/{65,-175,67,176,68,175,70,178,71,179,72,177,-1,0},
242    /*173*/{65,-176,-1,0},
243    /*174*/{65,-179,68,180,70,182,72,181,-1,0},
244    /*175*/{65,-184,-1,0},
245    /*176*/{65,-180,-1,0},
246    /*177*/{65,-178,-1,0},
247    /*178*/{65,-177,-1,0},
248    /*179*/{65,-181,68,183,-1,0},
249    /*180*/{65,-182,-1,0},
250    /*181*/{65,-183,-1,0},
251    /*182*/{65,-185,-1,0},
252    /*183*/{1,-141,2,-141,4,-141,6,-141,7,-141,9,-141,12,-141,13,-141,19,-141,20,-141,21,-141,23,-141,57,-141,59,-141,61,-141,65,-141,68,-141,69,-141,70,-141,-1,0},
253    /*184*/{65,-153,-1,0},
254    /*185*/{26,187,-1,0},
255    /*186*/{68,188,70,189,-1,0},
256    /*187*/{32,194,-1,0},
257    /*188*/{32,190,-1,0},
258    /*189*/{70,191,-1,0},
259    /*190*/{24,192,-1,0},
260    /*191*/{70,193,-1,0},
261    /*192*/{65,-170,-1,0},
262    /*193*/{68,195,-1,0},
263    /*194*/{24,196,-1,0},
264    /*195*/{68,197,-1,0},
265    /*196*/{65,-169,-1,0},
266    /*197*/{68,203,72,206,-1,0},
267    /*198*/{70,201,-1,0},
268    /*199*/{65,-187,-1,0},
269    /*200*/{65,202,-1,0},
270    /*201*/{68,-197,72,-197,-1,0},
271    /*202*/{65,211,-1,0},
272    /*203*/{60,-199,68,-199,72,-199,-1,0},
273    /*204*/{60,210,68,203,72,206,-1,0},
274    /*205*/{65,207,-1,0},
275    /*206*/{60,-201,68,-201,72,-201,-1,0},
276    /*207*/{65,-196,-1,0},
277    /*208*/{60,-198,68,-198,72,-198,-1,0},
278    /*209*/{65,-202,-1,0},
279    /*210*/{60,-200,68,-200,72,-200,-1,0},
280    /*211*/{57,145,59,136,61,132,69,141,-1,0},
281    /*212*/{65,-148,-1,0},
282    /*213*/{65,240,-1,0},
283    /*214*/{68,64,-1,0},
284    /*215*/{4,-69,68,33,-1,0},
285    /*216*/{68,229,-1,0},
286    /*217*/{68,64,-1,0},
287    /*218*/{70,224,-1,0},
288    /*219*/{70,221,-1,0},
289    /*220*/{68,64,-1,0},
290    /*221*/{65,223,-1,0},
291    /*222*/{4,-66,68,-66,-1,0},
292    /*223*/{68,64,-1,0},
293    /*224*/{65,226,-1,0},
294    /*225*/{4,-67,68,-67,-1,0},
295    /*226*/{65,228,-1,0},
296    /*227*/{4,-64,68,-64,-1,0},
297    /*228*/{64,-86,68,235,-1,0},
298    /*229*/{4,38,-1,0},
299    /*230*/{64,232,-1,0},
300    /*231*/{23,50,67,52,68,46,70,49,71,48,-1,0},
301    /*232*/{4,-85,-1,0},
302    /*233*/{65,-159,-1,0},
303    /*234*/{64,-87,-1,0},
304    /*235*/{4,38,-1,0},
305    /*236*/{65,-158,-1,0},
306    /*237*/{65,239,-1,0},
307    /*238*/{4,-65,68,-65,-1,0},
308    /*239*/{68,-75,-1,0},
309    /*240*/{65,-155,-1,0},
310    /*241*/{70,248,-1,0},
311    /*242*/{65,245,-1,0},
312    /*243*/{65,-188,-1,0},
313    /*244*/{70,-204,-1,0},
314    /*245*/{62,-206,70,-206,-1,0},
315    /*246*/{62,256,70,248,-1,0},
316    /*247*/{66,249,-1,0},
317    /*248*/{68,250,72,251,-1,0},
318    /*249*/{65,253,-1,0},
319    /*250*/{65,252,-1,0},
320    /*251*/{62,-208,70,-208,-1,0},
321    /*252*/{62,-207,70,-207,-1,0},
322    /*253*/{65,-203,-1,0},
323    /*254*/{62,-205,70,-205,-1,0},
324    /*255*/{65,-209,-1,0},
325    /*256*/{65,-150,-1,0},
326    /*257*/{70,261,-1,0},
327    /*258*/{70,260,-1,0},
328    /*259*/{65,-165,-1,0},
329    /*260*/{65,-166,-1,0},
330    /*261*/{65,-149,-1,0},
331    /*262*/{25,264,-1,0},
332    /*263*/{68,265,-1,0},
333    /*264*/{68,266,-1,0},
334    /*265*/{26,-164,28,267,65,-164,-1,0},
335    /*266*/{67,276,-1,0},
336    /*267*/{26,269,65,-161,-1,0},
337    /*268*/{68,270,70,271,-1,0},
338    /*269*/{32,274,-1,0},
339    /*270*/{32,272,-1,0},
340    /*271*/{70,273,-1,0},
341    /*272*/{65,-162,-1,0},
342    /*273*/{68,275,-1,0},
343    /*274*/{65,-160,-1,0},
344    /*275*/{26,-163,65,-163,-1,0},
345    /*276*/{65,-147,-1,0},
346    /*277*/{65,-156,-1,0},
347    /*278*/{1,-138,2,-138,4,-138,6,-138,7,-138,9,-138,12,-138,13,-138,19,-138,20,-138,21,-138,23,-138,57,-138,59,-138,61,-138,65,-138,68,-138,69,-138,70,-138,-1,0},
348    /*279*/{0,-134,3,-134,8,-134,11,-134,15,-134,16,-134,-1,0},
349    /*280*/{68,282,-1,0},
350    /*281*/{65,283,-1,0},
351    /*282*/{1,-136,2,-136,4,-136,6,-136,7,-136,9,-136,12,-136,13,-136,19,-136,20,-136,21,-136,23,-136,57,-136,59,-136,61,-136,65,-136,68,-136,69,-136,70,-136,-1,0},
352    /*283*/{33,-15,34,-15,39,-15,40,-15,41,-15,42,-15,43,-15,44,-15,45,-15,46,-15,47,-15,48,-15,49,-15,50,-15,51,-15,52,-15,53,-15,54,-15,55,-15,56,-15,65,-15,68,-15,-1,0},
353    /*284*/{33,-15,34,-15,39,-15,40,-15,41,-15,42,-15,43,-15,44,-15,45,-15,46,-15,47,-15,48,-15,49,-15,50,-15,51,-15,52,-15,53,-15,54,-15,55,-15,56,-15,65,-15,68,-15,-1,0},
354    /*285*/{33,-125,34,-125,65,-125,68,288,-1,0},
355    /*286*/{33,289,34,-127,65,-127,-1,0},
356    /*287*/{33,-124,34,-124,65,-124,-1,0},
357    /*288*/{68,64,-1,0},
358    /*289*/{34,291,65,-129,-1,0},
359    /*290*/{68,64,-1,0},
360    /*291*/{65,293,-1,0},
361    /*292*/{0,-122,3,-122,5,-122,8,-122,11,-122,15,-122,16,-122,22,-122,-1,0},
362    /*293*/{65,-128,-1,0},
363    /*294*/{34,-126,65,-126,-1,0},
364    /*295*/{33,-125,34,-125,65,-125,68,288,-1,0},
365    /*296*/{33,289,34,-127,65,-127,-1,0},
366    /*297*/{34,291,65,-129,-1,0},
367    /*298*/{65,300,-1,0},
368    /*299*/{0,-123,3,-123,5,-123,8,-123,11,-123,15,-123,16,-123,22,-123,-1,0},
369    /*300*/{0,-3,3,-3,11,-3,15,-3,16,-3,-1,0},
370    /*301*/{67,353,68,354,-1,0},
371    /*302*/{3,305,15,304,-1,0},
372    /*303*/{39,-15,40,-15,41,-15,42,-15,43,-15,44,-15,45,-15,46,-15,47,-15,48,-15,49,-15,50,-15,51,-15,52,-15,53,-15,54,-15,55,-15,56,-15,68,-15,-1,0},
373    /*304*/{39,-15,40,-15,41,-15,42,-15,43,-15,44,-15,45,-15,46,-15,47,-15,48,-15,49,-15,50,-15,51,-15,52,-15,53,-15,54,-15,55,-15,56,-15,68,-15,-1,0},
374    /*305*/{0,-40,3,-40,5,-40,8,-40,10,308,11,-40,14,-40,15,-40,16,-40,18,-40,19,-40,20,-40,21,-40,22,-40,23,-40,-1,0},
375    /*306*/{0,-42,3,-42,5,-42,8,-42,11,-42,14,312,15,-42,16,-42,18,-42,19,-42,20,-42,21,-42,22,-42,23,-42,-1,0},
376    /*307*/{68,64,-1,0},
377    /*308*/{65,310,-1,0},
378    /*309*/{0,-39,3,-39,5,-39,8,-39,11,-39,14,-39,15,-39,16,-39,18,-39,19,-39,20,-39,21,-39,22,-39,23,-39,-1,0},
379    /*310*/{0,-44,3,-44,5,-44,8,-44,11,-44,14,-44,15,-44,16,-44,18,-44,19,-44,20,-44,21,-44,22,-44,23,-44,-1,0},
380    /*311*/{68,64,-1,0},
381    /*312*/{0,-47,3,-47,5,-47,8,-47,11,-47,15,-47,16,-47,18,-47,19,317,20,-47,21,-47,22,-47,23,-47,-1,0},
382    /*313*/{0,-41,3,-41,5,-41,8,-41,11,-41,14,312,15,-41,16,-41,18,-41,19,-41,20,-41,21,-41,22,-41,23,-41,-1,0},
383    /*314*/{0,-43,3,-43,5,-43,8,-43,11,-43,14,-43,15,-43,16,-43,18,-43,19,-43,20,-43,21,-43,22,-43,23,-43,-1,0},
384    /*315*/{0,-50,3,-50,5,-50,8,-50,11,-50,15,-50,16,-50,18,320,20,-50,21,-50,22,-50,23,-50,-1,0},
385    /*316*/{67,69,-1,0},
386    /*317*/{65,319,-1,0},
387    /*318*/{0,-46,3,-46,5,-46,8,-46,11,-46,15,-46,16,-46,18,-46,20,-46,21,-46,22,-46,23,-46,-1,0},
388    /*319*/{27,342,-1,0},
389    /*320*/{0,-52,3,-52,5,-52,8,-52,11,-52,15,-52,16,-52,20,-52,21,322,22,-52,23,-52,-1,0},
390    /*321*/{65,-53,-1,0},
391    /*322*/{0,-55,3,-55,5,-55,8,-55,11,-55,15,-55,16,-55,20,-55,22,-55,23,328,-1,0},
392    /*323*/{0,-57,3,-57,5,-57,8,-57,11,-57,15,-57,16,-57,20,-57,22,-57,23,-57,-1,0},
393    /*324*/{0,-54,3,-54,5,-54,8,-54,11,-54,15,-54,16,-54,20,-54,22,-54,23,328,-1,0},
394    /*325*/{4,-69,68,33,-1,0},
395    /*326*/{0,-89,3,-89,5,-89,8,-89,11,-89,15,-89,16,-89,20,331,22,-89,-1,0},
396    /*327*/{35,29,36,28,-1,0},
397    /*328*/{4,-61,68,-61,-1,0},
398    /*329*/{0,-91,3,-91,5,-91,8,-91,11,-91,15,-91,16,-91,20,-91,22,-91,-1,0},
399    /*330*/{68,77,-1,0},
400    /*331*/{0,-6,3,-6,5,-6,8,-6,11,-6,15,-6,16,-6,22,-6,-1,0},
401    /*332*/{0,-88,3,-88,5,-88,8,-88,11,-88,15,-88,16,-88,20,331,22,-88,-1,0},
402    /*333*/{0,-90,3,-90,5,-90,8,-90,11,-90,15,-90,16,-90,20,-90,22,-90,-1,0},
403    /*334*/{65,336,-1,0},
404    /*335*/{0,-92,3,-92,5,-92,8,-92,11,-92,15,-92,16,-92,20,-92,22,-92,-1,0},
405    /*336*/{4,38,-1,0},
406    /*337*/{0,-58,3,-58,5,-58,8,-58,11,-58,15,-58,16,-58,20,-58,22,-58,23,-58,-1,0},
407    /*338*/{0,-56,3,-56,5,-56,8,-56,11,-56,15,-56,16,-56,20,-56,22,-56,23,-56,-1,0},
408    /*339*/{65,341,-1,0},
409    /*340*/{0,-51,3,-51,5,-51,8,-51,11,-51,15,-51,16,-51,20,-51,22,-51,23,-51,-1,0},
410    /*341*/{68,343,-1,0},
411    /*342*/{65,344,-1,0},
412    /*343*/{0,-49,3,-49,5,-49,8,-49,11,-49,15,-49,16,-49,20,-49,21,-49,22,-49,23,-49,-1,0},
413    /*344*/{65,346,-1,0},
414    /*345*/{0,-45,3,-45,5,-45,8,-45,11,-45,14,-45,15,-45,16,-45,18,-45,19,-45,20,-45,21,-45,22,-45,23,-45,-1,0},
415    /*346*/{68,64,-1,0},
416    /*347*/{65,349,-1,0},
417    /*348*/{0,-12,3,-12,5,-12,8,-12,10,-12,11,-12,14,-12,15,-12,16,-12,18,-12,19,-12,20,-12,21,-12,22,-12,23,-12,-1,0},
418    /*349*/{68,64,-1,0},
419    /*350*/{65,352,-1,0},
420    /*351*/{0,-13,3,-13,5,-13,8,-13,10,-13,11,-13,14,-13,15,-13,16,-13,18,-13,19,-13,20,-13,21,-13,22,-13,23,-13,-1,0},
421    /*352*/{65,356,-1,0},
422    /*353*/{65,355,-1,0},
423    /*354*/{3,-10,15,-10,-1,0},
424    /*355*/{3,-9,15,-9,-1,0},
425    /*356*/{65,358,-1,0},
426    /*357*/{3,-7,11,-7,15,-7,-1,0},
427    /*358*/{0,-2,-1,0},
428  };
429
430  /** access to parse action table */
431  public short[][] action_table() {return _action_table;}
432
433  /** reduce_goto table */
434  protected static final short[][] _reduce_table = {
435    /*0*/{25,2,26,5,27,1,43,4,47,6,-1,-1},
436    /*1*/{-1,-1},
437    /*2*/{-1,-1},
438    /*3*/{-1,-1},
439    /*4*/{35,302,-1,-1},
440    /*5*/{27,300,43,4,47,6,-1,-1},
441    /*6*/{59,9,60,10,61,8,-1,-1},
442    /*7*/{-1,-1},
443    /*8*/{-1,-1},
444    /*9*/{18,15,19,13,20,12,-1,-1},
445    /*10*/{61,11,-1,-1},
446    /*11*/{-1,-1},
447    /*12*/{15,117,30,118,31,115,32,114,-1,-1},
448    /*13*/{-1,-1},
449    /*14*/{54,19,98,17,99,18,-1,-1},
450    /*15*/{19,16,-1,-1},
451    /*16*/{-1,-1},
452    /*17*/{-1,-1},
453    /*18*/{9,102,10,82,11,101,-1,-1},
454    /*19*/{56,24,57,22,58,23,-1,-1},
455    /*20*/{49,80,-1,-1},
456    /*21*/{53,77,-1,-1},
457    /*22*/{58,75,-1,-1},
458    /*23*/{-1,-1},
459    /*24*/{55,72,-1,-1},
460    /*25*/{46,69,-1,-1},
461    /*26*/{82,29,-1,-1},
462    /*27*/{1,66,-1,-1},
463    /*28*/{1,64,-1,-1},
464    /*29*/{84,34,85,30,86,33,92,31,-1,-1},
465    /*30*/{86,62,92,31,-1,-1},
466    /*31*/{-1,-1},
467    /*32*/{-1,-1},
468    /*33*/{-1,-1},
469    /*34*/{80,36,94,35,-1,-1},
470    /*35*/{-1,-1},
471    /*36*/{-1,-1},
472    /*37*/{-1,-1},
473    /*38*/{-1,-1},
474    /*39*/{-1,-1},
475    /*40*/{-1,-1},
476    /*41*/{-1,-1},
477    /*42*/{7,53,8,54,89,43,90,52,95,46,96,50,97,44,-1,-1},
478    /*43*/{7,53,8,54,90,61,-1,-1},
479    /*44*/{-1,-1},
480    /*45*/{-1,-1},
481    /*46*/{-1,-1},
482    /*47*/{-1,-1},
483    /*48*/{-1,-1},
484    /*49*/{93,57,-1,-1},
485    /*50*/{95,55,-1,-1},
486    /*51*/{-1,-1},
487    /*52*/{-1,-1},
488    /*53*/{-1,-1},
489    /*54*/{-1,-1},
490    /*55*/{-1,-1},
491    /*56*/{-1,-1},
492    /*57*/{84,58,85,30,86,33,92,31,-1,-1},
493    /*58*/{80,36,94,59,-1,-1},
494    /*59*/{-1,-1},
495    /*60*/{-1,-1},
496    /*61*/{-1,-1},
497    /*62*/{-1,-1},
498    /*63*/{-1,-1},
499    /*64*/{-1,-1},
500    /*65*/{-1,-1},
501    /*66*/{-1,-1},
502    /*67*/{-1,-1},
503    /*68*/{-1,-1},
504    /*69*/{-1,-1},
505    /*70*/{-1,-1},
506    /*71*/{-1,-1},
507    /*72*/{-1,-1},
508    /*73*/{-1,-1},
509    /*74*/{-1,-1},
510    /*75*/{-1,-1},
511    /*76*/{-1,-1},
512    /*77*/{-1,-1},
513    /*78*/{-1,-1},
514    /*79*/{-1,-1},
515    /*80*/{-1,-1},
516    /*81*/{-1,-1},
517    /*82*/{9,103,-1,-1},
518    /*83*/{-1,-1},
519    /*84*/{-1,-1},
520    /*85*/{-1,-1},
521    /*86*/{-1,-1},
522    /*87*/{-1,-1},
523    /*88*/{-1,-1},
524    /*89*/{-1,-1},
525    /*90*/{-1,-1},
526    /*91*/{-1,-1},
527    /*92*/{-1,-1},
528    /*93*/{-1,-1},
529    /*94*/{-1,-1},
530    /*95*/{-1,-1},
531    /*96*/{-1,-1},
532    /*97*/{-1,-1},
533    /*98*/{-1,-1},
534    /*99*/{-1,-1},
535    /*100*/{-1,-1},
536    /*101*/{-1,-1},
537    /*102*/{-1,-1},
538    /*103*/{-1,-1},
539    /*104*/{-1,-1},
540    /*105*/{6,107,-1,-1},
541    /*106*/{7,113,-1,-1},
542    /*107*/{-1,-1},
543    /*108*/{-1,-1},
544    /*109*/{6,110,-1,-1},
545    /*110*/{-1,-1},
546    /*111*/{-1,-1},
547    /*112*/{-1,-1},
548    /*113*/{-1,-1},
549    /*114*/{-1,-1},
550    /*115*/{-1,-1},
551    /*116*/{98,280,99,18,-1,-1},
552    /*117*/{17,124,36,123,37,120,100,121,-1,-1},
553    /*118*/{15,117,31,119,-1,-1},
554    /*119*/{-1,-1},
555    /*120*/{17,279,36,278,100,121,-1,-1},
556    /*121*/{14,148,16,138,21,146,28,136,34,145,38,139,-1,-1},
557    /*122*/{-1,-1},
558    /*123*/{-1,-1},
559    /*124*/{-1,-1},
560    /*125*/{-1,-1},
561    /*126*/{-1,-1},
562    /*127*/{53,277,-1,-1},
563    /*128*/{-1,-1},
564    /*129*/{42,261,-1,-1},
565    /*130*/{29,256,-1,-1},
566    /*131*/{72,243,73,241,-1,-1},
567    /*132*/{46,240,-1,-1},
568    /*133*/{83,215,87,216,-1,-1},
569    /*134*/{-1,-1},
570    /*135*/{67,199,68,197,-1,-1},
571    /*136*/{-1,-1},
572    /*137*/{1,185,12,184,-1,-1},
573    /*138*/{-1,-1},
574    /*139*/{-1,-1},
575    /*140*/{-1,-1},
576    /*141*/{-1,-1},
577    /*142*/{33,169,-1,-1},
578    /*143*/{40,167,-1,-1},
579    /*144*/{62,153,63,154,-1,-1},
580    /*145*/{-1,-1},
581    /*146*/{-1,-1},
582    /*147*/{49,152,-1,-1},
583    /*148*/{-1,-1},
584    /*149*/{1,150,41,151,-1,-1},
585    /*150*/{-1,-1},
586    /*151*/{-1,-1},
587    /*152*/{-1,-1},
588    /*153*/{-1,-1},
589    /*154*/{64,158,65,160,-1,-1},
590    /*155*/{-1,-1},
591    /*156*/{-1,-1},
592    /*157*/{-1,-1},
593    /*158*/{65,165,66,164,-1,-1},
594    /*159*/{-1,-1},
595    /*160*/{-1,-1},
596    /*161*/{-1,-1},
597    /*162*/{-1,-1},
598    /*163*/{-1,-1},
599    /*164*/{-1,-1},
600    /*165*/{-1,-1},
601    /*166*/{-1,-1},
602    /*167*/{-1,-1},
603    /*168*/{-1,-1},
604    /*169*/{-1,-1},
605    /*170*/{7,53,8,171,-1,-1},
606    /*171*/{-1,-1},
607    /*172*/{-1,-1},
608    /*173*/{-1,-1},
609    /*174*/{-1,-1},
610    /*175*/{-1,-1},
611    /*176*/{-1,-1},
612    /*177*/{-1,-1},
613    /*178*/{-1,-1},
614    /*179*/{-1,-1},
615    /*180*/{-1,-1},
616    /*181*/{-1,-1},
617    /*182*/{-1,-1},
618    /*183*/{-1,-1},
619    /*184*/{-1,-1},
620    /*185*/{-1,-1},
621    /*186*/{-1,-1},
622    /*187*/{-1,-1},
623    /*188*/{-1,-1},
624    /*189*/{-1,-1},
625    /*190*/{-1,-1},
626    /*191*/{-1,-1},
627    /*192*/{-1,-1},
628    /*193*/{-1,-1},
629    /*194*/{-1,-1},
630    /*195*/{-1,-1},
631    /*196*/{-1,-1},
632    /*197*/{69,204,70,203,-1,-1},
633    /*198*/{-1,-1},
634    /*199*/{-1,-1},
635    /*200*/{-1,-1},
636    /*201*/{-1,-1},
637    /*202*/{-1,-1},
638    /*203*/{-1,-1},
639    /*204*/{70,208,71,207,-1,-1},
640    /*205*/{-1,-1},
641    /*206*/{-1,-1},
642    /*207*/{-1,-1},
643    /*208*/{-1,-1},
644    /*209*/{-1,-1},
645    /*210*/{-1,-1},
646    /*211*/{14,148,21,212,34,145,-1,-1},
647    /*212*/{-1,-1},
648    /*213*/{-1,-1},
649    /*214*/{1,237,-1,-1},
650    /*215*/{84,235,85,30,86,33,92,31,-1,-1},
651    /*216*/{88,229,91,230,-1,-1},
652    /*217*/{1,226,-1,-1},
653    /*218*/{-1,-1},
654    /*219*/{-1,-1},
655    /*220*/{1,221,-1,-1},
656    /*221*/{-1,-1},
657    /*222*/{-1,-1},
658    /*223*/{1,224,-1,-1},
659    /*224*/{-1,-1},
660    /*225*/{-1,-1},
661    /*226*/{-1,-1},
662    /*227*/{-1,-1},
663    /*228*/{-1,-1},
664    /*229*/{80,233,-1,-1},
665    /*230*/{-1,-1},
666    /*231*/{7,53,8,54,89,43,90,52,95,46,96,50,97,232,-1,-1},
667    /*232*/{-1,-1},
668    /*233*/{-1,-1},
669    /*234*/{-1,-1},
670    /*235*/{80,236,-1,-1},
671    /*236*/{-1,-1},
672    /*237*/{-1,-1},
673    /*238*/{-1,-1},
674    /*239*/{-1,-1},
675    /*240*/{-1,-1},
676    /*241*/{74,246,75,245,-1,-1},
677    /*242*/{-1,-1},
678    /*243*/{-1,-1},
679    /*244*/{-1,-1},
680    /*245*/{-1,-1},
681    /*246*/{75,254,76,253,-1,-1},
682    /*247*/{-1,-1},
683    /*248*/{-1,-1},
684    /*249*/{-1,-1},
685    /*250*/{-1,-1},
686    /*251*/{-1,-1},
687    /*252*/{-1,-1},
688    /*253*/{-1,-1},
689    /*254*/{-1,-1},
690    /*255*/{-1,-1},
691    /*256*/{-1,-1},
692    /*257*/{-1,-1},
693    /*258*/{-1,-1},
694    /*259*/{-1,-1},
695    /*260*/{-1,-1},
696    /*261*/{-1,-1},
697    /*262*/{-1,-1},
698    /*263*/{-1,-1},
699    /*264*/{-1,-1},
700    /*265*/{5,267,-1,-1},
701    /*266*/{-1,-1},
702    /*267*/{-1,-1},
703    /*268*/{-1,-1},
704    /*269*/{-1,-1},
705    /*270*/{-1,-1},
706    /*271*/{-1,-1},
707    /*272*/{-1,-1},
708    /*273*/{-1,-1},
709    /*274*/{-1,-1},
710    /*275*/{-1,-1},
711    /*276*/{-1,-1},
712    /*277*/{-1,-1},
713    /*278*/{-1,-1},
714    /*279*/{-1,-1},
715    /*280*/{-1,-1},
716    /*281*/{-1,-1},
717    /*282*/{-1,-1},
718    /*283*/{98,295,99,18,-1,-1},
719    /*284*/{98,285,99,18,-1,-1},
720    /*285*/{2,286,-1,-1},
721    /*286*/{3,289,-1,-1},
722    /*287*/{-1,-1},
723    /*288*/{1,294,-1,-1},
724    /*289*/{4,291,-1,-1},
725    /*290*/{1,293,-1,-1},
726    /*291*/{-1,-1},
727    /*292*/{-1,-1},
728    /*293*/{-1,-1},
729    /*294*/{-1,-1},
730    /*295*/{2,296,-1,-1},
731    /*296*/{3,297,-1,-1},
732    /*297*/{4,298,-1,-1},
733    /*298*/{-1,-1},
734    /*299*/{-1,-1},
735    /*300*/{-1,-1},
736    /*301*/{-1,-1},
737    /*302*/{13,305,-1,-1},
738    /*303*/{98,349,99,18,-1,-1},
739    /*304*/{98,346,99,18,-1,-1},
740    /*305*/{39,306,-1,-1},
741    /*306*/{22,312,23,313,24,310,-1,-1},
742    /*307*/{1,308,-1,-1},
743    /*308*/{-1,-1},
744    /*309*/{-1,-1},
745    /*310*/{-1,-1},
746    /*311*/{1,344,-1,-1},
747    /*312*/{45,315,-1,-1},
748    /*313*/{24,314,-1,-1},
749    /*314*/{-1,-1},
750    /*315*/{44,320,-1,-1},
751    /*316*/{46,317,-1,-1},
752    /*317*/{-1,-1},
753    /*318*/{-1,-1},
754    /*319*/{-1,-1},
755    /*320*/{48,322,-1,-1},
756    /*321*/{49,339,-1,-1},
757    /*322*/{77,326,78,324,79,323,81,325,-1,-1},
758    /*323*/{-1,-1},
759    /*324*/{79,338,81,325,-1,-1},
760    /*325*/{84,336,85,30,86,33,92,31,-1,-1},
761    /*326*/{50,331,51,332,52,329,-1,-1},
762    /*327*/{82,328,-1,-1},
763    /*328*/{-1,-1},
764    /*329*/{-1,-1},
765    /*330*/{53,334,-1,-1},
766    /*331*/{-1,-1},
767    /*332*/{52,333,-1,-1},
768    /*333*/{-1,-1},
769    /*334*/{-1,-1},
770    /*335*/{-1,-1},
771    /*336*/{80,36,94,337,-1,-1},
772    /*337*/{-1,-1},
773    /*338*/{-1,-1},
774    /*339*/{-1,-1},
775    /*340*/{-1,-1},
776    /*341*/{-1,-1},
777    /*342*/{-1,-1},
778    /*343*/{-1,-1},
779    /*344*/{-1,-1},
780    /*345*/{-1,-1},
781    /*346*/{1,347,-1,-1},
782    /*347*/{-1,-1},
783    /*348*/{-1,-1},
784    /*349*/{1,350,-1,-1},
785    /*350*/{-1,-1},
786    /*351*/{-1,-1},
787    /*352*/{-1,-1},
788    /*353*/{-1,-1},
789    /*354*/{-1,-1},
790    /*355*/{-1,-1},
791    /*356*/{-1,-1},
792    /*357*/{-1,-1},
793    /*358*/{-1,-1},
794  };
795
796  /** access to reduce_goto table */
797  public short[][] reduce_table() {return _reduce_table;}
798
799  /** instance of action encapsulation class */
800  protected CUP$actions action_obj;
801
802  /** action encapsulation object initializer */
803  protected void init_actions()
804    {
805      action_obj = new CUP$actions();
806    }
807
808  /** invoke a user supplied parse action */
809  public java_cup.runtime.symbol do_action(
810    int                        act_num,
811    java_cup.runtime.lr_parser parser,
812    java.util.Stack            stack,
813    int                        top)
814    throws java.lang.Exception
815  {
816    /* call code in generated class */
817    return action_obj.CUP$do_action(act_num, parser, stack, top);
818  }
819
820  /** start state */
821  public int start_state() {return 0;}
822  /** start production */
823  public int start_production() {return 1;}
824
825  /** EOF symbol index */
826  public int EOF_sym() {return 0;}
827
828  /** error symbol index */
829  public int error_sym() {return 1;}
830
831
832  /** user initialization */
833  public void user_init() throws java.lang.Exception
834    {
835
836    action_obj.scanner = scanner;
837    action_obj.dAsm = dAsm;
838
839    }
840
841  /** scan to get the next token */
842  public java_cup.runtime.token scan()
843    throws java.lang.Exception
844    {
845
846    return scanner.next_token();
847
848    }
849
850
851
852    public boolean isInterface;
853    public Scanner scanner;
854    public DAsm dAsm;
855
856    public void report_error(String message, Object info) {
857            if(info != null)
858                dAsm.report_error("Warning: " + message + "(" + info.toString() + ")");
859            else
860                dAsm.report_error("Warning: " + message);
861    }
862
863    public void report_fatal_error(String message, Object info)  {
864            if(info != null)
865                dAsm.report_error("Error: " + message + "(" + info.toString() + ")");
866            else
867                dAsm.report_error("Error: " + message);
868    }
869
870    parser(DAsm dAsm, Scanner scanner) {
871        super();
872
873        this.scanner = scanner;
874        this.dAsm = dAsm;
875    }
876
877};
878
879/** JavaCup generated class to encapsulate user supplied action code.*/
880class CUP$actions {
881
882
883    int access_val;
884    public DAsm dAsm;
885    public Scanner scanner;
886    public boolean isInterface;
887
888
889  /** Constructor */
890  CUP$actions() { }
891
892  /** Method with the actual generated action code. */
893  public final java_cup.runtime.symbol CUP$do_action(
894    int                        CUP$act_num,
895    java_cup.runtime.lr_parser CUP$parser,
896    java.util.Stack            CUP$stack,
897    int                        CUP$top)
898    throws java.lang.Exception
899    {
900      /* object for return from actions */
901      java_cup.runtime.symbol CUP$result;
902
903      /* select the action based on the action number */
904      switch (CUP$act_num)
905        {
906          /*. . . . . . . . . . . . . . . . . . . .*/
907          case 208: // ss_table_end ::= SPARSE_SWITCH_END
908            {
909              CUP$result = new symbol(/*ss_table_end*/76);
910               dAsm.endSwitch();
911            }
912          return CUP$result;
913
914          /*. . . . . . . . . . . . . . . . . . . .*/
915          case 207: // ss_table_entry ::= Int COLON Relative SEP
916            {
917              CUP$result = new symbol(/*ss_table_entry*/75);
918               dAsm.addSparseSwitchData((/*i*/(int_token)CUP$stack.elementAt(CUP$top-3)).int_val, (/*off*/(relative_number_token)CUP$stack.elementAt(CUP$top-1)).int_val);
919            }
920          return CUP$result;
921
922          /*. . . . . . . . . . . . . . . . . . . .*/
923          case 206: // ss_table_entry ::= Int COLON Word SEP
924            {
925              CUP$result = new symbol(/*ss_table_entry*/75);
926               dAsm.addSparseSwitchData((/*i*/(int_token)CUP$stack.elementAt(CUP$top-3)).int_val, (/*w*/(str_token)CUP$stack.elementAt(CUP$top-1)).str_val);
927            }
928          return CUP$result;
929
930          /*. . . . . . . . . . . . . . . . . . . .*/
931          case 205: // ss_table_list ::= ss_table_entry
932            {
933              CUP$result = new symbol(/*ss_table_list*/74);
934
935            }
936          return CUP$result;
937
938          /*. . . . . . . . . . . . . . . . . . . .*/
939          case 204: // ss_table_list ::= ss_table_list ss_table_entry
940            {
941              CUP$result = new symbol(/*ss_table_list*/74);
942
943            }
944          return CUP$result;
945
946          /*. . . . . . . . . . . . . . . . . . . .*/
947          case 203: // ss_table_args ::= Word SEP
948            {
949              CUP$result = new symbol(/*ss_table_args*/73);
950               dAsm.newSparseSwitch((/*r*/(str_token)CUP$stack.elementAt(CUP$top-1)).str_val);
951            }
952          return CUP$result;
953
954          /*. . . . . . . . . . . . . . . . . . . .*/
955          case 202: // ss_table ::= ss_table_args ss_table_list ss_table_end
956            {
957              CUP$result = new symbol(/*ss_table*/72);
958
959            }
960          return CUP$result;
961
962          /*. . . . . . . . . . . . . . . . . . . .*/
963          case 201: // ps_table_end ::= PACKED_SWITCH_END
964            {
965              CUP$result = new symbol(/*ps_table_end*/71);
966               dAsm.endSwitch();
967            }
968          return CUP$result;
969
970          /*. . . . . . . . . . . . . . . . . . . .*/
971          case 200: // ps_table_entry ::= Relative SEP
972            {
973              CUP$result = new symbol(/*ps_table_entry*/70);
974               dAsm.addPackedSwitchData((/*target*/(relative_number_token)CUP$stack.elementAt(CUP$top-1)).int_val);
975            }
976          return CUP$result;
977
978          /*. . . . . . . . . . . . . . . . . . . .*/
979          case 199: // ps_table_entry ::= Word SEP
980            {
981              CUP$result = new symbol(/*ps_table_entry*/70);
982               dAsm.addPackedSwitchData((/*target*/(str_token)CUP$stack.elementAt(CUP$top-1)).str_val);
983            }
984          return CUP$result;
985
986          /*. . . . . . . . . . . . . . . . . . . .*/
987          case 198: // ps_table_list ::= ps_table_entry
988            {
989              CUP$result = new symbol(/*ps_table_list*/69);
990
991            }
992          return CUP$result;
993
994          /*. . . . . . . . . . . . . . . . . . . .*/
995          case 197: // ps_table_list ::= ps_table_list ps_table_entry
996            {
997              CUP$result = new symbol(/*ps_table_list*/69);
998
999            }
1000          return CUP$result;
1001
1002          /*. . . . . . . . . . . . . . . . . . . .*/
1003          case 196: // ps_table_args ::= Word Int SEP
1004            {
1005              CUP$result = new symbol(/*ps_table_args*/68);
1006               dAsm.newPackedSwitch((/*r*/(str_token)CUP$stack.elementAt(CUP$top-2)).str_val, (/*k*/(int_token)CUP$stack.elementAt(CUP$top-1)).int_val);
1007            }
1008          return CUP$result;
1009
1010          /*. . . . . . . . . . . . . . . . . . . .*/
1011          case 195: // ps_table ::= ps_table_args ps_table_list ps_table_end
1012            {
1013              CUP$result = new symbol(/*ps_table*/67);
1014
1015            }
1016          return CUP$result;
1017
1018          /*. . . . . . . . . . . . . . . . . . . .*/
1019          case 194: // fa_data_end ::= FILL_ARRAY_DATA_END
1020            {
1021              CUP$result = new symbol(/*fa_data_end*/66);
1022               dAsm.endFillArrayData();
1023            }
1024          return CUP$result;
1025
1026          /*. . . . . . . . . . . . . . . . . . . .*/
1027          case 193: // fa_data_entry ::= Int SEP
1028            {
1029              CUP$result = new symbol(/*fa_data_entry*/65);
1030               dAsm.addFillArrayData(new Integer((/*data*/(int_token)CUP$stack.elementAt(CUP$top-1)).int_val));
1031            }
1032          return CUP$result;
1033
1034          /*. . . . . . . . . . . . . . . . . . . .*/
1035          case 192: // fa_data_entry ::= Num SEP
1036            {
1037              CUP$result = new symbol(/*fa_data_entry*/65);
1038               dAsm.addFillArrayData((/*data*/(number_token)CUP$stack.elementAt(CUP$top-1)).number_val);
1039            }
1040          return CUP$result;
1041
1042          /*. . . . . . . . . . . . . . . . . . . .*/
1043          case 191: // fa_data_list ::= fa_data_entry
1044            {
1045              CUP$result = new symbol(/*fa_data_list*/64);
1046
1047            }
1048          return CUP$result;
1049
1050          /*. . . . . . . . . . . . . . . . . . . .*/
1051          case 190: // fa_data_list ::= fa_data_list fa_data_entry
1052            {
1053              CUP$result = new symbol(/*fa_data_list*/64);
1054
1055            }
1056          return CUP$result;
1057
1058          /*. . . . . . . . . . . . . . . . . . . .*/
1059          case 189: // fa_data_args ::= Word Word SEP
1060            {
1061              CUP$result = new symbol(/*fa_data_args*/63);
1062               dAsm.newFillArrayData((/*r*/(str_token)CUP$stack.elementAt(CUP$top-2)).str_val, (/*t*/(str_token)CUP$stack.elementAt(CUP$top-1)).str_val);
1063            }
1064          return CUP$result;
1065
1066          /*. . . . . . . . . . . . . . . . . . . .*/
1067          case 188: // fa_data ::= fa_data_args fa_data_list fa_data_end
1068            {
1069              CUP$result = new symbol(/*fa_data*/62);
1070
1071            }
1072          return CUP$result;
1073
1074          /*. . . . . . . . . . . . . . . . . . . .*/
1075          case 187: // complex_instruction ::= SPARSE_SWITCH ss_table
1076            {
1077              CUP$result = new symbol(/*complex_instruction*/14);
1078
1079            }
1080          return CUP$result;
1081
1082          /*. . . . . . . . . . . . . . . . . . . .*/
1083          case 186: // complex_instruction ::= PACKED_SWITCH ps_table
1084            {
1085              CUP$result = new symbol(/*complex_instruction*/14);
1086
1087            }
1088          return CUP$result;
1089
1090          /*. . . . . . . . . . . . . . . . . . . .*/
1091          case 185: // complex_instruction ::= FILL_ARRAY_DATA fa_data
1092            {
1093              CUP$result = new symbol(/*complex_instruction*/14);
1094
1095            }
1096          return CUP$result;
1097
1098          /*. . . . . . . . . . . . . . . . . . . .*/
1099          case 184: // simple_instruction ::= Insn Word Word Word Word
1100            {
1101              CUP$result = new symbol(/*simple_instruction*/34);
1102               dAsm.addOpcode((/*i*/(str_token)CUP$stack.elementAt(CUP$top-4)).str_val, (/*n1*/(str_token)CUP$stack.elementAt(CUP$top-3)).str_val, (/*n2*/(str_token)CUP$stack.elementAt(CUP$top-2)).str_val, (/*n3*/(str_token)CUP$stack.elementAt(CUP$top-1)).str_val, (/*n4*/(str_token)CUP$stack.elementAt(CUP$top-0)).str_val);
1103            }
1104          return CUP$result;
1105
1106          /*. . . . . . . . . . . . . . . . . . . .*/
1107          case 183: // simple_instruction ::= Insn Word Str
1108            {
1109              CUP$result = new symbol(/*simple_instruction*/34);
1110               dAsm.addOpcode((/*i*/(str_token)CUP$stack.elementAt(CUP$top-2)).str_val, (/*n1*/(str_token)CUP$stack.elementAt(CUP$top-1)).str_val, (/*n2*/(str_token)CUP$stack.elementAt(CUP$top-0)).str_val);
1111            }
1112          return CUP$result;
1113
1114          /*. . . . . . . . . . . . . . . . . . . .*/
1115          case 182: // simple_instruction ::= Insn Word Word Int
1116            {
1117              CUP$result = new symbol(/*simple_instruction*/34);
1118               dAsm.addOpcode((/*i*/(str_token)CUP$stack.elementAt(CUP$top-3)).str_val, (/*n1*/(str_token)CUP$stack.elementAt(CUP$top-2)).str_val, (/*n2*/(str_token)CUP$stack.elementAt(CUP$top-1)).str_val, (/*n3*/(int_token)CUP$stack.elementAt(CUP$top-0)).int_val);
1119            }
1120          return CUP$result;
1121
1122          /*. . . . . . . . . . . . . . . . . . . .*/
1123          case 181: // simple_instruction ::= Insn Word Word Relative
1124            {
1125              CUP$result = new symbol(/*simple_instruction*/34);
1126               dAsm.addRelativeGoto((/*i*/(str_token)CUP$stack.elementAt(CUP$top-3)).str_val, (/*n1*/(str_token)CUP$stack.elementAt(CUP$top-2)).str_val, (/*n2*/(str_token)CUP$stack.elementAt(CUP$top-1)).str_val, (/*n3*/(relative_number_token)CUP$stack.elementAt(CUP$top-0)).int_val);
1127            }
1128          return CUP$result;
1129
1130          /*. . . . . . . . . . . . . . . . . . . .*/
1131          case 180: // simple_instruction ::= Insn Word Word Word
1132            {
1133              CUP$result = new symbol(/*simple_instruction*/34);
1134               dAsm.addOpcode((/*i*/(str_token)CUP$stack.elementAt(CUP$top-3)).str_val, (/*n1*/(str_token)CUP$stack.elementAt(CUP$top-2)).str_val, (/*n2*/(str_token)CUP$stack.elementAt(CUP$top-1)).str_val, (/*n3*/(str_token)CUP$stack.elementAt(CUP$top-0)).str_val);
1135            }
1136          return CUP$result;
1137
1138          /*. . . . . . . . . . . . . . . . . . . .*/
1139          case 179: // simple_instruction ::= Insn Word Relative
1140            {
1141              CUP$result = new symbol(/*simple_instruction*/34);
1142               dAsm.addRelativeGoto((/*i*/(str_token)CUP$stack.elementAt(CUP$top-2)).str_val, (/*n1*/(str_token)CUP$stack.elementAt(CUP$top-1)).str_val, (/*n2*/(relative_number_token)CUP$stack.elementAt(CUP$top-0)).int_val);
1143            }
1144          return CUP$result;
1145
1146          /*. . . . . . . . . . . . . . . . . . . .*/
1147          case 178: // simple_instruction ::= Insn Word Word
1148            {
1149              CUP$result = new symbol(/*simple_instruction*/34);
1150               dAsm.addOpcode((/*i*/(str_token)CUP$stack.elementAt(CUP$top-2)).str_val, (/*n1*/(str_token)CUP$stack.elementAt(CUP$top-1)).str_val, (/*n2*/(str_token)CUP$stack.elementAt(CUP$top-0)).str_val);
1151            }
1152          return CUP$result;
1153
1154          /*. . . . . . . . . . . . . . . . . . . .*/
1155          case 177: // simple_instruction ::= Insn Word Int
1156            {
1157              CUP$result = new symbol(/*simple_instruction*/34);
1158               dAsm.addOpcode((/*i*/(str_token)CUP$stack.elementAt(CUP$top-2)).str_val, (/*n1*/(str_token)CUP$stack.elementAt(CUP$top-1)).str_val, new Integer((/*n2*/(int_token)CUP$stack.elementAt(CUP$top-0)).int_val));
1159            }
1160          return CUP$result;
1161
1162          /*. . . . . . . . . . . . . . . . . . . .*/
1163          case 176: // simple_instruction ::= Insn Word Num
1164            {
1165              CUP$result = new symbol(/*simple_instruction*/34);
1166               dAsm.addOpcode((/*i*/(str_token)CUP$stack.elementAt(CUP$top-2)).str_val, (/*n1*/(str_token)CUP$stack.elementAt(CUP$top-1)).str_val, (/*n2*/(number_token)CUP$stack.elementAt(CUP$top-0)).number_val);
1167            }
1168          return CUP$result;
1169
1170          /*. . . . . . . . . . . . . . . . . . . .*/
1171          case 175: // simple_instruction ::= Insn Relative
1172            {
1173              CUP$result = new symbol(/*simple_instruction*/34);
1174               dAsm.addRelativeGoto((/*i*/(str_token)CUP$stack.elementAt(CUP$top-1)).str_val, (/*n*/(relative_number_token)CUP$stack.elementAt(CUP$top-0)).int_val);
1175            }
1176          return CUP$result;
1177
1178          /*. . . . . . . . . . . . . . . . . . . .*/
1179          case 174: // simple_instruction ::= Insn Word
1180            {
1181              CUP$result = new symbol(/*simple_instruction*/34);
1182               dAsm.addOpcode((/*i*/(str_token)CUP$stack.elementAt(CUP$top-1)).str_val, (/*n*/(str_token)CUP$stack.elementAt(CUP$top-0)).str_val);
1183            }
1184          return CUP$result;
1185
1186          /*. . . . . . . . . . . . . . . . . . . .*/
1187          case 173: // simple_instruction ::= Insn
1188            {
1189              CUP$result = new symbol(/*simple_instruction*/34);
1190               dAsm.addOpcode((/*i*/(str_token)CUP$stack.elementAt(CUP$top-0)).str_val);
1191            }
1192          return CUP$result;
1193
1194          /*. . . . . . . . . . . . . . . . . . . .*/
1195          case 172: // instruction ::= complex_instruction
1196            {
1197              CUP$result = new symbol(/*instruction*/21);
1198
1199            }
1200          return CUP$result;
1201
1202          /*. . . . . . . . . . . . . . . . . . . .*/
1203          case 171: // instruction ::= simple_instruction
1204            {
1205              CUP$result = new symbol(/*instruction*/21);
1206
1207            }
1208          return CUP$result;
1209
1210          /*. . . . . . . . . . . . . . . . . . . .*/
1211          case 170: // set_expr ::= Word any_item
1212            {
1213              CUP$result = new symbol(/*set_expr*/33);
1214               scanner.dict.put((/*name*/(str_token)CUP$stack.elementAt(CUP$top-1)).str_val, (/*v*/(variant_token)CUP$stack.elementAt(CUP$top-0)));
1215            }
1216          return CUP$result;
1217
1218          /*. . . . . . . . . . . . . . . . . . . .*/
1219          case 169: // catch_expr ::= classname FROM Int TO Int USING Int
1220            {
1221              CUP$result = new symbol(/*catch_expr*/12);
1222               dAsm.addCatch((/*aclass*/(str_token)CUP$stack.elementAt(CUP$top-6)).str_val,
1223                              (/*fromoff*/(int_token)CUP$stack.elementAt(CUP$top-4)).int_val,
1224                              (/*tooff*/(int_token)CUP$stack.elementAt(CUP$top-2)).int_val,
1225                              (/*branchoff*/(int_token)CUP$stack.elementAt(CUP$top-0)).int_val);
1226            }
1227          return CUP$result;
1228
1229          /*. . . . . . . . . . . . . . . . . . . .*/
1230          case 168: // catch_expr ::= classname FROM Word TO Word USING Word
1231            {
1232              CUP$result = new symbol(/*catch_expr*/12);
1233               dAsm.addCatch((/*aclass*/(str_token)CUP$stack.elementAt(CUP$top-6)).str_val,
1234                              (/*fromlab*/(str_token)CUP$stack.elementAt(CUP$top-4)).str_val,
1235                              (/*tolab*/(str_token)CUP$stack.elementAt(CUP$top-2)).str_val,
1236                              (/*branchlab*/(str_token)CUP$stack.elementAt(CUP$top-0)).str_val);
1237            }
1238          return CUP$result;
1239
1240          /*. . . . . . . . . . . . . . . . . . . .*/
1241          case 167: // throws_expr ::= classname
1242            {
1243              CUP$result = new symbol(/*throws_expr*/41);
1244               dAsm.addThrow((/*s*/(str_token)CUP$stack.elementAt(CUP$top-0)).str_val);
1245            }
1246          return CUP$result;
1247
1248          /*. . . . . . . . . . . . . . . . . . . .*/
1249          case 166: // line_expr ::= Int
1250            {
1251              CUP$result = new symbol(/*line_expr*/40);
1252               dAsm.addLine((/*v*/(int_token)CUP$stack.elementAt(CUP$top-0)).int_val);
1253            }
1254          return CUP$result;
1255
1256          /*. . . . . . . . . . . . . . . . . . . .*/
1257          case 165: // limit_expr ::= Word Int
1258            {
1259              CUP$result = new symbol(/*limit_expr*/29);
1260               dAsm.report_error(".limit expected \"regs\" , but got "
1261                                + (/*w*/(str_token)CUP$stack.elementAt(CUP$top-1)).str_val);
1262            }
1263          return CUP$result;
1264
1265          /*. . . . . . . . . . . . . . . . . . . .*/
1266          case 164: // limit_expr ::= REGS Int
1267            {
1268              CUP$result = new symbol(/*limit_expr*/29);
1269               dAsm.setRegsSize((/*v*/(int_token)CUP$stack.elementAt(CUP$top-0)).int_val);
1270            }
1271          return CUP$result;
1272
1273          /*. . . . . . . . . . . . . . . . . . . .*/
1274          case 163: // optional_signature ::=
1275            {
1276              CUP$result = new str_token(/*optional_signature*/5);
1277               ((str_token)CUP$result).str_val = null;
1278            }
1279          return CUP$result;
1280
1281          /*. . . . . . . . . . . . . . . . . . . .*/
1282          case 162: // optional_signature ::= SIGNATURE Str
1283            {
1284              CUP$result = new str_token(/*optional_signature*/5);
1285               ((str_token)CUP$result).str_val = (/*s*/(str_token)CUP$stack.elementAt(CUP$top-0)).str_val;
1286            }
1287          return CUP$result;
1288
1289          /*. . . . . . . . . . . . . . . . . . . .*/
1290          case 161: // var_expr ::= Int IS Word Word optional_signature FROM Int TO Int
1291            {
1292              CUP$result = new symbol(/*var_expr*/42);
1293               dAsm.addVar((/*soff*/(int_token)CUP$stack.elementAt(CUP$top-2)).int_val, (/*eoff*/(int_token)CUP$stack.elementAt(CUP$top-0)).int_val, (/*name*/(str_token)CUP$stack.elementAt(CUP$top-6)).str_val,
1294                            (/*desc*/(str_token)CUP$stack.elementAt(CUP$top-5)).str_val, (/*sign*/(str_token)CUP$stack.elementAt(CUP$top-4)).str_val, (/*reg*/(int_token)CUP$stack.elementAt(CUP$top-8)).int_val);
1295            }
1296          return CUP$result;
1297
1298          /*. . . . . . . . . . . . . . . . . . . .*/
1299          case 160: // var_expr ::= Int IS Word Word optional_signature
1300            {
1301              CUP$result = new symbol(/*var_expr*/42);
1302               dAsm.addVar(null, null, (/*name*/(str_token)CUP$stack.elementAt(CUP$top-2)).str_val, (/*desc*/(str_token)CUP$stack.elementAt(CUP$top-1)).str_val,
1303                            (/*sign*/(str_token)CUP$stack.elementAt(CUP$top-0)).str_val,  (/*reg*/(int_token)CUP$stack.elementAt(CUP$top-4)).int_val);
1304            }
1305          return CUP$result;
1306
1307          /*. . . . . . . . . . . . . . . . . . . .*/
1308          case 159: // var_expr ::= Int IS Word Word optional_signature FROM Word TO Word
1309            {
1310              CUP$result = new symbol(/*var_expr*/42);
1311               dAsm.addVar((/*slab*/(str_token)CUP$stack.elementAt(CUP$top-2)).str_val, (/*elab*/(str_token)CUP$stack.elementAt(CUP$top-0)).str_val, (/*name*/(str_token)CUP$stack.elementAt(CUP$top-6)).str_val,
1312                            (/*desc*/(str_token)CUP$stack.elementAt(CUP$top-5)).str_val, (/*sign*/(str_token)CUP$stack.elementAt(CUP$top-4)).str_val, (/*reg*/(int_token)CUP$stack.elementAt(CUP$top-8)).int_val);
1313            }
1314          return CUP$result;
1315
1316          /*. . . . . . . . . . . . . . . . . . . .*/
1317          case 158: // directive ::= DANNOTATION ann_def_spec ann_def_val endannotation
1318            {
1319              CUP$result = new symbol(/*directive*/16);
1320
1321            }
1322          return CUP$result;
1323
1324          /*. . . . . . . . . . . . . . . . . . . .*/
1325          case 157: // directive ::= DANNOTATION ann_met_expr ann_arglist endannotation
1326            {
1327              CUP$result = new symbol(/*directive*/16);
1328
1329            }
1330          return CUP$result;
1331
1332          /*. . . . . . . . . . . . . . . . . . . .*/
1333          case 156: // directive ::= DDEPRECATED deprecated_expr
1334            {
1335              CUP$result = new symbol(/*directive*/16);
1336
1337            }
1338          return CUP$result;
1339
1340          /*. . . . . . . . . . . . . . . . . . . .*/
1341          case 155: // directive ::= DATTRIBUTE generic_expr
1342            {
1343              CUP$result = new symbol(/*directive*/16);
1344
1345            }
1346          return CUP$result;
1347
1348          /*. . . . . . . . . . . . . . . . . . . .*/
1349          case 154: // directive ::= DSIGNATURE signature_expr
1350            {
1351              CUP$result = new symbol(/*directive*/16);
1352
1353            }
1354          return CUP$result;
1355
1356          /*. . . . . . . . . . . . . . . . . . . .*/
1357          case 153: // directive ::= DSET set_expr
1358            {
1359              CUP$result = new symbol(/*directive*/16);
1360
1361            }
1362          return CUP$result;
1363
1364          /*. . . . . . . . . . . . . . . . . . . .*/
1365          case 152: // directive ::= DCATCH catch_expr
1366            {
1367              CUP$result = new symbol(/*directive*/16);
1368
1369            }
1370          return CUP$result;
1371
1372          /*. . . . . . . . . . . . . . . . . . . .*/
1373          case 151: // directive ::= DTHROWS throws_expr
1374            {
1375              CUP$result = new symbol(/*directive*/16);
1376
1377            }
1378          return CUP$result;
1379
1380          /*. . . . . . . . . . . . . . . . . . . .*/
1381          case 150: // directive ::= DLINE line_expr
1382            {
1383              CUP$result = new symbol(/*directive*/16);
1384
1385            }
1386          return CUP$result;
1387
1388          /*. . . . . . . . . . . . . . . . . . . .*/
1389          case 149: // directive ::= DLIMIT limit_expr
1390            {
1391              CUP$result = new symbol(/*directive*/16);
1392
1393            }
1394          return CUP$result;
1395
1396          /*. . . . . . . . . . . . . . . . . . . .*/
1397          case 148: // directive ::= DVAR var_expr
1398            {
1399              CUP$result = new symbol(/*directive*/16);
1400
1401            }
1402          return CUP$result;
1403
1404          /*. . . . . . . . . . . . . . . . . . . .*/
1405          case 147: // label ::= Int COLON instruction
1406            {
1407              CUP$result = new symbol(/*label*/28);
1408               dAsm.plantLabel(String.valueOf((/*label*/(int_token)CUP$stack.elementAt(CUP$top-2)).int_val));
1409            }
1410          return CUP$result;
1411
1412          /*. . . . . . . . . . . . . . . . . . . .*/
1413          case 146: // label ::= Word COLON
1414            {
1415              CUP$result = new symbol(/*label*/28);
1416               dAsm.plantLabel((/*label*/(str_token)CUP$stack.elementAt(CUP$top-1)).str_val);
1417            }
1418          return CUP$result;
1419
1420          /*. . . . . . . . . . . . . . . . . . . .*/
1421          case 145: // stmnt ::=
1422            {
1423              CUP$result = new symbol(/*stmnt*/38);
1424
1425            }
1426          return CUP$result;
1427
1428          /*. . . . . . . . . . . . . . . . . . . .*/
1429          case 144: // stmnt ::= label
1430            {
1431              CUP$result = new symbol(/*stmnt*/38);
1432
1433            }
1434          return CUP$result;
1435
1436          /*. . . . . . . . . . . . . . . . . . . .*/
1437          case 143: // stmnt ::= error
1438            {
1439              CUP$result = new symbol(/*stmnt*/38);
1440
1441            }
1442          return CUP$result;
1443
1444          /*. . . . . . . . . . . . . . . . . . . .*/
1445          case 142: // stmnt ::= directive
1446            {
1447              CUP$result = new symbol(/*stmnt*/38);
1448
1449            }
1450          return CUP$result;
1451
1452          /*. . . . . . . . . . . . . . . . . . . .*/
1453          case 141: // stmnt ::= instruction
1454            {
1455              CUP$result = new symbol(/*stmnt*/38);
1456
1457            }
1458          return CUP$result;
1459
1460          /*. . . . . . . . . . . . . . . . . . . .*/
1461          case 140: // statement ::= NT$1 stmnt SEP
1462            {
1463              CUP$result = new symbol(/*statement*/36);
1464
1465            }
1466          return CUP$result;
1467
1468          /*. . . . . . . . . . . . . . . . . . . .*/
1469          case 139: // NT$1 ::=
1470            {
1471              CUP$result = new java_cup.runtime.token(/*NT$1*/100);
1472               dAsm.setLine(scanner.token_line_num);
1473            }
1474          return CUP$result;
1475
1476          /*. . . . . . . . . . . . . . . . . . . .*/
1477          case 138: // statements ::= statement
1478            {
1479              CUP$result = new symbol(/*statements*/37);
1480
1481            }
1482          return CUP$result;
1483
1484          /*. . . . . . . . . . . . . . . . . . . .*/
1485          case 137: // statements ::= statements statement
1486            {
1487              CUP$result = new symbol(/*statements*/37);
1488
1489            }
1490          return CUP$result;
1491
1492          /*. . . . . . . . . . . . . . . . . . . .*/
1493          case 136: // endmethod ::= DEND METHOD SEP
1494            {
1495              CUP$result = new symbol(/*endmethod*/17);
1496               dAsm.endMethod();
1497            }
1498          return CUP$result;
1499
1500          /*. . . . . . . . . . . . . . . . . . . .*/
1501          case 135: // defmethod ::= DMETHOD access Word SEP
1502            {
1503              CUP$result = new symbol(/*defmethod*/15);
1504               String split[] = Utils.getMethodSignatureFromString((/*name*/(str_token)CUP$stack.elementAt(CUP$top-1)).str_val);
1505           dAsm.newMethod(split[0], split[1], (/*i*/(int_token)CUP$stack.elementAt(CUP$top-2)).int_val);
1506            }
1507          return CUP$result;
1508
1509          /*. . . . . . . . . . . . . . . . . . . .*/
1510          case 134: // method_spec ::= defmethod endmethod
1511            {
1512              CUP$result = new symbol(/*method_spec*/31);
1513
1514            }
1515          return CUP$result;
1516
1517          /*. . . . . . . . . . . . . . . . . . . .*/
1518          case 133: // method_spec ::= defmethod statements endmethod
1519            {
1520              CUP$result = new symbol(/*method_spec*/31);
1521
1522            }
1523          return CUP$result;
1524
1525          /*. . . . . . . . . . . . . . . . . . . .*/
1526          case 132: // method_list ::= method_spec
1527            {
1528              CUP$result = new symbol(/*method_list*/30);
1529
1530            }
1531          return CUP$result;
1532
1533          /*. . . . . . . . . . . . . . . . . . . .*/
1534          case 131: // method_list ::= method_list method_spec
1535            {
1536              CUP$result = new symbol(/*method_list*/30);
1537
1538            }
1539          return CUP$result;
1540
1541          /*. . . . . . . . . . . . . . . . . . . .*/
1542          case 130: // methods ::=
1543            {
1544              CUP$result = new symbol(/*methods*/32);
1545
1546            }
1547          return CUP$result;
1548
1549          /*. . . . . . . . . . . . . . . . . . . .*/
1550          case 129: // methods ::= method_list
1551            {
1552              CUP$result = new symbol(/*methods*/32);
1553
1554            }
1555          return CUP$result;
1556
1557          /*. . . . . . . . . . . . . . . . . . . .*/
1558          case 128: // inner_outer ::=
1559            {
1560              CUP$result = new str_token(/*inner_outer*/4);
1561               ((str_token)CUP$result).str_val = null;
1562            }
1563          return CUP$result;
1564
1565          /*. . . . . . . . . . . . . . . . . . . .*/
1566          case 127: // inner_outer ::= OUTER classname
1567            {
1568              CUP$result = new str_token(/*inner_outer*/4);
1569               ((str_token)CUP$result).str_val = (/*w*/(str_token)CUP$stack.elementAt(CUP$top-0)).str_val;
1570            }
1571          return CUP$result;
1572
1573          /*. . . . . . . . . . . . . . . . . . . .*/
1574          case 126: // inner_inner ::=
1575            {
1576              CUP$result = new str_token(/*inner_inner*/3);
1577               ((str_token)CUP$result).str_val = null;
1578            }
1579          return CUP$result;
1580
1581          /*. . . . . . . . . . . . . . . . . . . .*/
1582          case 125: // inner_inner ::= INNER classname
1583            {
1584              CUP$result = new str_token(/*inner_inner*/3);
1585               ((str_token)CUP$result).str_val = (/*w*/(str_token)CUP$stack.elementAt(CUP$top-0)).str_val;
1586            }
1587          return CUP$result;
1588
1589          /*. . . . . . . . . . . . . . . . . . . .*/
1590          case 124: // inner_name ::=
1591            {
1592              CUP$result = new str_token(/*inner_name*/2);
1593               ((str_token)CUP$result).str_val = null;
1594            }
1595          return CUP$result;
1596
1597          /*. . . . . . . . . . . . . . . . . . . .*/
1598          case 123: // inner_name ::= Word
1599            {
1600              CUP$result = new str_token(/*inner_name*/2);
1601               ((str_token)CUP$result).str_val = (/*w*/(str_token)CUP$stack.elementAt(CUP$top-0)).str_val;
1602            }
1603          return CUP$result;
1604
1605          /*. . . . . . . . . . . . . . . . . . . .*/
1606          case 122: // inner_spec ::= DINNER INTERFACE access inner_name inner_inner inner_outer SEP
1607            {
1608              CUP$result = new symbol(/*inner_spec*/61);
1609               dAsm.addInner((short)((/*a*/(int_token)CUP$stack.elementAt(CUP$top-4)).int_val |
1610                              com.android.dx.rop.code.AccessFlags.ACC_INTERFACE),
1611                                (/*n*/(str_token)CUP$stack.elementAt(CUP$top-3)).str_val, (/*i*/(str_token)CUP$stack.elementAt(CUP$top-2)).str_val, (/*o*/(str_token)CUP$stack.elementAt(CUP$top-1)).str_val);
1612            }
1613          return CUP$result;
1614
1615          /*. . . . . . . . . . . . . . . . . . . .*/
1616          case 121: // inner_spec ::= DINNER CLASS access inner_name inner_inner inner_outer SEP
1617            {
1618              CUP$result = new symbol(/*inner_spec*/61);
1619               dAsm.addInner((short)(/*a*/(int_token)CUP$stack.elementAt(CUP$top-4)).int_val,
1620                              (/*n*/(str_token)CUP$stack.elementAt(CUP$top-3)).str_val, (/*i*/(str_token)CUP$stack.elementAt(CUP$top-2)).str_val, (/*o*/(str_token)CUP$stack.elementAt(CUP$top-1)).str_val);
1621            }
1622          return CUP$result;
1623
1624          /*. . . . . . . . . . . . . . . . . . . .*/
1625          case 120: // inner_list ::= inner_spec
1626            {
1627              CUP$result = new symbol(/*inner_list*/60);
1628
1629            }
1630          return CUP$result;
1631
1632          /*. . . . . . . . . . . . . . . . . . . .*/
1633          case 119: // inner_list ::= inner_list inner_spec
1634            {
1635              CUP$result = new symbol(/*inner_list*/60);
1636
1637            }
1638          return CUP$result;
1639
1640          /*. . . . . . . . . . . . . . . . . . . .*/
1641          case 118: // inners ::=
1642            {
1643              CUP$result = new symbol(/*inners*/59);
1644
1645            }
1646          return CUP$result;
1647
1648          /*. . . . . . . . . . . . . . . . . . . .*/
1649          case 117: // inners ::= inner_list
1650            {
1651              CUP$result = new symbol(/*inners*/59);
1652
1653            }
1654          return CUP$result;
1655
1656          /*. . . . . . . . . . . . . . . . . . . .*/
1657          case 116: // any_item ::= item
1658            {
1659              CUP$result = new variant_token(/*any_item*/8);
1660               ((variant_token)CUP$result).variant_val = (/*v*/(variant_token)CUP$stack.elementAt(CUP$top-0)).variant_val;
1661            }
1662          return CUP$result;
1663
1664          /*. . . . . . . . . . . . . . . . . . . .*/
1665          case 115: // any_item ::= Word
1666            {
1667              CUP$result = new variant_token(/*any_item*/8);
1668               ((variant_token)CUP$result).variant_val = (/*w*/(str_token)CUP$stack.elementAt(CUP$top-0)).str_val;
1669            }
1670          return CUP$result;
1671
1672          /*. . . . . . . . . . . . . . . . . . . .*/
1673          case 114: // item ::= Str
1674            {
1675              CUP$result = new variant_token(/*item*/7);
1676               ((variant_token)CUP$result).variant_val = (/*s*/(str_token)CUP$stack.elementAt(CUP$top-0)).str_val;
1677            }
1678          return CUP$result;
1679
1680          /*. . . . . . . . . . . . . . . . . . . .*/
1681          case 113: // item ::= Num
1682            {
1683              CUP$result = new variant_token(/*item*/7);
1684               ((variant_token)CUP$result).variant_val = (/*n*/(number_token)CUP$stack.elementAt(CUP$top-0)).number_val;
1685            }
1686          return CUP$result;
1687
1688          /*. . . . . . . . . . . . . . . . . . . .*/
1689          case 112: // item ::= Int
1690            {
1691              CUP$result = new variant_token(/*item*/7);
1692               ((variant_token)CUP$result).variant_val = new Integer((/*i*/(int_token)CUP$stack.elementAt(CUP$top-0)).int_val);
1693            }
1694          return CUP$result;
1695
1696          /*. . . . . . . . . . . . . . . . . . . .*/
1697          case 111: // field_ext_expr ::= DANNOTATION ann_clf_expr ann_arglist endannotationsep
1698            {
1699              CUP$result = new symbol(/*field_ext_expr*/58);
1700
1701            }
1702          return CUP$result;
1703
1704          /*. . . . . . . . . . . . . . . . . . . .*/
1705          case 110: // field_ext_expr ::= DDEPRECATED deprecated_expr SEP
1706            {
1707              CUP$result = new symbol(/*field_ext_expr*/58);
1708
1709            }
1710          return CUP$result;
1711
1712          /*. . . . . . . . . . . . . . . . . . . .*/
1713          case 109: // field_ext_expr ::= DATTRIBUTE generic_expr SEP
1714            {
1715              CUP$result = new symbol(/*field_ext_expr*/58);
1716
1717            }
1718          return CUP$result;
1719
1720          /*. . . . . . . . . . . . . . . . . . . .*/
1721          case 108: // field_ext_expr ::= DSIGNATURE signature_expr SEP
1722            {
1723              CUP$result = new symbol(/*field_ext_expr*/58);
1724
1725            }
1726          return CUP$result;
1727
1728          /*. . . . . . . . . . . . . . . . . . . .*/
1729          case 107: // field_ext_list ::= field_ext_expr
1730            {
1731              CUP$result = new symbol(/*field_ext_list*/57);
1732
1733            }
1734          return CUP$result;
1735
1736          /*. . . . . . . . . . . . . . . . . . . .*/
1737          case 106: // field_ext_list ::= field_ext_list field_ext_expr
1738            {
1739              CUP$result = new symbol(/*field_ext_list*/57);
1740
1741            }
1742          return CUP$result;
1743
1744          /*. . . . . . . . . . . . . . . . . . . .*/
1745          case 105: // field_exts ::=
1746            {
1747              CUP$result = new symbol(/*field_exts*/56);
1748
1749            }
1750          return CUP$result;
1751
1752          /*. . . . . . . . . . . . . . . . . . . .*/
1753          case 104: // field_exts ::= field_ext_list
1754            {
1755              CUP$result = new symbol(/*field_exts*/56);
1756
1757            }
1758          return CUP$result;
1759
1760          /*. . . . . . . . . . . . . . . . . . . .*/
1761          case 103: // endfield ::= DEND FIELD SEP
1762            {
1763              CUP$result = new symbol(/*endfield*/55);
1764               dAsm.endField();
1765            }
1766          return CUP$result;
1767
1768          /*. . . . . . . . . . . . . . . . . . . .*/
1769          case 102: // field_start ::= access Word Word optional_default SEP
1770            {
1771              CUP$result = new symbol(/*field_start*/54);
1772               dAsm.beginField((short)(/*a*/(int_token)CUP$stack.elementAt(CUP$top-4)).int_val, (/*name*/(str_token)CUP$stack.elementAt(CUP$top-3)).str_val,
1773                              (/*desc*/(str_token)CUP$stack.elementAt(CUP$top-2)).str_val, (/*v*/(variant_token)CUP$stack.elementAt(CUP$top-1)).variant_val);
1774            }
1775          return CUP$result;
1776
1777          /*. . . . . . . . . . . . . . . . . . . .*/
1778          case 101: // optional_default ::=
1779            {
1780              CUP$result = new variant_token(/*optional_default*/6);
1781               ((variant_token)CUP$result).variant_val = null;
1782            }
1783          return CUP$result;
1784
1785          /*. . . . . . . . . . . . . . . . . . . .*/
1786          case 100: // optional_default ::= EQ item
1787            {
1788              CUP$result = new variant_token(/*optional_default*/6);
1789               ((variant_token)CUP$result).variant_val = (/*v*/(variant_token)CUP$stack.elementAt(CUP$top-0)).variant_val;
1790            }
1791          return CUP$result;
1792
1793          /*. . . . . . . . . . . . . . . . . . . .*/
1794          case 99: // field_spec ::= DFIELD field_start field_exts endfield
1795            {
1796              CUP$result = new symbol(/*field_spec*/19);
1797
1798            }
1799          return CUP$result;
1800
1801          /*. . . . . . . . . . . . . . . . . . . .*/
1802          case 98: // field_spec ::= DFIELD access Word Word optional_default SEP
1803            {
1804              CUP$result = new symbol(/*field_spec*/19);
1805               dAsm.addField((short)(/*a*/(int_token)CUP$stack.elementAt(CUP$top-4)).int_val, (/*name*/(str_token)CUP$stack.elementAt(CUP$top-3)).str_val, (/*desc*/(str_token)CUP$stack.elementAt(CUP$top-2)).str_val,
1806                               null, (/*v*/(variant_token)CUP$stack.elementAt(CUP$top-1)).variant_val);
1807            }
1808          return CUP$result;
1809
1810          /*. . . . . . . . . . . . . . . . . . . .*/
1811          case 97: // field_spec ::= DFIELD access Word Word SIGNATURE Str optional_default SEP
1812            {
1813              CUP$result = new symbol(/*field_spec*/19);
1814               dAsm.addField((short)(/*a*/(int_token)CUP$stack.elementAt(CUP$top-6)).int_val, (/*name*/(str_token)CUP$stack.elementAt(CUP$top-5)).str_val, (/*desc*/(str_token)CUP$stack.elementAt(CUP$top-4)).str_val,
1815                              (/*sig*/(str_token)CUP$stack.elementAt(CUP$top-2)).str_val, (/*v*/(variant_token)CUP$stack.elementAt(CUP$top-1)).variant_val);
1816            }
1817          return CUP$result;
1818
1819          /*. . . . . . . . . . . . . . . . . . . .*/
1820          case 96: // field_list ::= field_spec
1821            {
1822              CUP$result = new symbol(/*field_list*/18);
1823
1824            }
1825          return CUP$result;
1826
1827          /*. . . . . . . . . . . . . . . . . . . .*/
1828          case 95: // field_list ::= field_list field_spec
1829            {
1830              CUP$result = new symbol(/*field_list*/18);
1831
1832            }
1833          return CUP$result;
1834
1835          /*. . . . . . . . . . . . . . . . . . . .*/
1836          case 94: // fields ::=
1837            {
1838              CUP$result = new symbol(/*fields*/20);
1839
1840            }
1841          return CUP$result;
1842
1843          /*. . . . . . . . . . . . . . . . . . . .*/
1844          case 93: // fields ::= field_list
1845            {
1846              CUP$result = new symbol(/*fields*/20);
1847
1848            }
1849          return CUP$result;
1850
1851          /*. . . . . . . . . . . . . . . . . . . .*/
1852          case 92: // generic_expr ::= Word Str
1853            {
1854              CUP$result = new symbol(/*generic_expr*/53);
1855               dAsm.addGenericAttr((/*name*/(str_token)CUP$stack.elementAt(CUP$top-1)).str_val, (/*file*/(str_token)CUP$stack.elementAt(CUP$top-0)).str_val);
1856            }
1857          return CUP$result;
1858
1859          /*. . . . . . . . . . . . . . . . . . . .*/
1860          case 91: // generic_spec ::= DATTRIBUTE generic_expr SEP
1861            {
1862              CUP$result = new symbol(/*generic_spec*/52);
1863
1864            }
1865          return CUP$result;
1866
1867          /*. . . . . . . . . . . . . . . . . . . .*/
1868          case 90: // generic_list ::= generic_spec
1869            {
1870              CUP$result = new symbol(/*generic_list*/51);
1871
1872            }
1873          return CUP$result;
1874
1875          /*. . . . . . . . . . . . . . . . . . . .*/
1876          case 89: // generic_list ::= generic_list generic_spec
1877            {
1878              CUP$result = new symbol(/*generic_list*/51);
1879
1880            }
1881          return CUP$result;
1882
1883          /*. . . . . . . . . . . . . . . . . . . .*/
1884          case 88: // generic_attributes ::=
1885            {
1886              CUP$result = new symbol(/*generic_attributes*/50);
1887
1888            }
1889          return CUP$result;
1890
1891          /*. . . . . . . . . . . . . . . . . . . .*/
1892          case 87: // generic_attributes ::= generic_list
1893            {
1894              CUP$result = new symbol(/*generic_attributes*/50);
1895
1896            }
1897          return CUP$result;
1898
1899          /*. . . . . . . . . . . . . . . . . . . .*/
1900          case 86: // ann_def_expr ::= Word Word
1901            {
1902              CUP$result = new symbol(/*ann_def_expr*/91);
1903               //TODO: NOT SUPPORTED dAsm.addAnnotationField(null, (/*dsc*/(str_token)CUP$stack.elementAt(CUP$top-1)).str_val, (/*sub*/(str_token)CUP$stack.elementAt(CUP$top-0)).str_val);
1904            dAsm.report_error("WARNING: Annotations are not supported");
1905            }
1906          return CUP$result;
1907
1908          /*. . . . . . . . . . . . . . . . . . . .*/
1909          case 85: // ann_def_expr ::= Word
1910            {
1911              CUP$result = new symbol(/*ann_def_expr*/91);
1912               //TODO: NOT SUPPORTED dAsm.addAnnotationField(null, (/*dsc*/(str_token)CUP$stack.elementAt(CUP$top-0)).str_val, null);
1913            dAsm.report_error("WARNING: Annotations are not supported");
1914            }
1915          return CUP$result;
1916
1917          /*. . . . . . . . . . . . . . . . . . . .*/
1918          case 84: // ann_def_val ::= ann_def_expr EQ ann_value_list
1919            {
1920              CUP$result = new symbol(/*ann_def_val*/88);
1921
1922            }
1923          return CUP$result;
1924
1925          /*. . . . . . . . . . . . . . . . . . . .*/
1926          case 83: // ann_nest ::= SEP
1927            {
1928              CUP$result = new symbol(/*ann_nest*/93);
1929               //TODO: NOT SUPPORTED dAsm.nestAnnotation();
1930            dAsm.report_error("WARNING: Annotations are not supported");
1931            }
1932          return CUP$result;
1933
1934          /*. . . . . . . . . . . . . . . . . . . .*/
1935          case 82: // ann_ann_value ::= DANNOTATION ann_nest ann_arglist endannotationsep
1936            {
1937              CUP$result = new symbol(/*ann_ann_value*/95);
1938
1939            }
1940          return CUP$result;
1941
1942          /*. . . . . . . . . . . . . . . . . . . .*/
1943          case 81: // ann_ann_list ::= ann_ann_value
1944            {
1945              CUP$result = new symbol(/*ann_ann_list*/96);
1946
1947            }
1948          return CUP$result;
1949
1950          /*. . . . . . . . . . . . . . . . . . . .*/
1951          case 80: // ann_ann_list ::= ann_ann_list ann_ann_value
1952            {
1953              CUP$result = new symbol(/*ann_ann_list*/96);
1954
1955            }
1956          return CUP$result;
1957
1958          /*. . . . . . . . . . . . . . . . . . . .*/
1959          case 79: // ann_value ::= any_item
1960            {
1961              CUP$result = new symbol(/*ann_value*/90);
1962               //TODO: NOT SUPPORTED dAsm.addAnnotationValue((/*v*/(variant_token)CUP$stack.elementAt(CUP$top-0)).variant_val);
1963            dAsm.report_error("WARNING: Annotations are not supported");
1964            }
1965          return CUP$result;
1966
1967          /*. . . . . . . . . . . . . . . . . . . .*/
1968          case 78: // ann_value_items ::= ann_value
1969            {
1970              CUP$result = new symbol(/*ann_value_items*/89);
1971
1972            }
1973          return CUP$result;
1974
1975          /*. . . . . . . . . . . . . . . . . . . .*/
1976          case 77: // ann_value_items ::= ann_value_items ann_value
1977            {
1978              CUP$result = new symbol(/*ann_value_items*/89);
1979
1980            }
1981          return CUP$result;
1982
1983          /*. . . . . . . . . . . . . . . . . . . .*/
1984          case 76: // ann_value_list ::= ann_ann_list
1985            {
1986              CUP$result = new symbol(/*ann_value_list*/97);
1987
1988            }
1989          return CUP$result;
1990
1991          /*. . . . . . . . . . . . . . . . . . . .*/
1992          case 75: // ann_value_list ::= ann_value_items SEP
1993            {
1994              CUP$result = new symbol(/*ann_value_list*/97);
1995
1996            }
1997          return CUP$result;
1998
1999          /*. . . . . . . . . . . . . . . . . . . .*/
2000          case 74: // ann_def_spec ::= DEFAULT SEP
2001            {
2002              CUP$result = new symbol(/*ann_def_spec*/87);
2003               //TODO: NOT SUPPORTED dAsm.addAnnotation();
2004            dAsm.report_error("WARNING: Annotations are not supported");
2005            }
2006          return CUP$result;
2007
2008          /*. . . . . . . . . . . . . . . . . . . .*/
2009          case 73: // ann_arg_expr ::= Word Word Word
2010            {
2011              CUP$result = new symbol(/*ann_arg_expr*/92);
2012               //TODO: NOT SUPPORTED dAsm.addAnnotationField((/*n*/(str_token)CUP$stack.elementAt(CUP$top-2)).str_val, (/*dsc*/(str_token)CUP$stack.elementAt(CUP$top-1)).str_val, (/*sub*/(str_token)CUP$stack.elementAt(CUP$top-0)).str_val);
2013            dAsm.report_error("WARNING: Annotations are not supported");
2014            }
2015          return CUP$result;
2016
2017          /*. . . . . . . . . . . . . . . . . . . .*/
2018          case 72: // ann_arg_expr ::= Word Word
2019            {
2020              CUP$result = new symbol(/*ann_arg_expr*/92);
2021               //TODO: NOT SUPPORTED dAsm.addAnnotationField((/*n*/(str_token)CUP$stack.elementAt(CUP$top-1)).str_val, (/*dsc*/(str_token)CUP$stack.elementAt(CUP$top-0)).str_val, null);
2022            dAsm.report_error("WARNING: Annotations are not supported");
2023            }
2024          return CUP$result;
2025
2026          /*. . . . . . . . . . . . . . . . . . . .*/
2027          case 71: // ann_arg_spec ::= ann_arg_expr EQ ann_value_list
2028            {
2029              CUP$result = new symbol(/*ann_arg_spec*/86);
2030
2031            }
2032          return CUP$result;
2033
2034          /*. . . . . . . . . . . . . . . . . . . .*/
2035          case 70: // ann_arg_list ::= ann_arg_spec
2036            {
2037              CUP$result = new symbol(/*ann_arg_list*/85);
2038
2039            }
2040          return CUP$result;
2041
2042          /*. . . . . . . . . . . . . . . . . . . .*/
2043          case 69: // ann_arg_list ::= ann_arg_list ann_arg_spec
2044            {
2045              CUP$result = new symbol(/*ann_arg_list*/85);
2046
2047            }
2048          return CUP$result;
2049
2050          /*. . . . . . . . . . . . . . . . . . . .*/
2051          case 68: // ann_arglist ::=
2052            {
2053              CUP$result = new symbol(/*ann_arglist*/84);
2054
2055            }
2056          return CUP$result;
2057
2058          /*. . . . . . . . . . . . . . . . . . . .*/
2059          case 67: // ann_arglist ::= ann_arg_list
2060            {
2061              CUP$result = new symbol(/*ann_arglist*/84);
2062
2063            }
2064          return CUP$result;
2065
2066          /*. . . . . . . . . . . . . . . . . . . .*/
2067          case 66: // ann_met_expr ::= INVISIBLEPARAM Int classname SEP
2068            {
2069              CUP$result = new symbol(/*ann_met_expr*/83);
2070               //TODO: NOT SUPPORTED dAsm.addAnnotation(false, (/*name*/(str_token)CUP$stack.elementAt(CUP$top-1)).str_val, (/*n*/(int_token)CUP$stack.elementAt(CUP$top-2)).int_val);
2071            dAsm.report_error("WARNING: Annotations are not supported");
2072            }
2073          return CUP$result;
2074
2075          /*. . . . . . . . . . . . . . . . . . . .*/
2076          case 65: // ann_met_expr ::= VISIBLEPARAM Int classname SEP
2077            {
2078              CUP$result = new symbol(/*ann_met_expr*/83);
2079               //TODO: NOT SUPPORTED dAsm.addAnnotation(true, (/*name*/(str_token)CUP$stack.elementAt(CUP$top-1)).str_val, (/*n*/(int_token)CUP$stack.elementAt(CUP$top-2)).int_val);
2080            dAsm.report_error("WARNING: Annotations are not supported");
2081            }
2082          return CUP$result;
2083
2084          /*. . . . . . . . . . . . . . . . . . . .*/
2085          case 64: // ann_met_expr ::= INVISIBLE classname SEP
2086            {
2087              CUP$result = new symbol(/*ann_met_expr*/83);
2088               //TODO: NOT SUPPORTED dAsm.addAnnotation(false, (/*name*/(str_token)CUP$stack.elementAt(CUP$top-1)).str_val);
2089            dAsm.report_error("WARNING: Annotations are not supported");
2090            }
2091          return CUP$result;
2092
2093          /*. . . . . . . . . . . . . . . . . . . .*/
2094          case 63: // ann_met_expr ::= VISIBLE classname SEP
2095            {
2096              CUP$result = new symbol(/*ann_met_expr*/83);
2097               //TODO: NOT SUPPORTED dAsm.addAnnotation(true, (/*name*/(str_token)CUP$stack.elementAt(CUP$top-1)).str_val);
2098            dAsm.report_error("WARNING: Annotations are not supported");
2099            }
2100          return CUP$result;
2101
2102          /*. . . . . . . . . . . . . . . . . . . .*/
2103          case 62: // ann_clf_expr ::= INVISIBLE classname SEP
2104            {
2105              CUP$result = new symbol(/*ann_clf_expr*/82);
2106               //TODO: NOT SUPPORTED dAsm.addAnnotation(false, (/*name*/(str_token)CUP$stack.elementAt(CUP$top-1)).str_val);
2107            dAsm.report_error("WARNING: Annotations are not supported");
2108            }
2109          return CUP$result;
2110
2111          /*. . . . . . . . . . . . . . . . . . . .*/
2112          case 61: // ann_clf_expr ::= VISIBLE classname SEP
2113            {
2114              CUP$result = new symbol(/*ann_clf_expr*/82);
2115               //TODO: NOT SUPPORTED dAsm.addAnnotation(true, (/*name*/(str_token)CUP$stack.elementAt(CUP$top-1)).str_val);
2116            dAsm.report_error("WARNING: Annotations are not supported");
2117            }
2118          return CUP$result;
2119
2120          /*. . . . . . . . . . . . . . . . . . . .*/
2121          case 60: // ann_cls_expr ::= DANNOTATION ann_clf_expr
2122            {
2123              CUP$result = new symbol(/*ann_cls_expr*/81);
2124
2125            }
2126          return CUP$result;
2127
2128          /*. . . . . . . . . . . . . . . . . . . .*/
2129          case 59: // endannotation ::= DEND ANNOTATION
2130            {
2131              CUP$result = new symbol(/*endannotation*/80);
2132               //TODO: NOT SUPPORTED dAsm.endAnnotation();
2133            dAsm.report_error("WARNING: Annotations are not supported");
2134            }
2135          return CUP$result;
2136
2137          /*. . . . . . . . . . . . . . . . . . . .*/
2138          case 58: // endannotationsep ::= endannotation SEP
2139            {
2140              CUP$result = new symbol(/*endannotationsep*/94);
2141
2142            }
2143          return CUP$result;
2144
2145          /*. . . . . . . . . . . . . . . . . . . .*/
2146          case 57: // ann_cls_spec ::= ann_cls_expr ann_arglist endannotationsep
2147            {
2148              CUP$result = new symbol(/*ann_cls_spec*/79);
2149
2150            }
2151          return CUP$result;
2152
2153          /*. . . . . . . . . . . . . . . . . . . .*/
2154          case 56: // ann_cls_list ::= ann_cls_spec
2155            {
2156              CUP$result = new symbol(/*ann_cls_list*/78);
2157
2158            }
2159          return CUP$result;
2160
2161          /*. . . . . . . . . . . . . . . . . . . .*/
2162          case 55: // ann_cls_list ::= ann_cls_list ann_cls_spec
2163            {
2164              CUP$result = new symbol(/*ann_cls_list*/78);
2165
2166            }
2167          return CUP$result;
2168
2169          /*. . . . . . . . . . . . . . . . . . . .*/
2170          case 54: // annotations ::=
2171            {
2172              CUP$result = new symbol(/*annotations*/77);
2173
2174            }
2175          return CUP$result;
2176
2177          /*. . . . . . . . . . . . . . . . . . . .*/
2178          case 53: // annotations ::= ann_cls_list
2179            {
2180              CUP$result = new symbol(/*annotations*/77);
2181
2182            }
2183          return CUP$result;
2184
2185          /*. . . . . . . . . . . . . . . . . . . .*/
2186          case 52: // deprecated_expr ::=
2187            {
2188              CUP$result = new symbol(/*deprecated_expr*/49);
2189               /*dAsm.setDeprecated();*/dAsm.report_error("WARNING: @deprecated is not supported");
2190            }
2191          return CUP$result;
2192
2193          /*. . . . . . . . . . . . . . . . . . . .*/
2194          case 51: // deprecated_spec ::=
2195            {
2196              CUP$result = new symbol(/*deprecated_spec*/48);
2197
2198            }
2199          return CUP$result;
2200
2201          /*. . . . . . . . . . . . . . . . . . . .*/
2202          case 50: // deprecated_spec ::= DDEPRECATED deprecated_expr SEP
2203            {
2204              CUP$result = new symbol(/*deprecated_spec*/48);
2205
2206            }
2207          return CUP$result;
2208
2209          /*. . . . . . . . . . . . . . . . . . . .*/
2210          case 49: // enclosing_spec ::=
2211            {
2212              CUP$result = new symbol(/*enclosing_spec*/44);
2213
2214            }
2215          return CUP$result;
2216
2217          /*. . . . . . . . . . . . . . . . . . . .*/
2218          case 48: // enclosing_spec ::= DENCLOSING METHOD Word SEP
2219            {
2220              CUP$result = new symbol(/*enclosing_spec*/44);
2221               dAsm.setEnclosingMethod((/*w*/(str_token)CUP$stack.elementAt(CUP$top-1)).str_val);
2222            }
2223          return CUP$result;
2224
2225          /*. . . . . . . . . . . . . . . . . . . .*/
2226          case 47: // signature_expr ::= Str
2227            {
2228              CUP$result = new symbol(/*signature_expr*/46);
2229               dAsm.setSignature((/*sig*/(str_token)CUP$stack.elementAt(CUP$top-0)).str_val);
2230            }
2231          return CUP$result;
2232
2233          /*. . . . . . . . . . . . . . . . . . . .*/
2234          case 46: // signature_spec ::=
2235            {
2236              CUP$result = new symbol(/*signature_spec*/45);
2237
2238            }
2239          return CUP$result;
2240
2241          /*. . . . . . . . . . . . . . . . . . . .*/
2242          case 45: // signature_spec ::= DSIGNATURE signature_expr SEP
2243            {
2244              CUP$result = new symbol(/*signature_spec*/45);
2245
2246            }
2247          return CUP$result;
2248
2249          /*. . . . . . . . . . . . . . . . . . . .*/
2250          case 44: // implements_spec ::= DIMPLEMENTS classname SEP
2251            {
2252              CUP$result = new symbol(/*implements_spec*/24);
2253               dAsm.addInterface((/*name*/(str_token)CUP$stack.elementAt(CUP$top-1)).str_val);
2254            }
2255          return CUP$result;
2256
2257          /*. . . . . . . . . . . . . . . . . . . .*/
2258          case 43: // implements_list ::= implements_spec
2259            {
2260              CUP$result = new symbol(/*implements_list*/23);
2261
2262            }
2263          return CUP$result;
2264
2265          /*. . . . . . . . . . . . . . . . . . . .*/
2266          case 42: // implements_list ::= implements_list implements_spec
2267            {
2268              CUP$result = new symbol(/*implements_list*/23);
2269
2270            }
2271          return CUP$result;
2272
2273          /*. . . . . . . . . . . . . . . . . . . .*/
2274          case 41: // implements ::=
2275            {
2276              CUP$result = new symbol(/*implements*/22);
2277
2278            }
2279          return CUP$result;
2280
2281          /*. . . . . . . . . . . . . . . . . . . .*/
2282          case 40: // implements ::= implements_list
2283            {
2284              CUP$result = new symbol(/*implements*/22);
2285
2286            }
2287          return CUP$result;
2288
2289          /*. . . . . . . . . . . . . . . . . . . .*/
2290          case 39: // super_spec ::=
2291            {
2292              CUP$result = new symbol(/*super_spec*/39);
2293               if(isInterface == false)
2294               dAsm.setSuperClass("java/lang/Object");
2295           else
2296           // Dalvik requires interfaces to have superclass
2297               dAsm.setSuperClass("java/lang/Object");
2298            }
2299          return CUP$result;
2300
2301          /*. . . . . . . . . . . . . . . . . . . .*/
2302          case 38: // super_spec ::= DSUPER classname SEP
2303            {
2304              CUP$result = new symbol(/*super_spec*/39);
2305               dAsm.setSuperClass((/*name*/(str_token)CUP$stack.elementAt(CUP$top-1)).str_val);
2306            }
2307          return CUP$result;
2308
2309          /*. . . . . . . . . . . . . . . . . . . .*/
2310          case 37: // access_item ::= DECLARED_SYNCHRONIZED
2311            {
2312              CUP$result = new symbol(/*access_item*/9);
2313               access_val |= com.android.dx.rop.code.AccessFlags.ACC_DECLARED_SYNCHRONIZED;
2314            }
2315          return CUP$result;
2316
2317          /*. . . . . . . . . . . . . . . . . . . .*/
2318          case 36: // access_item ::= SYNTHETIC
2319            {
2320              CUP$result = new symbol(/*access_item*/9);
2321               access_val |= com.android.dx.rop.code.AccessFlags.ACC_SYNTHETIC;
2322            }
2323          return CUP$result;
2324
2325          /*. . . . . . . . . . . . . . . . . . . .*/
2326          case 35: // access_item ::= STRICT
2327            {
2328              CUP$result = new symbol(/*access_item*/9);
2329               access_val |= com.android.dx.rop.code.AccessFlags.ACC_STRICT;
2330            }
2331          return CUP$result;
2332
2333          /*. . . . . . . . . . . . . . . . . . . .*/
2334          case 34: // access_item ::= VARARGS
2335            {
2336              CUP$result = new symbol(/*access_item*/9);
2337               access_val |= com.android.dx.rop.code.AccessFlags.ACC_VARARGS;
2338            }
2339          return CUP$result;
2340
2341          /*. . . . . . . . . . . . . . . . . . . .*/
2342          case 33: // access_item ::= BRIDGE
2343            {
2344              CUP$result = new symbol(/*access_item*/9);
2345               access_val |= com.android.dx.rop.code.AccessFlags.ACC_BRIDGE;
2346            }
2347          return CUP$result;
2348
2349          /*. . . . . . . . . . . . . . . . . . . .*/
2350          case 32: // access_item ::= ENUM
2351            {
2352              CUP$result = new symbol(/*access_item*/9);
2353               access_val |= com.android.dx.rop.code.AccessFlags.ACC_ENUM;
2354            }
2355          return CUP$result;
2356
2357          /*. . . . . . . . . . . . . . . . . . . .*/
2358          case 31: // access_item ::= ANNOTATION
2359            {
2360              CUP$result = new symbol(/*access_item*/9);
2361               access_val |= com.android.dx.rop.code.AccessFlags.ACC_ANNOTATION;
2362            }
2363          return CUP$result;
2364
2365          /*. . . . . . . . . . . . . . . . . . . .*/
2366          case 30: // access_item ::= ABSTRACT
2367            {
2368              CUP$result = new symbol(/*access_item*/9);
2369               access_val |= com.android.dx.rop.code.AccessFlags.ACC_ABSTRACT;
2370            }
2371          return CUP$result;
2372
2373          /*. . . . . . . . . . . . . . . . . . . .*/
2374          case 29: // access_item ::= INTERFACE
2375            {
2376              CUP$result = new symbol(/*access_item*/9);
2377               access_val |= com.android.dx.rop.code.AccessFlags.ACC_INTERFACE;
2378            }
2379          return CUP$result;
2380
2381          /*. . . . . . . . . . . . . . . . . . . .*/
2382          case 28: // access_item ::= NATIVE
2383            {
2384              CUP$result = new symbol(/*access_item*/9);
2385               access_val |= com.android.dx.rop.code.AccessFlags.ACC_NATIVE;
2386            }
2387          return CUP$result;
2388
2389          /*. . . . . . . . . . . . . . . . . . . .*/
2390          case 27: // access_item ::= TRANSIENT
2391            {
2392              CUP$result = new symbol(/*access_item*/9);
2393               access_val |= com.android.dx.rop.code.AccessFlags.ACC_TRANSIENT;
2394            }
2395          return CUP$result;
2396
2397          /*. . . . . . . . . . . . . . . . . . . .*/
2398          case 26: // access_item ::= VOLATILE
2399            {
2400              CUP$result = new symbol(/*access_item*/9);
2401               access_val |= com.android.dx.rop.code.AccessFlags.ACC_VOLATILE;
2402            }
2403          return CUP$result;
2404
2405          /*. . . . . . . . . . . . . . . . . . . .*/
2406          case 25: // access_item ::= SYNCHRONIZED
2407            {
2408              CUP$result = new symbol(/*access_item*/9);
2409               access_val |= com.android.dx.rop.code.AccessFlags.ACC_SYNCHRONIZED;
2410            }
2411          return CUP$result;
2412
2413          /*. . . . . . . . . . . . . . . . . . . .*/
2414          case 24: // access_item ::= FINAL
2415            {
2416              CUP$result = new symbol(/*access_item*/9);
2417               access_val |= com.android.dx.rop.code.AccessFlags.ACC_FINAL;
2418            }
2419          return CUP$result;
2420
2421          /*. . . . . . . . . . . . . . . . . . . .*/
2422          case 23: // access_item ::= STATIC
2423            {
2424              CUP$result = new symbol(/*access_item*/9);
2425               access_val |= com.android.dx.rop.code.AccessFlags.ACC_STATIC;
2426            }
2427          return CUP$result;
2428
2429          /*. . . . . . . . . . . . . . . . . . . .*/
2430          case 22: // access_item ::= PROTECTED
2431            {
2432              CUP$result = new symbol(/*access_item*/9);
2433               access_val |= com.android.dx.rop.code.AccessFlags.ACC_PROTECTED;
2434            }
2435          return CUP$result;
2436
2437          /*. . . . . . . . . . . . . . . . . . . .*/
2438          case 21: // access_item ::= PRIVATE
2439            {
2440              CUP$result = new symbol(/*access_item*/9);
2441               access_val |= com.android.dx.rop.code.AccessFlags.ACC_PRIVATE;
2442            }
2443          return CUP$result;
2444
2445          /*. . . . . . . . . . . . . . . . . . . .*/
2446          case 20: // access_item ::= PUBLIC
2447            {
2448              CUP$result = new symbol(/*access_item*/9);
2449               access_val |= com.android.dx.rop.code.AccessFlags.ACC_PUBLIC;
2450            }
2451          return CUP$result;
2452
2453          /*. . . . . . . . . . . . . . . . . . . .*/
2454          case 19: // access_items ::= access_item
2455            {
2456              CUP$result = new symbol(/*access_items*/10);
2457
2458            }
2459          return CUP$result;
2460
2461          /*. . . . . . . . . . . . . . . . . . . .*/
2462          case 18: // access_items ::= access_items access_item
2463            {
2464              CUP$result = new symbol(/*access_items*/10);
2465
2466            }
2467          return CUP$result;
2468
2469          /*. . . . . . . . . . . . . . . . . . . .*/
2470          case 17: // access_list ::=
2471            {
2472              CUP$result = new symbol(/*access_list*/11);
2473
2474            }
2475          return CUP$result;
2476
2477          /*. . . . . . . . . . . . . . . . . . . .*/
2478          case 16: // access_list ::= access_items
2479            {
2480              CUP$result = new symbol(/*access_list*/11);
2481
2482            }
2483          return CUP$result;
2484
2485          /*. . . . . . . . . . . . . . . . . . . .*/
2486          case 15: // access ::= NT$0 access_list
2487            {
2488              CUP$result = new int_token(/*access*/98);
2489               ((int_token)CUP$result).int_val = access_val;
2490            }
2491          return CUP$result;
2492
2493          /*. . . . . . . . . . . . . . . . . . . .*/
2494          case 14: // NT$0 ::=
2495            {
2496              CUP$result = new java_cup.runtime.token(/*NT$0*/99);
2497               access_val = 0;
2498            }
2499          return CUP$result;
2500
2501          /*. . . . . . . . . . . . . . . . . . . .*/
2502          case 13: // classname ::= Word
2503            {
2504              CUP$result = new str_token(/*classname*/1);
2505               ((str_token)CUP$result).str_val = Utils.convertDotsToSlashes((/*w*/(str_token)CUP$stack.elementAt(CUP$top-0)).str_val);
2506            }
2507          return CUP$result;
2508
2509          /*. . . . . . . . . . . . . . . . . . . .*/
2510          case 12: // class_spec ::= DINTERFACE access classname SEP
2511            {
2512              CUP$result = new symbol(/*class_spec*/13);
2513               isInterface = true;
2514           dAsm.setClass((/*name*/(str_token)CUP$stack.elementAt(CUP$top-1)).str_val,
2515                ((/*a*/(int_token)CUP$stack.elementAt(CUP$top-2)).int_val |
2516                        com.android.dx.rop.code.AccessFlags.ACC_INTERFACE));
2517            }
2518          return CUP$result;
2519
2520          /*. . . . . . . . . . . . . . . . . . . .*/
2521          case 11: // class_spec ::= DCLASS access classname SEP
2522            {
2523              CUP$result = new symbol(/*class_spec*/13);
2524               isInterface = false;
2525           dAsm.setClass((/*name*/(str_token)CUP$stack.elementAt(CUP$top-1)).str_val,
2526                ((/*a*/(int_token)CUP$stack.elementAt(CUP$top-2)).int_val));
2527            }
2528          return CUP$result;
2529
2530          /*. . . . . . . . . . . . . . . . . . . .*/
2531          case 10: // source_spec ::=
2532            {
2533              CUP$result = new symbol(/*source_spec*/35);
2534
2535            }
2536          return CUP$result;
2537
2538          /*. . . . . . . . . . . . . . . . . . . .*/
2539          case 9: // source_spec ::= DSOURCE Word SEP
2540            {
2541              CUP$result = new symbol(/*source_spec*/35);
2542               dAsm.setSource((/*w*/(str_token)CUP$stack.elementAt(CUP$top-1)).str_val);
2543            }
2544          return CUP$result;
2545
2546          /*. . . . . . . . . . . . . . . . . . . .*/
2547          case 8: // source_spec ::= DSOURCE Str SEP
2548            {
2549              CUP$result = new symbol(/*source_spec*/35);
2550               dAsm.setSource((/*s*/(str_token)CUP$stack.elementAt(CUP$top-1)).str_val);
2551            }
2552          return CUP$result;
2553
2554          /*. . . . . . . . . . . . . . . . . . . .*/
2555          case 7: // dex_version_spec ::=
2556            {
2557              CUP$result = new symbol(/*dex_version_spec*/43);
2558
2559            }
2560          return CUP$result;
2561
2562          /*. . . . . . . . . . . . . . . . . . . .*/
2563          case 6: // dex_version_spec ::= DBYTECODE Num SEP
2564            {
2565              CUP$result = new symbol(/*dex_version_spec*/43);
2566               dAsm.setVersion((/*n*/(number_token)CUP$stack.elementAt(CUP$top-1)).number_val);
2567            }
2568          return CUP$result;
2569
2570          /*. . . . . . . . . . . . . . . . . . . .*/
2571          case 5: // dasm_header ::= dex_version_spec source_spec class_spec super_spec implements signature_spec enclosing_spec deprecated_spec annotations generic_attributes
2572            {
2573              CUP$result = new symbol(/*dasm_header*/47);
2574               dAsm.endHeader();
2575            }
2576          return CUP$result;
2577
2578          /*. . . . . . . . . . . . . . . . . . . .*/
2579          case 4: // dasm_file_class ::= dasm_header inners fields methods
2580            {
2581              CUP$result = new symbol(/*dasm_file_class*/27);
2582
2583            }
2584          return CUP$result;
2585
2586          /*. . . . . . . . . . . . . . . . . . . .*/
2587          case 3: // dasm_file_classes ::= dasm_file_class
2588            {
2589              CUP$result = new symbol(/*dasm_file_classes*/26);
2590
2591            }
2592          return CUP$result;
2593
2594          /*. . . . . . . . . . . . . . . . . . . .*/
2595          case 2: // dasm_file_classes ::= dasm_file_classes dasm_file_class
2596            {
2597              CUP$result = new symbol(/*dasm_file_classes*/26);
2598
2599            }
2600          return CUP$result;
2601
2602          /*. . . . . . . . . . . . . . . . . . . .*/
2603          case 1: // $START ::= dasm_file EOF
2604            {
2605              CUP$result = new java_cup.runtime.token(/*$START*/0);
2606
2607            }
2608          /* ACCEPT */
2609          CUP$parser.done_parsing();
2610          return CUP$result;
2611
2612          /*. . . . . . . . . . . . . . . . . . . .*/
2613          case 0: // dasm_file ::= dasm_file_classes
2614            {
2615              CUP$result = new symbol(/*dasm_file*/25);
2616
2617            }
2618          return CUP$result;
2619
2620          /* . . . . . .*/
2621          default:
2622            throw new Exception(
2623               "Invalid action number found in internal parse table");
2624
2625        }
2626    }
2627};
2628
2629