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    import org.objectweb.jac.core.ImportStatement;
014    import org.objectweb.jac.util.ExtArrays;
015    
016    /** CUP v0.10k generated parser.
017      * @version Tue Apr 20 12:09:58 CEST 2004
018      */
019    public class AccParser extends java_cup.runtime.lr_parser {
020    
021      /** Default constructor. */
022      public AccParser() {super();}
023    
024      /** Constructor which sets the default scanner. */
025      public AccParser(java_cup.runtime.Scanner s) {super(s);}
026    
027      /** Production table. */
028      protected static final short _production_table[][] = 
029        unpackFromStrings(new String[] {
030        "\000\027\000\002\003\002\000\002\002\004\000\002\003" +
031        "\003\000\002\004\004\000\002\004\003\000\002\007\003" +
032        "\000\002\007\003\000\002\007\003\000\002\010\007\000" +
033        "\002\011\005\000\002\011\003\000\002\014\005\000\002" +
034        "\014\004\000\002\014\005\000\002\015\005\000\002\005" +
035        "\004\000\002\005\003\000\002\013\003\000\002\013\003" +
036        "\000\002\012\005\000\002\012\004\000\002\006\005\000" +
037        "\002\006\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\045\000\012\002\001\010\014\011\013\012\005\001" +
046        "\002\000\014\002\uffff\005\uffff\010\uffff\011\uffff\012\uffff" +
047        "\001\002\000\012\003\032\004\030\007\031\012\036\001" +
048        "\002\000\014\002\ufffa\005\ufffa\010\ufffa\011\ufffa\012\ufffa" +
049        "\001\002\000\014\002\ufffd\005\ufffd\010\ufffd\011\ufffd\012" +
050        "\ufffd\001\002\000\012\002\027\010\014\011\013\012\005" +
051        "\001\002\000\014\002\ufffb\005\ufffb\010\ufffb\011\ufffb\012" +
052        "\ufffb\001\002\000\014\002\ufffc\005\ufffc\010\ufffc\011\ufffc" +
053        "\012\ufffc\001\002\000\004\012\025\001\002\000\004\012" +
054        "\016\001\002\000\006\004\020\006\017\001\002\000\006" +
055        "\004\ufff7\006\ufff7\001\002\000\004\012\024\001\002\000" +
056        "\012\005\001\010\014\011\013\012\005\001\002\000\012" +
057        "\005\022\010\014\011\013\012\005\001\002\000\014\002" +
058        "\ufff9\005\ufff9\010\ufff9\011\ufff9\012\ufff9\001\002\000\014" +
059        "\002\ufffe\005\ufffe\010\ufffe\011\ufffe\012\ufffe\001\002\000" +
060        "\006\004\ufff8\006\ufff8\001\002\000\004\007\026\001\002" +
061        "\000\014\002\ufff3\005\ufff3\010\ufff3\011\ufff3\012\ufff3\001" +
062        "\002\000\004\002\000\001\002\000\010\004\030\005\043" +
063        "\012\036\001\002\000\014\002\ufff5\005\ufff5\010\ufff5\011" +
064        "\ufff5\012\ufff5\001\002\000\004\007\041\001\002\000\004" +
065        "\007\040\001\002\000\014\004\uffef\005\uffef\006\uffef\007" +
066        "\uffef\012\uffef\001\002\000\010\004\030\007\ufff1\012\036" +
067        "\001\002\000\014\004\ufff0\005\ufff0\006\ufff0\007\ufff0\012" +
068        "\ufff0\001\002\000\004\007\ufff2\001\002\000\014\002\ufff6" +
069        "\005\ufff6\010\ufff6\011\ufff6\012\ufff6\001\002\000\014\002" +
070        "\ufff4\005\ufff4\010\ufff4\011\ufff4\012\ufff4\001\002\000\006" +
071        "\005\046\006\045\001\002\000\014\004\uffed\005\uffed\006" +
072        "\uffed\007\uffed\012\uffed\001\002\000\006\005\uffeb\006\uffeb" +
073        "\001\002\000\006\004\030\012\036\001\002\000\014\004" +
074        "\uffee\005\uffee\006\uffee\007\uffee\012\uffee\001\002\000\006" +
075        "\005\uffec\006\uffec\001\002" });
076    
077      /** Access to parse-action table. */
078      public short[][] action_table() {return _action_table;}
079    
080      /** <code>reduce_goto</code> table. */
081      protected static final short[][] _reduce_table = 
082        unpackFromStrings(new String[] {
083        "\000\045\000\016\003\007\004\003\007\006\010\011\014" +
084        "\010\015\005\001\001\000\002\001\001\000\010\005\032" +
085        "\012\033\013\034\001\001\000\002\001\001\000\002\001" +
086        "\001\000\012\007\022\010\011\014\010\015\005\001\001" +
087        "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
088        "\004\011\014\001\001\000\002\001\001\000\002\001\001" +
089        "\000\002\001\001\000\016\003\020\004\003\007\006\010" +
090        "\011\014\010\015\005\001\001\000\012\007\022\010\011" +
091        "\014\010\015\005\001\001\000\002\001\001\000\002\001" +
092        "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
093        "\000\002\001\001\000\010\006\041\012\033\013\043\001" +
094        "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
095        "\000\002\001\001\000\010\005\036\012\033\013\034\001" +
096        "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
097        "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
098        "\002\001\001\000\006\012\033\013\046\001\001\000\002" +
099        "\001\001\000\002\001\001" });
100    
101      /** Access to <code>reduce_goto</code> table. */
102      public short[][] reduce_table() {return _reduce_table;}
103    
104      /** Instance of action encapsulation class. */
105      protected CUP$AccParser$actions action_obj;
106    
107      /** Action encapsulation object initializer. */
108      protected void init_actions()
109        {
110          action_obj = new CUP$AccParser$actions(this);
111        }
112    
113      /** Invoke a user supplied parse action. */
114      public java_cup.runtime.Symbol do_action(
115        int                        act_num,
116        java_cup.runtime.lr_parser parser,
117        java.util.Stack            stack,
118        int                        top)
119        throws java.lang.Exception
120      {
121        /* call code in generated class */
122        return action_obj.CUP$AccParser$do_action(act_num, parser, stack, top);
123      }
124    
125      /** Indicates start state. */
126      public int start_state() {return 0;}
127      /** Indicates start production. */
128      public int start_production() {return 1;}
129    
130      /** <code>EOF</code> Symbol index. */
131      public int EOF_sym() {return 0;}
132    
133      /** <code>error</code> Symbol index. */
134      public int error_sym() {return 1;}
135    
136    }
137    
138    /** Cup generated class to encapsulate user supplied action code.*/
139    class CUP$AccParser$actions {
140      private final AccParser parser;
141    
142      /** Constructor */
143      CUP$AccParser$actions(AccParser parser) {
144        this.parser = parser;
145      }
146    
147      /** Method with the actual generated action code. */
148      public final java_cup.runtime.Symbol CUP$AccParser$do_action(
149        int                        CUP$AccParser$act_num,
150        java_cup.runtime.lr_parser CUP$AccParser$parser,
151        java.util.Stack            CUP$AccParser$stack,
152        int                        CUP$AccParser$top)
153        throws java.lang.Exception
154        {
155          /* Symbol object for return from actions */
156          java_cup.runtime.Symbol CUP$AccParser$result;
157    
158          /* select the action based on the action number */
159          switch (CUP$AccParser$act_num)
160            {
161              /*. . . . . . . . . . . . . . . . . . . .*/
162              case 22: // value_list ::= value 
163                {
164                  Vector RESULT = null;
165                    int vleft = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).left;
166                    int vright = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right;
167                    Object v = (Object)((java_cup.runtime.Symbol) CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).value;
168                     RESULT = new Vector(); RESULT.add(v); 
169                  CUP$AccParser$result = new java_cup.runtime.Symbol(4/*value_list*/, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right, RESULT);
170                }
171              return CUP$AccParser$result;
172    
173              /*. . . . . . . . . . . . . . . . . . . .*/
174              case 21: // value_list ::= value_list COMMA value 
175                {
176                  Vector RESULT = null;
177                    int lleft = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-2)).left;
178                    int lright = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-2)).right;
179                    Vector l = (Vector)((java_cup.runtime.Symbol) CUP$AccParser$stack.elementAt(CUP$AccParser$top-2)).value;
180                    int vleft = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).left;
181                    int vright = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right;
182                    Object v = (Object)((java_cup.runtime.Symbol) CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).value;
183                     l.add(v); RESULT = l; 
184                  CUP$AccParser$result = new java_cup.runtime.Symbol(4/*value_list*/, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right, RESULT);
185                }
186              return CUP$AccParser$result;
187    
188              /*. . . . . . . . . . . . . . . . . . . .*/
189              case 20: // array_value ::= LBRACE RBRACE 
190                {
191                  Object[] RESULT = null;
192                     RESULT = ExtArrays.emptyObjectArray; 
193                  CUP$AccParser$result = new java_cup.runtime.Symbol(8/*array_value*/, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-1)).left, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right, RESULT);
194                }
195              return CUP$AccParser$result;
196    
197              /*. . . . . . . . . . . . . . . . . . . .*/
198              case 19: // array_value ::= LBRACE value_list RBRACE 
199                {
200                  Object[] RESULT = null;
201                    int lleft = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-1)).left;
202                    int lright = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-1)).right;
203                    Vector l = (Vector)((java_cup.runtime.Symbol) CUP$AccParser$stack.elementAt(CUP$AccParser$top-1)).value;
204                     RESULT = l.toArray(); 
205                  CUP$AccParser$result = new java_cup.runtime.Symbol(8/*array_value*/, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right, RESULT);
206                }
207              return CUP$AccParser$result;
208    
209              /*. . . . . . . . . . . . . . . . . . . .*/
210              case 18: // value ::= array_value 
211                {
212                  Object RESULT = null;
213                    int vleft = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).left;
214                    int vright = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right;
215                    Object[] v = (Object[])((java_cup.runtime.Symbol) CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).value;
216                     RESULT = v; 
217                  CUP$AccParser$result = new java_cup.runtime.Symbol(9/*value*/, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right, RESULT);
218                }
219              return CUP$AccParser$result;
220    
221              /*. . . . . . . . . . . . . . . . . . . .*/
222              case 17: // value ::= ATOMIC_VALUE 
223                {
224                  Object RESULT = null;
225                    int vleft = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).left;
226                    int vright = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right;
227                    String v = (String)((java_cup.runtime.Symbol) CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).value;
228                     RESULT = v; 
229                  CUP$AccParser$result = new java_cup.runtime.Symbol(9/*value*/, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right, RESULT);
230                }
231              return CUP$AccParser$result;
232    
233              /*. . . . . . . . . . . . . . . . . . . .*/
234              case 16: // args ::= value 
235                {
236                  Vector RESULT = null;
237                    int vleft = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).left;
238                    int vright = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right;
239                    Object v = (Object)((java_cup.runtime.Symbol) CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).value;
240                     RESULT = new Vector(); RESULT.add(v); 
241                  CUP$AccParser$result = new java_cup.runtime.Symbol(3/*args*/, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right, RESULT);
242                }
243              return CUP$AccParser$result;
244    
245              /*. . . . . . . . . . . . . . . . . . . .*/
246              case 15: // args ::= value args 
247                {
248                  Vector RESULT = null;
249                    int vleft = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-1)).left;
250                    int vright = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-1)).right;
251                    Object v = (Object)((java_cup.runtime.Symbol) CUP$AccParser$stack.elementAt(CUP$AccParser$top-1)).value;
252                    int lleft = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).left;
253                    int lright = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right;
254                    Vector l = (Vector)((java_cup.runtime.Symbol) CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).value;
255                     l.add(0,v); RESULT = l; 
256                  CUP$AccParser$result = new java_cup.runtime.Symbol(3/*args*/, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-1)).left, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right, RESULT);
257                }
258              return CUP$AccParser$result;
259    
260              /*. . . . . . . . . . . . . . . . . . . .*/
261              case 14: // import_statement ::= IMPORT ATOMIC_VALUE EOL 
262                {
263                  ImportStatement RESULT = null;
264                    int mleft = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-1)).left;
265                    int mright = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-1)).right;
266                    String m = (String)((java_cup.runtime.Symbol) CUP$AccParser$stack.elementAt(CUP$AccParser$top-1)).value;
267                     RESULT = new ImportStatement(m,((AccScanner)parser.getScanner()).getLine()); 
268                  CUP$AccParser$result = new java_cup.runtime.Symbol(11/*import_statement*/, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right, RESULT);
269                }
270              return CUP$AccParser$result;
271    
272              /*. . . . . . . . . . . . . . . . . . . .*/
273              case 13: // conf_method ::= ATOMIC_VALUE error EOL 
274                {
275                  ConfigMethod RESULT = null;
276                    int mleft = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-2)).left;
277                    int mright = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-2)).right;
278                    String m = (String)((java_cup.runtime.Symbol) CUP$AccParser$stack.elementAt(CUP$AccParser$top-2)).value;
279                    int errleft = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-1)).left;
280                    int errright = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-1)).right;
281                    Object err = (Object)((java_cup.runtime.Symbol) CUP$AccParser$stack.elementAt(CUP$AccParser$top-1)).value;
282                    int eleft = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).left;
283                    int eright = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right;
284                    Object e = (Object)((java_cup.runtime.Symbol) CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).value;
285                     
286                            RESULT = null;
287                    
288                  CUP$AccParser$result = new java_cup.runtime.Symbol(10/*conf_method*/, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right, RESULT);
289                }
290              return CUP$AccParser$result;
291    
292              /*. . . . . . . . . . . . . . . . . . . .*/
293              case 12: // conf_method ::= ATOMIC_VALUE EOL 
294                {
295                  ConfigMethod RESULT = null;
296                    int mleft = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-1)).left;
297                    int mright = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-1)).right;
298                    String m = (String)((java_cup.runtime.Symbol) CUP$AccParser$stack.elementAt(CUP$AccParser$top-1)).value;
299                     
300                            AccScanner scanner = (AccScanner)parser.getScanner();
301                            RESULT = new ConfigMethod(m,ExtArrays.emptyObjectArray,
302                                                      scanner.getLine());
303                    
304                  CUP$AccParser$result = new java_cup.runtime.Symbol(10/*conf_method*/, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-1)).left, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right, RESULT);
305                }
306              return CUP$AccParser$result;
307    
308              /*. . . . . . . . . . . . . . . . . . . .*/
309              case 11: // conf_method ::= ATOMIC_VALUE args EOL 
310                {
311                  ConfigMethod RESULT = null;
312                    int mleft = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-2)).left;
313                    int mright = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-2)).right;
314                    String m = (String)((java_cup.runtime.Symbol) CUP$AccParser$stack.elementAt(CUP$AccParser$top-2)).value;
315                    int aleft = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-1)).left;
316                    int aright = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-1)).right;
317                    Vector a = (Vector)((java_cup.runtime.Symbol) CUP$AccParser$stack.elementAt(CUP$AccParser$top-1)).value;
318                            
319                            AccScanner scanner = (AccScanner)parser.getScanner();
320                            RESULT = new ConfigMethod(m,a.toArray(),
321                                                      scanner.getLine()); 
322                    
323                  CUP$AccParser$result = new java_cup.runtime.Symbol(10/*conf_method*/, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right, RESULT);
324                }
325              return CUP$AccParser$result;
326    
327              /*. . . . . . . . . . . . . . . . . . . .*/
328              case 10: // block_params ::= ATOMIC_VALUE 
329                {
330                  Vector RESULT = null;
331                    int vleft = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).left;
332                    int vright = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right;
333                    String v = (String)((java_cup.runtime.Symbol) CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).value;
334                     RESULT = new Vector(); RESULT.add(v); 
335                  CUP$AccParser$result = new java_cup.runtime.Symbol(7/*block_params*/, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right, RESULT);
336                }
337              return CUP$AccParser$result;
338    
339              /*. . . . . . . . . . . . . . . . . . . .*/
340              case 9: // block_params ::= block_params COMMA ATOMIC_VALUE 
341                {
342                  Vector RESULT = null;
343                    int lleft = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-2)).left;
344                    int lright = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-2)).right;
345                    Vector l = (Vector)((java_cup.runtime.Symbol) CUP$AccParser$stack.elementAt(CUP$AccParser$top-2)).value;
346                    int vleft = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).left;
347                    int vright = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right;
348                    String v = (String)((java_cup.runtime.Symbol) CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).value;
349                     l.add(v); RESULT = l; 
350                  CUP$AccParser$result = new java_cup.runtime.Symbol(7/*block_params*/, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right, RESULT);
351                }
352              return CUP$AccParser$result;
353    
354              /*. . . . . . . . . . . . . . . . . . . .*/
355              case 8: // class_block ::= CLASS block_params LBRACE acc RBRACE 
356                {
357                  Vector RESULT = null;
358                    int cleft = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-3)).left;
359                    int cright = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-3)).right;
360                    Vector c = (Vector)((java_cup.runtime.Symbol) CUP$AccParser$stack.elementAt(CUP$AccParser$top-3)).value;
361                    int lleft = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-1)).left;
362                    int lright = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-1)).right;
363                    Vector l = (Vector)((java_cup.runtime.Symbol) CUP$AccParser$stack.elementAt(CUP$AccParser$top-1)).value;
364                     
365                            RESULT = new Vector(); 
366                            for(int i=0; i<l.size(); i++) {      
367                                    Object[] args = ((ConfigMethod)l.get(i)).getArgs();
368                                    for (int k=0; k<c.size(); k++) {
369                                            ConfigMethod cm = (ConfigMethod)((ConfigMethod)l.get(i)).clone();
370                                            Object[] new_args = new Object[args.length+1];
371                                            new_args[0] = c.get(k);
372                                            for(int j=0; j<args.length; j++) {
373                                                    new_args[j+1] = args[j];
374                                            }
375                                            cm.setArgs(new_args);
376                                            RESULT.add(cm);
377                                    }
378                            }
379                    
380                  CUP$AccParser$result = new java_cup.runtime.Symbol(6/*class_block*/, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-4)).left, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right, RESULT);
381                }
382              return CUP$AccParser$result;
383    
384              /*. . . . . . . . . . . . . . . . . . . .*/
385              case 7: // block ::= import_statement 
386                {
387                  Vector RESULT = null;
388                    int ileft = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).left;
389                    int iright = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right;
390                    ImportStatement i = (ImportStatement)((java_cup.runtime.Symbol) CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).value;
391                     RESULT = new Vector(); RESULT.add(i); 
392                  CUP$AccParser$result = new java_cup.runtime.Symbol(5/*block*/, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right, RESULT);
393                }
394              return CUP$AccParser$result;
395    
396              /*. . . . . . . . . . . . . . . . . . . .*/
397              case 6: // block ::= conf_method 
398                {
399                  Vector RESULT = null;
400                    int mleft = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).left;
401                    int mright = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right;
402                    ConfigMethod m = (ConfigMethod)((java_cup.runtime.Symbol) CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).value;
403                     RESULT = new Vector(); RESULT.add(m); 
404                  CUP$AccParser$result = new java_cup.runtime.Symbol(5/*block*/, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right, RESULT);
405                }
406              return CUP$AccParser$result;
407    
408              /*. . . . . . . . . . . . . . . . . . . .*/
409              case 5: // block ::= class_block 
410                {
411                  Vector RESULT = null;
412                    int cleft = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).left;
413                    int cright = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right;
414                    Vector c = (Vector)((java_cup.runtime.Symbol) CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).value;
415                     RESULT = c; 
416                  CUP$AccParser$result = new java_cup.runtime.Symbol(5/*block*/, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right, RESULT);
417                }
418              return CUP$AccParser$result;
419    
420              /*. . . . . . . . . . . . . . . . . . . .*/
421              case 4: // acc_real ::= block 
422                {
423                  Vector RESULT = null;
424                    int bleft = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).left;
425                    int bright = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right;
426                    Vector b = (Vector)((java_cup.runtime.Symbol) CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).value;
427                     RESULT = b; 
428                  CUP$AccParser$result = new java_cup.runtime.Symbol(2/*acc_real*/, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right, RESULT);
429                }
430              return CUP$AccParser$result;
431    
432              /*. . . . . . . . . . . . . . . . . . . .*/
433              case 3: // acc_real ::= acc block 
434                {
435                  Vector RESULT = null;
436                    int lleft = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-1)).left;
437                    int lright = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-1)).right;
438                    Vector l = (Vector)((java_cup.runtime.Symbol) CUP$AccParser$stack.elementAt(CUP$AccParser$top-1)).value;
439                    int bleft = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).left;
440                    int bright = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right;
441                    Vector b = (Vector)((java_cup.runtime.Symbol) CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).value;
442                     if (b!=null) l.addAll(b); RESULT = l; 
443                  CUP$AccParser$result = new java_cup.runtime.Symbol(2/*acc_real*/, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-1)).left, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right, RESULT);
444                }
445              return CUP$AccParser$result;
446    
447              /*. . . . . . . . . . . . . . . . . . . .*/
448              case 2: // acc ::= acc_real 
449                {
450                  Vector RESULT = null;
451                    int lleft = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).left;
452                    int lright = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right;
453                    Vector l = (Vector)((java_cup.runtime.Symbol) CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).value;
454                     RESULT = l; 
455                  CUP$AccParser$result = new java_cup.runtime.Symbol(1/*acc*/, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right, RESULT);
456                }
457              return CUP$AccParser$result;
458    
459              /*. . . . . . . . . . . . . . . . . . . .*/
460              case 1: // $START ::= acc EOF 
461                {
462                  Object RESULT = null;
463                    int start_valleft = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-1)).left;
464                    int start_valright = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-1)).right;
465                    Vector start_val = (Vector)((java_cup.runtime.Symbol) CUP$AccParser$stack.elementAt(CUP$AccParser$top-1)).value;
466                    RESULT = start_val;
467                  CUP$AccParser$result = new java_cup.runtime.Symbol(0/*$START*/, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-1)).left, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right, RESULT);
468                }
469              /* ACCEPT */
470              CUP$AccParser$parser.done_parsing();
471              return CUP$AccParser$result;
472    
473              /*. . . . . . . . . . . . . . . . . . . .*/
474              case 0: // acc ::= 
475                {
476                  Vector RESULT = null;
477                     RESULT = new Vector(); 
478                  CUP$AccParser$result = new java_cup.runtime.Symbol(1/*acc*/, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right, RESULT);
479                }
480              return CUP$AccParser$result;
481    
482              /* . . . . . .*/
483              default:
484                throw new Exception(
485                   "Invalid action number found in internal parse table");
486    
487            }
488        }
489    }
490