001    
002    //----------------------------------------------------
003    // The following code was generated by CUP v0.10k
004    // Tue Apr 20 12:09:58 CEST 2004
005    //----------------------------------------------------
006    
007    package org.objectweb.jac.core.parsers.acc;
008    
009    import java_cup.runtime.*;
010    import java.util.Vector;
011    import java.util.Arrays;
012    import org.objectweb.jac.core.ConfigMethod;
013    
014    /** CUP v0.10k generated parser.
015      * @version Tue Apr 20 12:09:58 CEST 2004
016      */
017    public class ToolParser extends java_cup.runtime.lr_parser {
018    
019      /** Default constructor. */
020      public ToolParser() {super();}
021    
022      /** Constructor which sets the default scanner. */
023      public ToolParser(java_cup.runtime.Scanner s) {super(s);}
024    
025      /** Production table. */
026      protected static final short _production_table[][] = 
027        unpackFromStrings(new String[] {
028        "\000\035\000\002\003\002\000\002\002\004\000\002\003" +
029        "\003\000\002\004\004\000\002\004\003\000\002\007\003" +
030        "\000\002\007\003\000\002\007\003\000\002\010\007\000" +
031        "\002\010\005\000\002\010\004\000\002\011\005\000\002" +
032        "\011\003\000\002\011\004\000\002\011\003\000\002\014" +
033        "\005\000\002\014\004\000\002\014\005\000\002\014\004" +
034        "\000\002\014\004\000\002\015\005\000\002\005\004\000" +
035        "\002\005\003\000\002\013\003\000\002\013\003\000\002" +
036        "\012\005\000\002\012\004\000\002\006\005\000\002\006" +
037        "\003" });
038    
039      /** Access to production table. */
040      public short[][] production_table() {return _production_table;}
041    
042      /** Parse-action table. */
043      protected static final short[][] _action_table = 
044        unpackFromStrings(new String[] {
045        "\000\053\000\014\002\001\003\013\010\015\011\014\012" +
046        "\005\001\002\000\016\002\uffff\003\013\005\uffff\010\015" +
047        "\011\014\012\005\001\002\000\012\003\040\004\035\007" +
048        "\037\012\041\001\002\000\016\002\ufffa\003\ufffa\005\ufffa" +
049        "\010\ufffa\011\ufffa\012\ufffa\001\002\000\004\002\034\001" +
050        "\002\000\016\002\ufffd\003\ufffd\005\ufffd\010\ufffd\011\ufffd" +
051        "\012\ufffd\001\002\000\016\002\ufffb\003\ufffb\005\ufffb\010" +
052        "\ufffb\011\ufffb\012\ufffb\001\002\000\016\002\ufffc\003\ufffc" +
053        "\005\ufffc\010\ufffc\011\ufffc\012\ufffc\001\002\000\004\007" +
054        "\033\001\002\000\004\012\031\001\002\000\006\003\017" +
055        "\012\020\001\002\000\006\003\026\004\025\001\002\000" +
056        "\020\002\ufff7\003\ufff7\004\ufff3\005\ufff7\010\ufff7\011\ufff7" +
057        "\012\ufff7\001\002\000\010\003\022\004\ufff5\006\021\001" +
058        "\002\000\006\003\024\012\020\001\002\000\006\003\ufff4" +
059        "\004\ufff4\001\002\000\006\003\ufff6\004\ufff6\001\002\000" +
060        "\006\003\ufff3\004\ufff3\001\002\000\014\003\013\005\001" +
061        "\010\015\011\014\012\005\001\002\000\016\002\ufff8\003" +
062        "\ufff8\005\ufff8\010\ufff8\011\ufff8\012\ufff8\001\002\000\004" +
063        "\005\030\001\002\000\016\002\ufff9\003\ufff9\005\ufff9\010" +
064        "\ufff9\011\ufff9\012\ufff9\001\002\000\004\007\032\001\002" +
065        "\000\016\002\uffed\003\uffed\005\uffed\010\uffed\011\uffed\012" +
066        "\uffed\001\002\000\016\002\uffee\003\uffee\005\uffee\010\uffee" +
067        "\011\uffee\012\uffee\001\002\000\004\002\000\001\002\000" +
068        "\010\004\035\005\050\012\041\001\002\000\004\007\046" +
069        "\001\002\000\016\002\ufff1\003\ufff1\005\ufff1\010\ufff1\011" +
070        "\ufff1\012\ufff1\001\002\000\020\002\uffef\003\uffef\005\uffef" +
071        "\007\045\010\uffef\011\uffef\012\uffef\001\002\000\014\004" +
072        "\uffea\005\uffea\006\uffea\007\uffea\012\uffea\001\002\000\014" +
073        "\004\uffe9\005\uffe9\006\uffe9\007\uffe9\012\uffe9\001\002\000" +
074        "\010\004\035\007\uffeb\012\041\001\002\000\004\007\uffec" +
075        "\001\002\000\016\002\ufff0\003\ufff0\005\ufff0\010\ufff0\011" +
076        "\ufff0\012\ufff0\001\002\000\016\002\ufff2\003\ufff2\005\ufff2" +
077        "\010\ufff2\011\ufff2\012\ufff2\001\002\000\006\005\053\006" +
078        "\052\001\002\000\014\004\uffe7\005\uffe7\006\uffe7\007\uffe7" +
079        "\012\uffe7\001\002\000\006\005\uffe5\006\uffe5\001\002\000" +
080        "\006\004\035\012\041\001\002\000\014\004\uffe8\005\uffe8" +
081        "\006\uffe8\007\uffe8\012\uffe8\001\002\000\006\005\uffe6\006" +
082        "\uffe6\001\002\000\016\002\ufffe\003\ufffe\005\ufffe\010\ufffe" +
083        "\011\ufffe\012\ufffe\001\002" });
084    
085      /** Access to parse-action table. */
086      public short[][] action_table() {return _action_table;}
087    
088      /** <code>reduce_goto</code> table. */
089      protected static final short[][] _reduce_table = 
090        unpackFromStrings(new String[] {
091        "\000\053\000\016\003\006\004\003\007\007\010\011\014" +
092        "\010\015\005\001\001\000\012\007\054\010\011\014\010" +
093        "\015\005\001\001\000\010\005\035\012\041\013\042\001" +
094        "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
095        "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
096        "\002\001\001\000\004\011\015\001\001\000\002\001\001" +
097        "\000\002\001\001\000\002\001\001\000\004\011\022\001" +
098        "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
099        "\000\016\003\026\004\003\007\007\010\011\014\010\015" +
100        "\005\001\001\000\002\001\001\000\002\001\001\000\002" +
101        "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
102        "\001\000\002\001\001\000\010\006\046\012\041\013\050" +
103        "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
104        "\001\000\002\001\001\000\002\001\001\000\010\005\043" +
105        "\012\041\013\042\001\001\000\002\001\001\000\002\001" +
106        "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
107        "\000\002\001\001\000\006\012\041\013\053\001\001\000" +
108        "\002\001\001\000\002\001\001\000\002\001\001" });
109    
110      /** Access to <code>reduce_goto</code> table. */
111      public short[][] reduce_table() {return _reduce_table;}
112    
113      /** Instance of action encapsulation class. */
114      protected CUP$ToolParser$actions action_obj;
115    
116      /** Action encapsulation object initializer. */
117      protected void init_actions()
118        {
119          action_obj = new CUP$ToolParser$actions(this);
120        }
121    
122      /** Invoke a user supplied parse action. */
123      public java_cup.runtime.Symbol do_action(
124        int                        act_num,
125        java_cup.runtime.lr_parser parser,
126        java.util.Stack            stack,
127        int                        top)
128        throws java.lang.Exception
129      {
130        /* call code in generated class */
131        return action_obj.CUP$ToolParser$do_action(act_num, parser, stack, top);
132      }
133    
134      /** Indicates start state. */
135      public int start_state() {return 0;}
136      /** Indicates start production. */
137      public int start_production() {return 1;}
138    
139      /** <code>EOF</code> Symbol index. */
140      public int EOF_sym() {return 0;}
141    
142      /** <code>error</code> Symbol index. */
143      public int error_sym() {return 1;}
144    
145    }
146    
147    /** Cup generated class to encapsulate user supplied action code.*/
148    class CUP$ToolParser$actions {
149      private final ToolParser parser;
150    
151      /** Constructor */
152      CUP$ToolParser$actions(ToolParser parser) {
153        this.parser = parser;
154      }
155    
156      /** Method with the actual generated action code. */
157      public final java_cup.runtime.Symbol CUP$ToolParser$do_action(
158        int                        CUP$ToolParser$act_num,
159        java_cup.runtime.lr_parser CUP$ToolParser$parser,
160        java.util.Stack            CUP$ToolParser$stack,
161        int                        CUP$ToolParser$top)
162        throws java.lang.Exception
163        {
164          /* Symbol object for return from actions */
165          java_cup.runtime.Symbol CUP$ToolParser$result;
166    
167          /* select the action based on the action number */
168          switch (CUP$ToolParser$act_num)
169            {
170              /*. . . . . . . . . . . . . . . . . . . .*/
171              case 28: // value_list ::= value 
172                {
173                  NonTerminal RESULT = null;
174                    int vleft = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).left;
175                    int vright = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).right;
176                    NonTerminal v = (NonTerminal)((java_cup.runtime.Symbol) CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).value;
177                     
178                            RESULT = new NonTerminal(
179                                            "value_list",
180                                            new Terminal("VALUE",v.toString(),vleft,vright)); 
181                    
182                  CUP$ToolParser$result = new java_cup.runtime.Symbol(4/*value_list*/, ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).right, RESULT);
183                }
184              return CUP$ToolParser$result;
185    
186              /*. . . . . . . . . . . . . . . . . . . .*/
187              case 27: // value_list ::= value_list COMMA value 
188                {
189                  NonTerminal RESULT = null;
190                    int lleft = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-2)).left;
191                    int lright = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-2)).right;
192                    NonTerminal l = (NonTerminal)((java_cup.runtime.Symbol) CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-2)).value;
193                    int vleft = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).left;
194                    int vright = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).right;
195                    NonTerminal v = (NonTerminal)((java_cup.runtime.Symbol) CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).value;
196                     
197                            l.addChild(new Terminal("VALUE",v.toString(),vleft,vright)); 
198                            RESULT = l; 
199                    
200                  CUP$ToolParser$result = new java_cup.runtime.Symbol(4/*value_list*/, ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).right, RESULT);
201                }
202              return CUP$ToolParser$result;
203    
204              /*. . . . . . . . . . . . . . . . . . . .*/
205              case 26: // array_value ::= LBRACE RBRACE 
206                {
207                  NonTerminal RESULT = null;
208                     RESULT = new NonTerminal("array_value"); 
209                  CUP$ToolParser$result = new java_cup.runtime.Symbol(8/*array_value*/, ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-1)).left, ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).right, RESULT);
210                }
211              return CUP$ToolParser$result;
212    
213              /*. . . . . . . . . . . . . . . . . . . .*/
214              case 25: // array_value ::= LBRACE value_list RBRACE 
215                {
216                  NonTerminal RESULT = null;
217                    int lleft = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-1)).left;
218                    int lright = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-1)).right;
219                    NonTerminal l = (NonTerminal)((java_cup.runtime.Symbol) CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-1)).value;
220                     RESULT = new NonTerminal("array_value",l); 
221                  CUP$ToolParser$result = new java_cup.runtime.Symbol(8/*array_value*/, ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).right, RESULT);
222                }
223              return CUP$ToolParser$result;
224    
225              /*. . . . . . . . . . . . . . . . . . . .*/
226              case 24: // value ::= array_value 
227                {
228                  NonTerminal RESULT = null;
229                    int vleft = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).left;
230                    int vright = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).right;
231                    NonTerminal v = (NonTerminal)((java_cup.runtime.Symbol) CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).value;
232                     RESULT = new NonTerminal("value",v); 
233                  CUP$ToolParser$result = new java_cup.runtime.Symbol(9/*value*/, ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).right, RESULT);
234                }
235              return CUP$ToolParser$result;
236    
237              /*. . . . . . . . . . . . . . . . . . . .*/
238              case 23: // value ::= ATOMIC_VALUE 
239                {
240                  NonTerminal RESULT = null;
241                    int vleft = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).left;
242                    int vright = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).right;
243                    String v = (String)((java_cup.runtime.Symbol) CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).value;
244                     RESULT = new NonTerminal("value",new Terminal("ATOMIC_VALUE",v,vleft,vright)); 
245                  CUP$ToolParser$result = new java_cup.runtime.Symbol(9/*value*/, ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).right, RESULT);
246                }
247              return CUP$ToolParser$result;
248    
249              /*. . . . . . . . . . . . . . . . . . . .*/
250              case 22: // args ::= value 
251                {
252                  NonTerminal RESULT = null;
253                    int vleft = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).left;
254                    int vright = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).right;
255                    NonTerminal v = (NonTerminal)((java_cup.runtime.Symbol) CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).value;
256                     
257                            RESULT = new NonTerminal("args",v);
258                    
259                  CUP$ToolParser$result = new java_cup.runtime.Symbol(3/*args*/, ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).right, RESULT);
260                }
261              return CUP$ToolParser$result;
262    
263              /*. . . . . . . . . . . . . . . . . . . .*/
264              case 21: // args ::= value args 
265                {
266                  NonTerminal RESULT = null;
267                    int vleft = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-1)).left;
268                    int vright = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-1)).right;
269                    NonTerminal v = (NonTerminal)((java_cup.runtime.Symbol) CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-1)).value;
270                    int lleft = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).left;
271                    int lright = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).right;
272                    NonTerminal l = (NonTerminal)((java_cup.runtime.Symbol) CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).value;
273                     
274                            l.insertChild(v);
275                            RESULT = l; 
276                    
277                  CUP$ToolParser$result = new java_cup.runtime.Symbol(3/*args*/, ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-1)).left, ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).right, RESULT);
278                }
279              return CUP$ToolParser$result;
280    
281              /*. . . . . . . . . . . . . . . . . . . .*/
282              case 20: // import_statement ::= IMPORT ATOMIC_VALUE EOL 
283                {
284                  NonTerminal RESULT = null;
285                    int ileft = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-2)).left;
286                    int iright = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-2)).right;
287                    String i = (String)((java_cup.runtime.Symbol) CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-2)).value;
288                    int mleft = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-1)).left;
289                    int mright = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-1)).right;
290                    String m = (String)((java_cup.runtime.Symbol) CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-1)).value;
291                    int eleft = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).left;
292                    int eright = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).right;
293                    String e = (String)((java_cup.runtime.Symbol) CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).value;
294                     
295                            RESULT = new NonTerminal("import_statement");
296                            RESULT.addChild(new Terminal("IMPORT",i,ileft,iright));
297                            RESULT.addChild(new Terminal("import_param",m,mleft,mright));
298                            RESULT.addChild(new Terminal("EOL",e,eleft,eright));
299                    
300                  CUP$ToolParser$result = new java_cup.runtime.Symbol(11/*import_statement*/, ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).right, RESULT);
301                }
302              return CUP$ToolParser$result;
303    
304              /*. . . . . . . . . . . . . . . . . . . .*/
305              case 19: // conf_method ::= error EOL 
306                {
307                  NonTerminal RESULT = null;
308                    int errleft = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-1)).left;
309                    int errright = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-1)).right;
310                    Object err = (Object)((java_cup.runtime.Symbol) CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-1)).value;
311                    int eleft = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).left;
312                    int eright = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).right;
313                    String e = (String)((java_cup.runtime.Symbol) CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).value;
314                    
315                            RESULT = new NonTerminal("conf_method");
316                            RESULT.addChild(new Terminal("ERROR","",errleft,errright));
317                            RESULT.addChild(new Terminal("EOL",e,eleft,eright));
318                    
319                  CUP$ToolParser$result = new java_cup.runtime.Symbol(10/*conf_method*/, ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-1)).left, ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).right, RESULT);
320                }
321              return CUP$ToolParser$result;
322    
323              /*. . . . . . . . . . . . . . . . . . . .*/
324              case 18: // conf_method ::= ATOMIC_VALUE error 
325                {
326                  NonTerminal RESULT = null;
327                    int mleft = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-1)).left;
328                    int mright = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-1)).right;
329                    String m = (String)((java_cup.runtime.Symbol) CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-1)).value;
330                    int errleft = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).left;
331                    int errright = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).right;
332                    Object err = (Object)((java_cup.runtime.Symbol) CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).value;
333                    
334                            RESULT = new NonTerminal("conf_method");
335                            RESULT.addChild(new Terminal("CONF_METHOD",m,mleft,mright));
336                            RESULT.addChild(new Terminal("ERROR","",errleft,errright));
337                    
338                  CUP$ToolParser$result = new java_cup.runtime.Symbol(10/*conf_method*/, ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-1)).left, ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).right, RESULT);
339                }
340              return CUP$ToolParser$result;
341    
342              /*. . . . . . . . . . . . . . . . . . . .*/
343              case 17: // conf_method ::= ATOMIC_VALUE error EOL 
344                {
345                  NonTerminal RESULT = null;
346                    int mleft = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-2)).left;
347                    int mright = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-2)).right;
348                    String m = (String)((java_cup.runtime.Symbol) CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-2)).value;
349                    int errleft = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-1)).left;
350                    int errright = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-1)).right;
351                    Object err = (Object)((java_cup.runtime.Symbol) CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-1)).value;
352                    int eleft = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).left;
353                    int eright = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).right;
354                    String e = (String)((java_cup.runtime.Symbol) CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).value;
355                    
356                            RESULT = new NonTerminal("conf_method");
357                            RESULT.addChild(new Terminal("CONF_METHOD",m,mleft,mright));
358                            RESULT.addChild(new Terminal("ERROR","",errleft,errright));
359                            RESULT.addChild(new Terminal("EOL",e,eleft,eright));
360                    
361                  CUP$ToolParser$result = new java_cup.runtime.Symbol(10/*conf_method*/, ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).right, RESULT);
362                }
363              return CUP$ToolParser$result;
364    
365              /*. . . . . . . . . . . . . . . . . . . .*/
366              case 16: // conf_method ::= ATOMIC_VALUE EOL 
367                {
368                  NonTerminal RESULT = null;
369                    int mleft = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-1)).left;
370                    int mright = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-1)).right;
371                    String m = (String)((java_cup.runtime.Symbol) CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-1)).value;
372                    int eleft = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).left;
373                    int eright = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).right;
374                    String e = (String)((java_cup.runtime.Symbol) CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).value;
375                     
376                            RESULT = new NonTerminal("conf_method");
377                            RESULT.addChild(new Terminal("CONF_METHOD",m,mleft,mright));
378                            RESULT.addChild(new Terminal("EOL",e,eleft,eright));
379                    
380                  CUP$ToolParser$result = new java_cup.runtime.Symbol(10/*conf_method*/, ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-1)).left, ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).right, RESULT);
381                }
382              return CUP$ToolParser$result;
383    
384              /*. . . . . . . . . . . . . . . . . . . .*/
385              case 15: // conf_method ::= ATOMIC_VALUE args EOL 
386                {
387                  NonTerminal RESULT = null;
388                    int mleft = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-2)).left;
389                    int mright = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-2)).right;
390                    String m = (String)((java_cup.runtime.Symbol) CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-2)).value;
391                    int aleft = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-1)).left;
392                    int aright = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-1)).right;
393                    NonTerminal a = (NonTerminal)((java_cup.runtime.Symbol) CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-1)).value;
394                    int eleft = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).left;
395                    int eright = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).right;
396                    String e = (String)((java_cup.runtime.Symbol) CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).value;
397                            
398                            RESULT = new NonTerminal("conf_method");
399                            RESULT.addChild(new Terminal("CONF_METHOD",m,mleft,mright));
400                            RESULT.addChild(a);
401                            RESULT.addChild(new Terminal("EOL",e,eleft,eright));
402                    
403                  CUP$ToolParser$result = new java_cup.runtime.Symbol(10/*conf_method*/, ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).right, RESULT);
404                }
405              return CUP$ToolParser$result;
406    
407              /*. . . . . . . . . . . . . . . . . . . .*/
408              case 14: // block_params ::= error 
409                {
410                  NonTerminal RESULT = null;
411                    int errleft = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).left;
412                    int errright = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).right;
413                    Object err = (Object)((java_cup.runtime.Symbol) CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).value;
414                    
415                            RESULT = new NonTerminal("block_params",
416                                            new Terminal("ERROR","ERROR",errleft,errright));
417                    
418                  CUP$ToolParser$result = new java_cup.runtime.Symbol(7/*block_params*/, ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).right, RESULT);
419                }
420              return CUP$ToolParser$result;
421    
422              /*. . . . . . . . . . . . . . . . . . . .*/
423              case 13: // block_params ::= ATOMIC_VALUE error 
424                {
425                  NonTerminal RESULT = null;
426                    int vleft = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-1)).left;
427                    int vright = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-1)).right;
428                    String v = (String)((java_cup.runtime.Symbol) CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-1)).value;
429                    int errleft = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).left;
430                    int errright = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).right;
431                    Object err = (Object)((java_cup.runtime.Symbol) CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).value;
432                     
433                            RESULT = new NonTerminal("block_params");
434                            RESULT.addChild(new Terminal("BLOCK_PARAM",v,vleft,vright));
435                            RESULT.addChild(new Terminal("ERROR","ERROR",errleft,errright));
436                    
437                  CUP$ToolParser$result = new java_cup.runtime.Symbol(7/*block_params*/, ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-1)).left, ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).right, RESULT);
438                }
439              return CUP$ToolParser$result;
440    
441              /*. . . . . . . . . . . . . . . . . . . .*/
442              case 12: // block_params ::= ATOMIC_VALUE 
443                {
444                  NonTerminal RESULT = null;
445                    int vleft = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).left;
446                    int vright = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).right;
447                    String v = (String)((java_cup.runtime.Symbol) CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).value;
448                     
449                            RESULT = new NonTerminal("block_params",
450                                            new Terminal("BLOCK_PARAM",v,vleft,vright));
451                    
452                  CUP$ToolParser$result = new java_cup.runtime.Symbol(7/*block_params*/, ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).right, RESULT);
453                }
454              return CUP$ToolParser$result;
455    
456              /*. . . . . . . . . . . . . . . . . . . .*/
457              case 11: // block_params ::= ATOMIC_VALUE COMMA block_params 
458                {
459                  NonTerminal RESULT = null;
460                    int vleft = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-2)).left;
461                    int vright = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-2)).right;
462                    String v = (String)((java_cup.runtime.Symbol) CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-2)).value;
463                    int lleft = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).left;
464                    int lright = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).right;
465                    NonTerminal l = (NonTerminal)((java_cup.runtime.Symbol) CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).value;
466                     
467                            l.insertChild(new Terminal("BLOCK_PARAM",v,vleft,vright));
468                            RESULT = l;
469                    
470                  CUP$ToolParser$result = new java_cup.runtime.Symbol(7/*block_params*/, ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).right, RESULT);
471                }
472              return CUP$ToolParser$result;
473    
474              /*. . . . . . . . . . . . . . . . . . . .*/
475              case 10: // class_block ::= CLASS error 
476                {
477                  NonTerminal RESULT = null;
478                    int keywordleft = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-1)).left;
479                    int keywordright = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-1)).right;
480                    String keyword = (String)((java_cup.runtime.Symbol) CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-1)).value;
481                    int errleft = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).left;
482                    int errright = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).right;
483                    Object err = (Object)((java_cup.runtime.Symbol) CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).value;
484                    
485                            RESULT = new NonTerminal("class_block");
486                            RESULT.addChild(
487                                    new Terminal("BLOCK_KEYWORD",keyword,
488                                                 keywordleft,keywordright));
489                            RESULT.addChild(new Terminal("ERROR","ERROR",errleft,errright));
490                    
491                  CUP$ToolParser$result = new java_cup.runtime.Symbol(6/*class_block*/, ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-1)).left, ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).right, RESULT);
492                }
493              return CUP$ToolParser$result;
494    
495              /*. . . . . . . . . . . . . . . . . . . .*/
496              case 9: // class_block ::= CLASS block_params error 
497                {
498                  NonTerminal RESULT = null;
499                    int keywordleft = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-2)).left;
500                    int keywordright = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-2)).right;
501                    String keyword = (String)((java_cup.runtime.Symbol) CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-2)).value;
502                    int cleft = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-1)).left;
503                    int cright = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-1)).right;
504                    NonTerminal c = (NonTerminal)((java_cup.runtime.Symbol) CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-1)).value;
505                    int errleft = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).left;
506                    int errright = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).right;
507                    Object err = (Object)((java_cup.runtime.Symbol) CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).value;
508                    
509                            RESULT = new NonTerminal("class_block");
510                            RESULT.addChild(
511                                    new Terminal("BLOCK_KEYWORD",keyword,
512                                                 keywordleft,keywordright));
513                            RESULT.addChild(c);
514                            RESULT.addChild(new Terminal("ERROR","ERROR",errleft,errright));
515                    
516                  CUP$ToolParser$result = new java_cup.runtime.Symbol(6/*class_block*/, ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).right, RESULT);
517                }
518              return CUP$ToolParser$result;
519    
520              /*. . . . . . . . . . . . . . . . . . . .*/
521              case 8: // class_block ::= CLASS block_params LBRACE acc RBRACE 
522                {
523                  NonTerminal RESULT = null;
524                    int keywordleft = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-4)).left;
525                    int keywordright = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-4)).right;
526                    String keyword = (String)((java_cup.runtime.Symbol) CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-4)).value;
527                    int cleft = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-3)).left;
528                    int cright = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-3)).right;
529                    NonTerminal c = (NonTerminal)((java_cup.runtime.Symbol) CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-3)).value;
530                    int lbleft = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-2)).left;
531                    int lbright = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-2)).right;
532                    String lb = (String)((java_cup.runtime.Symbol) CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-2)).value;
533                    int lleft = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-1)).left;
534                    int lright = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-1)).right;
535                    NonTerminal l = (NonTerminal)((java_cup.runtime.Symbol) CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-1)).value;
536                    int rbleft = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).left;
537                    int rbright = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).right;
538                    String rb = (String)((java_cup.runtime.Symbol) CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).value;
539                     
540                            RESULT = new NonTerminal("class_block");
541                            RESULT.addChild(
542                                    new Terminal("BLOCK_KEYWORD",keyword,
543                                                 keywordleft,keywordright));
544                            RESULT.addChild(c);
545                            RESULT.addChild(new Terminal("LBRACE",lb,lbleft,lbright));
546                            RESULT.addChild(l);
547                            RESULT.addChild(new Terminal("RBRACE",rb,rbleft,rbright));
548                    
549                  CUP$ToolParser$result = new java_cup.runtime.Symbol(6/*class_block*/, ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-4)).left, ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).right, RESULT);
550                }
551              return CUP$ToolParser$result;
552    
553              /*. . . . . . . . . . . . . . . . . . . .*/
554              case 7: // block ::= import_statement 
555                {
556                  NonTerminal RESULT = null;
557                    int ileft = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).left;
558                    int iright = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).right;
559                    NonTerminal i = (NonTerminal)((java_cup.runtime.Symbol) CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).value;
560                     RESULT = i; 
561                  CUP$ToolParser$result = new java_cup.runtime.Symbol(5/*block*/, ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).right, RESULT);
562                }
563              return CUP$ToolParser$result;
564    
565              /*. . . . . . . . . . . . . . . . . . . .*/
566              case 6: // block ::= conf_method 
567                {
568                  NonTerminal RESULT = null;
569                    int mleft = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).left;
570                    int mright = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).right;
571                    NonTerminal m = (NonTerminal)((java_cup.runtime.Symbol) CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).value;
572                     RESULT = m; 
573                  CUP$ToolParser$result = new java_cup.runtime.Symbol(5/*block*/, ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).right, RESULT);
574                }
575              return CUP$ToolParser$result;
576    
577              /*. . . . . . . . . . . . . . . . . . . .*/
578              case 5: // block ::= class_block 
579                {
580                  NonTerminal RESULT = null;
581                    int cleft = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).left;
582                    int cright = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).right;
583                    NonTerminal c = (NonTerminal)((java_cup.runtime.Symbol) CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).value;
584                     RESULT = c; 
585                  CUP$ToolParser$result = new java_cup.runtime.Symbol(5/*block*/, ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).right, RESULT);
586                }
587              return CUP$ToolParser$result;
588    
589              /*. . . . . . . . . . . . . . . . . . . .*/
590              case 4: // acc_real ::= block 
591                {
592                  NonTerminal RESULT = null;
593                    int bleft = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).left;
594                    int bright = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).right;
595                    NonTerminal b = (NonTerminal)((java_cup.runtime.Symbol) CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).value;
596                    
597                            RESULT = new NonTerminal("acc_real", new SyntaxElement[] {b} );
598                    
599                  CUP$ToolParser$result = new java_cup.runtime.Symbol(2/*acc_real*/, ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).right, RESULT);
600                }
601              return CUP$ToolParser$result;
602    
603              /*. . . . . . . . . . . . . . . . . . . .*/
604              case 3: // acc_real ::= acc_real block 
605                {
606                  NonTerminal RESULT = null;
607                    int lleft = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-1)).left;
608                    int lright = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-1)).right;
609                    NonTerminal l = (NonTerminal)((java_cup.runtime.Symbol) CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-1)).value;
610                    int bleft = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).left;
611                    int bright = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).right;
612                    NonTerminal b = (NonTerminal)((java_cup.runtime.Symbol) CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).value;
613                     if (b!=null) l.addChild(b); RESULT = l; 
614                  CUP$ToolParser$result = new java_cup.runtime.Symbol(2/*acc_real*/, ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-1)).left, ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).right, RESULT);
615                }
616              return CUP$ToolParser$result;
617    
618              /*. . . . . . . . . . . . . . . . . . . .*/
619              case 2: // acc ::= acc_real 
620                {
621                  NonTerminal RESULT = null;
622                    int lleft = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).left;
623                    int lright = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).right;
624                    NonTerminal l = (NonTerminal)((java_cup.runtime.Symbol) CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).value;
625                     RESULT = l; 
626                  CUP$ToolParser$result = new java_cup.runtime.Symbol(1/*acc*/, ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).right, RESULT);
627                }
628              return CUP$ToolParser$result;
629    
630              /*. . . . . . . . . . . . . . . . . . . .*/
631              case 1: // $START ::= acc EOF 
632                {
633                  Object RESULT = null;
634                    int start_valleft = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-1)).left;
635                    int start_valright = ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-1)).right;
636                    NonTerminal start_val = (NonTerminal)((java_cup.runtime.Symbol) CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-1)).value;
637                    RESULT = start_val;
638                  CUP$ToolParser$result = new java_cup.runtime.Symbol(0/*$START*/, ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-1)).left, ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).right, RESULT);
639                }
640              /* ACCEPT */
641              CUP$ToolParser$parser.done_parsing();
642              return CUP$ToolParser$result;
643    
644              /*. . . . . . . . . . . . . . . . . . . .*/
645              case 0: // acc ::= 
646                {
647                  NonTerminal RESULT = null;
648                     RESULT = new NonTerminal("EMPTY"); 
649                  CUP$ToolParser$result = new java_cup.runtime.Symbol(1/*acc*/, ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).right, ((java_cup.runtime.Symbol)CUP$ToolParser$stack.elementAt(CUP$ToolParser$top-0)).right, RESULT);
650                }
651              return CUP$ToolParser$result;
652    
653              /* . . . . . .*/
654              default:
655                throw new Exception(
656                   "Invalid action number found in internal parse table");
657    
658            }
659        }
660    }
661