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