2 //----------------------------------------------------
3 // The following code was generated by CUP v0.11b 20160615 (GIT 4ac7450)
4 //----------------------------------------------------
6 import java_cup.runtime.ComplexSymbolFactory;
7 import java_cup.runtime.ScannerBuffer;
8 import java_cup.runtime.XMLElement;
9 import javax.xml.stream.XMLOutputFactory;
10 import javax.xml.stream.XMLStreamWriter;
12 import javax.xml.transform.*;
13 import javax.xml.transform.stream.*;
14 import java_cup.runtime.XMLElement;
16 /** CUP v0.11b 20160615 (GIT 4ac7450) generated parser.
18 @SuppressWarnings({"rawtypes"})
19 public class Parser extends java_cup.runtime.lr_parser {
21 public final Class getSymbolContainer() {
25 /** Default constructor. */
27 public Parser() {super();}
29 /** Constructor which sets the default scanner. */
31 public Parser(java_cup.runtime.Scanner s) {super(s);}
33 /** Constructor which sets the default scanner. */
34 public Parser(java_cup.runtime.Scanner s, java_cup.runtime.SymbolFactory sf) {super(s,sf);}
36 /** Production table. */
37 protected static final short _production_table[][] =
38 unpackFromStrings(new String[] {
39 "\000\054\000\002\002\003\000\002\002\004\000\002\002" +
40 "\003\000\002\002\003\000\002\002\003\000\002\003\011" +
41 "\000\002\004\004\000\002\004\002\000\002\005\011\000" +
42 "\002\005\011\000\002\006\004\000\002\006\002\000\002" +
43 "\007\005\000\002\007\004\000\002\007\005\000\002\007" +
44 "\004\000\002\007\007\000\002\007\007\000\002\007\010" +
45 "\000\002\007\010\000\002\011\004\000\002\011\002\000" +
46 "\002\012\007\000\002\013\004\000\002\013\002\000\002" +
47 "\014\006\000\002\014\006\000\002\015\004\000\002\015" +
48 "\002\000\002\016\012\000\002\017\003\000\002\017\005" +
49 "\000\002\017\002\000\002\020\007\000\002\021\004\000" +
50 "\002\021\002\000\002\022\004\000\002\022\003\000\002" +
51 "\023\007\000\002\024\004\000\002\024\002\000\002\025" +
52 "\005\000\002\025\005\000\002\025\010" });
54 /** Access to production table. */
55 public short[][] production_table() {return _production_table;}
57 /** Parse-action table. */
58 protected static final short[][] _action_table =
59 unpackFromStrings(new String[] {
60 "\000\140\000\014\002\uffe5\015\012\022\uffe5\025\007\026" +
61 "\011\001\002\000\004\002\001\001\002\000\004\002\ufffd" +
62 "\001\002\000\004\002\ufffe\001\002\000\004\030\134\001" +
63 "\002\000\006\002\uffff\022\120\001\002\000\004\030\100" +
64 "\001\002\000\004\016\015\001\002\000\004\002\014\001" +
65 "\002\000\004\002\000\001\002\000\004\030\016\001\002" +
66 "\000\004\012\017\001\002\000\010\013\ufffa\015\ufffa\017" +
67 "\ufffa\001\002\000\010\013\uffec\015\022\017\uffec\001\002" +
68 "\000\010\013\ufffb\015\ufffb\017\ufffb\001\002\000\006\027" +
69 "\045\030\044\001\002\000\006\013\026\017\025\001\002" +
70 "\000\006\013\uffed\017\uffed\001\002\000\004\030\027\001" +
71 "\002\000\004\002\ufffc\001\002\000\004\012\030\001\002" +
72 "\000\010\013\uffe9\020\uffe9\021\uffe9\001\002\000\010\013" +
73 "\034\020\033\021\035\001\002\000\010\013\uffea\020\uffea" +
74 "\021\uffea\001\002\000\004\014\041\001\002\000\006\013" +
75 "\uffeb\017\uffeb\001\002\000\004\014\036\001\002\000\004" +
76 "\031\037\001\002\000\004\004\040\001\002\000\010\013" +
77 "\uffe7\020\uffe7\021\uffe7\001\002\000\004\031\042\001\002" +
78 "\000\004\004\043\001\002\000\010\013\uffe8\020\uffe8\021" +
79 "\uffe8\001\002\000\004\030\073\001\002\000\004\030\046" +
80 "\001\002\000\004\006\047\001\002\000\010\007\ufff6\027" +
81 "\ufff6\030\ufff6\001\002\000\010\007\052\027\054\030\051" +
82 "\001\002\000\006\010\060\030\061\001\002\000\004\004" +
83 "\057\001\002\000\010\007\ufff7\027\ufff7\030\ufff7\001\002" +
84 "\000\004\030\055\001\002\000\012\005\056\007\ufff4\027" +
85 "\ufff4\030\ufff4\001\002\000\010\007\ufff5\027\ufff5\030\ufff5" +
86 "\001\002\000\010\013\ufff9\015\ufff9\017\ufff9\001\002\000" +
87 "\006\027\064\030\063\001\002\000\012\005\062\007\ufff2" +
88 "\027\ufff2\030\ufff2\001\002\000\010\007\ufff3\027\ufff3\030" +
89 "\ufff3\001\002\000\004\011\070\001\002\000\004\011\065" +
90 "\001\002\000\004\030\066\001\002\000\012\005\067\007" +
91 "\ufff1\027\ufff1\030\ufff1\001\002\000\010\007\uffef\027\uffef" +
92 "\030\uffef\001\002\000\004\030\071\001\002\000\012\005" +
93 "\072\007\ufff0\027\ufff0\030\ufff0\001\002\000\010\007\uffee" +
94 "\027\uffee\030\uffee\001\002\000\004\006\074\001\002\000" +
95 "\010\007\ufff6\027\ufff6\030\ufff6\001\002\000\010\007\076" +
96 "\027\054\030\051\001\002\000\004\004\077\001\002\000" +
97 "\010\013\ufff8\015\ufff8\017\ufff8\001\002\000\004\012\101" +
98 "\001\002\000\010\013\uffd9\027\uffd9\030\uffd9\001\002\000" +
99 "\010\013\104\027\106\030\103\001\002\000\006\010\111" +
100 "\030\112\001\002\000\004\002\uffdb\001\002\000\010\013" +
101 "\uffda\027\uffda\030\uffda\001\002\000\004\030\107\001\002" +
102 "\000\004\004\110\001\002\000\010\013\uffd8\027\uffd8\030" +
103 "\uffd8\001\002\000\004\030\114\001\002\000\004\004\113" +
104 "\001\002\000\010\013\uffd7\027\uffd7\030\uffd7\001\002\000" +
105 "\004\011\115\001\002\000\004\030\116\001\002\000\004" +
106 "\004\117\001\002\000\010\013\uffd6\027\uffd6\030\uffd6\001" +
107 "\002\000\004\030\122\001\002\000\006\002\uffe6\022\uffe6" +
108 "\001\002\000\004\023\123\001\002\000\010\005\uffe1\024" +
109 "\uffe1\030\125\001\002\000\006\005\126\024\127\001\002" +
110 "\000\006\005\uffe3\024\uffe3\001\002\000\004\030\133\001" +
111 "\002\000\004\016\130\001\002\000\004\030\131\001\002" +
112 "\000\004\004\132\001\002\000\006\002\uffe4\022\uffe4\001" +
113 "\002\000\006\005\uffe2\024\uffe2\001\002\000\004\012\135" +
114 "\001\002\000\006\013\uffde\030\uffde\001\002\000\006\013" +
115 "\141\030\140\001\002\000\006\013\uffdf\030\uffdf\001\002" +
116 "\000\010\005\142\013\uffdc\030\uffdc\001\002\000\004\002" +
117 "\uffe0\001\002\000\006\013\uffdd\030\uffdd\001\002" });
119 /** Access to parse-action table. */
120 public short[][] action_table() {return _action_table;}
122 /** <code>reduce_goto</code> table. */
123 protected static final short[][] _reduce_table =
124 unpackFromStrings(new String[] {
125 "\000\140\000\014\002\012\003\003\015\007\020\005\023" +
126 "\004\001\001\000\002\001\001\000\002\001\001\000\002" +
127 "\001\001\000\002\001\001\000\004\016\120\001\001\000" +
128 "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
129 "\001\001\000\002\001\001\000\002\001\001\000\004\004" +
130 "\017\001\001\000\006\005\020\011\022\001\001\000\002" +
131 "\001\001\000\002\001\001\000\004\012\023\001\001\000" +
132 "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
133 "\001\001\000\004\013\030\001\001\000\004\014\031\001" +
134 "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
135 "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
136 "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
137 "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
138 "\001\000\004\006\047\001\001\000\004\007\052\001\001" +
139 "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
140 "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
141 "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
142 "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
143 "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
144 "\002\001\001\000\002\001\001\000\002\001\001\000\004" +
145 "\006\074\001\001\000\004\007\052\001\001\000\002\001" +
146 "\001\000\002\001\001\000\002\001\001\000\004\024\101" +
147 "\001\001\000\004\025\104\001\001\000\002\001\001\000" +
148 "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
149 "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
150 "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
151 "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
152 "\002\001\001\000\002\001\001\000\004\017\123\001\001" +
153 "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
154 "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
155 "\001\001\000\002\001\001\000\002\001\001\000\004\021" +
156 "\135\001\001\000\004\022\136\001\001\000\002\001\001" +
157 "\000\002\001\001\000\002\001\001\000\002\001\001" });
159 /** Access to <code>reduce_goto</code> table. */
160 public short[][] reduce_table() {return _reduce_table;}
162 /** Instance of action encapsulation class. */
163 protected CUP$Parser$actions action_obj;
165 /** Action encapsulation object initializer. */
166 protected void init_actions()
168 action_obj = new CUP$Parser$actions(this);
171 /** Invoke a user supplied parse action. */
172 public java_cup.runtime.Symbol do_action(
174 java_cup.runtime.lr_parser parser,
175 java.util.Stack stack,
177 throws java.lang.Exception
179 /* call code in generated class */
180 return action_obj.CUP$Parser$do_action(act_num, parser, stack, top);
183 /** Indicates start state. */
184 public int start_state() {return 0;}
185 /** Indicates start production. */
186 public int start_production() {return 1;}
188 /** <code>EOF</code> Symbol index. */
189 public int EOF_sym() {return 0;}
191 /** <code>error</code> Symbol index. */
192 public int error_sym() {return 1;}
196 public Parser(Lexer lex, ComplexSymbolFactory sf) {
199 public static void main(String[] args) throws Exception {
200 // initialize the symbol factory
201 ComplexSymbolFactory csf = new ComplexSymbolFactory();
202 // create a buffering scanner wrapper
203 ScannerBuffer lexer = new ScannerBuffer(new Lexer(new BufferedReader(new FileReader(args[0])),csf));
205 Parser p = new Parser(lexer,csf);
206 ParseNode pn = (ParseNode) p.parse().value;
210 /** Cup generated class to encapsulate user supplied action code.*/
211 @SuppressWarnings({"rawtypes", "unchecked", "unused"})
212 class CUP$Parser$actions {
213 private final Parser parser;
216 CUP$Parser$actions(Parser parser) {
217 this.parser = parser;
220 /** Method 0 with the actual generated action code for actions 0 to 300. */
221 public final java_cup.runtime.Symbol CUP$Parser$do_action_part00000000(
222 int CUP$Parser$act_num,
223 java_cup.runtime.lr_parser CUP$Parser$parser,
224 java.util.Stack CUP$Parser$stack,
226 throws java.lang.Exception
228 /* Symbol object for return from actions */
229 java_cup.runtime.Symbol CUP$Parser$result;
231 /* select the action based on the action number */
232 switch (CUP$Parser$act_num)
234 /*. . . . . . . . . . . . . . . . . . . .*/
235 case 0: // policy ::= intface
237 ParseNode RESULT =null;
238 int inleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
239 int inright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
240 ParseNode in = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
242 ParseNode pn = new ParseNode("policy");
246 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);
248 return CUP$Parser$result;
250 /*. . . . . . . . . . . . . . . . . . . .*/
251 case 1: // $START ::= policy EOF
254 int start_valleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
255 int start_valright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
256 ParseNode start_val = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
258 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);
261 CUP$Parser$parser.done_parsing();
262 return CUP$Parser$result;
264 /*. . . . . . . . . . . . . . . . . . . .*/
265 case 2: // policy ::= reqlist
267 ParseNode RESULT =null;
268 int rlleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
269 int rlright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
270 ParseNode rl = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
272 ParseNode pn = new ParseNode("policy");
276 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);
278 return CUP$Parser$result;
280 /*. . . . . . . . . . . . . . . . . . . .*/
281 case 3: // policy ::= enumdec
283 ParseNode RESULT =null;
284 int enleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
285 int enright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
286 ParseNode en = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
288 ParseNode pn = new ParseNode("policy");
292 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);
294 return CUP$Parser$result;
296 /*. . . . . . . . . . . . . . . . . . . .*/
297 case 4: // policy ::= structdec
299 ParseNode RESULT =null;
300 int stleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
301 int stright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
302 ParseNode st = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
304 ParseNode pn = new ParseNode("policy");
308 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);
310 return CUP$Parser$result;
312 /*. . . . . . . . . . . . . . . . . . . .*/
313 case 5: // intface ::= PUBLIC INTERFACE IDENT BEGIN methlist capablist END
315 ParseNode RESULT =null;
316 int idintleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
317 int idintright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
318 Object idint = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
319 int mlleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
320 int mlright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
321 ParseNode ml = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
322 int clleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
323 int clright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
324 ParseNode cl = (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);
332 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);
334 return CUP$Parser$result;
336 /*. . . . . . . . . . . . . . . . . . . .*/
337 case 6: // methlist ::= methlist meth
339 ParseNode RESULT =null;
340 int mlleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
341 int mlright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
342 ParseNode ml = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
343 int mleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
344 int mright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
345 ParseNode m = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
350 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);
352 return CUP$Parser$result;
354 /*. . . . . . . . . . . . . . . . . . . .*/
355 case 7: // methlist ::=
357 ParseNode RESULT =null;
359 ParseNode pn = new ParseNode("method_list");
362 CUP$Parser$result = parser.getSymbolFactory().newSymbol("methlist",2, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
364 return CUP$Parser$result;
366 /*. . . . . . . . . . . . . . . . . . . .*/
367 case 8: // meth ::= PUBLIC TYPE IDENT LPAR paramlist RPAR SEMICOLON
369 ParseNode RESULT =null;
370 int typemethleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
371 int typemethright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
372 Object typemeth = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
373 int idmethleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
374 int idmethright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
375 Object idmeth = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
376 int plleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
377 int plright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
378 ParseNode pl = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
380 ParseNode pn = new ParseNode("method");
381 pn.addChild("method_type").setLiteral(typemeth);
382 pn.addChild("method_ident").setLiteral(idmeth);
386 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);
388 return CUP$Parser$result;
390 /*. . . . . . . . . . . . . . . . . . . .*/
391 case 9: // meth ::= PUBLIC IDENT IDENT LPAR paramlist RPAR SEMICOLON
393 ParseNode RESULT =null;
394 int clsmethleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
395 int clsmethright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
396 Object clsmeth = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
397 int idmethleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
398 int idmethright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
399 Object idmeth = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
400 int plleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
401 int plright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
402 ParseNode pl = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
404 ParseNode pn = new ParseNode("method");
405 pn.addChild("method_class").setLiteral(clsmeth);
406 pn.addChild("method_ident").setLiteral(idmeth);
410 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);
412 return CUP$Parser$result;
414 /*. . . . . . . . . . . . . . . . . . . .*/
415 case 10: // paramlist ::= paramlist param
417 ParseNode RESULT =null;
418 int plleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
419 int plright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
420 ParseNode pl = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
421 int pleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
422 int pright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
423 ParseNode p = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
428 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);
430 return CUP$Parser$result;
432 /*. . . . . . . . . . . . . . . . . . . .*/
433 case 11: // paramlist ::=
435 ParseNode RESULT =null;
437 ParseNode pn = new ParseNode("param_list");
440 CUP$Parser$result = parser.getSymbolFactory().newSymbol("paramlist",4, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
442 return CUP$Parser$result;
444 /*. . . . . . . . . . . . . . . . . . . .*/
445 case 12: // param ::= TYPE IDENT COMMA
447 ParseNode RESULT =null;
448 int typeprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
449 int typeprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
450 Object typeprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
451 int idprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
452 int idprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
453 Object idprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
455 ParseNode pn = new ParseNode("param");
456 pn.addChild("param_type").setLiteral(typeprm);
457 pn.addChild("param_ident").setLiteral(idprm);
460 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);
462 return CUP$Parser$result;
464 /*. . . . . . . . . . . . . . . . . . . .*/
465 case 13: // param ::= TYPE IDENT
467 ParseNode RESULT =null;
468 int typeprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
469 int typeprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
470 Object typeprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
471 int idprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
472 int idprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
473 Object idprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
475 ParseNode pn = new ParseNode("param");
476 pn.addChild("param_type").setLiteral(typeprm);
477 pn.addChild("param_ident").setLiteral(idprm);
480 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);
482 return CUP$Parser$result;
484 /*. . . . . . . . . . . . . . . . . . . .*/
485 case 14: // param ::= IDENT IDENT COMMA
487 ParseNode RESULT =null;
488 int clsprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
489 int clsprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
490 Object clsprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
491 int idprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
492 int idprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
493 Object idprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
495 ParseNode pn = new ParseNode("param");
496 pn.addChild("param_class").setLiteral(clsprm);
497 pn.addChild("param_ident").setLiteral(idprm);
500 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);
502 return CUP$Parser$result;
504 /*. . . . . . . . . . . . . . . . . . . .*/
505 case 15: // param ::= IDENT IDENT
507 ParseNode RESULT =null;
508 int clsprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
509 int clsprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
510 Object clsprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
511 int idprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
512 int idprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
513 Object idprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
515 ParseNode pn = new ParseNode("param");
516 pn.addChild("param_class").setLiteral(clsprm);
517 pn.addChild("param_ident").setLiteral(idprm);
520 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);
522 return CUP$Parser$result;
524 /*. . . . . . . . . . . . . . . . . . . .*/
525 case 16: // param ::= IDENT LANG TYPE RANG IDENT
527 ParseNode RESULT =null;
528 int clsprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
529 int clsprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
530 Object clsprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
531 int typegenleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
532 int typegenright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
533 Object typegen = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
534 int idprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
535 int idprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
536 Object idprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
538 ParseNode pn = new ParseNode("param");
539 pn.addChild("param_class").setLiteral((String)clsprm + "<" + typegen + ">");
540 pn.addChild("param_ident").setLiteral(idprm);
543 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);
545 return CUP$Parser$result;
547 /*. . . . . . . . . . . . . . . . . . . .*/
548 case 17: // param ::= IDENT LANG IDENT RANG IDENT
550 ParseNode RESULT =null;
551 int clsprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
552 int clsprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
553 Object clsprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
554 int clsgenleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
555 int clsgenright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
556 Object clsgen = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
557 int idprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
558 int idprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
559 Object idprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
561 ParseNode pn = new ParseNode("param");
562 pn.addChild("param_class").setLiteral((String)clsprm + "<" + clsgen + ">");
563 pn.addChild("param_ident").setLiteral(idprm);
566 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);
568 return CUP$Parser$result;
570 /*. . . . . . . . . . . . . . . . . . . .*/
571 case 18: // param ::= IDENT LANG TYPE RANG IDENT COMMA
573 ParseNode RESULT =null;
574 int clsprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
575 int clsprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
576 Object clsprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
577 int typegenleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left;
578 int typegenright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right;
579 Object typegen = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
580 int idprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
581 int idprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
582 Object idprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
584 ParseNode pn = new ParseNode("param");
585 pn.addChild("param_class").setLiteral((String)clsprm + "<" + typegen + ">");
586 pn.addChild("param_ident").setLiteral(idprm);
589 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);
591 return CUP$Parser$result;
593 /*. . . . . . . . . . . . . . . . . . . .*/
594 case 19: // param ::= IDENT LANG IDENT RANG IDENT COMMA
596 ParseNode RESULT =null;
597 int clsprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
598 int clsprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
599 Object clsprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
600 int clsgenleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left;
601 int clsgenright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right;
602 Object clsgen = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
603 int idprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
604 int idprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
605 Object idprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
607 ParseNode pn = new ParseNode("param");
608 pn.addChild("param_class").setLiteral((String)clsprm + "<" + clsgen + ">");
609 pn.addChild("param_ident").setLiteral(idprm);
612 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);
614 return CUP$Parser$result;
616 /*. . . . . . . . . . . . . . . . . . . .*/
617 case 20: // capablist ::= capablist capab
619 ParseNode RESULT =null;
620 int clleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
621 int clright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
622 ParseNode cl = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
623 int capleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
624 int capright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
625 ParseNode cap = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
630 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);
632 return CUP$Parser$result;
634 /*. . . . . . . . . . . . . . . . . . . .*/
635 case 21: // capablist ::=
637 ParseNode RESULT =null;
639 ParseNode pn = new ParseNode("capab_list");
642 CUP$Parser$result = parser.getSymbolFactory().newSymbol("capablist",7, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
644 return CUP$Parser$result;
646 /*. . . . . . . . . . . . . . . . . . . .*/
647 case 22: // capab ::= CAPABILITY IDENT BEGIN capabcont END
649 ParseNode RESULT =null;
650 int idcapleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left;
651 int idcapright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right;
652 Object idcap = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
653 int ccontleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
654 int ccontright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
655 ParseNode ccont = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
657 ParseNode pn = new ParseNode("capability");
658 pn.addChild("capab_ident").setLiteral(idcap);
662 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);
664 return CUP$Parser$result;
666 /*. . . . . . . . . . . . . . . . . . . .*/
667 case 23: // capabcont ::= capabcont cont
669 ParseNode RESULT =null;
670 int ccontleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
671 int ccontright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
672 ParseNode ccont = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
673 int cntleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
674 int cntright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
675 ParseNode cnt = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
680 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);
682 return CUP$Parser$result;
684 /*. . . . . . . . . . . . . . . . . . . .*/
685 case 24: // capabcont ::=
687 ParseNode RESULT =null;
689 ParseNode pn = new ParseNode("capab_content");
692 CUP$Parser$result = parser.getSymbolFactory().newSymbol("capabcont",9, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
694 return CUP$Parser$result;
696 /*. . . . . . . . . . . . . . . . . . . .*/
697 case 25: // cont ::= DESCRIPTION ASSIGN STRINGCONST SEMICOLON
699 ParseNode RESULT =null;
700 int dscleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left;
701 int dscright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right;
702 Object dsc = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
703 int strdscleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
704 int strdscright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
705 Object strdsc = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
707 ParseNode pn = new ParseNode("capab_content");
708 pn.addChild("capab_desc").setLiteral(strdsc);
711 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);
713 return CUP$Parser$result;
715 /*. . . . . . . . . . . . . . . . . . . .*/
716 case 26: // cont ::= METHOD ASSIGN STRINGCONST SEMICOLON
718 ParseNode RESULT =null;
719 int mtdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left;
720 int mtdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right;
721 Object mtd = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
722 int strmethleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
723 int strmethright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
724 Object strmeth = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
726 ParseNode pn = new ParseNode("capab_content");
727 pn.addChild("capab_meth").setLiteral(strmeth);
730 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);
732 return CUP$Parser$result;
734 /*. . . . . . . . . . . . . . . . . . . .*/
735 case 27: // reqlist ::= reqlist require
737 ParseNode RESULT =null;
738 int rlleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
739 int rlright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
740 ParseNode rl = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
741 int reqleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
742 int reqright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
743 ParseNode req = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
748 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);
750 return CUP$Parser$result;
752 /*. . . . . . . . . . . . . . . . . . . .*/
753 case 28: // reqlist ::=
755 ParseNode RESULT =null;
757 ParseNode pn = new ParseNode("reqlist");
760 CUP$Parser$result = parser.getSymbolFactory().newSymbol("reqlist",11, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
762 return CUP$Parser$result;
764 /*. . . . . . . . . . . . . . . . . . . .*/
765 case 29: // require ::= REQUIRES IDENT WITH capintlist AS INTERFACE IDENT SEMICOLON
767 ParseNode RESULT =null;
768 int idintleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).left;
769 int idintright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).right;
770 Object idint = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-6)).value;
771 int cilleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
772 int cilright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
773 ParseNode cil = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
774 int idnewintleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
775 int idnewintright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
776 Object idnewint = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
778 ParseNode pn = new ParseNode("requires");
779 pn.addChild("intface_ident").setLiteral(idint);
781 pn.addChild("new_intface_ident").setLiteral(idnewint);
784 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);
786 return CUP$Parser$result;
788 /*. . . . . . . . . . . . . . . . . . . .*/
789 case 30: // capintlist ::= IDENT
791 ParseNode RESULT =null;
792 int idcapleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
793 int idcapright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
794 Object idcap = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
796 ParseNode pn = new ParseNode("capab_ident_list");
797 pn.addChild("capab_ident").setLiteral(idcap);
800 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);
802 return CUP$Parser$result;
804 /*. . . . . . . . . . . . . . . . . . . .*/
805 case 31: // capintlist ::= capintlist COMMA IDENT
807 ParseNode RESULT =null;
808 int cilleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
809 int cilright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
810 ParseNode cil = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
811 int idcapleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
812 int idcapright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
813 Object idcap = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
815 cil.addChild("capab_ident").setLiteral(idcap);
818 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);
820 return CUP$Parser$result;
822 /*. . . . . . . . . . . . . . . . . . . .*/
823 case 32: // capintlist ::=
825 ParseNode RESULT =null;
827 ParseNode pn = new ParseNode("capab_ident_list");
830 CUP$Parser$result = parser.getSymbolFactory().newSymbol("capintlist",13, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
832 return CUP$Parser$result;
834 /*. . . . . . . . . . . . . . . . . . . .*/
835 case 33: // enumdec ::= ENUM IDENT BEGIN enumlist END
837 ParseNode RESULT =null;
838 int idenumdecleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left;
839 int idenumdecright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right;
840 Object idenumdec = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
841 int elleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
842 int elright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
843 ParseNode el = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
845 ParseNode pn = new ParseNode("enum_dec");
846 pn.addChild("enum_dec_ident").setLiteral(idenumdec);
850 CUP$Parser$result = parser.getSymbolFactory().newSymbol("enumdec",14, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
852 return CUP$Parser$result;
854 /*. . . . . . . . . . . . . . . . . . . .*/
855 case 34: // enumlist ::= enumlist enummem
857 ParseNode RESULT =null;
858 int elleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
859 int elright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
860 ParseNode el = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
861 int eleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
862 int eright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
863 ParseNode e = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
868 CUP$Parser$result = parser.getSymbolFactory().newSymbol("enumlist",15, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
870 return CUP$Parser$result;
872 /*. . . . . . . . . . . . . . . . . . . .*/
873 case 35: // enumlist ::=
875 ParseNode RESULT =null;
877 ParseNode pn = new ParseNode("enum_list");
880 CUP$Parser$result = parser.getSymbolFactory().newSymbol("enumlist",15, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
882 return CUP$Parser$result;
884 /*. . . . . . . . . . . . . . . . . . . .*/
885 case 36: // enummem ::= IDENT COMMA
887 ParseNode RESULT =null;
888 int idenumleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
889 int idenumright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
890 Object idenum = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
892 ParseNode pn = new ParseNode("enum_mem");
893 pn.addChild("enum_ident").setLiteral(idenum);
896 CUP$Parser$result = parser.getSymbolFactory().newSymbol("enummem",16, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
898 return CUP$Parser$result;
900 /*. . . . . . . . . . . . . . . . . . . .*/
901 case 37: // enummem ::= IDENT
903 ParseNode RESULT =null;
904 int idenumleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
905 int idenumright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
906 Object idenum = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
908 ParseNode pn = new ParseNode("enum_mem");
909 pn.addChild("enum_ident").setLiteral(idenum);
912 CUP$Parser$result = parser.getSymbolFactory().newSymbol("enummem",16, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
914 return CUP$Parser$result;
916 /*. . . . . . . . . . . . . . . . . . . .*/
917 case 38: // structdec ::= STRUCT IDENT BEGIN structlist END
919 ParseNode RESULT =null;
920 int idstructdecleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left;
921 int idstructdecright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right;
922 Object idstructdec = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
923 int slleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
924 int slright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
925 ParseNode sl = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
927 ParseNode pn = new ParseNode("struct_dec");
928 pn.addChild("struct_dec_ident").setLiteral(idstructdec);
932 CUP$Parser$result = parser.getSymbolFactory().newSymbol("structdec",17, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
934 return CUP$Parser$result;
936 /*. . . . . . . . . . . . . . . . . . . .*/
937 case 39: // structlist ::= structlist structmem
939 ParseNode RESULT =null;
940 int slleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
941 int slright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
942 ParseNode sl = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
943 int sleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
944 int sright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
945 ParseNode s = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
950 CUP$Parser$result = parser.getSymbolFactory().newSymbol("structlist",18, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
952 return CUP$Parser$result;
954 /*. . . . . . . . . . . . . . . . . . . .*/
955 case 40: // structlist ::=
957 ParseNode RESULT =null;
959 ParseNode pn = new ParseNode("enum_list");
962 CUP$Parser$result = parser.getSymbolFactory().newSymbol("structlist",18, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
964 return CUP$Parser$result;
966 /*. . . . . . . . . . . . . . . . . . . .*/
967 case 41: // structmem ::= TYPE IDENT SEMICOLON
969 ParseNode RESULT =null;
970 int typestrleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
971 int typestrright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
972 Object typestr = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
973 int idstrleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
974 int idstrright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
975 Object idstr = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
977 ParseNode pn = new ParseNode("struct_mem");
978 pn.addChild("struct_type").setLiteral(typestr);
979 pn.addChild("struct_ident").setLiteral(idstr);
982 CUP$Parser$result = parser.getSymbolFactory().newSymbol("structmem",19, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
984 return CUP$Parser$result;
986 /*. . . . . . . . . . . . . . . . . . . .*/
987 case 42: // structmem ::= IDENT IDENT SEMICOLON
989 ParseNode RESULT =null;
990 int clsstrleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
991 int clsstrright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
992 Object clsstr = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
993 int idstrleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
994 int idstrright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
995 Object idstr = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
997 ParseNode pn = new ParseNode("struct_mem");
998 pn.addChild("struct_class").setLiteral(clsstr);
999 pn.addChild("struct_ident").setLiteral(idstr);
1002 CUP$Parser$result = parser.getSymbolFactory().newSymbol("structmem",19, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
1004 return CUP$Parser$result;
1006 /*. . . . . . . . . . . . . . . . . . . .*/
1007 case 43: // structmem ::= IDENT LANG IDENT RANG IDENT SEMICOLON
1009 ParseNode RESULT =null;
1010 int clsstrleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
1011 int clsstrright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
1012 Object clsstr = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
1013 int clsgenleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left;
1014 int clsgenright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right;
1015 Object clsgen = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
1016 int idstrleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
1017 int idstrright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
1018 Object idstr = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
1020 ParseNode pn = new ParseNode("struct_mem");
1021 pn.addChild("struct_class").setLiteral((String)clsstr + "<" + clsgen + ">");
1022 pn.addChild("struct_ident").setLiteral(idstr);
1025 CUP$Parser$result = parser.getSymbolFactory().newSymbol("structmem",19, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
1027 return CUP$Parser$result;
1031 throw new Exception(
1032 "Invalid action number "+CUP$Parser$act_num+"found in internal parse table");
1035 } /* end of method */
1037 /** Method splitting the generated action code into several parts. */
1038 public final java_cup.runtime.Symbol CUP$Parser$do_action(
1039 int CUP$Parser$act_num,
1040 java_cup.runtime.lr_parser CUP$Parser$parser,
1041 java.util.Stack CUP$Parser$stack,
1043 throws java.lang.Exception
1045 return CUP$Parser$do_action_part00000000(