34802a246f58b2387adf88290d6af47d846475fe
[iot2.git] / iotjava / iotpolicy / parser / Parser.java
1
2 //----------------------------------------------------
3 // The following code was generated by CUP v0.11b 20160615 (GIT 4ac7450)
4 //----------------------------------------------------
5 package iotpolicy.parser;
6
7 import java_cup.runtime.ComplexSymbolFactory;
8 import java_cup.runtime.ScannerBuffer;
9 import java_cup.runtime.XMLElement;
10 import javax.xml.stream.XMLOutputFactory;
11 import javax.xml.stream.XMLStreamWriter;
12 import java.io.*;
13 import javax.xml.transform.*;
14 import javax.xml.transform.stream.*;
15 import java_cup.runtime.XMLElement;
16
17 import iotpolicy.tree.ParseNode;
18
19 /** CUP v0.11b 20160615 (GIT 4ac7450) generated parser.
20   */
21 @SuppressWarnings({"rawtypes"})
22 public class Parser extends java_cup.runtime.lr_parser {
23
24  public final Class getSymbolContainer() {
25     return sym.class;
26 }
27
28   /** Default constructor. */
29   @Deprecated
30   public Parser() {super();}
31
32   /** Constructor which sets the default scanner. */
33   @Deprecated
34   public Parser(java_cup.runtime.Scanner s) {super(s);}
35
36   /** Constructor which sets the default scanner. */
37   public Parser(java_cup.runtime.Scanner s, java_cup.runtime.SymbolFactory sf) {super(s,sf);}
38
39   /** Production table. */
40   protected static final short _production_table[][] = 
41     unpackFromStrings(new String[] {
42     "\000\047\000\002\002\003\000\002\002\004\000\002\002" +
43     "\003\000\002\003\011\000\002\004\004\000\002\004\002" +
44     "\000\002\005\011\000\002\005\011\000\002\006\004\000" +
45     "\002\006\002\000\002\007\005\000\002\007\004\000\002" +
46     "\007\005\000\002\007\004\000\002\007\007\000\002\007" +
47     "\007\000\002\007\011\000\002\007\011\000\002\007\011" +
48     "\000\002\007\011\000\002\007\010\000\002\007\010\000" +
49     "\002\007\012\000\002\007\012\000\002\007\012\000\002" +
50     "\007\012\000\002\010\004\000\002\010\002\000\002\011" +
51     "\007\000\002\012\004\000\002\012\002\000\002\013\006" +
52     "\000\002\013\006\000\002\014\004\000\002\014\002\000" +
53     "\002\015\012\000\002\016\003\000\002\016\005\000\002" +
54     "\016\002" });
55
56   /** Access to production table. */
57   public short[][] production_table() {return _production_table;}
58
59   /** Parse-action table. */
60   protected static final short[][] _action_table = 
61     unpackFromStrings(new String[] {
62     "\000\127\000\010\002\uffdf\015\006\022\uffdf\001\002\000" +
63     "\004\002\001\001\002\000\006\002\uffff\022\117\001\002" +
64     "\000\004\016\011\001\002\000\004\002\010\001\002\000" +
65     "\004\002\000\001\002\000\004\026\012\001\002\000\004" +
66     "\012\013\001\002\000\010\013\ufffc\015\ufffc\017\ufffc\001" +
67     "\002\000\010\013\uffe6\015\016\017\uffe6\001\002\000\010" +
68     "\013\ufffd\015\ufffd\017\ufffd\001\002\000\006\025\041\026" +
69     "\040\001\002\000\006\013\022\017\021\001\002\000\006" +
70     "\013\uffe7\017\uffe7\001\002\000\004\026\023\001\002\000" +
71     "\004\002\ufffe\001\002\000\004\012\024\001\002\000\010" +
72     "\013\uffe3\020\uffe3\021\uffe3\001\002\000\010\013\030\020" +
73     "\027\021\031\001\002\000\010\013\uffe4\020\uffe4\021\uffe4" +
74     "\001\002\000\004\014\035\001\002\000\006\013\uffe5\017" +
75     "\uffe5\001\002\000\004\014\032\001\002\000\004\027\033" +
76     "\001\002\000\004\004\034\001\002\000\010\013\uffe1\020" +
77     "\uffe1\021\uffe1\001\002\000\004\027\036\001\002\000\004" +
78     "\004\037\001\002\000\010\013\uffe2\020\uffe2\021\uffe2\001" +
79     "\002\000\004\026\111\001\002\000\004\026\042\001\002" +
80     "\000\004\006\043\001\002\000\010\007\ufff8\025\ufff8\026" +
81     "\ufff8\001\002\000\010\007\046\025\050\026\045\001\002" +
82     "\000\006\010\054\026\055\001\002\000\004\004\053\001" +
83     "\002\000\010\007\ufff9\025\ufff9\026\ufff9\001\002\000\004" +
84     "\026\051\001\002\000\012\005\052\007\ufff6\025\ufff6\026" +
85     "\ufff6\001\002\000\010\007\ufff7\025\ufff7\026\ufff7\001\002" +
86     "\000\010\013\ufffb\015\ufffb\017\ufffb\001\002\000\006\025" +
87     "\060\026\057\001\002\000\012\005\056\007\ufff4\025\ufff4" +
88     "\026\ufff4\001\002\000\010\007\ufff5\025\ufff5\026\ufff5\001" +
89     "\002\000\006\005\075\011\076\001\002\000\006\005\061" +
90     "\011\062\001\002\000\006\025\066\026\065\001\002\000" +
91     "\004\026\063\001\002\000\012\005\064\007\ufff3\025\ufff3" +
92     "\026\ufff3\001\002\000\010\007\uffed\025\uffed\026\uffed\001" +
93     "\002\000\004\011\072\001\002\000\004\011\067\001\002" +
94     "\000\004\026\070\001\002\000\012\005\071\007\ufff1\025" +
95     "\ufff1\026\ufff1\001\002\000\010\007\uffeb\025\uffeb\026\uffeb" +
96     "\001\002\000\004\026\073\001\002\000\012\005\074\007" +
97     "\ufff0\025\ufff0\026\ufff0\001\002\000\010\007\uffea\025\uffea" +
98     "\026\uffea\001\002\000\006\025\102\026\101\001\002\000" +
99     "\004\026\077\001\002\000\012\005\100\007\ufff2\025\ufff2" +
100     "\026\ufff2\001\002\000\010\007\uffec\025\uffec\026\uffec\001" +
101     "\002\000\004\011\106\001\002\000\004\011\103\001\002" +
102     "\000\004\026\104\001\002\000\012\005\105\007\uffef\025" +
103     "\uffef\026\uffef\001\002\000\010\007\uffe9\025\uffe9\026\uffe9" +
104     "\001\002\000\004\026\107\001\002\000\012\005\110\007" +
105     "\uffee\025\uffee\026\uffee\001\002\000\010\007\uffe8\025\uffe8" +
106     "\026\uffe8\001\002\000\004\006\112\001\002\000\010\007" +
107     "\ufff8\025\ufff8\026\ufff8\001\002\000\010\007\114\025\050" +
108     "\026\045\001\002\000\004\004\115\001\002\000\010\013" +
109     "\ufffa\015\ufffa\017\ufffa\001\002\000\006\002\uffe0\022\uffe0" +
110     "\001\002\000\004\026\120\001\002\000\004\023\121\001" +
111     "\002\000\010\005\uffdb\024\uffdb\026\122\001\002\000\006" +
112     "\005\uffdd\024\uffdd\001\002\000\006\005\124\024\125\001" +
113     "\002\000\004\026\131\001\002\000\004\016\126\001\002" +
114     "\000\004\026\127\001\002\000\004\004\130\001\002\000" +
115     "\006\002\uffde\022\uffde\001\002\000\006\005\uffdc\024\uffdc" +
116     "\001\002" });
117
118   /** Access to parse-action table. */
119   public short[][] action_table() {return _action_table;}
120
121   /** <code>reduce_goto</code> table. */
122   protected static final short[][] _reduce_table = 
123     unpackFromStrings(new String[] {
124     "\000\127\000\010\002\006\003\003\014\004\001\001\000" +
125     "\002\001\001\000\004\015\115\001\001\000\002\001\001" +
126     "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
127     "\002\001\001\000\004\004\013\001\001\000\006\005\014" +
128     "\010\016\001\001\000\002\001\001\000\002\001\001\000" +
129     "\004\011\017\001\001\000\002\001\001\000\002\001\001" +
130     "\000\002\001\001\000\002\001\001\000\004\012\024\001" +
131     "\001\000\004\013\025\001\001\000\002\001\001\000\002" +
132     "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
133     "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
134     "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
135     "\002\001\001\000\002\001\001\000\004\006\043\001\001" +
136     "\000\004\007\046\001\001\000\002\001\001\000\002\001" +
137     "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
138     "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
139     "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
140     "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
141     "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
142     "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
143     "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
144     "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
145     "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
146     "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
147     "\002\001\001\000\002\001\001\000\002\001\001\000\004" +
148     "\006\112\001\001\000\004\007\046\001\001\000\002\001" +
149     "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
150     "\000\002\001\001\000\004\016\122\001\001\000\002\001" +
151     "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
152     "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
153     "\002\001\001" });
154
155   /** Access to <code>reduce_goto</code> table. */
156   public short[][] reduce_table() {return _reduce_table;}
157
158   /** Instance of action encapsulation class. */
159   protected CUP$Parser$actions action_obj;
160
161   /** Action encapsulation object initializer. */
162   protected void init_actions()
163     {
164       action_obj = new CUP$Parser$actions(this);
165     }
166
167   /** Invoke a user supplied parse action. */
168   public java_cup.runtime.Symbol do_action(
169     int                        act_num,
170     java_cup.runtime.lr_parser parser,
171     java.util.Stack            stack,
172     int                        top)
173     throws java.lang.Exception
174   {
175     /* call code in generated class */
176     return action_obj.CUP$Parser$do_action(act_num, parser, stack, top);
177   }
178
179   /** Indicates start state. */
180   public int start_state() {return 0;}
181   /** Indicates start production. */
182   public int start_production() {return 1;}
183
184   /** <code>EOF</code> Symbol index. */
185   public int EOF_sym() {return 0;}
186
187   /** <code>error</code> Symbol index. */
188   public int error_sym() {return 1;}
189
190
191
192   public Parser(Lexer lex, ComplexSymbolFactory sf) {
193     super(lex,sf);
194   }
195   public static void main(String[] args) throws Exception {
196       // initialize the symbol factory
197       ComplexSymbolFactory csf = new ComplexSymbolFactory();
198       // create a buffering scanner wrapper
199       ScannerBuffer lexer = new ScannerBuffer(new Lexer(new BufferedReader(new FileReader(args[0])),csf));
200       // start parsing
201       Parser p = new Parser(lexer,csf);
202       ParseNode pn = (ParseNode) p.parse().value;
203   }
204
205
206 /** Cup generated class to encapsulate user supplied action code.*/
207 @SuppressWarnings({"rawtypes", "unchecked", "unused"})
208 class CUP$Parser$actions {
209   private final Parser parser;
210
211   /** Constructor */
212   CUP$Parser$actions(Parser parser) {
213     this.parser = parser;
214   }
215
216   /** Method 0 with the actual generated action code for actions 0 to 300. */
217   public final java_cup.runtime.Symbol CUP$Parser$do_action_part00000000(
218     int                        CUP$Parser$act_num,
219     java_cup.runtime.lr_parser CUP$Parser$parser,
220     java.util.Stack            CUP$Parser$stack,
221     int                        CUP$Parser$top)
222     throws java.lang.Exception
223     {
224       /* Symbol object for return from actions */
225       java_cup.runtime.Symbol CUP$Parser$result;
226
227       /* select the action based on the action number */
228       switch (CUP$Parser$act_num)
229         {
230           /*. . . . . . . . . . . . . . . . . . . .*/
231           case 0: // policy ::= intface 
232             {
233               ParseNode RESULT =null;
234                 int inleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
235                 int inright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
236                 ParseNode in = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
237                 
238                 ParseNode pn = new ParseNode("policy");
239                 pn.addChild(in);
240                 RESULT = pn;
241         
242               CUP$Parser$result = parser.getSymbolFactory().newSymbol("policy",0, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
243             }
244           return CUP$Parser$result;
245
246           /*. . . . . . . . . . . . . . . . . . . .*/
247           case 1: // $START ::= policy EOF 
248             {
249               Object RESULT =null;
250                 int start_valleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
251                 int start_valright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
252                 ParseNode start_val = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
253                 RESULT = start_val;
254               CUP$Parser$result = parser.getSymbolFactory().newSymbol("$START",0, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
255             }
256           /* ACCEPT */
257           CUP$Parser$parser.done_parsing();
258           return CUP$Parser$result;
259
260           /*. . . . . . . . . . . . . . . . . . . .*/
261           case 2: // policy ::= reqlist 
262             {
263               ParseNode RESULT =null;
264                 int rlleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
265                 int rlright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
266                 ParseNode rl = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
267                 
268                 ParseNode pn = new ParseNode("policy");
269                 pn.addChild(rl);
270                 RESULT = pn;
271         
272               CUP$Parser$result = parser.getSymbolFactory().newSymbol("policy",0, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
273             }
274           return CUP$Parser$result;
275
276           /*. . . . . . . . . . . . . . . . . . . .*/
277           case 3: // intface ::= PUBLIC INTERFACE IDENT BEGIN methlist capablist END 
278             {
279               ParseNode RESULT =null;
280                 int idintleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
281                 int idintright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
282                 Object idint = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
283                 int mlleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
284                 int mlright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
285                 ParseNode ml = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
286                 int clleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
287                 int clright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
288                 ParseNode cl = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
289                 
290                 ParseNode pn = new ParseNode("interface");
291                 pn.addChild("intface_ident").setLiteral(idint);
292                 pn.addChild(ml);
293                 pn.addChild(cl);
294                 RESULT = pn;
295         
296               CUP$Parser$result = parser.getSymbolFactory().newSymbol("intface",1, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
297             }
298           return CUP$Parser$result;
299
300           /*. . . . . . . . . . . . . . . . . . . .*/
301           case 4: // methlist ::= methlist meth 
302             {
303               ParseNode RESULT =null;
304                 int mlleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
305                 int mlright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
306                 ParseNode ml = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
307                 int mleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
308                 int mright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
309                 ParseNode m = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
310                 
311                 ml.addChild(m);
312                 RESULT = ml;
313         
314               CUP$Parser$result = parser.getSymbolFactory().newSymbol("methlist",2, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
315             }
316           return CUP$Parser$result;
317
318           /*. . . . . . . . . . . . . . . . . . . .*/
319           case 5: // methlist ::= 
320             {
321               ParseNode RESULT =null;
322                 
323                 ParseNode pn = new ParseNode("method_list");
324                 RESULT = pn;
325         
326               CUP$Parser$result = parser.getSymbolFactory().newSymbol("methlist",2, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
327             }
328           return CUP$Parser$result;
329
330           /*. . . . . . . . . . . . . . . . . . . .*/
331           case 6: // meth ::= PUBLIC TYPE IDENT LPAR paramlist RPAR SEMICOLON 
332             {
333               ParseNode RESULT =null;
334                 int typemethleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
335                 int typemethright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
336                 Object typemeth = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
337                 int idmethleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
338                 int idmethright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
339                 Object idmeth = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
340                 int plleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
341                 int plright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
342                 ParseNode pl = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
343                 
344                 ParseNode pn = new ParseNode("method");
345                 pn.addChild("method_type").setLiteral(typemeth);
346                 pn.addChild("method_ident").setLiteral(idmeth);
347                 pn.addChild(pl);
348                 RESULT = pn;
349         
350               CUP$Parser$result = parser.getSymbolFactory().newSymbol("meth",3, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
351             }
352           return CUP$Parser$result;
353
354           /*. . . . . . . . . . . . . . . . . . . .*/
355           case 7: // meth ::= PUBLIC IDENT IDENT LPAR paramlist RPAR SEMICOLON 
356             {
357               ParseNode RESULT =null;
358                 int clsmethleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
359                 int clsmethright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
360                 Object clsmeth = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
361                 int idmethleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
362                 int idmethright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
363                 Object idmeth = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
364                 int plleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
365                 int plright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
366                 ParseNode pl = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
367                 
368                 ParseNode pn = new ParseNode("method");
369                 pn.addChild("method_class").setLiteral(clsmeth);
370                 pn.addChild("method_ident").setLiteral(idmeth);
371                 pn.addChild(pl);
372                 RESULT = pn;
373         
374               CUP$Parser$result = parser.getSymbolFactory().newSymbol("meth",3, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
375             }
376           return CUP$Parser$result;
377
378           /*. . . . . . . . . . . . . . . . . . . .*/
379           case 8: // paramlist ::= paramlist param 
380             {
381               ParseNode RESULT =null;
382                 int plleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
383                 int plright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
384                 ParseNode pl = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
385                 int pleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
386                 int pright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
387                 ParseNode p = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
388                 
389                 pl.addChild(p);
390                 RESULT = pl;
391         
392               CUP$Parser$result = parser.getSymbolFactory().newSymbol("paramlist",4, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
393             }
394           return CUP$Parser$result;
395
396           /*. . . . . . . . . . . . . . . . . . . .*/
397           case 9: // paramlist ::= 
398             {
399               ParseNode RESULT =null;
400                 
401                 ParseNode pn = new ParseNode("param_list");
402                 RESULT = pn;
403         
404               CUP$Parser$result = parser.getSymbolFactory().newSymbol("paramlist",4, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
405             }
406           return CUP$Parser$result;
407
408           /*. . . . . . . . . . . . . . . . . . . .*/
409           case 10: // param ::= TYPE IDENT COMMA 
410             {
411               ParseNode RESULT =null;
412                 int typeprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
413                 int typeprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
414                 Object typeprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
415                 int idprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
416                 int idprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
417                 Object idprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
418                 
419                 ParseNode pn = new ParseNode("param");
420                 pn.addChild("param_type").setLiteral(typeprm);
421                 pn.addChild("param_ident").setLiteral(idprm);
422                 RESULT = pn;
423         
424               CUP$Parser$result = parser.getSymbolFactory().newSymbol("param",5, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
425             }
426           return CUP$Parser$result;
427
428           /*. . . . . . . . . . . . . . . . . . . .*/
429           case 11: // param ::= TYPE IDENT 
430             {
431               ParseNode RESULT =null;
432                 int typeprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
433                 int typeprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
434                 Object typeprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
435                 int idprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
436                 int idprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
437                 Object idprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
438                 
439                 ParseNode pn = new ParseNode("param");
440                 pn.addChild("param_type").setLiteral(typeprm);
441                 pn.addChild("param_ident").setLiteral(idprm);
442                 RESULT = pn;
443         
444               CUP$Parser$result = parser.getSymbolFactory().newSymbol("param",5, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
445             }
446           return CUP$Parser$result;
447
448           /*. . . . . . . . . . . . . . . . . . . .*/
449           case 12: // param ::= IDENT IDENT COMMA 
450             {
451               ParseNode RESULT =null;
452                 int clsprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
453                 int clsprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
454                 Object clsprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
455                 int idprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
456                 int idprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
457                 Object idprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
458                 
459                 ParseNode pn = new ParseNode("param");
460                 pn.addChild("param_class").setLiteral(clsprm);
461                 pn.addChild("param_ident").setLiteral(idprm);
462                 RESULT = pn;
463         
464               CUP$Parser$result = parser.getSymbolFactory().newSymbol("param",5, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
465             }
466           return CUP$Parser$result;
467
468           /*. . . . . . . . . . . . . . . . . . . .*/
469           case 13: // param ::= IDENT IDENT 
470             {
471               ParseNode RESULT =null;
472                 int clsprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
473                 int clsprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
474                 Object clsprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
475                 int idprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
476                 int idprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
477                 Object idprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
478                 
479                 ParseNode pn = new ParseNode("param");
480                 pn.addChild("param_class").setLiteral(clsprm);
481                 pn.addChild("param_ident").setLiteral(idprm);
482                 RESULT = pn;
483         
484               CUP$Parser$result = parser.getSymbolFactory().newSymbol("param",5, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
485             }
486           return CUP$Parser$result;
487
488           /*. . . . . . . . . . . . . . . . . . . .*/
489           case 14: // param ::= IDENT LANG TYPE RANG IDENT 
490             {
491               ParseNode RESULT =null;
492                 int clsprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
493                 int clsprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
494                 Object clsprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
495                 int typegenleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
496                 int typegenright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
497                 Object typegen = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
498                 int idprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
499                 int idprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
500                 Object idprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
501                 
502                 ParseNode pn = new ParseNode("param");
503                 pn.addChild("param_class").setLiteral((String)clsprm + "<" + typegen + ">");
504                 pn.addChild("param_ident").setLiteral(idprm);
505                 RESULT = pn;
506         
507               CUP$Parser$result = parser.getSymbolFactory().newSymbol("param",5, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
508             }
509           return CUP$Parser$result;
510
511           /*. . . . . . . . . . . . . . . . . . . .*/
512           case 15: // param ::= IDENT LANG IDENT RANG IDENT 
513             {
514               ParseNode RESULT =null;
515                 int clsprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
516                 int clsprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
517                 Object clsprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
518                 int clsgenleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
519                 int clsgenright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
520                 Object clsgen = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
521                 int idprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
522                 int idprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
523                 Object idprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
524                 
525                 ParseNode pn = new ParseNode("param");
526                 pn.addChild("param_class").setLiteral((String)clsprm + "<" + clsgen + ">");
527                 pn.addChild("param_ident").setLiteral(idprm);
528                 RESULT = pn;
529         
530               CUP$Parser$result = parser.getSymbolFactory().newSymbol("param",5, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
531             }
532           return CUP$Parser$result;
533
534           /*. . . . . . . . . . . . . . . . . . . .*/
535           case 16: // param ::= IDENT LANG TYPE COMMA TYPE RANG IDENT 
536             {
537               ParseNode RESULT =null;
538                 int clsprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).left;
539                 int clsprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).right;
540                 Object clsprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-6)).value;
541                 int typegen1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
542                 int typegen1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
543                 Object typegen1 = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
544                 int typegen2left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
545                 int typegen2right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
546                 Object typegen2 = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
547                 int idprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
548                 int idprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
549                 Object idprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
550                 
551                 ParseNode pn = new ParseNode("param");
552                 pn.addChild("param_class").setLiteral((String)clsprm 
553                         + "<" + typegen1 + "," + typegen2 + ">");
554                 pn.addChild("param_ident").setLiteral(idprm);
555                 RESULT = pn;
556         
557               CUP$Parser$result = parser.getSymbolFactory().newSymbol("param",5, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
558             }
559           return CUP$Parser$result;
560
561           /*. . . . . . . . . . . . . . . . . . . .*/
562           case 17: // param ::= IDENT LANG TYPE COMMA IDENT RANG IDENT 
563             {
564               ParseNode RESULT =null;
565                 int clsprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).left;
566                 int clsprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).right;
567                 Object clsprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-6)).value;
568                 int typegenleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
569                 int typegenright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
570                 Object typegen = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
571                 int clsgenleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
572                 int clsgenright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
573                 Object clsgen = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
574                 int idprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
575                 int idprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
576                 Object idprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
577                 
578                 ParseNode pn = new ParseNode("param");
579                 pn.addChild("param_class").setLiteral((String)clsprm 
580                         + "<" + typegen + "," + clsgen + ">");
581                 pn.addChild("param_ident").setLiteral(idprm);
582                 RESULT = pn;
583         
584               CUP$Parser$result = parser.getSymbolFactory().newSymbol("param",5, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
585             }
586           return CUP$Parser$result;
587
588           /*. . . . . . . . . . . . . . . . . . . .*/
589           case 18: // param ::= IDENT LANG IDENT COMMA TYPE RANG IDENT 
590             {
591               ParseNode RESULT =null;
592                 int clsprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).left;
593                 int clsprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).right;
594                 Object clsprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-6)).value;
595                 int clsgenleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
596                 int clsgenright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
597                 Object clsgen = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
598                 int typegenleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
599                 int typegenright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
600                 Object typegen = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
601                 int idprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
602                 int idprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
603                 Object idprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
604                 
605                 ParseNode pn = new ParseNode("param");
606                 pn.addChild("param_class").setLiteral((String)clsprm 
607                         + "<" + clsgen + "," + typegen + ">");
608                 pn.addChild("param_ident").setLiteral(idprm);
609                 RESULT = pn;
610         
611               CUP$Parser$result = parser.getSymbolFactory().newSymbol("param",5, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
612             }
613           return CUP$Parser$result;
614
615           /*. . . . . . . . . . . . . . . . . . . .*/
616           case 19: // param ::= IDENT LANG IDENT COMMA IDENT RANG IDENT 
617             {
618               ParseNode RESULT =null;
619                 int clsprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).left;
620                 int clsprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).right;
621                 Object clsprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-6)).value;
622                 int clsgen1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
623                 int clsgen1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
624                 Object clsgen1 = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
625                 int clsgen2left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
626                 int clsgen2right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
627                 Object clsgen2 = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
628                 int idprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
629                 int idprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
630                 Object idprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
631                 
632                 ParseNode pn = new ParseNode("param");
633                 pn.addChild("param_class").setLiteral((String)clsprm 
634                         + "<" + clsgen1 + "," + clsgen2 + ">");
635                 pn.addChild("param_ident").setLiteral(idprm);
636                 RESULT = pn;
637         
638               CUP$Parser$result = parser.getSymbolFactory().newSymbol("param",5, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
639             }
640           return CUP$Parser$result;
641
642           /*. . . . . . . . . . . . . . . . . . . .*/
643           case 20: // param ::= IDENT LANG TYPE RANG IDENT COMMA 
644             {
645               ParseNode RESULT =null;
646                 int clsprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
647                 int clsprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
648                 Object clsprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
649                 int typegenleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left;
650                 int typegenright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right;
651                 Object typegen = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
652                 int idprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
653                 int idprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
654                 Object idprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
655                 
656                 ParseNode pn = new ParseNode("param");
657                 pn.addChild("param_class").setLiteral((String)clsprm + "<" + typegen + ">");
658                 pn.addChild("param_ident").setLiteral(idprm);
659                 RESULT = pn;
660         
661               CUP$Parser$result = parser.getSymbolFactory().newSymbol("param",5, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
662             }
663           return CUP$Parser$result;
664
665           /*. . . . . . . . . . . . . . . . . . . .*/
666           case 21: // param ::= IDENT LANG IDENT RANG IDENT COMMA 
667             {
668               ParseNode RESULT =null;
669                 int clsprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
670                 int clsprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
671                 Object clsprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
672                 int clsgenleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left;
673                 int clsgenright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right;
674                 Object clsgen = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
675                 int idprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
676                 int idprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
677                 Object idprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
678                 
679                 ParseNode pn = new ParseNode("param");
680                 pn.addChild("param_class").setLiteral((String)clsprm + "<" + clsgen + ">");
681                 pn.addChild("param_ident").setLiteral(idprm);
682                 RESULT = pn;
683         
684               CUP$Parser$result = parser.getSymbolFactory().newSymbol("param",5, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
685             }
686           return CUP$Parser$result;
687
688           /*. . . . . . . . . . . . . . . . . . . .*/
689           case 22: // param ::= IDENT LANG TYPE COMMA TYPE RANG IDENT COMMA 
690             {
691               ParseNode RESULT =null;
692                 int clsprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)).left;
693                 int clsprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)).right;
694                 Object clsprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-7)).value;
695                 int typegen1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
696                 int typegen1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
697                 Object typegen1 = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
698                 int typegen2left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left;
699                 int typegen2right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right;
700                 Object typegen2 = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
701                 int idprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
702                 int idprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
703                 Object idprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
704                 
705                 ParseNode pn = new ParseNode("param");
706                 pn.addChild("param_class").setLiteral((String)clsprm 
707                         + "<" + typegen1 + "," + typegen2 + ">");
708                 pn.addChild("param_ident").setLiteral(idprm);
709                 RESULT = pn;
710         
711               CUP$Parser$result = parser.getSymbolFactory().newSymbol("param",5, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
712             }
713           return CUP$Parser$result;
714
715           /*. . . . . . . . . . . . . . . . . . . .*/
716           case 23: // param ::= IDENT LANG TYPE COMMA IDENT RANG IDENT COMMA 
717             {
718               ParseNode RESULT =null;
719                 int clsprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)).left;
720                 int clsprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)).right;
721                 Object clsprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-7)).value;
722                 int typegenleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
723                 int typegenright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
724                 Object typegen = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
725                 int clsgenleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left;
726                 int clsgenright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right;
727                 Object clsgen = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
728                 int idprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
729                 int idprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
730                 Object idprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
731                 
732                 ParseNode pn = new ParseNode("param");
733                 pn.addChild("param_class").setLiteral((String)clsprm 
734                         + "<" + typegen + "," + clsgen + ">");
735                 pn.addChild("param_ident").setLiteral(idprm);
736                 RESULT = pn;
737         
738               CUP$Parser$result = parser.getSymbolFactory().newSymbol("param",5, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
739             }
740           return CUP$Parser$result;
741
742           /*. . . . . . . . . . . . . . . . . . . .*/
743           case 24: // param ::= IDENT LANG IDENT COMMA TYPE RANG IDENT COMMA 
744             {
745               ParseNode RESULT =null;
746                 int clsprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)).left;
747                 int clsprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)).right;
748                 Object clsprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-7)).value;
749                 int clsgenleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
750                 int clsgenright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
751                 Object clsgen = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
752                 int typegenleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left;
753                 int typegenright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right;
754                 Object typegen = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
755                 int idprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
756                 int idprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
757                 Object idprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
758                 
759                 ParseNode pn = new ParseNode("param");
760                 pn.addChild("param_class").setLiteral((String)clsprm 
761                         + "<" + clsgen + "," + typegen + ">");
762                 pn.addChild("param_ident").setLiteral(idprm);
763                 RESULT = pn;
764         
765               CUP$Parser$result = parser.getSymbolFactory().newSymbol("param",5, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
766             }
767           return CUP$Parser$result;
768
769           /*. . . . . . . . . . . . . . . . . . . .*/
770           case 25: // param ::= IDENT LANG IDENT COMMA IDENT RANG IDENT COMMA 
771             {
772               ParseNode RESULT =null;
773                 int clsprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)).left;
774                 int clsprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)).right;
775                 Object clsprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-7)).value;
776                 int clsgen1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
777                 int clsgen1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
778                 Object clsgen1 = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
779                 int clsgen2left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left;
780                 int clsgen2right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right;
781                 Object clsgen2 = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
782                 int idprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
783                 int idprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
784                 Object idprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
785                 
786                 ParseNode pn = new ParseNode("param");
787                 pn.addChild("param_class").setLiteral((String)clsprm 
788                         + "<" + clsgen1 + "," + clsgen2 + ">");
789                 pn.addChild("param_ident").setLiteral(idprm);
790                 RESULT = pn;
791         
792               CUP$Parser$result = parser.getSymbolFactory().newSymbol("param",5, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
793             }
794           return CUP$Parser$result;
795
796           /*. . . . . . . . . . . . . . . . . . . .*/
797           case 26: // capablist ::= capablist capab 
798             {
799               ParseNode RESULT =null;
800                 int clleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
801                 int clright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
802                 ParseNode cl = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
803                 int capleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
804                 int capright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
805                 ParseNode cap = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
806                 
807                 cl.addChild(cap);
808                 RESULT = cl;
809         
810               CUP$Parser$result = parser.getSymbolFactory().newSymbol("capablist",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
811             }
812           return CUP$Parser$result;
813
814           /*. . . . . . . . . . . . . . . . . . . .*/
815           case 27: // capablist ::= 
816             {
817               ParseNode RESULT =null;
818                 
819                 ParseNode pn = new ParseNode("capab_list");
820                 RESULT = pn;
821         
822               CUP$Parser$result = parser.getSymbolFactory().newSymbol("capablist",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
823             }
824           return CUP$Parser$result;
825
826           /*. . . . . . . . . . . . . . . . . . . .*/
827           case 28: // capab ::= CAPABILITY IDENT BEGIN capabcont END 
828             {
829               ParseNode RESULT =null;
830                 int idcapleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left;
831                 int idcapright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right;
832                 Object idcap = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
833                 int ccontleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
834                 int ccontright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
835                 ParseNode ccont = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
836                 
837                 ParseNode pn = new ParseNode("capability");
838                 pn.addChild("capab_ident").setLiteral(idcap);
839                 pn.addChild(ccont);
840                 RESULT = pn;
841         
842               CUP$Parser$result = parser.getSymbolFactory().newSymbol("capab",7, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
843             }
844           return CUP$Parser$result;
845
846           /*. . . . . . . . . . . . . . . . . . . .*/
847           case 29: // capabcont ::= capabcont cont 
848             {
849               ParseNode RESULT =null;
850                 int ccontleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
851                 int ccontright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
852                 ParseNode ccont = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
853                 int cntleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
854                 int cntright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
855                 ParseNode cnt = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
856                 
857                 ccont.addChild(cnt);
858                 RESULT = ccont;
859         
860               CUP$Parser$result = parser.getSymbolFactory().newSymbol("capabcont",8, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
861             }
862           return CUP$Parser$result;
863
864           /*. . . . . . . . . . . . . . . . . . . .*/
865           case 30: // capabcont ::= 
866             {
867               ParseNode RESULT =null;
868                 
869                 ParseNode pn = new ParseNode("capab_content");
870                 RESULT = pn;
871         
872               CUP$Parser$result = parser.getSymbolFactory().newSymbol("capabcont",8, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
873             }
874           return CUP$Parser$result;
875
876           /*. . . . . . . . . . . . . . . . . . . .*/
877           case 31: // cont ::= DESCRIPTION ASSIGN STRINGCONST SEMICOLON 
878             {
879               ParseNode RESULT =null;
880                 int dscleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left;
881                 int dscright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right;
882                 Object dsc = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
883                 int strdscleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
884                 int strdscright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
885                 Object strdsc = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
886                 
887                 ParseNode pn = new ParseNode("capab_content");
888                 pn.addChild("capab_desc").setLiteral(strdsc);
889                 RESULT = pn;
890         
891               CUP$Parser$result = parser.getSymbolFactory().newSymbol("cont",9, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
892             }
893           return CUP$Parser$result;
894
895           /*. . . . . . . . . . . . . . . . . . . .*/
896           case 32: // cont ::= METHOD ASSIGN STRINGCONST SEMICOLON 
897             {
898               ParseNode RESULT =null;
899                 int mtdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left;
900                 int mtdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right;
901                 Object mtd = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
902                 int strmethleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
903                 int strmethright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
904                 Object strmeth = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
905                 
906                 ParseNode pn = new ParseNode("capab_content");
907                 pn.addChild("capab_meth").setLiteral(strmeth);
908                 RESULT = pn;
909         
910               CUP$Parser$result = parser.getSymbolFactory().newSymbol("cont",9, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
911             }
912           return CUP$Parser$result;
913
914           /*. . . . . . . . . . . . . . . . . . . .*/
915           case 33: // reqlist ::= reqlist require 
916             {
917               ParseNode RESULT =null;
918                 int rlleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
919                 int rlright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
920                 ParseNode rl = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
921                 int reqleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
922                 int reqright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
923                 ParseNode req = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
924                 
925                 rl.addChild(req);
926                 RESULT = rl;
927         
928               CUP$Parser$result = parser.getSymbolFactory().newSymbol("reqlist",10, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
929             }
930           return CUP$Parser$result;
931
932           /*. . . . . . . . . . . . . . . . . . . .*/
933           case 34: // reqlist ::= 
934             {
935               ParseNode RESULT =null;
936                 
937                 ParseNode pn = new ParseNode("reqlist");
938                 RESULT = pn;
939         
940               CUP$Parser$result = parser.getSymbolFactory().newSymbol("reqlist",10, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
941             }
942           return CUP$Parser$result;
943
944           /*. . . . . . . . . . . . . . . . . . . .*/
945           case 35: // require ::= REQUIRES IDENT WITH capintlist AS INTERFACE IDENT SEMICOLON 
946             {
947               ParseNode RESULT =null;
948                 int idintleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).left;
949                 int idintright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).right;
950                 Object idint = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-6)).value;
951                 int cilleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
952                 int cilright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
953                 ParseNode cil = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
954                 int idnewintleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
955                 int idnewintright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
956                 Object idnewint = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
957                 
958                 ParseNode pn = new ParseNode("requires");
959                 pn.addChild("intface_ident").setLiteral(idint);
960                 pn.addChild(cil);
961                 pn.addChild("new_intface_ident").setLiteral(idnewint);
962                 RESULT = pn;
963         
964               CUP$Parser$result = parser.getSymbolFactory().newSymbol("require",11, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
965             }
966           return CUP$Parser$result;
967
968           /*. . . . . . . . . . . . . . . . . . . .*/
969           case 36: // capintlist ::= IDENT 
970             {
971               ParseNode RESULT =null;
972                 int idcapleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
973                 int idcapright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
974                 Object idcap = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
975                 
976                 ParseNode pn = new ParseNode("capab_ident_list");
977                 pn.addChild("capab_ident").setLiteral(idcap);
978                 RESULT = pn;
979         
980               CUP$Parser$result = parser.getSymbolFactory().newSymbol("capintlist",12, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
981             }
982           return CUP$Parser$result;
983
984           /*. . . . . . . . . . . . . . . . . . . .*/
985           case 37: // capintlist ::= capintlist COMMA IDENT 
986             {
987               ParseNode RESULT =null;
988                 int cilleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
989                 int cilright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
990                 ParseNode cil = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
991                 int idcapleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
992                 int idcapright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
993                 Object idcap = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
994                 
995                 cil.addChild("capab_ident").setLiteral(idcap);
996                 RESULT = cil;
997         
998               CUP$Parser$result = parser.getSymbolFactory().newSymbol("capintlist",12, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
999             }
1000           return CUP$Parser$result;
1001
1002           /*. . . . . . . . . . . . . . . . . . . .*/
1003           case 38: // capintlist ::= 
1004             {
1005               ParseNode RESULT =null;
1006                 
1007                 ParseNode pn = new ParseNode("capab_ident_list");
1008                 RESULT = pn;
1009         
1010               CUP$Parser$result = parser.getSymbolFactory().newSymbol("capintlist",12, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
1011             }
1012           return CUP$Parser$result;
1013
1014           /* . . . . . .*/
1015           default:
1016             throw new Exception(
1017                "Invalid action number "+CUP$Parser$act_num+"found in internal parse table");
1018
1019         }
1020     } /* end of method */
1021
1022   /** Method splitting the generated action code into several parts. */
1023   public final java_cup.runtime.Symbol CUP$Parser$do_action(
1024     int                        CUP$Parser$act_num,
1025     java_cup.runtime.lr_parser CUP$Parser$parser,
1026     java.util.Stack            CUP$Parser$stack,
1027     int                        CUP$Parser$top)
1028     throws java.lang.Exception
1029     {
1030               return CUP$Parser$do_action_part00000000(
1031                                CUP$Parser$act_num,
1032                                CUP$Parser$parser,
1033                                CUP$Parser$stack,
1034                                CUP$Parser$top);
1035     }
1036 }
1037
1038 }