KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > sun > java_cup > internal > parser


1
2 //----------------------------------------------------
3
// The following code was generated by CUP v0.10j
4
// Sat Jul 24 08:05:57 EDT 1999
5
//----------------------------------------------------
6

7 package com.sun.java_cup.internal;
8
9 import com.sun.java_cup.internal.runtime.*;
10 import java.util.Hashtable JavaDoc;
11
12 /** CUP v0.10j generated parser.
13   * @version Sat Jul 24 08:05:57 EDT 1999
14   */

15 public class parser extends com.sun.java_cup.internal.runtime.lr_parser {
16
17   /** Default constructor. */
18   public parser() {super();}
19
20   /** Constructor which sets the default scanner. */
21   public parser(com.sun.java_cup.internal.runtime.Scanner s) {super(s);}
22
23   /** Production table. */
24   protected static final short _production_table[][] =
25     unpackFromStrings(new String JavaDoc[] {
26     "\000\153\000\002\002\004\000\002\055\002\000\002\003" +
27     "\012\000\002\003\007\000\002\056\002\000\002\004\006" +
28     "\000\002\004\003\000\002\005\004\000\002\005\003\000" +
29     "\002\057\002\000\002\020\006\000\002\010\003\000\002" +
30     "\010\003\000\002\010\003\000\002\010\003\000\002\007" +
31     "\002\000\002\007\004\000\002\006\006\000\002\013\006" +
32     "\000\002\022\006\000\002\023\006\000\002\014\004\000" +
33     "\002\014\003\000\002\024\005\000\002\024\004\000\002" +
34     "\024\005\000\002\024\004\000\002\060\002\000\002\024" +
35     "\006\000\002\061\002\000\002\024\006\000\002\062\002" +
36     "\000\002\044\005\000\002\063\002\000\002\045\005\000" +
37     "\002\026\005\000\002\026\003\000\002\027\005\000\002" +
38     "\027\003\000\002\040\003\000\002\040\003\000\002\043" +
39     "\004\000\002\043\003\000\002\064\002\000\002\041\007" +
40     "\000\002\065\002\000\002\041\007\000\002\066\002\000" +
41     "\002\041\007\000\002\042\005\000\002\042\003\000\002" +
42     "\052\003\000\002\053\003\000\002\067\002\000\002\015" +
43     "\007\000\002\015\003\000\002\016\004\000\002\016\003" +
44     "\000\002\070\002\000\002\071\002\000\002\030\010\000" +
45     "\002\072\002\000\002\030\005\000\002\035\005\000\002" +
46     "\035\003\000\002\036\005\000\002\036\003\000\002\031" +
47     "\004\000\002\031\003\000\002\032\004\000\002\032\003" +
48     "\000\002\051\004\000\002\051\003\000\002\017\005\000" +
49     "\002\017\003\000\002\021\005\000\002\021\003\000\002" +
50     "\025\003\000\002\025\005\000\002\033\003\000\002\034" +
51     "\003\000\002\046\003\000\002\046\003\000\002\047\003" +
52     "\000\002\047\003\000\002\050\003\000\002\054\003\000" +
53     "\002\054\003\000\002\054\003\000\002\054\003\000\002" +
54     "\054\003\000\002\054\003\000\002\054\003\000\002\054" +
55     "\003\000\002\054\003\000\002\054\003\000\002\054\003" +
56     "\000\002\054\003\000\002\054\003\000\002\054\003\000" +
57     "\002\054\003\000\002\054\003\000\002\012\004\000\002" +
58     "\012\003\000\002\011\002\000\002\011\003\000\002\037" +
59     "\002" });
60
61   /** Access to production table. */
62   public short[][] production_table() {return _production_table;}
63
64   /** Parse-action table. */
65   protected static final short[][] _action_table =
66     unpackFromStrings(new String JavaDoc[] {
67     "\000\247\000\026\003\006\004\000\005\000\007\000\010" +
68     "\000\011\000\012\000\013\000\014\000\035\000\001\002" +
69     "\000\004\002\251\001\002\000\024\004\200\005\uff97\007" +
70     "\uff97\010\uff97\011\uff97\012\uff97\013\uff97\014\uff97\035\uff97" +
71     "\001\002\000\010\011\007\012\012\035\014\001\002\000" +
72     "\042\003\163\006\026\007\027\010\040\011\036\012\022" +
73     "\013\042\014\030\015\017\016\015\026\033\027\023\030" +
74     "\035\031\041\035\025\036\160\001\002\000\020\003\uffeb" +
75     "\011\uffeb\012\uffeb\016\uffeb\026\uffeb\035\uffeb\036\uffeb\001" +
76     "\002\000\020\003\uff97\011\007\012\012\016\uff97\026\065" +
77     "\035\014\036\uff97\001\002\000\004\011\061\001\002\000" +
78     "\042\003\034\006\026\007\027\010\040\011\036\012\022" +
79     "\013\042\014\030\015\017\016\015\026\033\027\023\030" +
80     "\035\031\041\035\025\036\016\001\002\000\042\003\uff9a" +
81     "\006\uff9a\007\uff9a\010\uff9a\011\uff9a\012\uff9a\013\uff9a\014" +
82     "\uff9a\015\uff9a\016\uff9a\026\uff9a\027\uff9a\030\uff9a\031\uff9a" +
83     "\035\uff9a\036\uff9a\001\002\000\022\003\uffa1\017\uffa1\022" +
84     "\uffa1\025\uffa1\032\uffa1\033\uffa1\036\uffa1\037\uffa1\001\002" +
85     "\000\014\017\uffb1\020\uffb1\022\uffab\033\uffab\036\uffab\001" +
86     "\002\000\022\003\uffa2\017\uffa2\022\uffa2\025\uffa2\032\uffa2" +
87     "\033\uffa2\036\uffa2\037\uffa2\001\002\000\006\017\uffe0\020" +
88     "\055\001\002\000\010\022\051\033\uffb4\036\uffb4\001\002" +
89     "\000\022\003\uffa6\017\uffa6\022\uffa6\025\uffa6\032\uffa6\033" +
90     "\uffa6\036\uffa6\037\uffa6\001\002\000\022\003\uff9f\017\uff9f" +
91     "\022\uff9f\025\uff9f\032\uff9f\033\uff9f\036\uff9f\037\uff9f\001" +
92     "\002\000\006\033\047\036\045\001\002\000\022\003\uffa5" +
93     "\017\uffa5\022\uffa5\025\uffa5\032\uffa5\033\uffa5\036\uffa5\037" +
94     "\uffa5\001\002\000\022\003\uffaa\017\uffaa\022\uffaa\025\uffaa" +
95     "\032\uffaa\033\uffaa\036\uffaa\037\uffaa\001\002\000\022\003" +
96     "\uffa9\017\uffa9\022\uffa9\025\uffa9\032\uffa9\033\uffa9\036\uffa9" +
97     "\037\uffa9\001\002\000\022\003\uffa3\017\uffa3\022\uffa3\025" +
98     "\uffa3\032\uffa3\033\uffa3\036\uffa3\037\uffa3\001\002\000\012" +
99     "\017\uffb7\022\uffb7\033\uffb7\036\uffb7\001\002\000\020\003" +
100     "\uffe7\011\uffe7\012\uffe7\016\uffe7\026\uffe7\035\uffe7\036\uffe7" +
101     "\001\002\000\022\003\uffa0\017\uffa0\022\uffa0\025\uffa0\032" +
102     "\uffa0\033\uffa0\036\uffa0\037\uffa0\001\002\000\012\017\uffe4" +
103     "\022\uff9c\033\uff9c\036\uff9c\001\002\000\022\003\uff9e\017" +
104     "\uff9e\022\uff9e\025\uff9e\032\uff9e\033\uff9e\036\uff9e\037\uff9e" +
105     "\001\002\000\022\003\uffa7\017\uffa7\022\uffa7\025\uffa7\032" +
106     "\uffa7\033\uffa7\036\uffa7\037\uffa7\001\002\000\006\017\uffdb" +
107     "\020\uffdb\001\002\000\022\003\uffa8\017\uffa8\022\uffa8\025" +
108     "\uffa8\032\uffa8\033\uffa8\036\uffa8\037\uffa8\001\002\000\022" +
109     "\003\uff9d\017\uff9d\022\uff9d\025\uff9d\032\uff9d\033\uff9d\036" +
110     "\uff9d\037\uff9d\001\002\000\022\003\uffa4\017\uffa4\022\uffa4" +
111     "\025\uffa4\032\uffa4\033\uffa4\036\uffa4\037\uffa4\001\002\000" +
112     "\004\017\044\001\002\000\020\003\uffe3\011\uffe3\012\uffe3" +
113     "\016\uffe3\026\uffe3\035\uffe3\036\uffe3\001\002\000\006\017" +
114     "\uffb1\020\uffb1\001\002\000\020\003\uffe8\011\uffe8\012\uffe8" +
115     "\016\uffe8\026\uffe8\035\uffe8\036\uffe8\001\002\000\004\034" +
116     "\050\001\002\000\006\033\uffb3\036\uffb3\001\002\000\042" +
117     "\003\054\006\026\007\027\010\040\011\036\012\022\013" +
118     "\042\014\030\015\017\016\015\026\033\027\023\030\035" +
119     "\031\041\035\025\036\053\001\002\000\012\017\uffb8\022" +
120     "\uffb8\033\uffb8\036\uffb8\001\002\000\022\003\uffab\017\uffab" +
121     "\022\uffab\025\uffab\032\uffab\033\uffab\036\uffab\037\uffab\001" +
122     "\002\000\022\003\uff9c\017\uff9c\022\uff9c\025\uff9c\032\uff9c" +
123     "\033\uff9c\036\uff9c\037\uff9c\001\002\000\004\036\045\001" +
124     "\002\000\004\017\057\001\002\000\020\003\uffdf\011\uffdf" +
125     "\012\uffdf\016\uffdf\026\uffdf\035\uffdf\036\uffdf\001\002\000" +
126     "\006\017\uffdc\020\uffdc\001\002\000\042\003\uff9b\006\uff9b" +
127     "\007\uff9b\010\uff9b\011\uff9b\012\uff9b\013\uff9b\014\uff9b\015" +
128     "\uff9b\016\uff9b\026\uff9b\027\uff9b\030\uff9b\031\uff9b\035\uff9b" +
129     "\036\uff9b\001\002\000\010\003\uff97\016\116\036\uff97\001" +
130     "\002\000\012\003\uffda\016\uffda\026\065\036\uffda\001\002" +
131     "\000\010\003\uffd9\016\uffd9\036\uffd9\001\002\000\010\027" +
132     "\071\030\072\031\070\001\002\000\020\003\uffec\011\uffec" +
133     "\012\uffec\016\uffec\026\uffec\035\uffec\036\uffec\001\002\000" +
134     "\012\003\uffd7\016\uffd7\026\uffd7\036\uffd7\001\002\000\006" +
135     "\003\uffd2\036\uffd2\001\002\000\006\003\uffd6\036\uffd6\001" +
136     "\002\000\006\003\uffd4\036\uffd4\001\002\000\006\003\077" +
137     "\036\074\001\002\000\022\003\uffae\017\uffae\020\uffae\023" +
138     "\uffae\025\uffae\032\uffae\036\uffae\037\uffae\001\002\000\010" +
139     "\017\uffcd\020\uffcd\025\uffcd\001\002\000\006\017\uffce\020" +
140     "\uffce\001\002\000\022\003\uffad\017\uffad\020\uffad\023\uffad" +
141     "\025\uffad\032\uffad\036\uffad\037\uffad\001\002\000\006\017" +
142     "\102\020\103\001\002\000\006\017\uffcf\020\uffcf\001\002" +
143     "\000\012\003\uffd3\016\uffd3\026\uffd3\036\uffd3\001\002\000" +
144     "\006\003\077\036\074\001\002\000\006\017\uffd0\020\uffd0" +
145     "\001\002\000\006\003\077\036\074\001\002\000\006\017" +
146     "\107\020\103\001\002\000\012\003\uffd5\016\uffd5\026\uffd5" +
147     "\036\uffd5\001\002\000\006\003\077\036\074\001\002\000" +
148     "\006\017\112\020\103\001\002\000\012\003\uffd1\016\uffd1" +
149     "\026\uffd1\036\uffd1\001\002\000\012\003\uffd8\016\uffd8\026" +
150     "\uffd8\036\uffd8\001\002\000\006\003\uffca\036\uffca\001\002" +
151     "\000\006\003\126\036\120\001\002\000\004\015\117\001" +
152     "\002\000\006\003\122\036\120\001\002\000\006\017\uffb0" +
153     "\024\uffb0\001\002\000\004\017\uffcc\001\002\000\004\017" +
154     "\uffaf\001\002\000\004\017\124\001\002\000\006\003\uffcb" +
155     "\036\uffcb\001\002\000\004\024\uffc7\001\002\000\006\017" +
156     "\uffc4\024\uffaf\001\002\000\010\002\ufffe\003\126\036\120" +
157     "\001\002\000\010\002\uffc8\003\uffc8\036\uffc8\001\002\000" +
158     "\010\002\uffc9\003\uffc9\036\uffc9\001\002\000\004\017\133" +
159     "\001\002\000\010\002\uffc3\003\uffc3\036\uffc3\001\002\000" +
160     "\004\024\135\001\002\000\016\003\uffc6\017\uffc6\025\uffc6" +
161     "\032\uffc6\036\uffc6\037\uffc6\001\002\000\016\003\uff97\017" +
162     "\uff97\025\uff97\032\uff97\036\uff97\037\uff97\001\002\000\016" +
163     "\003\uffbd\017\uffbd\025\uffbd\032\uffbd\036\uffbd\037\uffbd\001" +
164     "\002\000\016\003\077\017\uffbf\025\uffbf\032\147\036\074" +
165     "\037\146\001\002\000\006\017\uffc1\025\uffc1\001\002\000" +
166     "\006\017\143\025\144\001\002\000\010\002\uffc5\003\uffc5" +
167     "\036\uffc5\001\002\000\016\003\uff97\017\uff97\025\uff97\032" +
168     "\uff97\036\uff97\037\uff97\001\002\000\006\017\uffc2\025\uffc2" +
169     "\001\002\000\016\003\uffbb\017\uffbb\025\uffbb\032\uffbb\036" +
170     "\uffbb\037\uffbb\001\002\000\006\003\077\036\074\001\002" +
171     "\000\020\003\uff97\017\uff97\023\154\025\uff97\032\uff97\036" +
172     "\uff97\037\uff97\001\002\000\016\003\uffbe\017\uffbe\025\uffbe" +
173     "\032\uffbe\036\uffbe\037\uffbe\001\002\000\016\003\uffb9\017" +
174     "\uffb9\025\uffb9\032\uffb9\036\uffb9\037\uffb9\001\002\000\016" +
175     "\003\uffbc\017\uffbc\025\uffbc\032\uffbc\036\uffbc\037\uffbc\001" +
176     "\002\000\042\003\054\006\026\007\027\010\040\011\036" +
177     "\012\022\013\042\014\030\015\017\016\015\026\033\027" +
178     "\023\030\035\031\041\035\025\036\053\001\002\000\016" +
179     "\003\uffba\017\uffba\025\uffba\032\uffba\036\uffba\037\uffba\001" +
180     "\002\000\016\003\uffac\017\uffac\025\uffac\032\uffac\036\uffac" +
181     "\037\uffac\001\002\000\006\017\uffc0\025\uffc0\001\002\000" +
182     "\014\017\uffb2\020\uffb2\022\uffab\033\uffab\036\uffab\001\002" +
183     "\000\006\033\047\036\170\001\002\000\006\017\uffdd\020" +
184     "\uffdd\001\002\000\012\017\uffe6\022\uff9c\033\uff9c\036\uff9c" +
185     "\001\002\000\020\003\uffe9\011\uffe9\012\uffe9\016\uffe9\026" +
186     "\uffe9\035\uffe9\036\uffe9\001\002\000\006\017\uffe2\020\167" +
187     "\001\002\000\004\017\172\001\002\000\004\036\170\001" +
188     "\002\000\006\017\uffb2\020\uffb2\001\002\000\006\017\uffde" +
189     "\020\uffde\001\002\000\020\003\uffe1\011\uffe1\012\uffe1\016" +
190     "\uffe1\026\uffe1\035\uffe1\036\uffe1\001\002\000\004\017\174" +
191     "\001\002\000\020\003\uffe5\011\uffe5\012\uffe5\016\uffe5\026" +
192     "\uffe5\035\uffe5\036\uffe5\001\002\000\020\003\uffea\011\uffea" +
193     "\012\uffea\016\uffea\026\uffea\035\uffea\036\uffea\001\002\000" +
194     "\022\005\ufffb\007\ufffb\010\ufffb\011\ufffb\012\ufffb\013\ufffb" +
195     "\014\ufffb\035\ufffb\001\002\000\022\005\uff97\007\uff97\010" +
196     "\uff97\011\uff97\012\uff97\013\uff97\014\uff97\035\uff97\001\002" +
197     "\000\042\003\054\006\026\007\027\010\040\011\036\012" +
198     "\022\013\042\014\030\015\017\016\015\026\033\027\023" +
199     "\030\035\031\041\035\025\036\053\001\002\000\006\017" +
200     "\ufffd\022\051\001\002\000\004\017\203\001\002\000\022" +
201     "\005\ufffc\007\ufffc\010\ufffc\011\ufffc\012\ufffc\013\ufffc\014" +
202     "\ufffc\035\ufffc\001\002\000\022\005\210\007\ufff2\010\ufff2" +
203     "\011\ufff2\012\ufff2\013\ufff2\014\ufff2\035\ufff2\001\002\000" +
204     "\022\005\ufff9\007\ufff9\010\ufff9\011\ufff9\012\ufff9\013\ufff9" +
205     "\014\ufff9\035\ufff9\001\002\000\020\007\223\010\224\011" +
206     "\007\012\012\013\227\014\225\035\014\001\002\000\022" +
207     "\005\ufffa\007\ufffa\010\ufffa\011\ufffa\012\ufffa\013\ufffa\014" +
208     "\ufffa\035\ufffa\001\002\000\042\003\054\006\026\007\027" +
209     "\010\040\011\036\012\022\013\042\014\030\015\017\016" +
210     "\015\026\033\027\023\030\035\031\041\035\025\036\053" +
211     "\001\002\000\006\017\uffb5\022\215\001\002\000\004\017" +
212     "\ufff8\001\002\000\004\017\214\001\002\000\022\005\ufff7" +
213     "\007\ufff7\010\ufff7\011\ufff7\012\ufff7\013\ufff7\014\ufff7\035" +
214     "\ufff7\001\002\000\044\003\054\006\026\007\027\010\040" +
215     "\011\036\012\022\013\042\014\030\015\017\016\015\021" +
216     "\216\026\033\027\023\030\035\031\041\035\025\036\053" +
217     "\001\002\000\004\017\uffb6\001\002\000\020\007\ufff3\010" +
218     "\ufff3\011\ufff3\012\ufff3\013\ufff3\014\ufff3\035\ufff3\001\002" +
219     "\000\020\007\ufff5\010\ufff5\011\ufff5\012\ufff5\013\ufff5\014" +
220     "\ufff5\035\ufff5\001\002\000\020\007\ufff1\010\ufff1\011\ufff1" +
221     "\012\ufff1\013\ufff1\014\ufff1\035\ufff1\001\002\000\020\007" +
222     "\ufff4\010\ufff4\011\ufff4\012\ufff4\013\ufff4\014\ufff4\035\ufff4" +
223     "\001\002\000\004\006\246\001\002\000\004\006\243\001" +
224     "\002\000\004\015\240\001\002\000\020\007\ufff6\010\ufff6" +
225     "\011\ufff6\012\ufff6\013\ufff6\014\ufff6\035\ufff6\001\002\000" +
226     "\004\015\234\001\002\000\020\003\uff97\011\007\012\012" +
227     "\016\uff97\026\065\035\014\036\uff97\001\002\000\010\003" +
228     "\uff97\016\116\036\uff97\001\002\000\006\003\126\036\120" +
229     "\001\002\000\010\002\uffff\003\126\036\120\001\002\000" +
230     "\004\037\235\001\002\000\022\007\uff99\010\uff99\011\uff99" +
231     "\012\uff99\013\uff99\014\uff99\017\236\035\uff99\001\002\000" +
232     "\020\007\uff98\010\uff98\011\uff98\012\uff98\013\uff98\014\uff98" +
233     "\035\uff98\001\002\000\020\007\uffee\010\uffee\011\uffee\012" +
234     "\uffee\013\uffee\014\uffee\035\uffee\001\002\000\004\037\241" +
235     "\001\002\000\022\007\uff99\010\uff99\011\uff99\012\uff99\013" +
236     "\uff99\014\uff99\017\236\035\uff99\001\002\000\020\007\uffed" +
237     "\010\uffed\011\uffed\012\uffed\013\uffed\014\uffed\035\uffed\001" +
238     "\002\000\004\037\244\001\002\000\022\007\uff99\010\uff99" +
239     "\011\uff99\012\uff99\013\uff99\014\uff99\017\236\035\uff99\001" +
240     "\002\000\020\007\uffef\010\uffef\011\uffef\012\uffef\013\uffef" +
241     "\014\uffef\035\uffef\001\002\000\004\037\247\001\002\000" +
242     "\022\007\uff99\010\uff99\011\uff99\012\uff99\013\uff99\014\uff99" +
243     "\017\236\035\uff99\001\002\000\020\007\ufff0\010\ufff0\011" +
244     "\ufff0\012\ufff0\013\ufff0\014\ufff0\035\ufff0\001\002\000\004" +
245     "\002\001\001\002" });
246
247   /** Access to parse-action table. */
248   public short[][] action_table() {return _action_table;}
249
250   /** <code>reduce_goto</code> table. */
251   protected static final short[][] _reduce_table =
252     unpackFromStrings(new String JavaDoc[] {
253     "\000\247\000\006\003\003\055\004\001\001\000\002\001" +
254     "\001\000\006\004\176\037\175\001\001\000\010\012\012" +
255     "\014\010\024\007\001\001\000\016\017\020\025\160\026" +
256     "\164\033\161\044\163\054\030\001\001\000\002\001\001" +
257     "\000\016\012\012\024\065\037\063\040\061\041\066\043" +
258     "\062\001\001\000\002\001\001\000\016\017\020\025\023" +
259     "\027\017\034\036\045\031\054\030\001\001\000\002\001" +
260     "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
261     "\000\004\063\055\001\001\000\002\001\001\000\002\001" +
262     "\001\000\002\001\001\000\010\027\017\034\036\045\045" +
263     "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
264     "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
265     "\000\002\001\001\000\004\061\042\001\001\000\002\001" +
266     "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
267     "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
268     "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
269     "\001\001\000\002\001\001\000\004\054\051\001\001\000" +
270     "\002\001\001\000\002\001\001\000\002\001\001\000\004" +
271     "\034\057\001\001\000\002\001\001\000\002\001\001\000" +
272     "\002\001\001\000\002\001\001\000\006\015\114\037\113" +
273     "\001\001\000\004\041\112\001\001\000\002\001\001\000" +
274     "\002\001\001\000\002\001\001\000\002\001\001\000\004" +
275     "\066\107\001\001\000\004\064\104\001\001\000\004\065" +
276     "\072\001\001\000\012\042\077\047\074\052\100\053\075" +
277     "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
278     "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
279     "\000\002\001\001\000\010\047\074\052\103\053\075\001" +
280     "\001\000\002\001\001\000\012\042\105\047\074\052\100" +
281     "\053\075\001\001\000\002\001\001\000\002\001\001\000" +
282     "\012\042\110\047\074\052\100\053\075\001\001\000\002" +
283     "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
284     "\001\000\010\016\126\030\127\046\124\001\001\000\002" +
285     "\001\001\000\004\046\120\001\001\000\002\001\001\000" +
286     "\004\067\122\001\001\000\002\001\001\000\002\001\001" +
287     "\000\002\001\001\000\004\070\133\001\001\000\004\072" +
288     "\131\001\001\000\006\030\130\046\124\001\001\000\002" +
289     "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
290     "\001\000\002\001\001\000\004\071\135\001\001\000\012" +
291     "\031\137\035\141\036\140\037\136\001\001\000\002\001" +
292     "\001\000\006\032\150\047\147\001\001\000\002\001\001" +
293     "\000\002\001\001\000\002\001\001\000\010\031\137\036" +
294     "\144\037\136\001\001\000\002\001\001\000\002\001\001" +
295     "\000\006\047\074\053\156\001\001\000\006\037\151\051" +
296     "\152\001\001\000\002\001\001\000\002\001\001\000\002" +
297     "\001\001\000\006\050\154\054\155\001\001\000\002\001" +
298     "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
299     "\000\010\026\164\033\161\044\174\001\001\000\002\001" +
300     "\001\000\004\060\172\001\001\000\002\001\001\000\004" +
301     "\062\165\001\001\000\002\001\001\000\004\033\170\001" +
302     "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
303     "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
304     "\002\001\001\000\006\005\203\037\204\001\001\000\006" +
305     "\017\200\054\030\001\001\000\004\056\201\001\001\000" +
306     "\002\001\001\000\002\001\001\000\006\007\205\020\206" +
307     "\001\001\000\002\001\001\000\022\006\225\010\220\012" +
308     "\012\013\217\014\227\022\221\023\216\024\007\001\001" +
309     "\000\002\001\001\000\010\017\210\021\211\054\030\001" +
310     "\001\000\002\001\001\000\004\057\212\001\001\000\002" +
311     "\001\001\000\002\001\001\000\004\054\051\001\001\000" +
312     "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
313     "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
314     "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
315     "\000\016\012\012\024\065\037\063\040\230\041\066\043" +
316     "\062\001\001\000\006\015\231\037\113\001\001\000\010" +
317     "\016\232\030\127\046\124\001\001\000\006\030\130\046" +
318     "\124\001\001\000\002\001\001\000\004\011\236\001\001" +
319     "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
320     "\004\011\241\001\001\000\002\001\001\000\002\001\001" +
321     "\000\004\011\244\001\001\000\002\001\001\000\002\001" +
322     "\001\000\004\011\247\001\001\000\002\001\001\000\002" +
323     "\001\001" });
324
325   /** Access to <code>reduce_goto</code> table. */
326   public short[][] reduce_table() {return _reduce_table;}
327
328   /** Instance of action encapsulation class. */
329   protected CUP$parser$actions action_obj;
330
331   /** Action encapsulation object initializer. */
332   protected void init_actions()
333     {
334       action_obj = new CUP$parser$actions(this);
335     }
336
337   /** Invoke a user supplied parse action. */
338   public com.sun.java_cup.internal.runtime.Symbol do_action(
339     int act_num,
340     com.sun.java_cup.internal.runtime.lr_parser parser,
341     java.util.Stack JavaDoc stack,
342     int top)
343     throws java.lang.Exception JavaDoc
344   {
345     /* call code in generated class */
346     return action_obj.CUP$parser$do_action(act_num, parser, stack, top);
347   }
348
349   /** Indicates start state. */
350   public int start_state() {return 0;}
351   /** Indicates start production. */
352   public int start_production() {return 0;}
353
354   /** <code>EOF</code> Symbol index. */
355   public int EOF_sym() {return 0;}
356
357   /** <code>error</code> Symbol index. */
358   public int error_sym() {return 1;}
359
360
361   /** User initialization code. */
362   public void user_init() throws java.lang.Exception JavaDoc
363     {
364  lexer.init();
365     }
366
367   /** Scan to get the next Symbol. */
368   public com.sun.java_cup.internal.runtime.Symbol scan()
369     throws java.lang.Exception JavaDoc
370     {
371  return lexer.next_token();
372     }
373
374
375
376   /* override error routines */
377
378   public void report_fatal_error(
379     String JavaDoc message,
380     Object JavaDoc info)
381     {
382       done_parsing();
383       lexer.emit_error(message);
384       System.err.println("Can't recover from previous error(s), giving up.");
385       System.exit(1);
386     }
387
388     public void report_error(String JavaDoc message, Object JavaDoc info)
389     {
390       lexer.emit_error(message);
391     }
392
393 }
394
395 /** Cup generated class to encapsulate user supplied action code.*/
396 class CUP$parser$actions {
397
398
399   /** helper routine to clone a new production part adding a given label */
400   protected production_part add_lab(production_part part, String JavaDoc lab)
401     throws internal_error
402     {
403       /* if there is no label, or this is an action, just return the original */
404       if (lab == null || part.is_action()) return part;
405
406       /* otherwise build a new one with the given label attached */
407       return new symbol_part(((symbol_part)part).the_symbol(),lab);
408     }
409
410   /** max size of right hand side we will support */
411   protected final int MAX_RHS = 200;
412
413   /** array for accumulating right hand side parts */
414   protected production_part[] rhs_parts = new production_part[MAX_RHS];
415
416   /** where we are currently in building a right hand side */
417   protected int rhs_pos = 0;
418
419   /** start a new right hand side */
420   protected void new_rhs() {rhs_pos = 0; }
421
422   /** add a new right hand side part */
423   protected void add_rhs_part(production_part part) throws java.lang.Exception JavaDoc
424     {
425       if (rhs_pos >= MAX_RHS)
426     throw new Exception JavaDoc("Internal Error: Productions limited to " +
427                  MAX_RHS + " symbols and actions");
428
429       rhs_parts[rhs_pos] = part;
430       rhs_pos++;
431     }
432
433   /** string to build up multiple part names */
434   protected String JavaDoc multipart_name = new String JavaDoc();
435
436   /** append a new name segment to the accumulated multipart name */
437   protected void append_multipart(String JavaDoc name)
438     {
439       String JavaDoc dot = "";
440
441       /* if we aren't just starting out, put on a dot */
442       if (multipart_name.length() != 0) dot = ".";
443
444       multipart_name = multipart_name.concat(dot + name);
445     }
446
447   /** table of declared symbols -- contains production parts indexed by name */
448   protected Hashtable JavaDoc symbols = new Hashtable JavaDoc();
449
450   /** table of just non terminals -- contains non_terminals indexed by name */
451   protected Hashtable JavaDoc non_terms = new Hashtable JavaDoc();
452
453   /** declared start non_terminal */
454   protected non_terminal start_nt = null;
455
456   /** left hand side non terminal of the current production */
457   protected non_terminal lhs_nt;
458
459   /** Current precedence number */
460   int _cur_prec = 0;
461
462   /** Current precedence side */
463   int _cur_side = assoc.no_prec;
464
465   /** update the precedences we are declaring */
466   protected void update_precedence(int p) {
467     _cur_side = p;
468     _cur_prec++;
469   }
470   /** add relevant data to terminals */
471   protected void add_precedence(String JavaDoc term) {
472     if (term == null) {
473       System.err.println("Unable to add precedence to nonexistent terminal");
474     } else {
475       symbol_part sp = (symbol_part)symbols.get(term);
476       if (sp == null) {
477     System.err.println("Could find terminal " + term + " while declaring precedence");
478       } else {
479     com.sun.java_cup.internal.symbol sym = sp.the_symbol();
480     if (sym instanceof terminal)
481       ((terminal)sym).set_precedence(_cur_side, _cur_prec);
482     else System.err.println("Precedence declaration: Can't find terminal " + term);
483       }
484     }
485   }
486
487   private final parser parser;
488
489   /** Constructor */
490   CUP$parser$actions(parser parser) {
491     this.parser = parser;
492   }
493
494   /** Method with the actual generated action code. */
495   public final com.sun.java_cup.internal.runtime.Symbol CUP$parser$do_action(
496     int CUP$parser$act_num,
497     com.sun.java_cup.internal.runtime.lr_parser CUP$parser$parser,
498     java.util.Stack JavaDoc CUP$parser$stack,
499     int CUP$parser$top)
500     throws java.lang.Exception JavaDoc
501     {
502       /* Symbol object for return from actions */
503       com.sun.java_cup.internal.runtime.Symbol CUP$parser$result;
504
505       /* select the action based on the action number */
506       switch (CUP$parser$act_num)
507         {
508           /*. . . . . . . . . . . . . . . . . . . .*/
509           case 106: // empty ::=
510
{
511               Object JavaDoc RESULT = null;
512
513               CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(29/*empty*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
514             }
515           return CUP$parser$result;
516
517           /*. . . . . . . . . . . . . . . . . . . .*/
518           case 105: // opt_semi ::= SEMI
519
{
520               Object JavaDoc RESULT = null;
521
522               CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(7/*opt_semi*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
523             }
524           return CUP$parser$result;
525
526           /*. . . . . . . . . . . . . . . . . . . .*/
527           case 104: // opt_semi ::=
528
{
529               Object JavaDoc RESULT = null;
530
531               CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(7/*opt_semi*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
532             }
533           return CUP$parser$result;
534
535           /*. . . . . . . . . . . . . . . . . . . .*/
536           case 103: // non_terminal ::= NONTERMINAL
537
{
538               Object JavaDoc RESULT = null;
539
540               CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(8/*non_terminal*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
541             }
542           return CUP$parser$result;
543
544           /*. . . . . . . . . . . . . . . . . . . .*/
545           case 102: // non_terminal ::= NON TERMINAL
546
{
547               Object JavaDoc RESULT = null;
548
549               CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(8/*non_terminal*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
550             }
551           return CUP$parser$result;
552
553           /*. . . . . . . . . . . . . . . . . . . .*/
554           case 101: // robust_id ::= error
555
{
556               String JavaDoc RESULT = null;
557         
558         lexer.emit_error("Illegal use of reserved word");
559         RESULT="ILLEGAL";
560     
561               CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(42/*robust_id*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
562             }
563           return CUP$parser$result;
564
565           /*. . . . . . . . . . . . . . . . . . . .*/
566           case 100: // robust_id ::= NONASSOC
567
{
568               String JavaDoc RESULT = null;
569          RESULT = "nonassoc";
570               CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(42/*robust_id*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
571             }
572           return CUP$parser$result;
573
574           /*. . . . . . . . . . . . . . . . . . . .*/
575           case 99: // robust_id ::= RIGHT
576
{
577               String JavaDoc RESULT = null;
578          RESULT = "right";
579               CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(42/*robust_id*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
580             }
581           return CUP$parser$result;
582
583           /*. . . . . . . . . . . . . . . . . . . .*/
584           case 98: // robust_id ::= LEFT
585
{
586               String JavaDoc RESULT = null;
587          RESULT = "left";
588               CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(42/*robust_id*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
589             }
590           return CUP$parser$result;
591
592           /*. . . . . . . . . . . . . . . . . . . .*/
593           case 97: // robust_id ::= PRECEDENCE
594
{
595               String JavaDoc RESULT = null;
596          RESULT = "precedence";
597               CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(42/*robust_id*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
598             }
599           return CUP$parser$result;
600
601           /*. . . . . . . . . . . . . . . . . . . .*/
602           case 96: // robust_id ::= START
603
{
604               String JavaDoc RESULT = null;
605          RESULT = "start";
606               CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(42/*robust_id*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
607             }
608           return CUP$parser$result;
609
610           /*. . . . . . . . . . . . . . . . . . . .*/
611           case 95: // robust_id ::= WITH
612
{
613               String JavaDoc RESULT = null;
614          RESULT = "with";
615               CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(42/*robust_id*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
616             }
617           return CUP$parser$result;
618
619           /*. . . . . . . . . . . . . . . . . . . .*/
620           case 94: // robust_id ::= SCAN
621
{
622               String JavaDoc RESULT = null;
623          RESULT = "scan";
624               CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(42/*robust_id*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
625             }
626           return CUP$parser$result;
627
628           /*. . . . . . . . . . . . . . . . . . . .*/
629           case 93: // robust_id ::= INIT
630
{
631               String JavaDoc RESULT = null;
632          RESULT = "init";
633               CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(42/*robust_id*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
634             }
635           return CUP$parser$result;
636
637           /*. . . . . . . . . . . . . . . . . . . .*/
638           case 92: // robust_id ::= NONTERMINAL
639
{
640               String JavaDoc RESULT = null;
641          RESULT = "nonterminal";
642               CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(42/*robust_id*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
643             }
644           return CUP$parser$result;
645
646           /*. . . . . . . . . . . . . . . . . . . .*/
647           case 91: // robust_id ::= NON
648
{
649               String JavaDoc RESULT = null;
650          RESULT = "non";
651               CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(42/*robust_id*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
652             }
653           return CUP$parser$result;
654
655           /*. . . . . . . . . . . . . . . . . . . .*/
656           case 90: // robust_id ::= TERMINAL
657
{
658               String JavaDoc RESULT = null;
659          RESULT = "terminal";
660               CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(42/*robust_id*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
661             }
662           return CUP$parser$result;
663
664           /*. . . . . . . . . . . . . . . . . . . .*/
665           case 89: // robust_id ::= PARSER
666
{
667               String JavaDoc RESULT = null;
668          RESULT = "parser";
669               CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(42/*robust_id*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
670             }
671           return CUP$parser$result;
672
673           /*. . . . . . . . . . . . . . . . . . . .*/
674           case 88: // robust_id ::= ACTION
675
{
676               String JavaDoc RESULT = null;
677          RESULT = "action";
678               CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(42/*robust_id*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
679             }
680           return CUP$parser$result;
681
682           /*. . . . . . . . . . . . . . . . . . . .*/
683           case 87: // robust_id ::= CODE
684
{
685               String JavaDoc RESULT = null;
686          RESULT = "code";
687               CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(42/*robust_id*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
688             }
689           return CUP$parser$result;
690
691           /*. . . . . . . . . . . . . . . . . . . .*/
692           case 86: // robust_id ::= ID
693
{
694               String JavaDoc RESULT = null;
695         int the_idleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
696         int the_idright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
697         String JavaDoc the_id = (String JavaDoc)((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
698          RESULT = the_id;
699               CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(42/*robust_id*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
700             }
701           return CUP$parser$result;
702
703           /*. . . . . . . . . . . . . . . . . . . .*/
704           case 85: // label_id ::= robust_id
705
{
706               String JavaDoc RESULT = null;
707         int the_idleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
708         int the_idright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
709         String JavaDoc the_id = (String JavaDoc)((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
710          RESULT = the_id;
711               CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(38/*label_id*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
712             }
713           return CUP$parser$result;
714
715           /*. . . . . . . . . . . . . . . . . . . .*/
716           case 84: // symbol_id ::= error
717
{
718               String JavaDoc RESULT = null;
719         
720         lexer.emit_error("Illegal use of reserved word");
721         RESULT="ILLEGAL";
722     
723               CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(37/*symbol_id*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
724             }
725           return CUP$parser$result;
726
727           /*. . . . . . . . . . . . . . . . . . . .*/
728           case 83: // symbol_id ::= ID
729
{
730               String JavaDoc RESULT = null;
731         int the_idleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
732         int the_idright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
733         String JavaDoc the_id = (String JavaDoc)((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
734          RESULT = the_id;
735               CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(37/*symbol_id*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
736             }
737           return CUP$parser$result;
738
739           /*. . . . . . . . . . . . . . . . . . . .*/
740           case 82: // nt_id ::= error
741
{
742               String JavaDoc RESULT = null;
743         
744         lexer.emit_error("Illegal use of reserved word");
745         RESULT="ILLEGAL";
746     
747               CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(36/*nt_id*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
748             }
749           return CUP$parser$result;
750
751           /*. . . . . . . . . . . . . . . . . . . .*/
752           case 81: // nt_id ::= ID
753
{
754               String JavaDoc RESULT = null;
755         int the_idleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
756         int the_idright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
757         String JavaDoc the_id = (String JavaDoc)((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
758          RESULT = the_id;
759               CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(36/*nt_id*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
760             }
761           return CUP$parser$result;
762
763           /*. . . . . . . . . . . . . . . . . . . .*/
764           case 80: // new_non_term_id ::= ID
765
{
766               Object JavaDoc RESULT = null;
767         int non_term_idleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
768         int non_term_idright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
769         String JavaDoc non_term_id = (String JavaDoc)((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
770          
771       /* see if this non terminal has been declared before */
772       if (symbols.get(non_term_id) != null)
773         {
774           /* issue a message */
775           lexer.emit_error( "com.sun.java_cup.internal.runtime.Symbol \"" + non_term_id +
776                                   "\" has already been declared");
777         }
778       else
779         {
780           if (multipart_name.equals("")) {
781         append_multipart("Object");
782           }
783           /* build the non terminal object */
784               non_terminal this_nt =
785         new non_terminal(non_term_id, multipart_name);
786
787           /* put it in the non_terms table */
788           non_terms.put(non_term_id, this_nt);
789
790           /* build a production_part and put it in the symbols table */
791           symbols.put(non_term_id, new symbol_part(this_nt));
792         }
793     
794               CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(26/*new_non_term_id*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
795             }
796           return CUP$parser$result;
797
798           /*. . . . . . . . . . . . . . . . . . . .*/
799           case 79: // new_term_id ::= ID
800
{
801               Object JavaDoc RESULT = null;
802         int term_idleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
803         int term_idright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
804         String JavaDoc term_id = (String JavaDoc)((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
805          
806       /* see if this terminal has been declared before */
807       if (symbols.get(term_id) != null)
808         {
809           /* issue a message */
810           lexer.emit_error("com.sun.java_cup.internal.runtime.Symbol \"" + term_id +
811                "\" has already been declared");
812         }
813       else
814         {
815           /* if no type declared, declare one */
816           if (multipart_name.equals("")) {
817         append_multipart("Object");
818           }
819           /* build a production_part and put it in the table */
820           symbols.put(term_id,
821             new symbol_part(new terminal(term_id, multipart_name)));
822         }
823     
824               CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(25/*new_term_id*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
825             }
826           return CUP$parser$result;
827
828           /*. . . . . . . . . . . . . . . . . . . .*/
829           case 78: // type_id ::= type_id LBRACK RBRACK
830
{
831               Object JavaDoc RESULT = null;
832          multipart_name = multipart_name.concat("[]");
833               CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(19/*type_id*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
834             }
835           return CUP$parser$result;
836
837           /*. . . . . . . . . . . . . . . . . . . .*/
838           case 77: // type_id ::= multipart_id
839
{
840               Object JavaDoc RESULT = null;
841
842               CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(19/*type_id*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
843             }
844           return CUP$parser$result;
845
846           /*. . . . . . . . . . . . . . . . . . . .*/
847           case 76: // import_id ::= multipart_id
848
{
849               Object JavaDoc RESULT = null;
850
851               CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(15/*import_id*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
852             }
853           return CUP$parser$result;
854
855           /*. . . . . . . . . . . . . . . . . . . .*/
856           case 75: // import_id ::= multipart_id DOT STAR
857
{
858               Object JavaDoc RESULT = null;
859          append_multipart("*");
860               CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(15/*import_id*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
861             }
862           return CUP$parser$result;
863
864           /*. . . . . . . . . . . . . . . . . . . .*/
865           case 74: // multipart_id ::= robust_id
866
{
867               Object JavaDoc RESULT = null;
868         int an_idleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
869         int an_idright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
870         String JavaDoc an_id = (String JavaDoc)((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
871          append_multipart(an_id);
872               CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(13/*multipart_id*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
873             }
874           return CUP$parser$result;
875
876           /*. . . . . . . . . . . . . . . . . . . .*/
877           case 73: // multipart_id ::= multipart_id DOT robust_id
878
{
879               Object JavaDoc RESULT = null;
880         int another_idleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
881         int another_idright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
882         String JavaDoc another_id = (String JavaDoc)((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
883          append_multipart(another_id);
884               CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(13/*multipart_id*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
885             }
886           return CUP$parser$result;
887
888           /*. . . . . . . . . . . . . . . . . . . .*/
889           case 72: // opt_label ::= empty
890
{
891               String JavaDoc RESULT = null;
892          RESULT = null;
893               CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(39/*opt_label*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
894             }
895           return CUP$parser$result;
896
897           /*. . . . . . . . . . . . . . . . . . . .*/
898           case 71: // opt_label ::= COLON label_id
899
{
900               String JavaDoc RESULT = null;
901         int labidleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
902         int labidright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
903         String JavaDoc labid = (String JavaDoc)((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
904          RESULT = labid;
905               CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(39/*opt_label*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
906             }
907           return CUP$parser$result;
908
909           /*. . . . . . . . . . . . . . . . . . . .*/
910           case 70: // prod_part ::= CODE_STRING
911
{
912               Object JavaDoc RESULT = null;
913         int code_strleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
914         int code_strright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
915         String JavaDoc code_str = (String JavaDoc)((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
916          
917       /* add a new production part */
918       add_rhs_part(new action_part(code_str));
919     
920               CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(24/*prod_part*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
921             }
922           return CUP$parser$result;
923
924           /*. . . . . . . . . . . . . . . . . . . .*/
925           case 69: // prod_part ::= symbol_id opt_label
926
{
927               Object JavaDoc RESULT = null;
928         int symidleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
929         int symidright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
930         String JavaDoc symid = (String JavaDoc)((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
931         int labidleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
932         int labidright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
933         String JavaDoc labid = (String JavaDoc)((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
934          
935       /* try to look up the id */
936       production_part symb = (production_part)symbols.get(symid);
937
938       /* if that fails, symbol is undeclared */
939       if (symb == null)
940         {
941           if (lexer.error_count == 0)
942             lexer.emit_error("com.sun.java_cup.internal.runtime.Symbol \"" + symid +
943                    "\" has not been declared");
944         }
945       else
946         {
947           /* add a labeled production part */
948           add_rhs_part(add_lab(symb, labid));
949         }
950     
951               CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(24/*prod_part*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
952             }
953           return CUP$parser$result;
954
955           /*. . . . . . . . . . . . . . . . . . . .*/
956           case 68: // prod_part_list ::= empty
957
{
958               Object JavaDoc RESULT = null;
959
960               CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(23/*prod_part_list*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
961             }
962           return CUP$parser$result;
963
964           /*. . . . . . . . . . . . . . . . . . . .*/
965           case 67: // prod_part_list ::= prod_part_list prod_part
966
{
967               Object JavaDoc RESULT = null;
968
969               CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(23/*prod_part_list*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
970             }
971           return CUP$parser$result;
972
973           /*. . . . . . . . . . . . . . . . . . . .*/
974           case 66: // rhs ::= prod_part_list
975
{
976               Object JavaDoc RESULT = null;
977          
978       if (lhs_nt != null)
979         {
980           /* build the production */
981           production p = new production(lhs_nt, rhs_parts, rhs_pos);
982
983           /* if we have no start non-terminal declared and this is
984          the first production, make its lhs nt the start_nt
985          and build a special start production for it. */

986               if (start_nt == null)
987         {
988           start_nt = lhs_nt;
989
990               /* build a special start production */
991               new_rhs();
992               add_rhs_part(add_lab(new symbol_part(start_nt),"start_val"));
993               add_rhs_part(new symbol_part(terminal.EOF));
994           add_rhs_part(new action_part("RESULT = start_val;"));
995               emit.start_production =
996              new production(non_terminal.START_nt, rhs_parts, rhs_pos);
997
998               new_rhs();
999         }
1000        }
1001      
1002      /* reset the rhs accumulation in any case */
1003      new_rhs();
1004    
1005              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(28/*rhs*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1006            }
1007          return CUP$parser$result;
1008
1009          /*. . . . . . . . . . . . . . . . . . . .*/
1010          case 65: // rhs ::= prod_part_list PERCENT_PREC term_id
1011
{
1012              Object JavaDoc RESULT = null;
1013        int term_nameleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1014        int term_nameright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1015        String JavaDoc term_name = (String JavaDoc)((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1016        
1017      com.sun.java_cup.internal.symbol sym = null;
1018      if (lhs_nt != null)
1019        {
1020          /* Find the precedence symbol */
1021          if (term_name == null) {
1022        System.err.println("No terminal for contextual precedence");
1023        sym = null;
1024          } else {
1025        sym = ((symbol_part)symbols.get(term_name)).the_symbol();
1026          }
1027          /* build the production */
1028          production p;
1029          if ((sym!=null) && (sym instanceof terminal)) {
1030        p = new production(lhs_nt, rhs_parts, rhs_pos,
1031                   ((terminal)sym).precedence_num(),
1032                   ((terminal)sym).precedence_side());
1033        ((symbol_part)symbols.get(term_name)).the_symbol().note_use();
1034          } else {
1035        System.err.println("Invalid terminal " + term_name +
1036                   " for contextual precedence assignment");
1037        p = new production(lhs_nt, rhs_parts, rhs_pos);
1038          }
1039
1040          /* if we have no start non-terminal declared and this is
1041         the first production, make its lhs nt the start_nt
1042         and build a special start production for it. */

1043              if (start_nt == null)
1044        {
1045          start_nt = lhs_nt;
1046
1047              /* build a special start production */
1048              new_rhs();
1049              add_rhs_part(add_lab(new symbol_part(start_nt),"start_val"));
1050              add_rhs_part(new symbol_part(terminal.EOF));
1051          add_rhs_part(new action_part("RESULT = start_val;"));
1052          if ((sym!=null) && (sym instanceof terminal)) {
1053            emit.start_production =
1054              new production(non_terminal.START_nt, rhs_parts,
1055                     rhs_pos, ((terminal)sym).precedence_num(),
1056                     ((terminal)sym).precedence_side());
1057          } else {
1058            emit.start_production =
1059              new production(non_terminal.START_nt, rhs_parts, rhs_pos);
1060          }
1061              new_rhs();
1062        }
1063        }
1064
1065      /* reset the rhs accumulation in any case */
1066      new_rhs();
1067    
1068              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(28/*rhs*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1069            }
1070          return CUP$parser$result;
1071
1072          /*. . . . . . . . . . . . . . . . . . . .*/
1073          case 64: // rhs_list ::= rhs
1074
{
1075              Object JavaDoc RESULT = null;
1076
1077              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(27/*rhs_list*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1078            }
1079          return CUP$parser$result;
1080
1081          /*. . . . . . . . . . . . . . . . . . . .*/
1082          case 63: // rhs_list ::= rhs_list BAR rhs
1083
{
1084              Object JavaDoc RESULT = null;
1085
1086              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(27/*rhs_list*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1087            }
1088          return CUP$parser$result;
1089
1090          /*. . . . . . . . . . . . . . . . . . . .*/
1091          case 62: // production ::= error NT$13 SEMI
1092
{
1093              Object JavaDoc RESULT = null;
1094              // propagate RESULT from NT$13
1095
if ( ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value != null )
1096                RESULT = (Object JavaDoc) ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
1097
1098              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(22/*production*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1099            }
1100          return CUP$parser$result;
1101
1102          /*. . . . . . . . . . . . . . . . . . . .*/
1103          case 61: // NT$13 ::=
1104
{
1105              Object JavaDoc RESULT = null;
1106 lexer.emit_error("Syntax Error");
1107              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(56/*NT$13*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1108            }
1109          return CUP$parser$result;
1110
1111          /*. . . . . . . . . . . . . . . . . . . .*/
1112          case 60: // production ::= nt_id NT$11 COLON_COLON_EQUALS NT$12 rhs_list SEMI
1113
{
1114              Object JavaDoc RESULT = null;
1115              // propagate RESULT from NT$11
1116
if ( ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-4)).value != null )
1117                RESULT = (Object JavaDoc) ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-4)).value;
1118              // propagate RESULT from NT$12
1119
if ( ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value != null )
1120                RESULT = (Object JavaDoc) ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
1121        int lhs_idleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-5)).left;
1122        int lhs_idright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-5)).right;
1123        String JavaDoc lhs_id = (String JavaDoc)((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-5)).value;
1124
1125              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(22/*production*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-5)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1126            }
1127          return CUP$parser$result;
1128
1129          /*. . . . . . . . . . . . . . . . . . . .*/
1130          case 59: // NT$12 ::=
1131
{
1132              Object JavaDoc RESULT = null;
1133        int lhs_idleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
1134        int lhs_idright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
1135        String JavaDoc lhs_id = (String JavaDoc)((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
1136 
1137              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(55/*NT$12*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1138            }
1139          return CUP$parser$result;
1140
1141          /*. . . . . . . . . . . . . . . . . . . .*/
1142          case 58: // NT$11 ::=
1143
{
1144              Object JavaDoc RESULT = null;
1145        int lhs_idleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1146        int lhs_idright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1147        String JavaDoc lhs_id = (String JavaDoc)((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1148
1149      /* lookup the lhs nt */
1150      lhs_nt = (non_terminal)non_terms.get(lhs_id);
1151
1152          /* if it wasn't declared, emit a message */
1153      if (lhs_nt == null)
1154        {
1155          if (lexer.error_count == 0)
1156            lexer.emit_error("LHS non terminal \"" + lhs_id +
1157                   "\" has not been declared");
1158        }
1159
1160      /* reset the rhs accumulation */
1161      new_rhs();
1162    
1163              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(54/*NT$11*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1164            }
1165          return CUP$parser$result;
1166
1167          /*. . . . . . . . . . . . . . . . . . . .*/
1168          case 57: // production_list ::= production
1169
{
1170              Object JavaDoc RESULT = null;
1171
1172              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(12/*production_list*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1173            }
1174          return CUP$parser$result;
1175
1176          /*. . . . . . . . . . . . . . . . . . . .*/
1177          case 56: // production_list ::= production_list production
1178
{
1179              Object JavaDoc RESULT = null;
1180
1181              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(12/*production_list*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1182            }
1183          return CUP$parser$result;
1184
1185          /*. . . . . . . . . . . . . . . . . . . .*/
1186          case 55: // start_spec ::= empty
1187
{
1188              Object JavaDoc RESULT = null;
1189
1190              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(11/*start_spec*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1191            }
1192          return CUP$parser$result;
1193
1194          /*. . . . . . . . . . . . . . . . . . . .*/
1195          case 54: // start_spec ::= START WITH nt_id NT$10 SEMI
1196
{
1197              Object JavaDoc RESULT = null;
1198              // propagate RESULT from NT$10
1199
if ( ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value != null )
1200                RESULT = (Object JavaDoc) ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
1201        int start_nameleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
1202        int start_nameright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
1203        String JavaDoc start_name = (String JavaDoc)((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
1204
1205              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(11/*start_spec*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1206            }
1207          return CUP$parser$result;
1208
1209          /*. . . . . . . . . . . . . . . . . . . .*/
1210          case 53: // NT$10 ::=
1211
{
1212              Object JavaDoc RESULT = null;
1213        int start_nameleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1214        int start_nameright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1215        String JavaDoc start_name = (String JavaDoc)((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1216 
1217      /* verify that the name has been declared as a non terminal */
1218      non_terminal nt = (non_terminal)non_terms.get(start_name);
1219      if (nt == null)
1220        {
1221          lexer.emit_error( "Start non terminal \"" + start_name +
1222                     "\" has not been declared");
1223        }
1224          else
1225        {
1226          /* remember the non-terminal for later */
1227          start_nt = nt;
1228
1229          /* build a special start production */
1230          new_rhs();
1231          add_rhs_part(add_lab(new symbol_part(start_nt), "start_val"));
1232          add_rhs_part(new symbol_part(terminal.EOF));
1233          add_rhs_part(new action_part("RESULT = start_val;"));
1234          emit.start_production =
1235             new production(non_terminal.START_nt, rhs_parts, rhs_pos);
1236          new_rhs();
1237        }
1238    
1239              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(53/*NT$10*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1240            }
1241          return CUP$parser$result;
1242
1243          /*. . . . . . . . . . . . . . . . . . . .*/
1244          case 52: // term_id ::= symbol_id
1245
{
1246              String JavaDoc RESULT = null;
1247        int symleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1248        int symright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1249        String JavaDoc sym = (String JavaDoc)((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1250        
1251      /* check that the symbol_id is a terminal */
1252      if (symbols.get(sym) == null)
1253        {
1254          /* issue a message */
1255          lexer.emit_error("Terminal \"" + sym +
1256               "\" has not been declared");
1257        }
1258          RESULT = sym;
1259         
1260              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(41/*term_id*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1261            }
1262          return CUP$parser$result;
1263
1264          /*. . . . . . . . . . . . . . . . . . . .*/
1265          case 51: // terminal_id ::= term_id
1266
{
1267              String JavaDoc RESULT = null;
1268        int symleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
1269        int symright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
1270        String JavaDoc sym = (String JavaDoc)((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
1271            
1272      add_precedence(sym);
1273      RESULT = sym;
1274    
1275              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(40/*terminal_id*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1276            }
1277          return CUP$parser$result;
1278
1279          /*. . . . . . . . . . . . . . . . . . . .*/
1280          case 50: // terminal_list ::= terminal_id
1281
{
1282              Object JavaDoc RESULT = null;
1283
1284              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(32/*terminal_list*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1285            }
1286          return CUP$parser$result;
1287
1288          /*. . . . . . . . . . . . . . . . . . . .*/
1289          case 49: // terminal_list ::= terminal_list COMMA terminal_id
1290
{
1291              Object JavaDoc RESULT = null;
1292
1293              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(32/*terminal_list*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1294            }
1295          return CUP$parser$result;
1296
1297          /*. . . . . . . . . . . . . . . . . . . .*/
1298          case 48: // preced ::= PRECEDENCE NONASSOC NT$9 terminal_list SEMI
1299
{
1300              Object JavaDoc RESULT = null;
1301              // propagate RESULT from NT$9
1302
if ( ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value != null )
1303                RESULT = (Object JavaDoc) ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
1304
1305              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(31/*preced*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1306            }
1307          return CUP$parser$result;
1308
1309          /*. . . . . . . . . . . . . . . . . . . .*/
1310          case 47: // NT$9 ::=
1311
{
1312              Object JavaDoc RESULT = null;
1313
1314      update_precedence(assoc.nonassoc);
1315    
1316              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(52/*NT$9*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1317            }
1318          return CUP$parser$result;
1319
1320          /*. . . . . . . . . . . . . . . . . . . .*/
1321          case 46: // preced ::= PRECEDENCE RIGHT NT$8 terminal_list SEMI
1322
{
1323              Object JavaDoc RESULT = null;
1324              // propagate RESULT from NT$8
1325
if ( ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value != null )
1326                RESULT = (Object JavaDoc) ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
1327
1328              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(31/*preced*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1329            }
1330          return CUP$parser$result;
1331
1332          /*. . . . . . . . . . . . . . . . . . . .*/
1333          case 45: // NT$8 ::=
1334
{
1335              Object JavaDoc RESULT = null;
1336
1337      update_precedence(assoc.right);
1338    
1339              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(51/*NT$8*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1340            }
1341          return CUP$parser$result;
1342
1343          /*. . . . . . . . . . . . . . . . . . . .*/
1344          case 44: // preced ::= PRECEDENCE LEFT NT$7 terminal_list SEMI
1345
{
1346              Object JavaDoc RESULT = null;
1347              // propagate RESULT from NT$7
1348
if ( ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value != null )
1349                RESULT = (Object JavaDoc) ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
1350
1351              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(31/*preced*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1352            }
1353          return CUP$parser$result;
1354
1355          /*. . . . . . . . . . . . . . . . . . . .*/
1356          case 43: // NT$7 ::=
1357
{
1358              Object JavaDoc RESULT = null;
1359
1360      update_precedence(assoc.left);
1361    
1362              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(50/*NT$7*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1363            }
1364          return CUP$parser$result;
1365
1366          /*. . . . . . . . . . . . . . . . . . . .*/
1367          case 42: // precedence_l ::= preced
1368
{
1369              Object JavaDoc RESULT = null;
1370
1371              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(33/*precedence_l*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1372            }
1373          return CUP$parser$result;
1374
1375          /*. . . . . . . . . . . . . . . . . . . .*/
1376          case 41: // precedence_l ::= precedence_l preced
1377
{
1378              Object JavaDoc RESULT = null;
1379
1380              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(33/*precedence_l*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1381            }
1382          return CUP$parser$result;
1383
1384          /*. . . . . . . . . . . . . . . . . . . .*/
1385          case 40: // precedence_list ::= empty
1386
{
1387              Object JavaDoc RESULT = null;
1388
1389              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(30/*precedence_list*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1390            }
1391          return CUP$parser$result;
1392
1393          /*. . . . . . . . . . . . . . . . . . . .*/
1394          case 39: // precedence_list ::= precedence_l
1395
{
1396              Object JavaDoc RESULT = null;
1397
1398              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(30/*precedence_list*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1399            }
1400          return CUP$parser$result;
1401
1402          /*. . . . . . . . . . . . . . . . . . . .*/
1403          case 38: // non_term_name_list ::= new_non_term_id
1404
{
1405              Object JavaDoc RESULT = null;
1406
1407              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(21/*non_term_name_list*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1408            }
1409          return CUP$parser$result;
1410
1411          /*. . . . . . . . . . . . . . . . . . . .*/
1412          case 37: // non_term_name_list ::= non_term_name_list COMMA new_non_term_id
1413
{
1414              Object JavaDoc RESULT = null;
1415
1416              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(21/*non_term_name_list*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1417            }
1418          return CUP$parser$result;
1419
1420          /*. . . . . . . . . . . . . . . . . . . .*/
1421          case 36: // term_name_list ::= new_term_id
1422
{
1423              Object JavaDoc RESULT = null;
1424
1425              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(20/*term_name_list*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1426            }
1427          return CUP$parser$result;
1428
1429          /*. . . . . . . . . . . . . . . . . . . .*/
1430          case 35: // term_name_list ::= term_name_list COMMA new_term_id
1431
{
1432              Object JavaDoc RESULT = null;
1433
1434              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(20/*term_name_list*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1435            }
1436          return CUP$parser$result;
1437
1438          /*. . . . . . . . . . . . . . . . . . . .*/
1439          case 34: // declares_non_term ::= non_term_name_list NT$6 SEMI
1440
{
1441              Object JavaDoc RESULT = null;
1442              // propagate RESULT from NT$6
1443
if ( ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value != null )
1444                RESULT = (Object JavaDoc) ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
1445
1446              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(35/*declares_non_term*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1447            }
1448          return CUP$parser$result;
1449
1450          /*. . . . . . . . . . . . . . . . . . . .*/
1451          case 33: // NT$6 ::=
1452
{
1453              Object JavaDoc RESULT = null;
1454 
1455      /* reset the accumulated multipart name */
1456      multipart_name = new String JavaDoc();
1457    
1458              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(49/*NT$6*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1459            }
1460          return CUP$parser$result;
1461
1462          /*. . . . . . . . . . . . . . . . . . . .*/
1463          case 32: // declares_term ::= term_name_list NT$5 SEMI
1464
{
1465              Object JavaDoc RESULT = null;
1466              // propagate RESULT from NT$5
1467
if ( ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value != null )
1468                RESULT = (Object JavaDoc) ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
1469
1470              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(34/*declares_term*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1471            }
1472          return CUP$parser$result;
1473
1474          /*. . . . . . . . . . . . . . . . . . . .*/
1475          case 31: // NT$5 ::=
1476
{
1477              Object JavaDoc RESULT = null;
1478 
1479      /* reset the accumulated multipart name */
1480      multipart_name = new String JavaDoc();
1481    
1482              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(48/*NT$5*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1483            }
1484          return CUP$parser$result;
1485
1486          /*. . . . . . . . . . . . . . . . . . . .*/
1487          case 30: // symbol ::= non_terminal error NT$4 SEMI
1488
{
1489              Object JavaDoc RESULT = null;
1490              // propagate RESULT from NT$4
1491
if ( ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value != null )
1492                RESULT = (Object JavaDoc) ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
1493
1494              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(18/*symbol*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1495            }
1496          return CUP$parser$result;
1497
1498          /*. . . . . . . . . . . . . . . . . . . .*/
1499          case 29: // NT$4 ::=
1500
{
1501              Object JavaDoc RESULT = null;
1502
1503      /* reset the accumulated multipart name */
1504      multipart_name = new String JavaDoc();
1505    
1506              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(47/*NT$4*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1507            }
1508          return CUP$parser$result;
1509
1510          /*. . . . . . . . . . . . . . . . . . . .*/
1511          case 28: // symbol ::= TERMINAL error NT$3 SEMI
1512
{
1513              Object JavaDoc RESULT = null;
1514              // propagate RESULT from NT$3
1515
if ( ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value != null )
1516                RESULT = (Object JavaDoc) ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
1517
1518              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(18/*symbol*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1519            }
1520          return CUP$parser$result;
1521
1522          /*. . . . . . . . . . . . . . . . . . . .*/
1523          case 27: // NT$3 ::=
1524
{
1525              Object JavaDoc RESULT = null;
1526
1527      /* reset the accumulated multipart name */
1528      multipart_name = new String JavaDoc();
1529    
1530              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(46/*NT$3*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1531            }
1532          return CUP$parser$result;
1533
1534          /*. . . . . . . . . . . . . . . . . . . .*/
1535          case 26: // symbol ::= non_terminal declares_non_term
1536
{
1537              Object JavaDoc RESULT = null;
1538
1539              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(18/*symbol*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1540            }
1541          return CUP$parser$result;
1542
1543          /*. . . . . . . . . . . . . . . . . . . .*/
1544          case 25: // symbol ::= non_terminal type_id declares_non_term
1545
{
1546              Object JavaDoc RESULT = null;
1547
1548              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(18/*symbol*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1549            }
1550          return CUP$parser$result;
1551
1552          /*. . . . . . . . . . . . . . . . . . . .*/
1553          case 24: // symbol ::= TERMINAL declares_term
1554
{
1555              Object JavaDoc RESULT = null;
1556
1557              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(18/*symbol*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1558            }
1559          return CUP$parser$result;
1560
1561          /*. . . . . . . . . . . . . . . . . . . .*/
1562          case 23: // symbol ::= TERMINAL type_id declares_term
1563
{
1564              Object JavaDoc RESULT = null;
1565
1566              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(18/*symbol*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1567            }
1568          return CUP$parser$result;
1569
1570          /*. . . . . . . . . . . . . . . . . . . .*/
1571          case 22: // symbol_list ::= symbol
1572
{
1573              Object JavaDoc RESULT = null;
1574
1575              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(10/*symbol_list*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1576            }
1577          return CUP$parser$result;
1578
1579          /*. . . . . . . . . . . . . . . . . . . .*/
1580          case 21: // symbol_list ::= symbol_list symbol
1581
{
1582              Object JavaDoc RESULT = null;
1583
1584              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(10/*symbol_list*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1585            }
1586          return CUP$parser$result;
1587
1588          /*. . . . . . . . . . . . . . . . . . . .*/
1589          case 20: // scan_code ::= SCAN WITH CODE_STRING opt_semi
1590
{
1591              Object JavaDoc RESULT = null;
1592        int user_codeleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
1593        int user_coderight = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
1594        String JavaDoc user_code = (String JavaDoc)((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
1595         
1596      if (emit.scan_code!=null)
1597        lexer.emit_error("Redundant scan code (skipping)");
1598      else /* save the user code */
1599        emit.scan_code = user_code;
1600    
1601              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(17/*scan_code*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1602            }
1603          return CUP$parser$result;
1604
1605          /*. . . . . . . . . . . . . . . . . . . .*/
1606          case 19: // init_code ::= INIT WITH CODE_STRING opt_semi
1607
{
1608              Object JavaDoc RESULT = null;
1609        int user_codeleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
1610        int user_coderight = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
1611        String JavaDoc user_code = (String JavaDoc)((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
1612         
1613      if (emit.init_code!=null)
1614        lexer.emit_error("Redundant init code (skipping)");
1615      else /* save the user code */
1616        emit.init_code = user_code;
1617    
1618              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(16/*init_code*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1619            }
1620          return CUP$parser$result;
1621
1622          /*. . . . . . . . . . . . . . . . . . . .*/
1623          case 18: // parser_code_part ::= PARSER CODE CODE_STRING opt_semi
1624
{
1625              Object JavaDoc RESULT = null;
1626        int user_codeleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
1627        int user_coderight = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
1628        String JavaDoc user_code = (String JavaDoc)((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
1629        
1630      if (emit.parser_code!=null)
1631        lexer.emit_error("Redundant parser code (skipping)");
1632      else /* save the user included code string */
1633        emit.parser_code = user_code;
1634    
1635              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(9/*parser_code_part*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1636            }
1637          return CUP$parser$result;
1638
1639          /*. . . . . . . . . . . . . . . . . . . .*/
1640          case 17: // action_code_part ::= ACTION CODE CODE_STRING opt_semi
1641
{
1642              Object JavaDoc RESULT = null;
1643        int user_codeleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
1644        int user_coderight = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
1645        String JavaDoc user_code = (String JavaDoc)((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
1646        
1647      if (emit.action_code!=null)
1648        lexer.emit_error("Redundant action code (skipping)");
1649      else /* save the user included code string */
1650        emit.action_code = user_code;
1651    
1652              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(4/*action_code_part*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1653            }
1654          return CUP$parser$result;
1655
1656          /*. . . . . . . . . . . . . . . . . . . .*/
1657          case 16: // code_parts ::= code_parts code_part
1658
{
1659              Object JavaDoc RESULT = null;
1660
1661              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(5/*code_parts*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1662            }
1663          return CUP$parser$result;
1664
1665          /*. . . . . . . . . . . . . . . . . . . .*/
1666          case 15: // code_parts ::=
1667
{
1668              Object JavaDoc RESULT = null;
1669
1670              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(5/*code_parts*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1671            }
1672          return CUP$parser$result;
1673
1674          /*. . . . . . . . . . . . . . . . . . . .*/
1675          case 14: // code_part ::= scan_code
1676
{
1677              Object JavaDoc RESULT = null;
1678
1679              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(6/*code_part*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1680            }
1681          return CUP$parser$result;
1682
1683          /*. . . . . . . . . . . . . . . . . . . .*/
1684          case 13: // code_part ::= init_code
1685
{
1686              Object JavaDoc RESULT = null;
1687
1688              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(6/*code_part*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1689            }
1690          return CUP$parser$result;
1691
1692          /*. . . . . . . . . . . . . . . . . . . .*/
1693          case 12: // code_part ::= parser_code_part
1694
{
1695              Object JavaDoc RESULT = null;
1696
1697              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(6/*code_part*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1698            }
1699          return CUP$parser$result;
1700
1701          /*. . . . . . . . . . . . . . . . . . . .*/
1702          case 11: // code_part ::= action_code_part
1703
{
1704              Object JavaDoc RESULT = null;
1705
1706              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(6/*code_part*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1707            }
1708          return CUP$parser$result;
1709
1710          /*. . . . . . . . . . . . . . . . . . . .*/
1711          case 10: // import_spec ::= IMPORT import_id NT$2 SEMI
1712
{
1713              Object JavaDoc RESULT = null;
1714              // propagate RESULT from NT$2
1715
if ( ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value != null )
1716                RESULT = (Object JavaDoc) ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
1717
1718              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(14/*import_spec*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1719            }
1720          return CUP$parser$result;
1721
1722          /*. . . . . . . . . . . . . . . . . . . .*/
1723          case 9: // NT$2 ::=
1724
{
1725              Object JavaDoc RESULT = null;
1726 
1727      /* save this import on the imports list */
1728      emit.import_list.push(multipart_name);
1729
1730      /* reset the accumulated multipart name */
1731      multipart_name = new String JavaDoc();
1732    
1733              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(45/*NT$2*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1734            }
1735          return CUP$parser$result;
1736
1737          /*. . . . . . . . . . . . . . . . . . . .*/
1738          case 8: // import_list ::= empty
1739
{
1740              Object JavaDoc RESULT = null;
1741
1742              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(3/*import_list*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1743            }
1744          return CUP$parser$result;
1745
1746          /*. . . . . . . . . . . . . . . . . . . .*/
1747          case 7: // import_list ::= import_list import_spec
1748
{
1749              Object JavaDoc RESULT = null;
1750
1751              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(3/*import_list*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1752            }
1753          return CUP$parser$result;
1754
1755          /*. . . . . . . . . . . . . . . . . . . .*/
1756          case 6: // package_spec ::= empty
1757
{
1758              Object JavaDoc RESULT = null;
1759
1760              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(2/*package_spec*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1761            }
1762          return CUP$parser$result;
1763
1764          /*. . . . . . . . . . . . . . . . . . . .*/
1765          case 5: // package_spec ::= PACKAGE multipart_id NT$1 SEMI
1766
{
1767              Object JavaDoc RESULT = null;
1768              // propagate RESULT from NT$1
1769
if ( ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value != null )
1770                RESULT = (Object JavaDoc) ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
1771
1772              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(2/*package_spec*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1773            }
1774          return CUP$parser$result;
1775
1776          /*. . . . . . . . . . . . . . . . . . . .*/
1777          case 4: // NT$1 ::=
1778
{
1779              Object JavaDoc RESULT = null;
1780
1781      /* save the package name */
1782      emit.package_name = multipart_name;
1783
1784      /* reset the accumulated multipart name */
1785      multipart_name = new String JavaDoc();
1786    
1787              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(44/*NT$1*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1788            }
1789          return CUP$parser$result;
1790
1791          /*. . . . . . . . . . . . . . . . . . . .*/
1792          case 3: // spec ::= error symbol_list precedence_list start_spec production_list
1793
{
1794              Object JavaDoc RESULT = null;
1795
1796              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(1/*spec*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1797            }
1798          return CUP$parser$result;
1799
1800          /*. . . . . . . . . . . . . . . . . . . .*/
1801          case 2: // spec ::= NT$0 package_spec import_list code_parts symbol_list precedence_list start_spec production_list
1802
{
1803              Object JavaDoc RESULT = null;
1804              // propagate RESULT from NT$0
1805
if ( ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-7)).value != null )
1806                RESULT = (Object JavaDoc) ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-7)).value;
1807
1808              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(1/*spec*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-7)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1809            }
1810          return CUP$parser$result;
1811
1812          /*. . . . . . . . . . . . . . . . . . . .*/
1813          case 1: // NT$0 ::=
1814
{
1815              Object JavaDoc RESULT = null;
1816
1817          /* declare "error" as a terminal */
1818          symbols.put("error", new symbol_part(terminal.error));
1819
1820          /* declare start non terminal */
1821          non_terms.put("$START", non_terminal.START_nt);
1822    
1823              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(43/*NT$0*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1824            }
1825          return CUP$parser$result;
1826
1827          /*. . . . . . . . . . . . . . . . . . . .*/
1828          case 0: // $START ::= spec EOF
1829
{
1830              Object JavaDoc RESULT = null;
1831        int start_valleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
1832        int start_valright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
1833        Object JavaDoc start_val = (Object JavaDoc)((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
1834        RESULT = start_val;
1835              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(0/*$START*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
1836            }
1837          /* ACCEPT */
1838          CUP$parser$parser.done_parsing();
1839          return CUP$parser$result;
1840
1841          /* . . . . . .*/
1842          default:
1843            throw new Exception JavaDoc(
1844               "Invalid action number found in internal parse table");
1845
1846        }
1847    }
1848}
1849
1850
Popular Tags