//---------------------------------------------------- // The following code was generated by CUP v0.10k // Tue Dec 12 22:27:24 EST 2006 //---------------------------------------------------- package ppg.parse; import java.io.*; import java.util.*; import java_cup.runtime.Symbol; import ppg.*; import ppg.atoms.*; import ppg.cmds.*; import ppg.code.*; import ppg.lex.*; import ppg.spec.*; /** CUP v0.10k generated parser. * @version Tue Dec 12 22:27:24 EST 2006 */ 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\147\000\002\002\004\000\002\016\003\000\002\016" + "\003\000\002\017\012\000\002\022\004\000\002\064\003" + "\000\002\064\002\000\002\031\003\000\002\031\004\000" + "\002\032\006\000\002\032\003\000\002\034\004\000\002" + "\034\003\000\002\033\007\000\002\025\004\000\002\025" + "\002\000\002\036\004\000\002\036\006\000\002\036\006" + "\000\002\036\005\000\002\035\005\000\002\035\003\000" + "\002\003\003\000\002\003\003\000\002\003\002\000\002" + "\030\010\000\002\030\007\000\002\040\004\000\002\040" + "\003\000\002\037\006\000\002\041\003\000\002\042\003" + "\000\002\027\005\000\002\027\003\000\002\005\005\000" + "\002\005\003\000\002\026\004\000\002\026\002\000\002" + "\004\004\000\002\004\003\000\002\044\004\000\002\044" + "\002\000\002\043\003\000\002\047\003\000\002\011\004" + "\000\002\011\003\000\002\006\003\000\002\006\002\000" + "\002\020\011\000\002\050\005\000\002\050\002\000\002" + "\061\004\000\002\061\002\000\002\052\005\000\002\065" + "\004\000\002\065\002\000\002\010\003\000\002\010\003" + "\000\002\010\003\000\002\010\003\000\002\007\006\000" + "\002\012\006\000\002\012\007\000\002\023\002\000\002" + "\023\005\000\002\023\005\000\002\013\006\000\002\014" + "\006\000\002\063\004\000\002\063\003\000\002\073\005" + "\000\002\073\004\000\002\073\005\000\002\073\004\000" + "\002\071\004\000\002\072\004\000\002\062\005\000\002" + "\062\003\000\002\060\005\000\002\060\003\000\002\070" + "\003\000\002\070\002\000\002\067\004\000\002\067\003" + "\000\002\015\006\000\002\015\006\000\002\015\006\000" + "\002\066\005\000\002\066\003\000\002\045\003\000\002" + "\046\003\000\002\054\006\000\002\054\002\000\002\053" + "\005\000\002\053\003\000\002\051\005\000\002\051\003" + "\000\002\055\003\000\002\055\005\000\002\057\003\000" + "\002\056\003\000\002\021\003\000\002\024\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\271\000\026\004\010\021\uffcf\022\uffcf\027\006\030" + "\uffcf\032\uffcf\033\uffcf\034\uffcf\035\uffcf\036\uffcf\001\002" + "\000\004\002\273\001\002\000\022\021\uffcd\022\uffcd\030" + "\uffcd\032\uffcd\033\uffcd\034\uffcd\035\uffcd\036\uffcd\001\002" + "\000\004\047\052\001\002\000\004\002\000\001\002\000" + "\004\046\254\001\002\000\004\002\uffff\001\002\000\030" + "\021\uffcf\022\uffcf\027\006\030\uffcf\032\uffcf\033\uffcf\034" + "\uffcf\035\uffcf\036\uffcf\040\uffcf\042\uffcf\001\002\000\026" + "\021\uffcd\022\uffcd\030\uffcd\032\uffcd\033\uffcd\034\uffcd\035" + "\uffcd\036\uffcd\040\uffcd\042\uffcd\001\002\000\026\021\uffca" + "\022\uffca\030\016\032\uffca\033\uffca\034\uffca\035\uffca\036" + "\uffca\040\uffca\042\uffca\001\002\000\026\021\uffce\022\uffce" + "\030\uffce\032\uffce\033\uffce\034\uffce\035\uffce\036\uffce\040" + "\uffce\042\uffce\001\002\000\004\047\052\001\002\000\024" + "\021\031\022\030\032\022\033\021\034\023\035\034\036" + "\035\040\ufffb\042\ufffb\001\002\000\024\021\uffcb\022\uffcb" + "\032\uffcb\033\uffcb\034\uffcb\035\uffcb\036\uffcb\040\uffcb\042" + "\uffcb\001\002\000\006\031\234\047\052\001\002\000\004" + "\031\231\001\002\000\004\021\230\001\002\000\024\021" + "\uffc8\022\uffc8\032\uffc8\033\uffc8\034\uffc8\035\uffc8\036\uffc8" + "\040\uffc8\042\uffc8\001\002\000\004\047\052\001\002\000" + "\016\021\uffbc\022\uffbc\034\uffbc\040\uffbc\042\uffbc\047\uffbc" + "\001\002\000\024\021\uffc6\022\uffc6\032\uffc6\033\uffc6\034" + "\uffc6\035\uffc6\036\uffc6\040\uffc6\042\uffc6\001\002\000\004" + "\047\uffd4\001\002\000\004\047\052\001\002\000\024\021" + "\uffc9\022\uffc9\032\uffc9\033\uffc9\034\uffc9\035\uffc9\036\uffc9" + "\040\uffc9\042\uffc9\001\002\000\014\021\031\022\030\034" + "\023\040\ufffc\042\ufffc\001\002\000\004\037\172\001\002" + "\000\004\037\166\001\002\000\006\040\uffb0\042\042\001" + "\002\000\024\021\uffc7\022\uffc7\032\uffc7\033\uffc7\034\uffc7" + "\035\uffc7\036\uffc7\040\uffc7\042\uffc7\001\002\000\004\040" + "\ufffa\001\002\000\004\040\073\001\002\000\012\015\067" + "\043\047\044\050\045\051\001\002\000\010\040\uffb1\042" + "\045\047\uffb1\001\002\000\010\040\uffae\042\uffae\047\uffae" + "\001\002\000\010\043\047\044\050\045\051\001\002\000" + "\010\040\uffaf\042\uffaf\047\uffaf\001\002\000\004\047\052" + "\001\002\000\004\047\052\001\002\000\004\047\052\001" + "\002\000\040\005\uff9c\010\uff9c\011\uff9c\012\uff9c\013\uff9c" + "\014\uff9c\015\uff9c\016\uff9c\017\uff9c\020\uff9c\023\uff9c\024" + "\uff9c\025\uff9c\047\uff9c\050\uff9c\001\002\000\012\011\uffa7" + "\014\uffa7\015\uffa7\020\uffa7\001\002\000\006\014\uffa8\015" + "\uffa8\001\002\000\006\014\uffa9\015\uffa9\001\002\000\006" + "\014\060\015\061\001\002\000\022\011\uffe2\014\uffe2\015" + "\uffe2\016\uffe2\020\uffe2\023\uffe2\047\uffe2\050\uffe2\001\002" + "\000\004\047\052\001\002\000\010\040\uffab\042\uffab\047" + "\uffab\001\002\000\006\014\uffaa\015\uffaa\001\002\000\006" + "\014\060\015\064\001\002\000\010\040\uffac\042\uffac\047" + "\uffac\001\002\000\006\014\060\015\066\001\002\000\010" + "\040\uffad\042\uffad\047\uffad\001\002\000\004\040\ufff9\001" + "\002\000\020\002\ufff5\006\ufff5\007\ufff5\040\ufff5\047\ufff5" + "\051\ufff5\052\ufff5\001\002\000\016\002\ufff2\006\ufff2\007" + "\ufff2\047\ufff2\051\ufff2\052\ufff2\001\002\000\020\002\ufff7" + "\006\ufff7\007\ufff7\040\103\047\ufff7\051\ufff7\052\ufff7\001" + "\002\000\004\037\074\001\002\000\004\047\052\001\002" + "\000\004\015\101\001\002\000\006\015\uffe3\047\052\001" + "\002\000\004\015\100\001\002\000\020\002\ufff4\006\ufff4" + "\007\ufff4\040\ufff4\047\ufff4\051\ufff4\052\ufff4\001\002\000" + "\016\002\ufff8\006\ufff8\007\ufff8\047\ufff8\051\ufff8\052\ufff8" + "\001\002\000\020\002\ufff6\006\ufff6\007\ufff6\040\ufff6\047" + "\ufff6\051\ufff6\052\ufff6\001\002\000\004\037\104\001\002" + "\000\004\047\052\001\002\000\004\047\052\001\002\000" + "\016\002\ufffe\006\111\007\112\047\uffe9\051\110\052\107" + "\001\002\000\004\047\uffea\001\002\000\004\047\uffeb\001" + "\002\000\004\010\156\001\002\000\004\047\052\001\002" + "\000\016\002\ufff3\006\ufff3\007\ufff3\047\ufff3\051\ufff3\052" + "\ufff3\001\002\000\004\047\052\001\002\000\004\017\120" + "\001\002\000\016\002\ufff1\006\ufff1\007\ufff1\047\ufff1\051" + "\ufff1\052\ufff1\001\002\000\016\005\uffe3\010\uffe3\011\uffe3" + "\014\uffe3\015\uffe3\017\uffe3\001\002\000\014\015\uffdc\020" + "\uffdc\023\uffdc\047\uffdc\050\uffdc\001\002\000\006\015\140" + "\020\137\001\002\000\010\011\uffe0\015\uffe0\020\uffe0\001" + "\002\000\016\011\uffde\015\uffde\020\uffde\023\127\047\052" + "\050\124\001\002\000\040\011\uff9b\015\uff9b\020\uff9b\021" + "\uff9b\022\uff9b\023\uff9b\032\uff9b\033\uff9b\034\uff9b\035\uff9b" + "\036\uff9b\040\uff9b\042\uff9b\047\uff9b\050\uff9b\001\002\000" + "\016\011\uffda\015\uffda\020\uffda\023\uffda\047\uffda\050\uffda" + "\001\002\000\020\011\uffd8\015\uffd8\016\132\020\uffd8\023" + "\uffd8\047\uffd8\050\uffd8\001\002\000\004\047\052\001\002" + "\000\016\011\uffdd\015\uffdd\020\uffdd\023\uffdd\047\uffdd\050" + "\uffdd\001\002\000\010\011\uffdf\015\uffdf\020\uffdf\001\002" + "\000\004\047\052\001\002\000\016\011\uffdb\015\uffdb\020" + "\uffdb\023\uffdb\047\uffdb\050\uffdb\001\002\000\016\011\uffd7" + "\015\uffd7\020\uffd7\023\uffd7\047\uffd7\050\uffd7\001\002\000" + "\016\011\uffd9\015\uffd9\020\uffd9\023\uffd9\047\uffd9\050\uffd9" + "\001\002\000\026\011\uffd6\012\uffd6\013\uffd6\015\uffd6\020" + "\uffd6\023\uffd6\024\uffd6\025\uffd6\047\uffd6\050\uffd6\001\002" + "\000\016\011\uffdc\015\uffdc\020\uffdc\023\uffdc\047\uffdc\050" + "\uffdc\001\002\000\020\002\uffe4\006\uffe4\007\uffe4\011\uffe4" + "\047\uffe4\051\uffe4\052\uffe4\001\002\000\010\011\uffe1\015" + "\uffe1\020\uffe1\001\002\000\004\005\143\001\002\000\004" + "\047\052\001\002\000\020\002\uffee\005\145\006\uffee\007" + "\uffee\047\uffee\051\uffee\052\uffee\001\002\000\004\047\052" + "\001\002\000\004\010\147\001\002\000\014\011\uffdc\020" + "\uffdc\023\uffdc\047\uffdc\050\uffdc\001\002\000\006\011\151" + "\020\137\001\002\000\020\002\uffe8\005\uffe8\006\uffe8\007" + "\uffe8\047\uffe8\051\uffe8\052\uffe8\001\002\000\004\010\153" + "\001\002\000\014\011\uffdc\020\uffdc\023\uffdc\047\uffdc\050" + "\uffdc\001\002\000\006\011\155\020\137\001\002\000\020" + "\002\uffe7\005\uffe7\006\uffe7\007\uffe7\047\uffe7\051\uffe7\052" + "\uffe7\001\002\000\004\047\052\001\002\000\006\011\164" + "\014\163\001\002\000\010\011\uffec\014\uffec\017\120\001" + "\002\000\004\011\162\001\002\000\016\002\ufff0\006\ufff0" + "\007\ufff0\047\ufff0\051\ufff0\052\ufff0\001\002\000\004\047" + "\052\001\002\000\016\002\uffef\006\uffef\007\uffef\047\uffef" + "\051\uffef\052\uffef\001\002\000\006\011\uffed\014\uffed\001" + "\002\000\004\050\124\001\002\000\026\015\171\021\uffd2" + "\022\uffd2\032\uffd2\033\uffd2\034\uffd2\035\uffd2\036\uffd2\040" + "\uffd2\042\uffd2\001\002\000\024\021\uffbe\022\uffbe\032\uffbe" + "\033\uffbe\034\uffbe\035\uffbe\036\uffbe\040\uffbe\042\uffbe\001" + "\002\000\024\021\uffd3\022\uffd3\032\uffd3\033\uffd3\034\uffd3" + "\035\uffd3\036\uffd3\040\uffd3\042\uffd3\001\002\000\004\050" + "\124\001\002\000\026\015\171\021\uffd2\022\uffd2\032\uffd2" + "\033\uffd2\034\uffd2\035\uffd2\036\uffd2\040\uffd2\042\uffd2\001" + "\002\000\024\021\uffbf\022\uffbf\032\uffbf\033\uffbf\034\uffbf" + "\035\uffbf\036\uffbf\040\uffbf\042\uffbf\001\002\000\016\021" + "\uffbd\022\uffbd\034\uffbd\040\uffbd\042\uffbd\047\uffbd\001\002" + "\000\020\012\uffa3\013\uffa3\015\uffa3\024\uffa3\025\uffa3\047" + "\uffa3\050\uffa3\001\002\000\010\024\214\025\uffa0\047\uffa0" + "\001\002\000\006\014\uffb4\015\uffb4\001\002\000\006\014" + "\211\015\212\001\002\000\016\021\uffba\022\uffba\034\uffba" + "\040\uffba\042\uffba\047\uffba\001\002\000\006\025\205\047" + "\052\001\002\000\014\014\uff9e\015\uff9e\024\uffd6\025\uffd6" + "\047\uffd6\001\002\000\004\026\210\001\002\000\016\021" + "\uffbb\022\uffbb\034\uffbb\040\uffbb\042\uffbb\047\uffbb\001\002" + "\000\006\014\uff9e\015\uff9e\001\002\000\006\025\uff9f\047" + "\uff9f\001\002\000\004\047\052\001\002\000\016\021\uffb7" + "\022\uffb7\034\uffb7\040\uffb7\042\uffb7\047\uffb7\001\002\000" + "\006\014\uffb5\015\uffb5\001\002\000\004\047\052\001\002" + "\000\020\012\uffa4\013\uffa4\015\uffa4\024\uffa4\025\uffa4\047" + "\uffa4\050\uffa4\001\002\000\016\021\uffb8\022\uffb8\034\uffb8" + "\040\uffb8\042\uffb8\047\uffb8\001\002\000\006\014\225\015" + "\226\001\002\000\006\014\uffb2\015\uffb2\001\002\000\006" + "\025\205\047\052\001\002\000\014\014\uff9d\015\uff9d\024" + "\uffd6\025\uffd6\047\uffd6\001\002\000\016\021\uffb9\022\uffb9" + "\034\uffb9\040\uffb9\042\uffb9\047\uffb9\001\002\000\006\014" + "\uff9d\015\uff9d\001\002\000\004\047\052\001\002\000\016" + "\021\uffb6\022\uffb6\034\uffb6\040\uffb6\042\uffb6\047\uffb6\001" + "\002\000\006\014\uffb3\015\uffb3\001\002\000\004\047\uffd5" + "\001\002\000\004\050\124\001\002\000\026\015\171\021" + "\uffd2\022\uffd2\032\uffd2\033\uffd2\034\uffd2\035\uffd2\036\uffd2" + "\040\uffd2\042\uffd2\001\002\000\024\021\uffc5\022\uffc5\032" + "\uffc5\033\uffc5\034\uffc5\035\uffc5\036\uffc5\040\uffc5\042\uffc5" + "\001\002\000\004\050\124\001\002\000\010\012\uffc2\013" + "\uffc2\050\uffc2\001\002\000\010\012\237\013\241\050\124" + "\001\002\000\004\047\052\001\002\000\026\015\171\021" + "\uffd2\022\uffd2\032\uffd2\033\uffd2\034\uffd2\035\uffd2\036\uffd2" + "\040\uffd2\042\uffd2\001\002\000\004\047\052\001\002\000" + "\012\012\uffc0\013\uffc0\024\214\050\uffc0\001\002\000\024" + "\021\uffc3\022\uffc3\032\uffc3\033\uffc3\034\uffc3\035\uffc3\036" + "\uffc3\040\uffc3\042\uffc3\001\002\000\012\012\uffc1\013\uffc1" + "\024\214\050\uffc1\001\002\000\026\015\171\021\uffd2\022" + "\uffd2\032\uffd2\033\uffd2\034\uffd2\035\uffd2\036\uffd2\040\uffd2" + "\042\uffd2\001\002\000\024\021\uffc4\022\uffc4\032\uffc4\033" + "\uffc4\034\uffc4\035\uffc4\036\uffc4\040\uffc4\042\uffc4\001\002" + "\000\006\015\uffa1\024\252\001\002\000\004\015\251\001" + "\002\000\026\021\uffcc\022\uffcc\030\uffcc\032\uffcc\033\uffcc" + "\034\uffcc\035\uffcc\036\uffcc\040\uffcc\042\uffcc\001\002\000" + "\006\041\253\047\052\001\002\000\004\015\uffa2\001\002" + "\000\030\021\ufffd\022\ufffd\027\ufffd\030\ufffd\032\ufffd\033" + "\ufffd\034\ufffd\035\ufffd\036\ufffd\040\ufffd\042\ufffd\001\002" + "\000\006\015\256\024\214\001\002\000\026\021\uffd0\022" + "\uffd0\030\uffd0\032\uffd0\033\uffd0\034\uffd0\035\uffd0\036\uffd0" + "\040\uffd0\042\uffd0\001\002\000\022\021\uffca\022\uffca\030" + "\016\032\uffca\033\uffca\034\uffca\035\uffca\036\uffca\001\002" + "\000\020\021\031\022\030\032\022\033\021\034\023\035" + "\034\036\035\001\002\000\016\021\031\022\030\034\023" + "\040\uffb0\042\045\047\uffb0\001\002\000\006\040\264\047" + "\uffa5\001\002\000\004\047\052\001\002\000\004\037\265" + "\001\002\000\004\047\052\001\002\000\004\015\267\001" + "\002\000\004\047\uffa6\001\002\000\006\002\uffe5\047\uffe5" + "\001\002\000\006\002\uffd1\047\052\001\002\000\006\002" + "\uffe6\047\uffe6\001\002\000\004\002\001\001\002" }); /** Access to parse-action table. */ public short[][] action_table() {return _action_table;} /** <code>reduce_goto</code> table. */ protected static final short[][] _reduce_table = unpackFromStrings(new String[] { "\000\271\000\014\016\003\017\006\020\010\022\011\050" + "\004\001\001\000\002\001\001\000\004\061\256\001\001" + "\000\010\021\135\047\175\053\254\001\001\000\002\001" + "\001\000\002\001\001\000\002\001\001\000\004\050\012" + "\001\001\000\004\061\013\001\001\000\006\052\014\065" + "\016\001\001\000\002\001\001\000\012\021\135\047\175" + "\051\247\053\246\001\001\000\024\007\031\010\017\011" + "\024\012\023\013\036\014\026\063\032\064\035\073\025" + "\001\001\000\002\001\001\000\004\021\234\001\001\000" + "\002\001\001\000\002\001\001\000\002\001\001\000\020" + "\021\221\047\175\053\176\055\220\056\217\060\216\072" + "\215\001\001\000\002\001\001\000\002\001\001\000\002" + "\001\001\000\020\021\203\047\175\053\176\055\202\057" + "\177\062\200\071\201\001\001\000\002\001\001\000\006" + "\011\024\073\174\001\001\000\002\001\001\000\002\001" + "\001\000\012\015\043\031\040\067\042\070\037\001\001" + "\000\002\001\001\000\002\001\001\000\010\032\070\033" + "\067\034\071\001\001\000\002\001\001\000\004\015\045" + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + "\001\000\014\021\056\042\052\045\054\046\053\066\064" + "\001\001\000\014\021\056\042\052\045\054\046\053\066" + "\062\001\001\000\014\021\056\042\052\045\054\046\053" + "\066\055\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\012\021\056\042\052\045\061\046\053\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + "\002\001\001\000\002\001\001\000\004\025\105\001\001" + "\000\004\033\101\001\001\000\002\001\001\000\006\021" + "\075\041\074\001\001\000\002\001\001\000\004\021\076" + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + "\001\000\002\001\001\000\002\001\001\000\004\021\104" + "\001\001\000\004\021\076\001\001\000\006\003\113\036" + "\112\001\001\000\002\001\001\000\002\001\001\000\002" + "\001\001\000\006\021\116\041\141\001\001\000\002\001" + "\001\000\010\021\116\037\115\041\114\001\001\000\002" + "\001\001\000\002\001\001\000\002\001\001\000\010\005" + "\121\026\122\027\120\001\001\000\002\001\001\000\002" + "\001\001\000\012\004\127\021\056\024\124\042\125\001" + "\001\000\002\001\001\000\002\001\001\000\004\044\132" + "\001\001\000\010\021\056\042\052\046\130\001\001\000" + "\002\001\001\000\002\001\001\000\010\021\135\043\134" + "\047\133\001\001\000\002\001\001\000\002\001\001\000" + "\002\001\001\000\002\001\001\000\006\005\140\026\122" + "\001\001\000\002\001\001\000\002\001\001\000\004\030" + "\143\001\001\000\006\021\116\041\151\001\001\000\002" + "\001\001\000\006\021\116\041\145\001\001\000\002\001" + "\001\000\010\005\121\026\122\027\147\001\001\000\002" + "\001\001\000\002\001\001\000\002\001\001\000\010\005" + "\121\026\122\027\153\001\001\000\002\001\001\000\002" + "\001\001\000\012\021\116\035\156\037\160\041\157\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + "\000\002\001\001\000\006\021\116\041\164\001\001\000" + "\002\001\001\000\002\001\001\000\004\024\166\001\001" + "\000\004\006\167\001\001\000\002\001\001\000\002\001" + "\001\000\004\024\172\001\001\000\004\006\173\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\012\021\206\057\177\062\200\071\205\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\206\057" + "\212\001\001\000\002\001\001\000\002\001\001\000\006" + "\021\135\047\214\001\001\000\002\001\001\000\002\001" + "\001\000\002\001\001\000\002\001\001\000\012\021\223" + "\056\217\060\216\072\222\001\001\000\002\001\001\000" + "\002\001\001\000\002\001\001\000\006\021\223\056\226" + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + "\001\000\004\024\231\001\001\000\004\006\232\001\001" + "\000\002\001\001\000\004\024\244\001\001\000\004\023" + "\235\001\001\000\004\024\237\001\001\000\010\021\135" + "\047\175\053\243\001\001\000\004\006\242\001\001\000" + "\010\021\135\047\175\053\241\001\001\000\002\001\001" + "\000\002\001\001\000\002\001\001\000\004\006\245\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + "\000\002\001\001\000\006\021\135\047\214\001\001\000" + "\002\001\001\000\002\001\001\000\002\001\001\000\002" + "\001\001\000\006\052\014\065\257\001\001\000\022\007" + "\031\010\017\011\024\012\023\013\036\014\026\063\260" + "\073\025\001\001\000\014\011\024\015\043\067\042\070" + "\261\073\174\001\001\000\004\054\262\001\001\000\012" + "\021\116\037\267\040\270\041\114\001\001\000\002\001" + "\001\000\006\021\116\041\265\001\001\000\002\001\001" + "\000\002\001\001\000\002\001\001\000\010\021\116\037" + "\271\041\114\001\001\000\002\001\001\000\002\001\001" + "" }); /** Access to <code>reduce_goto</code> 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;} /** <code>EOF</code> Symbol index. */ public int EOF_sym() {return 0;} /** <code>error</code> 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.getToken().getSymbol(); } private Lexer lexer; private static String filename; public static String getFilename() { return filename; } public Parser (String fname, Lexer lex) { this(); filename = fname; lexer = lex; } public void syntax_error (Symbol cur_token) { Token tok = (Token) cur_token.value; report_error (tok.getFilename () + ":" + tok.getLineno () + ": syntax error: \"" + tok.getValue () + "\" (" + tok.getID () + ")", null); System.exit (1); } public void report_fatal_error (String message, Object info) { // stop parsing done_parsing(); // use the normal error message reporting to put out the message report_error(message, info); System.exit(1); } private static Object program; public static Object getProgramNode() { return program; } public static void setProgramNode(Object n) { program = n; } } /** 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 102: // code_str ::= CODE_STR { String RESULT = null; int cleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left; int cright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right; Token c = (Token)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value; RESULT = (String) c.getValue(); CUP$Parser$result = new java_cup.runtime.Symbol(18/*code_str*/, ((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 101: // id ::= ID { String RESULT = null; int idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left; int idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right; Token id = (Token)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value; RESULT = (String)id.getValue(); CUP$Parser$result = new java_cup.runtime.Symbol(15/*id*/, ((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 100: // new_non_term_id ::= id { String RESULT = null; int idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left; int idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right; String id = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value; RESULT = id; CUP$Parser$result = new java_cup.runtime.Symbol(44/*new_non_term_id*/, ((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 99: // new_term_id ::= id { String RESULT = null; int idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left; int idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right; String id = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value; RESULT = id; CUP$Parser$result = new java_cup.runtime.Symbol(45/*new_term_id*/, ((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 98: // type_id ::= type_id LBRACK RBRACK { String RESULT = null; int t_idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left; int t_idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right; String t_id = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value; RESULT = t_id + "[]"; CUP$Parser$result = new java_cup.runtime.Symbol(43/*type_id*/, ((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 97: // type_id ::= multipart_id { String RESULT = null; int m_idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left; int m_idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right; String m_id = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value; RESULT = m_id; CUP$Parser$result = new java_cup.runtime.Symbol(43/*type_id*/, ((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: // import_id ::= multipart_id { String RESULT = null; int m_idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left; int m_idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right; String m_id = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value; RESULT = m_id; CUP$Parser$result = new java_cup.runtime.Symbol(39/*import_id*/, ((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: // import_id ::= multipart_id DOT STAR { String RESULT = null; int m_idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left; int m_idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right; String m_id = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value; RESULT = m_id + ".*"; CUP$Parser$result = new java_cup.runtime.Symbol(39/*import_id*/, ((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 94: // multipart_id ::= robust_id { String RESULT = null; int r_idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left; int r_idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right; String r_id = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value; RESULT = r_id; CUP$Parser$result = new java_cup.runtime.Symbol(41/*multipart_id*/, ((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: // multipart_id ::= multipart_id DOT robust_id { String RESULT = null; int m_idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left; int m_idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right; String m_id = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value; int r_idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left; int r_idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right; String r_id = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value; RESULT = m_id + "." + r_id; CUP$Parser$result = new java_cup.runtime.Symbol(41/*multipart_id*/, ((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 92: // start_spec ::= { String RESULT = null; RESULT = null; CUP$Parser$result = new java_cup.runtime.Symbol(42/*start_spec*/, ((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 91: // start_spec ::= START WITH nt_id SEMI { String RESULT = null; int start_nameleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left; int start_nameright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right; String start_name = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value; RESULT = start_name; CUP$Parser$result = new java_cup.runtime.Symbol(42/*start_spec*/, ((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 90: // term_id ::= symbol_id { String RESULT = null; int symleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left; int symright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right; String sym = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value; RESULT = sym; CUP$Parser$result = new java_cup.runtime.Symbol(36/*term_id*/, ((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 89: // terminal_id ::= term_id { String RESULT = null; int symleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left; int symright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right; String sym = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value; RESULT = sym; CUP$Parser$result = new java_cup.runtime.Symbol(35/*terminal_id*/, ((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: // terminal_list ::= terminal_id { Vector RESULT = null; int tleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left; int tright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right; String t = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value; Vector t_list = new Vector(); t_list.addElement(t); RESULT = t_list; CUP$Parser$result = new java_cup.runtime.Symbol(52/*terminal_list*/, ((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 87: // terminal_list ::= terminal_list COMMA terminal_id { Vector RESULT = null; int t_listleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left; int t_listright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right; Vector t_list = (Vector)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value; int tleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left; int tright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right; String t = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value; t_list.addElement(t); RESULT = t_list; CUP$Parser$result = new java_cup.runtime.Symbol(52/*terminal_list*/, ((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 86: // preced ::= PRECEDENCE NONASSOC terminal_list SEMI { Object RESULT = null; int t_listleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left; int t_listright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right; Vector t_list = (Vector)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value; RESULT = new Precedence(Precedence.NONASSOC, t_list); CUP$Parser$result = new java_cup.runtime.Symbol(11/*preced*/, ((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 85: // preced ::= PRECEDENCE RIGHT terminal_list SEMI { Object RESULT = null; int t_listleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left; int t_listright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right; Vector t_list = (Vector)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value; RESULT = new Precedence(Precedence.RIGHT, t_list); CUP$Parser$result = new java_cup.runtime.Symbol(11/*preced*/, ((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 84: // preced ::= PRECEDENCE LEFT terminal_list SEMI { Object RESULT = null; int t_listleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left; int t_listright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right; Vector t_list = (Vector)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value; RESULT = new Precedence(Precedence.LEFT, t_list); CUP$Parser$result = new java_cup.runtime.Symbol(11/*preced*/, ((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 83: // precedence_l ::= preced { Vector RESULT = null; int pleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left; int pright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right; Object p = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value; Vector p_l = new Vector(); p_l.addElement(p); RESULT = p_l; CUP$Parser$result = new java_cup.runtime.Symbol(53/*precedence_l*/, ((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 82: // precedence_l ::= precedence_l preced { Vector RESULT = null; int p_lleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left; int p_lright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right; Vector p_l = (Vector)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value; int pleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left; int pright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right; Object p = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value; p_l.addElement(p); RESULT = p_l; CUP$Parser$result = new java_cup.runtime.Symbol(53/*precedence_l*/, ((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 81: // precedence_list ::= { Vector RESULT = null; RESULT = new Vector(); CUP$Parser$result = new java_cup.runtime.Symbol(54/*precedence_list*/, ((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 80: // precedence_list ::= precedence_l { Vector RESULT = null; int p_lleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left; int p_lright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right; Vector p_l = (Vector)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value; RESULT = p_l; CUP$Parser$result = new java_cup.runtime.Symbol(54/*precedence_list*/, ((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 79: // non_term_name_list ::= new_non_term_id { Vector RESULT = null; int n_idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left; int n_idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right; String n_id = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value; Vector nnt_list = new Vector(); nnt_list.addElement(n_id); RESULT = nnt_list; CUP$Parser$result = new java_cup.runtime.Symbol(46/*non_term_name_list*/, ((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 78: // non_term_name_list ::= non_term_name_list COMMA new_non_term_id { Vector RESULT = null; int ntn_listleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left; int ntn_listright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right; Vector ntn_list = (Vector)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value; int n_idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left; int n_idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right; String n_id = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value; ntn_list.addElement(n_id); RESULT = ntn_list; CUP$Parser$result = new java_cup.runtime.Symbol(46/*non_term_name_list*/, ((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 77: // term_name_list ::= new_term_id { Vector RESULT = null; int n_idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left; int n_idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right; String n_id = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value; Vector tn_list = new Vector(); tn_list.addElement(n_id); RESULT = tn_list; CUP$Parser$result = new java_cup.runtime.Symbol(48/*term_name_list*/, ((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 76: // term_name_list ::= term_name_list COMMA new_term_id { Vector RESULT = null; int tn_listleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left; int tn_listright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right; Vector tn_list = (Vector)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value; int n_idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left; int n_idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right; String n_id = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value; tn_list.addElement(n_id); RESULT = tn_list; CUP$Parser$result = new java_cup.runtime.Symbol(48/*term_name_list*/, ((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: // declares_non_term ::= non_term_name_list SEMI { Vector RESULT = null; int ntn_listleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left; int ntn_listright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right; Vector ntn_list = (Vector)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value; RESULT = ntn_list; CUP$Parser$result = new java_cup.runtime.Symbol(56/*declares_non_term*/, ((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 74: // declares_term ::= term_name_list SEMI { Vector RESULT = null; int tn_listleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left; int tn_listright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right; Vector tn_list = (Vector)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value; RESULT = tn_list; CUP$Parser$result = new java_cup.runtime.Symbol(55/*declares_term*/, ((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 73: // symbol ::= non_terminal declares_non_term { SymbolList RESULT = null; int non_termleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left; int non_termright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right; Vector non_term = (Vector)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value; RESULT = new SymbolList(SymbolList.NONTERMINAL, null, non_term); CUP$Parser$result = new java_cup.runtime.Symbol(57/*symbol*/, ((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 72: // symbol ::= non_terminal type_id declares_non_term { SymbolList RESULT = null; int typeleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left; int typeright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right; String type = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value; int non_termleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left; int non_termright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right; Vector non_term = (Vector)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value; RESULT = new SymbolList(SymbolList.NONTERMINAL, type, non_term); CUP$Parser$result = new java_cup.runtime.Symbol(57/*symbol*/, ((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: // symbol ::= TERMINAL declares_term { SymbolList RESULT = null; int termleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left; int termright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right; Vector term = (Vector)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value; RESULT = new SymbolList(SymbolList.TERMINAL, null, term); CUP$Parser$result = new java_cup.runtime.Symbol(57/*symbol*/, ((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 70: // symbol ::= TERMINAL type_id declares_term { SymbolList RESULT = null; int typeleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left; int typeright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right; String type = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value; int termleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left; int termright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right; Vector term = (Vector)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value; RESULT = new SymbolList(SymbolList.TERMINAL, type, term); CUP$Parser$result = new java_cup.runtime.Symbol(57/*symbol*/, ((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: // symbol_list ::= symbol { Vector RESULT = null; int sleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left; int sright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right; SymbolList s = (SymbolList)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value; Vector s_list = new Vector(); s_list.addElement(s); RESULT = s_list; CUP$Parser$result = new java_cup.runtime.Symbol(49/*symbol_list*/, ((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 68: // symbol_list ::= symbol_list symbol { Vector RESULT = null; int s_listleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left; int s_listright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right; Vector s_list = (Vector)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value; int sleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left; int sright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right; SymbolList s = (SymbolList)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value; s_list.addElement(s); RESULT = s_list; CUP$Parser$result = new java_cup.runtime.Symbol(49/*symbol_list*/, ((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 67: // scan_code ::= SCAN WITH code_str opt_semi { Object RESULT = null; int user_codeleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left; int user_coderight = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right; String user_code = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value; RESULT = new ScanCode(user_code); CUP$Parser$result = new java_cup.runtime.Symbol(10/*scan_code*/, ((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 66: // init_code ::= INIT WITH code_str opt_semi { Object RESULT = null; int user_codeleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left; int user_coderight = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right; String user_code = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value; RESULT = new InitCode(user_code); CUP$Parser$result = new java_cup.runtime.Symbol(9/*init_code*/, ((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 65: // extendsimpls ::= extendsimpls IMPLEMENTS multipart_id { String RESULT = null; int eleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left; int eright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right; String e = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value; int qidleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left; int qidright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right; String qid = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value; RESULT = e + " implements " + qid; CUP$Parser$result = new java_cup.runtime.Symbol(17/*extendsimpls*/, ((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: // extendsimpls ::= extendsimpls EXTENDS multipart_id { String RESULT = null; int eleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left; int eright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right; String e = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value; int qidleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left; int qidright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right; String qid = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value; RESULT = e + " extends " + qid; CUP$Parser$result = new java_cup.runtime.Symbol(17/*extendsimpls*/, ((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 63: // extendsimpls ::= { String RESULT = null; RESULT = ""; CUP$Parser$result = new java_cup.runtime.Symbol(17/*extendsimpls*/, ((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 62: // parser_code_part ::= PARSER id extendsimpls code_str opt_semi { Object RESULT = null; int classnameleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left; int classnameright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right; String classname = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value; int eileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left; int eiright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right; String ei = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value; int user_codeleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left; int user_coderight = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right; String user_code = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value; RESULT = new ParserCode(classname, ei, user_code); CUP$Parser$result = new java_cup.runtime.Symbol(8/*parser_code_part*/, ((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 61: // parser_code_part ::= PARSER CODE code_str opt_semi { Object RESULT = null; int user_codeleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left; int user_coderight = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right; String user_code = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value; RESULT = new ParserCode(null, "", user_code); CUP$Parser$result = new java_cup.runtime.Symbol(8/*parser_code_part*/, ((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 60: // action_code_part ::= ACTION CODE code_str opt_semi { Object RESULT = null; int user_codeleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left; int user_coderight = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right; String user_code = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value; RESULT = new ActionCode(user_code); CUP$Parser$result = new java_cup.runtime.Symbol(5/*action_code_part*/, ((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 59: // code_part ::= scan_code { Object RESULT = null; int sleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left; int sright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right; Object s = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value; RESULT = s; CUP$Parser$result = new java_cup.runtime.Symbol(6/*code_part*/, ((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 58: // code_part ::= init_code { Object RESULT = null; int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left; int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right; Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value; RESULT = i; CUP$Parser$result = new java_cup.runtime.Symbol(6/*code_part*/, ((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 57: // code_part ::= parser_code_part { Object RESULT = null; int pleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left; int pright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right; Object p = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value; RESULT = p; CUP$Parser$result = new java_cup.runtime.Symbol(6/*code_part*/, ((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: // code_part ::= action_code_part { Object RESULT = null; int aleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left; int aright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right; Object a = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value; RESULT = a; CUP$Parser$result = new java_cup.runtime.Symbol(6/*code_part*/, ((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 55: // code_parts ::= { Vector RESULT = null; RESULT = new Vector(); CUP$Parser$result = new java_cup.runtime.Symbol(51/*code_parts*/, ((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: // code_parts ::= code_parts code_part { Vector RESULT = null; int c_partsleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left; int c_partsright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right; Vector c_parts = (Vector)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value; int cleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left; int cright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right; Object c = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value; c_parts.addElement(c); RESULT = c_parts; CUP$Parser$result = new java_cup.runtime.Symbol(51/*code_parts*/, ((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 53: // import_spec ::= IMPORT import_id SEMI { String RESULT = null; int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left; int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right; String i = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value; RESULT = i; CUP$Parser$result = new java_cup.runtime.Symbol(40/*import_spec*/, ((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: // import_list ::= { Vector RESULT = null; RESULT = new Vector(); CUP$Parser$result = new java_cup.runtime.Symbol(47/*import_list*/, ((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 51: // import_list ::= import_list import_spec { Vector RESULT = null; int i_listleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left; int i_listright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right; Vector i_list = (Vector)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value; int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left; int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right; String i = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value; i_list.addElement(i); RESULT = i_list; CUP$Parser$result = new java_cup.runtime.Symbol(47/*import_list*/, ((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 50: // package_spec ::= { String RESULT = null; RESULT = null; CUP$Parser$result = new java_cup.runtime.Symbol(38/*package_spec*/, ((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 49: // package_spec ::= PACKAGE multipart_id SEMI { String RESULT = null; int m_idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left; int m_idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right; String m_id = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value; RESULT = m_id; CUP$Parser$result = new java_cup.runtime.Symbol(38/*package_spec*/, ((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 48: // cup_spec ::= package_spec import_list code_parts symbol_list precedence_list start_spec production_list { Spec RESULT = null; int pkgleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).left; int pkgright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).right; String pkg = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-6)).value; int impleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left; int impright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right; Vector imp = (Vector)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value; int codeleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left; int coderight = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right; Vector code = (Vector)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value; int sym_listleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left; int sym_listright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right; Vector sym_list = (Vector)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value; int prec_listleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left; int prec_listright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right; Vector prec_list = (Vector)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value; int startleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left; int startright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right; String start = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value; int prod_listleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left; int prod_listright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right; Vector prod_list = (Vector)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value; RESULT = new CUPSpec(pkg, imp, code, sym_list, prec_list, start, prod_list); CUP$Parser$result = new java_cup.runtime.Symbol(14/*cup_spec*/, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).left, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right, RESULT); } return CUP$Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 47: // opt_semi ::= { Object RESULT = null; CUP$Parser$result = new java_cup.runtime.Symbol(4/*opt_semi*/, ((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: // opt_semi ::= SEMI { Object RESULT = null; CUP$Parser$result = new java_cup.runtime.Symbol(4/*opt_semi*/, ((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 45: // non_terminal ::= NONTERMINAL { Object RESULT = null; CUP$Parser$result = new java_cup.runtime.Symbol(7/*non_terminal*/, ((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 44: // non_terminal ::= NON TERMINAL { Object RESULT = null; CUP$Parser$result = new java_cup.runtime.Symbol(7/*non_terminal*/, ((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 43: // robust_id ::= id { String RESULT = null; int idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left; int idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right; String id = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value; RESULT = id; CUP$Parser$result = new java_cup.runtime.Symbol(37/*robust_id*/, ((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: // label_id ::= robust_id { String RESULT = null; int the_idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left; int the_idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right; String the_id = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value; RESULT = the_id; CUP$Parser$result = new java_cup.runtime.Symbol(33/*label_id*/, ((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 41: // opt_label ::= { String RESULT = null; RESULT = null; CUP$Parser$result = new java_cup.runtime.Symbol(34/*opt_label*/, ((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 40: // opt_label ::= COLON label_id { String RESULT = null; int labidleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left; int labidright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right; String labid = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value; RESULT = labid; CUP$Parser$result = new java_cup.runtime.Symbol(34/*opt_label*/, ((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 39: // prod_part ::= code_str { Object RESULT = null; int code_strleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left; int code_strright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right; String code_str = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value; RESULT = new SemanticAction(code_str); CUP$Parser$result = new java_cup.runtime.Symbol(2/*prod_part*/, ((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 38: // prod_part ::= symbol_id opt_label { Object RESULT = null; int symidleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left; int symidright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right; String symid = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value; int labidleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left; int labidright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right; String labid = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value; RESULT = new Nonterminal(symid, labid); CUP$Parser$result = new java_cup.runtime.Symbol(2/*prod_part*/, ((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 37: // prod_part_list ::= { Vector RESULT = null; RESULT = new Vector(); CUP$Parser$result = new java_cup.runtime.Symbol(20/*prod_part_list*/, ((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 36: // prod_part_list ::= prod_part_list prod_part { Vector RESULT = null; int aleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left; int aright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right; Vector a = (Vector)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value; int bleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left; int bright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right; Object b = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value; /* Vector a, (non)terminal/code b */ a.addElement(b); RESULT = a; CUP$Parser$result = new java_cup.runtime.Symbol(20/*prod_part_list*/, ((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 35: // rhs ::= prod_part_list { Object RESULT = null; int pleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left; int pright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right; Vector p = (Vector)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value; RESULT = p; CUP$Parser$result = new java_cup.runtime.Symbol(3/*rhs*/, ((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: // rhs ::= prod_part_list PERCENT_PREC term_id { Object RESULT = null; int pleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left; int pright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right; Vector p = (Vector)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value; int term_nameleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left; int term_nameright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right; String term_name = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value; p.add(new PrecedenceModifier(term_name)); RESULT = p; CUP$Parser$result = new java_cup.runtime.Symbol(3/*rhs*/, ((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: // rhs_list ::= rhs { Vector RESULT = null; int rleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left; int rright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right; Object r = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value; Vector r_list = new Vector(); r_list.addElement(r); RESULT = r_list; CUP$Parser$result = new java_cup.runtime.Symbol(21/*rhs_list*/, ((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 32: // rhs_list ::= rhs_list BAR rhs { Vector RESULT = null; int r_listleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left; int r_listright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right; Vector r_list = (Vector)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value; int rleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left; int rright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right; Object r = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value; r_list.addElement(r); RESULT = r_list; CUP$Parser$result = new java_cup.runtime.Symbol(21/*rhs_list*/, ((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 31: // symbol_id ::= id { String RESULT = null; int idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left; int idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right; String id = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value; RESULT = id; CUP$Parser$result = new java_cup.runtime.Symbol(32/*symbol_id*/, ((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 30: // nt_id ::= id { String RESULT = null; int idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left; int idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right; String id = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value; RESULT = id; CUP$Parser$result = new java_cup.runtime.Symbol(31/*nt_id*/, ((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 29: // production ::= nt_id COLON_COLON_EQUALS rhs_list SEMI { Production RESULT = null; int lhs_idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left; int lhs_idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right; String lhs_id = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value; int rhsleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left; int rhsright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right; Vector rhs = (Vector)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value; RESULT = new Production(new Nonterminal(lhs_id), rhs); CUP$Parser$result = new java_cup.runtime.Symbol(29/*production*/, ((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: // production_list ::= production { Vector RESULT = null; int pleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left; int pright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right; Production p = (Production)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value; Vector p_list = new Vector(); p_list.addElement(p); RESULT = p_list; CUP$Parser$result = new java_cup.runtime.Symbol(30/*production_list*/, ((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 27: // production_list ::= production_list production { Vector RESULT = null; int p_listleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left; int p_listright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right; Vector p_list = (Vector)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value; int pleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left; int pright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right; Production p = (Production)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value; p_list.addElement(p); RESULT = p_list; CUP$Parser$result = new java_cup.runtime.Symbol(30/*production_list*/, ((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 26: // transfer_list ::= TO nt_id LBRACE rhs_list RBRACE { Vector RESULT = null; int ntleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left; int ntright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right; String nt = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value; int rhsleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left; int rhsright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right; Vector rhs = (Vector)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value; Vector v = new Vector(); Production p = new Production(new Nonterminal(nt), rhs); v.addElement(p); RESULT = v; CUP$Parser$result = new java_cup.runtime.Symbol(22/*transfer_list*/, ((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 25: // transfer_list ::= transfer_list TO nt_id LBRACE rhs_list RBRACE { Vector RESULT = null; int tlleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left; int tlright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right; Vector tl = (Vector)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value; int ntleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left; int ntright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right; String nt = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value; int rhsleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left; int rhsright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right; Vector rhs = (Vector)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value; Production p = new Production(new Nonterminal(nt), rhs); tl.addElement(p); RESULT = tl; CUP$Parser$result = new java_cup.runtime.Symbol(22/*transfer_list*/, ((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 24: // prod_modifier_opt ::= { Object RESULT = null; RESULT = null; CUP$Parser$result = new java_cup.runtime.Symbol(1/*prod_modifier_opt*/, ((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 23: // prod_modifier_opt ::= OVERRIDE { Object RESULT = null; int aleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left; int aright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right; Token a = (Token)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value; RESULT = (String)a.getValue(); CUP$Parser$result = new java_cup.runtime.Symbol(1/*prod_modifier_opt*/, ((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: // prod_modifier_opt ::= EXTEND { Object RESULT = null; int aleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left; int aright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right; Token a = (Token)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value; RESULT = (String)a.getValue(); CUP$Parser$result = new java_cup.runtime.Symbol(1/*prod_modifier_opt*/, ((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 21: // nt_id_list ::= nt_id { Vector RESULT = null; int idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left; int idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right; String id = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value; Vector list = new Vector(); list.addElement(id); RESULT = list; CUP$Parser$result = new java_cup.runtime.Symbol(27/*nt_id_list*/, ((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: // nt_id_list ::= nt_id_list COMMA nt_id { Vector RESULT = null; int listleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left; int listright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right; Vector list = (Vector)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value; int idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left; int idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right; String id = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value; list.addElement(id); RESULT = list; CUP$Parser$result = new java_cup.runtime.Symbol(27/*nt_id_list*/, ((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 19: // command ::= TRANSFER nt_id transfer_list { Command RESULT = null; int ntleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left; int ntright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right; String nt = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value; int tlistleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left; int tlistright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right; Vector tlist = (Vector)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value; RESULT = new TransferCmd(nt, tlist); CUP$Parser$result = new java_cup.runtime.Symbol(28/*command*/, ((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: // command ::= DROP LBRACE nt_id_list RBRACE { Command RESULT = null; int nt_listleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left; int nt_listright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right; Vector nt_list = (Vector)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value; RESULT = new DropCmd(nt_list); CUP$Parser$result = new java_cup.runtime.Symbol(28/*command*/, ((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 17: // command ::= DROP LBRACE production RBRACE { Command RESULT = null; int pleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left; int pright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right; Production p = (Production)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value; RESULT = new DropCmd(p); CUP$Parser$result = new java_cup.runtime.Symbol(28/*command*/, ((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 16: // command ::= prod_modifier_opt production { Command RESULT = null; int modleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left; int modright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right; Object mod = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value; int pleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left; int pright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right; Production p = (Production)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value; if (mod == null) { /* no modifier, new command */ RESULT = new NewProdCmd(p); } else if (mod.equals("extend")) { RESULT = new ExtendCmd(p); } else /* if (mod.equals("override")) */ { RESULT = new OverrideCmd(p); } CUP$Parser$result = new java_cup.runtime.Symbol(28/*command*/, ((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 15: // command_list_opt ::= { Vector RESULT = null; RESULT = new Vector(); CUP$Parser$result = new java_cup.runtime.Symbol(19/*command_list_opt*/, ((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 14: // command_list_opt ::= command_list_opt command { Vector RESULT = null; int bleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left; int bright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right; Vector b = (Vector)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value; int aleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left; int aright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right; Command a = (Command)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value; /* b = Vector, a = command; */ b.addElement(a); RESULT = b; CUP$Parser$result = new java_cup.runtime.Symbol(19/*command_list_opt*/, ((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: // ppg_start_spec_elt ::= START WITH id id SEMI { Vector RESULT = null; int startleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left; int startright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right; String start = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value; int methodleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left; int methodright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right; String method = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value; Vector m = new Vector(); m.addElement(start); m.addElement(method); RESULT = m; CUP$Parser$result = new java_cup.runtime.Symbol(25/*ppg_start_spec_elt*/, ((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 12: // ppg_start_spec_list ::= ppg_start_spec_elt { Vector RESULT = null; int eltleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left; int eltright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right; Vector elt = (Vector)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value; RESULT = elt; CUP$Parser$result = new java_cup.runtime.Symbol(26/*ppg_start_spec_list*/, ((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: // ppg_start_spec_list ::= ppg_start_spec_list ppg_start_spec_elt { Vector RESULT = null; int listleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left; int listright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right; Vector list = (Vector)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value; int eltleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left; int eltright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right; Vector elt = (Vector)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value; list.addAll(elt); RESULT = list; CUP$Parser$result = new java_cup.runtime.Symbol(26/*ppg_start_spec_list*/, ((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 10: // ppg_start_spec ::= ppg_start_spec_list { Vector RESULT = null; int mleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left; int mright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right; Vector m = (Vector)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value; RESULT = m; CUP$Parser$result = new java_cup.runtime.Symbol(24/*ppg_start_spec*/, ((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: // ppg_start_spec ::= START WITH nt_id SEMI { Vector RESULT = null; int startleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left; int startright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right; String start = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value; Vector v = new Vector(); v.addElement(start); RESULT = v; CUP$Parser$result = new java_cup.runtime.Symbol(24/*ppg_start_spec*/, ((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 8: // ppg_precedence_list ::= PRECEDENCE SEMI { Vector RESULT = null; RESULT = null; CUP$Parser$result = new java_cup.runtime.Symbol(23/*ppg_precedence_list*/, ((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 7: // ppg_precedence_list ::= precedence_list { Vector RESULT = null; int p_lleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left; int p_lright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right; Vector p_l = (Vector)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value; RESULT = p_l; CUP$Parser$result = new java_cup.runtime.Symbol(23/*ppg_precedence_list*/, ((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 6: // symbol_list_opt ::= { Vector RESULT = null; RESULT = null; CUP$Parser$result = new java_cup.runtime.Symbol(50/*symbol_list_opt*/, ((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: // symbol_list_opt ::= symbol_list { Vector RESULT = null; int sym_listleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left; int sym_listright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right; Vector sym_list = (Vector)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value; RESULT = sym_list; CUP$Parser$result = new java_cup.runtime.Symbol(50/*symbol_list_opt*/, ((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: // include_spec ::= INCLUDE STRING_CONST { String RESULT = null; int aleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left; int aright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right; Token a = (Token)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value; RESULT = (String)a.getValue(); CUP$Parser$result = new java_cup.runtime.Symbol(16/*include_spec*/, ((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 3: // ppg_spec ::= include_spec package_spec import_list code_parts symbol_list_opt ppg_precedence_list ppg_start_spec command_list_opt { Spec RESULT = null; int incleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)).left; int incright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)).right; String inc = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-7)).value; int pkgleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).left; int pkgright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).right; String pkg = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-6)).value; int impleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left; int impright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right; Vector imp = (Vector)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value; int codeleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left; int coderight = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right; Vector code = (Vector)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value; int sym_listleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left; int sym_listright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right; Vector sym_list = (Vector)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value; int prec_listleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left; int prec_listright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right; Vector prec_list = (Vector)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value; int startleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left; int startright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right; Vector start = (Vector)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value; int cmd_listleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left; int cmd_listright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right; Vector cmd_list = (Vector)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value; RESULT = new PPGSpec(inc, pkg, imp, code, sym_list, prec_list, start, cmd_list); CUP$Parser$result = new java_cup.runtime.Symbol(13/*ppg_spec*/, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)).left, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right, RESULT); } return CUP$Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 2: // spec ::= cup_spec { Spec RESULT = null; int sleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left; int sright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right; Spec s = (Spec)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value; Parser.setProgramNode(s); CUP$Parser$result = new java_cup.runtime.Symbol(12/*spec*/, ((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 1: // spec ::= ppg_spec { Spec RESULT = null; int sleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).left; int sright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-0)).right; Spec s = (Spec)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-0)).value; Parser.setProgramNode(s); CUP$Parser$result = new java_cup.runtime.Symbol(12/*spec*/, ((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 0: // $START ::= spec 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; Spec start_val = (Spec)((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"); } } } }