001
002 //----------------------------------------------------
003 // The following code was generated by CUP v0.10i
004 // Tue Apr 27 08:54:22 EDT 1999
005 //----------------------------------------------------
006
007 package com.croftsoft.apps.compiler.mini.parse;
008
009 import java_cup.runtime.*;
010 import com.croftsoft.apps.compiler.mini.node.*;
011
012 public class MiniParser extends java_cup.runtime.lr_parser {
013
014 /** constructor */
015 public MiniParser() {super();}
016
017 /** production table */
018 protected static final short _production_table[][] =
019 unpackFromStrings(new String[] {
020 "\000\063\000\002\002\004\000\002\026\003\000\002\004" +
021 "\006\000\002\004\005\000\002\010\003\000\002\010\004" +
022 "\000\002\031\003\000\002\031\004\000\002\007\005\000" +
023 "\002\007\006\000\002\007\011\000\002\030\003\000\002" +
024 "\030\003\000\002\030\003\000\002\030\003\000\002\030" +
025 "\003\000\002\030\003\000\002\030\003\000\002\016\007" +
026 "\000\002\023\007\000\002\003\006\000\002\006\010\000" +
027 "\002\006\011\000\002\011\010\000\002\015\010\000\002" +
028 "\025\005\000\002\025\010\000\002\024\003\000\002\020" +
029 "\003\000\002\020\005\000\002\014\003\000\002\014\005" +
030 "\000\002\005\005\000\002\013\003\000\002\013\005\000" +
031 "\002\032\003\000\002\032\005\000\002\012\003\000\002" +
032 "\012\003\000\002\012\005\000\002\017\003\000\002\027" +
033 "\003\000\002\027\003\000\002\027\003\000\002\027\003" +
034 "\000\002\027\003\000\002\027\003\000\002\021\003\000" +
035 "\002\021\003\000\002\022\003\000\002\022\003" });
036
037 /** access to production table */
038 public short[][] production_table() {return _production_table;}
039
040 /** parse action table */
041 protected static final short[][] _action_table =
042 unpackFromStrings(new String[] {
043 "\000\153\000\004\004\005\001\002\000\004\002\155\001" +
044 "\002\000\024\005\016\011\020\012\030\014\010\015\011" +
045 "\017\031\020\015\021\021\045\017\001\002\000\004\002" +
046 "\000\001\002\000\024\005\ufffd\011\ufffd\012\ufffd\014\ufffd" +
047 "\015\ufffd\017\ufffd\020\ufffd\021\ufffd\045\ufffd\001\002\000" +
048 "\004\045\017\001\002\000\004\041\140\001\002\000\026" +
049 "\005\ufff0\007\ufff0\010\ufff0\011\ufff0\013\ufff0\015\ufff0\017" +
050 "\ufff0\020\ufff0\021\ufff0\045\ufff0\001\002\000\026\005\ufffb" +
051 "\007\ufffb\010\ufffb\011\ufffb\013\ufffb\015\ufffb\017\ufffb\020" +
052 "\ufffb\021\ufffb\045\ufffb\001\002\000\026\005\ufff4\007\ufff4" +
053 "\010\ufff4\011\ufff4\013\ufff4\015\ufff4\017\ufff4\020\ufff4\021" +
054 "\ufff4\045\ufff4\001\002\000\010\041\041\044\035\045\017" +
055 "\001\002\000\004\045\017\001\002\000\046\004\uffd9\006" +
056 "\uffd9\016\uffd9\022\uffd9\023\uffd9\024\uffd9\025\uffd9\026\uffd9" +
057 "\032\uffd9\033\uffd9\034\uffd9\035\uffd9\036\uffd9\037\uffd9\040" +
058 "\uffd9\041\uffd9\042\uffd9\043\uffd9\001\002\000\010\041\041" +
059 "\044\035\045\017\001\002\000\004\041\075\001\002\000" +
060 "\026\005\ufff3\007\ufff3\010\ufff3\011\ufff3\013\ufff3\015\ufff3" +
061 "\017\ufff3\020\ufff3\021\ufff3\045\ufff3\001\002\000\024\005" +
062 "\016\011\020\012\030\014\010\015\011\017\031\020\015" +
063 "\021\021\045\017\001\002\000\026\005\ufff6\007\ufff6\010" +
064 "\ufff6\011\ufff6\013\ufff6\015\ufff6\017\ufff6\020\ufff6\021\ufff6" +
065 "\045\ufff6\001\002\000\026\005\ufff5\007\ufff5\010\ufff5\011" +
066 "\ufff5\013\ufff5\015\ufff5\017\ufff5\020\ufff5\021\ufff5\045\ufff5" +
067 "\001\002\000\026\005\ufff2\007\ufff2\010\ufff2\011\ufff2\013" +
068 "\ufff2\015\ufff2\017\ufff2\020\ufff2\021\ufff2\045\ufff2\001\002" +
069 "\000\022\005\016\010\071\011\020\015\011\017\031\020" +
070 "\015\021\021\045\017\001\002\000\004\045\017\001\002" +
071 "\000\010\041\041\044\035\045\017\001\002\000\026\005" +
072 "\ufff1\007\ufff1\010\ufff1\011\ufff1\013\ufff1\015\ufff1\017\ufff1" +
073 "\020\ufff1\021\ufff1\045\ufff1\001\002\000\004\022\034\001" +
074 "\002\000\010\041\041\044\035\045\017\001\002\000\040" +
075 "\006\uffdc\016\uffdc\023\uffdc\024\uffdc\025\uffdc\026\uffdc\032" +
076 "\uffdc\033\uffdc\034\uffdc\035\uffdc\036\uffdc\037\uffdc\040\uffdc" +
077 "\042\uffdc\043\uffdc\001\002\000\040\006\uffde\016\uffde\023" +
078 "\uffde\024\uffde\025\uffde\026\uffde\032\uffde\033\uffde\034\uffde" +
079 "\035\uffde\036\uffde\037\uffde\040\uffde\042\uffde\043\uffde\001" +
080 "\002\000\040\006\uffe0\016\uffe0\023\uffe0\024\uffe0\025\052" +
081 "\026\051\032\uffe0\033\uffe0\034\uffe0\035\uffe0\036\uffe0\037" +
082 "\uffe0\040\uffe0\042\uffe0\043\uffe0\001\002\000\040\006\uffdb" +
083 "\016\uffdb\023\uffdb\024\uffdb\025\uffdb\026\uffdb\032\uffdb\033" +
084 "\uffdb\034\uffdb\035\uffdb\036\uffdb\037\uffdb\040\uffdb\042\uffdb" +
085 "\043\uffdb\001\002\000\010\041\041\044\035\045\017\001" +
086 "\002\000\010\023\045\024\046\040\044\001\002\000\010" +
087 "\041\041\044\035\045\017\001\002\000\026\005\uffed\007" +
088 "\uffed\010\uffed\011\uffed\013\uffed\015\uffed\017\uffed\020\uffed" +
089 "\021\uffed\045\uffed\001\002\000\010\041\uffd2\044\uffd2\045" +
090 "\uffd2\001\002\000\010\041\uffd1\044\uffd1\045\uffd1\001\002" +
091 "\000\040\006\uffdf\016\uffdf\023\uffdf\024\uffdf\025\052\026" +
092 "\051\032\uffdf\033\uffdf\034\uffdf\035\uffdf\036\uffdf\037\uffdf" +
093 "\040\uffdf\042\uffdf\043\uffdf\001\002\000\010\041\041\044" +
094 "\035\045\017\001\002\000\010\041\uffcf\044\uffcf\045\uffcf" +
095 "\001\002\000\010\041\uffd0\044\uffd0\045\uffd0\001\002\000" +
096 "\040\006\uffdd\016\uffdd\023\uffdd\024\uffdd\025\uffdd\026\uffdd" +
097 "\032\uffdd\033\uffdd\034\uffdd\035\uffdd\036\uffdd\037\uffdd\040" +
098 "\uffdd\042\uffdd\043\uffdd\001\002\000\010\023\045\024\046" +
099 "\042\055\001\002\000\040\006\uffda\016\uffda\023\uffda\024" +
100 "\uffda\025\uffda\026\uffda\032\uffda\033\uffda\034\uffda\035\uffda" +
101 "\036\uffda\037\uffda\040\uffda\042\uffda\043\uffda\001\002\000" +
102 "\010\006\057\023\045\024\046\001\002\000\020\005\016" +
103 "\011\020\015\011\017\031\020\015\021\021\045\017\001" +
104 "\002\000\022\005\016\010\062\011\020\015\011\017\031" +
105 "\020\015\021\021\045\017\001\002\000\026\005\ufffa\007" +
106 "\ufffa\010\ufffa\011\ufffa\013\ufffa\015\ufffa\017\ufffa\020\ufffa" +
107 "\021\ufffa\045\ufffa\001\002\000\004\040\063\001\002\000" +
108 "\026\005\uffea\007\uffea\010\uffea\011\uffea\013\uffea\015\uffea" +
109 "\017\uffea\020\uffea\021\uffea\045\uffea\001\002\000\010\040" +
110 "\uffe5\042\uffe5\043\uffe5\001\002\000\006\040\067\043\066" +
111 "\001\002\000\004\045\017\001\002\000\024\005\ufff9\011" +
112 "\ufff9\012\ufff9\014\ufff9\015\ufff9\017\ufff9\020\ufff9\021\ufff9" +
113 "\045\ufff9\001\002\000\010\040\uffe4\042\uffe4\043\uffe4\001" +
114 "\002\000\006\002\ufffe\040\ufffe\001\002\000\024\005\ufffc" +
115 "\011\ufffc\012\ufffc\014\ufffc\015\ufffc\017\ufffc\020\ufffc\021" +
116 "\ufffc\045\ufffc\001\002\000\022\005\016\010\074\011\020" +
117 "\015\011\017\031\020\015\021\021\045\017\001\002\000" +
118 "\006\002\uffff\040\uffff\001\002\000\010\041\041\044\035" +
119 "\045\017\001\002\000\006\042\101\043\100\001\002\000" +
120 "\012\023\045\024\046\042\uffe3\043\uffe3\001\002\000\010" +
121 "\041\041\044\035\045\017\001\002\000\004\040\102\001" +
122 "\002\000\026\005\uffee\007\uffee\010\uffee\011\uffee\013\uffee" +
123 "\015\uffee\017\uffee\020\uffee\021\uffee\045\uffee\001\002\000" +
124 "\012\023\045\024\046\042\uffe2\043\uffe2\001\002\000\004" +
125 "\016\116\001\002\000\022\023\045\024\046\032\110\033" +
126 "\113\034\112\035\114\036\107\037\111\001\002\000\010" +
127 "\041\041\044\035\045\017\001\002\000\010\041\uffd4\044" +
128 "\uffd4\045\uffd4\001\002\000\010\041\uffd8\044\uffd8\045\uffd8" +
129 "\001\002\000\010\041\uffd7\044\uffd7\045\uffd7\001\002\000" +
130 "\010\041\uffd5\044\uffd5\045\uffd5\001\002\000\010\041\uffd3" +
131 "\044\uffd3\045\uffd3\001\002\000\010\041\uffd6\044\uffd6\045" +
132 "\uffd6\001\002\000\012\006\uffe1\016\uffe1\023\045\024\046" +
133 "\001\002\000\020\005\016\011\020\015\011\017\031\020" +
134 "\015\021\021\045\017\001\002\000\024\005\016\007\120" +
135 "\011\020\013\121\015\011\017\031\020\015\021\021\045" +
136 "\017\001\002\000\020\005\016\011\020\015\011\017\031" +
137 "\020\015\021\021\045\017\001\002\000\004\040\122\001" +
138 "\002\000\026\005\uffec\007\uffec\010\uffec\011\uffec\013\uffec" +
139 "\015\uffec\017\uffec\020\uffec\021\uffec\045\uffec\001\002\000" +
140 "\022\005\016\011\020\013\124\015\011\017\031\020\015" +
141 "\021\021\045\017\001\002\000\026\005\uffeb\007\uffeb\010" +
142 "\uffeb\011\uffeb\013\uffeb\015\uffeb\017\uffeb\020\uffeb\021\uffeb" +
143 "\045\uffeb\001\002\000\006\040\126\041\127\001\002\000" +
144 "\026\005\uffe8\007\uffe8\010\uffe8\011\uffe8\013\uffe8\015\uffe8" +
145 "\017\uffe8\020\uffe8\021\uffe8\045\uffe8\001\002\000\010\041" +
146 "\041\044\035\045\017\001\002\000\006\042\131\043\100" +
147 "\001\002\000\004\040\132\001\002\000\026\005\uffe7\007" +
148 "\uffe7\010\uffe7\011\uffe7\013\uffe7\015\uffe7\017\uffe7\020\uffe7" +
149 "\021\uffe7\045\uffe7\001\002\000\004\006\134\001\002\000" +
150 "\020\005\016\011\020\015\011\017\031\020\015\021\021" +
151 "\045\017\001\002\000\022\005\016\010\136\011\020\015" +
152 "\011\017\031\020\015\021\021\045\017\001\002\000\004" +
153 "\040\137\001\002\000\026\005\uffe9\007\uffe9\010\uffe9\011" +
154 "\uffe9\013\uffe9\015\uffe9\017\uffe9\020\uffe9\021\uffe9\045\uffe9" +
155 "\001\002\000\004\045\017\001\002\000\006\042\142\043" +
156 "\066\001\002\000\004\040\143\001\002\000\026\005\uffef" +
157 "\007\uffef\010\uffef\011\uffef\013\uffef\015\uffef\017\uffef\020" +
158 "\uffef\021\uffef\045\uffef\001\002\000\006\004\005\041\145" +
159 "\001\002\000\004\045\017\001\002\000\004\040\147\001" +
160 "\002\000\024\005\ufff8\011\ufff8\012\ufff8\014\ufff8\015\ufff8" +
161 "\017\ufff8\020\ufff8\021\ufff8\045\ufff8\001\002\000\004\042" +
162 "\152\001\002\000\006\042\uffe6\043\066\001\002\000\004" +
163 "\004\005\001\002\000\004\040\154\001\002\000\024\005" +
164 "\ufff7\011\ufff7\012\ufff7\014\ufff7\015\ufff7\017\ufff7\020\ufff7" +
165 "\021\ufff7\045\ufff7\001\002\000\004\002\001\001\002" });
166
167 /** access to parse action table */
168 public short[][] action_table() {return _action_table;}
169
170 /** reduce_goto table */
171 protected static final short[][] _reduce_table =
172 unpackFromStrings(new String[] {
173 "\000\153\000\006\004\005\026\003\001\001\000\002\001" +
174 "\001\000\032\003\013\006\021\007\006\010\022\011\025" +
175 "\015\031\016\023\017\032\023\024\025\011\030\012\031" +
176 "\026\001\001\000\002\001\001\000\002\001\001\000\004" +
177 "\017\143\001\001\000\002\001\001\000\002\001\001\000" +
178 "\002\001\001\000\002\001\001\000\014\005\132\012\035" +
179 "\013\104\017\037\032\036\001\001\000\004\017\124\001" +
180 "\001\000\002\001\001\000\014\005\103\012\035\013\104" +
181 "\017\037\032\036\001\001\000\002\001\001\000\002\001" +
182 "\001\000\030\003\013\006\021\007\071\011\025\015\031" +
183 "\016\023\017\032\023\024\025\011\030\012\031\072\001" +
184 "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
185 "\000\024\003\013\006\021\011\025\015\031\016\023\017" +
186 "\032\023\024\025\011\030\060\001\001\000\006\017\063" +
187 "\020\064\001\001\000\012\012\035\013\055\017\037\032" +
188 "\036\001\001\000\002\001\001\000\002\001\001\000\012" +
189 "\012\035\013\041\017\037\032\036\001\001\000\002\001" +
190 "\001\000\002\001\001\000\004\022\047\001\001\000\002" +
191 "\001\001\000\012\012\035\013\053\017\037\032\036\001" +
192 "\001\000\004\021\042\001\001\000\010\012\035\017\037" +
193 "\032\046\001\001\000\002\001\001\000\002\001\001\000" +
194 "\002\001\001\000\004\022\047\001\001\000\006\012\052" +
195 "\017\037\001\001\000\002\001\001\000\002\001\001\000" +
196 "\002\001\001\000\004\021\042\001\001\000\002\001\001" +
197 "\000\004\021\042\001\001\000\026\003\013\006\021\011" +
198 "\025\015\031\016\023\017\032\023\024\025\011\030\012" +
199 "\031\057\001\001\000\024\003\013\006\021\011\025\015" +
200 "\031\016\023\017\032\023\024\025\011\030\060\001\001" +
201 "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
202 "\002\001\001\000\002\001\001\000\004\017\067\001\001" +
203 "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
204 "\002\001\001\000\024\003\013\006\021\011\025\015\031" +
205 "\016\023\017\032\023\024\025\011\030\060\001\001\000" +
206 "\002\001\001\000\014\012\035\013\076\014\075\017\037" +
207 "\032\036\001\001\000\002\001\001\000\004\021\042\001" +
208 "\001\000\012\012\035\013\102\017\037\032\036\001\001" +
209 "\000\002\001\001\000\002\001\001\000\004\021\042\001" +
210 "\001\000\002\001\001\000\006\021\042\027\105\001\001" +
211 "\000\012\012\035\013\114\017\037\032\036\001\001\000" +
212 "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
213 "\001\001\000\002\001\001\000\002\001\001\000\004\021" +
214 "\042\001\001\000\026\003\013\006\021\011\025\015\031" +
215 "\016\023\017\032\023\024\025\011\030\012\031\116\001" +
216 "\001\000\024\003\013\006\021\011\025\015\031\016\023" +
217 "\017\032\023\024\025\011\030\060\001\001\000\026\003" +
218 "\013\006\021\011\025\015\031\016\023\017\032\023\024" +
219 "\025\011\030\012\031\122\001\001\000\002\001\001\000" +
220 "\002\001\001\000\024\003\013\006\021\011\025\015\031" +
221 "\016\023\017\032\023\024\025\011\030\060\001\001\000" +
222 "\002\001\001\000\002\001\001\000\002\001\001\000\014" +
223 "\012\035\013\076\014\127\017\037\032\036\001\001\000" +
224 "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
225 "\001\001\000\026\003\013\006\021\011\025\015\031\016" +
226 "\023\017\032\023\024\025\011\030\012\031\134\001\001" +
227 "\000\024\003\013\006\021\011\025\015\031\016\023\017" +
228 "\032\023\024\025\011\030\060\001\001\000\002\001\001" +
229 "\000\002\001\001\000\006\017\063\020\140\001\001\000" +
230 "\002\001\001\000\002\001\001\000\002\001\001\000\004" +
231 "\004\145\001\001\000\010\017\063\020\150\024\147\001" +
232 "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
233 "\000\002\001\001\000\004\004\152\001\001\000\002\001" +
234 "\001\000\002\001\001\000\002\001\001" });
235
236 /** access to reduce_goto table */
237 public short[][] reduce_table() {return _reduce_table;}
238
239 /** instance of action encapsulation class */
240 protected CUP$MiniParser$actions action_obj;
241
242 /** action encapsulation object initializer */
243 protected void init_actions()
244 {
245 action_obj = new CUP$MiniParser$actions(this);
246 }
247
248 /** invoke a user supplied parse action */
249 public java_cup.runtime.Symbol do_action(
250 int act_num,
251 java_cup.runtime.lr_parser parser,
252 java.util.Stack stack,
253 int top)
254 throws java.lang.Exception
255 {
256 /* call code in generated class */
257 return action_obj.CUP$MiniParser$do_action(act_num, parser, stack, top);
258 }
259
260 /** start state */
261 public int start_state() {return 0;}
262 /** start production */
263 public int start_production() {return 0;}
264
265 /** EOF Symbol index */
266 public int EOF_sym() {return 0;}
267
268 /** error Symbol index */
269 public int error_sym() {return 1;}
270
271
272 /** user initialization */
273 public void user_init() throws java.lang.Exception
274 {
275
276 }
277
278 /** scan to get the next Symbol */
279 public java_cup.runtime.Symbol scan()
280 throws java.lang.Exception
281 {
282 return cupTokenScanner.nextToken ( );
283 }
284
285
286
287 protected CUPTokenScanner cupTokenScanner;
288
289 public MiniParser ( CUPTokenScanner cupTokenScanner )
290 //////////////////////////////////////////////////////////////////////
291 {
292 this.cupTokenScanner = cupTokenScanner;
293 }
294
295
296 }
297
298 /** Cup generated class to encapsulate user supplied action code.*/
299 class CUP$MiniParser$actions {
300
301
302 //////////////////////////////////////////////////////////////////////
303 // Action Code
304 //////////////////////////////////////////////////////////////////////
305
306 private final MiniParser parser;
307
308 /** Constructor */
309 CUP$MiniParser$actions(MiniParser parser) {
310 this.parser = parser;
311 }
312
313 /** Method with the actual generated action code. */
314 public final java_cup.runtime.Symbol CUP$MiniParser$do_action(
315 int CUP$MiniParser$act_num,
316 java_cup.runtime.lr_parser CUP$MiniParser$parser,
317 java.util.Stack CUP$MiniParser$stack,
318 int CUP$MiniParser$top)
319 throws java.lang.Exception
320 {
321 /* Symbol object for return from actions */
322 java_cup.runtime.Symbol CUP$MiniParser$result;
323
324 /* select the action based on the action number */
325 switch (CUP$MiniParser$act_num)
326 {
327 /*. . . . . . . . . . . . . . . . . . . .*/
328 case 50: // strongOperator ::= DIVIDE
329 {
330 OperatorMiniNode RESULT = null;
331 RESULT = new OperatorMiniNode ( MiniSymbols.DIVIDE );
332 CUP$MiniParser$result = new java_cup.runtime.Symbol(16/*strongOperator*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT);
333 }
334 return CUP$MiniParser$result;
335
336 /*. . . . . . . . . . . . . . . . . . . .*/
337 case 49: // strongOperator ::= TIMES
338 {
339 OperatorMiniNode RESULT = null;
340 RESULT = new OperatorMiniNode ( MiniSymbols.TIMES );
341 CUP$MiniParser$result = new java_cup.runtime.Symbol(16/*strongOperator*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT);
342 }
343 return CUP$MiniParser$result;
344
345 /*. . . . . . . . . . . . . . . . . . . .*/
346 case 48: // weakOperator ::= MINUS
347 {
348 OperatorMiniNode RESULT = null;
349 RESULT = new OperatorMiniNode ( MiniSymbols.MINUS );
350 CUP$MiniParser$result = new java_cup.runtime.Symbol(15/*weakOperator*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT);
351 }
352 return CUP$MiniParser$result;
353
354 /*. . . . . . . . . . . . . . . . . . . .*/
355 case 47: // weakOperator ::= PLUS
356 {
357 OperatorMiniNode RESULT = null;
358 RESULT = new OperatorMiniNode ( MiniSymbols.PLUS );
359 CUP$MiniParser$result = new java_cup.runtime.Symbol(15/*weakOperator*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT);
360 }
361 return CUP$MiniParser$result;
362
363 /*. . . . . . . . . . . . . . . . . . . .*/
364 case 46: // relation ::= NE
365 {
366 RelationMiniNode RESULT = null;
367 RESULT = new RelationMiniNode ( MiniSymbols.NE );
368 CUP$MiniParser$result = new java_cup.runtime.Symbol(21/*relation*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT);
369 }
370 return CUP$MiniParser$result;
371
372 /*. . . . . . . . . . . . . . . . . . . .*/
373 case 45: // relation ::= GE
374 {
375 RelationMiniNode RESULT = null;
376 RESULT = new RelationMiniNode ( MiniSymbols.GE );
377 CUP$MiniParser$result = new java_cup.runtime.Symbol(21/*relation*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT);
378 }
379 return CUP$MiniParser$result;
380
381 /*. . . . . . . . . . . . . . . . . . . .*/
382 case 44: // relation ::= GT
383 {
384 RelationMiniNode RESULT = null;
385 RESULT = new RelationMiniNode ( MiniSymbols.GT );
386 CUP$MiniParser$result = new java_cup.runtime.Symbol(21/*relation*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT);
387 }
388 return CUP$MiniParser$result;
389
390 /*. . . . . . . . . . . . . . . . . . . .*/
391 case 43: // relation ::= LT
392 {
393 RelationMiniNode RESULT = null;
394 RESULT = new RelationMiniNode ( MiniSymbols.LT );
395 CUP$MiniParser$result = new java_cup.runtime.Symbol(21/*relation*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT);
396 }
397 return CUP$MiniParser$result;
398
399 /*. . . . . . . . . . . . . . . . . . . .*/
400 case 42: // relation ::= LE
401 {
402 RelationMiniNode RESULT = null;
403 RESULT = new RelationMiniNode ( MiniSymbols.LE );
404 CUP$MiniParser$result = new java_cup.runtime.Symbol(21/*relation*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT);
405 }
406 return CUP$MiniParser$result;
407
408 /*. . . . . . . . . . . . . . . . . . . .*/
409 case 41: // relation ::= EQ
410 {
411 RelationMiniNode RESULT = null;
412 RESULT = new RelationMiniNode ( MiniSymbols.EQ );
413 CUP$MiniParser$result = new java_cup.runtime.Symbol(21/*relation*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT);
414 }
415 return CUP$MiniParser$result;
416
417 /*. . . . . . . . . . . . . . . . . . . .*/
418 case 40: // name1 ::= NAME
419 {
420 NameMiniNode RESULT = null;
421 int nleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left;
422 int nright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right;
423 String n = (String)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value;
424 RESULT = new NameMiniNode ( n );
425 CUP$MiniParser$result = new java_cup.runtime.Symbol(13/*name1*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT);
426 }
427 return CUP$MiniParser$result;
428
429 /*. . . . . . . . . . . . . . . . . . . .*/
430 case 39: // element ::= LPAREN expression RPAREN
431 {
432 ElementMiniNode RESULT = null;
433 int eleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).left;
434 int eright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).right;
435 ExpressionMiniNode e = (ExpressionMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).value;
436 RESULT = new ExpressionElementMiniNode ( e );
437 CUP$MiniParser$result = new java_cup.runtime.Symbol(8/*element*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT);
438 }
439 return CUP$MiniParser$result;
440
441 /*. . . . . . . . . . . . . . . . . . . .*/
442 case 38: // element ::= name1
443 {
444 ElementMiniNode RESULT = null;
445 int nleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left;
446 int nright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right;
447 NameMiniNode n = (NameMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value;
448 RESULT = n;
449 CUP$MiniParser$result = new java_cup.runtime.Symbol(8/*element*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT);
450 }
451 return CUP$MiniParser$result;
452
453 /*. . . . . . . . . . . . . . . . . . . .*/
454 case 37: // element ::= CONSTANT
455 {
456 ElementMiniNode RESULT = null;
457 int cleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left;
458 int cright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right;
459 Integer c = (Integer)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value;
460 RESULT = new ConstantMiniNode ( c.intValue ( ) );
461 CUP$MiniParser$result = new java_cup.runtime.Symbol(8/*element*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT);
462 }
463 return CUP$MiniParser$result;
464
465 /*. . . . . . . . . . . . . . . . . . . .*/
466 case 36: // term ::= term strongOperator element
467 {
468 TermMiniNode RESULT = null;
469 int tleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left;
470 int tright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).right;
471 TermMiniNode t = (TermMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).value;
472 int oleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).left;
473 int oright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).right;
474 OperatorMiniNode o = (OperatorMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).value;
475 int eleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left;
476 int eright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right;
477 ElementMiniNode e = (ElementMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value;
478 RESULT = new TermMiniNode ( t, o, e );
479 CUP$MiniParser$result = new java_cup.runtime.Symbol(24/*term*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT);
480 }
481 return CUP$MiniParser$result;
482
483 /*. . . . . . . . . . . . . . . . . . . .*/
484 case 35: // term ::= element
485 {
486 TermMiniNode RESULT = null;
487 int eleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left;
488 int eright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right;
489 ElementMiniNode e = (ElementMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value;
490 RESULT = new TermMiniNode ( e );
491 CUP$MiniParser$result = new java_cup.runtime.Symbol(24/*term*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT);
492 }
493 return CUP$MiniParser$result;
494
495 /*. . . . . . . . . . . . . . . . . . . .*/
496 case 34: // expression ::= expression weakOperator term
497 {
498 ExpressionMiniNode RESULT = null;
499 int eleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left;
500 int eright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).right;
501 ExpressionMiniNode e = (ExpressionMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).value;
502 int oleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).left;
503 int oright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).right;
504 OperatorMiniNode o = (OperatorMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).value;
505 int tleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left;
506 int tright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right;
507 TermMiniNode t = (TermMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value;
508 RESULT = new ExpressionMiniNode ( e, o, t );
509 CUP$MiniParser$result = new java_cup.runtime.Symbol(9/*expression*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT);
510 }
511 return CUP$MiniParser$result;
512
513 /*. . . . . . . . . . . . . . . . . . . .*/
514 case 33: // expression ::= term
515 {
516 ExpressionMiniNode RESULT = null;
517 int tleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left;
518 int tright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right;
519 TermMiniNode t = (TermMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value;
520 RESULT = new ExpressionMiniNode ( t );
521 CUP$MiniParser$result = new java_cup.runtime.Symbol(9/*expression*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT);
522 }
523 return CUP$MiniParser$result;
524
525 /*. . . . . . . . . . . . . . . . . . . .*/
526 case 32: // comparison ::= expression relation expression
527 {
528 ComparisonMiniNode RESULT = null;
529 int eLleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left;
530 int eLright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).right;
531 ExpressionMiniNode eL = (ExpressionMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).value;
532 int rleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).left;
533 int rright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).right;
534 RelationMiniNode r = (RelationMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).value;
535 int eRleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left;
536 int eRright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right;
537 ExpressionMiniNode eR = (ExpressionMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value;
538 RESULT = new ComparisonMiniNode ( eL, r, eR );
539 CUP$MiniParser$result = new java_cup.runtime.Symbol(3/*comparison*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT);
540 }
541 return CUP$MiniParser$result;
542
543 /*. . . . . . . . . . . . . . . . . . . .*/
544 case 31: // expressionList ::= expressionList COMMA expression
545 {
546 ExpressionSequenceMiniNode RESULT = null;
547 int eLleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left;
548 int eLright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).right;
549 ExpressionSequenceMiniNode eL = (ExpressionSequenceMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).value;
550 int eleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left;
551 int eright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right;
552 ExpressionMiniNode e = (ExpressionMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value;
553 RESULT = new ExpressionSequenceMiniNode ( eL, e );
554 CUP$MiniParser$result = new java_cup.runtime.Symbol(10/*expressionList*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT);
555 }
556 return CUP$MiniParser$result;
557
558 /*. . . . . . . . . . . . . . . . . . . .*/
559 case 30: // expressionList ::= expression
560 {
561 ExpressionSequenceMiniNode RESULT = null;
562 int eleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left;
563 int eright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right;
564 ExpressionMiniNode e = (ExpressionMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value;
565 RESULT = new ExpressionSequenceMiniNode ( null, e );
566 CUP$MiniParser$result = new java_cup.runtime.Symbol(10/*expressionList*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT);
567 }
568 return CUP$MiniParser$result;
569
570 /*. . . . . . . . . . . . . . . . . . . .*/
571 case 29: // nameList ::= nameList COMMA name1
572 {
573 NameSequenceMiniNode RESULT = null;
574 int nLleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left;
575 int nLright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).right;
576 NameSequenceMiniNode nL = (NameSequenceMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).value;
577 int nleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left;
578 int nright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right;
579 NameMiniNode n = (NameMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value;
580 RESULT = new NameSequenceMiniNode ( nL, n );
581 CUP$MiniParser$result = new java_cup.runtime.Symbol(14/*nameList*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT);
582 }
583 return CUP$MiniParser$result;
584
585 /*. . . . . . . . . . . . . . . . . . . .*/
586 case 28: // nameList ::= name1
587 {
588 NameSequenceMiniNode RESULT = null;
589 int nleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left;
590 int nright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right;
591 NameMiniNode n = (NameMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value;
592 RESULT = new NameSequenceMiniNode ( n );
593 CUP$MiniParser$result = new java_cup.runtime.Symbol(14/*nameList*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT);
594 }
595 return CUP$MiniParser$result;
596
597 /*. . . . . . . . . . . . . . . . . . . .*/
598 case 27: // parameterList ::= nameList
599 {
600 ParameterSequenceMiniNode RESULT = null;
601 int nLleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left;
602 int nLright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right;
603 NameSequenceMiniNode nL = (NameSequenceMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value;
604
605 try
606 {
607 RESULT = new ParameterSequenceMiniNode ( nL );
608 }
609 catch ( SemanticErrorException ex )
610 {
611 System.err.println ( ex.getMessage ( ) );
612 // RESULT = error;
613 throw ex;
614 }
615
616 CUP$MiniParser$result = new java_cup.runtime.Symbol(18/*parameterList*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT);
617 }
618 return CUP$MiniParser$result;
619
620 /*. . . . . . . . . . . . . . . . . . . .*/
621 case 26: // procedureCall ::= CALL name1 LPAREN expressionList RPAREN SEMICOLON
622 {
623 ProcedureCallStatementMiniNode RESULT = null;
624 int nleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-4)).left;
625 int nright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-4)).right;
626 NameMiniNode n = (NameMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-4)).value;
627 int eLleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left;
628 int eLright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).right;
629 ExpressionSequenceMiniNode eL = (ExpressionSequenceMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).value;
630 RESULT = new ProcedureCallStatementMiniNode ( n, eL );
631 CUP$MiniParser$result = new java_cup.runtime.Symbol(19/*procedureCall*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-5)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT);
632 }
633 return CUP$MiniParser$result;
634
635 /*. . . . . . . . . . . . . . . . . . . .*/
636 case 25: // procedureCall ::= CALL name1 SEMICOLON
637 {
638 ProcedureCallStatementMiniNode RESULT = null;
639 int nleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).left;
640 int nright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).right;
641 NameMiniNode n = (NameMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).value;
642 RESULT = new ProcedureCallStatementMiniNode ( n );
643 CUP$MiniParser$result = new java_cup.runtime.Symbol(19/*procedureCall*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT);
644 }
645 return CUP$MiniParser$result;
646
647 /*. . . . . . . . . . . . . . . . . . . .*/
648 case 24: // indefiniteLoop ::= WHILE comparison DO statementSequence END SEMICOLON
649 {
650 IndefiniteLoopStatementMiniNode RESULT = null;
651 int cleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-4)).left;
652 int cright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-4)).right;
653 ComparisonMiniNode c = (ComparisonMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-4)).value;
654 int ssleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left;
655 int ssright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).right;
656 StatementSequenceMiniNode ss = (StatementSequenceMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).value;
657 RESULT = new IndefiniteLoopStatementMiniNode ( c, ss );
658 CUP$MiniParser$result = new java_cup.runtime.Symbol(11/*indefiniteLoop*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-5)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT);
659 }
660 return CUP$MiniParser$result;
661
662 /*. . . . . . . . . . . . . . . . . . . .*/
663 case 23: // definiteLoop ::= TO expression DO statementSequence END SEMICOLON
664 {
665 DefiniteLoopStatementMiniNode RESULT = null;
666 int eleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-4)).left;
667 int eright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-4)).right;
668 ExpressionMiniNode e = (ExpressionMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-4)).value;
669 int ssleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left;
670 int ssright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).right;
671 StatementSequenceMiniNode ss = (StatementSequenceMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).value;
672 RESULT = new DefiniteLoopStatementMiniNode ( e, ss );
673 CUP$MiniParser$result = new java_cup.runtime.Symbol(7/*definiteLoop*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-5)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT);
674 }
675 return CUP$MiniParser$result;
676
677 /*. . . . . . . . . . . . . . . . . . . .*/
678 case 22: // conditionalStatement ::= IF comparison THEN statementSequence ELSE statementSequence FI
679 {
680 ConditionalStatementMiniNode RESULT = null;
681 int cleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-5)).left;
682 int cright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-5)).right;
683 ComparisonMiniNode c = (ComparisonMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-5)).value;
684 int sleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-3)).left;
685 int sright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-3)).right;
686 StatementSequenceMiniNode s = (StatementSequenceMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-3)).value;
687 int eleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).left;
688 int eright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).right;
689 StatementSequenceMiniNode e = (StatementSequenceMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).value;
690 RESULT = new ConditionalStatementMiniNode ( c, s, e );
691 CUP$MiniParser$result = new java_cup.runtime.Symbol(4/*conditionalStatement*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-6)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT);
692 }
693 return CUP$MiniParser$result;
694
695 /*. . . . . . . . . . . . . . . . . . . .*/
696 case 21: // conditionalStatement ::= IF comparison THEN statementSequence FI SEMICOLON
697 {
698 ConditionalStatementMiniNode RESULT = null;
699 int cleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-4)).left;
700 int cright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-4)).right;
701 ComparisonMiniNode c = (ComparisonMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-4)).value;
702 int ssleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left;
703 int ssright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).right;
704 StatementSequenceMiniNode ss = (StatementSequenceMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).value;
705 RESULT = new ConditionalStatementMiniNode ( c, ss, null );
706 CUP$MiniParser$result = new java_cup.runtime.Symbol(4/*conditionalStatement*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-5)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT);
707 }
708 return CUP$MiniParser$result;
709
710 /*. . . . . . . . . . . . . . . . . . . .*/
711 case 20: // assignmentStatement ::= name1 ASSIGN expression SEMICOLON
712 {
713 AssignmentStatementMiniNode RESULT = null;
714 int nleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-3)).left;
715 int nright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-3)).right;
716 NameMiniNode n = (NameMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-3)).value;
717 int eleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).left;
718 int eright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).right;
719 ExpressionMiniNode e = (ExpressionMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).value;
720 RESULT = new AssignmentStatementMiniNode ( n, e );
721 CUP$MiniParser$result = new java_cup.runtime.Symbol(1/*assignmentStatement*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-3)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT);
722 }
723 return CUP$MiniParser$result;
724
725 /*. . . . . . . . . . . . . . . . . . . .*/
726 case 19: // outputStatement ::= WRITE LPAREN expressionList RPAREN SEMICOLON
727 {
728 OutputStatementMiniNode RESULT = null;
729 int eLleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left;
730 int eLright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).right;
731 ExpressionSequenceMiniNode eL = (ExpressionSequenceMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).value;
732 RESULT = new OutputStatementMiniNode ( eL );
733 CUP$MiniParser$result = new java_cup.runtime.Symbol(17/*outputStatement*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-4)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT);
734 }
735 return CUP$MiniParser$result;
736
737 /*. . . . . . . . . . . . . . . . . . . .*/
738 case 18: // inputStatement ::= READ LPAREN nameList RPAREN SEMICOLON
739 {
740 InputStatementMiniNode RESULT = null;
741 int nLleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left;
742 int nLright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).right;
743 NameSequenceMiniNode nL = (NameSequenceMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).value;
744 RESULT = new InputStatementMiniNode ( nL );
745 CUP$MiniParser$result = new java_cup.runtime.Symbol(12/*inputStatement*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-4)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT);
746 }
747 return CUP$MiniParser$result;
748
749 /*. . . . . . . . . . . . . . . . . . . .*/
750 case 17: // statement ::= procedureCall
751 {
752 StatementMiniNode RESULT = null;
753 int sleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left;
754 int sright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right;
755 ProcedureCallStatementMiniNode s = (ProcedureCallStatementMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value;
756 RESULT = s;
757 CUP$MiniParser$result = new java_cup.runtime.Symbol(22/*statement*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT);
758 }
759 return CUP$MiniParser$result;
760
761 /*. . . . . . . . . . . . . . . . . . . .*/
762 case 16: // statement ::= indefiniteLoop
763 {
764 StatementMiniNode RESULT = null;
765 int sleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left;
766 int sright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right;
767 IndefiniteLoopStatementMiniNode s = (IndefiniteLoopStatementMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value;
768 RESULT = s;
769 CUP$MiniParser$result = new java_cup.runtime.Symbol(22/*statement*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT);
770 }
771 return CUP$MiniParser$result;
772
773 /*. . . . . . . . . . . . . . . . . . . .*/
774 case 15: // statement ::= definiteLoop
775 {
776 StatementMiniNode RESULT = null;
777 int sleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left;
778 int sright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right;
779 DefiniteLoopStatementMiniNode s = (DefiniteLoopStatementMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value;
780 RESULT = s;
781 CUP$MiniParser$result = new java_cup.runtime.Symbol(22/*statement*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT);
782 }
783 return CUP$MiniParser$result;
784
785 /*. . . . . . . . . . . . . . . . . . . .*/
786 case 14: // statement ::= conditionalStatement
787 {
788 StatementMiniNode RESULT = null;
789 int sleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left;
790 int sright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right;
791 ConditionalStatementMiniNode s = (ConditionalStatementMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value;
792 RESULT = s;
793 CUP$MiniParser$result = new java_cup.runtime.Symbol(22/*statement*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT);
794 }
795 return CUP$MiniParser$result;
796
797 /*. . . . . . . . . . . . . . . . . . . .*/
798 case 13: // statement ::= assignmentStatement
799 {
800 StatementMiniNode RESULT = null;
801 int sleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left;
802 int sright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right;
803 AssignmentStatementMiniNode s = (AssignmentStatementMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value;
804 RESULT = s;
805 CUP$MiniParser$result = new java_cup.runtime.Symbol(22/*statement*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT);
806 }
807 return CUP$MiniParser$result;
808
809 /*. . . . . . . . . . . . . . . . . . . .*/
810 case 12: // statement ::= outputStatement
811 {
812 StatementMiniNode RESULT = null;
813 int sleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left;
814 int sright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right;
815 OutputStatementMiniNode s = (OutputStatementMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value;
816 RESULT = s;
817 CUP$MiniParser$result = new java_cup.runtime.Symbol(22/*statement*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT);
818 }
819 return CUP$MiniParser$result;
820
821 /*. . . . . . . . . . . . . . . . . . . .*/
822 case 11: // statement ::= inputStatement
823 {
824 StatementMiniNode RESULT = null;
825 int sleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left;
826 int sright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right;
827 InputStatementMiniNode s = (InputStatementMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value;
828 RESULT = s;
829 CUP$MiniParser$result = new java_cup.runtime.Symbol(22/*statement*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT);
830 }
831 return CUP$MiniParser$result;
832
833 /*. . . . . . . . . . . . . . . . . . . .*/
834 case 10: // declaration ::= PROCEDURE name1 LPAREN parameterList RPAREN block SEMICOLON
835 {
836 DeclarationMiniNode RESULT = null;
837 int nleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-5)).left;
838 int nright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-5)).right;
839 NameMiniNode n = (NameMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-5)).value;
840 int pLleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-3)).left;
841 int pLright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-3)).right;
842 ParameterSequenceMiniNode pL = (ParameterSequenceMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-3)).value;
843 int bleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).left;
844 int bright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).right;
845 BlockMiniNode b = (BlockMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).value;
846 RESULT = new ProcedureDeclarationMiniNode ( n, pL, b );
847 CUP$MiniParser$result = new java_cup.runtime.Symbol(5/*declaration*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-6)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT);
848 }
849 return CUP$MiniParser$result;
850
851 /*. . . . . . . . . . . . . . . . . . . .*/
852 case 9: // declaration ::= PROCEDURE name1 block SEMICOLON
853 {
854 DeclarationMiniNode RESULT = null;
855 int nleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left;
856 int nright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).right;
857 NameMiniNode n = (NameMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).value;
858 int bleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).left;
859 int bright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).right;
860 BlockMiniNode b = (BlockMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).value;
861 RESULT = new ProcedureDeclarationMiniNode ( n, null, b );
862 CUP$MiniParser$result = new java_cup.runtime.Symbol(5/*declaration*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-3)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT);
863 }
864 return CUP$MiniParser$result;
865
866 /*. . . . . . . . . . . . . . . . . . . .*/
867 case 8: // declaration ::= INTEGER nameList SEMICOLON
868 {
869 DeclarationMiniNode RESULT = null;
870 int nLleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).left;
871 int nLright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).right;
872 NameSequenceMiniNode nL = (NameSequenceMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).value;
873 RESULT = new IntegerDeclarationMiniNode ( nL );
874 CUP$MiniParser$result = new java_cup.runtime.Symbol(5/*declaration*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT);
875 }
876 return CUP$MiniParser$result;
877
878 /*. . . . . . . . . . . . . . . . . . . .*/
879 case 7: // statementSequence ::= statementSequence statement
880 {
881 StatementSequenceMiniNode RESULT = null;
882 int ssleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).left;
883 int ssright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).right;
884 StatementSequenceMiniNode ss = (StatementSequenceMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).value;
885 int sleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left;
886 int sright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right;
887 StatementMiniNode s = (StatementMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value;
888 RESULT = new StatementSequenceMiniNode ( ss, s );
889 CUP$MiniParser$result = new java_cup.runtime.Symbol(23/*statementSequence*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT);
890 }
891 return CUP$MiniParser$result;
892
893 /*. . . . . . . . . . . . . . . . . . . .*/
894 case 6: // statementSequence ::= statement
895 {
896 StatementSequenceMiniNode RESULT = null;
897 int sleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left;
898 int sright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right;
899 StatementMiniNode s = (StatementMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value;
900 RESULT = new StatementSequenceMiniNode ( s );
901 CUP$MiniParser$result = new java_cup.runtime.Symbol(23/*statementSequence*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT);
902 }
903 return CUP$MiniParser$result;
904
905 /*. . . . . . . . . . . . . . . . . . . .*/
906 case 5: // declarationSequence ::= declarationSequence declaration
907 {
908 DeclarationSequenceMiniNode RESULT = null;
909 int dsleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).left;
910 int dsright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).right;
911 DeclarationSequenceMiniNode ds = (DeclarationSequenceMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).value;
912 int dleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left;
913 int dright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right;
914 DeclarationMiniNode d = (DeclarationMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value;
915 RESULT = new DeclarationSequenceMiniNode ( ds, d );
916 CUP$MiniParser$result = new java_cup.runtime.Symbol(6/*declarationSequence*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT);
917 }
918 return CUP$MiniParser$result;
919
920 /*. . . . . . . . . . . . . . . . . . . .*/
921 case 4: // declarationSequence ::= declaration
922 {
923 DeclarationSequenceMiniNode RESULT = null;
924 int dleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left;
925 int dright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right;
926 DeclarationMiniNode d = (DeclarationMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value;
927 RESULT = new DeclarationSequenceMiniNode ( d );
928 CUP$MiniParser$result = new java_cup.runtime.Symbol(6/*declarationSequence*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT);
929 }
930 return CUP$MiniParser$result;
931
932 /*. . . . . . . . . . . . . . . . . . . .*/
933 case 3: // block ::= BEGIN statementSequence END
934 {
935 BlockMiniNode RESULT = null;
936 int ssleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).left;
937 int ssright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).right;
938 StatementSequenceMiniNode ss = (StatementSequenceMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).value;
939 RESULT = new BlockMiniNode ( ss );
940 CUP$MiniParser$result = new java_cup.runtime.Symbol(2/*block*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT);
941 }
942 return CUP$MiniParser$result;
943
944 /*. . . . . . . . . . . . . . . . . . . .*/
945 case 2: // block ::= BEGIN declarationSequence statementSequence END
946 {
947 BlockMiniNode RESULT = null;
948 int dsleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left;
949 int dsright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).right;
950 DeclarationSequenceMiniNode ds = (DeclarationSequenceMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).value;
951 int ssleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).left;
952 int ssright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).right;
953 StatementSequenceMiniNode ss = (StatementSequenceMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).value;
954 RESULT = new BlockMiniNode ( ds, ss );
955 CUP$MiniParser$result = new java_cup.runtime.Symbol(2/*block*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-3)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT);
956 }
957 return CUP$MiniParser$result;
958
959 /*. . . . . . . . . . . . . . . . . . . .*/
960 case 1: // program ::= block
961 {
962 ProgramMiniNode RESULT = null;
963 int bleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left;
964 int bright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right;
965 BlockMiniNode b = (BlockMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value;
966
967 try
968 {
969 RESULT = new ProgramMiniNode ( b );
970 }
971 catch ( SemanticErrorException ex )
972 {
973 System.err.println ( ex.getMessage ( ) );
974 // RESULT = error;
975 throw ex;
976 }
977
978 CUP$MiniParser$result = new java_cup.runtime.Symbol(20/*program*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT);
979 }
980 return CUP$MiniParser$result;
981
982 /*. . . . . . . . . . . . . . . . . . . .*/
983 case 0: // $START ::= program EOF
984 {
985 Object RESULT = null;
986 int start_valleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).left;
987 int start_valright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).right;
988 ProgramMiniNode start_val = (ProgramMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).value;
989 RESULT = start_val;
990 CUP$MiniParser$result = new java_cup.runtime.Symbol(0/*$START*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT);
991 }
992 /* ACCEPT */
993 CUP$MiniParser$parser.done_parsing();
994 return CUP$MiniParser$result;
995
996 /* . . . . . .*/
997 default:
998 throw new Exception(
999 "Invalid action number found in internal parse table");
1000
1001 }
1002 }
1003 }
1004