First version of parser; Generates AST in XML and HTML format.
[iot2.git] / iotjava / iotparser / Parser.java
1 package iotparser;
2
3 //----------------------------------------------------
4 // The following code was generated by CUP v0.11b 20160615 (GIT 4ac7450)
5 //----------------------------------------------------
6
7 import java_cup.runtime.ComplexSymbolFactory;
8 import java_cup.runtime.ScannerBuffer;
9 import java_cup.runtime.XMLElement;
10 import javax.xml.stream.XMLOutputFactory;
11 import javax.xml.stream.XMLStreamWriter;
12 import java.io.*;
13 import javax.xml.transform.*;
14 import javax.xml.transform.stream.*;
15 import java_cup.runtime.ComplexSymbolFactory.Location;
16 import java_cup.runtime.XMLElement;
17
18 /** CUP v0.11b 20160615 (GIT 4ac7450) generated parser.
19   */
20 @SuppressWarnings({"rawtypes"})
21 public class Parser extends java_cup.runtime.lr_parser {
22
23  public final Class getSymbolContainer() {
24     return sym.class;
25 }
26
27   /** Default constructor. */
28   @Deprecated
29   public Parser() {super();}
30
31   /** Constructor which sets the default scanner. */
32   @Deprecated
33   public Parser(java_cup.runtime.Scanner s) {super(s);}
34
35   /** Constructor which sets the default scanner. */
36   public Parser(java_cup.runtime.Scanner s, java_cup.runtime.SymbolFactory sf) {super(s,sf);}
37
38   /** Production table. */
39   protected static final short _production_table[][] = 
40     unpackFromStrings(new String[] {
41     "\000\032\000\002\002\005\000\002\002\004\000\002\003" +
42     "\010\000\002\003\002\000\002\004\004\000\002\004\002" +
43     "\000\002\005\011\000\002\006\004\000\002\006\002\000" +
44     "\002\007\005\000\002\007\004\000\002\007\005\000\002" +
45     "\007\004\000\002\010\004\000\002\010\002\000\002\011" +
46     "\011\000\002\012\004\000\002\012\002\000\002\013\006" +
47     "\000\002\013\006\000\002\014\004\000\002\014\002\000" +
48     "\002\015\012\000\002\016\003\000\002\016\005\000\002" +
49     "\016\002" });
50
51   /** Access to production table. */
52   public short[][] production_table() {return _production_table;}
53
54   /** Parse-action table. */
55   protected static final short[][] _action_table = 
56     unpackFromStrings(new String[] {
57     "\000\070\000\012\002\ufffe\014\005\016\ufffe\021\ufffe\001" +
58     "\002\000\010\002\ufff3\016\ufff3\021\ufff3\001\002\000\004" +
59     "\015\010\001\002\000\004\002\007\001\002\000\004\002" +
60     "\000\001\002\000\004\025\011\001\002\000\004\011\012" +
61     "\001\002\000\006\012\ufffc\014\ufffc\001\002\000\006\012" +
62     "\016\014\015\001\002\000\006\012\ufffd\014\ufffd\001\002" +
63     "\000\004\024\017\001\002\000\010\002\uffff\016\uffff\021" +
64     "\uffff\001\002\000\004\025\020\001\002\000\004\007\021" +
65     "\001\002\000\010\010\ufff9\024\ufff9\025\ufff9\001\002\000" +
66     "\010\010\025\024\026\025\023\001\002\000\004\025\032" +
67     "\001\002\000\010\010\ufffa\024\ufffa\025\ufffa\001\002\000" +
68     "\004\004\031\001\002\000\004\025\027\001\002\000\012" +
69     "\005\030\010\ufff7\024\ufff7\025\ufff7\001\002\000\010\010" +
70     "\ufff8\024\ufff8\025\ufff8\001\002\000\006\012\ufffb\014\ufffb" +
71     "\001\002\000\012\005\033\010\ufff5\024\ufff5\025\ufff5\001" +
72     "\002\000\010\010\ufff6\024\ufff6\025\ufff6\001\002\000\010" +
73     "\002\uffec\016\037\021\uffec\001\002\000\010\002\ufff4\016" +
74     "\ufff4\021\ufff4\001\002\000\006\002\001\021\057\001\002" +
75     "\000\004\025\040\001\002\000\004\006\041\001\002\000" +
76     "\004\025\042\001\002\000\004\011\043\001\002\000\010" +
77     "\012\ufff0\017\ufff0\020\ufff0\001\002\000\010\012\047\017" +
78     "\046\020\050\001\002\000\010\012\ufff1\017\ufff1\020\ufff1" +
79     "\001\002\000\004\013\054\001\002\000\010\002\ufff2\016" +
80     "\ufff2\021\ufff2\001\002\000\004\013\051\001\002\000\004" +
81     "\025\052\001\002\000\004\004\053\001\002\000\010\012" +
82     "\uffee\017\uffee\020\uffee\001\002\000\004\026\055\001\002" +
83     "\000\004\004\056\001\002\000\010\012\uffef\017\uffef\020" +
84     "\uffef\001\002\000\004\025\061\001\002\000\006\002\uffed" +
85     "\021\uffed\001\002\000\004\022\062\001\002\000\010\005" +
86     "\uffe8\023\uffe8\025\063\001\002\000\006\005\uffea\023\uffea" +
87     "\001\002\000\006\005\065\023\066\001\002\000\004\025" +
88     "\072\001\002\000\004\015\067\001\002\000\004\025\070" +
89     "\001\002\000\004\004\071\001\002\000\006\002\uffeb\021" +
90     "\uffeb\001\002\000\006\005\uffe9\023\uffe9\001\002" });
91
92   /** Access to parse-action table. */
93   public short[][] action_table() {return _action_table;}
94
95   /** <code>reduce_goto</code> table. */
96   protected static final short[][] _reduce_table = 
97     unpackFromStrings(new String[] {
98     "\000\070\000\006\002\005\003\003\001\001\000\004\010" +
99     "\033\001\001\000\002\001\001\000\002\001\001\000\002" +
100     "\001\001\000\002\001\001\000\002\001\001\000\004\004" +
101     "\012\001\001\000\004\005\013\001\001\000\002\001\001" +
102     "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
103     "\002\001\001\000\004\006\021\001\001\000\004\007\023" +
104     "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
105     "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
106     "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
107     "\006\011\034\014\035\001\001\000\002\001\001\000\004" +
108     "\015\057\001\001\000\002\001\001\000\002\001\001\000" +
109     "\002\001\001\000\002\001\001\000\004\012\043\001\001" +
110     "\000\004\013\044\001\001\000\002\001\001\000\002\001" +
111     "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
112     "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
113     "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
114     "\001\001\000\002\001\001\000\004\016\063\001\001\000" +
115     "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
116     "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
117     "\001\000\002\001\001" });
118
119   /** Access to <code>reduce_goto</code> table. */
120   public short[][] reduce_table() {return _reduce_table;}
121
122   /** Instance of action encapsulation class. */
123   protected CUP$Parser$actions action_obj;
124
125   /** Action encapsulation object initializer. */
126   protected void init_actions()
127     {
128       action_obj = new CUP$Parser$actions(this);
129     }
130
131   /** Invoke a user supplied parse action. */
132   public java_cup.runtime.Symbol do_action(
133     int                        act_num,
134     java_cup.runtime.lr_parser parser,
135     java.util.Stack            stack,
136     int                        top)
137     throws java.lang.Exception
138   {
139     /* call code in generated class */
140     return action_obj.CUP$Parser$do_action(act_num, parser, stack, top);
141   }
142
143   /** Indicates start state. */
144   public int start_state() {return 0;}
145   /** Indicates start production. */
146   public int start_production() {return 1;}
147
148   /** <code>EOF</code> Symbol index. */
149   public int EOF_sym() {return 0;}
150
151   /** <code>error</code> Symbol index. */
152   public int error_sym() {return 1;}
153
154
155
156   public Parser(Lexer lex, ComplexSymbolFactory sf) {
157     super(lex,sf);
158   }
159   public static void main(String[] args) throws Exception {
160       // initialize the symbol factory
161       ComplexSymbolFactory csf = new ComplexSymbolFactory();
162       // create a buffering scanner wrapper
163       ScannerBuffer lexer = new ScannerBuffer(new Lexer(new BufferedReader(new FileReader(args[0])),csf));
164       // start parsing
165       Parser p = new Parser(lexer,csf);
166       XMLElement e = (XMLElement)p.parse().value;
167       // create XML output file 
168       XMLOutputFactory outFactory = XMLOutputFactory.newInstance();
169       XMLStreamWriter sw = outFactory.createXMLStreamWriter(new FileOutputStream(args[1]), "UTF-8");
170       // dump XML output to the file
171       XMLElement.dump(lexer,sw,e,"expr","stmt");
172
173        // transform the parse tree into an AST and a rendered HTML version
174       Transformer transformer = TransformerFactory.newInstance()
175             .newTransformer(new StreamSource(new File("tree.xsl")));
176       Source text = new StreamSource(new File(args[1]));
177       transformer.transform(text, new StreamResult(new File("output.xml")));
178       transformer = TransformerFactory.newInstance()
179             .newTransformer(new StreamSource(new File("tree-view.xsl")));
180       text = new StreamSource(new File("output.xml"));
181       transformer.transform(text, new StreamResult(new File("ast.html")));
182   }
183
184
185 /** Cup generated class to encapsulate user supplied action code.*/
186 @SuppressWarnings({"rawtypes", "unchecked", "unused"})
187 class CUP$Parser$actions {
188   private final Parser parser;
189
190   /** Constructor */
191   CUP$Parser$actions(Parser parser) {
192     this.parser = parser;
193   }
194
195   /** Method 0 with the actual generated action code for actions 0 to 300. */
196   public final java_cup.runtime.Symbol CUP$Parser$do_action_part00000000(
197     int                        CUP$Parser$act_num,
198     java_cup.runtime.lr_parser CUP$Parser$parser,
199     java.util.Stack            CUP$Parser$stack,
200     int                        CUP$Parser$top)
201     throws java.lang.Exception
202     {
203       /* Symbol object for return from actions */
204       java_cup.runtime.Symbol CUP$Parser$result;
205
206       /* select the action based on the action number */
207       switch (CUP$Parser$act_num)
208         {
209           /*. . . . . . . . . . . . . . . . . . . .*/
210           case 0: // policy ::= intface capablist reqlist 
211             {
212                 XMLElement RESULT;
213                 Location inxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).xleft;
214                 Location inxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).xright;
215                 Object in = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
216                 Location capxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).xleft;
217                 Location capxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).xright;
218                 Object cap = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
219                 Location rlxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.peek()).xleft;
220                 Location rlxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.peek()).xright;
221                 Object rl = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
222
223                 RESULT = new XMLElement.NonTerminal("policy",0,(XMLElement)in,(XMLElement)cap,(XMLElement)rl);
224               CUP$Parser$result = parser.getSymbolFactory().newSymbol("policy",0, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
225             }
226           return CUP$Parser$result;
227
228           /*. . . . . . . . . . . . . . . . . . . .*/
229           case 1: // $START ::= policy EOF 
230             {
231                 XMLElement RESULT;
232                 Location start_valxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).xleft;
233                 Location start_valxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).xright;
234                 Object start_val = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
235                 Location EOF1xleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.peek()).xleft;
236                 Location EOF1xright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.peek()).xright;
237                 Object EOF1 = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
238
239                 RESULT = new XMLElement.NonTerminal("_START",0,(XMLElement)start_val);
240               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);
241             }
242           /* ACCEPT */
243           CUP$Parser$parser.done_parsing();
244           return CUP$Parser$result;
245
246           /*. . . . . . . . . . . . . . . . . . . .*/
247           case 2: // intface ::= PUBLIC INTERFACE IDENT BEGIN methlist END 
248             {
249                 XMLElement RESULT;
250                 Location PUBLIC0xleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).xleft;
251                 Location PUBLIC0xright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).xright;
252                 Object PUBLIC0 = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
253                 Location INTERFACE1xleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).xleft;
254                 Location INTERFACE1xright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).xright;
255                 Object INTERFACE1 = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
256                 Location idintxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).xleft;
257                 Location idintxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).xright;
258                 Object idint = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
259                 Location BEGIN3xleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).xleft;
260                 Location BEGIN3xright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).xright;
261                 Object BEGIN3 = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
262                 Location mlxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).xleft;
263                 Location mlxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).xright;
264                 Object ml = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
265                 Location END5xleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.peek()).xleft;
266                 Location END5xright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.peek()).xright;
267                 Object END5 = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
268
269                 RESULT = new XMLElement.NonTerminal("intface",0,new XMLElement.Terminal(idintxleft,"idint",idint,idintxright),(XMLElement)ml);
270               CUP$Parser$result = parser.getSymbolFactory().newSymbol("intface",1, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
271             }
272           return CUP$Parser$result;
273
274           /*. . . . . . . . . . . . . . . . . . . .*/
275           case 3: // intface ::= 
276             {
277                 XMLElement RESULT;
278
279                 RESULT = new XMLElement.NonTerminal("intface",1);
280               CUP$Parser$result = parser.getSymbolFactory().newSymbol("intface",1, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
281             }
282           return CUP$Parser$result;
283
284           /*. . . . . . . . . . . . . . . . . . . .*/
285           case 4: // methlist ::= methlist meth 
286             {
287                 XMLElement RESULT;
288                 Location mlxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).xleft;
289                 Location mlxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).xright;
290                 Object ml = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
291                 Location mxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.peek()).xleft;
292                 Location mxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.peek()).xright;
293                 Object m = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
294
295                 RESULT = new XMLElement.NonTerminal("methlist",0,(XMLElement)ml,(XMLElement)m);
296               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);
297             }
298           return CUP$Parser$result;
299
300           /*. . . . . . . . . . . . . . . . . . . .*/
301           case 5: // methlist ::= 
302             {
303                 XMLElement RESULT;
304
305                 RESULT = new XMLElement.NonTerminal("methlist",1);
306               CUP$Parser$result = parser.getSymbolFactory().newSymbol("methlist",2, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
307             }
308           return CUP$Parser$result;
309
310           /*. . . . . . . . . . . . . . . . . . . .*/
311           case 6: // meth ::= PUBLIC TYPE IDENT LPAR paramlist RPAR SEMICOLON 
312             {
313                 XMLElement RESULT;
314                 Location PUBLIC0xleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).xleft;
315                 Location PUBLIC0xright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).xright;
316                 Object PUBLIC0 = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-6)).value;
317                 Location typemethxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).xleft;
318                 Location typemethxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).xright;
319                 Object typemeth = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
320                 Location idmethxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).xleft;
321                 Location idmethxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).xright;
322                 Object idmeth = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
323                 Location LPAR3xleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).xleft;
324                 Location LPAR3xright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).xright;
325                 Object LPAR3 = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
326                 Location plxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).xleft;
327                 Location plxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).xright;
328                 Object pl = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
329                 Location RPAR5xleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).xleft;
330                 Location RPAR5xright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).xright;
331                 Object RPAR5 = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
332                 Location SEMICOLON6xleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.peek()).xleft;
333                 Location SEMICOLON6xright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.peek()).xright;
334                 Object SEMICOLON6 = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
335
336                 RESULT = new XMLElement.NonTerminal("meth",0,new XMLElement.Terminal(typemethxleft,"typemeth",typemeth,typemethxright),new XMLElement.Terminal(idmethxleft,"idmeth",idmeth,idmethxright),(XMLElement)pl);
337               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);
338             }
339           return CUP$Parser$result;
340
341           /*. . . . . . . . . . . . . . . . . . . .*/
342           case 7: // paramlist ::= paramlist param 
343             {
344                 XMLElement RESULT;
345                 Location plxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).xleft;
346                 Location plxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).xright;
347                 Object pl = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
348                 Location pxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.peek()).xleft;
349                 Location pxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.peek()).xright;
350                 Object p = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
351
352                 RESULT = new XMLElement.NonTerminal("paramlist",0,(XMLElement)pl,(XMLElement)p);
353               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);
354             }
355           return CUP$Parser$result;
356
357           /*. . . . . . . . . . . . . . . . . . . .*/
358           case 8: // paramlist ::= 
359             {
360                 XMLElement RESULT;
361
362                 RESULT = new XMLElement.NonTerminal("paramlist",1);
363               CUP$Parser$result = parser.getSymbolFactory().newSymbol("paramlist",4, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
364             }
365           return CUP$Parser$result;
366
367           /*. . . . . . . . . . . . . . . . . . . .*/
368           case 9: // param ::= TYPE IDENT COMMA 
369             {
370                 XMLElement RESULT;
371                 Location typeprmxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).xleft;
372                 Location typeprmxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).xright;
373                 Object typeprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
374                 Location idprmxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).xleft;
375                 Location idprmxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).xright;
376                 Object idprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
377                 Location COMMA2xleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.peek()).xleft;
378                 Location COMMA2xright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.peek()).xright;
379                 Object COMMA2 = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
380
381                 RESULT = new XMLElement.NonTerminal("param",0,new XMLElement.Terminal(typeprmxleft,"typeprm",typeprm,typeprmxright),new XMLElement.Terminal(idprmxleft,"idprm",idprm,idprmxright));
382               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);
383             }
384           return CUP$Parser$result;
385
386           /*. . . . . . . . . . . . . . . . . . . .*/
387           case 10: // param ::= TYPE IDENT 
388             {
389                 XMLElement RESULT;
390                 Location typeprmxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).xleft;
391                 Location typeprmxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).xright;
392                 Object typeprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
393                 Location idprmxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.peek()).xleft;
394                 Location idprmxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.peek()).xright;
395                 Object idprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
396
397                 RESULT = new XMLElement.NonTerminal("param",1,new XMLElement.Terminal(typeprmxleft,"typeprm",typeprm,typeprmxright),new XMLElement.Terminal(idprmxleft,"idprm",idprm,idprmxright));
398               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);
399             }
400           return CUP$Parser$result;
401
402           /*. . . . . . . . . . . . . . . . . . . .*/
403           case 11: // param ::= IDENT IDENT COMMA 
404             {
405                 XMLElement RESULT;
406                 Location clsprmxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).xleft;
407                 Location clsprmxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).xright;
408                 Object clsprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
409                 Location idprmxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).xleft;
410                 Location idprmxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).xright;
411                 Object idprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
412                 Location COMMA2xleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.peek()).xleft;
413                 Location COMMA2xright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.peek()).xright;
414                 Object COMMA2 = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
415
416                 RESULT = new XMLElement.NonTerminal("param",2,new XMLElement.Terminal(clsprmxleft,"clsprm",clsprm,clsprmxright),new XMLElement.Terminal(idprmxleft,"idprm",idprm,idprmxright));
417               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);
418             }
419           return CUP$Parser$result;
420
421           /*. . . . . . . . . . . . . . . . . . . .*/
422           case 12: // param ::= IDENT IDENT 
423             {
424                 XMLElement RESULT;
425                 Location clsprmxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).xleft;
426                 Location clsprmxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).xright;
427                 Object clsprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
428                 Location idprmxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.peek()).xleft;
429                 Location idprmxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.peek()).xright;
430                 Object idprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
431
432                 RESULT = new XMLElement.NonTerminal("param",3,new XMLElement.Terminal(clsprmxleft,"clsprm",clsprm,clsprmxright),new XMLElement.Terminal(idprmxleft,"idprm",idprm,idprmxright));
433               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);
434             }
435           return CUP$Parser$result;
436
437           /*. . . . . . . . . . . . . . . . . . . .*/
438           case 13: // capablist ::= capablist capab 
439             {
440                 XMLElement RESULT;
441                 Location clistxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).xleft;
442                 Location clistxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).xright;
443                 Object clist = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
444                 Location capxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.peek()).xleft;
445                 Location capxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.peek()).xright;
446                 Object cap = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
447
448                 RESULT = new XMLElement.NonTerminal("capablist",0,(XMLElement)clist,(XMLElement)cap);
449               CUP$Parser$result = parser.getSymbolFactory().newSymbol("capablist",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
450             }
451           return CUP$Parser$result;
452
453           /*. . . . . . . . . . . . . . . . . . . .*/
454           case 14: // capablist ::= 
455             {
456                 XMLElement RESULT;
457
458                 RESULT = new XMLElement.NonTerminal("capablist",1);
459               CUP$Parser$result = parser.getSymbolFactory().newSymbol("capablist",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
460             }
461           return CUP$Parser$result;
462
463           /*. . . . . . . . . . . . . . . . . . . .*/
464           case 15: // capab ::= CAPABILITY IDENT DOT IDENT BEGIN capabcont END 
465             {
466                 XMLElement RESULT;
467                 Location CAPABILITY0xleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).xleft;
468                 Location CAPABILITY0xright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).xright;
469                 Object CAPABILITY0 = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-6)).value;
470                 Location idintxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).xleft;
471                 Location idintxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).xright;
472                 Object idint = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
473                 Location DOT2xleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).xleft;
474                 Location DOT2xright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).xright;
475                 Object DOT2 = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
476                 Location idcapxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).xleft;
477                 Location idcapxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).xright;
478                 Object idcap = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
479                 Location BEGIN4xleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).xleft;
480                 Location BEGIN4xright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).xright;
481                 Object BEGIN4 = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
482                 Location ccontxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).xleft;
483                 Location ccontxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).xright;
484                 Object ccont = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
485                 Location END6xleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.peek()).xleft;
486                 Location END6xright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.peek()).xright;
487                 Object END6 = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
488
489                 RESULT = new XMLElement.NonTerminal("capab",0,new XMLElement.Terminal(idintxleft,"idint",idint,idintxright),new XMLElement.Terminal(idcapxleft,"idcap",idcap,idcapxright),(XMLElement)ccont);
490               CUP$Parser$result = parser.getSymbolFactory().newSymbol("capab",7, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
491             }
492           return CUP$Parser$result;
493
494           /*. . . . . . . . . . . . . . . . . . . .*/
495           case 16: // capabcont ::= capabcont cont 
496             {
497                 XMLElement RESULT;
498                 Location ccontxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).xleft;
499                 Location ccontxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).xright;
500                 Object ccont = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
501                 Location cntxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.peek()).xleft;
502                 Location cntxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.peek()).xright;
503                 Object cnt = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
504
505                 RESULT = new XMLElement.NonTerminal("capabcont",0,(XMLElement)ccont,(XMLElement)cnt);
506               CUP$Parser$result = parser.getSymbolFactory().newSymbol("capabcont",8, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
507             }
508           return CUP$Parser$result;
509
510           /*. . . . . . . . . . . . . . . . . . . .*/
511           case 17: // capabcont ::= 
512             {
513                 XMLElement RESULT;
514
515                 RESULT = new XMLElement.NonTerminal("capabcont",1);
516               CUP$Parser$result = parser.getSymbolFactory().newSymbol("capabcont",8, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
517             }
518           return CUP$Parser$result;
519
520           /*. . . . . . . . . . . . . . . . . . . .*/
521           case 18: // cont ::= DESCRIPTION ASSIGN STRINGCONST SEMICOLON 
522             {
523                 XMLElement RESULT;
524                 Location dscxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).xleft;
525                 Location dscxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).xright;
526                 Object dsc = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
527                 Location ASSIGN1xleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).xleft;
528                 Location ASSIGN1xright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).xright;
529                 Object ASSIGN1 = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
530                 Location STRINGCONST2xleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).xleft;
531                 Location STRINGCONST2xright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).xright;
532                 Object STRINGCONST2 = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
533                 Location SEMICOLON3xleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.peek()).xleft;
534                 Location SEMICOLON3xright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.peek()).xright;
535                 Object SEMICOLON3 = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
536
537                 RESULT = new XMLElement.NonTerminal("cont",0,new XMLElement.Terminal(dscxleft,"dsc",dsc,dscxright));
538               CUP$Parser$result = parser.getSymbolFactory().newSymbol("cont",9, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
539             }
540           return CUP$Parser$result;
541
542           /*. . . . . . . . . . . . . . . . . . . .*/
543           case 19: // cont ::= METHOD ASSIGN IDENT SEMICOLON 
544             {
545                 XMLElement RESULT;
546                 Location mtdxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).xleft;
547                 Location mtdxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).xright;
548                 Object mtd = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
549                 Location ASSIGN1xleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).xleft;
550                 Location ASSIGN1xright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).xright;
551                 Object ASSIGN1 = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
552                 Location idmethxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).xleft;
553                 Location idmethxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).xright;
554                 Object idmeth = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
555                 Location SEMICOLON3xleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.peek()).xleft;
556                 Location SEMICOLON3xright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.peek()).xright;
557                 Object SEMICOLON3 = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
558
559                 RESULT = new XMLElement.NonTerminal("cont",1,new XMLElement.Terminal(mtdxleft,"mtd",mtd,mtdxright),new XMLElement.Terminal(idmethxleft,"idmeth",idmeth,idmethxright));
560               CUP$Parser$result = parser.getSymbolFactory().newSymbol("cont",9, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
561             }
562           return CUP$Parser$result;
563
564           /*. . . . . . . . . . . . . . . . . . . .*/
565           case 20: // reqlist ::= reqlist require 
566             {
567                 XMLElement RESULT;
568                 Location rlxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).xleft;
569                 Location rlxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).xright;
570                 Object rl = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
571                 Location reqxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.peek()).xleft;
572                 Location reqxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.peek()).xright;
573                 Object req = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
574
575                 RESULT = new XMLElement.NonTerminal("reqlist",0,(XMLElement)rl,(XMLElement)req);
576               CUP$Parser$result = parser.getSymbolFactory().newSymbol("reqlist",10, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
577             }
578           return CUP$Parser$result;
579
580           /*. . . . . . . . . . . . . . . . . . . .*/
581           case 21: // reqlist ::= 
582             {
583                 XMLElement RESULT;
584
585                 RESULT = new XMLElement.NonTerminal("reqlist",1);
586               CUP$Parser$result = parser.getSymbolFactory().newSymbol("reqlist",10, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
587             }
588           return CUP$Parser$result;
589
590           /*. . . . . . . . . . . . . . . . . . . .*/
591           case 22: // require ::= REQUIRES IDENT WITH capintlist AS INTERFACE IDENT SEMICOLON 
592             {
593                 XMLElement RESULT;
594                 Location REQUIRES0xleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)).xleft;
595                 Location REQUIRES0xright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)).xright;
596                 Object REQUIRES0 = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-7)).value;
597                 Location idintxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).xleft;
598                 Location idintxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).xright;
599                 Object idint = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-6)).value;
600                 Location WITH2xleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).xleft;
601                 Location WITH2xright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).xright;
602                 Object WITH2 = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
603                 Location cilxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).xleft;
604                 Location cilxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).xright;
605                 Object cil = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
606                 Location AS4xleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).xleft;
607                 Location AS4xright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).xright;
608                 Object AS4 = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
609                 Location INTERFACE5xleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).xleft;
610                 Location INTERFACE5xright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).xright;
611                 Object INTERFACE5 = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
612                 Location idnewintxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).xleft;
613                 Location idnewintxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).xright;
614                 Object idnewint = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
615                 Location SEMICOLON7xleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.peek()).xleft;
616                 Location SEMICOLON7xright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.peek()).xright;
617                 Object SEMICOLON7 = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
618
619                 RESULT = new XMLElement.NonTerminal("require",0,new XMLElement.Terminal(idintxleft,"idint",idint,idintxright),(XMLElement)cil,new XMLElement.Terminal(idnewintxleft,"idnewint",idnewint,idnewintxright));
620               CUP$Parser$result = parser.getSymbolFactory().newSymbol("require",11, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
621             }
622           return CUP$Parser$result;
623
624           /*. . . . . . . . . . . . . . . . . . . .*/
625           case 23: // capintlist ::= IDENT 
626             {
627                 XMLElement RESULT;
628                 Location idcapxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.peek()).xleft;
629                 Location idcapxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.peek()).xright;
630                 Object idcap = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
631
632                 RESULT = new XMLElement.NonTerminal("capintlist",0,new XMLElement.Terminal(idcapxleft,"idcap",idcap,idcapxright));
633               CUP$Parser$result = parser.getSymbolFactory().newSymbol("capintlist",12, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
634             }
635           return CUP$Parser$result;
636
637           /*. . . . . . . . . . . . . . . . . . . .*/
638           case 24: // capintlist ::= capintlist COMMA IDENT 
639             {
640                 XMLElement RESULT;
641                 Location cilxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).xleft;
642                 Location cilxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).xright;
643                 Object cil = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
644                 Location COMMA1xleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).xleft;
645                 Location COMMA1xright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).xright;
646                 Object COMMA1 = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
647                 Location idcapxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.peek()).xleft;
648                 Location idcapxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$Parser$stack.peek()).xright;
649                 Object idcap = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
650
651                 RESULT = new XMLElement.NonTerminal("capintlist",1,(XMLElement)cil,new XMLElement.Terminal(idcapxleft,"idcap",idcap,idcapxright));
652               CUP$Parser$result = parser.getSymbolFactory().newSymbol("capintlist",12, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
653             }
654           return CUP$Parser$result;
655
656           /*. . . . . . . . . . . . . . . . . . . .*/
657           case 25: // capintlist ::= 
658             {
659                 XMLElement RESULT;
660
661                 RESULT = new XMLElement.NonTerminal("capintlist",2);
662               CUP$Parser$result = parser.getSymbolFactory().newSymbol("capintlist",12, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
663             }
664           return CUP$Parser$result;
665
666           /* . . . . . .*/
667           default:
668             throw new Exception(
669                "Invalid action number "+CUP$Parser$act_num+"found in internal parse table");
670
671         }
672     } /* end of method */
673
674   /** Method splitting the generated action code into several parts. */
675   public final java_cup.runtime.Symbol CUP$Parser$do_action(
676     int                        CUP$Parser$act_num,
677     java_cup.runtime.lr_parser CUP$Parser$parser,
678     java.util.Stack            CUP$Parser$stack,
679     int                        CUP$Parser$top)
680     throws java.lang.Exception
681     {
682               return CUP$Parser$do_action_part00000000(
683                                CUP$Parser$act_num,
684                                CUP$Parser$parser,
685                                CUP$Parser$stack,
686                                CUP$Parser$top);
687     }
688 }
689
690 }