//---------------------------------------------------- // The following code was generated by CUP v0.10k // Wed May 03 15:14:45 NZST 2006 //---------------------------------------------------- package grammar; import java_cup.runtime.*; import node.*; import java.io.*; /** CUP v0.10k generated parser. * @version Wed May 03 15:14:45 NZST 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\240\000\002\002\004\000\002\003\003\000\002\004" + "\002\000\002\004\004\000\002\004\004\000\002\004\004" + "\000\002\005\003\000\002\005\005\000\002\006\002\000" + "\002\006\004\000\002\007\004\000\002\007\005\000\002" + "\010\005\000\002\011\003\000\002\011\003\000\002\011" + "\003\000\002\011\003\000\002\012\003\000\002\012\003" + "\000\002\012\003\000\002\012\003\000\002\012\003\000" + "\002\012\003\000\002\012\003\000\002\013\007\000\002" + "\013\004\000\002\014\007\000\002\014\004\000\002\015" + "\007\000\002\015\004\000\002\016\003\000\002\016\005" + "\000\002\017\003\000\002\017\005\000\002\020\003\000" + "\002\020\005\000\002\021\003\000\002\021\005\000\002" + "\022\003\000\002\022\005\000\002\023\003\000\002\023" + "\005\000\002\024\003\000\002\024\005\000\002\025\004" + "\000\002\026\002\000\002\026\003\000\002\027\004\000" + "\002\027\003\000\002\030\006\000\002\030\006\000\002" + "\030\005\000\002\030\003\000\002\031\003\000\002\031" + "\004\000\002\031\003\000\002\032\005\000\002\032\006" + "\000\002\032\005\000\002\032\006\000\002\032\005\000" + "\002\033\002\000\002\033\003\000\002\033\005\000\002" + "\034\003\000\002\034\005\000\002\035\004\000\002\036" + "\002\000\002\036\004\000\002\036\004\000\002\036\004" + "\000\002\036\004\000\002\037\006\000\002\037\005\000" + "\002\037\005\000\002\037\004\000\002\037\003\000\002" + "\037\011\000\002\037\007\000\002\037\007\000\002\037" + "\007\000\002\037\011\000\002\037\013\000\002\037\005" + "\000\002\037\004\000\002\037\004\000\002\037\005\000" + "\002\037\003\000\002\040\005\000\002\041\002\000\002" + "\041\003\000\002\042\005\000\002\042\003\000\002\043" + "\005\000\002\043\005\000\002\043\005\000\002\043\005" + "\000\002\043\005\000\002\043\005\000\002\043\005\000" + "\002\043\005\000\002\043\005\000\002\043\005\000\002" + "\043\005\000\002\043\003\000\002\044\007\000\002\044" + "\003\000\002\045\005\000\002\045\003\000\002\046\005" + "\000\002\046\003\000\002\047\005\000\002\047\003\000" + "\002\050\005\000\002\050\003\000\002\051\005\000\002" + "\051\003\000\002\052\005\000\002\052\005\000\002\052" + "\003\000\002\053\005\000\002\053\005\000\002\053\005" + "\000\002\053\005\000\002\053\003\000\002\054\005\000" + "\002\054\005\000\002\054\003\000\002\055\005\000\002" + "\055\005\000\002\055\003\000\002\056\005\000\002\056" + "\005\000\002\056\005\000\002\056\003\000\002\057\006" + "\000\002\057\003\000\002\060\004\000\002\060\004\000" + "\002\060\004\000\002\060\004\000\002\060\004\000\002" + "\060\004\000\002\060\004\000\002\060\006\000\002\060" + "\004\000\002\060\003\000\002\061\004\000\002\061\004" + "\000\002\061\006\000\002\061\006\000\002\061\005\000" + "\002\061\005\000\002\061\005\000\002\061\003\000\002" + "\061\003\000\002\061\003\000\002\061\003\000\002\061" + "\003\000\002\062\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\u0129\000\032\002\uffff\003\005\030\uffff\031\uffff\032" + "\uffff\041\uffff\042\uffff\043\uffff\044\uffff\045\uffff\046\uffff" + "\051\uffff\001\002\000\004\002\u012b\001\002\000\006\015" + "\u0129\025\u012a\001\002\000\030\002\000\030\016\031\014" + "\032\007\041\011\042\025\043\026\044\021\045\013\046" + "\027\051\017\001\002\000\004\004\031\001\002\000\012" + "\004\031\015\316\111\037\117\041\001\002\000\016\004" + "\uffee\015\uffee\111\uffee\117\uffee\120\uffee\121\uffee\001\002" + "\000\030\002\ufffb\030\ufffb\031\ufffb\032\ufffb\041\ufffb\042" + "\ufffb\043\ufffb\044\ufffb\045\ufffb\046\ufffb\051\ufffb\001\002" + "\000\016\004\uffed\015\uffed\111\uffed\117\uffed\120\uffed\121" + "\uffed\001\002\000\004\004\031\001\002\000\016\004\ufff4" + "\015\ufff4\111\ufff4\117\ufff4\120\ufff4\121\ufff4\001\002\000" + "\004\004\031\001\002\000\016\004\uffea\015\uffea\111\uffea" + "\117\uffea\120\uffea\121\uffea\001\002\000\016\004\ufff2\015" + "\ufff2\111\ufff2\117\ufff2\120\ufff2\121\ufff2\001\002\000\016" + "\004\uffeb\015\uffeb\111\uffeb\117\uffeb\120\uffeb\121\uffeb\001" + "\002\000\030\002\ufffe\030\ufffe\031\ufffe\032\ufffe\041\ufffe" + "\042\ufffe\043\ufffe\044\ufffe\045\ufffe\046\ufffe\051\ufffe\001" + "\002\000\016\004\ufff3\015\ufff3\111\ufff3\117\ufff3\120\ufff3" + "\121\ufff3\001\002\000\016\004\ufff1\015\ufff1\111\ufff1\117" + "\ufff1\120\ufff1\121\ufff1\001\002\000\016\004\ufff0\015\ufff0" + "\111\ufff0\117\ufff0\120\ufff0\121\ufff0\001\002\000\016\004" + "\uffec\015\uffec\111\uffec\117\uffec\120\uffec\121\uffec\001\002" + "\000\016\004\uffef\015\uffef\111\uffef\117\uffef\120\uffef\121" + "\uffef\001\002\000\020\004\uffe8\015\uffe8\024\032\111\uffe8" + "\117\uffe8\120\uffe8\121\uffe8\001\002\000\132\004\uff62\015" + "\uff62\024\uff62\025\uff62\052\uff62\053\uff62\054\uff62\055\uff62" + "\056\uff62\057\uff62\060\uff62\061\uff62\062\uff62\063\uff62\064" + "\uff62\065\uff62\066\uff62\067\uff62\070\uff62\071\uff62\072\uff62" + "\073\uff62\074\uff62\075\uff62\076\uff62\077\uff62\100\uff62\101" + "\uff62\102\uff62\103\uff62\104\uff62\105\uff62\106\uff62\107\uff62" + "\110\uff62\111\uff62\115\uff62\116\uff62\117\uff62\120\uff62\121" + "\uff62\122\uff62\123\uff62\124\uff62\001\002\000\030\025\ufff9" + "\030\ufff9\031\ufff9\032\ufff9\041\ufff9\042\ufff9\043\ufff9\044" + "\ufff9\045\ufff9\046\ufff9\051\ufff9\001\002\000\030\025\036" + "\030\016\031\014\032\007\041\011\042\025\043\026\044" + "\021\045\013\046\027\051\017\001\002\000\010\004\031" + "\111\037\117\041\001\002\000\030\025\ufff8\030\ufff8\031" + "\ufff8\032\ufff8\041\ufff8\042\ufff8\043\ufff8\044\ufff8\045\ufff8" + "\046\ufff8\051\ufff8\001\002\000\016\004\uffe9\015\uffe9\111" + "\uffe9\117\uffe9\120\uffe9\121\uffe9\001\002\000\010\004\031" + "\111\037\117\041\001\002\000\020\015\uffcd\024\uffcd\052" + "\uffcd\053\uffcd\117\uffcd\120\uffcd\121\uffcd\001\002\000\010" + "\004\031\111\037\117\041\001\002\000\020\015\uffd1\024" + "\uffd1\052\uffd1\053\uffd1\117\050\120\uffd1\121\051\001\002" + "\000\006\015\uffe1\052\uffe1\001\002\000\006\015\046\052" + "\045\001\002\000\010\004\031\111\037\117\041\001\002" + "\000\030\025\ufff5\030\ufff5\031\ufff5\032\ufff5\041\ufff5\042" + "\ufff5\043\ufff5\044\ufff5\045\ufff5\046\ufff5\051\ufff5\001\002" + "\000\006\015\uffe0\052\uffe0\001\002\000\030\030\016\031" + "\014\032\007\041\011\042\025\043\026\044\021\045\013" + "\046\027\051\017\120\uffc4\001\002\000\040\004\031\005" + "\064\006\076\007\056\010\104\074\103\106\077\111\057" + "\112\054\113\063\114\061\115\055\116\066\117\074\122" + "\uffa8\001\002\000\112\015\uff7b\025\uff7b\052\uff7b\053\uff7b" + "\054\uff7b\055\uff7b\056\uff7b\057\uff7b\060\uff7b\061\uff7b\062" + "\uff7b\063\uff7b\064\uff7b\065\uff7b\066\uff7b\067\uff7b\070\uff7b" + "\071\uff7b\072\uff7b\073\uff7b\074\uff7b\075\uff7b\076\uff7b\077" + "\uff7b\100\uff7b\101\uff7b\102\uff7b\103\uff7b\104\uff7b\105\uff7b" + "\106\uff7b\107\uff7b\110\uff7b\111\uff7b\120\uff7b\122\uff7b\001" + "\002\000\074\015\uff8a\025\uff8a\052\uff8a\053\uff8a\054\uff8a" + "\055\uff8a\056\uff8a\057\uff8a\060\uff8a\061\uff8a\062\uff8a\063" + "\uff8a\064\uff8a\065\uff8a\066\uff8a\067\uff8a\070\uff8a\071\uff8a" + "\072\uff8a\073\uff8a\074\uff8a\075\uff8a\076\uff8a\077\137\100" + "\140\101\141\102\142\120\uff8a\122\uff8a\001\002\000\036" + "\004\031\005\064\006\076\007\056\010\104\074\103\106" + "\077\111\057\112\054\113\063\114\061\115\055\116\066" + "\117\276\001\002\000\036\004\031\005\064\006\076\007" + "\056\010\104\074\103\106\077\111\057\112\054\113\063" + "\114\061\115\055\116\066\117\152\001\002\000\126\015" + "\uff63\025\uff63\052\uff63\053\uff63\054\uff63\055\uff63\056\uff63" + "\057\uff63\060\uff63\061\uff63\062\uff63\063\uff63\064\uff63\065" + "\uff63\066\uff63\067\uff63\070\uff63\071\uff63\072\uff63\073\uff63" + "\074\uff63\075\uff63\076\uff63\077\uff63\100\uff63\101\uff63\102" + "\uff63\103\uff63\104\uff63\105\uff63\106\uff63\107\uff63\110\uff63" + "\111\uff63\115\uff63\116\uff63\117\uff63\120\uff63\121\uff63\122" + "\uff63\123\uff63\124\uff63\001\002\000\036\004\031\005\064" + "\006\076\007\056\010\104\074\103\106\077\111\057\112" + "\054\113\063\114\061\115\055\116\066\117\152\001\002" + "\000\004\122\273\001\002\000\036\004\031\005\064\006" + "\076\007\056\010\104\074\103\106\077\111\057\112\054" + "\113\063\114\061\115\055\116\066\117\152\001\002\000" + "\050\015\uff97\025\uff97\052\uff97\053\uff97\054\uff97\055\uff97" + "\056\uff97\057\uff97\060\uff97\061\uff97\062\uff97\063\uff97\064" + "\uff97\065\uff97\066\264\067\uff97\070\265\120\uff97\122\uff97" + "\001\002\000\036\004\031\005\064\006\076\007\056\010" + "\104\074\103\106\077\111\057\112\054\113\063\114\061" + "\115\055\116\066\117\152\001\002\000\126\015\uff65\025" + "\uff65\052\uff65\053\uff65\054\uff65\055\uff65\056\uff65\057\uff65" + "\060\uff65\061\uff65\062\uff65\063\uff65\064\uff65\065\uff65\066" + "\uff65\067\uff65\070\uff65\071\uff65\072\uff65\073\uff65\074\uff65" + "\075\uff65\076\uff65\077\uff65\100\uff65\101\uff65\102\uff65\103" + "\uff65\104\uff65\105\uff65\106\uff65\107\uff65\110\uff65\111\uff65" + "\115\uff65\116\uff65\117\uff65\120\uff65\121\uff65\122\uff65\123" + "\uff65\124\uff65\001\002\000\126\015\uff6f\025\uff6f\052\uff6f" + "\053\uff6f\054\uff6f\055\uff6f\056\uff6f\057\uff6f\060\uff6f\061" + "\uff6f\062\uff6f\063\uff6f\064\uff6f\065\uff6f\066\uff6f\067\uff6f" + "\070\uff6f\071\uff6f\072\uff6f\073\uff6f\074\uff6f\075\uff6f\076" + "\uff6f\077\uff6f\100\uff6f\101\uff6f\102\uff6f\103\uff6f\104\uff6f" + "\105\uff6f\106\uff6f\107\uff6f\110\uff6f\111\uff6f\115\251\116" + "\247\117\250\120\uff6f\121\254\122\uff6f\123\253\124\252" + "\001\002\000\036\004\031\005\064\006\076\007\056\010" + "\104\074\103\106\077\111\057\112\054\113\063\114\061" + "\115\055\116\066\117\152\001\002\000\012\015\uffa7\052" + "\210\120\uffa7\122\uffa7\001\002\000\014\015\uffa5\052\uffa5" + "\067\uffa5\120\uffa5\122\uffa5\001\002\000\112\015\uff7f\025" + "\uff7f\052\uff7f\053\uff7f\054\uff7f\055\uff7f\056\uff7f\057\uff7f" + "\060\uff7f\061\uff7f\062\uff7f\063\uff7f\064\uff7f\065\uff7f\066" + "\uff7f\067\uff7f\070\uff7f\071\uff7f\072\uff7f\073\uff7f\074\uff7f" + "\075\uff7f\076\uff7f\077\uff7f\100\uff7f\101\uff7f\102\uff7f\103" + "\uff7f\104\uff7f\105\uff7f\106\uff7f\107\120\110\116\111\117" + "\120\uff7f\122\uff7f\001\002\000\044\015\uff99\025\uff99\052" + "\uff99\053\227\054\224\055\222\056\230\057\220\060\231" + "\061\232\062\225\063\223\064\221\065\226\067\uff99\120" + "\uff99\122\uff99\001\002\000\056\015\uff91\025\uff91\052\uff91" + "\053\uff91\054\uff91\055\uff91\056\uff91\057\uff91\060\uff91\061" + "\uff91\062\uff91\063\uff91\064\uff91\065\uff91\066\uff91\067\uff91" + "\070\uff91\071\uff91\072\uff91\073\130\120\uff91\122\uff91\001" + "\002\000\036\004\031\005\064\006\076\007\056\010\104" + "\074\103\106\077\111\057\112\054\113\063\114\061\115" + "\055\116\066\117\074\001\002\000\104\015\uff82\025\uff82" + "\052\uff82\053\uff82\054\uff82\055\uff82\056\uff82\057\uff82\060" + "\uff82\061\uff82\062\uff82\063\uff82\064\uff82\065\uff82\066\uff82" + "\067\uff82\070\uff82\071\uff82\072\uff82\073\uff82\074\uff82\075" + "\uff82\076\uff82\077\uff82\100\uff82\101\uff82\102\uff82\103\uff82" + "\104\uff82\105\113\106\114\120\uff82\122\uff82\001\002\000" + "\126\015\uff66\025\uff66\052\uff66\053\uff66\054\uff66\055\uff66" + "\056\uff66\057\uff66\060\uff66\061\uff66\062\uff66\063\uff66\064" + "\uff66\065\uff66\066\uff66\067\uff66\070\uff66\071\uff66\072\uff66" + "\073\uff66\074\uff66\075\uff66\076\uff66\077\uff66\100\uff66\101" + "\uff66\102\uff66\103\uff66\104\uff66\105\uff66\106\uff66\107\uff66" + "\110\uff66\111\uff66\115\uff66\116\uff66\117\uff66\120\uff66\121" + "\uff66\122\uff66\123\uff66\124\uff66\001\002\000\036\004\031" + "\005\064\006\076\007\056\010\104\074\103\106\077\111" + "\057\112\054\113\063\114\061\115\055\116\066\117\152" + "\001\002\000\060\015\uff8f\025\uff8f\052\uff8f\053\uff8f\054" + "\uff8f\055\uff8f\056\uff8f\057\uff8f\060\uff8f\061\uff8f\062\uff8f" + "\063\uff8f\064\uff8f\065\uff8f\066\uff8f\067\uff8f\070\uff8f\071" + "\uff8f\072\uff8f\073\uff8f\074\132\120\uff8f\122\uff8f\001\002" + "\000\126\015\uff67\025\uff67\052\uff67\053\uff67\054\uff67\055" + "\uff67\056\uff67\057\uff67\060\uff67\061\uff67\062\uff67\063\uff67" + "\064\uff67\065\uff67\066\uff67\067\uff67\070\uff67\071\uff67\072" + "\uff67\073\uff67\074\uff67\075\uff67\076\uff67\077\uff67\100\uff67" + "\101\uff67\102\uff67\103\uff67\104\uff67\105\uff67\106\uff67\107" + "\uff67\110\uff67\111\uff67\115\uff67\116\uff67\117\uff67\120\uff67" + "\121\uff67\122\uff67\123\uff67\124\uff67\001\002\000\052\015" + "\uff95\025\uff95\052\uff95\053\uff95\054\uff95\055\uff95\056\uff95" + "\057\uff95\060\uff95\061\uff95\062\uff95\063\uff95\064\uff95\065" + "\uff95\066\uff95\067\uff95\070\uff95\071\215\120\uff95\122\uff95" + "\001\002\000\036\004\031\005\064\006\076\007\056\010" + "\104\074\103\106\077\111\057\112\054\113\063\114\061" + "\115\055\116\066\117\152\001\002\000\126\015\uff64\025" + "\uff64\052\uff64\053\uff64\054\uff64\055\uff64\056\uff64\057\uff64" + "\060\uff64\061\uff64\062\uff64\063\uff64\064\uff64\065\uff64\066" + "\uff64\067\uff64\070\uff64\071\uff64\072\uff64\073\uff64\074\uff64" + "\075\uff64\076\uff64\077\uff64\100\uff64\101\uff64\102\uff64\103" + "\uff64\104\uff64\105\uff64\106\uff64\107\uff64\110\uff64\111\uff64" + "\115\uff64\116\uff64\117\uff64\120\uff64\121\uff64\122\uff64\123" + "\uff64\124\uff64\001\002\000\064\015\uff8d\025\uff8d\052\uff8d" + "\053\uff8d\054\uff8d\055\uff8d\056\uff8d\057\uff8d\060\uff8d\061" + "\uff8d\062\uff8d\063\uff8d\064\uff8d\065\uff8d\066\uff8d\067\uff8d" + "\070\uff8d\071\uff8d\072\uff8d\073\uff8d\074\uff8d\075\134\076" + "\135\120\uff8d\122\uff8d\001\002\000\054\015\uff93\025\uff93" + "\052\uff93\053\uff93\054\uff93\055\uff93\056\uff93\057\uff93\060" + "\uff93\061\uff93\062\uff93\063\uff93\064\uff93\065\uff93\066\uff93" + "\067\uff93\070\uff93\071\uff93\072\126\120\uff93\122\uff93\001" + "\002\000\100\015\uff85\025\uff85\052\uff85\053\uff85\054\uff85" + "\055\uff85\056\uff85\057\uff85\060\uff85\061\uff85\062\uff85\063" + "\uff85\064\uff85\065\uff85\066\uff85\067\uff85\070\uff85\071\uff85" + "\072\uff85\073\uff85\074\uff85\075\uff85\076\uff85\077\uff85\100" + "\uff85\101\uff85\102\uff85\103\111\104\110\120\uff85\122\uff85" + "\001\002\000\036\004\031\005\064\006\076\007\056\010" + "\104\074\103\106\077\111\057\112\054\113\063\114\061" + "\115\055\116\066\117\074\001\002\000\036\004\031\005" + "\064\006\076\007\056\010\104\074\103\106\077\111\057" + "\112\054\113\063\114\061\115\055\116\066\117\074\001" + "\002\000\104\015\uff84\025\uff84\052\uff84\053\uff84\054\uff84" + "\055\uff84\056\uff84\057\uff84\060\uff84\061\uff84\062\uff84\063" + "\uff84\064\uff84\065\uff84\066\uff84\067\uff84\070\uff84\071\uff84" + "\072\uff84\073\uff84\074\uff84\075\uff84\076\uff84\077\uff84\100" + "\uff84\101\uff84\102\uff84\103\uff84\104\uff84\105\113\106\114" + "\120\uff84\122\uff84\001\002\000\036\004\031\005\064\006" + "\076\007\056\010\104\074\103\106\077\111\057\112\054" + "\113\063\114\061\115\055\116\066\117\074\001\002\000" + "\036\004\031\005\064\006\076\007\056\010\104\074\103" + "\106\077\111\057\112\054\113\063\114\061\115\055\116" + "\066\117\074\001\002\000\112\015\uff80\025\uff80\052\uff80" + "\053\uff80\054\uff80\055\uff80\056\uff80\057\uff80\060\uff80\061" + "\uff80\062\uff80\063\uff80\064\uff80\065\uff80\066\uff80\067\uff80" + "\070\uff80\071\uff80\072\uff80\073\uff80\074\uff80\075\uff80\076" + "\uff80\077\uff80\100\uff80\101\uff80\102\uff80\103\uff80\104\uff80" + "\105\uff80\106\uff80\107\120\110\116\111\117\120\uff80\122" + "\uff80\001\002\000\036\004\031\005\064\006\076\007\056" + "\010\104\074\103\106\077\111\057\112\054\113\063\114" + "\061\115\055\116\066\117\074\001\002\000\036\004\031" + "\005\064\006\076\007\056\010\104\074\103\106\077\111" + "\057\112\054\113\063\114\061\115\055\116\066\117\074" + "\001\002\000\036\004\031\005\064\006\076\007\056\010" + "\104\074\103\106\077\111\057\112\054\113\063\114\061" + "\115\055\116\066\117\074\001\002\000\112\015\uff7d\025" + "\uff7d\052\uff7d\053\uff7d\054\uff7d\055\uff7d\056\uff7d\057\uff7d" + "\060\uff7d\061\uff7d\062\uff7d\063\uff7d\064\uff7d\065\uff7d\066" + "\uff7d\067\uff7d\070\uff7d\071\uff7d\072\uff7d\073\uff7d\074\uff7d" + "\075\uff7d\076\uff7d\077\uff7d\100\uff7d\101\uff7d\102\uff7d\103" + "\uff7d\104\uff7d\105\uff7d\106\uff7d\107\uff7d\110\uff7d\111\uff7d" + "\120\uff7d\122\uff7d\001\002\000\112\015\uff7e\025\uff7e\052" + "\uff7e\053\uff7e\054\uff7e\055\uff7e\056\uff7e\057\uff7e\060\uff7e" + "\061\uff7e\062\uff7e\063\uff7e\064\uff7e\065\uff7e\066\uff7e\067" + "\uff7e\070\uff7e\071\uff7e\072\uff7e\073\uff7e\074\uff7e\075\uff7e" + "\076\uff7e\077\uff7e\100\uff7e\101\uff7e\102\uff7e\103\uff7e\104" + "\uff7e\105\uff7e\106\uff7e\107\uff7e\110\uff7e\111\uff7e\120\uff7e" + "\122\uff7e\001\002\000\112\015\uff7c\025\uff7c\052\uff7c\053" + "\uff7c\054\uff7c\055\uff7c\056\uff7c\057\uff7c\060\uff7c\061\uff7c" + "\062\uff7c\063\uff7c\064\uff7c\065\uff7c\066\uff7c\067\uff7c\070" + "\uff7c\071\uff7c\072\uff7c\073\uff7c\074\uff7c\075\uff7c\076\uff7c" + "\077\uff7c\100\uff7c\101\uff7c\102\uff7c\103\uff7c\104\uff7c\105" + "\uff7c\106\uff7c\107\uff7c\110\uff7c\111\uff7c\120\uff7c\122\uff7c" + "\001\002\000\112\015\uff81\025\uff81\052\uff81\053\uff81\054" + "\uff81\055\uff81\056\uff81\057\uff81\060\uff81\061\uff81\062\uff81" + "\063\uff81\064\uff81\065\uff81\066\uff81\067\uff81\070\uff81\071" + "\uff81\072\uff81\073\uff81\074\uff81\075\uff81\076\uff81\077\uff81" + "\100\uff81\101\uff81\102\uff81\103\uff81\104\uff81\105\uff81\106" + "\uff81\107\120\110\116\111\117\120\uff81\122\uff81\001\002" + "\000\104\015\uff83\025\uff83\052\uff83\053\uff83\054\uff83\055" + "\uff83\056\uff83\057\uff83\060\uff83\061\uff83\062\uff83\063\uff83" + "\064\uff83\065\uff83\066\uff83\067\uff83\070\uff83\071\uff83\072" + "\uff83\073\uff83\074\uff83\075\uff83\076\uff83\077\uff83\100\uff83" + "\101\uff83\102\uff83\103\uff83\104\uff83\105\113\106\114\120" + "\uff83\122\uff83\001\002\000\036\004\031\005\064\006\076" + "\007\056\010\104\074\103\106\077\111\057\112\054\113" + "\063\114\061\115\055\116\066\117\074\001\002\000\056" + "\015\uff92\025\uff92\052\uff92\053\uff92\054\uff92\055\uff92\056" + "\uff92\057\uff92\060\uff92\061\uff92\062\uff92\063\uff92\064\uff92" + "\065\uff92\066\uff92\067\uff92\070\uff92\071\uff92\072\uff92\073" + "\130\120\uff92\122\uff92\001\002\000\036\004\031\005\064" + "\006\076\007\056\010\104\074\103\106\077\111\057\112" + "\054\113\063\114\061\115\055\116\066\117\074\001\002" + "\000\060\015\uff90\025\uff90\052\uff90\053\uff90\054\uff90\055" + "\uff90\056\uff90\057\uff90\060\uff90\061\uff90\062\uff90\063\uff90" + "\064\uff90\065\uff90\066\uff90\067\uff90\070\uff90\071\uff90\072" + "\uff90\073\uff90\074\132\120\uff90\122\uff90\001\002\000\036" + "\004\031\005\064\006\076\007\056\010\104\074\103\106" + "\077\111\057\112\054\113\063\114\061\115\055\116\066" + "\117\074\001\002\000\064\015\uff8e\025\uff8e\052\uff8e\053" + "\uff8e\054\uff8e\055\uff8e\056\uff8e\057\uff8e\060\uff8e\061\uff8e" + "\062\uff8e\063\uff8e\064\uff8e\065\uff8e\066\uff8e\067\uff8e\070" + "\uff8e\071\uff8e\072\uff8e\073\uff8e\074\uff8e\075\134\076\135" + "\120\uff8e\122\uff8e\001\002\000\036\004\031\005\064\006" + "\076\007\056\010\104\074\103\106\077\111\057\112\054" + "\113\063\114\061\115\055\116\066\117\074\001\002\000" + "\036\004\031\005\064\006\076\007\056\010\104\074\103" + "\106\077\111\057\112\054\113\063\114\061\115\055\116" + "\066\117\074\001\002\000\074\015\uff8b\025\uff8b\052\uff8b" + "\053\uff8b\054\uff8b\055\uff8b\056\uff8b\057\uff8b\060\uff8b\061" + "\uff8b\062\uff8b\063\uff8b\064\uff8b\065\uff8b\066\uff8b\067\uff8b" + "\070\uff8b\071\uff8b\072\uff8b\073\uff8b\074\uff8b\075\uff8b\076" + "\uff8b\077\137\100\140\101\141\102\142\120\uff8b\122\uff8b" + "\001\002\000\036\004\031\005\064\006\076\007\056\010" + "\104\074\103\106\077\111\057\112\054\113\063\114\061" + "\115\055\116\066\117\074\001\002\000\036\004\031\005" + "\064\006\076\007\056\010\104\074\103\106\077\111\057" + "\112\054\113\063\114\061\115\055\116\066\117\074\001" + "\002\000\036\004\031\005\064\006\076\007\056\010\104" + "\074\103\106\077\111\057\112\054\113\063\114\061\115" + "\055\116\066\117\074\001\002\000\036\004\031\005\064" + "\006\076\007\056\010\104\074\103\106\077\111\057\112" + "\054\113\063\114\061\115\055\116\066\117\074\001\002" + "\000\100\015\uff86\025\uff86\052\uff86\053\uff86\054\uff86\055" + "\uff86\056\uff86\057\uff86\060\uff86\061\uff86\062\uff86\063\uff86" + "\064\uff86\065\uff86\066\uff86\067\uff86\070\uff86\071\uff86\072" + "\uff86\073\uff86\074\uff86\075\uff86\076\uff86\077\uff86\100\uff86" + "\101\uff86\102\uff86\103\111\104\110\120\uff86\122\uff86\001" + "\002\000\100\015\uff87\025\uff87\052\uff87\053\uff87\054\uff87" + "\055\uff87\056\uff87\057\uff87\060\uff87\061\uff87\062\uff87\063" + "\uff87\064\uff87\065\uff87\066\uff87\067\uff87\070\uff87\071\uff87" + "\072\uff87\073\uff87\074\uff87\075\uff87\076\uff87\077\uff87\100" + "\uff87\101\uff87\102\uff87\103\111\104\110\120\uff87\122\uff87" + "\001\002\000\100\015\uff88\025\uff88\052\uff88\053\uff88\054" + "\uff88\055\uff88\056\uff88\057\uff88\060\uff88\061\uff88\062\uff88" + "\063\uff88\064\uff88\065\uff88\066\uff88\067\uff88\070\uff88\071" + "\uff88\072\uff88\073\uff88\074\uff88\075\uff88\076\uff88\077\uff88" + "\100\uff88\101\uff88\102\uff88\103\111\104\110\120\uff88\122" + "\uff88\001\002\000\100\015\uff89\025\uff89\052\uff89\053\uff89" + "\054\uff89\055\uff89\056\uff89\057\uff89\060\uff89\061\uff89\062" + "\uff89\063\uff89\064\uff89\065\uff89\066\uff89\067\uff89\070\uff89" + "\071\uff89\072\uff89\073\uff89\074\uff89\075\uff89\076\uff89\077" + "\uff89\100\uff89\101\uff89\102\uff89\103\111\104\110\120\uff89" + "\122\uff89\001\002\000\074\015\uff8c\025\uff8c\052\uff8c\053" + "\uff8c\054\uff8c\055\uff8c\056\uff8c\057\uff8c\060\uff8c\061\uff8c" + "\062\uff8c\063\uff8c\064\uff8c\065\uff8c\066\uff8c\067\uff8c\070" + "\uff8c\071\uff8c\072\uff8c\073\uff8c\074\uff8c\075\uff8c\076\uff8c" + "\077\137\100\140\101\141\102\142\120\uff8c\122\uff8c\001" + "\002\000\112\015\uff79\025\uff79\052\uff79\053\uff79\054\uff79" + "\055\uff79\056\uff79\057\uff79\060\uff79\061\uff79\062\uff79\063" + "\uff79\064\uff79\065\uff79\066\uff79\067\uff79\070\uff79\071\uff79" + "\072\uff79\073\uff79\074\uff79\075\uff79\076\uff79\077\uff79\100" + "\uff79\101\uff79\102\uff79\103\uff79\104\uff79\105\uff79\106\uff79" + "\107\uff79\110\uff79\111\uff79\120\uff79\122\uff79\001\002\000" + "\112\015\uff75\025\uff75\052\uff75\053\uff75\054\uff75\055\uff75" + "\056\uff75\057\uff75\060\uff75\061\uff75\062\uff75\063\uff75\064" + "\uff75\065\uff75\066\uff75\067\uff75\070\uff75\071\uff75\072\uff75" + "\073\uff75\074\uff75\075\uff75\076\uff75\077\uff75\100\uff75\101" + "\uff75\102\uff75\103\uff75\104\uff75\105\uff75\106\uff75\107\uff75" + "\110\uff75\111\uff75\120\uff75\122\uff75\001\002\000\062\004" + "\031\005\064\006\076\007\056\010\104\030\016\031\014" + "\032\007\041\011\042\025\043\026\044\021\045\013\046" + "\027\051\017\074\103\106\077\111\057\112\054\113\063" + "\114\061\115\055\116\066\117\074\001\002\000\004\120" + "\213\001\002\000\006\052\210\120\211\001\002\000\012" + "\111\156\117\160\120\uffd4\121\163\001\002\000\012\111" + "\156\117\160\120\uffcc\121\163\001\002\000\004\120\uffd5" + "\001\002\000\036\030\016\031\014\032\007\041\011\042" + "\025\043\026\044\021\045\013\046\027\051\017\111\156" + "\117\160\120\uffc4\121\163\001\002\000\004\120\uffd3\001" + "\002\000\010\117\166\120\uffca\121\167\001\002\000\040" + "\004\031\005\064\006\076\007\056\010\104\074\103\106" + "\077\111\057\112\054\113\063\114\061\115\055\116\066" + "\117\074\122\uffa8\001\002\000\004\122\165\001\002\000" + "\010\117\uffc9\120\uffc9\121\uffc9\001\002\000\030\030\016" + "\031\014\032\007\041\011\042\025\043\026\044\021\045" + "\013\046\027\051\017\120\uffc4\001\002\000\040\004\031" + "\005\064\006\076\007\056\010\104\074\103\106\077\111" + "\057\112\054\113\063\114\061\115\055\116\066\117\074" + "\122\uffa8\001\002\000\004\122\171\001\002\000\010\117" + "\uffc8\120\uffc8\121\uffc8\001\002\000\006\052\200\120\uffc3" + "\001\002\000\004\120\177\001\002\000\010\004\031\111" + "\037\117\041\001\002\000\006\052\uffc1\120\uffc1\001\002" + "\000\006\052\uffbf\120\uffbf\001\002\000\010\117\uffc6\120" + "\uffc6\121\uffc6\001\002\000\030\026\202\030\016\031\014" + "\032\007\041\011\042\025\043\026\044\021\045\013\046" + "\027\051\017\001\002\000\006\052\uffc0\120\uffc0\001\002" + "\000\004\120\uffc2\001\002\000\004\120\206\001\002\000" + "\004\120\205\001\002\000\010\117\uffc5\120\uffc5\121\uffc5" + "\001\002\000\010\117\uffc7\120\uffc7\121\uffc7\001\002\000" + "\004\120\uffcb\001\002\000\036\004\031\005\064\006\076" + "\007\056\010\104\074\103\106\077\111\057\112\054\113" + "\063\114\061\115\055\116\066\117\074\001\002\000\126" + "\015\uff68\025\uff68\052\uff68\053\uff68\054\uff68\055\uff68\056" + "\uff68\057\uff68\060\uff68\061\uff68\062\uff68\063\uff68\064\uff68" + "\065\uff68\066\uff68\067\uff68\070\uff68\071\uff68\072\uff68\073" + "\uff68\074\uff68\075\uff68\076\uff68\077\uff68\100\uff68\101\uff68" + "\102\uff68\103\uff68\104\uff68\105\uff68\106\uff68\107\uff68\110" + "\uff68\111\uff68\115\uff68\116\uff68\117\uff68\120\uff68\121\uff68" + "\122\uff68\123\uff68\124\uff68\001\002\000\014\015\uffa6\052" + "\uffa6\067\uffa6\120\uffa6\122\uffa6\001\002\000\036\004\031" + "\005\064\006\076\007\056\010\104\074\103\106\077\111" + "\057\112\054\113\063\114\061\115\055\116\066\117\152" + "\001\002\000\112\015\uff7a\025\uff7a\052\uff7a\053\uff7a\054" + "\uff7a\055\uff7a\056\uff7a\057\uff7a\060\uff7a\061\uff7a\062\uff7a" + "\063\uff7a\064\uff7a\065\uff7a\066\uff7a\067\uff7a\070\uff7a\071" + "\uff7a\072\uff7a\073\uff7a\074\uff7a\075\uff7a\076\uff7a\077\uff7a" + "\100\uff7a\101\uff7a\102\uff7a\103\uff7a\104\uff7a\105\uff7a\106" + "\uff7a\107\uff7a\110\uff7a\111\uff7a\120\uff7a\122\uff7a\001\002" + "\000\036\004\031\005\064\006\076\007\056\010\104\074" + "\103\106\077\111\057\112\054\113\063\114\061\115\055" + "\116\066\117\074\001\002\000\054\015\uff94\025\uff94\052" + "\uff94\053\uff94\054\uff94\055\uff94\056\uff94\057\uff94\060\uff94" + "\061\uff94\062\uff94\063\uff94\064\uff94\065\uff94\066\uff94\067" + "\uff94\070\uff94\071\uff94\072\126\120\uff94\122\uff94\001\002" + "\000\112\015\uff76\025\uff76\052\uff76\053\uff76\054\uff76\055" + "\uff76\056\uff76\057\uff76\060\uff76\061\uff76\062\uff76\063\uff76" + "\064\uff76\065\uff76\066\uff76\067\uff76\070\uff76\071\uff76\072" + "\uff76\073\uff76\074\uff76\075\uff76\076\uff76\077\uff76\100\uff76" + "\101\uff76\102\uff76\103\uff76\104\uff76\105\uff76\106\uff76\107" + "\uff76\110\uff76\111\uff76\120\uff76\122\uff76\001\002\000\036" + "\004\031\005\064\006\076\007\056\010\104\074\103\106" + "\077\111\057\112\054\113\063\114\061\115\055\116\066" + "\117\074\001\002\000\036\004\031\005\064\006\076\007" + "\056\010\104\074\103\106\077\111\057\112\054\113\063" + "\114\061\115\055\116\066\117\074\001\002\000\036\004" + "\031\005\064\006\076\007\056\010\104\074\103\106\077" + "\111\057\112\054\113\063\114\061\115\055\116\066\117" + "\074\001\002\000\036\004\031\005\064\006\076\007\056" + "\010\104\074\103\106\077\111\057\112\054\113\063\114" + "\061\115\055\116\066\117\074\001\002\000\036\004\031" + "\005\064\006\076\007\056\010\104\074\103\106\077\111" + "\057\112\054\113\063\114\061\115\055\116\066\117\074" + "\001\002\000\036\004\031\005\064\006\076\007\056\010" + "\104\074\103\106\077\111\057\112\054\113\063\114\061" + "\115\055\116\066\117\074\001\002\000\036\004\031\005" + "\064\006\076\007\056\010\104\074\103\106\077\111\057" + "\112\054\113\063\114\061\115\055\116\066\117\074\001" + "\002\000\036\004\031\005\064\006\076\007\056\010\104" + "\074\103\106\077\111\057\112\054\113\063\114\061\115" + "\055\116\066\117\074\001\002\000\036\004\031\005\064" + "\006\076\007\056\010\104\074\103\106\077\111\057\112" + "\054\113\063\114\061\115\055\116\066\117\074\001\002" + "\000\036\004\031\005\064\006\076\007\056\010\104\074" + "\103\106\077\111\057\112\054\113\063\114\061\115\055" + "\116\066\117\074\001\002\000\036\004\031\005\064\006" + "\076\007\056\010\104\074\103\106\077\111\057\112\054" + "\113\063\114\061\115\055\116\066\117\074\001\002\000" + "\016\015\uff9e\025\uff9e\052\uff9e\067\uff9e\120\uff9e\122\uff9e" + "\001\002\000\016\015\uff9f\025\uff9f\052\uff9f\067\uff9f\120" + "\uff9f\122\uff9f\001\002\000\016\015\uffa1\025\uffa1\052\uffa1" + "\067\uffa1\120\uffa1\122\uffa1\001\002\000\016\015\uffa4\025" + "\uffa4\052\uffa4\067\uffa4\120\uffa4\122\uffa4\001\002\000\016" + "\015\uff9a\025\uff9a\052\uff9a\067\uff9a\120\uff9a\122\uff9a\001" + "\002\000\016\015\uff9d\025\uff9d\052\uff9d\067\uff9d\120\uff9d" + "\122\uff9d\001\002\000\016\015\uffa3\025\uffa3\052\uffa3\067" + "\uffa3\120\uffa3\122\uffa3\001\002\000\016\015\uff9c\025\uff9c" + "\052\uff9c\067\uff9c\120\uff9c\122\uff9c\001\002\000\016\015" + "\uffa2\025\uffa2\052\uffa2\067\uffa2\120\uffa2\122\uffa2\001\002" + "\000\016\015\uff9b\025\uff9b\052\uff9b\067\uff9b\120\uff9b\122" + "\uff9b\001\002\000\016\015\uffa0\025\uffa0\052\uffa0\067\uffa0" + "\120\uffa0\122\uffa0\001\002\000\112\015\uff72\025\uff72\052" + "\uff72\053\uff72\054\uff72\055\uff72\056\uff72\057\uff72\060\uff72" + "\061\uff72\062\uff72\063\uff72\064\uff72\065\uff72\066\uff72\067" + "\uff72\070\uff72\071\uff72\072\uff72\073\uff72\074\uff72\075\uff72" + "\076\uff72\077\uff72\100\uff72\101\uff72\102\uff72\103\uff72\104" + "\uff72\105\uff72\106\uff72\107\uff72\110\uff72\111\uff72\120\uff72" + "\122\uff72\001\002\000\126\015\uff6d\025\uff6d\052\uff6d\053" + "\uff6d\054\uff6d\055\uff6d\056\uff6d\057\uff6d\060\uff6d\061\uff6d" + "\062\uff6d\063\uff6d\064\uff6d\065\uff6d\066\uff6d\067\uff6d\070" + "\uff6d\071\uff6d\072\uff6d\073\uff6d\074\uff6d\075\uff6d\076\uff6d" + "\077\uff6d\100\uff6d\101\uff6d\102\uff6d\103\uff6d\104\uff6d\105" + "\uff6d\106\uff6d\107\uff6d\110\uff6d\111\uff6d\115\uff6d\116\uff6d" + "\117\uff6d\120\uff6d\121\uff6d\122\uff6d\123\uff6d\124\uff6d\001" + "\002\000\040\004\031\005\064\006\076\007\056\010\104" + "\074\103\106\077\111\057\112\054\113\063\114\061\115" + "\055\116\066\117\074\120\uffa8\001\002\000\126\015\uff6e" + "\025\uff6e\052\uff6e\053\uff6e\054\uff6e\055\uff6e\056\uff6e\057" + "\uff6e\060\uff6e\061\uff6e\062\uff6e\063\uff6e\064\uff6e\065\uff6e" + "\066\uff6e\067\uff6e\070\uff6e\071\uff6e\072\uff6e\073\uff6e\074" + "\uff6e\075\uff6e\076\uff6e\077\uff6e\100\uff6e\101\uff6e\102\uff6e" + "\103\uff6e\104\uff6e\105\uff6e\106\uff6e\107\uff6e\110\uff6e\111" + "\uff6e\115\uff6e\116\uff6e\117\uff6e\120\uff6e\121\uff6e\122\uff6e" + "\123\uff6e\124\uff6e\001\002\000\004\004\031\001\002\000" + "\004\004\031\001\002\000\036\004\031\005\064\006\076" + "\007\056\010\104\074\103\106\077\111\057\112\054\113" + "\063\114\061\115\055\116\066\117\074\001\002\000\006" + "\052\210\122\256\001\002\000\126\015\uff6b\025\uff6b\052" + "\uff6b\053\uff6b\054\uff6b\055\uff6b\056\uff6b\057\uff6b\060\uff6b" + "\061\uff6b\062\uff6b\063\uff6b\064\uff6b\065\uff6b\066\uff6b\067" + "\uff6b\070\uff6b\071\uff6b\072\uff6b\073\uff6b\074\uff6b\075\uff6b" + "\076\uff6b\077\uff6b\100\uff6b\101\uff6b\102\uff6b\103\uff6b\104" + "\uff6b\105\uff6b\106\uff6b\107\uff6b\110\uff6b\111\uff6b\115\uff6b" + "\116\uff6b\117\uff6b\120\uff6b\121\uff6b\122\uff6b\123\uff6b\124" + "\uff6b\001\002\000\126\015\uff69\025\uff69\052\uff69\053\uff69" + "\054\uff69\055\uff69\056\uff69\057\uff69\060\uff69\061\uff69\062" + "\uff69\063\uff69\064\uff69\065\uff69\066\uff69\067\uff69\070\uff69" + "\071\uff69\072\uff69\073\uff69\074\uff69\075\uff69\076\uff69\077" + "\uff69\100\uff69\101\uff69\102\uff69\103\uff69\104\uff69\105\uff69" + "\106\uff69\107\uff69\110\uff69\111\uff69\115\uff69\116\uff69\117" + "\uff69\120\uff69\121\uff69\122\uff69\123\uff69\124\uff69\001\002" + "\000\126\015\uff6a\025\uff6a\052\uff6a\053\uff6a\054\uff6a\055" + "\uff6a\056\uff6a\057\uff6a\060\uff6a\061\uff6a\062\uff6a\063\uff6a" + "\064\uff6a\065\uff6a\066\uff6a\067\uff6a\070\uff6a\071\uff6a\072" + "\uff6a\073\uff6a\074\uff6a\075\uff6a\076\uff6a\077\uff6a\100\uff6a" + "\101\uff6a\102\uff6a\103\uff6a\104\uff6a\105\uff6a\106\uff6a\107" + "\uff6a\110\uff6a\111\uff6a\115\uff6a\116\uff6a\117\uff6a\120\uff6a" + "\121\uff6a\122\uff6a\123\uff6a\124\uff6a\001\002\000\004\120" + "\262\001\002\000\126\015\uff6c\025\uff6c\052\uff6c\053\uff6c" + "\054\uff6c\055\uff6c\056\uff6c\057\uff6c\060\uff6c\061\uff6c\062" + "\uff6c\063\uff6c\064\uff6c\065\uff6c\066\uff6c\067\uff6c\070\uff6c" + "\071\uff6c\072\uff6c\073\uff6c\074\uff6c\075\uff6c\076\uff6c\077" + "\uff6c\100\uff6c\101\uff6c\102\uff6c\103\uff6c\104\uff6c\105\uff6c" + "\106\uff6c\107\uff6c\110\uff6c\111\uff6c\115\uff6c\116\uff6c\117" + "\uff6c\120\uff6c\121\uff6c\122\uff6c\123\uff6c\124\uff6c\001\002" + "\000\112\015\uff78\025\uff78\052\uff78\053\uff78\054\uff78\055" + "\uff78\056\uff78\057\uff78\060\uff78\061\uff78\062\uff78\063\uff78" + "\064\uff78\065\uff78\066\uff78\067\uff78\070\uff78\071\uff78\072" + "\uff78\073\uff78\074\uff78\075\uff78\076\uff78\077\uff78\100\uff78" + "\101\uff78\102\uff78\103\uff78\104\uff78\105\uff78\106\uff78\107" + "\uff78\110\uff78\111\uff78\120\uff78\122\uff78\001\002\000\036" + "\004\031\005\064\006\076\007\056\010\104\074\103\106" + "\077\111\057\112\054\113\063\114\061\115\055\116\066" + "\117\074\001\002\000\036\004\031\005\064\006\076\007" + "\056\010\104\074\103\106\077\111\057\112\054\113\063" + "\114\061\115\055\116\066\117\074\001\002\000\052\015" + "\uff96\025\uff96\052\uff96\053\uff96\054\uff96\055\uff96\056\uff96" + "\057\uff96\060\uff96\061\uff96\062\uff96\063\uff96\064\uff96\065" + "\uff96\066\uff96\067\uff96\070\uff96\071\215\120\uff96\122\uff96" + "\001\002\000\006\052\210\067\270\001\002\000\036\004" + "\031\005\064\006\076\007\056\010\104\074\103\106\077" + "\111\057\112\054\113\063\114\061\115\055\116\066\117" + "\074\001\002\000\044\015\uff98\025\uff98\052\uff98\053\uff98" + "\054\uff98\055\uff98\056\uff98\057\uff98\060\uff98\061\uff98\062" + "\uff98\063\uff98\064\uff98\065\uff98\067\uff98\120\uff98\122\uff98" + "\001\002\000\112\015\uff77\025\uff77\052\uff77\053\uff77\054" + "\uff77\055\uff77\056\uff77\057\uff77\060\uff77\061\uff77\062\uff77" + "\063\uff77\064\uff77\065\uff77\066\uff77\067\uff77\070\uff77\071" + "\uff77\072\uff77\073\uff77\074\uff77\075\uff77\076\uff77\077\uff77" + "\100\uff77\101\uff77\102\uff77\103\uff77\104\uff77\105\uff77\106" + "\uff77\107\uff77\110\uff77\111\uff77\120\uff77\122\uff77\001\002" + "\000\020\015\uffd0\024\uffd0\052\uffd0\053\uffd0\117\uffd0\120" + "\uffd0\121\uffd0\001\002\000\112\015\uff74\025\uff74\052\uff74" + "\053\uff74\054\uff74\055\uff74\056\uff74\057\uff74\060\uff74\061" + "\uff74\062\uff74\063\uff74\064\uff74\065\uff74\066\uff74\067\uff74" + "\070\uff74\071\uff74\072\uff74\073\uff74\074\uff74\075\uff74\076" + "\uff74\077\uff74\100\uff74\101\uff74\102\uff74\103\uff74\104\uff74" + "\105\uff74\106\uff74\107\uff74\110\uff74\111\uff74\120\uff74\122" + "\uff74\001\002\000\112\015\uff73\025\uff73\052\uff73\053\uff73" + "\054\uff73\055\uff73\056\uff73\057\uff73\060\uff73\061\uff73\062" + "\uff73\063\uff73\064\uff73\065\uff73\066\uff73\067\uff73\070\uff73" + "\071\uff73\072\uff73\073\uff73\074\uff73\075\uff73\076\uff73\077" + "\uff73\100\uff73\101\uff73\102\uff73\103\uff73\104\uff73\105\uff73" + "\106\uff73\107\uff73\110\uff73\111\uff73\120\uff73\122\uff73\001" + "\002\000\062\004\031\005\064\006\076\007\056\010\104" + "\030\016\031\014\032\007\041\011\042\025\043\026\044" + "\021\045\013\046\027\051\017\074\103\106\077\111\057" + "\112\054\113\063\114\061\115\055\116\066\117\074\001" + "\002\000\112\015\uff70\025\uff70\052\uff70\053\uff70\054\uff70" + "\055\uff70\056\uff70\057\uff70\060\uff70\061\uff70\062\uff70\063" + "\uff70\064\uff70\065\uff70\066\uff70\067\uff70\070\uff70\071\uff70" + "\072\uff70\073\uff70\074\uff70\075\uff70\076\uff70\077\uff70\100" + "\uff70\101\uff70\102\uff70\103\uff70\104\uff70\105\uff70\106\uff70" + "\107\uff70\110\uff70\111\uff70\120\uff70\122\uff70\001\002\000" + "\004\120\301\001\002\000\112\015\uff71\025\uff71\052\uff71" + "\053\uff71\054\uff71\055\uff71\056\uff71\057\uff71\060\uff71\061" + "\uff71\062\uff71\063\uff71\064\uff71\065\uff71\066\uff71\067\uff71" + "\070\uff71\071\uff71\072\uff71\073\uff71\074\uff71\075\uff71\076" + "\uff71\077\uff71\100\uff71\101\uff71\102\uff71\103\uff71\104\uff71" + "\105\uff71\106\uff71\107\uff71\110\uff71\111\uff71\120\uff71\122" + "\uff71\001\002\000\004\120\303\001\002\000\020\015\uffcf" + "\024\uffcf\052\uffcf\053\uffcf\117\uffcf\120\uffcf\121\uffcf\001" + "\002\000\004\120\305\001\002\000\020\015\uffce\024\uffce" + "\052\uffce\053\uffce\117\uffce\120\uffce\121\uffce\001\002\000" + "\014\015\uffd2\024\uffd2\052\uffd2\053\uffd2\120\uffd2\001\002" + "\000\020\004\uffe6\015\uffe6\024\310\111\uffe6\117\uffe6\120" + "\uffe6\121\uffe6\001\002\000\030\025\ufff9\030\ufff9\031\ufff9" + "\032\ufff9\041\ufff9\042\ufff9\043\ufff9\044\ufff9\045\ufff9\046" + "\ufff9\051\ufff9\001\002\000\030\025\312\030\016\031\014" + "\032\007\041\011\042\025\043\026\044\021\045\013\046" + "\027\051\017\001\002\000\016\004\uffe7\015\uffe7\111\uffe7" + "\117\uffe7\120\uffe7\121\uffe7\001\002\000\006\015\u011d\052" + "\u011c\001\002\000\006\015\uffe3\052\uffe3\001\002\000\012" + "\015\uffdd\024\317\052\uffdd\053\321\001\002\000\120\002" + "\ufff7\004\ufff7\005\ufff7\006\ufff7\007\ufff7\010\ufff7\011\ufff7" + "\013\ufff7\014\ufff7\015\ufff7\016\ufff7\017\ufff7\020\ufff7\021" + "\ufff7\022\ufff7\023\ufff7\024\ufff7\025\ufff7\027\ufff7\030\ufff7" + "\031\ufff7\032\ufff7\033\ufff7\041\ufff7\042\ufff7\043\ufff7\044" + "\ufff7\045\ufff7\046\ufff7\051\ufff7\074\ufff7\106\ufff7\111\ufff7" + "\112\ufff7\113\ufff7\114\ufff7\115\ufff7\116\ufff7\117\ufff7\001" + "\002\000\120\003\332\004\uffbe\005\uffbe\006\uffbe\007\uffbe" + "\010\uffbe\011\uffbe\013\uffbe\014\uffbe\015\uffbe\016\uffbe\017" + "\uffbe\020\uffbe\021\uffbe\022\uffbe\023\uffbe\024\uffbe\025\uffbe" + "\027\uffbe\030\uffbe\031\uffbe\032\uffbe\033\uffbe\041\uffbe\042" + "\uffbe\043\uffbe\044\uffbe\045\uffbe\046\uffbe\051\uffbe\074\uffbe" + "\106\uffbe\111\uffbe\112\uffbe\113\uffbe\114\uffbe\115\uffbe\116" + "\uffbe\117\uffbe\001\002\000\030\002\ufffa\030\ufffa\031\ufffa" + "\032\ufffa\041\ufffa\042\ufffa\043\ufffa\044\ufffa\045\ufffa\046" + "\ufffa\051\ufffa\001\002\000\040\004\031\005\064\006\076" + "\007\056\010\104\024\324\074\103\106\077\111\057\112" + "\054\113\063\114\061\115\055\116\066\117\074\001\002" + "\000\010\015\uffd9\025\uffd9\052\uffd9\001\002\000\006\015" + "\uffdc\052\uffdc\001\002\000\040\004\031\005\064\006\076" + "\007\056\010\104\024\324\074\103\106\077\111\057\112" + "\054\113\063\114\061\115\055\116\066\117\074\001\002" + "\000\006\025\330\052\327\001\002\000\006\025\uffd7\052" + "\uffd7\001\002\000\040\004\031\005\064\006\076\007\056" + "\010\104\024\324\074\103\106\077\111\057\112\054\113" + "\063\114\061\115\055\116\066\117\074\001\002\000\010" + "\015\uffd8\025\uffd8\052\uffd8\001\002\000\006\025\uffd6\052" + "\uffd6\001\002\000\006\015\u011a\025\u011b\001\002\000\116" + "\004\031\005\064\006\076\007\056\010\104\011\341\013" + "\351\014\356\015\340\016\345\017\335\020\336\021\346" + "\022\334\023\353\024\317\025\344\027\342\030\016\031" + "\014\032\007\033\350\041\011\042\025\043\026\044\021" + "\045\013\046\027\051\017\074\103\106\077\111\057\112" + "\054\113\063\114\061\115\055\116\066\117\074\001\002" + "\000\036\004\031\005\064\006\076\007\056\010\104\074" + "\103\106\077\111\057\112\054\113\063\114\061\115\055" + "\116\066\117\074\001\002\000\004\015\u0116\001\002\000" + "\004\117\u010e\001\002\000\120\015\uff67\052\uff67\053\uff67" + "\054\uff67\055\uff67\056\uff67\057\uff67\060\uff67\061\uff67\062" + "\uff67\063\uff67\064\uff67\065\uff67\066\uff67\067\u010c\070\uff67" + "\071\uff67\072\uff67\073\uff67\074\uff67\075\uff67\076\uff67\077" + "\uff67\100\uff67\101\uff67\102\uff67\103\uff67\104\uff67\105\uff67" + "\106\uff67\107\uff67\110\uff67\111\uff67\115\uff67\116\uff67\117" + "\uff67\121\uff67\123\uff67\124\uff67\001\002\000\120\004\uffaa" + "\005\uffaa\006\uffaa\007\uffaa\010\uffaa\011\uffaa\012\uffaa\013" + "\uffaa\014\uffaa\015\uffaa\016\uffaa\017\uffaa\020\uffaa\021\uffaa" + "\022\uffaa\023\uffaa\024\uffaa\025\uffaa\027\uffaa\030\uffaa\031" + "\uffaa\032\uffaa\033\uffaa\041\uffaa\042\uffaa\043\uffaa\044\uffaa" + "\045\uffaa\046\uffaa\051\uffaa\074\uffaa\106\uffaa\111\uffaa\112" + "\uffaa\113\uffaa\114\uffaa\115\uffaa\116\uffaa\117\uffaa\001\002" + "\000\004\117\u0106\001\002\000\040\004\031\005\064\006" + "\076\007\056\010\104\015\uffa8\074\103\106\077\111\057" + "\112\054\113\063\114\061\115\055\116\066\117\074\001" + "\002\000\120\004\uffb5\005\uffb5\006\uffb5\007\uffb5\010\uffb5" + "\011\uffb5\012\uffb5\013\uffb5\014\uffb5\015\uffb5\016\uffb5\017" + "\uffb5\020\uffb5\021\uffb5\022\uffb5\023\uffb5\024\uffb5\025\uffb5" + "\027\uffb5\030\uffb5\031\uffb5\032\uffb5\033\uffb5\041\uffb5\042" + "\uffb5\043\uffb5\044\uffb5\045\uffb5\046\uffb5\051\uffb5\074\uffb5" + "\106\uffb5\111\uffb5\112\uffb5\113\uffb5\114\uffb5\115\uffb5\116" + "\uffb5\117\uffb5\001\002\000\122\002\uffa9\004\uffa9\005\uffa9" + "\006\uffa9\007\uffa9\010\uffa9\011\uffa9\012\uffa9\013\uffa9\014" + "\uffa9\015\uffa9\016\uffa9\017\uffa9\020\uffa9\021\uffa9\022\uffa9" + "\023\uffa9\024\uffa9\025\uffa9\027\uffa9\030\uffa9\031\uffa9\032" + "\uffa9\033\uffa9\041\uffa9\042\uffa9\043\uffa9\044\uffa9\045\uffa9" + "\046\uffa9\051\uffa9\074\uffa9\106\uffa9\111\uffa9\112\uffa9\113" + "\uffa9\114\uffa9\115\uffa9\116\uffa9\117\uffa9\001\002\000\004" + "\015\u0103\001\002\000\004\117\377\001\002\000\006\015" + "\376\052\210\001\002\000\004\004\031\001\002\000\004" + "\117\370\001\002\000\116\004\uffbc\005\uffbc\006\uffbc\007" + "\uffbc\010\uffbc\011\uffbc\013\uffbc\014\uffbc\015\uffbc\016\uffbc" + "\017\uffbc\020\uffbc\021\uffbc\022\uffbc\023\uffbc\024\uffbc\025" + "\uffbc\027\uffbc\030\uffbc\031\uffbc\032\uffbc\033\uffbc\041\uffbc" + "\042\uffbc\043\uffbc\044\uffbc\045\uffbc\046\uffbc\051\uffbc\074" + "\uffbc\106\uffbc\111\uffbc\112\uffbc\113\uffbc\114\uffbc\115\uffbc" + "\116\uffbc\117\uffbc\001\002\000\004\067\366\001\002\000" + "\116\004\uffbd\005\uffbd\006\uffbd\007\uffbd\010\uffbd\011\uffbd" + "\013\uffbd\014\uffbd\015\uffbd\016\uffbd\017\uffbd\020\uffbd\021" + "\uffbd\022\uffbd\023\uffbd\024\uffbd\025\uffbd\027\uffbd\030\uffbd" + "\031\uffbd\032\uffbd\033\uffbd\041\uffbd\042\uffbd\043\uffbd\044" + "\uffbd\045\uffbd\046\uffbd\051\uffbd\074\uffbd\106\uffbd\111\uffbd" + "\112\uffbd\113\uffbd\114\uffbd\115\uffbd\116\uffbd\117\uffbd\001" + "\002\000\012\004\031\015\316\111\037\117\041\001\002" + "\000\070\004\031\005\064\006\076\007\056\010\104\011" + "\341\013\351\014\356\015\340\016\345\017\335\020\336" + "\021\346\022\334\023\353\024\317\027\342\033\350\074" + "\103\106\077\111\057\112\054\113\063\114\061\115\055" + "\116\066\117\074\001\002\000\004\013\360\001\002\000" + "\004\117\361\001\002\000\036\004\031\005\064\006\076" + "\007\056\010\104\074\103\106\077\111\057\112\054\113" + "\063\114\061\115\055\116\066\117\074\001\002\000\006" + "\052\210\120\363\001\002\000\004\015\364\001\002\000" + "\120\004\uffb0\005\uffb0\006\uffb0\007\uffb0\010\uffb0\011\uffb0" + "\012\uffb0\013\uffb0\014\uffb0\015\uffb0\016\uffb0\017\uffb0\020" + "\uffb0\021\uffb0\022\uffb0\023\uffb0\024\uffb0\025\uffb0\027\uffb0" + "\030\uffb0\031\uffb0\032\uffb0\033\uffb0\041\uffb0\042\uffb0\043" + "\uffb0\044\uffb0\045\uffb0\046\uffb0\051\uffb0\074\uffb0\106\uffb0" + "\111\uffb0\112\uffb0\113\uffb0\114\uffb0\115\uffb0\116\uffb0\117" + "\uffb0\001\002\000\010\015\uffdd\052\uffdd\053\321\001\002" + "\000\070\004\031\005\064\006\076\007\056\010\104\011" + "\341\013\351\014\356\015\340\016\345\017\335\020\336" + "\021\346\022\334\023\353\024\317\027\342\033\350\074" + "\103\106\077\111\057\112\054\113\063\114\061\115\055" + "\116\066\117\074\001\002\000\120\004\uffb8\005\uffb8\006" + "\uffb8\007\uffb8\010\uffb8\011\uffb8\012\uffb8\013\uffb8\014\uffb8" + "\015\uffb8\016\uffb8\017\uffb8\020\uffb8\021\uffb8\022\uffb8\023" + "\uffb8\024\uffb8\025\uffb8\027\uffb8\030\uffb8\031\uffb8\032\uffb8" + "\033\uffb8\041\uffb8\042\uffb8\043\uffb8\044\uffb8\045\uffb8\046" + "\uffb8\051\uffb8\074\uffb8\106\uffb8\111\uffb8\112\uffb8\113\uffb8" + "\114\uffb8\115\uffb8\116\uffb8\117\uffb8\001\002\000\036\004" + "\031\005\064\006\076\007\056\010\104\074\103\106\077" + "\111\057\112\054\113\063\114\061\115\055\116\066\117" + "\074\001\002\000\006\052\210\120\372\001\002\000\070" + "\004\031\005\064\006\076\007\056\010\104\011\341\013" + "\351\014\356\015\340\016\345\017\335\020\336\021\346" + "\022\334\023\353\024\317\027\342\033\350\074\103\106" + "\077\111\057\112\054\113\063\114\061\115\055\116\066" + "\117\074\001\002\000\120\004\uffb1\005\uffb1\006\uffb1\007" + "\uffb1\010\uffb1\011\uffb1\012\uffb1\013\uffb1\014\uffb1\015\uffb1" + "\016\uffb1\017\uffb1\020\uffb1\021\uffb1\022\uffb1\023\uffb1\024" + "\uffb1\025\uffb1\027\uffb1\030\uffb1\031\uffb1\032\uffb1\033\uffb1" + "\041\uffb1\042\uffb1\043\uffb1\044\uffb1\045\uffb1\046\uffb1\051" + "\uffb1\074\uffb1\106\uffb1\111\uffb1\112\uffb1\113\uffb1\114\uffb1" + "\115\uffb1\116\uffb1\117\uffb1\001\002\000\004\015\375\001" + "\002\000\120\004\uffae\005\uffae\006\uffae\007\uffae\010\uffae" + "\011\uffae\012\uffae\013\uffae\014\uffae\015\uffae\016\uffae\017" + "\uffae\020\uffae\021\uffae\022\uffae\023\uffae\024\uffae\025\uffae" + "\027\uffae\030\uffae\031\uffae\032\uffae\033\uffae\041\uffae\042" + "\uffae\043\uffae\044\uffae\045\uffae\046\uffae\051\uffae\074\uffae" + "\106\uffae\111\uffae\112\uffae\113\uffae\114\uffae\115\uffae\116" + "\uffae\117\uffae\001\002\000\120\004\uffb6\005\uffb6\006\uffb6" + "\007\uffb6\010\uffb6\011\uffb6\012\uffb6\013\uffb6\014\uffb6\015" + "\uffb6\016\uffb6\017\uffb6\020\uffb6\021\uffb6\022\uffb6\023\uffb6" + "\024\uffb6\025\uffb6\027\uffb6\030\uffb6\031\uffb6\032\uffb6\033" + "\uffb6\041\uffb6\042\uffb6\043\uffb6\044\uffb6\045\uffb6\046\uffb6" + "\051\uffb6\074\uffb6\106\uffb6\111\uffb6\112\uffb6\113\uffb6\114" + "\uffb6\115\uffb6\116\uffb6\117\uffb6\001\002\000\036\004\031" + "\005\064\006\076\007\056\010\104\074\103\106\077\111" + "\057\112\054\113\063\114\061\115\055\116\066\117\074" + "\001\002\000\006\052\210\120\u0101\001\002\000\004\024" + "\317\001\002\000\120\004\uffb2\005\uffb2\006\uffb2\007\uffb2" + "\010\uffb2\011\uffb2\012\uffb2\013\uffb2\014\uffb2\015\uffb2\016" + "\uffb2\017\uffb2\020\uffb2\021\uffb2\022\uffb2\023\uffb2\024\uffb2" + "\025\uffb2\027\uffb2\030\uffb2\031\uffb2\032\uffb2\033\uffb2\041" + "\uffb2\042\uffb2\043\uffb2\044\uffb2\045\uffb2\046\uffb2\051\uffb2" + "\074\uffb2\106\uffb2\111\uffb2\112\uffb2\113\uffb2\114\uffb2\115" + "\uffb2\116\uffb2\117\uffb2\001\002\000\120\004\uffad\005\uffad" + "\006\uffad\007\uffad\010\uffad\011\uffad\012\uffad\013\uffad\014" + "\uffad\015\uffad\016\uffad\017\uffad\020\uffad\021\uffad\022\uffad" + "\023\uffad\024\uffad\025\uffad\027\uffad\030\uffad\031\uffad\032" + "\uffad\033\uffad\041\uffad\042\uffad\043\uffad\044\uffad\045\uffad" + "\046\uffad\051\uffad\074\uffad\106\uffad\111\uffad\112\uffad\113" + "\uffad\114\uffad\115\uffad\116\uffad\117\uffad\001\002\000\004" + "\015\u0105\001\002\000\120\004\uffab\005\uffab\006\uffab\007" + "\uffab\010\uffab\011\uffab\012\uffab\013\uffab\014\uffab\015\uffab" + "\016\uffab\017\uffab\020\uffab\021\uffab\022\uffab\023\uffab\024" + "\uffab\025\uffab\027\uffab\030\uffab\031\uffab\032\uffab\033\uffab" + "\041\uffab\042\uffab\043\uffab\044\uffab\045\uffab\046\uffab\051" + "\uffab\074\uffab\106\uffab\111\uffab\112\uffab\113\uffab\114\uffab" + "\115\uffab\116\uffab\117\uffab\001\002\000\036\004\031\005" + "\064\006\076\007\056\010\104\074\103\106\077\111\057" + "\112\054\113\063\114\061\115\055\116\066\117\074\001" + "\002\000\006\052\210\120\u0108\001\002\000\070\004\031" + "\005\064\006\076\007\056\010\104\011\341\013\351\014" + "\356\015\340\016\345\017\335\020\336\021\346\022\334" + "\023\353\024\317\027\342\033\350\074\103\106\077\111" + "\057\112\054\113\063\114\061\115\055\116\066\117\074" + "\001\002\000\120\004\uffb3\005\uffb3\006\uffb3\007\uffb3\010" + "\uffb3\011\uffb3\012\u010a\013\uffb3\014\uffb3\015\uffb3\016\uffb3" + "\017\uffb3\020\uffb3\021\uffb3\022\uffb3\023\uffb3\024\uffb3\025" + "\uffb3\027\uffb3\030\uffb3\031\uffb3\032\uffb3\033\uffb3\041\uffb3" + "\042\uffb3\043\uffb3\044\uffb3\045\uffb3\046\uffb3\051\uffb3\074" + "\uffb3\106\uffb3\111\uffb3\112\uffb3\113\uffb3\114\uffb3\115\uffb3" + "\116\uffb3\117\uffb3\001\002\000\070\004\031\005\064\006" + "\076\007\056\010\104\011\341\013\351\014\356\015\340" + "\016\345\017\335\020\336\021\346\022\334\023\353\024" + "\317\027\342\033\350\074\103\106\077\111\057\112\054" + "\113\063\114\061\115\055\116\066\117\074\001\002\000" + "\120\004\uffb4\005\uffb4\006\uffb4\007\uffb4\010\uffb4\011\uffb4" + "\012\uffb4\013\uffb4\014\uffb4\015\uffb4\016\uffb4\017\uffb4\020" + "\uffb4\021\uffb4\022\uffb4\023\uffb4\024\uffb4\025\uffb4\027\uffb4" + "\030\uffb4\031\uffb4\032\uffb4\033\uffb4\041\uffb4\042\uffb4\043" + "\uffb4\044\uffb4\045\uffb4\046\uffb4\051\uffb4\074\uffb4\106\uffb4" + "\111\uffb4\112\uffb4\113\uffb4\114\uffb4\115\uffb4\116\uffb4\117" + "\uffb4\001\002\000\070\004\031\005\064\006\076\007\056" + "\010\104\011\341\013\351\014\356\015\340\016\345\017" + "\335\020\336\021\346\022\334\023\353\024\317\027\342" + "\033\350\074\103\106\077\111\057\112\054\113\063\114" + "\061\115\055\116\066\117\074\001\002\000\120\004\uffb7" + "\005\uffb7\006\uffb7\007\uffb7\010\uffb7\011\uffb7\012\uffb7\013" + "\uffb7\014\uffb7\015\uffb7\016\uffb7\017\uffb7\020\uffb7\021\uffb7" + "\022\uffb7\023\uffb7\024\uffb7\025\uffb7\027\uffb7\030\uffb7\031" + "\uffb7\032\uffb7\033\uffb7\041\uffb7\042\uffb7\043\uffb7\044\uffb7" + "\045\uffb7\046\uffb7\051\uffb7\074\uffb7\106\uffb7\111\uffb7\112" + "\uffb7\113\uffb7\114\uffb7\115\uffb7\116\uffb7\117\uffb7\001\002" + "\000\040\004\031\005\064\006\076\007\056\010\104\015" + "\uffa8\074\103\106\077\111\057\112\054\113\063\114\061" + "\115\055\116\066\117\074\001\002\000\004\015\u0110\001" + "\002\000\040\004\031\005\064\006\076\007\056\010\104" + "\015\uffa8\074\103\106\077\111\057\112\054\113\063\114" + "\061\115\055\116\066\117\074\001\002\000\004\015\u0112" + "\001\002\000\040\004\031\005\064\006\076\007\056\010" + "\104\074\103\106\077\111\057\112\054\113\063\114\061" + "\115\055\116\066\117\074\120\uffa8\001\002\000\004\120" + "\u0114\001\002\000\070\004\031\005\064\006\076\007\056" + "\010\104\011\341\013\351\014\356\015\340\016\345\017" + "\335\020\336\021\346\022\334\023\353\024\317\027\342" + "\033\350\074\103\106\077\111\057\112\054\113\063\114" + "\061\115\055\116\066\117\074\001\002\000\120\004\uffaf" + "\005\uffaf\006\uffaf\007\uffaf\010\uffaf\011\uffaf\012\uffaf\013" + "\uffaf\014\uffaf\015\uffaf\016\uffaf\017\uffaf\020\uffaf\021\uffaf" + "\022\uffaf\023\uffaf\024\uffaf\025\uffaf\027\uffaf\030\uffaf\031" + "\uffaf\032\uffaf\033\uffaf\041\uffaf\042\uffaf\043\uffaf\044\uffaf" + "\045\uffaf\046\uffaf\051\uffaf\074\uffaf\106\uffaf\111\uffaf\112" + "\uffaf\113\uffaf\114\uffaf\115\uffaf\116\uffaf\117\uffaf\001\002" + "\000\120\004\uffac\005\uffac\006\uffac\007\uffac\010\uffac\011" + "\uffac\012\uffac\013\uffac\014\uffac\015\uffac\016\uffac\017\uffac" + "\020\uffac\021\uffac\022\uffac\023\uffac\024\uffac\025\uffac\027" + "\uffac\030\uffac\031\uffac\032\uffac\033\uffac\041\uffac\042\uffac" + "\043\uffac\044\uffac\045\uffac\046\uffac\051\uffac\074\uffac\106" + "\uffac\111\uffac\112\uffac\113\uffac\114\uffac\115\uffac\116\uffac" + "\117\uffac\001\002\000\004\067\u0118\001\002\000\070\004" + "\031\005\064\006\076\007\056\010\104\011\341\013\351" + "\014\356\015\340\016\345\017\335\020\336\021\346\022" + "\334\023\353\024\317\027\342\033\350\074\103\106\077" + "\111\057\112\054\113\063\114\061\115\055\116\066\117" + "\074\001\002\000\120\004\uffb9\005\uffb9\006\uffb9\007\uffb9" + "\010\uffb9\011\uffb9\012\uffb9\013\uffb9\014\uffb9\015\uffb9\016" + "\uffb9\017\uffb9\020\uffb9\021\uffb9\022\uffb9\023\uffb9\024\uffb9" + "\025\uffb9\027\uffb9\030\uffb9\031\uffb9\032\uffb9\033\uffb9\041" + "\uffb9\042\uffb9\043\uffb9\044\uffb9\045\uffb9\046\uffb9\051\uffb9" + "\074\uffb9\106\uffb9\111\uffb9\112\uffb9\113\uffb9\114\uffb9\115" + "\uffb9\116\uffb9\117\uffb9\001\002\000\116\004\uffbb\005\uffbb" + "\006\uffbb\007\uffbb\010\uffbb\011\uffbb\013\uffbb\014\uffbb\015" + "\uffbb\016\uffbb\017\uffbb\020\uffbb\021\uffbb\022\uffbb\023\uffbb" + "\024\uffbb\025\uffbb\027\uffbb\030\uffbb\031\uffbb\032\uffbb\033" + "\uffbb\041\uffbb\042\uffbb\043\uffbb\044\uffbb\045\uffbb\046\uffbb" + "\051\uffbb\074\uffbb\106\uffbb\111\uffbb\112\uffbb\113\uffbb\114" + "\uffbb\115\uffbb\116\uffbb\117\uffbb\001\002\000\116\004\uffba" + "\005\uffba\006\uffba\007\uffba\010\uffba\011\uffba\013\uffba\014" + "\uffba\015\uffba\016\uffba\017\uffba\020\uffba\021\uffba\022\uffba" + "\023\uffba\024\uffba\025\uffba\027\uffba\030\uffba\031\uffba\032" + "\uffba\033\uffba\041\uffba\042\uffba\043\uffba\044\uffba\045\uffba" + "\046\uffba\051\uffba\074\uffba\106\uffba\111\uffba\112\uffba\113" + "\uffba\114\uffba\115\uffba\116\uffba\117\uffba\001\002\000\010" + "\004\031\111\037\117\041\001\002\000\120\002\ufff6\004" + "\ufff6\005\ufff6\006\ufff6\007\ufff6\010\ufff6\011\ufff6\013\ufff6" + "\014\ufff6\015\ufff6\016\ufff6\017\ufff6\020\ufff6\021\ufff6\022" + "\ufff6\023\ufff6\024\ufff6\025\ufff6\027\ufff6\030\ufff6\031\ufff6" + "\032\ufff6\033\ufff6\041\ufff6\042\ufff6\043\ufff6\044\ufff6\045" + "\ufff6\046\ufff6\051\ufff6\074\ufff6\106\ufff6\111\ufff6\112\ufff6" + "\113\ufff6\114\ufff6\115\ufff6\116\ufff6\117\ufff6\001\002\000" + "\006\015\uffe2\052\uffe2\001\002\000\020\004\uffe4\015\uffe4" + "\024\u0120\111\uffe4\117\uffe4\120\uffe4\121\uffe4\001\002\000" + "\004\004\031\001\002\000\010\025\uffdb\052\uffdb\053\u0127" + "\001\002\000\006\025\uffdf\052\uffdf\001\002\000\006\025" + "\u0125\052\u0124\001\002\000\004\004\031\001\002\000\016" + "\004\uffe5\015\uffe5\111\uffe5\117\uffe5\120\uffe5\121\uffe5\001" + "\002\000\006\025\uffde\052\uffde\001\002\000\036\004\031" + "\005\064\006\076\007\056\010\104\074\103\106\077\111" + "\057\112\054\113\063\114\061\115\055\116\066\117\074" + "\001\002\000\006\025\uffda\052\uffda\001\002\000\030\002" + "\ufffd\030\ufffd\031\ufffd\032\ufffd\041\ufffd\042\ufffd\043\ufffd" + "\044\ufffd\045\ufffd\046\ufffd\051\ufffd\001\002\000\030\002" + "\ufffc\030\ufffc\031\ufffc\032\ufffc\041\ufffc\042\ufffc\043\ufffc" + "\044\ufffc\045\ufffc\046\ufffc\051\ufffc\001\002\000\004\002" + "\001\001\002" }); /** Access to parse-action table. */ public short[][] action_table() {return _action_table;} /** reduce_goto table. */ protected static final short[][] _reduce_table = unpackFromStrings(new String[] { "\000\u0129\000\006\003\003\004\005\001\001\000\002\001" + "\001\000\002\001\001\000\020\005\021\007\011\011\007" + "\012\014\013\022\014\017\015\023\001\001\000\004\062" + "\u011e\001\001\000\014\016\312\021\313\027\314\030\041" + "\062\037\001\001\000\002\001\001\000\002\001\001\000" + "\002\001\001\000\004\062\306\001\001\000\002\001\001" + "\000\004\062\027\001\001\000\002\001\001\000\002\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + "\002\001\001\000\002\001\001\000\002\001\001\000\004" + "\006\032\001\001\000\016\010\034\011\033\012\014\013" + "\022\014\017\015\023\001\001\000\012\017\043\027\042" + "\030\041\062\037\001\001\000\002\001\001\000\002\001" + "\001\000\010\027\305\030\041\062\037\001\001\000\002" + "\001\001\000\010\027\303\030\041\062\037\001\001\000" + "\002\001\001\000\002\001\001\000\002\001\001\000\010" + "\027\046\030\041\062\037\001\001\000\002\001\001\000" + "\002\001\001\000\022\011\173\012\014\013\022\014\017" + "\015\023\033\301\034\171\035\174\001\001\000\044\041" + "\057\042\066\043\067\044\071\045\061\046\101\047\105" + "\050\072\051\077\052\104\053\052\054\106\055\074\056" + "\070\060\051\061\064\062\100\001\001\000\002\001\001" + "\000\002\001\001\000\010\060\276\061\064\062\100\001" + "\001\000\012\057\274\060\147\061\064\062\100\001\001" + "\000\002\001\001\000\012\057\273\060\147\061\064\062" + "\100\001\001\000\002\001\001\000\012\057\271\060\147" + "\061\064\062\100\001\001\000\002\001\001\000\012\057" + "\262\060\147\061\064\062\100\001\001\000\002\001\001" + "\000\002\001\001\000\012\057\245\060\147\061\064\062" + "\100\001\001\000\002\001\001\000\002\001\001\000\002" + "\001\001\000\002\001\001\000\002\001\001\000\042\042" + "\153\043\067\044\071\045\061\046\101\047\105\050\072" + "\051\077\052\104\053\052\054\106\055\074\056\070\060" + "\051\061\064\062\100\001\001\000\002\001\001\000\002" + "\001\001\000\012\057\216\060\147\061\064\062\100\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + "\000\012\057\150\060\147\061\064\062\100\001\001\000" + "\002\001\001\000\002\001\001\000\002\001\001\000\002" + "\001\001\000\014\055\124\056\070\060\051\061\064\062" + "\100\001\001\000\014\055\111\056\070\060\051\061\064" + "\062\100\001\001\000\002\001\001\000\012\056\123\060" + "\051\061\064\062\100\001\001\000\012\056\114\060\051" + "\061\064\062\100\001\001\000\002\001\001\000\010\060" + "\122\061\064\062\100\001\001\000\010\060\121\061\064" + "\062\100\001\001\000\010\060\120\061\064\062\100\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + "\000\002\001\001\000\002\001\001\000\026\050\126\051" + "\077\052\104\053\052\054\106\055\074\056\070\060\051" + "\061\064\062\100\001\001\000\002\001\001\000\024\051" + "\130\052\104\053\052\054\106\055\074\056\070\060\051" + "\061\064\062\100\001\001\000\002\001\001\000\022\052" + "\132\053\052\054\106\055\074\056\070\060\051\061\064" + "\062\100\001\001\000\002\001\001\000\020\053\146\054" + "\106\055\074\056\070\060\051\061\064\062\100\001\001" + "\000\020\053\135\054\106\055\074\056\070\060\051\061" + "\064\062\100\001\001\000\002\001\001\000\016\054\145" + "\055\074\056\070\060\051\061\064\062\100\001\001\000" + "\016\054\144\055\074\056\070\060\051\061\064\062\100" + "\001\001\000\016\054\143\055\074\056\070\060\051\061" + "\064\062\100\001\001\000\016\054\142\055\074\056\070" + "\060\051\061\064\062\100\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\056\011" + "\154\012\014\013\022\014\017\015\023\025\152\042\153" + "\043\067\044\071\045\061\046\101\047\105\050\072\051" + "\077\052\104\053\052\054\106\055\074\056\070\060\051" + "\061\064\062\100\001\001\000\002\001\001\000\002\001" + "\001\000\010\026\156\031\160\032\161\001\001\000\006" + "\031\206\032\161\001\001\000\002\001\001\000\026\011" + "\173\012\014\013\022\014\017\015\023\031\203\032\161" + "\033\202\034\171\035\174\001\001\000\002\001\001\000" + "\002\001\001\000\044\041\163\042\066\043\067\044\071" + "\045\061\046\101\047\105\050\072\051\077\052\104\053" + "\052\054\106\055\074\056\070\060\051\061\064\062\100" + "\001\001\000\002\001\001\000\002\001\001\000\022\011" + "\173\012\014\013\022\014\017\015\023\033\172\034\171" + "\035\174\001\001\000\044\041\167\042\066\043\067\044" + "\071\045\061\046\101\047\105\050\072\051\077\052\104" + "\053\052\054\106\055\074\056\070\060\051\061\064\062" + "\100\001\001\000\002\001\001\000\002\001\001\000\002" + "\001\001\000\002\001\001\000\010\027\175\030\041\062" + "\037\001\001\000\002\001\001\000\002\001\001\000\002" + "\001\001\000\016\011\173\012\014\013\022\014\017\015" + "\023\035\200\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\040\043\211\044\071" + "\045\061\046\101\047\105\050\072\051\077\052\104\053" + "\052\054\106\055\074\056\070\060\051\061\064\062\100" + "\001\001\000\002\001\001\000\002\001\001\000\012\057" + "\213\060\147\061\064\062\100\001\001\000\002\001\001" + "\000\030\047\215\050\072\051\077\052\104\053\052\054" + "\106\055\074\056\070\060\051\061\064\062\100\001\001" + "\000\002\001\001\000\002\001\001\000\040\043\244\044" + "\071\045\061\046\101\047\105\050\072\051\077\052\104" + "\053\052\054\106\055\074\056\070\060\051\061\064\062" + "\100\001\001\000\040\043\243\044\071\045\061\046\101" + "\047\105\050\072\051\077\052\104\053\052\054\106\055" + "\074\056\070\060\051\061\064\062\100\001\001\000\040" + "\043\242\044\071\045\061\046\101\047\105\050\072\051" + "\077\052\104\053\052\054\106\055\074\056\070\060\051" + "\061\064\062\100\001\001\000\040\043\241\044\071\045" + "\061\046\101\047\105\050\072\051\077\052\104\053\052" + "\054\106\055\074\056\070\060\051\061\064\062\100\001" + "\001\000\040\043\240\044\071\045\061\046\101\047\105" + "\050\072\051\077\052\104\053\052\054\106\055\074\056" + "\070\060\051\061\064\062\100\001\001\000\040\043\237" + "\044\071\045\061\046\101\047\105\050\072\051\077\052" + "\104\053\052\054\106\055\074\056\070\060\051\061\064" + "\062\100\001\001\000\040\043\236\044\071\045\061\046" + "\101\047\105\050\072\051\077\052\104\053\052\054\106" + "\055\074\056\070\060\051\061\064\062\100\001\001\000" + "\040\043\235\044\071\045\061\046\101\047\105\050\072" + "\051\077\052\104\053\052\054\106\055\074\056\070\060" + "\051\061\064\062\100\001\001\000\040\043\234\044\071" + "\045\061\046\101\047\105\050\072\051\077\052\104\053" + "\052\054\106\055\074\056\070\060\051\061\064\062\100" + "\001\001\000\040\043\233\044\071\045\061\046\101\047" + "\105\050\072\051\077\052\104\053\052\054\106\055\074" + "\056\070\060\051\061\064\062\100\001\001\000\040\043" + "\232\044\071\045\061\046\101\047\105\050\072\051\077" + "\052\104\053\052\054\106\055\074\056\070\060\051\061" + "\064\062\100\001\001\000\002\001\001\000\002\001\001" + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + "\002\001\001\000\002\001\001\000\002\001\001\000\002" + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + "\001\000\002\001\001\000\044\041\260\042\066\043\067" + "\044\071\045\061\046\101\047\105\050\072\051\077\052" + "\104\053\052\054\106\055\074\056\070\060\051\061\064" + "\062\100\001\001\000\002\001\001\000\004\062\257\001" + "\001\000\004\062\256\001\001\000\042\042\254\043\067" + "\044\071\045\061\046\101\047\105\050\072\051\077\052" + "\104\053\052\054\106\055\074\056\070\060\051\061\064" + "\062\100\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\042\042\266\043\067\044" + "\071\045\061\046\101\047\105\050\072\051\077\052\104" + "\053\052\054\106\055\074\056\070\060\051\061\064\062" + "\100\001\001\000\032\046\265\047\105\050\072\051\077" + "\052\104\053\052\054\106\055\074\056\070\060\051\061" + "\064\062\100\001\001\000\002\001\001\000\002\001\001" + "\000\036\044\270\045\061\046\101\047\105\050\072\051" + "\077\052\104\053\052\054\106\055\074\056\070\060\051" + "\061\064\062\100\001\001\000\002\001\001\000\002\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + "\000\056\011\154\012\014\013\022\014\017\015\023\025" + "\277\042\153\043\067\044\071\045\061\046\101\047\105" + "\050\072\051\077\052\104\053\052\054\106\055\074\056" + "\070\060\051\061\064\062\100\001\001\000\002\001\001" + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + "\002\001\001\000\002\001\001\000\002\001\001\000\002" + "\001\001\000\002\001\001\000\004\006\310\001\001\000" + "\016\010\034\011\033\012\014\013\022\014\017\015\023" + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + "\001\000\004\040\317\001\001\000\002\001\001\000\004" + "\036\332\001\001\000\002\001\001\000\042\023\322\043" + "\321\044\071\045\061\046\101\047\105\050\072\051\077" + "\052\104\053\052\054\106\055\074\056\070\060\051\061" + "\064\062\100\001\001\000\002\001\001\000\002\001\001" + "\000\044\023\325\024\324\043\321\044\071\045\061\046" + "\101\047\105\050\072\051\077\052\104\053\052\054\106" + "\055\074\056\070\060\051\061\064\062\100\001\001\000" + "\002\001\001\000\002\001\001\000\042\023\330\043\321" + "\044\071\045\061\046\101\047\105\050\072\051\077\052" + "\104\053\052\054\106\055\074\056\070\060\051\061\064" + "\062\100\001\001\000\002\001\001\000\002\001\001\000" + "\002\001\001\000\062\007\351\011\354\012\014\013\022" + "\014\017\015\023\037\353\040\342\042\346\043\067\044" + "\071\045\061\046\101\047\105\050\072\051\077\052\104" + "\053\052\054\106\055\074\056\070\060\051\061\064\062" + "\336\001\001\000\036\044\u0116\045\061\046\101\047\105" + "\050\072\051\077\052\104\053\052\054\106\055\074\056" + "\070\060\051\061\064\062\100\001\001\000\002\001\001" + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + "\002\001\001\000\044\041\u0103\042\066\043\067\044\071" + "\045\061\046\101\047\105\050\072\051\077\052\104\053" + "\052\054\106\055\074\056\070\060\051\061\064\062\100" + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + "\001\000\002\001\001\000\002\001\001\000\004\062\373" + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + "\001\000\002\001\001\000\014\016\312\021\313\027\364" + "\030\041\062\037\001\001\000\046\037\356\040\342\042" + "\346\043\067\044\071\045\061\046\101\047\105\050\072" + "\051\077\052\104\053\052\054\106\055\074\056\070\060" + "\051\061\064\062\336\001\001\000\002\001\001\000\002" + "\001\001\000\042\042\361\043\067\044\071\045\061\046" + "\101\047\105\050\072\051\077\052\104\053\052\054\106" + "\055\074\056\070\060\051\061\064\062\100\001\001\000" + "\002\001\001\000\002\001\001\000\002\001\001\000\002" + "\001\001\000\046\037\366\040\342\042\346\043\067\044" + "\071\045\061\046\101\047\105\050\072\051\077\052\104" + "\053\052\054\106\055\074\056\070\060\051\061\064\062" + "\336\001\001\000\002\001\001\000\042\042\370\043\067" + "\044\071\045\061\046\101\047\105\050\072\051\077\052" + "\104\053\052\054\106\055\074\056\070\060\051\061\064" + "\062\100\001\001\000\002\001\001\000\046\037\372\040" + "\342\042\346\043\067\044\071\045\061\046\101\047\105" + "\050\072\051\077\052\104\053\052\054\106\055\074\056" + "\070\060\051\061\064\062\336\001\001\000\002\001\001" + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + "\042\042\377\043\067\044\071\045\061\046\101\047\105" + "\050\072\051\077\052\104\053\052\054\106\055\074\056" + "\070\060\051\061\064\062\100\001\001\000\002\001\001" + "\000\004\040\u0101\001\001\000\002\001\001\000\002\001" + "\001\000\002\001\001\000\002\001\001\000\042\042\u0106" + "\043\067\044\071\045\061\046\101\047\105\050\072\051" + "\077\052\104\053\052\054\106\055\074\056\070\060\051" + "\061\064\062\100\001\001\000\002\001\001\000\046\037" + "\u0108\040\342\042\346\043\067\044\071\045\061\046\101" + "\047\105\050\072\051\077\052\104\053\052\054\106\055" + "\074\056\070\060\051\061\064\062\336\001\001\000\002" + "\001\001\000\046\037\u010a\040\342\042\346\043\067\044" + "\071\045\061\046\101\047\105\050\072\051\077\052\104" + "\053\052\054\106\055\074\056\070\060\051\061\064\062" + "\336\001\001\000\002\001\001\000\046\037\u010c\040\342" + "\042\346\043\067\044\071\045\061\046\101\047\105\050" + "\072\051\077\052\104\053\052\054\106\055\074\056\070" + "\060\051\061\064\062\336\001\001\000\002\001\001\000" + "\044\041\u010e\042\066\043\067\044\071\045\061\046\101" + "\047\105\050\072\051\077\052\104\053\052\054\106\055" + "\074\056\070\060\051\061\064\062\100\001\001\000\002" + "\001\001\000\044\041\u0110\042\066\043\067\044\071\045" + "\061\046\101\047\105\050\072\051\077\052\104\053\052" + "\054\106\055\074\056\070\060\051\061\064\062\100\001" + "\001\000\002\001\001\000\044\041\u0112\042\066\043\067" + "\044\071\045\061\046\101\047\105\050\072\051\077\052" + "\104\053\052\054\106\055\074\056\070\060\051\061\064" + "\062\100\001\001\000\002\001\001\000\046\037\u0114\040" + "\342\042\346\043\067\044\071\045\061\046\101\047\105" + "\050\072\051\077\052\104\053\052\054\106\055\074\056" + "\070\060\051\061\064\062\336\001\001\000\002\001\001" + "\000\002\001\001\000\002\001\001\000\046\037\u0118\040" + "\342\042\346\043\067\044\071\045\061\046\101\047\105" + "\050\072\051\077\052\104\053\052\054\106\055\074\056" + "\070\060\051\061\064\062\336\001\001\000\002\001\001" + "\000\002\001\001\000\002\001\001\000\012\021\u011d\027" + "\364\030\041\062\037\001\001\000\002\001\001\000\002" + "\001\001\000\002\001\001\000\010\020\u0122\022\u0121\062" + "\u0120\001\001\000\002\001\001\000\002\001\001\000\002" + "\001\001\000\006\022\u0125\062\u0120\001\001\000\002\001" + "\001\000\002\001\001\000\040\043\u0127\044\071\045\061" + "\046\101\047\105\050\072\051\077\052\104\053\052\054" + "\106\055\074\056\070\060\051\061\064\062\100\001\001" + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + "\002\001\001" }); /** Access to reduce_goto table. */ public short[][] reduce_table() {return _reduce_table;} /** Instance of action encapsulation class. */ protected CUP$parser$actions action_obj; /** Action encapsulation object initializer. */ protected void init_actions() { action_obj = new CUP$parser$actions(this); } /** Invoke a user supplied parse action. */ public java_cup.runtime.Symbol do_action( int act_num, java_cup.runtime.lr_parser parser, java.util.Stack stack, int top) throws java.lang.Exception { /* call code in generated class */ return action_obj.CUP$parser$do_action(act_num, parser, stack, top); } /** Indicates start state. */ public int start_state() {return 0;} /** Indicates start production. */ public int start_production() {return 0;} /** EOF Symbol index. */ public int EOF_sym() {return 0;} /** error Symbol index. */ public int error_sym() {return 1;} /** Scan to get the next Symbol. */ public java_cup.runtime.Symbol scan() throws java.lang.Exception { return lexer.yylex(); } private Yylex lexer; private File file; public parser( File file ) { this(); this.file = file; try { lexer = new Yylex( new FileReader( file ) ); } catch ( IOException exception ) { throw new Error( "Unable to open file \"" + file + "\"" ); } } public String terminal_name( int id ) { return sym.terminal_name( id ); } public String non_terminal_name( int id ) { return sym.non_terminal_name( id ); } public String rule_name( int id ) { return sym.rule_name( id ); } public void report_error( String message, Object info ) { System.err.println( file + " ( " + lexer.lineNumber() + " ): " + message ); try { if ( info instanceof Symbol ) { Symbol symbol = ( Symbol ) info; printText( symbol.left, symbol.right ); } } catch ( IOException e ) { } } private void printText( int left, int right ) throws IOException { Reader sourceReader = new FileReader( file ); int veryLeft = Math.max( left - 50, 0 ), veryRight = Math.min( right + 20, ( int ) file.length() ); char[] text = new char[ veryRight - veryLeft ]; char[] underline = new char[ veryRight - veryLeft ]; sourceReader.skip( veryLeft ); sourceReader.read( text ); for ( int i = 0; i < text.length; i++ ) { if ( text[ i ] < ' ' ) { text[ i ] = '|'; underline[ i ] = '|'; } else underline[ i ] = ' '; if ( left <= veryLeft + i && veryLeft + i < right ) underline[ i ] = '^'; } printLine( text ); printLine( underline ); } private static void printLine( char[] text ) { for ( int i = 0; i < text.length; i++ ) System.err.print( text[ i ] ); System.err.println(); } public void syntax_error( Symbol currToken ) { report_error( "Syntax Error", currToken ); } } /** Cup generated class to encapsulate user supplied action code.*/ class CUP$parser$actions { private final parser parser; /** Constructor */ CUP$parser$actions(parser parser) { this.parser = parser; } /** Method with the actual generated action code. */ public final java_cup.runtime.Symbol CUP$parser$do_action( int CUP$parser$act_num, java_cup.runtime.lr_parser CUP$parser$parser, java.util.Stack CUP$parser$stack, int CUP$parser$top) throws java.lang.Exception { /* Symbol object for return from actions */ java_cup.runtime.Symbol CUP$parser$result; /* select the action based on the action number */ switch (CUP$parser$act_num) { /*. . . . . . . . . . . . . . . . . . . .*/ case 159: // Ident ::= IDENT { Node RESULT = null; int tokenleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int tokenright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; String token = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new TerminalNode( token ); CUP$parser$result = new java_cup.runtime.Symbol(48/*Ident*/, ((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 158: // PostExpr ::= STRINGCONST { Node RESULT = null; int tokenleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int tokenright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; String token = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new TerminalNode( token ); CUP$parser$result = new java_cup.runtime.Symbol(47/*PostExpr*/, ((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 157: // PostExpr ::= FLOATCONST { Node RESULT = null; int tokenleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int tokenright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; String token = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; // System.err.println( "Found FloatConst " + token ); RESULT = new TerminalNode( token ); CUP$parser$result = new java_cup.runtime.Symbol(47/*PostExpr*/, ((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 156: // PostExpr ::= INTCONST { Node RESULT = null; int tokenleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int tokenright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; String token = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new TerminalNode( token ); CUP$parser$result = new java_cup.runtime.Symbol(47/*PostExpr*/, ((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 155: // PostExpr ::= CHARCONST { Node RESULT = null; int tokenleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int tokenright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; String token = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new TerminalNode( token ); CUP$parser$result = new java_cup.runtime.Symbol(47/*PostExpr*/, ((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 154: // PostExpr ::= Ident { Node RESULT = null; int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node expr = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = expr; CUP$parser$result = new java_cup.runtime.Symbol(47/*PostExpr*/, ((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 153: // PostExpr ::= LEFT Expr RIGHT { Node RESULT = null; int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left; int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right; Node expr = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; RESULT = new ParenthExprNode( expr ); CUP$parser$result = new java_cup.runtime.Symbol(47/*PostExpr*/, ((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 152: // PostExpr ::= PostExpr DOT Ident { Node RESULT = null; int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; Node expr = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int identleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int identright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node ident = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new DotNode( expr, ident ); CUP$parser$result = new java_cup.runtime.Symbol(47/*PostExpr*/, ((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 151: // PostExpr ::= PostExpr ARROW Ident { Node RESULT = null; int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; Node expr = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int identleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int identright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node ident = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new ArrowNode( expr, ident ); CUP$parser$result = new java_cup.runtime.Symbol(47/*PostExpr*/, ((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 150: // PostExpr ::= PostExpr LEFTSQ Expr RIGHTSQ { Node RESULT = null; int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left; int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).right; Node expr1 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value; int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left; int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right; Node expr2 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; RESULT = new SubscriptNode( expr1, expr2 ); CUP$parser$result = new java_cup.runtime.Symbol(47/*PostExpr*/, ((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 149: // PostExpr ::= PostExpr LEFT ExprOpt RIGHT { Node RESULT = null; int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left; int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).right; Node expr1 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value; int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left; int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right; Node expr2 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; RESULT = new InvocationNode( expr1, expr2 ); CUP$parser$result = new java_cup.runtime.Symbol(47/*PostExpr*/, ((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 148: // PostExpr ::= PostExpr DECR { Node RESULT = null; int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left; int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right; Node expr = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; RESULT = new PostDecrNode( expr ); CUP$parser$result = new java_cup.runtime.Symbol(47/*PostExpr*/, ((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 147: // PostExpr ::= PostExpr INCR { Node RESULT = null; int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left; int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right; Node expr = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; RESULT = new PostIncrNode( expr ); CUP$parser$result = new java_cup.runtime.Symbol(47/*PostExpr*/, ((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 146: // PreExpr ::= PostExpr { Node RESULT = null; int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node expr = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = expr; CUP$parser$result = new java_cup.runtime.Symbol(46/*PreExpr*/, ((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 145: // PreExpr ::= SIZEOF PreExpr { Node RESULT = null; int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node expr = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new SizeOfNode( expr ); CUP$parser$result = new java_cup.runtime.Symbol(46/*PreExpr*/, ((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 144: // PreExpr ::= SIZEOF LEFT TypeName RIGHT { Node RESULT = null; int typeNameleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left; int typeNameright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right; Node typeName = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; RESULT = new SizeOfNode( typeName ); CUP$parser$result = new java_cup.runtime.Symbol(46/*PreExpr*/, ((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 143: // PreExpr ::= DECR CastExpr { Node RESULT = null; int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node expr = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new PreDecrNode( expr ); CUP$parser$result = new java_cup.runtime.Symbol(46/*PreExpr*/, ((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 142: // PreExpr ::= INCR CastExpr { Node RESULT = null; int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node expr = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new PreIncrNode( expr ); CUP$parser$result = new java_cup.runtime.Symbol(46/*PreExpr*/, ((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 141: // PreExpr ::= STAR CastExpr { Node RESULT = null; int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node expr = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new ContentsNode( expr ); CUP$parser$result = new java_cup.runtime.Symbol(46/*PreExpr*/, ((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 140: // PreExpr ::= AMPERSAND CastExpr { Node RESULT = null; int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node expr = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new AddressNode( expr ); CUP$parser$result = new java_cup.runtime.Symbol(46/*PreExpr*/, ((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 139: // PreExpr ::= MINUS CastExpr { Node RESULT = null; int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node expr = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new NegateNode( expr ); CUP$parser$result = new java_cup.runtime.Symbol(46/*PreExpr*/, ((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 138: // PreExpr ::= BITNOT CastExpr { Node RESULT = null; int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node expr = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new BitNotNode( expr ); CUP$parser$result = new java_cup.runtime.Symbol(46/*PreExpr*/, ((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 137: // PreExpr ::= NOT CastExpr { Node RESULT = null; int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node expr = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new NotNode( expr ); CUP$parser$result = new java_cup.runtime.Symbol(46/*PreExpr*/, ((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 136: // CastExpr ::= PreExpr { Node RESULT = null; int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node expr = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = expr; CUP$parser$result = new java_cup.runtime.Symbol(45/*CastExpr*/, ((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 135: // CastExpr ::= LEFT TypeName RIGHT CastExpr { Node RESULT = null; int typeNameleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int typeNameright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; Node typeName = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node expr = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new CastNode( typeName, expr ); CUP$parser$result = new java_cup.runtime.Symbol(45/*CastExpr*/, ((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 134: // MulExpr ::= PreExpr { Node RESULT = null; int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node expr = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = expr; CUP$parser$result = new java_cup.runtime.Symbol(44/*MulExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 133: // MulExpr ::= MulExpr MOD PreExpr { Node RESULT = null; int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; Node expr1 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node expr2 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new ModNode( expr1, expr2 ); CUP$parser$result = new java_cup.runtime.Symbol(44/*MulExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 132: // MulExpr ::= MulExpr DIVIDE PreExpr { Node RESULT = null; int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; Node expr1 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node expr2 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new DivideNode( expr1, expr2 ); CUP$parser$result = new java_cup.runtime.Symbol(44/*MulExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 131: // MulExpr ::= MulExpr STAR PreExpr { Node RESULT = null; int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; Node expr1 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node expr2 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new TimesNode( expr1, expr2 ); CUP$parser$result = new java_cup.runtime.Symbol(44/*MulExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 130: // AddExpr ::= MulExpr { Node RESULT = null; int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node expr = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = expr; CUP$parser$result = new java_cup.runtime.Symbol(43/*AddExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 129: // AddExpr ::= AddExpr MINUS MulExpr { Node RESULT = null; int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; Node expr1 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node expr2 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new MinusNode( expr1, expr2 ); CUP$parser$result = new java_cup.runtime.Symbol(43/*AddExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 128: // AddExpr ::= AddExpr PLUS MulExpr { Node RESULT = null; int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; Node expr1 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node expr2 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new PlusNode( expr1, expr2 ); CUP$parser$result = new java_cup.runtime.Symbol(43/*AddExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 127: // ShiftExpr ::= AddExpr { Node RESULT = null; int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node expr = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = expr; CUP$parser$result = new java_cup.runtime.Symbol(42/*ShiftExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 126: // ShiftExpr ::= ShiftExpr RIGHTSHIFT AddExpr { Node RESULT = null; int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; Node expr1 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node expr2 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new RightShiftNode( expr1, expr2 ); CUP$parser$result = new java_cup.runtime.Symbol(42/*ShiftExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 125: // ShiftExpr ::= ShiftExpr LEFTSHIFT AddExpr { Node RESULT = null; int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; Node expr1 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node expr2 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new LeftShiftNode( expr1, expr2 ); CUP$parser$result = new java_cup.runtime.Symbol(42/*ShiftExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 124: // RelExpr ::= ShiftExpr { Node RESULT = null; int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node expr = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = expr; CUP$parser$result = new java_cup.runtime.Symbol(41/*RelExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 123: // RelExpr ::= RelExpr GE ShiftExpr { Node RESULT = null; int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; Node expr1 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node expr2 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new GreaterEqualNode( expr1, expr2 ); CUP$parser$result = new java_cup.runtime.Symbol(41/*RelExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 122: // RelExpr ::= RelExpr LE ShiftExpr { Node RESULT = null; int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; Node expr1 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node expr2 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new LessEqualNode( expr1, expr2 ); CUP$parser$result = new java_cup.runtime.Symbol(41/*RelExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 121: // RelExpr ::= RelExpr GT ShiftExpr { Node RESULT = null; int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; Node expr1 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node expr2 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new GreaterThanNode( expr1, expr2 ); CUP$parser$result = new java_cup.runtime.Symbol(41/*RelExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 120: // RelExpr ::= RelExpr LT ShiftExpr { Node RESULT = null; int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; Node expr1 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node expr2 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new LessThanNode( expr1, expr2 ); CUP$parser$result = new java_cup.runtime.Symbol(41/*RelExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 119: // EqualExpr ::= RelExpr { Node RESULT = null; int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node expr = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = expr; CUP$parser$result = new java_cup.runtime.Symbol(40/*EqualExpr*/, ((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 118: // EqualExpr ::= EqualExpr NE RelExpr { Node RESULT = null; int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; Node expr1 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node expr2 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new NotEqualNode( expr1, expr2 ); CUP$parser$result = new java_cup.runtime.Symbol(40/*EqualExpr*/, ((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 117: // EqualExpr ::= EqualExpr EQ RelExpr { Node RESULT = null; int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; Node expr1 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node expr2 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new EqualNode( expr1, expr2 ); CUP$parser$result = new java_cup.runtime.Symbol(40/*EqualExpr*/, ((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 116: // BitAndExpr ::= EqualExpr { Node RESULT = null; int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node expr = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = expr; CUP$parser$result = new java_cup.runtime.Symbol(39/*BitAndExpr*/, ((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 115: // BitAndExpr ::= BitAndExpr AMPERSAND EqualExpr { Node RESULT = null; int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; Node expr1 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node expr2 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new BitAndNode( expr1, expr2 ); CUP$parser$result = new java_cup.runtime.Symbol(39/*BitAndExpr*/, ((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 114: // BitXOrExpr ::= BitAndExpr { Node RESULT = null; int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node expr = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = expr; CUP$parser$result = new java_cup.runtime.Symbol(38/*BitXOrExpr*/, ((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 113: // BitXOrExpr ::= BitXOrExpr BITXOR BitAndExpr { Node RESULT = null; int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; Node expr1 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node expr2 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new BitXOrNode( expr1, expr2 ); CUP$parser$result = new java_cup.runtime.Symbol(38/*BitXOrExpr*/, ((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 112: // BitOrExpr ::= BitXOrExpr { Node RESULT = null; int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node expr = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = expr; CUP$parser$result = new java_cup.runtime.Symbol(37/*BitOrExpr*/, ((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 111: // BitOrExpr ::= BitOrExpr BITOR BitXOrExpr { Node RESULT = null; int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; Node expr1 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node expr2 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new BitOrNode( expr1, expr2 ); CUP$parser$result = new java_cup.runtime.Symbol(37/*BitOrExpr*/, ((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 110: // AndExpr ::= BitOrExpr { Node RESULT = null; int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node expr = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = expr; CUP$parser$result = new java_cup.runtime.Symbol(36/*AndExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 109: // AndExpr ::= AndExpr AND BitOrExpr { Node RESULT = null; int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; Node expr1 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node expr2 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new AndNode( expr1, expr2 ); CUP$parser$result = new java_cup.runtime.Symbol(36/*AndExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 108: // OrExpr ::= AndExpr { Node RESULT = null; int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node expr = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = expr; CUP$parser$result = new java_cup.runtime.Symbol(35/*OrExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 107: // OrExpr ::= OrExpr OR AndExpr { Node RESULT = null; int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; Node expr1 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node expr2 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new OrNode( expr1, expr2 ); CUP$parser$result = new java_cup.runtime.Symbol(35/*OrExpr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 106: // QuestExpr ::= OrExpr { Node RESULT = null; int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node expr = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = expr; CUP$parser$result = new java_cup.runtime.Symbol(34/*QuestExpr*/, ((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 105: // QuestExpr ::= OrExpr QUEST Expr COLON QuestExpr { Node RESULT = null; int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).left; int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).right; Node expr1 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-4)).value; int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; Node expr2 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int expr3left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int expr3right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node expr3 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new QuestNode( expr1, expr2, expr3 ); CUP$parser$result = new java_cup.runtime.Symbol(34/*QuestExpr*/, ((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 104: // AssignExpr ::= QuestExpr { Node RESULT = null; int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node expr = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = expr; CUP$parser$result = new java_cup.runtime.Symbol(33/*AssignExpr*/, ((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 103: // AssignExpr ::= QuestExpr BITANDASSIGN AssignExpr { Node RESULT = null; int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; Node expr1 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node expr2 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new BitAndAssignNode( expr1, expr2 ); CUP$parser$result = new java_cup.runtime.Symbol(33/*AssignExpr*/, ((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 102: // AssignExpr ::= QuestExpr BITXORASSIGN AssignExpr { Node RESULT = null; int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; Node expr1 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node expr2 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new BitXOrAssignNode( expr1, expr2 ); CUP$parser$result = new java_cup.runtime.Symbol(33/*AssignExpr*/, ((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 101: // AssignExpr ::= QuestExpr BITORASSIGN AssignExpr { Node RESULT = null; int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; Node expr1 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node expr2 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new BitOrAssignNode( expr1, expr2 ); CUP$parser$result = new java_cup.runtime.Symbol(33/*AssignExpr*/, ((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 100: // AssignExpr ::= QuestExpr RIGHTASSIGN AssignExpr { Node RESULT = null; int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; Node expr1 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node expr2 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new RightAssignNode( expr1, expr2 ); CUP$parser$result = new java_cup.runtime.Symbol(33/*AssignExpr*/, ((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 99: // AssignExpr ::= QuestExpr LEFTASSIGN AssignExpr { Node RESULT = null; int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; Node expr1 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node expr2 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new LeftAssignNode( expr1, expr2 ); CUP$parser$result = new java_cup.runtime.Symbol(33/*AssignExpr*/, ((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 98: // AssignExpr ::= QuestExpr MODASSIGN AssignExpr { Node RESULT = null; int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; Node expr1 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node expr2 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new ModAssignNode( expr1, expr2 ); CUP$parser$result = new java_cup.runtime.Symbol(33/*AssignExpr*/, ((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: // AssignExpr ::= QuestExpr DIVIDEASSIGN AssignExpr { Node RESULT = null; int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; Node expr1 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node expr2 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new DivideAssignNode( expr1, expr2 ); CUP$parser$result = new java_cup.runtime.Symbol(33/*AssignExpr*/, ((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 96: // AssignExpr ::= QuestExpr TIMESASSIGN AssignExpr { Node RESULT = null; int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; Node expr1 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node expr2 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new TimesAssignNode( expr1, expr2 ); CUP$parser$result = new java_cup.runtime.Symbol(33/*AssignExpr*/, ((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 95: // AssignExpr ::= QuestExpr MINUSASSIGN AssignExpr { Node RESULT = null; int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; Node expr1 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node expr2 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new MinusAssignNode( expr1, expr2 ); CUP$parser$result = new java_cup.runtime.Symbol(33/*AssignExpr*/, ((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: // AssignExpr ::= QuestExpr PLUSASSIGN AssignExpr { Node RESULT = null; int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; Node expr1 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node expr2 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new PlusAssignNode( expr1, expr2 ); CUP$parser$result = new java_cup.runtime.Symbol(33/*AssignExpr*/, ((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 93: // AssignExpr ::= QuestExpr ASSIGN AssignExpr { Node RESULT = null; int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; Node expr1 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node expr2 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new AssignNode( expr1, expr2 ); CUP$parser$result = new java_cup.runtime.Symbol(33/*AssignExpr*/, ((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: // Expr ::= AssignExpr { Node RESULT = null; int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node expr = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = expr; CUP$parser$result = new java_cup.runtime.Symbol(32/*Expr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 91: // Expr ::= Expr COMMA AssignExpr { Node RESULT = null; int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; Node expr1 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node expr2 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new CommaNode( expr1, expr2 ); CUP$parser$result = new java_cup.runtime.Symbol(32/*Expr*/, ((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 90: // ExprOpt ::= Expr { Node RESULT = null; int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node expr = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = expr; CUP$parser$result = new java_cup.runtime.Symbol(31/*ExprOpt*/, ((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: // ExprOpt ::= { Node RESULT = null; RESULT = null; CUP$parser$result = new java_cup.runtime.Symbol(31/*ExprOpt*/, ((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 88: // BlockStmt ::= LEFTCURLY DeclStmtList RIGHTCURLY { Node RESULT = null; int declStmtListleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left; int declStmtListright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right; Node declStmtList = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; RESULT = new BlockNode( declStmtList ); CUP$parser$result = new java_cup.runtime.Symbol(30/*BlockStmt*/, ((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 87: // Stmt ::= SEMICOLON { Node RESULT = null; RESULT = new EmptyStmtNode(); CUP$parser$result = new java_cup.runtime.Symbol(29/*Stmt*/, ((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 86: // Stmt ::= RETURN ExprOpt SEMICOLON { Node RESULT = null; int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left; int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right; Node expr = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; RESULT = new ReturnNode( expr ); CUP$parser$result = new java_cup.runtime.Symbol(29/*Stmt*/, ((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 85: // Stmt ::= CONTINUE SEMICOLON { Node RESULT = null; RESULT = new ContinueNode(); CUP$parser$result = new java_cup.runtime.Symbol(29/*Stmt*/, ((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 84: // Stmt ::= BREAK SEMICOLON { Node RESULT = null; RESULT = new BreakNode(); CUP$parser$result = new java_cup.runtime.Symbol(29/*Stmt*/, ((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 83: // Stmt ::= GOTO Ident SEMICOLON { Node RESULT = null; int identleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left; int identright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right; Node ident = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; RESULT = new GoToNode( ident ); CUP$parser$result = new java_cup.runtime.Symbol(29/*Stmt*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 82: // Stmt ::= FOR LEFT ExprOpt SEMICOLON ExprOpt SEMICOLON ExprOpt RIGHT Stmt { Node RESULT = null; int expr1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-6)).left; int expr1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-6)).right; Node expr1 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-6)).value; int expr2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).left; int expr2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).right; Node expr2 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-4)).value; int expr3left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int expr3right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; Node expr3 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int stmtleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int stmtright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node stmt = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new ForNode( expr1, expr2, expr3, stmt ); CUP$parser$result = new java_cup.runtime.Symbol(29/*Stmt*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-8)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 81: // Stmt ::= DO Stmt WHILE LEFT Expr RIGHT SEMICOLON { Node RESULT = null; int stmtleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-5)).left; int stmtright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-5)).right; Node stmt = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-5)).value; int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; Node expr = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; RESULT = new DoNode( stmt, expr ); CUP$parser$result = new java_cup.runtime.Symbol(29/*Stmt*/, ((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 80: // Stmt ::= WHILE LEFT Expr RIGHT Stmt { Node RESULT = null; int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; Node expr = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int stmtleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int stmtright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node stmt = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new WhileNode( expr, stmt ); CUP$parser$result = new java_cup.runtime.Symbol(29/*Stmt*/, ((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 79: // Stmt ::= SWITCH LEFT Expr RIGHT BlockStmt { Node RESULT = null; int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; Node expr = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int stmtleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int stmtright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node stmt = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new SwitchNode( expr, stmt ); CUP$parser$result = new java_cup.runtime.Symbol(29/*Stmt*/, ((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 78: // Stmt ::= IF LEFT Expr RIGHT Stmt { Node RESULT = null; int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; Node expr = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int stmtleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int stmtright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node stmt = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new IfNode( expr, stmt ); CUP$parser$result = new java_cup.runtime.Symbol(29/*Stmt*/, ((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 77: // Stmt ::= IF LEFT Expr RIGHT Stmt ELSE Stmt { Node RESULT = null; int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).left; int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).right; Node expr = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-4)).value; int stmt1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int stmt1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; Node stmt1 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int stmt2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int stmt2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node stmt2 = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new IfElseNode( expr, stmt1, stmt2 ); CUP$parser$result = new java_cup.runtime.Symbol(29/*Stmt*/, ((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 76: // Stmt ::= BlockStmt { Node RESULT = null; int stmtleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int stmtright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node stmt = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = stmt; CUP$parser$result = new java_cup.runtime.Symbol(29/*Stmt*/, ((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 75: // Stmt ::= Expr SEMICOLON { Node RESULT = null; int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left; int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right; Node expr = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; RESULT = new SimpleStmtNode( expr ); CUP$parser$result = new java_cup.runtime.Symbol(29/*Stmt*/, ((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: // Stmt ::= Ident COLON Stmt { Node RESULT = null; int identleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int identright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; Node ident = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int stmtleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int stmtright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node stmt = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new LabelNode( ident, stmt ); CUP$parser$result = new java_cup.runtime.Symbol(29/*Stmt*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 73: // Stmt ::= DEFAULT COLON Stmt { Node RESULT = null; int stmtleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int stmtright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node stmt = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new DefaultNode( stmt ); CUP$parser$result = new java_cup.runtime.Symbol(29/*Stmt*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 72: // Stmt ::= CASE QuestExpr COLON Stmt { Node RESULT = null; int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; Node expr = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int stmtleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int stmtright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node stmt = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new CaseNode( expr, stmt ); CUP$parser$result = new java_cup.runtime.Symbol(29/*Stmt*/, ((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 71: // DeclStmtList ::= error RIGHTCURLY { Node RESULT = null; RESULT = null; CUP$parser$result = new java_cup.runtime.Symbol(28/*DeclStmtList*/, ((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: // DeclStmtList ::= error SEMICOLON { Node RESULT = null; RESULT = null; CUP$parser$result = new java_cup.runtime.Symbol(28/*DeclStmtList*/, ((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 69: // DeclStmtList ::= DeclStmtList Decl { Node RESULT = null; int declStmtListleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left; int declStmtListright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right; Node declStmtList = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; int declleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int declright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node decl = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new DeclStmtListNode( declStmtList, decl ); CUP$parser$result = new java_cup.runtime.Symbol(28/*DeclStmtList*/, ((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 68: // DeclStmtList ::= DeclStmtList Stmt { Node RESULT = null; int declStmtListleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left; int declStmtListright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right; Node declStmtList = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; int stmtleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int stmtright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node stmt = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new DeclStmtListNode( declStmtList, stmt ); CUP$parser$result = new java_cup.runtime.Symbol(28/*DeclStmtList*/, ((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: // DeclStmtList ::= { Node RESULT = null; RESULT = null; CUP$parser$result = new java_cup.runtime.Symbol(28/*DeclStmtList*/, ((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 66: // ParamDecl ::= Type Declarator { Node 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; Node type = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; int declaratorleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int declaratorright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node declarator = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new ParamDeclNode( type, declarator ); CUP$parser$result = new java_cup.runtime.Symbol(27/*ParamDecl*/, ((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 65: // ParamList ::= ParamList COMMA ParamDecl { Node RESULT = null; int paramListleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int paramListright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; Node paramList = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int paramDeclleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int paramDeclright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node paramDecl = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new ParamListNode( paramList, paramDecl ); CUP$parser$result = new java_cup.runtime.Symbol(26/*ParamList*/, ((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: // ParamList ::= ParamDecl { Node RESULT = null; int paramDeclleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int paramDeclright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node paramDecl = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new ParamListNode( paramDecl ); CUP$parser$result = new java_cup.runtime.Symbol(26/*ParamList*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 63: // ParamListOpt ::= ParamList COMMA ETC { Node RESULT = null; int paramListleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int paramListright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; Node paramList = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; RESULT = new EtcParamListNode( paramList ); CUP$parser$result = new java_cup.runtime.Symbol(25/*ParamListOpt*/, ((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 62: // ParamListOpt ::= ParamList { Node RESULT = null; int paramListleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int paramListright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node paramList = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = paramList; CUP$parser$result = new java_cup.runtime.Symbol(25/*ParamListOpt*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 61: // ParamListOpt ::= { Node RESULT = null; RESULT = null; CUP$parser$result = new java_cup.runtime.Symbol(25/*ParamListOpt*/, ((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 60: // AbstractDirectDeclarator ::= LEFT AbstractDeclarator RIGHT { Node RESULT = null; int declaratorleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left; int declaratorright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right; Node declarator = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; RESULT = new ParenthDeclaratorNode( declarator ); CUP$parser$result = new java_cup.runtime.Symbol(24/*AbstractDirectDeclarator*/, ((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 59: // AbstractDirectDeclarator ::= AbstractDirectDeclarator LEFT ParamListOpt RIGHT { Node RESULT = null; int declaratorleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left; int declaratorright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).right; Node declarator = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value; int paramsleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left; int paramsright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right; Node params = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; RESULT = new FunctionDeclaratorNode( declarator, params ); CUP$parser$result = new java_cup.runtime.Symbol(24/*AbstractDirectDeclarator*/, ((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 58: // AbstractDirectDeclarator ::= LEFT ParamListOpt RIGHT { Node RESULT = null; int paramsleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left; int paramsright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right; Node params = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; RESULT = new FunctionDeclaratorNode( params ); CUP$parser$result = new java_cup.runtime.Symbol(24/*AbstractDirectDeclarator*/, ((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 57: // AbstractDirectDeclarator ::= AbstractDirectDeclarator LEFTSQ ExprOpt RIGHTSQ { Node RESULT = null; int declaratorleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left; int declaratorright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).right; Node declarator = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value; int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left; int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right; Node expr = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; RESULT = new ArrayDeclaratorNode( declarator, expr ); CUP$parser$result = new java_cup.runtime.Symbol(24/*AbstractDirectDeclarator*/, ((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 56: // AbstractDirectDeclarator ::= LEFTSQ ExprOpt RIGHTSQ { Node RESULT = null; int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left; int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right; Node expr = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; RESULT = new ArrayDeclaratorNode( expr ); CUP$parser$result = new java_cup.runtime.Symbol(24/*AbstractDirectDeclarator*/, ((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 55: // AbstractDeclarator ::= AbstractDirectDeclarator { Node RESULT = null; int declaratorleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int declaratorright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node declarator = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = declarator; CUP$parser$result = new java_cup.runtime.Symbol(23/*AbstractDeclarator*/, ((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 54: // AbstractDeclarator ::= STAR AbstractDeclarator { Node RESULT = null; int declaratorleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int declaratorright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node declarator = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new PointerDeclaratorNode( declarator ); CUP$parser$result = new java_cup.runtime.Symbol(23/*AbstractDeclarator*/, ((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: // AbstractDeclarator ::= STAR { Node RESULT = null; RESULT = new PointerDeclaratorNode(); CUP$parser$result = new java_cup.runtime.Symbol(23/*AbstractDeclarator*/, ((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 52: // DirectDeclarator ::= Ident { Node RESULT = null; int identleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int identright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node ident = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = ident; CUP$parser$result = new java_cup.runtime.Symbol(22/*DirectDeclarator*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 51: // DirectDeclarator ::= LEFT Declarator RIGHT { Node RESULT = null; int declaratorleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left; int declaratorright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right; Node declarator = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; RESULT = new ParenthDeclaratorNode( declarator ); CUP$parser$result = new java_cup.runtime.Symbol(22/*DirectDeclarator*/, ((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 50: // DirectDeclarator ::= DirectDeclarator LEFT ParamListOpt RIGHT { Node RESULT = null; int declaratorleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left; int declaratorright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).right; Node declarator = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value; int paramsleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left; int paramsright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right; Node params = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; RESULT = new FunctionDeclaratorNode( declarator, params ); CUP$parser$result = new java_cup.runtime.Symbol(22/*DirectDeclarator*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 49: // DirectDeclarator ::= DirectDeclarator LEFTSQ ExprOpt RIGHTSQ { Node RESULT = null; int declaratorleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left; int declaratorright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).right; Node declarator = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value; int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left; int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right; Node expr = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; RESULT = new ArrayDeclaratorNode( declarator, expr ); CUP$parser$result = new java_cup.runtime.Symbol(22/*DirectDeclarator*/, ((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 48: // Declarator ::= DirectDeclarator { Node RESULT = null; int declaratorleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int declaratorright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node declarator = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = declarator; CUP$parser$result = new java_cup.runtime.Symbol(21/*Declarator*/, ((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 47: // Declarator ::= STAR Declarator { Node RESULT = null; int declaratorleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int declaratorright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node declarator = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new PointerDeclaratorNode( declarator ); CUP$parser$result = new java_cup.runtime.Symbol(21/*Declarator*/, ((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 46: // AbstractDeclaratorOpt ::= AbstractDeclarator { Node RESULT = null; int declaratorleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int declaratorright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node declarator = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = declarator; CUP$parser$result = new java_cup.runtime.Symbol(20/*AbstractDeclaratorOpt*/, ((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: // AbstractDeclaratorOpt ::= { Node RESULT = null; RESULT = null; CUP$parser$result = new java_cup.runtime.Symbol(20/*AbstractDeclaratorOpt*/, ((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 44: // TypeName ::= Type AbstractDeclaratorOpt { Node 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; Node type = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; int declaratorleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int declaratorright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node declarator = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new TypeNameNode( type, declarator ); CUP$parser$result = new java_cup.runtime.Symbol(19/*TypeName*/, ((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: // InitialiserList ::= InitialiserList COMMA Initialiser { Node RESULT = null; int initialiserListleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int initialiserListright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; Node initialiserList = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int initialiserleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int initialiserright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node initialiser = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new InitialiserListNode( initialiserList, initialiser ); CUP$parser$result = new java_cup.runtime.Symbol(18/*InitialiserList*/, ((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 42: // InitialiserList ::= Initialiser { Node RESULT = null; int initialiserleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int initialiserright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node initialiser = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = initialiser; CUP$parser$result = new java_cup.runtime.Symbol(18/*InitialiserList*/, ((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: // Initialiser ::= LEFTCURLY InitialiserList RIGHTCURLY { Node RESULT = null; int initialiserListleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left; int initialiserListright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right; Node initialiserList = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; RESULT = new CurlyInitialiserListNode( initialiserList ); CUP$parser$result = new java_cup.runtime.Symbol(17/*Initialiser*/, ((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 40: // Initialiser ::= AssignExpr { Node RESULT = null; int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node expr = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = expr; CUP$parser$result = new java_cup.runtime.Symbol(17/*Initialiser*/, ((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 39: // Enumerator ::= Ident ASSIGN AssignExpr { Node RESULT = null; int identleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int identright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; Node ident = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int exprleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int exprright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node expr = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new EnumeratorNode( ident, expr ); CUP$parser$result = new java_cup.runtime.Symbol(16/*Enumerator*/, ((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 38: // Enumerator ::= Ident { Node RESULT = null; int identleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int identright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node ident = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new EnumeratorNode( ident ); CUP$parser$result = new java_cup.runtime.Symbol(16/*Enumerator*/, ((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 37: // InitDeclarator ::= Declarator ASSIGN Initialiser { Node RESULT = null; int declaratorleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int declaratorright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; Node declarator = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int initialiserleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int initialiserright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node initialiser = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new InitDeclaratorNode( declarator, initialiser ); CUP$parser$result = new java_cup.runtime.Symbol(15/*InitDeclarator*/, ((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 36: // InitDeclarator ::= Declarator { Node RESULT = null; int declaratorleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int declaratorright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node declarator = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = declarator; CUP$parser$result = new java_cup.runtime.Symbol(15/*InitDeclarator*/, ((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 35: // EnumeratorList ::= EnumeratorList COMMA Enumerator { Node RESULT = null; int enumeratorListleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int enumeratorListright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; Node enumeratorList = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int enumeratorleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int enumeratorright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node enumerator = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new DeclaratorListNode( enumeratorList, enumerator ); CUP$parser$result = new java_cup.runtime.Symbol(14/*EnumeratorList*/, ((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 34: // EnumeratorList ::= Enumerator { Node RESULT = null; int enumeratorleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int enumeratorright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node enumerator = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new DeclaratorListNode( enumerator ); CUP$parser$result = new java_cup.runtime.Symbol(14/*EnumeratorList*/, ((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 33: // DeclaratorList ::= DeclaratorList COMMA Declarator { Node RESULT = null; int declaratorListleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int declaratorListright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; Node declaratorList = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int declaratorleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int declaratorright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node declarator = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new DeclaratorListNode( declaratorList, declarator ); CUP$parser$result = new java_cup.runtime.Symbol(13/*DeclaratorList*/, ((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 32: // DeclaratorList ::= Declarator { Node RESULT = null; int declaratorleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int declaratorright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node declarator = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new DeclaratorListNode( declarator ); CUP$parser$result = new java_cup.runtime.Symbol(13/*DeclaratorList*/, ((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 31: // InitDeclaratorList ::= InitDeclaratorList COMMA InitDeclarator { Node RESULT = null; int declaratorListleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int declaratorListright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; Node declaratorList = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int declaratorleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int declaratorright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node declarator = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new DeclaratorListNode( declaratorList, declarator ); CUP$parser$result = new java_cup.runtime.Symbol(12/*InitDeclaratorList*/, ((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 30: // InitDeclaratorList ::= InitDeclarator { Node RESULT = null; int declaratorleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int declaratorright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node declarator = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new DeclaratorListNode( declarator ); CUP$parser$result = new java_cup.runtime.Symbol(12/*InitDeclaratorList*/, ((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: // EnumType ::= ENUM Ident { Node RESULT = null; int identleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int identright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node ident = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new EnumTypeNode( ident ); CUP$parser$result = new java_cup.runtime.Symbol(11/*EnumType*/, ((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 28: // EnumType ::= ENUM Ident LEFTCURLY EnumeratorList RIGHTCURLY { Node RESULT = null; int identleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left; int identright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).right; Node ident = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value; int enumListleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left; int enumListright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right; Node enumList = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; RESULT = new EnumTypeNode( ident, enumList ); CUP$parser$result = new java_cup.runtime.Symbol(11/*EnumType*/, ((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 27: // UnionType ::= UNION Ident { Node RESULT = null; int identleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int identright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node ident = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new UnionTypeNode( ident ); CUP$parser$result = new java_cup.runtime.Symbol(10/*UnionType*/, ((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: // UnionType ::= UNION Ident LEFTCURLY StructDeclList RIGHTCURLY { Node RESULT = null; int identleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left; int identright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).right; Node ident = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value; int declListleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left; int declListright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right; Node declList = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; RESULT = new UnionTypeNode( ident, declList ); CUP$parser$result = new java_cup.runtime.Symbol(10/*UnionType*/, ((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: // StructType ::= STRUCT Ident { Node RESULT = null; int identleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int identright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node ident = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new StructTypeNode( ident ); CUP$parser$result = new java_cup.runtime.Symbol(9/*StructType*/, ((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 24: // StructType ::= STRUCT Ident LEFTCURLY StructDeclList RIGHTCURLY { Node RESULT = null; int identleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left; int identright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).right; Node ident = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value; int declListleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left; int declListright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right; Node declList = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; RESULT = new StructTypeNode( ident, declList ); CUP$parser$result = new java_cup.runtime.Symbol(9/*StructType*/, ((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 23: // BasicType ::= VOID { Node RESULT = null; int tokenleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int tokenright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; String token = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new TerminalNode( token ); CUP$parser$result = new java_cup.runtime.Symbol(8/*BasicType*/, ((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: // BasicType ::= DOUBLE { Node RESULT = null; int tokenleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int tokenright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; String token = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new TerminalNode( token ); CUP$parser$result = new java_cup.runtime.Symbol(8/*BasicType*/, ((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: // BasicType ::= FLOAT { Node RESULT = null; int tokenleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int tokenright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; String token = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new TerminalNode( token ); CUP$parser$result = new java_cup.runtime.Symbol(8/*BasicType*/, ((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: // BasicType ::= LONG { Node RESULT = null; int tokenleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int tokenright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; String token = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new TerminalNode( token ); CUP$parser$result = new java_cup.runtime.Symbol(8/*BasicType*/, ((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 19: // BasicType ::= INT { Node RESULT = null; int tokenleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int tokenright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; String token = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new TerminalNode( token ); CUP$parser$result = new java_cup.runtime.Symbol(8/*BasicType*/, ((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 18: // BasicType ::= SHORT { Node RESULT = null; int tokenleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int tokenright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; String token = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new TerminalNode( token ); CUP$parser$result = new java_cup.runtime.Symbol(8/*BasicType*/, ((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 17: // BasicType ::= CHAR { Node RESULT = null; int tokenleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int tokenright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; String token = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new TerminalNode( token ); CUP$parser$result = new java_cup.runtime.Symbol(8/*BasicType*/, ((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 16: // Type ::= EnumType { Node RESULT = null; int typeleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int typeright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node type = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = type; CUP$parser$result = new java_cup.runtime.Symbol(7/*Type*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 15: // Type ::= UnionType { Node RESULT = null; int typeleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int typeright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node type = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = type; CUP$parser$result = new java_cup.runtime.Symbol(7/*Type*/, ((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 14: // Type ::= StructType { Node RESULT = null; int typeleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int typeright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node type = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = type; CUP$parser$result = new java_cup.runtime.Symbol(7/*Type*/, ((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 13: // Type ::= BasicType { Node RESULT = null; int typeleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int typeright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node type = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = type; CUP$parser$result = new java_cup.runtime.Symbol(7/*Type*/, ((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 12: // StructDecl ::= Type DeclaratorList SEMICOLON { Node RESULT = null; int typeleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int typeright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; Node type = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int declaratorsleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left; int declaratorsright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right; Node declarators = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; RESULT = new DeclNode( type, declarators ); CUP$parser$result = new java_cup.runtime.Symbol(6/*StructDecl*/, ((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 11: // Decl ::= Type InitDeclaratorList SEMICOLON { Node RESULT = null; int typeleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int typeright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; Node type = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int declaratorsleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left; int declaratorsright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right; Node declarators = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; RESULT = new DeclNode( type, declarators ); CUP$parser$result = new java_cup.runtime.Symbol(5/*Decl*/, ((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 10: // Decl ::= Type SEMICOLON { Node 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; Node type = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; RESULT = new DeclNode( type ); CUP$parser$result = new java_cup.runtime.Symbol(5/*Decl*/, ((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 9: // StructDeclList ::= StructDeclList StructDecl { Node RESULT = null; int declListleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left; int declListright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right; Node declList = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; int declleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int declright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node decl = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new DeclListNode( declList, decl ); CUP$parser$result = new java_cup.runtime.Symbol(4/*StructDeclList*/, ((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 8: // StructDeclList ::= { Node RESULT = null; RESULT = null; CUP$parser$result = new java_cup.runtime.Symbol(4/*StructDeclList*/, ((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 7: // ExternalDecl ::= Type Declarator BlockStmt { Node RESULT = null; int typeleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int typeright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; Node type = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int declaratorleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left; int declaratorright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right; Node declarator = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; int blockleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int blockright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node block = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new FunctionDeclNode( type, declarator, block ); CUP$parser$result = new java_cup.runtime.Symbol(3/*ExternalDecl*/, ((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 6: // ExternalDecl ::= Decl { Node RESULT = null; int declleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int declright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node decl = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = decl; CUP$parser$result = new java_cup.runtime.Symbol(3/*ExternalDecl*/, ((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 5: // ExternalDeclList ::= error RIGHTCURLY { Node RESULT = null; RESULT = null; CUP$parser$result = new java_cup.runtime.Symbol(2/*ExternalDeclList*/, ((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 4: // ExternalDeclList ::= error SEMICOLON { Node RESULT = null; RESULT = null; CUP$parser$result = new java_cup.runtime.Symbol(2/*ExternalDeclList*/, ((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: // ExternalDeclList ::= ExternalDeclList ExternalDecl { Node RESULT = null; int declListleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left; int declListright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right; Node declList = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; int declleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int declright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node decl = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = new ExternalDeclListNode( declList, decl ); CUP$parser$result = new java_cup.runtime.Symbol(2/*ExternalDeclList*/, ((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 2: // ExternalDeclList ::= { Node RESULT = null; RESULT = null; CUP$parser$result = new java_cup.runtime.Symbol(2/*ExternalDeclList*/, ((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 1: // TranslationUnit ::= ExternalDeclList { Node RESULT = null; int declListleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left; int declListright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right; Node declList = (Node)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value; RESULT = declList; CUP$parser$result = new java_cup.runtime.Symbol(1/*TranslationUnit*/, ((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 ::= TranslationUnit 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; Node start_val = (Node)((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"); } } }