X-Git-Url: http://plrg.eecs.uci.edu/git/?p=iot2.git;a=blobdiff_plain;f=iotjava%2Fiotpolicy%2Fparser%2FParser.java;h=62b750dafc913eb984ef81a129c86b4f442ec4d8;hp=f06a0b98856ccbf4e52b761201c144bea5ebcd1a;hb=HEAD;hpb=f0af28e363e1e1d2a3f98eb5bacde13ad09eef8b diff --git a/iotjava/iotpolicy/parser/Parser.java b/iotjava/iotpolicy/parser/Parser.java index f06a0b9..62b750d 100644 --- a/iotjava/iotpolicy/parser/Parser.java +++ b/iotjava/iotpolicy/parser/Parser.java @@ -15,7 +15,6 @@ import javax.xml.transform.stream.*; import java_cup.runtime.XMLElement; import iotpolicy.tree.ParseNode; -import iotpolicy.tree.ParseNodeVector; /** CUP v0.11b 20160615 (GIT 4ac7450) generated parser. */ @@ -40,15 +39,21 @@ public class Parser extends java_cup.runtime.lr_parser { /** Production table. */ protected static final short _production_table[][] = unpackFromStrings(new String[] { - "\000\032\000\002\002\005\000\002\002\004\000\002\003" + - "\010\000\002\003\002\000\002\004\004\000\002\004\002" + - "\000\002\005\011\000\002\006\004\000\002\006\002\000" + - "\002\007\005\000\002\007\004\000\002\007\005\000\002" + - "\007\004\000\002\010\004\000\002\010\002\000\002\011" + - "\011\000\002\012\004\000\002\012\002\000\002\013\006" + - "\000\002\013\006\000\002\014\004\000\002\014\002\000" + - "\002\015\012\000\002\016\003\000\002\016\005\000\002" + - "\016\002" }); + "\000\060\000\002\002\003\000\002\002\004\000\002\002" + + "\003\000\002\003\013\000\002\004\004\000\002\004\002" + + "\000\002\005\011\000\002\005\011\000\002\005\014\000" + + "\002\005\014\000\002\006\004\000\002\006\002\000\002" + + "\007\005\000\002\007\004\000\002\007\005\000\002\007" + + "\004\000\002\007\007\000\002\007\007\000\002\007\010" + + "\000\002\007\010\000\002\011\004\000\002\011\002\000" + + "\002\012\007\000\002\013\004\000\002\013\002\000\002" + + "\014\006\000\002\014\006\000\002\015\004\000\002\015" + + "\002\000\002\016\012\000\002\017\003\000\002\017\005" + + "\000\002\017\002\000\002\020\004\000\002\020\002\000" + + "\002\021\007\000\002\022\004\000\002\022\002\000\002" + + "\023\004\000\002\023\003\000\002\024\004\000\002\024" + + "\002\000\002\025\007\000\002\026\004\000\002\026\002" + + "\000\002\027\005\000\002\027\005\000\002\027\010" }); /** Access to production table. */ public short[][] production_table() {return _production_table;} @@ -56,40 +61,79 @@ public class Parser extends java_cup.runtime.lr_parser { /** Parse-action table. */ protected static final short[][] _action_table = unpackFromStrings(new String[] { - "\000\070\000\012\002\ufffe\014\005\016\ufffe\021\ufffe\001" + - "\002\000\010\002\ufff3\016\ufff3\021\ufff3\001\002\000\004" + - "\015\010\001\002\000\004\002\007\001\002\000\004\002" + - "\000\001\002\000\004\025\011\001\002\000\004\011\012" + - "\001\002\000\006\012\ufffc\014\ufffc\001\002\000\006\012" + - "\016\014\015\001\002\000\006\012\ufffd\014\ufffd\001\002" + - "\000\004\024\017\001\002\000\010\002\uffff\016\uffff\021" + - "\uffff\001\002\000\004\025\020\001\002\000\004\007\021" + - "\001\002\000\010\010\ufff9\024\ufff9\025\ufff9\001\002\000" + - "\010\010\025\024\026\025\023\001\002\000\004\025\032" + - "\001\002\000\010\010\ufffa\024\ufffa\025\ufffa\001\002\000" + - "\004\004\031\001\002\000\004\025\027\001\002\000\012" + - "\005\030\010\ufff7\024\ufff7\025\ufff7\001\002\000\010\010" + - "\ufff8\024\ufff8\025\ufff8\001\002\000\006\012\ufffb\014\ufffb" + - "\001\002\000\012\005\033\010\ufff5\024\ufff5\025\ufff5\001" + - "\002\000\010\010\ufff6\024\ufff6\025\ufff6\001\002\000\010" + - "\002\uffec\016\037\021\uffec\001\002\000\010\002\ufff4\016" + - "\ufff4\021\ufff4\001\002\000\006\002\001\021\057\001\002" + - "\000\004\025\040\001\002\000\004\006\041\001\002\000" + - "\004\025\042\001\002\000\004\011\043\001\002\000\010" + - "\012\ufff0\017\ufff0\020\ufff0\001\002\000\010\012\047\017" + - "\046\020\050\001\002\000\010\012\ufff1\017\ufff1\020\ufff1" + - "\001\002\000\004\013\054\001\002\000\010\002\ufff2\016" + - "\ufff2\021\ufff2\001\002\000\004\013\051\001\002\000\004" + - "\025\052\001\002\000\004\004\053\001\002\000\010\012" + - "\uffee\017\uffee\020\uffee\001\002\000\004\026\055\001\002" + - "\000\004\004\056\001\002\000\010\012\uffef\017\uffef\020" + - "\uffef\001\002\000\004\025\061\001\002\000\006\002\uffed" + - "\021\uffed\001\002\000\004\022\062\001\002\000\010\005" + - "\uffe8\023\uffe8\025\063\001\002\000\006\005\uffea\023\uffea" + - "\001\002\000\006\005\065\023\066\001\002\000\004\025" + - "\072\001\002\000\004\015\067\001\002\000\004\025\070" + - "\001\002\000\004\004\071\001\002\000\006\002\uffeb\021" + - "\uffeb\001\002\000\006\005\uffe9\023\uffe9\001\002" }); + "\000\161\000\010\002\uffe5\015\006\022\uffe5\001\002\000" + + "\004\002\001\001\002\000\006\002\uffff\022\150\001\002" + + "\000\004\016\011\001\002\000\004\002\010\001\002\000" + + "\004\002\000\001\002\000\004\030\012\001\002\000\004" + + "\012\013\001\002\000\014\013\ufffc\015\ufffc\017\ufffc\025" + + "\ufffc\026\ufffc\001\002\000\014\013\uffec\015\016\017\uffec" + + "\025\uffec\026\uffec\001\002\000\014\013\ufffd\015\ufffd\017" + + "\ufffd\025\ufffd\026\ufffd\001\002\000\006\027\076\030\075" + + "\001\002\000\012\013\uffdf\017\022\025\uffdf\026\uffdf\001" + + "\002\000\010\013\uffd8\025\042\026\uffd8\001\002\000\012" + + "\013\uffed\017\uffed\025\uffed\026\uffed\001\002\000\004\030" + + "\023\001\002\000\004\012\024\001\002\000\010\013\uffe9" + + "\020\uffe9\021\uffe9\001\002\000\010\013\030\020\027\021" + + "\031\001\002\000\010\013\uffea\020\uffea\021\uffea\001\002" + + "\000\004\014\035\001\002\000\012\013\uffeb\017\uffeb\025" + + "\uffeb\026\uffeb\001\002\000\004\014\032\001\002\000\004" + + "\031\033\001\002\000\004\004\034\001\002\000\010\013" + + "\uffe7\020\uffe7\021\uffe7\001\002\000\004\031\036\001\002" + + "\000\004\004\037\001\002\000\010\013\uffe8\020\uffe8\021" + + "\uffe8\001\002\000\006\013\054\026\053\001\002\000\010" + + "\013\uffe0\025\uffe0\026\uffe0\001\002\000\004\030\043\001" + + "\002\000\004\012\044\001\002\000\006\013\uffdc\030\uffdc" + + "\001\002\000\006\013\050\030\047\001\002\000\006\013" + + "\uffdd\030\uffdd\001\002\000\010\005\051\013\uffda\030\uffda" + + "\001\002\000\010\013\uffde\025\uffde\026\uffde\001\002\000" + + "\006\013\uffdb\030\uffdb\001\002\000\006\013\uffd9\026\uffd9" + + "\001\002\000\004\030\055\001\002\000\004\002\ufffe\001" + + "\002\000\004\012\056\001\002\000\010\013\uffd5\027\uffd5" + + "\030\uffd5\001\002\000\010\013\061\027\062\030\060\001" + + "\002\000\006\010\066\030\067\001\002\000\006\013\uffd7" + + "\026\uffd7\001\002\000\004\030\064\001\002\000\010\013" + + "\uffd6\027\uffd6\030\uffd6\001\002\000\004\004\065\001\002" + + "\000\010\013\uffd4\027\uffd4\030\uffd4\001\002\000\004\030" + + "\071\001\002\000\004\004\070\001\002\000\010\013\uffd3" + + "\027\uffd3\030\uffd3\001\002\000\004\011\072\001\002\000" + + "\004\030\073\001\002\000\004\004\074\001\002\000\010" + + "\013\uffd2\027\uffd2\030\uffd2\001\002\000\006\010\124\030" + + "\125\001\002\000\004\030\077\001\002\000\004\006\100" + + "\001\002\000\010\007\ufff6\027\ufff6\030\ufff6\001\002\000" + + "\010\007\103\027\105\030\102\001\002\000\006\010\111" + + "\030\112\001\002\000\004\004\110\001\002\000\010\007" + + "\ufff7\027\ufff7\030\ufff7\001\002\000\004\030\106\001\002" + + "\000\012\005\107\007\ufff4\027\ufff4\030\ufff4\001\002\000" + + "\010\007\ufff5\027\ufff5\030\ufff5\001\002\000\014\013\ufffb" + + "\015\ufffb\017\ufffb\025\ufffb\026\ufffb\001\002\000\006\027" + + "\115\030\114\001\002\000\012\005\113\007\ufff2\027\ufff2" + + "\030\ufff2\001\002\000\010\007\ufff3\027\ufff3\030\ufff3\001" + + "\002\000\004\011\121\001\002\000\004\011\116\001\002" + + "\000\004\030\117\001\002\000\012\005\120\007\ufff1\027" + + "\ufff1\030\ufff1\001\002\000\010\007\uffef\027\uffef\030\uffef" + + "\001\002\000\004\030\122\001\002\000\012\005\123\007" + + "\ufff0\027\ufff0\030\ufff0\001\002\000\010\007\uffee\027\uffee" + + "\030\uffee\001\002\000\006\027\133\030\132\001\002\000" + + "\004\006\126\001\002\000\010\007\ufff6\027\ufff6\030\ufff6" + + "\001\002\000\010\007\130\027\105\030\102\001\002\000" + + "\004\004\131\001\002\000\014\013\ufffa\015\ufffa\017\ufffa" + + "\025\ufffa\026\ufffa\001\002\000\004\011\142\001\002\000" + + "\004\011\134\001\002\000\004\030\135\001\002\000\004" + + "\006\136\001\002\000\010\007\ufff6\027\ufff6\030\ufff6\001" + + "\002\000\010\007\140\027\105\030\102\001\002\000\004" + + "\004\141\001\002\000\014\013\ufff9\015\ufff9\017\ufff9\025" + + "\ufff9\026\ufff9\001\002\000\004\030\143\001\002\000\004" + + "\006\144\001\002\000\010\007\ufff6\027\ufff6\030\ufff6\001" + + "\002\000\010\007\146\027\105\030\102\001\002\000\004" + + "\004\147\001\002\000\014\013\ufff8\015\ufff8\017\ufff8\025" + + "\ufff8\026\ufff8\001\002\000\004\030\152\001\002\000\006" + + "\002\uffe6\022\uffe6\001\002\000\004\023\153\001\002\000" + + "\010\005\uffe1\024\uffe1\030\155\001\002\000\006\005\156" + + "\024\157\001\002\000\006\005\uffe3\024\uffe3\001\002\000" + + "\004\030\163\001\002\000\004\016\160\001\002\000\004" + + "\030\161\001\002\000\004\004\162\001\002\000\006\002" + + "\uffe4\022\uffe4\001\002\000\006\005\uffe2\024\uffe2\001\002" + + "" }); /** Access to parse-action table. */ public short[][] action_table() {return _action_table;} @@ -97,26 +141,46 @@ public class Parser extends java_cup.runtime.lr_parser { /** reduce_goto table. */ protected static final short[][] _reduce_table = unpackFromStrings(new String[] { - "\000\070\000\006\002\005\003\003\001\001\000\004\010" + - "\033\001\001\000\002\001\001\000\002\001\001\000\002" + - "\001\001\000\002\001\001\000\002\001\001\000\004\004" + - "\012\001\001\000\004\005\013\001\001\000\002\001\001" + + "\000\161\000\010\002\006\003\003\015\004\001\001\000" + + "\002\001\001\000\004\016\150\001\001\000\002\001\001" + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + - "\002\001\001\000\004\006\021\001\001\000\004\007\023" + + "\002\001\001\000\004\004\013\001\001\000\006\005\014" + + "\011\016\001\001\000\002\001\001\000\002\001\001\000" + + "\006\012\020\020\017\001\001\000\006\021\040\024\037" + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + + "\001\000\004\013\024\001\001\000\004\014\025\001\001" + + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + + "\002\001\001\000\002\001\001\000\002\001\001\000\002" + + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + + "\001\000\004\025\051\001\001\000\002\001\001\000\002" + + "\001\001\000\002\001\001\000\004\022\044\001\001\000" + + "\004\023\045\001\001\000\002\001\001\000\002\001\001" + + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + + "\002\001\001\000\002\001\001\000\002\001\001\000\004" + + "\026\056\001\001\000\004\027\062\001\001\000\002\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + - "\006\011\034\014\035\001\001\000\002\001\001\000\004" + - "\015\057\001\001\000\002\001\001\000\002\001\001\000" + - "\002\001\001\000\002\001\001\000\004\012\043\001\001" + - "\000\004\013\044\001\001\000\002\001\001\000\002\001" + + "\002\001\001\000\002\001\001\000\002\001\001\000\002" + + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + + "\001\000\002\001\001\000\002\001\001\000\004\006\100" + + "\001\001\000\004\007\103\001\001\000\002\001\001\000" + + "\002\001\001\000\002\001\001\000\002\001\001\000\002" + + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + "\002\001\001\000\002\001\001\000\002\001\001\000\002" + - "\001\001\000\002\001\001\000\004\016\063\001\001\000" + + "\001\001\000\002\001\001\000\002\001\001\000\004\006" + + "\126\001\001\000\004\007\103\001\001\000\002\001\001" + + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + + "\002\001\001\000\002\001\001\000\004\006\136\001\001" + + "\000\004\007\103\001\001\000\002\001\001\000\002\001" + + "\001\000\002\001\001\000\002\001\001\000\004\006\144" + + "\001\001\000\004\007\103\001\001\000\002\001\001\000" + + "\002\001\001\000\002\001\001\000\002\001\001\000\002" + + "\001\001\000\004\017\153\001\001\000\002\001\001\000" + "\002\001\001\000\002\001\001\000\002\001\001\000\002" + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + - "\001\000\002\001\001" }); + "\001" }); /** Access to reduce_goto table. */ public short[][] reduce_table() {return _reduce_table;} @@ -166,107 +230,6 @@ public class Parser extends java_cup.runtime.lr_parser { // start parsing Parser p = new Parser(lexer,csf); ParseNode pn = (ParseNode) p.parse().value; - - //System.out.println("INTERFACE: "); - System.out.println(pn); - ParseNodeVector pnv = pn.getChildren(); - /*System.out.println("Children: " + pnv.size()); - ParseNode pnIntChild = pnv.elementAt(0); - System.out.println("Child 1: " + pnIntChild.getLabel()); - System.out.println("Child 1: " + pnIntChild.getLiteral()); - System.out.println(); - - ParseNodeVector pnIntChildren = pnIntChild.getChildren(); - System.out.println("Grand children: " + pnIntChildren.size()); - ParseNode pnIntGrandChild1 = pnIntChildren.elementAt(0); - System.out.println("Child 1: " + pnIntGrandChild1.getLabel()); - System.out.println("Child 1: " + pnIntGrandChild1.getLiteral()); - System.out.println("Great grand children: " + pnIntGrandChild1.getChildren().size()); - System.out.println(); - - ParseNode pnIntGrandChild2 = pnIntChildren.elementAt(1); - System.out.println("Child 2: " + pnIntGrandChild2.getLabel()); - System.out.println("Child 2: " + pnIntGrandChild2.getLiteral()); - System.out.println("Great grand children: " + pnIntGrandChild2.getChildren().size()); - System.out.println(); - System.out.println();*/ - - System.out.println("CAPABILITIES: "); - ParseNode pnCapabChild = pnv.elementAt(1); - System.out.println("Child 2: " + pnv.elementAt(1).getLabel()); - System.out.println("Child 2: " + pnv.elementAt(1).getLiteral()); - ParseNodeVector pnvCap = pnCapabChild.getChildren(); - System.out.println("Grand children: " + pnvCap.size()); - ParseNode pnCapGrandChild1 = pnvCap.elementAt(0); - System.out.println("Child 1: " + pnCapGrandChild1.getLabel()); - System.out.println("Child 1: " + pnCapGrandChild1.getLiteral()); - ParseNodeVector pnvCap2 = pnCapGrandChild1.getChildren(); - System.out.println("Great grand children: " + pnvCap2.size()); - ParseNode pnCapGreatGrandChild1 = pnvCap2.elementAt(0); - System.out.println("Great grand Child 1: " + pnCapGreatGrandChild1.getLabel()); - System.out.println("Great grand Child 1: " + pnCapGreatGrandChild1.getLiteral()); - ParseNode pnCapGreatGrandChild2 = pnvCap2.elementAt(1); - System.out.println("Great grand Child 2: " + pnCapGreatGrandChild2.getLabel()); - System.out.println("Great grand Child 2: " + pnCapGreatGrandChild2.getLiteral()); - ParseNode pnCapGreatGrandChild3 = pnvCap2.elementAt(2); - System.out.println("Great grand Child 3: " + pnCapGreatGrandChild3.getLabel()); - System.out.println("Great grand Child 3: " + pnCapGreatGrandChild3.getLiteral()); - ParseNodeVector pnvCap3 = pnCapGreatGrandChild3.getChildren(); - System.out.println("Great great grand children: " + pnvCap3.size()); - ParseNode pnCapGreatGreatGrandChild1 = pnvCap3.elementAt(0); - System.out.println("Great great grand Child 1: " + pnCapGreatGreatGrandChild1.getLabel()); - System.out.println("Great great grand Child 1: " + pnCapGreatGreatGrandChild1.getLiteral()); - ParseNodeVector pnvDesc = pnCapGreatGreatGrandChild1.getChildren(); - System.out.println("Great great great grand children: " + pnvDesc.size()); - ParseNode pnDesc = pnvDesc.elementAt(0); - System.out.println("Description: " + pnDesc.getLabel()); - System.out.println("Description: " + pnDesc.getLiteral()); - - - ParseNode pnCapGreatGreatGrandChild2 = pnvCap3.elementAt(1); - System.out.println("Great great grand Child 2: " + pnCapGreatGreatGrandChild2.getLabel()); - System.out.println("Great great grand Child 2: " + pnCapGreatGreatGrandChild2.getLiteral()); - ParseNode pnCapGreatGreatGrandChild3 = pnvCap3.elementAt(2); - System.out.println("Great great grand Child 3: " + pnCapGreatGreatGrandChild3.getLabel()); - System.out.println("Great great grand Child 3: " + pnCapGreatGreatGrandChild3.getLiteral()); - ParseNode pnCapGreatGreatGrandChild4 = pnvCap3.elementAt(3); - System.out.println("Great great grand Child 4: " + pnCapGreatGreatGrandChild4.getLabel()); - System.out.println("Great great grand Child 4: " + pnCapGreatGreatGrandChild4.getLiteral()); - - System.out.println(); - - /*System.out.println("REQUIRES: "); - ParseNode pnReqChild = pnv.elementAt(2); - System.out.println("Child 3: " + pnv.elementAt(2).getLabel()); - System.out.println("Child 3: " + pnv.elementAt(2).getLiteral()); - ParseNodeVector pnvReq = pnReqChild.getChildren(); - System.out.println("Grand children: " + pnvReq.size()); - ParseNode pnReqGrandChild = pnvReq.elementAt(0); - System.out.println("Grand Child 1: " + pnReqGrandChild.getLabel()); - System.out.println("Grand Child 1: " + pnReqGrandChild.getLiteral()); - ParseNodeVector pnvReqGrand = pnReqGrandChild.getChildren(); - System.out.println("Grand children: " + pnvReqGrand.size()); - ParseNode pnReqGreatGrandChild = pnvReqGrand.elementAt(0); - System.out.println("Great grand Child 1: " + pnReqGreatGrandChild.getLabel()); - System.out.println("Great grand Child 1: " + pnReqGreatGrandChild.getLiteral()); - ParseNode pnReqGreatGrandChild2 = pnvReqGrand.elementAt(1); - System.out.println("Great grand Child 2: " + pnReqGreatGrandChild2.getLabel()); - System.out.println("Great grand Child 2: " + pnReqGreatGrandChild2.getLiteral()); - ParseNodeVector pnvCapList = pnReqGreatGrandChild2.getChildren(); - System.out.println("Grand children: " + pnvCapList.size()); - ParseNode pnReqGreatGreatGrandChild2 = pnvCapList.elementAt(0); - System.out.println("Great great grand Child 2: " + pnReqGreatGreatGrandChild2.getLabel()); - System.out.println("Great great grand Child 2: " + pnReqGreatGreatGrandChild2.getLiteral()); - - ParseNode pnReqGreatGrandChild3 = pnvReqGrand.elementAt(2); - System.out.println("Great grand Child 3: " + pnReqGreatGrandChild3.getLabel()); - System.out.println("Great grand Child 3: " + pnReqGreatGrandChild3.getLiteral()); - - - //ParseNodeVector pnvReqGreatGrand = pnReqGreatGrandChild2.getChildren(); - //System.out.println("Grand children: " + pnvReqGreatGrand.size()); - System.out.println();*/ - } @@ -295,26 +258,18 @@ class CUP$Parser$actions { switch (CUP$Parser$act_num) { /*. . . . . . . . . . . . . . . . . . . .*/ - case 0: // policy ::= intface capablist reqlist + case 0: // policy ::= intface { ParseNode RESULT =null; - int inleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left; - int inright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right; - ParseNode in = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value; - int capleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left; - int capright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right; - ParseNode cap = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value; - int rlleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left; - int rlright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right; - ParseNode rl = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value; + int inleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left; + int inright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right; + ParseNode in = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value; ParseNode pn = new ParseNode("policy"); pn.addChild(in); - pn.addChild(cap); - pn.addChild(rl); RESULT = pn; - 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); + 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); } return CUP$Parser$result; @@ -333,34 +288,50 @@ class CUP$Parser$actions { return CUP$Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 2: // intface ::= PUBLIC INTERFACE IDENT BEGIN methlist END + case 2: // policy ::= reqlist { ParseNode RESULT =null; - int idintleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left; - int idintright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right; - Object idint = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value; - int mlleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left; - int mlright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right; - ParseNode ml = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value; + int rlleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left; + int rlright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right; + ParseNode rl = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value; - ParseNode pn = new ParseNode("interface"); - pn.addChild("intface_ident").setLiteral(idint); - pn.addChild(ml); + ParseNode pn = new ParseNode("policy"); + pn.addChild(rl); RESULT = pn; - 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); + 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); } return CUP$Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 3: // intface ::= + case 3: // intface ::= PUBLIC INTERFACE IDENT BEGIN methlist capablist enumdeclist structdeclist END { ParseNode RESULT =null; + int idintleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).left; + int idintright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).right; + Object idint = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-6)).value; + int mlleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left; + int mlright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right; + ParseNode ml = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value; + int clleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left; + int clright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right; + ParseNode cl = (ParseNode)((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-2)).left; + int elright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right; + ParseNode el = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).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("interface"); + pn.addChild("intface_ident").setLiteral(idint); + pn.addChild(ml); + pn.addChild(cl); + pn.addChild(el); + pn.addChild(sl); RESULT = pn; - CUP$Parser$result = parser.getSymbolFactory().newSymbol("intface",1, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT); + CUP$Parser$result = parser.getSymbolFactory().newSymbol("intface",1, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT); } return CUP$Parser$result; @@ -419,7 +390,85 @@ class CUP$Parser$actions { return CUP$Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 7: // paramlist ::= paramlist param + case 7: // meth ::= PUBLIC IDENT IDENT LPAR paramlist RPAR SEMICOLON + { + ParseNode RESULT =null; + int clsmethleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left; + int clsmethright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right; + Object clsmeth = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value; + int idmethleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left; + int idmethright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right; + Object idmeth = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value; + int plleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left; + int plright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right; + ParseNode pl = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value; + + ParseNode pn = new ParseNode("method"); + pn.addChild("method_class").setLiteral(clsmeth); + pn.addChild("method_ident").setLiteral(idmeth); + pn.addChild(pl); + RESULT = pn; + + 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); + } + return CUP$Parser$result; + + /*. . . . . . . . . . . . . . . . . . . .*/ + case 8: // meth ::= PUBLIC IDENT LANG TYPE RANG IDENT LPAR paramlist RPAR SEMICOLON + { + ParseNode RESULT =null; + int clsmethleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).left; + int clsmethright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).right; + Object clsmeth = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-8)).value; + int typegenleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).left; + int typegenright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).right; + Object typegen = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-6)).value; + int idmethleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left; + int idmethright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right; + Object idmeth = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value; + int plleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left; + int plright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right; + ParseNode pl = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value; + + ParseNode pn = new ParseNode("method"); + pn.addChild("method_class").setLiteral((String)clsmeth + "<" + typegen + ">"); + pn.addChild("method_ident").setLiteral(idmeth); + pn.addChild(pl); + RESULT = pn; + + 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); + } + return CUP$Parser$result; + + /*. . . . . . . . . . . . . . . . . . . .*/ + case 9: // meth ::= PUBLIC IDENT LANG IDENT RANG IDENT LPAR paramlist RPAR SEMICOLON + { + ParseNode RESULT =null; + int clsmethleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).left; + int clsmethright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).right; + Object clsmeth = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-8)).value; + int clsgenleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).left; + int clsgenright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).right; + Object clsgen = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-6)).value; + int idmethleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left; + int idmethright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right; + Object idmeth = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value; + int plleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left; + int plright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right; + ParseNode pl = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value; + + ParseNode pn = new ParseNode("method"); + pn.addChild("method_class").setLiteral((String)clsmeth + "<" + clsgen + ">"); + pn.addChild("method_ident").setLiteral(idmeth); + pn.addChild(pl); + RESULT = pn; + + 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); + } + return CUP$Parser$result; + + /*. . . . . . . . . . . . . . . . . . . .*/ + case 10: // paramlist ::= paramlist param { ParseNode RESULT =null; int plleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left; @@ -437,7 +486,7 @@ class CUP$Parser$actions { return CUP$Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 8: // paramlist ::= + case 11: // paramlist ::= { ParseNode RESULT =null; @@ -449,7 +498,7 @@ class CUP$Parser$actions { return CUP$Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 9: // param ::= TYPE IDENT COMMA + case 12: // param ::= TYPE IDENT COMMA { ParseNode RESULT =null; int typeprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left; @@ -469,7 +518,7 @@ class CUP$Parser$actions { return CUP$Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 10: // param ::= TYPE IDENT + case 13: // param ::= TYPE IDENT { ParseNode RESULT =null; int typeprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left; @@ -489,7 +538,7 @@ class CUP$Parser$actions { return CUP$Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 11: // param ::= IDENT IDENT COMMA + case 14: // param ::= IDENT IDENT COMMA { ParseNode RESULT =null; int clsprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left; @@ -509,7 +558,7 @@ class CUP$Parser$actions { return CUP$Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 12: // param ::= IDENT IDENT + case 15: // param ::= IDENT IDENT { ParseNode RESULT =null; int clsprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left; @@ -529,42 +578,131 @@ class CUP$Parser$actions { return CUP$Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 13: // capablist ::= capablist capab + case 16: // param ::= IDENT LANG TYPE RANG IDENT { ParseNode RESULT =null; - int clistleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left; - int clistright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right; - ParseNode clist = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value; + int clsprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left; + int clsprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right; + Object clsprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value; + int typegenleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left; + int typegenright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right; + Object typegen = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value; + int idprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left; + int idprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right; + Object idprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value; + + ParseNode pn = new ParseNode("param"); + pn.addChild("param_class").setLiteral((String)clsprm + "<" + typegen + ">"); + pn.addChild("param_ident").setLiteral(idprm); + RESULT = pn; + + 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); + } + return CUP$Parser$result; + + /*. . . . . . . . . . . . . . . . . . . .*/ + case 17: // param ::= IDENT LANG IDENT RANG IDENT + { + ParseNode RESULT =null; + int clsprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left; + int clsprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right; + Object clsprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value; + int clsgenleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left; + int clsgenright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right; + Object clsgen = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value; + int idprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left; + int idprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right; + Object idprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value; + + ParseNode pn = new ParseNode("param"); + pn.addChild("param_class").setLiteral((String)clsprm + "<" + clsgen + ">"); + pn.addChild("param_ident").setLiteral(idprm); + RESULT = pn; + + 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); + } + return CUP$Parser$result; + + /*. . . . . . . . . . . . . . . . . . . .*/ + case 18: // param ::= IDENT LANG TYPE RANG IDENT COMMA + { + ParseNode RESULT =null; + int clsprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left; + int clsprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right; + Object clsprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value; + int typegenleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left; + int typegenright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right; + Object typegen = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value; + int idprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left; + int idprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right; + Object idprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value; + + ParseNode pn = new ParseNode("param"); + pn.addChild("param_class").setLiteral((String)clsprm + "<" + typegen + ">"); + pn.addChild("param_ident").setLiteral(idprm); + RESULT = pn; + + 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); + } + return CUP$Parser$result; + + /*. . . . . . . . . . . . . . . . . . . .*/ + case 19: // param ::= IDENT LANG IDENT RANG IDENT COMMA + { + ParseNode RESULT =null; + int clsprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left; + int clsprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right; + Object clsprm = (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 idprmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left; + int idprmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right; + Object idprm = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value; + + ParseNode pn = new ParseNode("param"); + pn.addChild("param_class").setLiteral((String)clsprm + "<" + clsgen + ">"); + pn.addChild("param_ident").setLiteral(idprm); + RESULT = pn; + + 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); + } + return CUP$Parser$result; + + /*. . . . . . . . . . . . . . . . . . . .*/ + case 20: // capablist ::= capablist capab + { + ParseNode RESULT =null; + int clleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left; + int clright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right; + ParseNode cl = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value; int capleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left; int capright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right; ParseNode cap = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value; - clist.addChild(cap); - RESULT = clist; + cl.addChild(cap); + RESULT = cl; - 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); + 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); } return CUP$Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 14: // capablist ::= + case 21: // capablist ::= { ParseNode RESULT =null; ParseNode pn = new ParseNode("capab_list"); RESULT = pn; - CUP$Parser$result = parser.getSymbolFactory().newSymbol("capablist",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT); + CUP$Parser$result = parser.getSymbolFactory().newSymbol("capablist",7, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT); } return CUP$Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 15: // capab ::= CAPABILITY IDENT DOT IDENT BEGIN capabcont END + case 22: // capab ::= CAPABILITY IDENT BEGIN capabcont END { ParseNode RESULT =null; - int idintleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left; - int idintright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right; - Object idint = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value; int idcapleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left; int idcapright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right; Object idcap = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value; @@ -573,17 +711,16 @@ class CUP$Parser$actions { ParseNode ccont = (ParseNode)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value; ParseNode pn = new ParseNode("capability"); - pn.addChild("intface_ident").setLiteral(idint); pn.addChild("capab_ident").setLiteral(idcap); pn.addChild(ccont); RESULT = pn; - 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); + 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); } return CUP$Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 16: // capabcont ::= capabcont cont + case 23: // capabcont ::= capabcont cont { ParseNode RESULT =null; int ccontleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left; @@ -596,62 +733,62 @@ class CUP$Parser$actions { ccont.addChild(cnt); RESULT = ccont; - 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); + 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); } return CUP$Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 17: // capabcont ::= + case 24: // capabcont ::= { ParseNode RESULT =null; ParseNode pn = new ParseNode("capab_content"); RESULT = pn; - CUP$Parser$result = parser.getSymbolFactory().newSymbol("capabcont",8, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT); + CUP$Parser$result = parser.getSymbolFactory().newSymbol("capabcont",9, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT); } return CUP$Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 18: // cont ::= DESCRIPTION ASSIGN STRINGCONST SEMICOLON + case 25: // cont ::= DESCRIPTION ASSIGN STRINGCONST SEMICOLON { ParseNode RESULT =null; int dscleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left; int dscright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right; Object dsc = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value; - int strleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left; - int strright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right; - Object str = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value; + int strdscleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left; + int strdscright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right; + Object strdsc = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value; ParseNode pn = new ParseNode("capab_content"); - pn.addChild("capab_desc").setLiteral(str); + pn.addChild("capab_desc").setLiteral(strdsc); RESULT = pn; - 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); + 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); } return CUP$Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 19: // cont ::= METHOD ASSIGN IDENT SEMICOLON + case 26: // cont ::= METHOD ASSIGN STRINGCONST SEMICOLON { ParseNode RESULT =null; int mtdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left; int mtdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right; Object mtd = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value; - int idmethleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left; - int idmethright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right; - Object idmeth = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value; + int strmethleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left; + int strmethright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right; + Object strmeth = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value; ParseNode pn = new ParseNode("capab_content"); - pn.addChild("capab_ident").setLiteral(idmeth); + pn.addChild("capab_meth").setLiteral(strmeth); RESULT = pn; - 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); + 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); } return CUP$Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 20: // reqlist ::= reqlist require + case 27: // reqlist ::= reqlist require { ParseNode RESULT =null; int rlleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left; @@ -664,24 +801,24 @@ class CUP$Parser$actions { rl.addChild(req); RESULT = rl; - 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); + 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); } return CUP$Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 21: // reqlist ::= + case 28: // reqlist ::= { ParseNode RESULT =null; - ParseNode pn = new ParseNode("requires_list"); + ParseNode pn = new ParseNode("reqlist"); RESULT = pn; - CUP$Parser$result = parser.getSymbolFactory().newSymbol("reqlist",10, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT); + CUP$Parser$result = parser.getSymbolFactory().newSymbol("reqlist",11, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT); } return CUP$Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 22: // require ::= REQUIRES IDENT WITH capintlist AS INTERFACE IDENT SEMICOLON + case 29: // require ::= REQUIRES IDENT WITH capintlist AS INTERFACE IDENT SEMICOLON { ParseNode RESULT =null; int idintleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).left; @@ -700,12 +837,12 @@ class CUP$Parser$actions { pn.addChild("new_intface_ident").setLiteral(idnewint); RESULT = pn; - 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); + 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); } return CUP$Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 23: // capintlist ::= IDENT + case 30: // capintlist ::= IDENT { ParseNode RESULT =null; int idcapleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left; @@ -716,12 +853,12 @@ class CUP$Parser$actions { pn.addChild("capab_ident").setLiteral(idcap); RESULT = pn; - 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); + 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); } return CUP$Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 24: // capintlist ::= capintlist COMMA IDENT + case 31: // capintlist ::= capintlist COMMA IDENT { ParseNode RESULT =null; int cilleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left; @@ -734,19 +871,274 @@ class CUP$Parser$actions { cil.addChild("capab_ident").setLiteral(idcap); RESULT = cil; - 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); + 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); } return CUP$Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 25: // capintlist ::= + case 32: // capintlist ::= { ParseNode RESULT =null; ParseNode pn = new ParseNode("capab_ident_list"); RESULT = pn; - CUP$Parser$result = parser.getSymbolFactory().newSymbol("capintlist",12, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT); + 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); } return CUP$Parser$result;