1 package iotpolicy.parser;
3 //----------------------------------------------------
4 // The following code was generated by CUP v0.11b 20160615 (GIT 4ac7450)
5 //----------------------------------------------------
7 import java_cup.runtime.ComplexSymbolFactory;
8 import java_cup.runtime.ScannerBuffer;
9 import java_cup.runtime.XMLElement;
10 import javax.xml.stream.XMLOutputFactory;
11 import javax.xml.stream.XMLStreamWriter;
13 import javax.xml.transform.*;
14 import javax.xml.transform.stream.*;
15 import java_cup.runtime.XMLElement;
17 import iotpolicy.tree.ParseNode;
19 /** CUP v0.11b 20160615 (GIT 4ac7450) generated parser.
21 @SuppressWarnings({"rawtypes"})
22 public class Parser extends java_cup.runtime.lr_parser {
24 public final Class getSymbolContainer() {
28 /** Default constructor. */
30 public Parser() {super();}
32 /** Constructor which sets the default scanner. */
34 public Parser(java_cup.runtime.Scanner s) {super(s);}
36 /** Constructor which sets the default scanner. */
37 public Parser(java_cup.runtime.Scanner s, java_cup.runtime.SymbolFactory sf) {super(s,sf);}
39 /** Production table. */
40 protected static final short _production_table[][] =
41 unpackFromStrings(new String[] {
42 "\000\056\000\002\002\003\000\002\002\004\000\002\002" +
43 "\003\000\002\002\003\000\002\002\003\000\002\003\011" +
44 "\000\002\004\004\000\002\004\002\000\002\005\011\000" +
45 "\002\005\011\000\002\005\014\000\002\005\014\000\002" +
46 "\006\004\000\002\006\002\000\002\007\005\000\002\007" +
47 "\004\000\002\007\005\000\002\007\004\000\002\007\007" +
48 "\000\002\007\007\000\002\007\010\000\002\007\010\000" +
49 "\002\011\004\000\002\011\002\000\002\012\007\000\002" +
50 "\013\004\000\002\013\002\000\002\014\006\000\002\014" +
51 "\006\000\002\015\004\000\002\015\002\000\002\016\012" +
52 "\000\002\017\003\000\002\017\005\000\002\017\002\000" +
53 "\002\020\007\000\002\021\004\000\002\021\002\000\002" +
54 "\022\004\000\002\022\003\000\002\023\007\000\002\024" +
55 "\004\000\002\024\002\000\002\025\005\000\002\025\005" +
56 "\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\157\000\014\002\uffe3\015\012\022\uffe3\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\153\001" +
67 "\002\000\006\002\uffff\022\137\001\002\000\004\030\117" +
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\uffea\015\022\017\uffea\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\uffeb\017\uffeb\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\uffe7\020\uffe7\021\uffe7\001\002\000\010\013" +
77 "\034\020\033\021\035\001\002\000\010\013\uffe8\020\uffe8" +
78 "\021\uffe8\001\002\000\004\014\041\001\002\000\006\013" +
79 "\uffe9\017\uffe9\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 "\uffe5\020\uffe5\021\uffe5\001\002\000\004\031\042\001\002" +
82 "\000\004\004\043\001\002\000\010\013\uffe6\020\uffe6\021" +
83 "\uffe6\001\002\000\006\010\073\030\074\001\002\000\004" +
84 "\030\046\001\002\000\004\006\047\001\002\000\010\007" +
85 "\ufff4\027\ufff4\030\ufff4\001\002\000\010\007\052\027\054" +
86 "\030\051\001\002\000\006\010\060\030\061\001\002\000" +
87 "\004\004\057\001\002\000\010\007\ufff5\027\ufff5\030\ufff5" +
88 "\001\002\000\004\030\055\001\002\000\012\005\056\007" +
89 "\ufff2\027\ufff2\030\ufff2\001\002\000\010\007\ufff3\027\ufff3" +
90 "\030\ufff3\001\002\000\010\013\ufff9\015\ufff9\017\ufff9\001" +
91 "\002\000\006\027\064\030\063\001\002\000\012\005\062" +
92 "\007\ufff0\027\ufff0\030\ufff0\001\002\000\010\007\ufff1\027" +
93 "\ufff1\030\ufff1\001\002\000\004\011\070\001\002\000\004" +
94 "\011\065\001\002\000\004\030\066\001\002\000\012\005" +
95 "\067\007\uffef\027\uffef\030\uffef\001\002\000\010\007\uffed" +
96 "\027\uffed\030\uffed\001\002\000\004\030\071\001\002\000" +
97 "\012\005\072\007\uffee\027\uffee\030\uffee\001\002\000\010" +
98 "\007\uffec\027\uffec\030\uffec\001\002\000\006\027\102\030" +
99 "\101\001\002\000\004\006\075\001\002\000\010\007\ufff4" +
100 "\027\ufff4\030\ufff4\001\002\000\010\007\077\027\054\030" +
101 "\051\001\002\000\004\004\100\001\002\000\010\013\ufff8" +
102 "\015\ufff8\017\ufff8\001\002\000\004\011\111\001\002\000" +
103 "\004\011\103\001\002\000\004\030\104\001\002\000\004" +
104 "\006\105\001\002\000\010\007\ufff4\027\ufff4\030\ufff4\001" +
105 "\002\000\010\007\107\027\054\030\051\001\002\000\004" +
106 "\004\110\001\002\000\010\013\ufff7\015\ufff7\017\ufff7\001" +
107 "\002\000\004\030\112\001\002\000\004\006\113\001\002" +
108 "\000\010\007\ufff4\027\ufff4\030\ufff4\001\002\000\010\007" +
109 "\115\027\054\030\051\001\002\000\004\004\116\001\002" +
110 "\000\010\013\ufff6\015\ufff6\017\ufff6\001\002\000\004\012" +
111 "\120\001\002\000\010\013\uffd7\027\uffd7\030\uffd7\001\002" +
112 "\000\010\013\123\027\125\030\122\001\002\000\006\010" +
113 "\130\030\131\001\002\000\004\002\uffd9\001\002\000\010" +
114 "\013\uffd8\027\uffd8\030\uffd8\001\002\000\004\030\126\001" +
115 "\002\000\004\004\127\001\002\000\010\013\uffd6\027\uffd6" +
116 "\030\uffd6\001\002\000\004\030\133\001\002\000\004\004" +
117 "\132\001\002\000\010\013\uffd5\027\uffd5\030\uffd5\001\002" +
118 "\000\004\011\134\001\002\000\004\030\135\001\002\000" +
119 "\004\004\136\001\002\000\010\013\uffd4\027\uffd4\030\uffd4" +
120 "\001\002\000\004\030\141\001\002\000\006\002\uffe4\022" +
121 "\uffe4\001\002\000\004\023\142\001\002\000\010\005\uffdf" +
122 "\024\uffdf\030\144\001\002\000\006\005\145\024\146\001" +
123 "\002\000\006\005\uffe1\024\uffe1\001\002\000\004\030\152" +
124 "\001\002\000\004\016\147\001\002\000\004\030\150\001" +
125 "\002\000\004\004\151\001\002\000\006\002\uffe2\022\uffe2" +
126 "\001\002\000\006\005\uffe0\024\uffe0\001\002\000\004\012" +
127 "\154\001\002\000\006\013\uffdc\030\uffdc\001\002\000\006" +
128 "\013\160\030\157\001\002\000\006\013\uffdd\030\uffdd\001" +
129 "\002\000\010\005\161\013\uffda\030\uffda\001\002\000\004" +
130 "\002\uffde\001\002\000\006\013\uffdb\030\uffdb\001\002" });
132 /** Access to parse-action table. */
133 public short[][] action_table() {return _action_table;}
135 /** <code>reduce_goto</code> table. */
136 protected static final short[][] _reduce_table =
137 unpackFromStrings(new String[] {
138 "\000\157\000\014\002\012\003\003\015\007\020\005\023" +
139 "\004\001\001\000\002\001\001\000\002\001\001\000\002" +
140 "\001\001\000\002\001\001\000\004\016\137\001\001\000" +
141 "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
142 "\001\001\000\002\001\001\000\002\001\001\000\004\004" +
143 "\017\001\001\000\006\005\020\011\022\001\001\000\002" +
144 "\001\001\000\002\001\001\000\004\012\023\001\001\000" +
145 "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
146 "\001\001\000\004\013\030\001\001\000\004\014\031\001" +
147 "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
148 "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
149 "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
150 "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
151 "\001\000\004\006\047\001\001\000\004\007\052\001\001" +
152 "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
153 "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
154 "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
155 "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
156 "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
157 "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
158 "\001\001\000\004\006\075\001\001\000\004\007\052\001" +
159 "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
160 "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
161 "\004\006\105\001\001\000\004\007\052\001\001\000\002" +
162 "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
163 "\001\000\004\006\113\001\001\000\004\007\052\001\001" +
164 "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
165 "\004\024\120\001\001\000\004\025\123\001\001\000\002" +
166 "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
167 "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
168 "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
169 "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
170 "\001\001\000\002\001\001\000\002\001\001\000\004\017" +
171 "\142\001\001\000\002\001\001\000\002\001\001\000\002" +
172 "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
173 "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
174 "\000\004\021\154\001\001\000\004\022\155\001\001\000" +
175 "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
178 /** Access to <code>reduce_goto</code> table. */
179 public short[][] reduce_table() {return _reduce_table;}
181 /** Instance of action encapsulation class. */
182 protected CUP$Parser$actions action_obj;
184 /** Action encapsulation object initializer. */
185 protected void init_actions()
187 action_obj = new CUP$Parser$actions(this);
190 /** Invoke a user supplied parse action. */
191 public java_cup.runtime.Symbol do_action(
193 java_cup.runtime.lr_parser parser,
194 java.util.Stack stack,
196 throws java.lang.Exception
198 /* call code in generated class */
199 return action_obj.CUP$Parser$do_action(act_num, parser, stack, top);
202 /** Indicates start state. */
203 public int start_state() {return 0;}
204 /** Indicates start production. */
205 public int start_production() {return 1;}
207 /** <code>EOF</code> Symbol index. */
208 public int EOF_sym() {return 0;}
210 /** <code>error</code> Symbol index. */
211 public int error_sym() {return 1;}
215 public Parser(Lexer lex, ComplexSymbolFactory sf) {
218 public static void main(String[] args) throws Exception {
219 // initialize the symbol factory
220 ComplexSymbolFactory csf = new ComplexSymbolFactory();
221 // create a buffering scanner wrapper
222 ScannerBuffer lexer = new ScannerBuffer(new Lexer(new BufferedReader(new FileReader(args[0])),csf));
224 Parser p = new Parser(lexer,csf);
225 ParseNode pn = (ParseNode) p.parse().value;
229 /** Cup generated class to encapsulate user supplied action code.*/
230 @SuppressWarnings({"rawtypes", "unchecked", "unused"})
231 class CUP$Parser$actions {
232 private final Parser parser;
235 CUP$Parser$actions(Parser parser) {
236 this.parser = parser;
239 /** Method 0 with the actual generated action code for actions 0 to 300. */
240 public final java_cup.runtime.Symbol CUP$Parser$do_action_part00000000(
241 int CUP$Parser$act_num,
242 java_cup.runtime.lr_parser CUP$Parser$parser,
243 java.util.Stack CUP$Parser$stack,
245 throws java.lang.Exception
247 /* Symbol object for return from actions */
248 java_cup.runtime.Symbol CUP$Parser$result;
250 /* select the action based on the action number */
251 switch (CUP$Parser$act_num)
253 /*. . . . . . . . . . . . . . . . . . . .*/
254 case 0: // policy ::= intface
256 ParseNode RESULT =null;
257 int inleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
258 int inright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
259 ParseNode in = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
261 ParseNode pn = new ParseNode("policy");
265 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);
267 return CUP$Parser$result;
269 /*. . . . . . . . . . . . . . . . . . . .*/
270 case 1: // $START ::= policy EOF
273 int start_valleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
274 int start_valright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
275 ParseNode start_val = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
277 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);
280 CUP$Parser$parser.done_parsing();
281 return CUP$Parser$result;
283 /*. . . . . . . . . . . . . . . . . . . .*/
284 case 2: // policy ::= reqlist
286 ParseNode RESULT =null;
287 int rlleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
288 int rlright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
289 ParseNode rl = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
291 ParseNode pn = new ParseNode("policy");
295 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);
297 return CUP$Parser$result;
299 /*. . . . . . . . . . . . . . . . . . . .*/
300 case 3: // policy ::= enumdec
302 ParseNode RESULT =null;
303 int enleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
304 int enright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
305 ParseNode en = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
307 ParseNode pn = new ParseNode("policy");
311 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);
313 return CUP$Parser$result;
315 /*. . . . . . . . . . . . . . . . . . . .*/
316 case 4: // policy ::= structdec
318 ParseNode RESULT =null;
319 int stleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
320 int stright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
321 ParseNode st = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
323 ParseNode pn = new ParseNode("policy");
327 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);
329 return CUP$Parser$result;
331 /*. . . . . . . . . . . . . . . . . . . .*/
332 case 5: // intface ::= PUBLIC INTERFACE IDENT BEGIN methlist capablist END
334 ParseNode RESULT =null;
335 int idintleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
336 int idintright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
337 Object idint = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
338 int mlleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
339 int mlright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
340 ParseNode ml = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
341 int clleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
342 int clright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
343 ParseNode cl = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
345 ParseNode pn = new ParseNode("interface");
346 pn.addChild("intface_ident").setLiteral(idint);
351 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);
353 return CUP$Parser$result;
355 /*. . . . . . . . . . . . . . . . . . . .*/
356 case 6: // methlist ::= methlist meth
358 ParseNode RESULT =null;
359 int mlleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
360 int mlright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
361 ParseNode ml = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
362 int mleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
363 int mright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
364 ParseNode m = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
369 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);
371 return CUP$Parser$result;
373 /*. . . . . . . . . . . . . . . . . . . .*/
374 case 7: // methlist ::=
376 ParseNode RESULT =null;
378 ParseNode pn = new ParseNode("method_list");
381 CUP$Parser$result = parser.getSymbolFactory().newSymbol("methlist",2, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
383 return CUP$Parser$result;
385 /*. . . . . . . . . . . . . . . . . . . .*/
386 case 8: // meth ::= PUBLIC TYPE IDENT LPAR paramlist RPAR SEMICOLON
388 ParseNode RESULT =null;
389 int typemethleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
390 int typemethright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
391 Object typemeth = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
392 int idmethleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
393 int idmethright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
394 Object idmeth = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
395 int plleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
396 int plright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
397 ParseNode pl = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
399 ParseNode pn = new ParseNode("method");
400 pn.addChild("method_type").setLiteral(typemeth);
401 pn.addChild("method_ident").setLiteral(idmeth);
405 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);
407 return CUP$Parser$result;
409 /*. . . . . . . . . . . . . . . . . . . .*/
410 case 9: // meth ::= PUBLIC IDENT IDENT LPAR paramlist RPAR SEMICOLON
412 ParseNode RESULT =null;
413 int clsmethleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
414 int clsmethright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
415 Object clsmeth = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
416 int idmethleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
417 int idmethright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
418 Object idmeth = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
419 int plleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
420 int plright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
421 ParseNode pl = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
423 ParseNode pn = new ParseNode("method");
424 pn.addChild("method_class").setLiteral(clsmeth);
425 pn.addChild("method_ident").setLiteral(idmeth);
429 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);
431 return CUP$Parser$result;
433 /*. . . . . . . . . . . . . . . . . . . .*/
434 case 10: // meth ::= PUBLIC IDENT LANG TYPE RANG IDENT LPAR paramlist RPAR SEMICOLON
436 ParseNode RESULT =null;
437 int clsmethleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).left;
438 int clsmethright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).right;
439 Object clsmeth = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-8)).value;
440 int typegenleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).left;
441 int typegenright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).right;
442 Object typegen = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-6)).value;
443 int idmethleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
444 int idmethright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
445 Object idmeth = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
446 int plleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
447 int plright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
448 ParseNode pl = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
450 ParseNode pn = new ParseNode("method");
451 pn.addChild("method_class").setLiteral((String)clsmeth + "<" + typegen + ">");
452 pn.addChild("method_ident").setLiteral(idmeth);
456 CUP$Parser$result = parser.getSymbolFactory().newSymbol("meth",3, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-9)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
458 return CUP$Parser$result;
460 /*. . . . . . . . . . . . . . . . . . . .*/
461 case 11: // meth ::= PUBLIC IDENT LANG IDENT RANG IDENT LPAR paramlist RPAR SEMICOLON
463 ParseNode RESULT =null;
464 int clsmethleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).left;
465 int clsmethright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).right;
466 Object clsmeth = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-8)).value;
467 int clsgenleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).left;
468 int clsgenright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).right;
469 Object clsgen = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-6)).value;
470 int idmethleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
471 int idmethright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
472 Object idmeth = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
473 int plleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
474 int plright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
475 ParseNode pl = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
477 ParseNode pn = new ParseNode("method");
478 pn.addChild("method_class").setLiteral((String)clsmeth + "<" + clsgen + ">");
479 pn.addChild("method_ident").setLiteral(idmeth);
483 CUP$Parser$result = parser.getSymbolFactory().newSymbol("meth",3, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-9)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
485 return CUP$Parser$result;
487 /*. . . . . . . . . . . . . . . . . . . .*/
488 case 12: // paramlist ::= paramlist param
490 ParseNode RESULT =null;
491 int plleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
492 int plright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
493 ParseNode pl = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
494 int pleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
495 int pright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
496 ParseNode p = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
501 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);
503 return CUP$Parser$result;
505 /*. . . . . . . . . . . . . . . . . . . .*/
506 case 13: // paramlist ::=
508 ParseNode RESULT =null;
510 ParseNode pn = new ParseNode("param_list");
513 CUP$Parser$result = parser.getSymbolFactory().newSymbol("paramlist",4, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
515 return CUP$Parser$result;
517 /*. . . . . . . . . . . . . . . . . . . .*/
518 case 14: // param ::= TYPE IDENT COMMA
520 ParseNode RESULT =null;
521 int typeprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
522 int typeprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
523 Object typeprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
524 int idprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
525 int idprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
526 Object idprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
528 ParseNode pn = new ParseNode("param");
529 pn.addChild("param_type").setLiteral(typeprm);
530 pn.addChild("param_ident").setLiteral(idprm);
533 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);
535 return CUP$Parser$result;
537 /*. . . . . . . . . . . . . . . . . . . .*/
538 case 15: // param ::= TYPE IDENT
540 ParseNode RESULT =null;
541 int typeprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
542 int typeprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
543 Object typeprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
544 int idprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
545 int idprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
546 Object idprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
548 ParseNode pn = new ParseNode("param");
549 pn.addChild("param_type").setLiteral(typeprm);
550 pn.addChild("param_ident").setLiteral(idprm);
553 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);
555 return CUP$Parser$result;
557 /*. . . . . . . . . . . . . . . . . . . .*/
558 case 16: // param ::= IDENT IDENT COMMA
560 ParseNode RESULT =null;
561 int clsprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
562 int clsprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
563 Object clsprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
564 int idprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
565 int idprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
566 Object idprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
568 ParseNode pn = new ParseNode("param");
569 pn.addChild("param_class").setLiteral(clsprm);
570 pn.addChild("param_ident").setLiteral(idprm);
573 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);
575 return CUP$Parser$result;
577 /*. . . . . . . . . . . . . . . . . . . .*/
578 case 17: // param ::= IDENT IDENT
580 ParseNode RESULT =null;
581 int clsprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
582 int clsprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
583 Object clsprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
584 int idprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
585 int idprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
586 Object idprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
588 ParseNode pn = new ParseNode("param");
589 pn.addChild("param_class").setLiteral(clsprm);
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-1)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
595 return CUP$Parser$result;
597 /*. . . . . . . . . . . . . . . . . . . .*/
598 case 18: // param ::= IDENT LANG TYPE RANG IDENT
600 ParseNode RESULT =null;
601 int clsprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
602 int clsprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
603 Object clsprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
604 int typegenleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
605 int typegenright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
606 Object typegen = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
607 int idprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
608 int idprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
609 Object idprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
611 ParseNode pn = new ParseNode("param");
612 pn.addChild("param_class").setLiteral((String)clsprm + "<" + typegen + ">");
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-4)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
618 return CUP$Parser$result;
620 /*. . . . . . . . . . . . . . . . . . . .*/
621 case 19: // param ::= IDENT LANG IDENT RANG IDENT
623 ParseNode RESULT =null;
624 int clsprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
625 int clsprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
626 Object clsprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
627 int clsgenleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
628 int clsgenright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
629 Object clsgen = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
630 int idprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
631 int idprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
632 Object idprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
634 ParseNode pn = new ParseNode("param");
635 pn.addChild("param_class").setLiteral((String)clsprm + "<" + clsgen + ">");
636 pn.addChild("param_ident").setLiteral(idprm);
639 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);
641 return CUP$Parser$result;
643 /*. . . . . . . . . . . . . . . . . . . .*/
644 case 20: // param ::= IDENT LANG TYPE RANG IDENT COMMA
646 ParseNode RESULT =null;
647 int clsprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
648 int clsprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
649 Object clsprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
650 int typegenleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left;
651 int typegenright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right;
652 Object typegen = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
653 int idprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
654 int idprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
655 Object idprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
657 ParseNode pn = new ParseNode("param");
658 pn.addChild("param_class").setLiteral((String)clsprm + "<" + typegen + ">");
659 pn.addChild("param_ident").setLiteral(idprm);
662 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);
664 return CUP$Parser$result;
666 /*. . . . . . . . . . . . . . . . . . . .*/
667 case 21: // param ::= IDENT LANG IDENT RANG IDENT COMMA
669 ParseNode RESULT =null;
670 int clsprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
671 int clsprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
672 Object clsprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
673 int clsgenleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left;
674 int clsgenright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right;
675 Object clsgen = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
676 int idprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
677 int idprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
678 Object idprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
680 ParseNode pn = new ParseNode("param");
681 pn.addChild("param_class").setLiteral((String)clsprm + "<" + clsgen + ">");
682 pn.addChild("param_ident").setLiteral(idprm);
685 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);
687 return CUP$Parser$result;
689 /*. . . . . . . . . . . . . . . . . . . .*/
690 case 22: // capablist ::= capablist capab
692 ParseNode RESULT =null;
693 int clleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
694 int clright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
695 ParseNode cl = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
696 int capleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
697 int capright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
698 ParseNode cap = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
703 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);
705 return CUP$Parser$result;
707 /*. . . . . . . . . . . . . . . . . . . .*/
708 case 23: // capablist ::=
710 ParseNode RESULT =null;
712 ParseNode pn = new ParseNode("capab_list");
715 CUP$Parser$result = parser.getSymbolFactory().newSymbol("capablist",7, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
717 return CUP$Parser$result;
719 /*. . . . . . . . . . . . . . . . . . . .*/
720 case 24: // capab ::= CAPABILITY IDENT BEGIN capabcont END
722 ParseNode RESULT =null;
723 int idcapleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left;
724 int idcapright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right;
725 Object idcap = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
726 int ccontleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
727 int ccontright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
728 ParseNode ccont = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
730 ParseNode pn = new ParseNode("capability");
731 pn.addChild("capab_ident").setLiteral(idcap);
735 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);
737 return CUP$Parser$result;
739 /*. . . . . . . . . . . . . . . . . . . .*/
740 case 25: // capabcont ::= capabcont cont
742 ParseNode RESULT =null;
743 int ccontleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
744 int ccontright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
745 ParseNode ccont = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
746 int cntleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
747 int cntright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
748 ParseNode cnt = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
753 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);
755 return CUP$Parser$result;
757 /*. . . . . . . . . . . . . . . . . . . .*/
758 case 26: // capabcont ::=
760 ParseNode RESULT =null;
762 ParseNode pn = new ParseNode("capab_content");
765 CUP$Parser$result = parser.getSymbolFactory().newSymbol("capabcont",9, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
767 return CUP$Parser$result;
769 /*. . . . . . . . . . . . . . . . . . . .*/
770 case 27: // cont ::= DESCRIPTION ASSIGN STRINGCONST SEMICOLON
772 ParseNode RESULT =null;
773 int dscleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left;
774 int dscright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right;
775 Object dsc = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
776 int strdscleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
777 int strdscright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
778 Object strdsc = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
780 ParseNode pn = new ParseNode("capab_content");
781 pn.addChild("capab_desc").setLiteral(strdsc);
784 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);
786 return CUP$Parser$result;
788 /*. . . . . . . . . . . . . . . . . . . .*/
789 case 28: // cont ::= METHOD ASSIGN STRINGCONST SEMICOLON
791 ParseNode RESULT =null;
792 int mtdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left;
793 int mtdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right;
794 Object mtd = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
795 int strmethleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
796 int strmethright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
797 Object strmeth = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
799 ParseNode pn = new ParseNode("capab_content");
800 pn.addChild("capab_meth").setLiteral(strmeth);
803 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);
805 return CUP$Parser$result;
807 /*. . . . . . . . . . . . . . . . . . . .*/
808 case 29: // reqlist ::= reqlist require
810 ParseNode RESULT =null;
811 int rlleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
812 int rlright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
813 ParseNode rl = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
814 int reqleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
815 int reqright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
816 ParseNode req = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
821 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);
823 return CUP$Parser$result;
825 /*. . . . . . . . . . . . . . . . . . . .*/
826 case 30: // reqlist ::=
828 ParseNode RESULT =null;
830 ParseNode pn = new ParseNode("reqlist");
833 CUP$Parser$result = parser.getSymbolFactory().newSymbol("reqlist",11, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
835 return CUP$Parser$result;
837 /*. . . . . . . . . . . . . . . . . . . .*/
838 case 31: // require ::= REQUIRES IDENT WITH capintlist AS INTERFACE IDENT SEMICOLON
840 ParseNode RESULT =null;
841 int idintleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).left;
842 int idintright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).right;
843 Object idint = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-6)).value;
844 int cilleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
845 int cilright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
846 ParseNode cil = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
847 int idnewintleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
848 int idnewintright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
849 Object idnewint = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
851 ParseNode pn = new ParseNode("requires");
852 pn.addChild("intface_ident").setLiteral(idint);
854 pn.addChild("new_intface_ident").setLiteral(idnewint);
857 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);
859 return CUP$Parser$result;
861 /*. . . . . . . . . . . . . . . . . . . .*/
862 case 32: // capintlist ::= IDENT
864 ParseNode RESULT =null;
865 int idcapleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
866 int idcapright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
867 Object idcap = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
869 ParseNode pn = new ParseNode("capab_ident_list");
870 pn.addChild("capab_ident").setLiteral(idcap);
873 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);
875 return CUP$Parser$result;
877 /*. . . . . . . . . . . . . . . . . . . .*/
878 case 33: // capintlist ::= capintlist COMMA IDENT
880 ParseNode RESULT =null;
881 int cilleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
882 int cilright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
883 ParseNode cil = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
884 int idcapleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
885 int idcapright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
886 Object idcap = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
888 cil.addChild("capab_ident").setLiteral(idcap);
891 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);
893 return CUP$Parser$result;
895 /*. . . . . . . . . . . . . . . . . . . .*/
896 case 34: // capintlist ::=
898 ParseNode RESULT =null;
900 ParseNode pn = new ParseNode("capab_ident_list");
903 CUP$Parser$result = parser.getSymbolFactory().newSymbol("capintlist",13, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
905 return CUP$Parser$result;
907 /*. . . . . . . . . . . . . . . . . . . .*/
908 case 35: // enumdec ::= ENUM IDENT BEGIN enumlist END
910 ParseNode RESULT =null;
911 int idenumdecleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left;
912 int idenumdecright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right;
913 Object idenumdec = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
914 int elleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
915 int elright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
916 ParseNode el = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
918 ParseNode pn = new ParseNode("enum_dec");
919 pn.addChild("enum_dec_ident").setLiteral(idenumdec);
923 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);
925 return CUP$Parser$result;
927 /*. . . . . . . . . . . . . . . . . . . .*/
928 case 36: // enumlist ::= enumlist enummem
930 ParseNode RESULT =null;
931 int elleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
932 int elright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
933 ParseNode el = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
934 int eleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
935 int eright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
936 ParseNode e = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
941 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);
943 return CUP$Parser$result;
945 /*. . . . . . . . . . . . . . . . . . . .*/
946 case 37: // enumlist ::=
948 ParseNode RESULT =null;
950 ParseNode pn = new ParseNode("enum_list");
953 CUP$Parser$result = parser.getSymbolFactory().newSymbol("enumlist",15, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
955 return CUP$Parser$result;
957 /*. . . . . . . . . . . . . . . . . . . .*/
958 case 38: // enummem ::= IDENT COMMA
960 ParseNode RESULT =null;
961 int idenumleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
962 int idenumright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
963 Object idenum = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
965 ParseNode pn = new ParseNode("enum_mem");
966 pn.addChild("enum_ident").setLiteral(idenum);
969 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);
971 return CUP$Parser$result;
973 /*. . . . . . . . . . . . . . . . . . . .*/
974 case 39: // enummem ::= IDENT
976 ParseNode RESULT =null;
977 int idenumleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
978 int idenumright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
979 Object idenum = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
981 ParseNode pn = new ParseNode("enum_mem");
982 pn.addChild("enum_ident").setLiteral(idenum);
985 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);
987 return CUP$Parser$result;
989 /*. . . . . . . . . . . . . . . . . . . .*/
990 case 40: // structdec ::= STRUCT IDENT BEGIN structlist END
992 ParseNode RESULT =null;
993 int idstructdecleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left;
994 int idstructdecright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right;
995 Object idstructdec = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
996 int slleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
997 int slright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
998 ParseNode sl = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
1000 ParseNode pn = new ParseNode("struct_dec");
1001 pn.addChild("struct_dec_ident").setLiteral(idstructdec);
1005 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);
1007 return CUP$Parser$result;
1009 /*. . . . . . . . . . . . . . . . . . . .*/
1010 case 41: // structlist ::= structlist structmem
1012 ParseNode RESULT =null;
1013 int slleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
1014 int slright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
1015 ParseNode sl = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
1016 int sleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
1017 int sright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
1018 ParseNode s = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
1023 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);
1025 return CUP$Parser$result;
1027 /*. . . . . . . . . . . . . . . . . . . .*/
1028 case 42: // structlist ::=
1030 ParseNode RESULT =null;
1032 ParseNode pn = new ParseNode("enum_list");
1035 CUP$Parser$result = parser.getSymbolFactory().newSymbol("structlist",18, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
1037 return CUP$Parser$result;
1039 /*. . . . . . . . . . . . . . . . . . . .*/
1040 case 43: // structmem ::= TYPE IDENT SEMICOLON
1042 ParseNode RESULT =null;
1043 int typestrleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
1044 int typestrright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
1045 Object typestr = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
1046 int idstrleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
1047 int idstrright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
1048 Object idstr = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
1050 ParseNode pn = new ParseNode("struct_mem");
1051 pn.addChild("struct_type").setLiteral(typestr);
1052 pn.addChild("struct_ident").setLiteral(idstr);
1055 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);
1057 return CUP$Parser$result;
1059 /*. . . . . . . . . . . . . . . . . . . .*/
1060 case 44: // structmem ::= IDENT IDENT SEMICOLON
1062 ParseNode RESULT =null;
1063 int clsstrleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
1064 int clsstrright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
1065 Object clsstr = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
1066 int idstrleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
1067 int idstrright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
1068 Object idstr = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
1070 ParseNode pn = new ParseNode("struct_mem");
1071 pn.addChild("struct_class").setLiteral(clsstr);
1072 pn.addChild("struct_ident").setLiteral(idstr);
1075 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);
1077 return CUP$Parser$result;
1079 /*. . . . . . . . . . . . . . . . . . . .*/
1080 case 45: // structmem ::= IDENT LANG IDENT RANG IDENT SEMICOLON
1082 ParseNode RESULT =null;
1083 int clsstrleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
1084 int clsstrright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
1085 Object clsstr = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
1086 int clsgenleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left;
1087 int clsgenright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right;
1088 Object clsgen = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
1089 int idstrleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
1090 int idstrright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
1091 Object idstr = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
1093 ParseNode pn = new ParseNode("struct_mem");
1094 pn.addChild("struct_class").setLiteral((String)clsstr + "<" + clsgen + ">");
1095 pn.addChild("struct_ident").setLiteral(idstr);
1098 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);
1100 return CUP$Parser$result;
1104 throw new Exception(
1105 "Invalid action number "+CUP$Parser$act_num+"found in internal parse table");
1108 } /* end of method */
1110 /** Method splitting the generated action code into several parts. */
1111 public final java_cup.runtime.Symbol CUP$Parser$do_action(
1112 int CUP$Parser$act_num,
1113 java_cup.runtime.lr_parser CUP$Parser$parser,
1114 java.util.Stack CUP$Parser$stack,
1116 throws java.lang.Exception
1118 return CUP$Parser$do_action_part00000000(