+ CUP$Parser$result = parser.getSymbolFactory().newSymbol("capintlist",13, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
+ }
+ return CUP$Parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 33: // enumdeclist ::= enumdeclist enumdec
+ {
+ ParseNode RESULT =null;
+ int elleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
+ int elright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
+ ParseNode el = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
+ int edleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
+ int edright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
+ ParseNode ed = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
+
+ el.addChild(ed);
+ RESULT = el;
+
+ CUP$Parser$result = parser.getSymbolFactory().newSymbol("enumdeclist",14, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
+ }
+ return CUP$Parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 34: // enumdeclist ::=
+ {
+ ParseNode RESULT =null;
+
+ ParseNode pn = new ParseNode("enum_dec_list");
+ RESULT = pn;
+
+ CUP$Parser$result = parser.getSymbolFactory().newSymbol("enumdeclist",14, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
+ }
+ return CUP$Parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 35: // enumdec ::= ENUM IDENT BEGIN enumlist END
+ {
+ ParseNode RESULT =null;
+ int idenumdecleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left;
+ int idenumdecright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right;
+ Object idenumdec = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
+ int elleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
+ int elright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
+ ParseNode el = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
+
+ ParseNode pn = new ParseNode("enum_dec");
+ pn.addChild("enum_dec_ident").setLiteral(idenumdec);
+ pn.addChild(el);
+ RESULT = pn;
+
+ CUP$Parser$result = parser.getSymbolFactory().newSymbol("enumdec",15, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
+ }
+ return CUP$Parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 36: // enumlist ::= enumlist enummem
+ {
+ ParseNode RESULT =null;
+ int elleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
+ int elright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
+ ParseNode el = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
+ int eleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
+ int eright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
+ ParseNode e = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
+
+ el.addChild(e);
+ RESULT = el;
+
+ CUP$Parser$result = parser.getSymbolFactory().newSymbol("enumlist",16, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
+ }
+ return CUP$Parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 37: // enumlist ::=
+ {
+ ParseNode RESULT =null;
+
+ ParseNode pn = new ParseNode("enum_list");
+ RESULT = pn;
+
+ CUP$Parser$result = parser.getSymbolFactory().newSymbol("enumlist",16, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
+ }
+ return CUP$Parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 38: // enummem ::= IDENT COMMA
+ {
+ ParseNode RESULT =null;
+ int idenumleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
+ int idenumright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
+ Object idenum = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
+
+ ParseNode pn = new ParseNode("enum_mem");
+ pn.addChild("enum_ident").setLiteral(idenum);
+ RESULT = pn;
+
+ CUP$Parser$result = parser.getSymbolFactory().newSymbol("enummem",17, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
+ }
+ return CUP$Parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 39: // enummem ::= IDENT
+ {
+ ParseNode RESULT =null;
+ int idenumleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
+ int idenumright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
+ Object idenum = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
+
+ ParseNode pn = new ParseNode("enum_mem");
+ pn.addChild("enum_ident").setLiteral(idenum);
+ RESULT = pn;
+
+ CUP$Parser$result = parser.getSymbolFactory().newSymbol("enummem",17, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
+ }
+ return CUP$Parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 40: // structdeclist ::= structdeclist structdec
+ {
+ ParseNode RESULT =null;
+ int slleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
+ int slright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
+ ParseNode sl = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
+ int sdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
+ int sdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
+ ParseNode sd = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
+
+ sl.addChild(sd);
+ RESULT = sl;
+
+ CUP$Parser$result = parser.getSymbolFactory().newSymbol("structdeclist",18, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
+ }
+ return CUP$Parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 41: // structdeclist ::=
+ {
+ ParseNode RESULT =null;
+
+ ParseNode pn = new ParseNode("struct_dec_list");
+ RESULT = pn;
+
+ CUP$Parser$result = parser.getSymbolFactory().newSymbol("structdeclist",18, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
+ }
+ return CUP$Parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 42: // structdec ::= STRUCT IDENT BEGIN structlist END
+ {
+ ParseNode RESULT =null;
+ int idstructdecleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left;
+ int idstructdecright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right;
+ Object idstructdec = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
+ int slleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
+ int slright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
+ ParseNode sl = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
+
+ ParseNode pn = new ParseNode("struct_dec");
+ pn.addChild("struct_dec_ident").setLiteral(idstructdec);
+ pn.addChild(sl);
+ RESULT = pn;
+
+ CUP$Parser$result = parser.getSymbolFactory().newSymbol("structdec",19, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
+ }
+ return CUP$Parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 43: // structlist ::= structlist structmem
+ {
+ ParseNode RESULT =null;
+ int slleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
+ int slright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
+ ParseNode sl = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
+ int sleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
+ int sright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
+ ParseNode s = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
+
+ sl.addChild(s);
+ RESULT = sl;
+
+ CUP$Parser$result = parser.getSymbolFactory().newSymbol("structlist",20, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
+ }
+ return CUP$Parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 44: // structlist ::=
+ {
+ ParseNode RESULT =null;
+
+ ParseNode pn = new ParseNode("struct_list");
+ RESULT = pn;
+
+ CUP$Parser$result = parser.getSymbolFactory().newSymbol("structlist",20, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
+ }
+ return CUP$Parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 45: // structmem ::= TYPE IDENT SEMICOLON
+ {
+ ParseNode RESULT =null;
+ int typestrleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
+ int typestrright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
+ Object typestr = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
+ int idstrleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
+ int idstrright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
+ Object idstr = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
+
+ ParseNode pn = new ParseNode("struct_mem");
+ pn.addChild("struct_type").setLiteral(typestr);
+ pn.addChild("struct_ident").setLiteral(idstr);
+ RESULT = pn;
+
+ CUP$Parser$result = parser.getSymbolFactory().newSymbol("structmem",21, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
+ }
+ return CUP$Parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 46: // structmem ::= IDENT IDENT SEMICOLON
+ {
+ ParseNode RESULT =null;
+ int clsstrleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
+ int clsstrright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
+ Object clsstr = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
+ int idstrleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
+ int idstrright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
+ Object idstr = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
+
+ ParseNode pn = new ParseNode("struct_mem");
+ pn.addChild("struct_class").setLiteral(clsstr);
+ pn.addChild("struct_ident").setLiteral(idstr);
+ RESULT = pn;
+
+ CUP$Parser$result = parser.getSymbolFactory().newSymbol("structmem",21, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
+ }
+ return CUP$Parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 47: // structmem ::= IDENT LANG IDENT RANG IDENT SEMICOLON
+ {
+ ParseNode RESULT =null;
+ int clsstrleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
+ int clsstrright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
+ Object clsstr = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
+ int clsgenleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left;
+ int clsgenright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right;
+ Object clsgen = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
+ int idstrleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
+ int idstrright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
+ Object idstr = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
+
+ ParseNode pn = new ParseNode("struct_mem");
+ pn.addChild("struct_class").setLiteral((String)clsstr + "<" + clsgen + ">");
+ pn.addChild("struct_ident").setLiteral(idstr);
+ RESULT = pn;
+
+ CUP$Parser$result = parser.getSymbolFactory().newSymbol("structmem",21, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);