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;
20 /** CUP v0.11b 20160615 (GIT 4ac7450) generated parser.
22 @SuppressWarnings({"rawtypes"})
23 public class Parser extends java_cup.runtime.lr_parser {
25 public final Class getSymbolContainer() {
29 /** Default constructor. */
31 public Parser() {super();}
33 /** Constructor which sets the default scanner. */
35 public Parser(java_cup.runtime.Scanner s) {super(s);}
37 /** Constructor which sets the default scanner. */
38 public Parser(java_cup.runtime.Scanner s, java_cup.runtime.SymbolFactory sf) {super(s,sf);}
40 /** Production table. */
41 protected static final short _production_table[][] =
42 unpackFromStrings(new String[] {
43 "\000\054\000\002\002\003\000\002\002\004\000\002\002" +
44 "\003\000\002\002\003\000\002\002\003\000\002\003\011" +
45 "\000\002\004\004\000\002\004\002\000\002\005\011\000" +
46 "\002\005\011\000\002\006\004\000\002\006\002\000\002" +
47 "\007\005\000\002\007\004\000\002\007\005\000\002\007" +
48 "\004\000\002\007\007\000\002\007\007\000\002\007\010" +
49 "\000\002\007\010\000\002\011\004\000\002\011\002\000" +
50 "\002\012\007\000\002\013\004\000\002\013\002\000\002" +
51 "\014\006\000\002\014\006\000\002\015\004\000\002\015" +
52 "\002\000\002\016\012\000\002\017\003\000\002\017\005" +
53 "\000\002\017\002\000\002\020\007\000\002\021\004\000" +
54 "\002\021\002\000\002\022\004\000\002\022\003\000\002" +
55 "\023\007\000\002\024\004\000\002\024\002\000\002\025" +
56 "\005\000\002\025\005\000\002\025\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\140\000\014\002\uffe5\015\012\022\uffe5\025\007\026" +
65 "\011\001\002\000\004\002\001\001\002\000\004\002\ufffd" +
66 "\001\002\000\004\002\ufffe\001\002\000\004\030\134\001" +
67 "\002\000\006\002\uffff\022\120\001\002\000\004\030\100" +
68 "\001\002\000\004\016\015\001\002\000\004\002\014\001" +
69 "\002\000\004\002\000\001\002\000\004\030\016\001\002" +
70 "\000\004\012\017\001\002\000\010\013\ufffa\015\ufffa\017" +
71 "\ufffa\001\002\000\010\013\uffec\015\022\017\uffec\001\002" +
72 "\000\010\013\ufffb\015\ufffb\017\ufffb\001\002\000\006\027" +
73 "\045\030\044\001\002\000\006\013\026\017\025\001\002" +
74 "\000\006\013\uffed\017\uffed\001\002\000\004\030\027\001" +
75 "\002\000\004\002\ufffc\001\002\000\004\012\030\001\002" +
76 "\000\010\013\uffe9\020\uffe9\021\uffe9\001\002\000\010\013" +
77 "\034\020\033\021\035\001\002\000\010\013\uffea\020\uffea" +
78 "\021\uffea\001\002\000\004\014\041\001\002\000\006\013" +
79 "\uffeb\017\uffeb\001\002\000\004\014\036\001\002\000\004" +
80 "\031\037\001\002\000\004\004\040\001\002\000\010\013" +
81 "\uffe7\020\uffe7\021\uffe7\001\002\000\004\031\042\001\002" +
82 "\000\004\004\043\001\002\000\010\013\uffe8\020\uffe8\021" +
83 "\uffe8\001\002\000\004\030\073\001\002\000\004\030\046" +
84 "\001\002\000\004\006\047\001\002\000\010\007\ufff6\027" +
85 "\ufff6\030\ufff6\001\002\000\010\007\052\027\054\030\051" +
86 "\001\002\000\006\010\060\030\061\001\002\000\004\004" +
87 "\057\001\002\000\010\007\ufff7\027\ufff7\030\ufff7\001\002" +
88 "\000\004\030\055\001\002\000\012\005\056\007\ufff4\027" +
89 "\ufff4\030\ufff4\001\002\000\010\007\ufff5\027\ufff5\030\ufff5" +
90 "\001\002\000\010\013\ufff9\015\ufff9\017\ufff9\001\002\000" +
91 "\006\027\064\030\063\001\002\000\012\005\062\007\ufff2" +
92 "\027\ufff2\030\ufff2\001\002\000\010\007\ufff3\027\ufff3\030" +
93 "\ufff3\001\002\000\004\011\070\001\002\000\004\011\065" +
94 "\001\002\000\004\030\066\001\002\000\012\005\067\007" +
95 "\ufff1\027\ufff1\030\ufff1\001\002\000\010\007\uffef\027\uffef" +
96 "\030\uffef\001\002\000\004\030\071\001\002\000\012\005" +
97 "\072\007\ufff0\027\ufff0\030\ufff0\001\002\000\010\007\uffee" +
98 "\027\uffee\030\uffee\001\002\000\004\006\074\001\002\000" +
99 "\010\007\ufff6\027\ufff6\030\ufff6\001\002\000\010\007\076" +
100 "\027\054\030\051\001\002\000\004\004\077\001\002\000" +
101 "\010\013\ufff8\015\ufff8\017\ufff8\001\002\000\004\012\101" +
102 "\001\002\000\010\013\uffd9\027\uffd9\030\uffd9\001\002\000" +
103 "\010\013\104\027\106\030\103\001\002\000\006\010\111" +
104 "\030\112\001\002\000\004\002\uffdb\001\002\000\010\013" +
105 "\uffda\027\uffda\030\uffda\001\002\000\004\030\107\001\002" +
106 "\000\004\004\110\001\002\000\010\013\uffd8\027\uffd8\030" +
107 "\uffd8\001\002\000\004\030\114\001\002\000\004\004\113" +
108 "\001\002\000\010\013\uffd7\027\uffd7\030\uffd7\001\002\000" +
109 "\004\011\115\001\002\000\004\030\116\001\002\000\004" +
110 "\004\117\001\002\000\010\013\uffd6\027\uffd6\030\uffd6\001" +
111 "\002\000\004\030\122\001\002\000\006\002\uffe6\022\uffe6" +
112 "\001\002\000\004\023\123\001\002\000\010\005\uffe1\024" +
113 "\uffe1\030\125\001\002\000\006\005\126\024\127\001\002" +
114 "\000\006\005\uffe3\024\uffe3\001\002\000\004\030\133\001" +
115 "\002\000\004\016\130\001\002\000\004\030\131\001\002" +
116 "\000\004\004\132\001\002\000\006\002\uffe4\022\uffe4\001" +
117 "\002\000\006\005\uffe2\024\uffe2\001\002\000\004\012\135" +
118 "\001\002\000\006\013\uffde\030\uffde\001\002\000\006\013" +
119 "\141\030\140\001\002\000\006\013\uffdf\030\uffdf\001\002" +
120 "\000\010\005\142\013\uffdc\030\uffdc\001\002\000\004\002" +
121 "\uffe0\001\002\000\006\013\uffdd\030\uffdd\001\002" });
123 /** Access to parse-action table. */
124 public short[][] action_table() {return _action_table;}
126 /** <code>reduce_goto</code> table. */
127 protected static final short[][] _reduce_table =
128 unpackFromStrings(new String[] {
129 "\000\140\000\014\002\012\003\003\015\007\020\005\023" +
130 "\004\001\001\000\002\001\001\000\002\001\001\000\002" +
131 "\001\001\000\002\001\001\000\004\016\120\001\001\000" +
132 "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
133 "\001\001\000\002\001\001\000\002\001\001\000\004\004" +
134 "\017\001\001\000\006\005\020\011\022\001\001\000\002" +
135 "\001\001\000\002\001\001\000\004\012\023\001\001\000" +
136 "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
137 "\001\001\000\004\013\030\001\001\000\004\014\031\001" +
138 "\001\000\002\001\001\000\002\001\001\000\002\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\004\006\047\001\001\000\004\007\052\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\002" +
145 "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
146 "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
147 "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
148 "\002\001\001\000\002\001\001\000\002\001\001\000\004" +
149 "\006\074\001\001\000\004\007\052\001\001\000\002\001" +
150 "\001\000\002\001\001\000\002\001\001\000\004\024\101" +
151 "\001\001\000\004\025\104\001\001\000\002\001\001\000" +
152 "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
153 "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
154 "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
155 "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
156 "\002\001\001\000\002\001\001\000\004\017\123\001\001" +
157 "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
158 "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
159 "\001\001\000\002\001\001\000\002\001\001\000\004\021" +
160 "\135\001\001\000\004\022\136\001\001\000\002\001\001" +
161 "\000\002\001\001\000\002\001\001\000\002\001\001" });
163 /** Access to <code>reduce_goto</code> table. */
164 public short[][] reduce_table() {return _reduce_table;}
166 /** Instance of action encapsulation class. */
167 protected CUP$Parser$actions action_obj;
169 /** Action encapsulation object initializer. */
170 protected void init_actions()
172 action_obj = new CUP$Parser$actions(this);
175 /** Invoke a user supplied parse action. */
176 public java_cup.runtime.Symbol do_action(
178 java_cup.runtime.lr_parser parser,
179 java.util.Stack stack,
181 throws java.lang.Exception
183 /* call code in generated class */
184 return action_obj.CUP$Parser$do_action(act_num, parser, stack, top);
187 /** Indicates start state. */
188 public int start_state() {return 0;}
189 /** Indicates start production. */
190 public int start_production() {return 1;}
192 /** <code>EOF</code> Symbol index. */
193 public int EOF_sym() {return 0;}
195 /** <code>error</code> Symbol index. */
196 public int error_sym() {return 1;}
200 public Parser(Lexer lex, ComplexSymbolFactory sf) {
203 public static void main(String[] args) throws Exception {
204 // initialize the symbol factory
205 ComplexSymbolFactory csf = new ComplexSymbolFactory();
206 // create a buffering scanner wrapper
207 ScannerBuffer lexer = new ScannerBuffer(new Lexer(new BufferedReader(new FileReader(args[0])),csf));
209 Parser p = new Parser(lexer,csf);
210 ParseNode pn = (ParseNode) p.parse().value;
214 /** Cup generated class to encapsulate user supplied action code.*/
215 @SuppressWarnings({"rawtypes", "unchecked", "unused"})
216 class CUP$Parser$actions {
217 private final Parser parser;
220 CUP$Parser$actions(Parser parser) {
221 this.parser = parser;
224 /** Method 0 with the actual generated action code for actions 0 to 300. */
225 public final java_cup.runtime.Symbol CUP$Parser$do_action_part00000000(
226 int CUP$Parser$act_num,
227 java_cup.runtime.lr_parser CUP$Parser$parser,
228 java.util.Stack CUP$Parser$stack,
230 throws java.lang.Exception
232 /* Symbol object for return from actions */
233 java_cup.runtime.Symbol CUP$Parser$result;
235 /* select the action based on the action number */
236 switch (CUP$Parser$act_num)
238 /*. . . . . . . . . . . . . . . . . . . .*/
239 case 0: // policy ::= intface
241 ParseNode RESULT =null;
242 int inleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
243 int inright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
244 ParseNode in = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
246 ParseNode pn = new ParseNode("policy");
250 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);
252 return CUP$Parser$result;
254 /*. . . . . . . . . . . . . . . . . . . .*/
255 case 1: // $START ::= policy EOF
258 int start_valleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
259 int start_valright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
260 ParseNode start_val = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
262 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);
265 CUP$Parser$parser.done_parsing();
266 return CUP$Parser$result;
268 /*. . . . . . . . . . . . . . . . . . . .*/
269 case 2: // policy ::= reqlist
271 ParseNode RESULT =null;
272 int rlleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
273 int rlright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
274 ParseNode rl = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
276 ParseNode pn = new ParseNode("policy");
280 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);
282 return CUP$Parser$result;
284 /*. . . . . . . . . . . . . . . . . . . .*/
285 case 3: // policy ::= enumdec
287 ParseNode RESULT =null;
288 int enleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
289 int enright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
290 ParseNode en = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
292 ParseNode pn = new ParseNode("policy");
296 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);
298 return CUP$Parser$result;
300 /*. . . . . . . . . . . . . . . . . . . .*/
301 case 4: // policy ::= structdec
303 ParseNode RESULT =null;
304 int stleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
305 int stright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
306 ParseNode st = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
308 ParseNode pn = new ParseNode("policy");
312 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);
314 return CUP$Parser$result;
316 /*. . . . . . . . . . . . . . . . . . . .*/
317 case 5: // intface ::= PUBLIC INTERFACE IDENT BEGIN methlist capablist END
319 ParseNode RESULT =null;
320 int idintleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
321 int idintright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
322 Object idint = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
323 int mlleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
324 int mlright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
325 ParseNode ml = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
326 int clleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
327 int clright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
328 ParseNode cl = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
330 ParseNode pn = new ParseNode("interface");
331 pn.addChild("intface_ident").setLiteral(idint);
336 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);
338 return CUP$Parser$result;
340 /*. . . . . . . . . . . . . . . . . . . .*/
341 case 6: // methlist ::= methlist meth
343 ParseNode RESULT =null;
344 int mlleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
345 int mlright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
346 ParseNode ml = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
347 int mleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
348 int mright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
349 ParseNode m = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
354 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);
356 return CUP$Parser$result;
358 /*. . . . . . . . . . . . . . . . . . . .*/
359 case 7: // methlist ::=
361 ParseNode RESULT =null;
363 ParseNode pn = new ParseNode("method_list");
366 CUP$Parser$result = parser.getSymbolFactory().newSymbol("methlist",2, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
368 return CUP$Parser$result;
370 /*. . . . . . . . . . . . . . . . . . . .*/
371 case 8: // meth ::= PUBLIC TYPE IDENT LPAR paramlist RPAR SEMICOLON
373 ParseNode RESULT =null;
374 int typemethleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
375 int typemethright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
376 Object typemeth = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
377 int idmethleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
378 int idmethright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
379 Object idmeth = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
380 int plleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
381 int plright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
382 ParseNode pl = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
384 ParseNode pn = new ParseNode("method");
385 pn.addChild("method_type").setLiteral(typemeth);
386 pn.addChild("method_ident").setLiteral(idmeth);
390 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);
392 return CUP$Parser$result;
394 /*. . . . . . . . . . . . . . . . . . . .*/
395 case 9: // meth ::= PUBLIC IDENT IDENT LPAR paramlist RPAR SEMICOLON
397 ParseNode RESULT =null;
398 int clsmethleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
399 int clsmethright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
400 Object clsmeth = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
401 int idmethleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
402 int idmethright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
403 Object idmeth = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
404 int plleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
405 int plright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
406 ParseNode pl = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
408 ParseNode pn = new ParseNode("method");
409 pn.addChild("method_class").setLiteral(clsmeth);
410 pn.addChild("method_ident").setLiteral(idmeth);
414 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);
416 return CUP$Parser$result;
418 /*. . . . . . . . . . . . . . . . . . . .*/
419 case 10: // paramlist ::= paramlist param
421 ParseNode RESULT =null;
422 int plleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
423 int plright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
424 ParseNode pl = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
425 int pleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
426 int pright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
427 ParseNode p = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
432 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);
434 return CUP$Parser$result;
436 /*. . . . . . . . . . . . . . . . . . . .*/
437 case 11: // paramlist ::=
439 ParseNode RESULT =null;
441 ParseNode pn = new ParseNode("param_list");
444 CUP$Parser$result = parser.getSymbolFactory().newSymbol("paramlist",4, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
446 return CUP$Parser$result;
448 /*. . . . . . . . . . . . . . . . . . . .*/
449 case 12: // param ::= TYPE IDENT COMMA
451 ParseNode RESULT =null;
452 int typeprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
453 int typeprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
454 Object typeprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
455 int idprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
456 int idprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
457 Object idprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
459 ParseNode pn = new ParseNode("param");
460 pn.addChild("param_type").setLiteral(typeprm);
461 pn.addChild("param_ident").setLiteral(idprm);
464 CUP$Parser$result = parser.getSymbolFactory().newSymbol("param",5, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
466 return CUP$Parser$result;
468 /*. . . . . . . . . . . . . . . . . . . .*/
469 case 13: // param ::= TYPE IDENT
471 ParseNode RESULT =null;
472 int typeprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
473 int typeprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
474 Object typeprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
475 int idprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
476 int idprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
477 Object idprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
479 ParseNode pn = new ParseNode("param");
480 pn.addChild("param_type").setLiteral(typeprm);
481 pn.addChild("param_ident").setLiteral(idprm);
484 CUP$Parser$result = parser.getSymbolFactory().newSymbol("param",5, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
486 return CUP$Parser$result;
488 /*. . . . . . . . . . . . . . . . . . . .*/
489 case 14: // param ::= IDENT IDENT COMMA
491 ParseNode RESULT =null;
492 int clsprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
493 int clsprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
494 Object clsprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
495 int idprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
496 int idprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
497 Object idprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
499 ParseNode pn = new ParseNode("param");
500 pn.addChild("param_class").setLiteral(clsprm);
501 pn.addChild("param_ident").setLiteral(idprm);
504 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);
506 return CUP$Parser$result;
508 /*. . . . . . . . . . . . . . . . . . . .*/
509 case 15: // param ::= IDENT IDENT
511 ParseNode RESULT =null;
512 int clsprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
513 int clsprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
514 Object clsprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
515 int idprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
516 int idprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
517 Object idprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
519 ParseNode pn = new ParseNode("param");
520 pn.addChild("param_class").setLiteral(clsprm);
521 pn.addChild("param_ident").setLiteral(idprm);
524 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);
526 return CUP$Parser$result;
528 /*. . . . . . . . . . . . . . . . . . . .*/
529 case 16: // param ::= IDENT LANG TYPE RANG IDENT
531 ParseNode RESULT =null;
532 int clsprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
533 int clsprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
534 Object clsprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
535 int typegenleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
536 int typegenright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
537 Object typegen = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
538 int idprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
539 int idprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
540 Object idprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
542 ParseNode pn = new ParseNode("param");
543 pn.addChild("param_class").setLiteral((String)clsprm + "<" + typegen + ">");
544 pn.addChild("param_ident").setLiteral(idprm);
547 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);
549 return CUP$Parser$result;
551 /*. . . . . . . . . . . . . . . . . . . .*/
552 case 17: // param ::= IDENT LANG IDENT RANG IDENT
554 ParseNode RESULT =null;
555 int clsprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
556 int clsprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
557 Object clsprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
558 int clsgenleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
559 int clsgenright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
560 Object clsgen = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
561 int idprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
562 int idprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
563 Object idprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
565 ParseNode pn = new ParseNode("param");
566 pn.addChild("param_class").setLiteral((String)clsprm + "<" + clsgen + ">");
567 pn.addChild("param_ident").setLiteral(idprm);
570 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);
572 return CUP$Parser$result;
574 /*. . . . . . . . . . . . . . . . . . . .*/
575 case 18: // param ::= IDENT LANG TYPE RANG IDENT COMMA
577 ParseNode RESULT =null;
578 int clsprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
579 int clsprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
580 Object clsprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
581 int typegenleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left;
582 int typegenright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right;
583 Object typegen = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
584 int idprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
585 int idprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
586 Object idprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
588 ParseNode pn = new ParseNode("param");
589 pn.addChild("param_class").setLiteral((String)clsprm + "<" + typegen + ">");
590 pn.addChild("param_ident").setLiteral(idprm);
593 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);
595 return CUP$Parser$result;
597 /*. . . . . . . . . . . . . . . . . . . .*/
598 case 19: // param ::= IDENT LANG IDENT RANG IDENT COMMA
600 ParseNode RESULT =null;
601 int clsprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
602 int clsprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
603 Object clsprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
604 int clsgenleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left;
605 int clsgenright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right;
606 Object clsgen = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
607 int idprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
608 int idprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
609 Object idprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
611 ParseNode pn = new ParseNode("param");
612 pn.addChild("param_class").setLiteral((String)clsprm + "<" + clsgen + ">");
613 pn.addChild("param_ident").setLiteral(idprm);
616 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);
618 return CUP$Parser$result;
620 /*. . . . . . . . . . . . . . . . . . . .*/
621 case 20: // capablist ::= capablist capab
623 ParseNode RESULT =null;
624 int clleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
625 int clright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
626 ParseNode cl = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
627 int capleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
628 int capright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
629 ParseNode cap = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
634 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);
636 return CUP$Parser$result;
638 /*. . . . . . . . . . . . . . . . . . . .*/
639 case 21: // capablist ::=
641 ParseNode RESULT =null;
643 ParseNode pn = new ParseNode("capab_list");
646 CUP$Parser$result = parser.getSymbolFactory().newSymbol("capablist",7, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
648 return CUP$Parser$result;
650 /*. . . . . . . . . . . . . . . . . . . .*/
651 case 22: // capab ::= CAPABILITY IDENT BEGIN capabcont END
653 ParseNode RESULT =null;
654 int idcapleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left;
655 int idcapright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right;
656 Object idcap = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
657 int ccontleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
658 int ccontright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
659 ParseNode ccont = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
661 ParseNode pn = new ParseNode("capability");
662 pn.addChild("capab_ident").setLiteral(idcap);
666 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);
668 return CUP$Parser$result;
670 /*. . . . . . . . . . . . . . . . . . . .*/
671 case 23: // capabcont ::= capabcont cont
673 ParseNode RESULT =null;
674 int ccontleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
675 int ccontright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
676 ParseNode ccont = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
677 int cntleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
678 int cntright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
679 ParseNode cnt = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
684 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);
686 return CUP$Parser$result;
688 /*. . . . . . . . . . . . . . . . . . . .*/
689 case 24: // capabcont ::=
691 ParseNode RESULT =null;
693 ParseNode pn = new ParseNode("capab_content");
696 CUP$Parser$result = parser.getSymbolFactory().newSymbol("capabcont",9, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
698 return CUP$Parser$result;
700 /*. . . . . . . . . . . . . . . . . . . .*/
701 case 25: // cont ::= DESCRIPTION ASSIGN STRINGCONST SEMICOLON
703 ParseNode RESULT =null;
704 int dscleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left;
705 int dscright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right;
706 Object dsc = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
707 int strdscleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
708 int strdscright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
709 Object strdsc = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
711 ParseNode pn = new ParseNode("capab_content");
712 pn.addChild("capab_desc").setLiteral(strdsc);
715 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);
717 return CUP$Parser$result;
719 /*. . . . . . . . . . . . . . . . . . . .*/
720 case 26: // cont ::= METHOD ASSIGN STRINGCONST SEMICOLON
722 ParseNode RESULT =null;
723 int mtdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left;
724 int mtdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right;
725 Object mtd = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
726 int strmethleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
727 int strmethright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
728 Object strmeth = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
730 ParseNode pn = new ParseNode("capab_content");
731 pn.addChild("capab_meth").setLiteral(strmeth);
734 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);
736 return CUP$Parser$result;
738 /*. . . . . . . . . . . . . . . . . . . .*/
739 case 27: // reqlist ::= reqlist require
741 ParseNode RESULT =null;
742 int rlleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
743 int rlright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
744 ParseNode rl = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
745 int reqleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
746 int reqright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
747 ParseNode req = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
752 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);
754 return CUP$Parser$result;
756 /*. . . . . . . . . . . . . . . . . . . .*/
757 case 28: // reqlist ::=
759 ParseNode RESULT =null;
761 ParseNode pn = new ParseNode("reqlist");
764 CUP$Parser$result = parser.getSymbolFactory().newSymbol("reqlist",11, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
766 return CUP$Parser$result;
768 /*. . . . . . . . . . . . . . . . . . . .*/
769 case 29: // require ::= REQUIRES IDENT WITH capintlist AS INTERFACE IDENT SEMICOLON
771 ParseNode RESULT =null;
772 int idintleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).left;
773 int idintright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).right;
774 Object idint = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-6)).value;
775 int cilleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
776 int cilright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
777 ParseNode cil = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
778 int idnewintleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
779 int idnewintright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
780 Object idnewint = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
782 ParseNode pn = new ParseNode("requires");
783 pn.addChild("intface_ident").setLiteral(idint);
785 pn.addChild("new_intface_ident").setLiteral(idnewint);
788 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);
790 return CUP$Parser$result;
792 /*. . . . . . . . . . . . . . . . . . . .*/
793 case 30: // capintlist ::= IDENT
795 ParseNode RESULT =null;
796 int idcapleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
797 int idcapright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
798 Object idcap = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
800 ParseNode pn = new ParseNode("capab_ident_list");
801 pn.addChild("capab_ident").setLiteral(idcap);
804 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);
806 return CUP$Parser$result;
808 /*. . . . . . . . . . . . . . . . . . . .*/
809 case 31: // capintlist ::= capintlist COMMA IDENT
811 ParseNode RESULT =null;
812 int cilleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
813 int cilright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
814 ParseNode cil = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
815 int idcapleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
816 int idcapright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
817 Object idcap = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
819 cil.addChild("capab_ident").setLiteral(idcap);
822 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);
824 return CUP$Parser$result;
826 /*. . . . . . . . . . . . . . . . . . . .*/
827 case 32: // capintlist ::=
829 ParseNode RESULT =null;
831 ParseNode pn = new ParseNode("capab_ident_list");
834 CUP$Parser$result = parser.getSymbolFactory().newSymbol("capintlist",13, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
836 return CUP$Parser$result;
838 /*. . . . . . . . . . . . . . . . . . . .*/
839 case 33: // enumdec ::= ENUM IDENT BEGIN enumlist END
841 ParseNode RESULT =null;
842 int idenumdecleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left;
843 int idenumdecright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right;
844 Object idenumdec = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
845 int elleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
846 int elright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
847 ParseNode el = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
849 ParseNode pn = new ParseNode("enum_dec");
850 pn.addChild("enum_dec_ident").setLiteral(idenumdec);
854 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);
856 return CUP$Parser$result;
858 /*. . . . . . . . . . . . . . . . . . . .*/
859 case 34: // enumlist ::= enumlist enummem
861 ParseNode RESULT =null;
862 int elleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
863 int elright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
864 ParseNode el = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
865 int eleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
866 int eright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
867 ParseNode e = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
872 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);
874 return CUP$Parser$result;
876 /*. . . . . . . . . . . . . . . . . . . .*/
877 case 35: // enumlist ::=
879 ParseNode RESULT =null;
881 ParseNode pn = new ParseNode("enum_list");
884 CUP$Parser$result = parser.getSymbolFactory().newSymbol("enumlist",15, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
886 return CUP$Parser$result;
888 /*. . . . . . . . . . . . . . . . . . . .*/
889 case 36: // enummem ::= IDENT COMMA
891 ParseNode RESULT =null;
892 int idenumleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
893 int idenumright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
894 Object idenum = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
896 ParseNode pn = new ParseNode("enum_mem");
897 pn.addChild("enum_ident").setLiteral(idenum);
900 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);
902 return CUP$Parser$result;
904 /*. . . . . . . . . . . . . . . . . . . .*/
905 case 37: // enummem ::= IDENT
907 ParseNode RESULT =null;
908 int idenumleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
909 int idenumright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
910 Object idenum = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
912 ParseNode pn = new ParseNode("enum_mem");
913 pn.addChild("enum_ident").setLiteral(idenum);
916 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);
918 return CUP$Parser$result;
920 /*. . . . . . . . . . . . . . . . . . . .*/
921 case 38: // structdec ::= STRUCT IDENT BEGIN structlist END
923 ParseNode RESULT =null;
924 int idstructdecleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left;
925 int idstructdecright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right;
926 Object idstructdec = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
927 int slleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
928 int slright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
929 ParseNode sl = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
931 ParseNode pn = new ParseNode("struct_dec");
932 pn.addChild("struct_dec_ident").setLiteral(idstructdec);
936 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);
938 return CUP$Parser$result;
940 /*. . . . . . . . . . . . . . . . . . . .*/
941 case 39: // structlist ::= structlist structmem
943 ParseNode RESULT =null;
944 int slleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
945 int slright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
946 ParseNode sl = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
947 int sleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
948 int sright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
949 ParseNode s = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
954 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);
956 return CUP$Parser$result;
958 /*. . . . . . . . . . . . . . . . . . . .*/
959 case 40: // structlist ::=
961 ParseNode RESULT =null;
963 ParseNode pn = new ParseNode("enum_list");
966 CUP$Parser$result = parser.getSymbolFactory().newSymbol("structlist",18, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
968 return CUP$Parser$result;
970 /*. . . . . . . . . . . . . . . . . . . .*/
971 case 41: // structmem ::= TYPE IDENT SEMICOLON
973 ParseNode RESULT =null;
974 int typestrleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
975 int typestrright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
976 Object typestr = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
977 int idstrleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
978 int idstrright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
979 Object idstr = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
981 ParseNode pn = new ParseNode("struct_mem");
982 pn.addChild("struct_type").setLiteral(typestr);
983 pn.addChild("struct_ident").setLiteral(idstr);
986 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);
988 return CUP$Parser$result;
990 /*. . . . . . . . . . . . . . . . . . . .*/
991 case 42: // structmem ::= IDENT IDENT SEMICOLON
993 ParseNode RESULT =null;
994 int clsstrleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
995 int clsstrright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
996 Object clsstr = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
997 int idstrleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
998 int idstrright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
999 Object idstr = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
1001 ParseNode pn = new ParseNode("struct_mem");
1002 pn.addChild("struct_class").setLiteral(clsstr);
1003 pn.addChild("struct_ident").setLiteral(idstr);
1006 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);
1008 return CUP$Parser$result;
1010 /*. . . . . . . . . . . . . . . . . . . .*/
1011 case 43: // structmem ::= IDENT LANG IDENT RANG IDENT SEMICOLON
1013 ParseNode RESULT =null;
1014 int clsstrleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
1015 int clsstrright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
1016 Object clsstr = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
1017 int clsgenleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left;
1018 int clsgenright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right;
1019 Object clsgen = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
1020 int idstrleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
1021 int idstrright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
1022 Object idstr = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
1024 ParseNode pn = new ParseNode("struct_mem");
1025 pn.addChild("struct_class").setLiteral((String)clsstr + "<" + clsgen + ">");
1026 pn.addChild("struct_ident").setLiteral(idstr);
1029 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);
1031 return CUP$Parser$result;
1035 throw new Exception(
1036 "Invalid action number "+CUP$Parser$act_num+"found in internal parse table");
1039 } /* end of method */
1041 /** Method splitting the generated action code into several parts. */
1042 public final java_cup.runtime.Symbol CUP$Parser$do_action(
1043 int CUP$Parser$act_num,
1044 java_cup.runtime.lr_parser CUP$Parser$parser,
1045 java.util.Stack CUP$Parser$stack,
1047 throws java.lang.Exception
1049 return CUP$Parser$do_action_part00000000(