1 package iotpolicy.parser;
3 //----------------------------------------------------
4 // The following code was generated by CUP v0.11b 20160615 (GIT 4ac7450)
5 //----------------------------------------------------
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;
13 import javax.xml.transform.*;
14 import javax.xml.transform.stream.*;
15 import java_cup.runtime.XMLElement;
17 import iotpolicy.tree.ParseNode;
19 /** CUP v0.11b 20160615 (GIT 4ac7450) generated parser.
21 @SuppressWarnings({"rawtypes"})
22 public class Parser extends java_cup.runtime.lr_parser {
24 public final Class getSymbolContainer() {
28 /** Default constructor. */
30 public Parser() {super();}
32 /** Constructor which sets the default scanner. */
34 public Parser(java_cup.runtime.Scanner s) {super(s);}
36 /** Constructor which sets the default scanner. */
37 public Parser(java_cup.runtime.Scanner s, java_cup.runtime.SymbolFactory sf) {super(s,sf);}
39 /** Production table. */
40 protected static final short _production_table[][] =
41 unpackFromStrings(new String[] {
42 "\000\060\000\002\002\003\000\002\002\004\000\002\002" +
43 "\003\000\002\003\013\000\002\004\004\000\002\004\002" +
44 "\000\002\005\011\000\002\005\011\000\002\005\014\000" +
45 "\002\005\014\000\002\006\004\000\002\006\002\000\002" +
46 "\007\005\000\002\007\004\000\002\007\005\000\002\007" +
47 "\004\000\002\007\007\000\002\007\007\000\002\007\010" +
48 "\000\002\007\010\000\002\011\004\000\002\011\002\000" +
49 "\002\012\007\000\002\013\004\000\002\013\002\000\002" +
50 "\014\006\000\002\014\006\000\002\015\004\000\002\015" +
51 "\002\000\002\016\012\000\002\017\003\000\002\017\005" +
52 "\000\002\017\002\000\002\020\004\000\002\020\002\000" +
53 "\002\021\007\000\002\022\004\000\002\022\002\000\002" +
54 "\023\004\000\002\023\003\000\002\024\004\000\002\024" +
55 "\002\000\002\025\007\000\002\026\004\000\002\026\002" +
56 "\000\002\027\005\000\002\027\005\000\002\027\010" });
58 /** Access to production table. */
59 public short[][] production_table() {return _production_table;}
61 /** Parse-action table. */
62 protected static final short[][] _action_table =
63 unpackFromStrings(new String[] {
64 "\000\161\000\010\002\uffe5\015\006\022\uffe5\001\002\000" +
65 "\004\002\001\001\002\000\006\002\uffff\022\150\001\002" +
66 "\000\004\016\011\001\002\000\004\002\010\001\002\000" +
67 "\004\002\000\001\002\000\004\030\012\001\002\000\004" +
68 "\012\013\001\002\000\014\013\ufffc\015\ufffc\017\ufffc\025" +
69 "\ufffc\026\ufffc\001\002\000\014\013\uffec\015\016\017\uffec" +
70 "\025\uffec\026\uffec\001\002\000\014\013\ufffd\015\ufffd\017" +
71 "\ufffd\025\ufffd\026\ufffd\001\002\000\006\027\076\030\075" +
72 "\001\002\000\012\013\uffdf\017\022\025\uffdf\026\uffdf\001" +
73 "\002\000\010\013\uffd8\025\042\026\uffd8\001\002\000\012" +
74 "\013\uffed\017\uffed\025\uffed\026\uffed\001\002\000\004\030" +
75 "\023\001\002\000\004\012\024\001\002\000\010\013\uffe9" +
76 "\020\uffe9\021\uffe9\001\002\000\010\013\030\020\027\021" +
77 "\031\001\002\000\010\013\uffea\020\uffea\021\uffea\001\002" +
78 "\000\004\014\035\001\002\000\012\013\uffeb\017\uffeb\025" +
79 "\uffeb\026\uffeb\001\002\000\004\014\032\001\002\000\004" +
80 "\031\033\001\002\000\004\004\034\001\002\000\010\013" +
81 "\uffe7\020\uffe7\021\uffe7\001\002\000\004\031\036\001\002" +
82 "\000\004\004\037\001\002\000\010\013\uffe8\020\uffe8\021" +
83 "\uffe8\001\002\000\006\013\054\026\053\001\002\000\010" +
84 "\013\uffe0\025\uffe0\026\uffe0\001\002\000\004\030\043\001" +
85 "\002\000\004\012\044\001\002\000\006\013\uffdc\030\uffdc" +
86 "\001\002\000\006\013\050\030\047\001\002\000\006\013" +
87 "\uffdd\030\uffdd\001\002\000\010\005\051\013\uffda\030\uffda" +
88 "\001\002\000\010\013\uffde\025\uffde\026\uffde\001\002\000" +
89 "\006\013\uffdb\030\uffdb\001\002\000\006\013\uffd9\026\uffd9" +
90 "\001\002\000\004\030\055\001\002\000\004\002\ufffe\001" +
91 "\002\000\004\012\056\001\002\000\010\013\uffd5\027\uffd5" +
92 "\030\uffd5\001\002\000\010\013\061\027\062\030\060\001" +
93 "\002\000\006\010\066\030\067\001\002\000\006\013\uffd7" +
94 "\026\uffd7\001\002\000\004\030\064\001\002\000\010\013" +
95 "\uffd6\027\uffd6\030\uffd6\001\002\000\004\004\065\001\002" +
96 "\000\010\013\uffd4\027\uffd4\030\uffd4\001\002\000\004\030" +
97 "\071\001\002\000\004\004\070\001\002\000\010\013\uffd3" +
98 "\027\uffd3\030\uffd3\001\002\000\004\011\072\001\002\000" +
99 "\004\030\073\001\002\000\004\004\074\001\002\000\010" +
100 "\013\uffd2\027\uffd2\030\uffd2\001\002\000\006\010\124\030" +
101 "\125\001\002\000\004\030\077\001\002\000\004\006\100" +
102 "\001\002\000\010\007\ufff6\027\ufff6\030\ufff6\001\002\000" +
103 "\010\007\103\027\105\030\102\001\002\000\006\010\111" +
104 "\030\112\001\002\000\004\004\110\001\002\000\010\007" +
105 "\ufff7\027\ufff7\030\ufff7\001\002\000\004\030\106\001\002" +
106 "\000\012\005\107\007\ufff4\027\ufff4\030\ufff4\001\002\000" +
107 "\010\007\ufff5\027\ufff5\030\ufff5\001\002\000\014\013\ufffb" +
108 "\015\ufffb\017\ufffb\025\ufffb\026\ufffb\001\002\000\006\027" +
109 "\115\030\114\001\002\000\012\005\113\007\ufff2\027\ufff2" +
110 "\030\ufff2\001\002\000\010\007\ufff3\027\ufff3\030\ufff3\001" +
111 "\002\000\004\011\121\001\002\000\004\011\116\001\002" +
112 "\000\004\030\117\001\002\000\012\005\120\007\ufff1\027" +
113 "\ufff1\030\ufff1\001\002\000\010\007\uffef\027\uffef\030\uffef" +
114 "\001\002\000\004\030\122\001\002\000\012\005\123\007" +
115 "\ufff0\027\ufff0\030\ufff0\001\002\000\010\007\uffee\027\uffee" +
116 "\030\uffee\001\002\000\006\027\133\030\132\001\002\000" +
117 "\004\006\126\001\002\000\010\007\ufff6\027\ufff6\030\ufff6" +
118 "\001\002\000\010\007\130\027\105\030\102\001\002\000" +
119 "\004\004\131\001\002\000\014\013\ufffa\015\ufffa\017\ufffa" +
120 "\025\ufffa\026\ufffa\001\002\000\004\011\142\001\002\000" +
121 "\004\011\134\001\002\000\004\030\135\001\002\000\004" +
122 "\006\136\001\002\000\010\007\ufff6\027\ufff6\030\ufff6\001" +
123 "\002\000\010\007\140\027\105\030\102\001\002\000\004" +
124 "\004\141\001\002\000\014\013\ufff9\015\ufff9\017\ufff9\025" +
125 "\ufff9\026\ufff9\001\002\000\004\030\143\001\002\000\004" +
126 "\006\144\001\002\000\010\007\ufff6\027\ufff6\030\ufff6\001" +
127 "\002\000\010\007\146\027\105\030\102\001\002\000\004" +
128 "\004\147\001\002\000\014\013\ufff8\015\ufff8\017\ufff8\025" +
129 "\ufff8\026\ufff8\001\002\000\004\030\152\001\002\000\006" +
130 "\002\uffe6\022\uffe6\001\002\000\004\023\153\001\002\000" +
131 "\010\005\uffe1\024\uffe1\030\155\001\002\000\006\005\156" +
132 "\024\157\001\002\000\006\005\uffe3\024\uffe3\001\002\000" +
133 "\004\030\163\001\002\000\004\016\160\001\002\000\004" +
134 "\030\161\001\002\000\004\004\162\001\002\000\006\002" +
135 "\uffe4\022\uffe4\001\002\000\006\005\uffe2\024\uffe2\001\002" +
138 /** Access to parse-action table. */
139 public short[][] action_table() {return _action_table;}
141 /** <code>reduce_goto</code> table. */
142 protected static final short[][] _reduce_table =
143 unpackFromStrings(new String[] {
144 "\000\161\000\010\002\006\003\003\015\004\001\001\000" +
145 "\002\001\001\000\004\016\150\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\004\004\013\001\001\000\006\005\014" +
148 "\011\016\001\001\000\002\001\001\000\002\001\001\000" +
149 "\006\012\020\020\017\001\001\000\006\021\040\024\037" +
150 "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
151 "\001\000\004\013\024\001\001\000\004\014\025\001\001" +
152 "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
153 "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
154 "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
155 "\001\000\004\025\051\001\001\000\002\001\001\000\002" +
156 "\001\001\000\002\001\001\000\004\022\044\001\001\000" +
157 "\004\023\045\001\001\000\002\001\001\000\002\001\001" +
158 "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
159 "\002\001\001\000\002\001\001\000\002\001\001\000\004" +
160 "\026\056\001\001\000\004\027\062\001\001\000\002\001" +
161 "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
162 "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
163 "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
164 "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
165 "\001\000\002\001\001\000\002\001\001\000\004\006\100" +
166 "\001\001\000\004\007\103\001\001\000\002\001\001\000" +
167 "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
168 "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
169 "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
170 "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
171 "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
172 "\001\001\000\002\001\001\000\002\001\001\000\004\006" +
173 "\126\001\001\000\004\007\103\001\001\000\002\001\001" +
174 "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
175 "\002\001\001\000\002\001\001\000\004\006\136\001\001" +
176 "\000\004\007\103\001\001\000\002\001\001\000\002\001" +
177 "\001\000\002\001\001\000\002\001\001\000\004\006\144" +
178 "\001\001\000\004\007\103\001\001\000\002\001\001\000" +
179 "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
180 "\001\001\000\004\017\153\001\001\000\002\001\001\000" +
181 "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
182 "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
185 /** Access to <code>reduce_goto</code> table. */
186 public short[][] reduce_table() {return _reduce_table;}
188 /** Instance of action encapsulation class. */
189 protected CUP$Parser$actions action_obj;
191 /** Action encapsulation object initializer. */
192 protected void init_actions()
194 action_obj = new CUP$Parser$actions(this);
197 /** Invoke a user supplied parse action. */
198 public java_cup.runtime.Symbol do_action(
200 java_cup.runtime.lr_parser parser,
201 java.util.Stack stack,
203 throws java.lang.Exception
205 /* call code in generated class */
206 return action_obj.CUP$Parser$do_action(act_num, parser, stack, top);
209 /** Indicates start state. */
210 public int start_state() {return 0;}
211 /** Indicates start production. */
212 public int start_production() {return 1;}
214 /** <code>EOF</code> Symbol index. */
215 public int EOF_sym() {return 0;}
217 /** <code>error</code> Symbol index. */
218 public int error_sym() {return 1;}
222 public Parser(Lexer lex, ComplexSymbolFactory sf) {
225 public static void main(String[] args) throws Exception {
226 // initialize the symbol factory
227 ComplexSymbolFactory csf = new ComplexSymbolFactory();
228 // create a buffering scanner wrapper
229 ScannerBuffer lexer = new ScannerBuffer(new Lexer(new BufferedReader(new FileReader(args[0])),csf));
231 Parser p = new Parser(lexer,csf);
232 ParseNode pn = (ParseNode) p.parse().value;
236 /** Cup generated class to encapsulate user supplied action code.*/
237 @SuppressWarnings({"rawtypes", "unchecked", "unused"})
238 class CUP$Parser$actions {
239 private final Parser parser;
242 CUP$Parser$actions(Parser parser) {
243 this.parser = parser;
246 /** Method 0 with the actual generated action code for actions 0 to 300. */
247 public final java_cup.runtime.Symbol CUP$Parser$do_action_part00000000(
248 int CUP$Parser$act_num,
249 java_cup.runtime.lr_parser CUP$Parser$parser,
250 java.util.Stack CUP$Parser$stack,
252 throws java.lang.Exception
254 /* Symbol object for return from actions */
255 java_cup.runtime.Symbol CUP$Parser$result;
257 /* select the action based on the action number */
258 switch (CUP$Parser$act_num)
260 /*. . . . . . . . . . . . . . . . . . . .*/
261 case 0: // policy ::= intface
263 ParseNode RESULT =null;
264 int inleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
265 int inright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
266 ParseNode in = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
268 ParseNode pn = new ParseNode("policy");
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);
274 return CUP$Parser$result;
276 /*. . . . . . . . . . . . . . . . . . . .*/
277 case 1: // $START ::= policy EOF
280 int start_valleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
281 int start_valright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
282 ParseNode start_val = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
284 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);
287 CUP$Parser$parser.done_parsing();
288 return CUP$Parser$result;
290 /*. . . . . . . . . . . . . . . . . . . .*/
291 case 2: // policy ::= reqlist
293 ParseNode RESULT =null;
294 int rlleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
295 int rlright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
296 ParseNode rl = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
298 ParseNode pn = new ParseNode("policy");
302 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);
304 return CUP$Parser$result;
306 /*. . . . . . . . . . . . . . . . . . . .*/
307 case 3: // intface ::= PUBLIC INTERFACE IDENT BEGIN methlist capablist enumdeclist structdeclist END
309 ParseNode RESULT =null;
310 int idintleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).left;
311 int idintright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).right;
312 Object idint = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-6)).value;
313 int mlleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
314 int mlright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
315 ParseNode ml = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
316 int clleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left;
317 int clright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right;
318 ParseNode cl = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
319 int elleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
320 int elright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
321 ParseNode el = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
322 int slleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
323 int slright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
324 ParseNode sl = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
326 ParseNode pn = new ParseNode("interface");
327 pn.addChild("intface_ident").setLiteral(idint);
334 CUP$Parser$result = parser.getSymbolFactory().newSymbol("intface",1, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
336 return CUP$Parser$result;
338 /*. . . . . . . . . . . . . . . . . . . .*/
339 case 4: // methlist ::= methlist meth
341 ParseNode RESULT =null;
342 int mlleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
343 int mlright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
344 ParseNode ml = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
345 int mleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
346 int mright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
347 ParseNode m = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
352 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);
354 return CUP$Parser$result;
356 /*. . . . . . . . . . . . . . . . . . . .*/
357 case 5: // methlist ::=
359 ParseNode RESULT =null;
361 ParseNode pn = new ParseNode("method_list");
364 CUP$Parser$result = parser.getSymbolFactory().newSymbol("methlist",2, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
366 return CUP$Parser$result;
368 /*. . . . . . . . . . . . . . . . . . . .*/
369 case 6: // meth ::= PUBLIC TYPE IDENT LPAR paramlist RPAR SEMICOLON
371 ParseNode RESULT =null;
372 int typemethleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
373 int typemethright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
374 Object typemeth = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
375 int idmethleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
376 int idmethright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
377 Object idmeth = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
378 int plleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
379 int plright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
380 ParseNode pl = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
382 ParseNode pn = new ParseNode("method");
383 pn.addChild("method_type").setLiteral(typemeth);
384 pn.addChild("method_ident").setLiteral(idmeth);
388 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);
390 return CUP$Parser$result;
392 /*. . . . . . . . . . . . . . . . . . . .*/
393 case 7: // meth ::= PUBLIC IDENT IDENT LPAR paramlist RPAR SEMICOLON
395 ParseNode RESULT =null;
396 int clsmethleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
397 int clsmethright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
398 Object clsmeth = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
399 int idmethleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
400 int idmethright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
401 Object idmeth = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
402 int plleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
403 int plright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
404 ParseNode pl = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
406 ParseNode pn = new ParseNode("method");
407 pn.addChild("method_class").setLiteral(clsmeth);
408 pn.addChild("method_ident").setLiteral(idmeth);
412 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);
414 return CUP$Parser$result;
416 /*. . . . . . . . . . . . . . . . . . . .*/
417 case 8: // meth ::= PUBLIC IDENT LANG TYPE RANG IDENT LPAR paramlist RPAR SEMICOLON
419 ParseNode RESULT =null;
420 int clsmethleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).left;
421 int clsmethright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).right;
422 Object clsmeth = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-8)).value;
423 int typegenleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).left;
424 int typegenright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).right;
425 Object typegen = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-6)).value;
426 int idmethleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
427 int idmethright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
428 Object idmeth = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
429 int plleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
430 int plright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
431 ParseNode pl = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
433 ParseNode pn = new ParseNode("method");
434 pn.addChild("method_class").setLiteral((String)clsmeth + "<" + typegen + ">");
435 pn.addChild("method_ident").setLiteral(idmeth);
439 CUP$Parser$result = parser.getSymbolFactory().newSymbol("meth",3, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-9)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
441 return CUP$Parser$result;
443 /*. . . . . . . . . . . . . . . . . . . .*/
444 case 9: // meth ::= PUBLIC IDENT LANG IDENT RANG IDENT LPAR paramlist RPAR SEMICOLON
446 ParseNode RESULT =null;
447 int clsmethleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).left;
448 int clsmethright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).right;
449 Object clsmeth = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-8)).value;
450 int clsgenleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).left;
451 int clsgenright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).right;
452 Object clsgen = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-6)).value;
453 int idmethleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
454 int idmethright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
455 Object idmeth = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
456 int plleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
457 int plright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
458 ParseNode pl = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
460 ParseNode pn = new ParseNode("method");
461 pn.addChild("method_class").setLiteral((String)clsmeth + "<" + clsgen + ">");
462 pn.addChild("method_ident").setLiteral(idmeth);
466 CUP$Parser$result = parser.getSymbolFactory().newSymbol("meth",3, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-9)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
468 return CUP$Parser$result;
470 /*. . . . . . . . . . . . . . . . . . . .*/
471 case 10: // paramlist ::= paramlist param
473 ParseNode RESULT =null;
474 int plleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
475 int plright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
476 ParseNode pl = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
477 int pleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
478 int pright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
479 ParseNode p = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
484 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);
486 return CUP$Parser$result;
488 /*. . . . . . . . . . . . . . . . . . . .*/
489 case 11: // paramlist ::=
491 ParseNode RESULT =null;
493 ParseNode pn = new ParseNode("param_list");
496 CUP$Parser$result = parser.getSymbolFactory().newSymbol("paramlist",4, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
498 return CUP$Parser$result;
500 /*. . . . . . . . . . . . . . . . . . . .*/
501 case 12: // param ::= TYPE IDENT COMMA
503 ParseNode RESULT =null;
504 int typeprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
505 int typeprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
506 Object typeprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
507 int idprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
508 int idprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
509 Object idprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
511 ParseNode pn = new ParseNode("param");
512 pn.addChild("param_type").setLiteral(typeprm);
513 pn.addChild("param_ident").setLiteral(idprm);
516 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);
518 return CUP$Parser$result;
520 /*. . . . . . . . . . . . . . . . . . . .*/
521 case 13: // param ::= TYPE IDENT
523 ParseNode RESULT =null;
524 int typeprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
525 int typeprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
526 Object typeprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
527 int idprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
528 int idprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
529 Object idprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
531 ParseNode pn = new ParseNode("param");
532 pn.addChild("param_type").setLiteral(typeprm);
533 pn.addChild("param_ident").setLiteral(idprm);
536 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);
538 return CUP$Parser$result;
540 /*. . . . . . . . . . . . . . . . . . . .*/
541 case 14: // param ::= IDENT IDENT COMMA
543 ParseNode RESULT =null;
544 int clsprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
545 int clsprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
546 Object clsprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
547 int idprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
548 int idprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
549 Object idprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
551 ParseNode pn = new ParseNode("param");
552 pn.addChild("param_class").setLiteral(clsprm);
553 pn.addChild("param_ident").setLiteral(idprm);
556 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);
558 return CUP$Parser$result;
560 /*. . . . . . . . . . . . . . . . . . . .*/
561 case 15: // param ::= IDENT IDENT
563 ParseNode RESULT =null;
564 int clsprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
565 int clsprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
566 Object clsprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
567 int idprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
568 int idprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
569 Object idprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
571 ParseNode pn = new ParseNode("param");
572 pn.addChild("param_class").setLiteral(clsprm);
573 pn.addChild("param_ident").setLiteral(idprm);
576 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);
578 return CUP$Parser$result;
580 /*. . . . . . . . . . . . . . . . . . . .*/
581 case 16: // param ::= IDENT LANG TYPE RANG IDENT
583 ParseNode RESULT =null;
584 int clsprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
585 int clsprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
586 Object clsprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
587 int typegenleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
588 int typegenright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
589 Object typegen = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
590 int idprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
591 int idprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
592 Object idprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
594 ParseNode pn = new ParseNode("param");
595 pn.addChild("param_class").setLiteral((String)clsprm + "<" + typegen + ">");
596 pn.addChild("param_ident").setLiteral(idprm);
599 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);
601 return CUP$Parser$result;
603 /*. . . . . . . . . . . . . . . . . . . .*/
604 case 17: // param ::= IDENT LANG IDENT RANG IDENT
606 ParseNode RESULT =null;
607 int clsprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
608 int clsprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
609 Object clsprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
610 int clsgenleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
611 int clsgenright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
612 Object clsgen = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
613 int idprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
614 int idprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
615 Object idprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
617 ParseNode pn = new ParseNode("param");
618 pn.addChild("param_class").setLiteral((String)clsprm + "<" + clsgen + ">");
619 pn.addChild("param_ident").setLiteral(idprm);
622 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);
624 return CUP$Parser$result;
626 /*. . . . . . . . . . . . . . . . . . . .*/
627 case 18: // param ::= IDENT LANG TYPE RANG IDENT COMMA
629 ParseNode RESULT =null;
630 int clsprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
631 int clsprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
632 Object clsprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
633 int typegenleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left;
634 int typegenright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right;
635 Object typegen = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
636 int idprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
637 int idprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
638 Object idprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
640 ParseNode pn = new ParseNode("param");
641 pn.addChild("param_class").setLiteral((String)clsprm + "<" + typegen + ">");
642 pn.addChild("param_ident").setLiteral(idprm);
645 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);
647 return CUP$Parser$result;
649 /*. . . . . . . . . . . . . . . . . . . .*/
650 case 19: // param ::= IDENT LANG IDENT RANG IDENT COMMA
652 ParseNode RESULT =null;
653 int clsprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
654 int clsprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
655 Object clsprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
656 int clsgenleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left;
657 int clsgenright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right;
658 Object clsgen = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
659 int idprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
660 int idprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
661 Object idprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
663 ParseNode pn = new ParseNode("param");
664 pn.addChild("param_class").setLiteral((String)clsprm + "<" + clsgen + ">");
665 pn.addChild("param_ident").setLiteral(idprm);
668 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);
670 return CUP$Parser$result;
672 /*. . . . . . . . . . . . . . . . . . . .*/
673 case 20: // capablist ::= capablist capab
675 ParseNode RESULT =null;
676 int clleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
677 int clright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
678 ParseNode cl = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
679 int capleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
680 int capright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
681 ParseNode cap = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
686 CUP$Parser$result = parser.getSymbolFactory().newSymbol("capablist",7, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
688 return CUP$Parser$result;
690 /*. . . . . . . . . . . . . . . . . . . .*/
691 case 21: // capablist ::=
693 ParseNode RESULT =null;
695 ParseNode pn = new ParseNode("capab_list");
698 CUP$Parser$result = parser.getSymbolFactory().newSymbol("capablist",7, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
700 return CUP$Parser$result;
702 /*. . . . . . . . . . . . . . . . . . . .*/
703 case 22: // capab ::= CAPABILITY IDENT BEGIN capabcont END
705 ParseNode RESULT =null;
706 int idcapleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left;
707 int idcapright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right;
708 Object idcap = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
709 int ccontleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
710 int ccontright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
711 ParseNode ccont = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
713 ParseNode pn = new ParseNode("capability");
714 pn.addChild("capab_ident").setLiteral(idcap);
718 CUP$Parser$result = parser.getSymbolFactory().newSymbol("capab",8, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
720 return CUP$Parser$result;
722 /*. . . . . . . . . . . . . . . . . . . .*/
723 case 23: // capabcont ::= capabcont cont
725 ParseNode RESULT =null;
726 int ccontleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
727 int ccontright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
728 ParseNode ccont = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
729 int cntleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
730 int cntright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
731 ParseNode cnt = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
736 CUP$Parser$result = parser.getSymbolFactory().newSymbol("capabcont",9, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
738 return CUP$Parser$result;
740 /*. . . . . . . . . . . . . . . . . . . .*/
741 case 24: // capabcont ::=
743 ParseNode RESULT =null;
745 ParseNode pn = new ParseNode("capab_content");
748 CUP$Parser$result = parser.getSymbolFactory().newSymbol("capabcont",9, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
750 return CUP$Parser$result;
752 /*. . . . . . . . . . . . . . . . . . . .*/
753 case 25: // cont ::= DESCRIPTION ASSIGN STRINGCONST SEMICOLON
755 ParseNode RESULT =null;
756 int dscleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left;
757 int dscright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right;
758 Object dsc = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
759 int strdscleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
760 int strdscright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
761 Object strdsc = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
763 ParseNode pn = new ParseNode("capab_content");
764 pn.addChild("capab_desc").setLiteral(strdsc);
767 CUP$Parser$result = parser.getSymbolFactory().newSymbol("cont",10, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
769 return CUP$Parser$result;
771 /*. . . . . . . . . . . . . . . . . . . .*/
772 case 26: // cont ::= METHOD ASSIGN STRINGCONST SEMICOLON
774 ParseNode RESULT =null;
775 int mtdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left;
776 int mtdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right;
777 Object mtd = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
778 int strmethleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
779 int strmethright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
780 Object strmeth = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
782 ParseNode pn = new ParseNode("capab_content");
783 pn.addChild("capab_meth").setLiteral(strmeth);
786 CUP$Parser$result = parser.getSymbolFactory().newSymbol("cont",10, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
788 return CUP$Parser$result;
790 /*. . . . . . . . . . . . . . . . . . . .*/
791 case 27: // reqlist ::= reqlist require
793 ParseNode RESULT =null;
794 int rlleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
795 int rlright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
796 ParseNode rl = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
797 int reqleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
798 int reqright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
799 ParseNode req = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
804 CUP$Parser$result = parser.getSymbolFactory().newSymbol("reqlist",11, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
806 return CUP$Parser$result;
808 /*. . . . . . . . . . . . . . . . . . . .*/
809 case 28: // reqlist ::=
811 ParseNode RESULT =null;
813 ParseNode pn = new ParseNode("reqlist");
816 CUP$Parser$result = parser.getSymbolFactory().newSymbol("reqlist",11, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
818 return CUP$Parser$result;
820 /*. . . . . . . . . . . . . . . . . . . .*/
821 case 29: // require ::= REQUIRES IDENT WITH capintlist AS INTERFACE IDENT SEMICOLON
823 ParseNode RESULT =null;
824 int idintleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).left;
825 int idintright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).right;
826 Object idint = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-6)).value;
827 int cilleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
828 int cilright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
829 ParseNode cil = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
830 int idnewintleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
831 int idnewintright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
832 Object idnewint = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
834 ParseNode pn = new ParseNode("requires");
835 pn.addChild("intface_ident").setLiteral(idint);
837 pn.addChild("new_intface_ident").setLiteral(idnewint);
840 CUP$Parser$result = parser.getSymbolFactory().newSymbol("require",12, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
842 return CUP$Parser$result;
844 /*. . . . . . . . . . . . . . . . . . . .*/
845 case 30: // capintlist ::= IDENT
847 ParseNode RESULT =null;
848 int idcapleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
849 int idcapright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
850 Object idcap = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
852 ParseNode pn = new ParseNode("capab_ident_list");
853 pn.addChild("capab_ident").setLiteral(idcap);
856 CUP$Parser$result = parser.getSymbolFactory().newSymbol("capintlist",13, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
858 return CUP$Parser$result;
860 /*. . . . . . . . . . . . . . . . . . . .*/
861 case 31: // capintlist ::= capintlist COMMA IDENT
863 ParseNode RESULT =null;
864 int cilleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
865 int cilright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
866 ParseNode cil = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
867 int idcapleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
868 int idcapright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
869 Object idcap = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
871 cil.addChild("capab_ident").setLiteral(idcap);
874 CUP$Parser$result = parser.getSymbolFactory().newSymbol("capintlist",13, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
876 return CUP$Parser$result;
878 /*. . . . . . . . . . . . . . . . . . . .*/
879 case 32: // capintlist ::=
881 ParseNode RESULT =null;
883 ParseNode pn = new ParseNode("capab_ident_list");
886 CUP$Parser$result = parser.getSymbolFactory().newSymbol("capintlist",13, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
888 return CUP$Parser$result;
890 /*. . . . . . . . . . . . . . . . . . . .*/
891 case 33: // enumdeclist ::= enumdeclist enumdec
893 ParseNode RESULT =null;
894 int elleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
895 int elright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
896 ParseNode el = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
897 int edleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
898 int edright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
899 ParseNode ed = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
904 CUP$Parser$result = parser.getSymbolFactory().newSymbol("enumdeclist",14, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
906 return CUP$Parser$result;
908 /*. . . . . . . . . . . . . . . . . . . .*/
909 case 34: // enumdeclist ::=
911 ParseNode RESULT =null;
913 ParseNode pn = new ParseNode("enum_dec_list");
916 CUP$Parser$result = parser.getSymbolFactory().newSymbol("enumdeclist",14, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
918 return CUP$Parser$result;
920 /*. . . . . . . . . . . . . . . . . . . .*/
921 case 35: // enumdec ::= ENUM IDENT BEGIN enumlist END
923 ParseNode RESULT =null;
924 int idenumdecleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left;
925 int idenumdecright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right;
926 Object idenumdec = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
927 int elleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
928 int elright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
929 ParseNode el = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
931 ParseNode pn = new ParseNode("enum_dec");
932 pn.addChild("enum_dec_ident").setLiteral(idenumdec);
936 CUP$Parser$result = parser.getSymbolFactory().newSymbol("enumdec",15, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
938 return CUP$Parser$result;
940 /*. . . . . . . . . . . . . . . . . . . .*/
941 case 36: // enumlist ::= enumlist enummem
943 ParseNode RESULT =null;
944 int elleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
945 int elright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
946 ParseNode el = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
947 int eleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
948 int eright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
949 ParseNode e = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
954 CUP$Parser$result = parser.getSymbolFactory().newSymbol("enumlist",16, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
956 return CUP$Parser$result;
958 /*. . . . . . . . . . . . . . . . . . . .*/
959 case 37: // enumlist ::=
961 ParseNode RESULT =null;
963 ParseNode pn = new ParseNode("enum_list");
966 CUP$Parser$result = parser.getSymbolFactory().newSymbol("enumlist",16, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
968 return CUP$Parser$result;
970 /*. . . . . . . . . . . . . . . . . . . .*/
971 case 38: // enummem ::= IDENT COMMA
973 ParseNode RESULT =null;
974 int idenumleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
975 int idenumright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
976 Object idenum = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
978 ParseNode pn = new ParseNode("enum_mem");
979 pn.addChild("enum_ident").setLiteral(idenum);
982 CUP$Parser$result = parser.getSymbolFactory().newSymbol("enummem",17, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
984 return CUP$Parser$result;
986 /*. . . . . . . . . . . . . . . . . . . .*/
987 case 39: // enummem ::= IDENT
989 ParseNode RESULT =null;
990 int idenumleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
991 int idenumright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
992 Object idenum = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
994 ParseNode pn = new ParseNode("enum_mem");
995 pn.addChild("enum_ident").setLiteral(idenum);
998 CUP$Parser$result = parser.getSymbolFactory().newSymbol("enummem",17, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
1000 return CUP$Parser$result;
1002 /*. . . . . . . . . . . . . . . . . . . .*/
1003 case 40: // structdeclist ::= structdeclist structdec
1005 ParseNode RESULT =null;
1006 int slleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
1007 int slright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
1008 ParseNode sl = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
1009 int sdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
1010 int sdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
1011 ParseNode sd = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
1016 CUP$Parser$result = parser.getSymbolFactory().newSymbol("structdeclist",18, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
1018 return CUP$Parser$result;
1020 /*. . . . . . . . . . . . . . . . . . . .*/
1021 case 41: // structdeclist ::=
1023 ParseNode RESULT =null;
1025 ParseNode pn = new ParseNode("struct_dec_list");
1028 CUP$Parser$result = parser.getSymbolFactory().newSymbol("structdeclist",18, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
1030 return CUP$Parser$result;
1032 /*. . . . . . . . . . . . . . . . . . . .*/
1033 case 42: // structdec ::= STRUCT IDENT BEGIN structlist END
1035 ParseNode RESULT =null;
1036 int idstructdecleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left;
1037 int idstructdecright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right;
1038 Object idstructdec = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
1039 int slleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
1040 int slright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
1041 ParseNode sl = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
1043 ParseNode pn = new ParseNode("struct_dec");
1044 pn.addChild("struct_dec_ident").setLiteral(idstructdec);
1048 CUP$Parser$result = parser.getSymbolFactory().newSymbol("structdec",19, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
1050 return CUP$Parser$result;
1052 /*. . . . . . . . . . . . . . . . . . . .*/
1053 case 43: // structlist ::= structlist structmem
1055 ParseNode RESULT =null;
1056 int slleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
1057 int slright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
1058 ParseNode sl = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
1059 int sleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
1060 int sright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
1061 ParseNode s = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
1066 CUP$Parser$result = parser.getSymbolFactory().newSymbol("structlist",20, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
1068 return CUP$Parser$result;
1070 /*. . . . . . . . . . . . . . . . . . . .*/
1071 case 44: // structlist ::=
1073 ParseNode RESULT =null;
1075 ParseNode pn = new ParseNode("struct_list");
1078 CUP$Parser$result = parser.getSymbolFactory().newSymbol("structlist",20, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
1080 return CUP$Parser$result;
1082 /*. . . . . . . . . . . . . . . . . . . .*/
1083 case 45: // structmem ::= TYPE IDENT SEMICOLON
1085 ParseNode RESULT =null;
1086 int typestrleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
1087 int typestrright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
1088 Object typestr = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
1089 int idstrleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
1090 int idstrright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
1091 Object idstr = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
1093 ParseNode pn = new ParseNode("struct_mem");
1094 pn.addChild("struct_type").setLiteral(typestr);
1095 pn.addChild("struct_ident").setLiteral(idstr);
1098 CUP$Parser$result = parser.getSymbolFactory().newSymbol("structmem",21, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
1100 return CUP$Parser$result;
1102 /*. . . . . . . . . . . . . . . . . . . .*/
1103 case 46: // structmem ::= IDENT IDENT SEMICOLON
1105 ParseNode RESULT =null;
1106 int clsstrleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
1107 int clsstrright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
1108 Object clsstr = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
1109 int idstrleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
1110 int idstrright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
1111 Object idstr = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
1113 ParseNode pn = new ParseNode("struct_mem");
1114 pn.addChild("struct_class").setLiteral(clsstr);
1115 pn.addChild("struct_ident").setLiteral(idstr);
1118 CUP$Parser$result = parser.getSymbolFactory().newSymbol("structmem",21, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
1120 return CUP$Parser$result;
1122 /*. . . . . . . . . . . . . . . . . . . .*/
1123 case 47: // structmem ::= IDENT LANG IDENT RANG IDENT SEMICOLON
1125 ParseNode RESULT =null;
1126 int clsstrleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
1127 int clsstrright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
1128 Object clsstr = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
1129 int clsgenleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left;
1130 int clsgenright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right;
1131 Object clsgen = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
1132 int idstrleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
1133 int idstrright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
1134 Object idstr = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
1136 ParseNode pn = new ParseNode("struct_mem");
1137 pn.addChild("struct_class").setLiteral((String)clsstr + "<" + clsgen + ">");
1138 pn.addChild("struct_ident").setLiteral(idstr);
1141 CUP$Parser$result = parser.getSymbolFactory().newSymbol("structmem",21, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
1143 return CUP$Parser$result;
1147 throw new Exception(
1148 "Invalid action number "+CUP$Parser$act_num+"found in internal parse table");
1151 } /* end of method */
1153 /** Method splitting the generated action code into several parts. */
1154 public final java_cup.runtime.Symbol CUP$Parser$do_action(
1155 int CUP$Parser$act_num,
1156 java_cup.runtime.lr_parser CUP$Parser$parser,
1157 java.util.Stack CUP$Parser$stack,
1159 throws java.lang.Exception
1161 return CUP$Parser$do_action_part00000000(