//---------------------------------------------------- // The following code was generated by CUP v0.10k // Wed May 16 12:28:36 NZST 2007 //---------------------------------------------------- package grammar; import java.io.*; import java.util.*; import java_cup.runtime.*; import node.*; import node.declNode.*; import node.declNode.componentDeclNode.*; import node.declNode.pathDefnNode.*; import node.declNode.valueDefnNode.*; import node.stmtNode.*; import node.stmtNode.forStmtNode.*; import node.stmtNode.ifStmtNode.*; import node.stmtNode.ifStmtNode.elseOptNode.*; import node.stmtNode.invocationStmtNode.*; import node.stmtNode.includeStmtNode.*; import node.exprNode.*; import node.exprNode.binaryNode.*; import node.exprNode.binaryNode.arithNode.*; import node.exprNode.binaryNode.stringNode.*; import node.exprNode.binaryNode.relationNode.*; import node.exprNode.binaryNode.boolNode.*; import node.exprNode.prefixNode.*; import node.exprNode.valueNode.*; import node.pathNode.*; import node.pathNode.pathNameNode.*; import text.*; /** CUP v0.10k generated parser. * @version Wed May 16 12:28:36 NZST 2007 */ public class parser extends java_cup.runtime.lr_parser { /** Default constructor. */ public parser() {super();} /** Constructor which sets the default scanner. */ public parser(java_cup.runtime.Scanner s) {super(s);} /** Production table. */ protected static final short _production_table[][] = unpackFromStrings(new String[] { "\000\143\000\002\002\004\000\002\003\002\000\002\003" + "\004\000\002\005\003\000\002\005\003\000\002\005\003" + "\000\002\004\002\000\002\004\004\000\002\006\003\000" + "\002\006\003\000\002\006\003\000\002\006\003\000\002" + "\006\003\000\002\006\004\000\002\006\004\000\002\010" + "\005\000\002\012\003\000\002\012\005\000\002\015\005" + "\000\002\013\005\000\002\013\002\000\002\014\003\000" + "\002\014\005\000\002\016\003\000\002\011\005\000\002" + "\021\003\000\002\021\005\000\002\022\003\000\002\022" + "\006\000\002\017\006\000\002\017\002\000\002\020\006" + "\000\002\020\002\000\002\007\010\000\002\023\005\000" + "\002\023\003\000\002\027\005\000\002\024\010\000\002" + "\032\002\000\002\032\004\000\002\032\007\000\002\025" + "\013\000\002\026\006\000\002\030\003\000\002\030\005" + "\000\002\031\004\000\002\033\006\000\002\033\002\000" + "\002\041\005\000\002\041\002\000\002\034\006\000\002" + "\034\002\000\002\035\003\000\002\035\005\000\002\036" + "\003\000\002\037\002\000\002\037\004\000\002\040\003" + "\000\002\040\006\000\002\040\010\000\002\042\003\000" + "\002\042\005\000\002\043\003\000\002\044\007\000\002" + "\044\003\000\002\045\005\000\002\045\003\000\002\046" + "\005\000\002\046\003\000\002\047\005\000\002\047\005" + "\000\002\047\005\000\002\047\005\000\002\047\005\000" + "\002\047\005\000\002\047\003\000\002\050\005\000\002" + "\050\005\000\002\050\003\000\002\051\005\000\002\051" + "\005\000\002\051\005\000\002\051\003\000\002\052\005" + "\000\002\052\005\000\002\052\005\000\002\052\003\000" + "\002\053\004\000\002\053\004\000\002\053\003\000\002" + "\054\005\000\002\054\003\000\002\054\003\000\002\055" + "\003\000\002\055\003\000\002\055\003\000\002\055\003" + "\000\002\055\003\000\002\055\003" }); /** Access to production table. */ public short[][] production_table() {return _production_table;} /** Parse-action table. */ protected static final short[][] _action_table = unpackFromStrings(new String[] { "\000\264\000\026\002\000\003\000\004\000\005\000\006" + "\000\011\000\014\000\020\000\031\000\070\000\001\002" + "\000\026\002\016\003\022\004\006\005\010\006\026\011" + "\011\014\013\020\024\031\025\070\uffd2\001\002\000\034" + "\002\ufff8\003\ufff8\004\ufff8\005\ufff8\006\ufff8\011\ufff8\013" + "\ufff8\014\ufff8\016\ufff8\017\ufff8\020\ufff8\031\ufff8\070\ufff8" + "\001\002\000\004\067\265\001\002\000\034\002\ufff6\003" + "\ufff6\004\ufff6\005\ufff6\006\ufff6\011\ufff6\013\ufff6\014\ufff6" + "\016\ufff6\017\ufff6\020\ufff6\031\ufff6\070\ufff6\001\002\000" + "\004\070\257\001\002\000\006\031\225\070\uffe3\001\002" + "\000\026\002\uffff\003\uffff\004\uffff\005\uffff\006\uffff\011" + "\uffff\014\uffff\020\uffff\031\uffff\070\uffff\001\002\000\026" + "\024\046\054\052\061\040\062\041\063\051\064\056\065" + "\054\066\057\067\045\070\035\001\002\000\026\002\ufffe" + "\003\ufffe\004\ufffe\005\ufffe\006\ufffe\011\ufffe\014\ufffe\020" + "\ufffe\031\ufffe\070\ufffe\001\002\000\004\070\171\001\002" + "\000\004\002\001\001\002\000\026\002\ufffd\003\ufffd\004" + "\ufffd\005\ufffd\006\ufffd\011\ufffd\014\ufffd\020\ufffd\031\ufffd" + "\070\ufffd\001\002\000\034\002\ufff5\003\ufff5\004\ufff5\005" + "\ufff5\006\ufff5\011\ufff5\013\ufff5\014\ufff5\016\ufff5\017\ufff5" + "\020\ufff5\031\ufff5\070\ufff5\001\002\000\026\002\ufffc\003" + "\ufffc\004\ufffc\005\ufffc\006\ufffc\011\ufffc\014\ufffc\020\ufffc" + "\031\ufffc\070\ufffc\001\002\000\006\013\166\033\165\001" + "\002\000\034\002\ufff7\003\ufff7\004\ufff7\005\ufff7\006\ufff7" + "\011\ufff7\013\ufff7\014\ufff7\016\ufff7\017\ufff7\020\ufff7\031" + "\ufff7\070\ufff7\001\002\000\004\070\154\001\002\000\004" + "\007\135\001\002\000\004\070\031\001\002\000\034\002" + "\ufff9\003\ufff9\004\ufff9\005\ufff9\006\ufff9\011\ufff9\013\ufff9" + "\014\ufff9\016\ufff9\017\ufff9\020\ufff9\031\ufff9\070\ufff9\001" + "\002\000\006\033\133\034\132\001\002\000\012\026\033" + "\032\uffe6\033\uffe6\034\uffe6\001\002\000\010\032\uffe8\033" + "\uffe8\034\uffe8\001\002\000\026\024\046\054\052\061\040" + "\062\041\063\051\064\056\065\054\066\057\067\045\070" + "\035\001\002\000\032\015\uffbd\022\uffbd\023\uffbd\025\uffbd" + "\027\uffbd\030\uffbd\033\uffbd\034\uffbd\037\uffbd\040\uffbd\041" + "\uffbd\042\uffbd\001\002\000\066\015\uffa6\022\uffa6\023\uffa6" + "\025\uffa6\027\uffa6\030\uffa6\033\uffa6\034\uffa6\037\uffa6\040" + "\uffa6\041\uffa6\042\uffa6\043\uffa6\044\uffa6\045\uffa6\046\uffa6" + "\047\uffa6\050\uffa6\051\uffa6\052\uffa6\053\uffa6\054\uffa6\055" + "\uffa6\056\uffa6\057\uffa6\060\uffa6\001\002\000\030\015\uffc1" + "\022\uffc1\023\uffc1\025\uffc1\027\uffc1\030\uffc1\033\uffc1\034" + "\uffc1\037\124\040\uffc1\041\125\001\002\000\066\015\uffa8" + "\022\uffa8\023\uffa8\025\uffa8\027\uffa8\030\uffa8\033\uffa8\034" + "\uffa8\037\uffa8\040\uffa8\041\uffa8\042\uffa8\043\uffa8\044\uffa8" + "\045\uffa8\046\uffa8\047\uffa8\050\uffa8\051\uffa8\052\uffa8\053" + "\uffa8\054\uffa8\055\uffa8\056\uffa8\057\uffa8\060\uffa8\001\002" + "\000\026\024\046\054\052\061\040\062\041\063\051\064" + "\056\065\054\066\057\067\045\070\035\001\002\000\066" + "\015\uffa1\022\uffa1\023\uffa1\025\uffa1\027\uffa1\030\uffa1\033" + "\uffa1\034\uffa1\037\uffa1\040\uffa1\041\uffa1\042\uffa1\043\uffa1" + "\044\uffa1\045\uffa1\046\uffa1\047\uffa1\050\uffa1\051\uffa1\052" + "\uffa1\053\uffa1\054\uffa1\055\uffa1\056\uffa1\057\uffa1\060\uffa1" + "\001\002\000\024\015\uffc3\022\uffc3\023\uffc3\025\uffc3\027" + "\uffc3\030\uffc3\033\uffc3\034\uffc3\040\uffc3\001\002\000\004" + "\027\122\001\002\000\066\015\uffaf\022\uffaf\023\uffaf\025" + "\uffaf\027\uffaf\030\uffaf\033\uffaf\034\uffaf\037\uffaf\040\uffaf" + "\041\uffaf\042\uffaf\043\uffaf\044\uffaf\045\uffaf\046\uffaf\047" + "\uffaf\050\uffaf\051\uffaf\052\uffaf\053\uffaf\054\uffaf\055\uffaf" + "\056\101\057\100\060\077\001\002\000\066\015\uff9f\022" + "\uff9f\023\uff9f\025\uff9f\027\uff9f\030\uff9f\033\uff9f\034\uff9f" + "\037\uff9f\040\uff9f\041\uff9f\042\uff9f\043\uff9f\044\uff9f\045" + "\uff9f\046\uff9f\047\uff9f\050\uff9f\051\uff9f\052\uff9f\053\uff9f" + "\054\uff9f\055\uff9f\056\uff9f\057\uff9f\060\uff9f\001\002\000" + "\026\024\046\054\052\061\040\062\041\063\051\064\056" + "\065\054\066\057\067\045\070\035\001\002\000\060\015" + "\uffb3\022\uffb3\023\uffb3\025\uffb3\027\uffb3\030\uffb3\033\uffb3" + "\034\uffb3\037\uffb3\040\uffb3\041\uffb3\042\uffb3\043\uffb3\044" + "\uffb3\045\uffb3\046\uffb3\047\uffb3\050\uffb3\051\uffb3\052\uffb3" + "\053\074\054\075\055\073\001\002\000\066\015\uffab\022" + "\uffab\023\uffab\025\uffab\027\uffab\030\uffab\033\uffab\034\uffab" + "\037\uffab\040\uffab\041\uffab\042\uffab\043\uffab\044\uffab\045" + "\uffab\046\uffab\047\uffab\050\uffab\051\uffab\052\uffab\053\uffab" + "\054\uffab\055\uffab\056\uffab\057\uffab\060\uffab\001\002\000" + "\066\015\uffa0\022\uffa0\023\uffa0\025\uffa0\027\uffa0\030\uffa0" + "\033\uffa0\034\uffa0\037\uffa0\040\uffa0\041\uffa0\042\uffa0\043" + "\uffa0\044\uffa0\045\uffa0\046\uffa0\047\uffa0\050\uffa0\051\uffa0" + "\052\uffa0\053\uffa0\054\uffa0\055\uffa0\056\uffa0\057\uffa0\060" + "\uffa0\001\002\000\026\024\046\054\052\061\040\062\041" + "\063\051\064\056\065\054\066\057\067\045\070\035\001" + "\002\000\066\015\uffa5\022\uffa5\023\uffa5\025\uffa5\027\uffa5" + "\030\uffa5\033\uffa5\034\uffa5\037\uffa5\040\uffa5\041\uffa5\042" + "\uffa5\043\uffa5\044\uffa5\045\uffa5\046\uffa5\047\uffa5\050\uffa5" + "\051\uffa5\052\uffa5\053\uffa5\054\uffa5\055\uffa5\056\uffa5\057" + "\uffa5\060\uffa5\001\002\000\066\015\uffa3\022\uffa3\023\uffa3" + "\025\uffa3\027\uffa3\030\uffa3\033\uffa3\034\uffa3\037\uffa3\040" + "\uffa3\041\uffa3\042\uffa3\043\uffa3\044\uffa3\045\uffa3\046\uffa3" + "\047\uffa3\050\uffa3\051\uffa3\052\uffa3\053\uffa3\054\uffa3\055" + "\uffa3\056\uffa3\057\uffa3\060\uffa3\001\002\000\032\015\uffbf" + "\022\uffbf\023\uffbf\025\uffbf\027\uffbf\030\uffbf\033\uffbf\034" + "\uffbf\037\uffbf\040\uffbf\041\uffbf\042\115\001\002\000\066" + "\015\uffa4\022\uffa4\023\uffa4\025\uffa4\027\uffa4\030\uffa4\033" + "\uffa4\034\uffa4\037\uffa4\040\uffa4\041\uffa4\042\uffa4\043\uffa4" + "\044\uffa4\045\uffa4\046\uffa4\047\uffa4\050\uffa4\051\uffa4\052" + "\uffa4\053\uffa4\054\uffa4\055\uffa4\056\uffa4\057\uffa4\060\uffa4" + "\001\002\000\066\015\uffa2\022\uffa2\023\uffa2\025\uffa2\027" + "\uffa2\030\uffa2\033\uffa2\034\uffa2\037\uffa2\040\uffa2\041\uffa2" + "\042\uffa2\043\uffa2\044\uffa2\045\uffa2\046\uffa2\047\uffa2\050" + "\uffa2\051\uffa2\052\uffa2\053\uffa2\054\uffa2\055\uffa2\056\uffa2" + "\057\uffa2\060\uffa2\001\002\000\052\015\uffb6\022\uffb6\023" + "\uffb6\025\uffb6\027\uffb6\030\uffb6\033\uffb6\034\uffb6\037\uffb6" + "\040\uffb6\041\uffb6\042\uffb6\043\061\044\063\045\065\046" + "\066\047\062\050\070\051\067\052\064\001\002\000\026" + "\024\046\054\052\061\040\062\041\063\051\064\056\065" + "\054\066\057\067\045\070\035\001\002\000\026\024\046" + "\054\052\061\040\062\041\063\051\064\056\065\054\066" + "\057\067\045\070\035\001\002\000\026\024\046\054\052" + "\061\040\062\041\063\051\064\056\065\054\066\057\067" + "\045\070\035\001\002\000\026\024\046\054\052\061\040" + "\062\041\063\051\064\056\065\054\066\057\067\045\070" + "\035\001\002\000\026\024\046\054\052\061\040\062\041" + "\063\051\064\056\065\054\066\057\067\045\070\035\001" + "\002\000\026\024\046\054\052\061\040\062\041\063\051" + "\064\056\065\054\066\057\067\045\070\035\001\002\000" + "\026\024\046\054\052\061\040\062\041\063\051\064\056" + "\065\054\066\057\067\045\070\035\001\002\000\026\024" + "\046\054\052\061\040\062\041\063\051\064\056\065\054" + "\066\057\067\045\070\035\001\002\000\036\015\uffb7\022" + "\uffb7\023\uffb7\025\uffb7\027\uffb7\030\uffb7\033\uffb7\034\uffb7" + "\037\uffb7\040\uffb7\041\uffb7\042\uffb7\051\067\052\064\001" + "\002\000\060\015\uffb5\022\uffb5\023\uffb5\025\uffb5\027\uffb5" + "\030\uffb5\033\uffb5\034\uffb5\037\uffb5\040\uffb5\041\uffb5\042" + "\uffb5\043\uffb5\044\uffb5\045\uffb5\046\uffb5\047\uffb5\050\uffb5" + "\051\uffb5\052\uffb5\053\074\054\075\055\073\001\002\000" + "\026\024\046\054\052\061\040\062\041\063\051\064\056" + "\065\054\066\057\067\045\070\035\001\002\000\026\024" + "\046\054\052\061\040\062\041\063\051\064\056\065\054" + "\066\057\067\045\070\035\001\002\000\026\024\046\054" + "\052\061\040\062\041\063\051\064\056\065\054\066\057" + "\067\045\070\035\001\002\000\066\015\uffb1\022\uffb1\023" + "\uffb1\025\uffb1\027\uffb1\030\uffb1\033\uffb1\034\uffb1\037\uffb1" + "\040\uffb1\041\uffb1\042\uffb1\043\uffb1\044\uffb1\045\uffb1\046" + "\uffb1\047\uffb1\050\uffb1\051\uffb1\052\uffb1\053\uffb1\054\uffb1" + "\055\uffb1\056\101\057\100\060\077\001\002\000\026\024" + "\046\054\052\061\040\062\041\063\051\064\056\065\054" + "\066\057\067\045\070\035\001\002\000\026\024\046\054" + "\052\061\040\062\041\063\051\064\056\065\054\066\057" + "\067\045\070\035\001\002\000\026\024\046\054\052\061" + "\040\062\041\063\051\064\056\065\054\066\057\067\045" + "\070\035\001\002\000\066\015\uffae\022\uffae\023\uffae\025" + "\uffae\027\uffae\030\uffae\033\uffae\034\uffae\037\uffae\040\uffae" + "\041\uffae\042\uffae\043\uffae\044\uffae\045\uffae\046\uffae\047" + "\uffae\050\uffae\051\uffae\052\uffae\053\uffae\054\uffae\055\uffae" + "\056\uffae\057\uffae\060\uffae\001\002\000\066\015\uffad\022" + "\uffad\023\uffad\025\uffad\027\uffad\030\uffad\033\uffad\034\uffad" + "\037\uffad\040\uffad\041\uffad\042\uffad\043\uffad\044\uffad\045" + "\uffad\046\uffad\047\uffad\050\uffad\051\uffad\052\uffad\053\uffad" + "\054\uffad\055\uffad\056\uffad\057\uffad\060\uffad\001\002\000" + "\066\015\uffac\022\uffac\023\uffac\025\uffac\027\uffac\030\uffac" + "\033\uffac\034\uffac\037\uffac\040\uffac\041\uffac\042\uffac\043" + "\uffac\044\uffac\045\uffac\046\uffac\047\uffac\050\uffac\051\uffac" + "\052\uffac\053\uffac\054\uffac\055\uffac\056\uffac\057\uffac\060" + "\uffac\001\002\000\066\015\uffb2\022\uffb2\023\uffb2\025\uffb2" + "\027\uffb2\030\uffb2\033\uffb2\034\uffb2\037\uffb2\040\uffb2\041" + "\uffb2\042\uffb2\043\uffb2\044\uffb2\045\uffb2\046\uffb2\047\uffb2" + "\050\uffb2\051\uffb2\052\uffb2\053\uffb2\054\uffb2\055\uffb2\056" + "\101\057\100\060\077\001\002\000\066\015\uffb0\022\uffb0" + "\023\uffb0\025\uffb0\027\uffb0\030\uffb0\033\uffb0\034\uffb0\037" + "\uffb0\040\uffb0\041\uffb0\042\uffb0\043\uffb0\044\uffb0\045\uffb0" + "\046\uffb0\047\uffb0\050\uffb0\051\uffb0\052\uffb0\053\uffb0\054" + "\uffb0\055\uffb0\056\101\057\100\060\077\001\002\000\036" + "\015\uffb9\022\uffb9\023\uffb9\025\uffb9\027\uffb9\030\uffb9\033" + "\uffb9\034\uffb9\037\uffb9\040\uffb9\041\uffb9\042\uffb9\051\067" + "\052\064\001\002\000\036\015\uffba\022\uffba\023\uffba\025" + "\uffba\027\uffba\030\uffba\033\uffba\034\uffba\037\uffba\040\uffba" + "\041\uffba\042\uffba\051\067\052\064\001\002\000\060\015" + "\uffb4\022\uffb4\023\uffb4\025\uffb4\027\uffb4\030\uffb4\033\uffb4" + "\034\uffb4\037\uffb4\040\uffb4\041\uffb4\042\uffb4\043\uffb4\044" + "\uffb4\045\uffb4\046\uffb4\047\uffb4\050\uffb4\051\uffb4\052\uffb4" + "\053\074\054\075\055\073\001\002\000\036\015\uffbb\022" + "\uffbb\023\uffbb\025\uffbb\027\uffbb\030\uffbb\033\uffbb\034\uffbb" + "\037\uffbb\040\uffbb\041\uffbb\042\uffbb\051\067\052\064\001" + "\002\000\036\015\uffb8\022\uffb8\023\uffb8\025\uffb8\027\uffb8" + "\030\uffb8\033\uffb8\034\uffb8\037\uffb8\040\uffb8\041\uffb8\042" + "\uffb8\051\067\052\064\001\002\000\036\015\uffbc\022\uffbc" + "\023\uffbc\025\uffbc\027\uffbc\030\uffbc\033\uffbc\034\uffbc\037" + "\uffbc\040\uffbc\041\uffbc\042\uffbc\051\067\052\064\001\002" + "\000\026\024\046\054\052\061\040\062\041\063\051\064" + "\056\065\054\066\057\067\045\070\035\001\002\000\032" + "\015\uffbe\022\uffbe\023\uffbe\025\uffbe\027\uffbe\030\uffbe\033" + "\uffbe\034\uffbe\037\uffbe\040\uffbe\041\uffbe\042\uffbe\001\002" + "\000\066\015\uffaa\022\uffaa\023\uffaa\025\uffaa\027\uffaa\030" + "\uffaa\033\uffaa\034\uffaa\037\uffaa\040\uffaa\041\uffaa\042\uffaa" + "\043\uffaa\044\uffaa\045\uffaa\046\uffaa\047\uffaa\050\uffaa\051" + "\uffaa\052\uffaa\053\uffaa\054\uffaa\055\uffaa\056\uffaa\057\uffaa" + "\060\uffaa\001\002\000\004\025\121\001\002\000\066\015" + "\uffa7\022\uffa7\023\uffa7\025\uffa7\027\uffa7\030\uffa7\033\uffa7" + "\034\uffa7\037\uffa7\040\uffa7\041\uffa7\042\uffa7\043\uffa7\044" + "\uffa7\045\uffa7\046\uffa7\047\uffa7\050\uffa7\051\uffa7\052\uffa7" + "\053\uffa7\054\uffa7\055\uffa7\056\uffa7\057\uffa7\060\uffa7\001" + "\002\000\010\032\uffe5\033\uffe5\034\uffe5\001\002\000\066" + "\015\uffa9\022\uffa9\023\uffa9\025\uffa9\027\uffa9\030\uffa9\033" + "\uffa9\034\uffa9\037\uffa9\040\uffa9\041\uffa9\042\uffa9\043\uffa9" + "\044\uffa9\045\uffa9\046\uffa9\047\uffa9\050\uffa9\051\uffa9\052" + "\uffa9\053\uffa9\054\uffa9\055\uffa9\056\uffa9\057\uffa9\060\uffa9" + "\001\002\000\026\024\046\054\052\061\040\062\041\063" + "\051\064\056\065\054\066\057\067\045\070\035\001\002" + "\000\026\024\046\054\052\061\040\062\041\063\051\064" + "\056\065\054\066\057\067\045\070\035\001\002\000\032" + "\015\uffc0\022\uffc0\023\uffc0\025\uffc0\027\uffc0\030\uffc0\033" + "\uffc0\034\uffc0\037\uffc0\040\uffc0\041\uffc0\042\115\001\002" + "\000\004\040\130\001\002\000\026\024\046\054\052\061" + "\040\062\041\063\051\064\056\065\054\066\057\067\045" + "\070\035\001\002\000\024\015\uffc2\022\uffc2\023\uffc2\025" + "\uffc2\027\uffc2\030\uffc2\033\uffc2\034\uffc2\040\uffc2\001\002" + "\000\004\070\031\001\002\000\034\002\uffe9\003\uffe9\004" + "\uffe9\005\uffe9\006\uffe9\011\uffe9\013\uffe9\014\uffe9\016\uffe9" + "\017\uffe9\020\uffe9\031\uffe9\070\uffe9\001\002\000\010\032" + "\uffe7\033\uffe7\034\uffe7\001\002\000\010\032\uffca\034\uffca" + "\070\uffca\001\002\000\006\032\152\034\151\001\002\000" + "\010\032\uffcb\034\uffcb\070\142\001\002\000\006\032\uffcd" + "\034\uffcd\001\002\000\010\032\uffc9\034\uffc9\070\uffc9\001" + "\002\000\012\026\143\032\uffc8\034\uffc8\070\uffc8\001\002" + "\000\026\024\046\054\052\061\040\062\041\063\051\064" + "\056\065\054\066\057\067\045\070\035\001\002\000\006" + "\027\146\030\145\001\002\000\026\024\046\054\052\061" + "\040\062\041\063\051\064\056\065\054\066\057\067\045" + "\070\035\001\002\000\010\032\uffc7\034\uffc7\070\uffc7\001" + "\002\000\004\027\150\001\002\000\010\032\uffc6\034\uffc6" + "\070\uffc6\001\002\000\010\032\uffca\034\uffca\070\uffca\001" + "\002\000\004\070\uffd3\001\002\000\006\032\uffcc\034\uffcc" + "\001\002\000\004\021\155\001\002\000\026\024\046\054" + "\052\061\040\062\041\063\051\064\056\065\054\066\057" + "\067\045\070\035\001\002\000\004\022\157\001\002\000" + "\026\024\046\054\052\061\040\062\041\063\051\064\056" + "\065\054\066\057\067\045\070\035\001\002\000\004\023" + "\161\001\002\000\022\003\ufffb\005\ufffb\006\ufffb\013\ufffb" + "\014\ufffb\020\ufffb\031\ufffb\070\ufffb\001\002\000\022\003" + "\022\005\010\006\026\013\164\014\013\020\024\031\025" + "\070\uffd2\001\002\000\026\003\ufffa\005\ufffa\006\ufffa\013" + "\ufffa\014\ufffa\016\ufffa\017\ufffa\020\ufffa\031\ufffa\070\ufffa" + "\001\002\000\034\002\uffd8\003\uffd8\004\uffd8\005\uffd8\006" + "\uffd8\011\uffd8\013\uffd8\014\uffd8\016\uffd8\017\uffd8\020\uffd8" + "\031\uffd8\070\uffd8\001\002\000\034\002\ufff4\003\ufff4\004" + "\ufff4\005\ufff4\006\ufff4\011\ufff4\013\ufff4\014\ufff4\016\ufff4" + "\017\ufff4\020\ufff4\031\ufff4\070\ufff4\001\002\000\034\002" + "\ufff3\003\ufff3\004\ufff3\005\ufff3\006\ufff3\011\ufff3\013\ufff3" + "\014\ufff3\016\ufff3\017\ufff3\020\ufff3\031\ufff3\070\ufff3\001" + "\002\000\010\031\uffd6\033\uffd6\035\uffd6\001\002\000\010" + "\031\202\033\uffce\035\203\001\002\000\012\024\173\031" + "\uffd0\033\uffd0\035\uffd0\001\002\000\010\031\uffd4\033\uffd4" + "\035\uffd4\001\002\000\026\024\046\054\052\061\040\062" + "\041\063\051\064\056\065\054\066\057\067\045\070\035" + "\001\002\000\006\025\177\034\176\001\002\000\006\025" + "\uffc5\034\uffc5\001\002\000\026\024\046\054\052\061\040" + "\062\041\063\051\064\056\065\054\066\057\067\045\070" + "\035\001\002\000\010\031\uffd1\033\uffd1\035\uffd1\001\002" + "\000\006\025\uffc4\034\uffc4\001\002\000\004\033\210\001" + "\002\000\004\010\205\001\002\000\004\070\171\001\002" + "\000\010\031\uffd5\033\uffd5\035\uffd5\001\002\000\010\032" + "\uffca\034\uffca\070\uffca\001\002\000\006\032\207\034\151" + "\001\002\000\004\033\uffcf\001\002\000\034\002\uffd7\003" + "\uffd7\004\uffd7\005\uffd7\006\uffd7\011\uffd7\013\uffd7\014\uffd7" + "\016\uffd7\017\uffd7\020\uffd7\031\uffd7\070\uffd7\001\002\000" + "\004\015\212\001\002\000\026\003\ufffb\005\ufffb\006\ufffb" + "\013\ufffb\014\ufffb\016\ufffb\017\ufffb\020\ufffb\031\ufffb\070" + "\ufffb\001\002\000\026\003\022\005\010\006\026\013\uffdb" + "\014\013\016\216\017\214\020\024\031\025\070\uffd2\001" + "\002\000\026\024\046\054\052\061\040\062\041\063\051" + "\064\056\065\054\066\057\067\045\070\035\001\002\000" + "\004\013\220\001\002\000\022\003\ufffb\005\ufffb\006\ufffb" + "\013\ufffb\014\ufffb\020\ufffb\031\ufffb\070\ufffb\001\002\000" + "\022\003\022\005\010\006\026\013\uffda\014\013\020\024" + "\031\025\070\uffd2\001\002\000\034\002\uffdc\003\uffdc\004" + "\uffdc\005\uffdc\006\uffdc\011\uffdc\013\uffdc\014\uffdc\016\uffdc" + "\017\uffdc\020\uffdc\031\uffdc\070\uffdc\001\002\000\004\015" + "\222\001\002\000\026\003\ufffb\005\ufffb\006\ufffb\013\ufffb" + "\014\ufffb\016\ufffb\017\ufffb\020\ufffb\031\ufffb\070\ufffb\001" + "\002\000\026\003\022\005\010\006\026\013\uffdb\014\013" + "\016\216\017\214\020\024\031\025\070\uffd2\001\002\000" + "\004\013\uffd9\001\002\000\004\007\252\001\002\000\004" + "\070\227\001\002\000\012\012\uffed\024\230\031\uffed\033" + "\uffed\001\002\000\004\070\245\001\002\000\010\012\uffe1" + "\031\232\033\uffe1\001\002\000\004\010\241\001\002\000" + "\006\012\235\033\234\001\002\000\026\002\uffde\003\uffde" + "\004\uffde\005\uffde\006\uffde\011\uffde\014\uffde\020\uffde\031" + "\uffde\070\uffde\001\002\000\022\003\ufffb\005\ufffb\006\ufffb" + "\013\ufffb\014\ufffb\020\ufffb\031\ufffb\070\ufffb\001\002\000" + "\026\002\uffe0\003\uffe0\004\uffe0\005\uffe0\006\uffe0\011\uffe0" + "\014\uffe0\020\uffe0\031\uffe0\070\uffe0\001\002\000\022\003" + "\022\005\010\006\026\013\240\014\013\020\024\031\025" + "\070\uffd2\001\002\000\026\002\uffdf\003\uffdf\004\uffdf\005" + "\uffdf\006\uffdf\011\uffdf\014\uffdf\020\uffdf\031\uffdf\070\uffdf" + "\001\002\000\004\070\031\001\002\000\006\032\243\034" + "\132\001\002\000\006\012\uffe2\033\uffe2\001\002\000\006" + "\025\250\034\247\001\002\000\006\025\uffea\034\uffea\001" + "\002\000\006\025\uffec\034\uffec\001\002\000\004\070\245" + "\001\002\000\010\012\uffee\031\uffee\033\uffee\001\002\000" + "\006\025\uffeb\034\uffeb\001\002\000\004\070\031\001\002" + "\000\006\032\254\034\132\001\002\000\004\070\uffe4\001" + "\002\000\006\033\ufff1\034\ufff1\001\002\000\006\033\263" + "\034\262\001\002\000\004\036\260\001\002\000\026\024" + "\046\054\052\061\040\062\041\063\051\064\056\065\054" + "\066\057\067\045\070\035\001\002\000\006\033\uffef\034" + "\uffef\001\002\000\004\070\257\001\002\000\034\002\ufff2" + "\003\ufff2\004\ufff2\005\ufff2\006\ufff2\011\ufff2\013\ufff2\014" + "\ufff2\016\ufff2\017\ufff2\020\ufff2\031\ufff2\070\ufff2\001\002" + "\000\006\033\ufff0\034\ufff0\001\002\000\004\033\266\001" + "\002\000\026\002\uffdd\003\uffdd\004\uffdd\005\uffdd\006\uffdd" + "\011\uffdd\014\uffdd\020\uffdd\031\uffdd\070\uffdd\001\002" }); /** Access to parse-action table. */ public short[][] action_table() {return _action_table;} /** reduce_goto table. */ protected static final short[][] _reduce_table = unpackFromStrings(new String[] { "\000\264\000\004\003\003\001\001\000\026\005\011\006" + "\020\007\013\010\026\011\004\024\022\025\006\026\017" + "\027\016\033\014\001\001\000\002\001\001\000\002\001" + "\001\000\002\001\001\000\006\012\255\015\254\001\001" + "\000\004\017\225\001\001\000\002\001\001\000\030\043" + "\210\044\041\045\035\046\054\047\033\050\057\051\046" + "\052\043\053\047\054\036\055\052\001\001\000\002\001" + "\001\000\006\030\167\031\166\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\006\021\027\022\031\001\001\000\002\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + "\000\030\043\042\044\041\045\035\046\054\047\033\050" + "\057\051\046\052\043\053\047\054\036\055\052\001\001" + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + "\002\001\001\000\010\053\122\054\036\055\052\001\001" + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + "\002\001\001\000\002\001\001\000\030\043\117\044\041" + "\045\035\046\054\047\033\050\057\051\046\052\043\053" + "\047\054\036\055\052\001\001\000\002\001\001\000\002" + "\001\001\000\002\001\001\000\010\053\116\054\036\055" + "\052\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\016\050\113\051\046\052\043\053\047\054\036" + "\055\052\001\001\000\016\050\112\051\046\052\043\053" + "\047\054\036\055\052\001\001\000\016\050\111\051\046" + "\052\043\053\047\054\036\055\052\001\001\000\014\051" + "\110\052\043\053\047\054\036\055\052\001\001\000\016" + "\050\107\051\046\052\043\053\047\054\036\055\052\001" + "\001\000\016\050\106\051\046\052\043\053\047\054\036" + "\055\052\001\001\000\014\051\071\052\043\053\047\054" + "\036\055\052\001\001\000\016\050\070\051\046\052\043" + "\053\047\054\036\055\052\001\001\000\002\001\001\000" + "\002\001\001\000\012\052\105\053\047\054\036\055\052" + "\001\001\000\012\052\104\053\047\054\036\055\052\001" + "\001\000\012\052\075\053\047\054\036\055\052\001\001" + "\000\002\001\001\000\010\053\103\054\036\055\052\001" + "\001\000\010\053\102\054\036\055\052\001\001\000\010" + "\053\101\054\036\055\052\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\020\047\115\050\057\051\046\052\043\053\047\054" + "\036\055\052\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\030\043\126\044\041\045\035\046\054" + "\047\033\050\057\051\046\052\043\053\047\054\036\055" + "\052\001\001\000\022\046\125\047\033\050\057\051\046" + "\052\043\053\047\054\036\055\052\001\001\000\002\001" + "\001\000\002\001\001\000\030\043\130\044\041\045\035" + "\046\054\047\033\050\057\051\046\052\043\053\047\054" + "\036\055\052\001\001\000\002\001\001\000\004\022\133" + "\001\001\000\002\001\001\000\002\001\001\000\010\035" + "\135\036\137\037\136\001\001\000\002\001\001\000\004" + "\040\140\001\001\000\002\001\001\000\002\001\001\000" + "\002\001\001\000\030\043\143\044\041\045\035\046\054" + "\047\033\050\057\051\046\052\043\053\047\054\036\055" + "\052\001\001\000\002\001\001\000\030\043\146\044\041" + "\045\035\046\054\047\033\050\057\051\046\052\043\053" + "\047\054\036\055\052\001\001\000\002\001\001\000\002" + "\001\001\000\002\001\001\000\006\036\152\037\136\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + "\000\030\043\155\044\041\045\035\046\054\047\033\050" + "\057\051\046\052\043\053\047\054\036\055\052\001\001" + "\000\002\001\001\000\030\043\157\044\041\045\035\046" + "\054\047\033\050\057\051\046\052\043\053\047\054\036" + "\055\052\001\001\000\002\001\001\000\004\004\161\001" + "\001\000\020\006\162\010\026\011\004\024\022\025\006" + "\026\017\033\014\001\001\000\002\001\001\000\002\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + "\000\004\034\200\001\001\000\004\041\171\001\001\000" + "\002\001\001\000\032\042\173\043\174\044\041\045\035" + "\046\054\047\033\050\057\051\046\052\043\053\047\054" + "\036\055\052\001\001\000\002\001\001\000\002\001\001" + "\000\030\043\177\044\041\045\035\046\054\047\033\050" + "\057\051\046\052\043\053\047\054\036\055\052\001\001" + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + "\002\001\001\000\004\031\203\001\001\000\002\001\001" + "\000\010\035\205\036\137\037\136\001\001\000\002\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + "\000\004\004\212\001\001\000\022\006\162\010\026\011" + "\004\024\022\025\006\026\017\032\214\033\014\001\001" + "\000\030\043\220\044\041\045\035\046\054\047\033\050" + "\057\051\046\052\043\053\047\054\036\055\052\001\001" + "\000\002\001\001\000\004\004\216\001\001\000\020\006" + "\162\010\026\011\004\024\022\025\006\026\017\033\014" + "\001\001\000\002\001\001\000\002\001\001\000\004\004" + "\222\001\001\000\022\006\162\010\026\011\004\024\022" + "\025\006\026\017\032\223\033\014\001\001\000\002\001" + "\001\000\002\001\001\000\002\001\001\000\004\013\230" + "\001\001\000\006\014\243\016\245\001\001\000\004\020" + "\232\001\001\000\002\001\001\000\004\023\235\001\001" + "\000\002\001\001\000\004\004\236\001\001\000\002\001" + "\001\000\020\006\162\010\026\011\004\024\022\025\006" + "\026\017\033\014\001\001\000\002\001\001\000\006\021" + "\241\022\031\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\250\001\001\000\002\001\001\000\002\001\001" + "\000\006\021\252\022\031\001\001\000\002\001\001\000" + "\002\001\001\000\002\001\001\000\002\001\001\000\002" + "\001\001\000\030\043\260\044\041\045\035\046\054\047" + "\033\050\057\051\046\052\043\053\047\054\036\055\052" + "\001\001\000\002\001\001\000\004\015\263\001\001\000" + "\002\001\001\000\002\001\001\000\002\001\001\000\002" + "\001\001" }); /** Access to reduce_goto table. */ public short[][] reduce_table() {return _reduce_table;} /** Instance of action encapsulation class. */ protected CUP$parser$actions action_obj; /** Action encapsulation object initializer. */ protected void init_actions() { action_obj = new CUP$parser$actions(this); } /** Invoke a user supplied parse action. */ public java_cup.runtime.Symbol do_action( int act_num, java_cup.runtime.lr_parser parser, java.util.Stack stack, int top) throws java.lang.Exception { /* call code in generated class */ return action_obj.CUP$parser$do_action(act_num, parser, stack, top); } /** Indicates start state. */ public int start_state() {return 0;} /** Indicates start production. */ public int start_production() {return 0;} /** EOF Symbol index. */ public int EOF_sym() {return 0;} /** error Symbol index. */ public int error_sym() {return 1;} /** Scan to get the next Symbol. */ public java_cup.runtime.Symbol scan() throws java.lang.Exception { return lexer.yylex(); } private Yylex lexer; private File inputFile; public File inputFile() { return inputFile; }; public int lineNumber() { return lexer.lineNumber(); } public parser( File inputFile ) { this(); this.inputFile = inputFile; try { lexer = new Yylex( new FileReader( inputFile ) ); } catch ( IOException exception ) { throw new Error( "Unable to open file \"" + inputFile + "\"" ); } } public String terminal_name( int id ) { return sym.terminal_name( id ); } public String non_terminal_name( int id ) { return sym.non_terminal_name( id ); } public String rule_name( int id ) { return sym.rule_name( id ); } public void report_error( String message, Object info ) { Print.error().println( inputFile + " ( " + lexer.lineNumber() + " ): " + message ); try { if ( info instanceof Symbol ) { Symbol symbol = ( Symbol ) info; printText( symbol.left, symbol.right ); } } catch ( IOException e ) { } } private void printText( int left, int right ) throws IOException { Reader sourceReader = new FileReader( inputFile ); int veryLeft = Math.max( left - 50, 0 ), veryRight = Math.min( right + 20, ( int ) inputFile.length() ); char[] text = new char[ veryRight - veryLeft ]; char[] underline = new char[ veryRight - veryLeft ]; sourceReader.skip( veryLeft ); sourceReader.read( text ); for ( int i = 0; i < text.length; i++ ) { if ( text[ i ] < ' ' ) { text[ i ] = '|'; underline[ i ] = '|'; } else underline[ i ] = ' '; if ( left <= veryLeft + i && veryLeft + i < right ) underline[ i ] = '^'; } printLine( text ); printLine( underline ); } private static void printLine( char[] text ) { for ( int i = 0; i < text.length; i++ ) Print.error().print( text[ i ] ); Print.error().println(); } public void syntax_error( Symbol currToken ) { report_error( "Syntax Error", currToken ); } } /** Cup generated class to encapsulate user supplied action code.*/ class CUP$parser$actions { private final parser parser; /** Constructor */ CUP$parser$actions(parser parser) { this.parser = parser; } /** Method with the actual generated action code. */ public final java_cup.runtime.Symbol CUP$parser$do_action( int CUP$parser$act_num, java_cup.runtime.lr_parser CUP$parser$parser, java.util.Stack CUP$parser$stack, int CUP$parser$top) throws java.lang.Exception { /* Symbol object for return from actions */ java_cup.runtime.Symbol CUP$parser$result; /* select the action based on the action number */ switch (CUP$parser$act_num) { /*. . . . . . . . . . . . . . . . . . . .*/ case 98: // LiteralValue ::= STRINGLITERAL { ExprNode RESULT = null; int valueleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int valueright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; String value = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new StringValueNode( Convert.parseString( value.substring( 1, value.length() - 1 ) ) ); CUP$parser$result = new java_cup.runtime.Symbol(43/*LiteralValue*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 97: // LiteralValue ::= FALSE { ExprNode RESULT = null; RESULT = new BoolValueNode( false ); CUP$parser$result = new java_cup.runtime.Symbol(43/*LiteralValue*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 96: // LiteralValue ::= TRUE { ExprNode RESULT = null; RESULT = new BoolValueNode( true ); CUP$parser$result = new java_cup.runtime.Symbol(43/*LiteralValue*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 95: // LiteralValue ::= HEXLITERAL { ExprNode RESULT = null; int valueleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int valueright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; String value = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new IntValueNode( 16, Integer.valueOf( value.substring( 2 ), 16 ).intValue() ); CUP$parser$result = new java_cup.runtime.Symbol(43/*LiteralValue*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 94: // LiteralValue ::= DECLITERAL { ExprNode RESULT = null; int valueleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int valueright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; String value = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new IntValueNode( 10, Integer.valueOf( value, 10 ).intValue() ); CUP$parser$result = new java_cup.runtime.Symbol(43/*LiteralValue*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 93: // LiteralValue ::= BINLITERAL { ExprNode RESULT = null; int valueleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int valueright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; String value = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new IntValueNode( 2, Integer.valueOf( value.substring( 2 ), 2 ).intValue() ); CUP$parser$result = new java_cup.runtime.Symbol(43/*LiteralValue*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 92: // Primary ::= LiteralValue { ExprNode RESULT = null; int valueleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int valueright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; ExprNode value = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = value; CUP$parser$result = new java_cup.runtime.Symbol(42/*Primary*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 91: // Primary ::= IDENT { ExprNode RESULT = null; int identleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int identright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; String ident = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new NameNode( ident ); CUP$parser$result = new java_cup.runtime.Symbol(42/*Primary*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 90: // Primary ::= LEFT Expr RIGHT { ExprNode RESULT = null; int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left; int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right; ExprNode expr = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; RESULT = expr; CUP$parser$result = new java_cup.runtime.Symbol(42/*Primary*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 89: // PrefixExpr ::= Primary { ExprNode RESULT = null; int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; ExprNode expr = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = expr; CUP$parser$result = new java_cup.runtime.Symbol(41/*PrefixExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 88: // PrefixExpr ::= NOT PrefixExpr { ExprNode RESULT = null; int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; ExprNode expr = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new NotNode( expr ); CUP$parser$result = new java_cup.runtime.Symbol(41/*PrefixExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 87: // PrefixExpr ::= MINUS PrefixExpr { ExprNode RESULT = null; int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; ExprNode expr = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new NegateNode( expr ); CUP$parser$result = new java_cup.runtime.Symbol(41/*PrefixExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 86: // MulExpr ::= PrefixExpr { ExprNode RESULT = null; int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; ExprNode expr = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = expr; CUP$parser$result = new java_cup.runtime.Symbol(40/*MulExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 85: // MulExpr ::= MulExpr MOD PrefixExpr { ExprNode RESULT = null; int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; ExprNode expr1 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; ExprNode expr2 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new ModNode( expr1, expr2 ); CUP$parser$result = new java_cup.runtime.Symbol(40/*MulExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 84: // MulExpr ::= MulExpr DIVIDE PrefixExpr { ExprNode RESULT = null; int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; ExprNode expr1 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; ExprNode expr2 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new DivideNode( expr1, expr2 ); CUP$parser$result = new java_cup.runtime.Symbol(40/*MulExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 83: // MulExpr ::= MulExpr TIMES PrefixExpr { ExprNode RESULT = null; int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; ExprNode expr1 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; ExprNode expr2 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new TimesNode( expr1, expr2 ); CUP$parser$result = new java_cup.runtime.Symbol(40/*MulExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 82: // AddExpr ::= MulExpr { ExprNode RESULT = null; int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; ExprNode expr = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = expr; CUP$parser$result = new java_cup.runtime.Symbol(39/*AddExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 81: // AddExpr ::= AddExpr AMPERSAND MulExpr { ExprNode RESULT = null; int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; ExprNode expr1 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; ExprNode expr2 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new ConcatStringNode( expr1, expr2 ); CUP$parser$result = new java_cup.runtime.Symbol(39/*AddExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 80: // AddExpr ::= AddExpr MINUS MulExpr { ExprNode RESULT = null; int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; ExprNode expr1 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; ExprNode expr2 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new MinusNode( expr1, expr2 ); CUP$parser$result = new java_cup.runtime.Symbol(39/*AddExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 79: // AddExpr ::= AddExpr PLUS MulExpr { ExprNode RESULT = null; int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; ExprNode expr1 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; ExprNode expr2 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new PlusNode( expr1, expr2 ); CUP$parser$result = new java_cup.runtime.Symbol(39/*AddExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 78: // ShiftExpr ::= AddExpr { ExprNode RESULT = null; int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; ExprNode expr = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = expr; CUP$parser$result = new java_cup.runtime.Symbol(38/*ShiftExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 77: // ShiftExpr ::= ShiftExpr RIGHTSHIFT AddExpr { ExprNode RESULT = null; int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; ExprNode expr1 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; ExprNode expr2 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new RightShiftNode( expr1, expr2 ); CUP$parser$result = new java_cup.runtime.Symbol(38/*ShiftExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 76: // ShiftExpr ::= ShiftExpr LEFTSHIFT AddExpr { ExprNode RESULT = null; int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; ExprNode expr1 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; ExprNode expr2 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new LeftShiftNode( expr1, expr2 ); CUP$parser$result = new java_cup.runtime.Symbol(38/*ShiftExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 75: // RelExpr ::= ShiftExpr { ExprNode RESULT = null; int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; ExprNode expr = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = expr; CUP$parser$result = new java_cup.runtime.Symbol(37/*RelExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 74: // RelExpr ::= ShiftExpr NE ShiftExpr { ExprNode RESULT = null; int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; ExprNode expr1 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; ExprNode expr2 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new NotEqualNode( expr1, expr2 ); CUP$parser$result = new java_cup.runtime.Symbol(37/*RelExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 73: // RelExpr ::= ShiftExpr EQ ShiftExpr { ExprNode RESULT = null; int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; ExprNode expr1 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; ExprNode expr2 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new EqualNode( expr1, expr2 ); CUP$parser$result = new java_cup.runtime.Symbol(37/*RelExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 72: // RelExpr ::= ShiftExpr GE ShiftExpr { ExprNode RESULT = null; int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; ExprNode expr1 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; ExprNode expr2 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new GreaterEqualNode( expr1, expr2 ); CUP$parser$result = new java_cup.runtime.Symbol(37/*RelExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 71: // RelExpr ::= ShiftExpr LE ShiftExpr { ExprNode RESULT = null; int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; ExprNode expr1 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; ExprNode expr2 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new LessEqualNode( expr1, expr2 ); CUP$parser$result = new java_cup.runtime.Symbol(37/*RelExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 70: // RelExpr ::= ShiftExpr GT ShiftExpr { ExprNode RESULT = null; int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; ExprNode expr1 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; ExprNode expr2 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new GreaterThanNode( expr1, expr2 ); CUP$parser$result = new java_cup.runtime.Symbol(37/*RelExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 69: // RelExpr ::= ShiftExpr LT ShiftExpr { ExprNode RESULT = null; int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; ExprNode expr1 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; ExprNode expr2 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new LessThanNode( expr1, expr2 ); CUP$parser$result = new java_cup.runtime.Symbol(37/*RelExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 68: // AndExpr ::= RelExpr { ExprNode RESULT = null; int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; ExprNode expr = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = expr; CUP$parser$result = new java_cup.runtime.Symbol(36/*AndExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 67: // AndExpr ::= AndExpr AND RelExpr { ExprNode RESULT = null; int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; ExprNode expr1 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; ExprNode expr2 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new AndNode( expr1, expr2 ); CUP$parser$result = new java_cup.runtime.Symbol(36/*AndExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 66: // OrExpr ::= AndExpr { ExprNode RESULT = null; int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; ExprNode expr = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = expr; CUP$parser$result = new java_cup.runtime.Symbol(35/*OrExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 65: // OrExpr ::= OrExpr OR AndExpr { ExprNode RESULT = null; int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; ExprNode expr1 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; ExprNode expr2 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new OrNode( expr1, expr2 ); CUP$parser$result = new java_cup.runtime.Symbol(35/*OrExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 64: // CondExpr ::= OrExpr { ExprNode RESULT = null; int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; ExprNode expr = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = expr; CUP$parser$result = new java_cup.runtime.Symbol(34/*CondExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 63: // CondExpr ::= OrExpr QUEST Expr COLON Expr { ExprNode RESULT = null; int condleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).left; int condright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).right; ExprNode cond = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-4)).value; int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; ExprNode expr1 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; ExprNode expr2 = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new CondNode( cond, expr1, expr2 ); CUP$parser$result = new java_cup.runtime.Symbol(34/*CondExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 62: // Expr ::= CondExpr { ExprNode RESULT = null; int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; ExprNode expr = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = expr; CUP$parser$result = new java_cup.runtime.Symbol(33/*Expr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 61: // ExprList ::= ExprList COMMA Expr { ExprListNode RESULT = null; int exprListleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int exprListright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; ExprListNode exprList = (ExprListNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; ExprNode expr = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; exprList.addElement( expr ); RESULT = exprList; CUP$parser$result = new java_cup.runtime.Symbol(32/*ExprList*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 60: // ExprList ::= Expr { ExprListNode RESULT = null; int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; ExprNode expr = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new ExprListNode( expr ); CUP$parser$result = new java_cup.runtime.Symbol(32/*ExprList*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 59: // PathName ::= IDENT LEFTSQ Expr AT Expr RIGHTSQ { PathNameNode RESULT = null; int identleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-5)).left; int identright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-5)).right; String ident = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-5)).value; int sizeleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left; int sizeright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).right; ExprNode size = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value; int baseleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left; int baseright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right; ExprNode base = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; RESULT = new SubArrayPathNameNode( ident, size, base ); CUP$parser$result = new java_cup.runtime.Symbol(30/*PathName*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-5)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 58: // PathName ::= IDENT LEFTSQ Expr RIGHTSQ { PathNameNode RESULT = null; int identleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left; int identright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).right; String ident = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value; int indexleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left; int indexright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right; ExprNode index = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; RESULT = new IndexPathNameNode( ident, index ); CUP$parser$result = new java_cup.runtime.Symbol(30/*PathName*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 57: // PathName ::= IDENT { PathNameNode RESULT = null; int identleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int identright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; String ident = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new SimplePathNameNode( ident ); CUP$parser$result = new java_cup.runtime.Symbol(30/*PathName*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 56: // PathNameList ::= PathNameList PathName { PathNameListNode RESULT = null; int pathNameListleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left; int pathNameListright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right; PathNameListNode pathNameList = (PathNameListNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; int pathNameleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int pathNameright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; PathNameNode pathName = (PathNameNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; pathNameList.addElement( pathName ); RESULT = pathNameList; CUP$parser$result = new java_cup.runtime.Symbol(29/*PathNameList*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 55: // PathNameList ::= { PathNameListNode RESULT = null; RESULT = new PathNameListNode(); CUP$parser$result = new java_cup.runtime.Symbol(29/*PathNameList*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 54: // PathArray ::= PathNameList { PathArrayNode RESULT = null; int pathNameListleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int pathNameListright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; PathNameListNode pathNameList = (PathNameListNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new PathArrayNode( pathNameList ); CUP$parser$result = new java_cup.runtime.Symbol(28/*PathArray*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 53: // PathArrayList ::= PathArrayList COMMA PathArray { PathArrayListNode RESULT = null; int pathArrayListleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int pathArrayListright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; PathArrayListNode pathArrayList = (PathArrayListNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int pathArrayleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int pathArrayright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; PathArrayNode pathArray = (PathArrayNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; pathArrayList.addElement( pathArray ); RESULT = pathArrayList; CUP$parser$result = new java_cup.runtime.Symbol(27/*PathArrayList*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 52: // PathArrayList ::= PathArray { PathArrayListNode RESULT = null; int pathArrayleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int pathArrayright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; PathArrayNode pathArray = (PathArrayNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new PathArrayListNode( pathArray ); CUP$parser$result = new java_cup.runtime.Symbol(27/*PathArrayList*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 51: // OutputParams ::= { PathArrayListNode RESULT = null; RESULT = new PathArrayListNode(); CUP$parser$result = new java_cup.runtime.Symbol(26/*OutputParams*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 50: // OutputParams ::= LEFTBRACE OUT PathArrayList RIGHTBRACE { PathArrayListNode RESULT = null; int pathArrayListleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left; int pathArrayListright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right; PathArrayListNode pathArrayList = (PathArrayListNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; RESULT = pathArrayList; CUP$parser$result = new java_cup.runtime.Symbol(26/*OutputParams*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 49: // ValueParams ::= { ExprListNode RESULT = null; RESULT = new ExprListNode(); CUP$parser$result = new java_cup.runtime.Symbol(31/*ValueParams*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 48: // ValueParams ::= LEFT ExprList RIGHT { ExprListNode RESULT = null; int exprListleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left; int exprListright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right; ExprListNode exprList = (ExprListNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; RESULT = exprList; CUP$parser$result = new java_cup.runtime.Symbol(31/*ValueParams*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 47: // InputParams ::= { PathArrayListNode RESULT = null; RESULT = new PathArrayListNode(); CUP$parser$result = new java_cup.runtime.Symbol(25/*InputParams*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 46: // InputParams ::= LEFTBRACE IN PathArrayList RIGHTBRACE { PathArrayListNode RESULT = null; int pathArrayListleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left; int pathArrayListright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right; PathArrayListNode pathArrayList = (PathArrayListNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; RESULT = pathArrayList; CUP$parser$result = new java_cup.runtime.Symbol(25/*InputParams*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 45: // Invoc ::= IDENT ValueParams { InvocNode RESULT = null; int identleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left; int identright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right; String ident = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; int valueParamsleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int valueParamsright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; ExprListNode valueParams = (ExprListNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new InvocNode( ident, valueParams ); CUP$parser$result = new java_cup.runtime.Symbol(23/*Invoc*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 44: // InvocList ::= InvocList DOT Invoc { InvocListNode RESULT = null; int invocListleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int invocListright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; InvocListNode invocList = (InvocListNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int invocleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int invocright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; InvocNode invoc = (InvocNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; invocList.addElement( invoc ); RESULT = invocList; CUP$parser$result = new java_cup.runtime.Symbol(22/*InvocList*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 43: // InvocList ::= Invoc { InvocListNode RESULT = null; int invocleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int invocright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; InvocNode invoc = (InvocNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new InvocListNode( invoc ); CUP$parser$result = new java_cup.runtime.Symbol(22/*InvocList*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 42: // InvocationStmt ::= InputParams InvocList OutputParams SEMICOLON { StmtNode RESULT = null; int inputParamsleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left; int inputParamsright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).right; PathArrayListNode inputParams = (PathArrayListNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value; int invocListleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int invocListright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; InvocListNode invocList = (InvocListNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int outputParamsleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left; int outputParamsright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right; PathArrayListNode outputParams = (PathArrayListNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; RESULT = new InvocationStmtNode( inputParams, invocList, outputParams ); CUP$parser$result = new java_cup.runtime.Symbol(20/*InvocationStmt*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 41: // ForStmt ::= FOR IDENT FROM Expr UPTO Expr DO LocalDeclStmtList END { StmtNode RESULT = null; int identleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-7)).left; int identright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-7)).right; String ident = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-7)).value; int fromExprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-5)).left; int fromExprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-5)).right; ExprNode fromExpr = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-5)).value; int toExprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left; int toExprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).right; ExprNode toExpr = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value; int doPartleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left; int doPartright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right; DeclStmtListNode doPart = (DeclStmtListNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; RESULT = new ForStmtNode( ident, fromExpr, toExpr, doPart ); CUP$parser$result = new java_cup.runtime.Symbol(19/*ForStmt*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-8)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 40: // ElseOpt ::= ELIF Expr THEN LocalDeclStmtList ElseOpt { ElseOptNode RESULT = null; int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left; int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).right; ExprNode expr = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value; int thenPartleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left; int thenPartright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right; DeclStmtListNode thenPart = (DeclStmtListNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; int elsePartleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int elsePartright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; ElseOptNode elsePart = (ElseOptNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new ElseOpt2Node( expr, thenPart, elsePart ); CUP$parser$result = new java_cup.runtime.Symbol(24/*ElseOpt*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 39: // ElseOpt ::= ELSE LocalDeclStmtList { ElseOptNode RESULT = null; int elsePartleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int elsePartright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; DeclStmtListNode elsePart = (DeclStmtListNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new ElseOpt1Node( elsePart ); CUP$parser$result = new java_cup.runtime.Symbol(24/*ElseOpt*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 38: // ElseOpt ::= { ElseOptNode RESULT = null; RESULT = new ElseOpt0Node(); CUP$parser$result = new java_cup.runtime.Symbol(24/*ElseOpt*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 37: // IfStmt ::= IF Expr THEN LocalDeclStmtList ElseOpt END { StmtNode RESULT = null; int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).left; int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).right; ExprNode expr = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-4)).value; int thenPartleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int thenPartright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; DeclStmtListNode thenPart = (DeclStmtListNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int elsePartleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left; int elsePartright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right; ElseOptNode elsePart = (ElseOptNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; RESULT = new IfStmtNode( expr, thenPart, elsePart ); CUP$parser$result = new java_cup.runtime.Symbol(18/*IfStmt*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-5)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 36: // IncludeStmt ::= INCLUDE STRINGLITERAL SEMICOLON { StmtNode RESULT = null; int valueleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left; int valueright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right; String value = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; try { String includeFileName = Convert.parseString( value.substring( 1, value.length() - 1 ) ); File includeFile = new File( includeFileName ); parser p = new parser( includeFile ); DeclStmtListNode includeProgram = ( DeclStmtListNode ) ( p.parse().value ); RESULT = new IncludeStmtNode( includeFileName, includeProgram ); } catch ( IOException error ) { Print.error().println( "Can't open included file \"" + parser.inputFile() ); RESULT = new ErrorStmtNode( "include " + value + ";" ); } CUP$parser$result = new java_cup.runtime.Symbol(21/*IncludeStmt*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 35: // Body ::= SEMICOLON { BodyNode RESULT = null; RESULT = new EmptyBodyNode(); CUP$parser$result = new java_cup.runtime.Symbol(17/*Body*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 34: // Body ::= BEGIN LocalDeclStmtList END { BodyNode RESULT = null; int declStmtListleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left; int declStmtListright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right; DeclStmtListNode declStmtList = (DeclStmtListNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; RESULT = new NonEmptyBodyNode( declStmtList ); CUP$parser$result = new java_cup.runtime.Symbol(17/*Body*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 33: // ComponentDecl ::= COMPONENT InputParamDecl IDENT ValueParamDecl OutputParamDecl Body { DeclStmtNode RESULT = null; int inputParamDeclleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).left; int inputParamDeclright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).right; PathDefnListNode inputParamDecl = (PathDefnListNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-4)).value; int identleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left; int identright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).right; String ident = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value; int valueParamDeclleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int valueParamDeclright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; ValueDefnListNode valueParamDecl = (ValueDefnListNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int outputParamDeclleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left; int outputParamDeclright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right; PathDefnListNode outputParamDecl = (PathDefnListNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; int bodyleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int bodyright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; BodyNode body = (BodyNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new ComponentDeclNode( inputParamDecl, ident, valueParamDecl, outputParamDecl, body ); CUP$parser$result = new java_cup.runtime.Symbol(5/*ComponentDecl*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-5)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 32: // OutputParamDecl ::= { PathDefnListNode RESULT = null; RESULT = new PathDefnListNode(); CUP$parser$result = new java_cup.runtime.Symbol(14/*OutputParamDecl*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 31: // OutputParamDecl ::= LEFTBRACE OUT PathDefnList RIGHTBRACE { PathDefnListNode RESULT = null; int pathDefnListleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left; int pathDefnListright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right; PathDefnListNode pathDefnList = (PathDefnListNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; RESULT = pathDefnList; CUP$parser$result = new java_cup.runtime.Symbol(14/*OutputParamDecl*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 30: // InputParamDecl ::= { PathDefnListNode RESULT = null; RESULT = new PathDefnListNode(); CUP$parser$result = new java_cup.runtime.Symbol(13/*InputParamDecl*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 29: // InputParamDecl ::= LEFTBRACE IN PathDefnList RIGHTBRACE { PathDefnListNode RESULT = null; int pathDefnListleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left; int pathDefnListright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right; PathDefnListNode pathDefnList = (PathDefnListNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; RESULT = pathDefnList; CUP$parser$result = new java_cup.runtime.Symbol(13/*InputParamDecl*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 28: // PathDefn ::= IDENT LEFTSQ Expr RIGHTSQ { PathDefnNode RESULT = null; int identleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left; int identright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).right; String ident = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value; int sizeleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left; int sizeright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right; ExprNode size = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; RESULT = new ArrayPathDefnNode( ident, size ); CUP$parser$result = new java_cup.runtime.Symbol(16/*PathDefn*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 27: // PathDefn ::= IDENT { PathDefnNode RESULT = null; int identleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int identright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; String ident = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new SimplePathDefnNode( ident ); CUP$parser$result = new java_cup.runtime.Symbol(16/*PathDefn*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 26: // PathDefnList ::= PathDefnList COMMA PathDefn { PathDefnListNode RESULT = null; int pathDefnListleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int pathDefnListright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; PathDefnListNode pathDefnList = (PathDefnListNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int pathDefnleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int pathDefnright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; PathDefnNode pathDefn = (PathDefnNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; pathDefnList.addElement( pathDefn ); RESULT = pathDefnList; CUP$parser$result = new java_cup.runtime.Symbol(15/*PathDefnList*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 25: // PathDefnList ::= PathDefn { PathDefnListNode RESULT = null; int pathDefnleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int pathDefnright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; PathDefnNode pathDefn = (PathDefnNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new PathDefnListNode( pathDefn ); CUP$parser$result = new java_cup.runtime.Symbol(15/*PathDefnList*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 24: // PathDecl ::= PATH PathDefnList SEMICOLON { DeclStmtNode RESULT = null; int pathDefnListleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left; int pathDefnListright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right; PathDefnListNode pathDefnList = (PathDefnListNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; RESULT = new PathDeclNode( pathDefnList ); CUP$parser$result = new java_cup.runtime.Symbol(7/*PathDecl*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 23: // ValueParamDefn ::= IDENT { ValueDefnNode RESULT = null; int identleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int identright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; String ident = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new ValueParamDefnNode( ident ); CUP$parser$result = new java_cup.runtime.Symbol(12/*ValueParamDefn*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 22: // ValueParamDefnList ::= ValueParamDefnList COMMA ValueParamDefn { ValueDefnListNode RESULT = null; int valueParamDefnListleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int valueParamDefnListright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; ValueDefnListNode valueParamDefnList = (ValueDefnListNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int valueParamDefnleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int valueParamDefnright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; ValueDefnNode valueParamDefn = (ValueDefnNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; valueParamDefnList.addElement( valueParamDefn ); RESULT = valueParamDefnList; CUP$parser$result = new java_cup.runtime.Symbol(10/*ValueParamDefnList*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 21: // ValueParamDefnList ::= ValueParamDefn { ValueDefnListNode RESULT = null; int valueParamDefnleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int valueParamDefnright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; ValueDefnNode valueParamDefn = (ValueDefnNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new ValueDefnListNode( valueParamDefn ); CUP$parser$result = new java_cup.runtime.Symbol(10/*ValueParamDefnList*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 20: // ValueParamDecl ::= { ValueDefnListNode RESULT = null; RESULT = new ValueDefnListNode(); CUP$parser$result = new java_cup.runtime.Symbol(9/*ValueParamDecl*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 19: // ValueParamDecl ::= LEFT ValueParamDefnList RIGHT { ValueDefnListNode RESULT = null; int valueParamDefnListleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left; int valueParamDefnListright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right; ValueDefnListNode valueParamDefnList = (ValueDefnListNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; RESULT = valueParamDefnList; CUP$parser$result = new java_cup.runtime.Symbol(9/*ValueParamDecl*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 18: // InitValueDefn ::= IDENT ASSIGN Expr { ValueDefnNode RESULT = null; int identleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int identright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; String ident = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; ExprNode expr = (ExprNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new InitValueDefnNode( ident, expr ); CUP$parser$result = new java_cup.runtime.Symbol(11/*InitValueDefn*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 17: // InitValueDefnList ::= InitValueDefnList COMMA InitValueDefn { ValueDefnListNode RESULT = null; int initValueDefnListleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int initValueDefnListright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; ValueDefnListNode initValueDefnList = (ValueDefnListNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int initValueDefnleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int initValueDefnright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; ValueDefnNode initValueDefn = (ValueDefnNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; initValueDefnList.addElement( initValueDefn ); RESULT = initValueDefnList; CUP$parser$result = new java_cup.runtime.Symbol(8/*InitValueDefnList*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 16: // InitValueDefnList ::= InitValueDefn { ValueDefnListNode RESULT = null; int initValueDefnleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int initValueDefnright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; ValueDefnNode initValueDefn = (ValueDefnNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new ValueDefnListNode( initValueDefn ); CUP$parser$result = new java_cup.runtime.Symbol(8/*InitValueDefnList*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 15: // ValueDecl ::= DEFINE InitValueDefnList SEMICOLON { DeclStmtNode RESULT = null; int initValueDefnListleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left; int initValueDefnListright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right; ValueDefnListNode initValueDefnList = (ValueDefnListNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; RESULT = new ValueDeclNode( initValueDefnList ); CUP$parser$result = new java_cup.runtime.Symbol(6/*ValueDecl*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 14: // LocalDeclStmt ::= error END { DeclStmtNode RESULT = null; RESULT = new ErrorStmtNode( "error end" ); CUP$parser$result = new java_cup.runtime.Symbol(4/*LocalDeclStmt*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 13: // LocalDeclStmt ::= error SEMICOLON { DeclStmtNode RESULT = null; RESULT = new ErrorStmtNode( "error;" ); CUP$parser$result = new java_cup.runtime.Symbol(4/*LocalDeclStmt*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 12: // LocalDeclStmt ::= InvocationStmt { DeclStmtNode RESULT = null; int stmtleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int stmtright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; StmtNode stmt = (StmtNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = stmt; CUP$parser$result = new java_cup.runtime.Symbol(4/*LocalDeclStmt*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 11: // LocalDeclStmt ::= ForStmt { DeclStmtNode RESULT = null; int stmtleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int stmtright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; StmtNode stmt = (StmtNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = stmt; CUP$parser$result = new java_cup.runtime.Symbol(4/*LocalDeclStmt*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 10: // LocalDeclStmt ::= IfStmt { DeclStmtNode RESULT = null; int stmtleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int stmtright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; StmtNode stmt = (StmtNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = stmt; CUP$parser$result = new java_cup.runtime.Symbol(4/*LocalDeclStmt*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 9: // LocalDeclStmt ::= PathDecl { DeclStmtNode RESULT = null; int declleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int declright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; DeclStmtNode decl = (DeclStmtNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = decl; CUP$parser$result = new java_cup.runtime.Symbol(4/*LocalDeclStmt*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 8: // LocalDeclStmt ::= ValueDecl { DeclStmtNode RESULT = null; int declleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int declright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; DeclStmtNode decl = (DeclStmtNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = decl; CUP$parser$result = new java_cup.runtime.Symbol(4/*LocalDeclStmt*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 7: // LocalDeclStmtList ::= LocalDeclStmtList LocalDeclStmt { DeclStmtListNode RESULT = null; int declStmtListleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left; int declStmtListright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right; DeclStmtListNode declStmtList = (DeclStmtListNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; int declStmtleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int declStmtright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; DeclStmtNode declStmt = (DeclStmtNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; declStmtList.addElement( declStmt ); RESULT = declStmtList; CUP$parser$result = new java_cup.runtime.Symbol(2/*LocalDeclStmtList*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 6: // LocalDeclStmtList ::= { DeclStmtListNode RESULT = null; RESULT = new DeclStmtListNode(); CUP$parser$result = new java_cup.runtime.Symbol(2/*LocalDeclStmtList*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 5: // GlobalDeclStmt ::= LocalDeclStmt { DeclStmtNode RESULT = null; int declStmtleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int declStmtright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; DeclStmtNode declStmt = (DeclStmtNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = declStmt; CUP$parser$result = new java_cup.runtime.Symbol(3/*GlobalDeclStmt*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 4: // GlobalDeclStmt ::= IncludeStmt { DeclStmtNode RESULT = null; int stmtleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int stmtright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; StmtNode stmt = (StmtNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = stmt; CUP$parser$result = new java_cup.runtime.Symbol(3/*GlobalDeclStmt*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 3: // GlobalDeclStmt ::= ComponentDecl { DeclStmtNode RESULT = null; int declleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int declright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; DeclStmtNode decl = (DeclStmtNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = decl; CUP$parser$result = new java_cup.runtime.Symbol(3/*GlobalDeclStmt*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 2: // GlobalDeclStmtList ::= GlobalDeclStmtList GlobalDeclStmt { DeclStmtListNode RESULT = null; int declStmtListleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left; int declStmtListright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right; DeclStmtListNode declStmtList = (DeclStmtListNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; int declStmtleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int declStmtright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; DeclStmtNode declStmt = (DeclStmtNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; declStmtList.addElement( declStmt ); RESULT = declStmtList; CUP$parser$result = new java_cup.runtime.Symbol(1/*GlobalDeclStmtList*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 1: // GlobalDeclStmtList ::= { DeclStmtListNode RESULT = null; RESULT = new DeclStmtListNode(); CUP$parser$result = new java_cup.runtime.Symbol(1/*GlobalDeclStmtList*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 0: // $START ::= GlobalDeclStmtList EOF { Object RESULT = null; int start_valleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left; int start_valright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right; DeclStmtListNode start_val = (DeclStmtListNode)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; RESULT = start_val; CUP$parser$result = new java_cup.runtime.Symbol(0/*$START*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } /* ACCEPT */ CUP$parser$parser.done_parsing(); return CUP$parser$result; /* . . . . . .*/ default: throw new Exception( "Invalid action number found in internal parse table"); } } }