//----------------------------------------------------
// The following code was generated by CUP v0.10k
// Wed May 03 15:15:45 NZST 2006
//----------------------------------------------------
package grammar;
import java.util.*;
import java.io.*;
import java_cup.runtime.*;
/** CUP v0.10k generated parser.
* @version Wed May 03 15:15: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\253\000\002\002\004\000\002\003\005\000\002\004" +
"\010\000\002\005\010\000\002\006\002\000\002\006\003" +
"\000\002\007\005\000\002\010\003\000\002\010\005\000" +
"\002\011\003\000\002\012\002\000\002\012\003\000\002" +
"\013\005\000\002\014\003\000\002\014\005\000\002\015" +
"\005\000\002\016\003\000\002\016\005\000\002\017\003" +
"\000\002\017\004\000\002\017\004\000\002\017\003\000" +
"\002\017\004\000\002\017\004\000\002\017\003\000\002" +
"\017\004\000\002\017\004\000\002\017\003\000\002\020" +
"\002\000\002\020\003\000\002\021\005\000\002\022\003" +
"\000\002\022\005\000\002\023\005\000\002\024\003\000" +
"\002\024\003\000\002\024\003\000\002\025\003\000\002" +
"\025\003\000\002\025\003\000\002\026\005\000\002\027" +
"\005\000\002\030\003\000\002\030\004\000\002\031\003" +
"\000\002\031\003\000\002\031\003\000\002\031\003\000" +
"\002\032\010\000\002\033\003\000\002\033\005\000\002" +
"\034\005\000\002\035\003\000\002\035\005\000\002\036" +
"\002\000\002\036\005\000\002\037\002\000\002\037\005" +
"\000\002\040\010\000\002\040\006\000\002\041\003\000" +
"\002\041\005\000\002\042\002\000\002\042\007\000\002" +
"\043\005\000\002\044\005\000\002\045\004\000\002\046" +
"\002\000\002\046\003\000\002\047\005\000\002\050\002" +
"\000\002\050\005\000\002\051\005\000\002\052\002\000" +
"\002\052\005\000\002\053\002\000\002\053\005\000\002" +
"\053\005\000\002\054\004\000\002\055\004\000\002\056" +
"\005\000\002\056\010\000\002\057\007\000\002\057\012" +
"\000\002\060\003\000\002\060\005\000\002\061\006\000" +
"\002\061\005\000\002\061\006\000\002\061\004\000\002" +
"\062\003\000\002\062\005\000\002\063\003\000\002\063" +
"\003\000\002\064\005\000\002\064\003\000\002\064\006" +
"\000\002\064\006\000\002\064\003\000\002\064\004\000" +
"\002\064\002\000\002\065\003\000\002\065\003\000\002" +
"\065\003\000\002\065\003\000\002\066\003\000\002\066" +
"\006\000\002\066\005\000\002\066\004\000\002\067\003" +
"\000\002\067\005\000\002\071\003\000\002\071\005\000" +
"\002\071\007\000\002\070\003\000\002\070\005\000\002" +
"\072\003\000\002\072\005\000\002\072\005\000\002\072" +
"\005\000\002\072\005\000\002\072\005\000\002\072\005" +
"\000\002\072\005\000\002\073\003\000\002\073\004\000" +
"\002\073\004\000\002\073\005\000\002\073\005\000\002" +
"\073\005\000\002\074\003\000\002\074\005\000\002\074" +
"\005\000\002\074\005\000\002\074\005\000\002\074\005" +
"\000\002\075\003\000\002\075\003\000\002\075\003\000" +
"\002\075\003\000\002\075\003\000\002\075\003\000\002" +
"\075\003\000\002\075\005\000\002\075\003\000\002\075" +
"\003\000\002\075\004\000\002\076\006\000\002\077\005" +
"\000\002\077\004\000\002\100\003\000\002\100\005\000" +
"\002\101\003\000\002\101\005\000\002\102\005\000\002" +
"\103\003\000\002\103\005\000\002\104\006\000\002\104" +
"\010\000\002\104\007\000\002\105\003\000\002\105\005" +
"\000\002\106\002\000\002\106\005\000\002\107\006\000" +
"\002\107\006\000\002\107\012\000\002\107\012\000\002" +
"\110\006\000\002\111\003\000\002\111\005" });
/** Access to production table. */
public short[][] production_table() {return _production_table;}
/** Parse-action table. */
protected static final short[][] _action_table =
unpackFromStrings(new String[] {
"\000\u014c\000\004\034\006\001\002\000\004\002\u014e\001" +
"\002\000\020\006\ufffd\010\ufffd\020\ufffd\024\017\033\ufffd" +
"\042\ufffd\044\ufffd\001\002\000\004\074\007\001\002\000" +
"\004\063\010\001\002\000\006\064\uffb8\065\uffb8\001\002" +
"\000\006\064\013\065\012\001\002\000\004\074\015\001" +
"\002\000\004\066\014\001\002\000\020\006\uffff\010\uffff" +
"\020\uffff\024\uffff\033\uffff\042\uffff\044\uffff\001\002\000" +
"\012\064\uffb7\065\uffb7\066\uffb7\067\uffb7\001\002\000\016" +
"\006\ufff7\010\032\020\ufff7\033\ufff7\042\ufff7\044\ufff7\001" +
"\002\000\004\076\023\001\002\000\004\062\022\001\002" +
"\000\016\006\ufffc\010\ufffc\020\ufffc\033\ufffc\042\ufffc\044" +
"\ufffc\001\002\000\004\002\000\001\002\000\006\065\ufff8" +
"\066\ufff8\001\002\000\006\065\026\066\027\001\002\000" +
"\006\065\ufffa\066\ufffa\001\002\000\004\076\023\001\002" +
"\000\016\006\ufffb\010\ufffb\020\ufffb\033\ufffb\042\ufffb\044" +
"\ufffb\001\002\000\006\065\ufff9\066\ufff9\001\002\000\014" +
"\006\ufff6\020\ufff6\033\ufff6\042\ufff6\044\ufff6\001\002\000" +
"\004\074\u0148\001\002\000\014\006\uffe5\020\uffe5\033\uffe5" +
"\042\036\044\uffe5\001\002\000\012\006\uffe4\020\uffe4\033" +
"\uffe4\044\uffe4\001\002\000\012\006\uffbe\020\uffbe\033\uffbe" +
"\044\163\001\002\000\004\074\040\001\002\000\004\066" +
"\uffe2\001\002\000\004\054\044\001\002\000\004\066\042" +
"\001\002\000\014\006\uffe3\020\uffe3\033\uffe3\044\uffe3\074" +
"\040\001\002\000\004\066\uffe1\001\002\000\034\005\073" +
"\016\054\032\055\035\065\037\063\050\050\051\067\063" +
"\061\073\046\074\045\076\056\077\064\101\051\001\002" +
"\000\016\015\uffdc\064\uffdc\065\uffdc\066\uffdc\070\uffe9\072" +
"\uffdc\001\002\000\004\074\162\001\002\000\010\015\uffdf" +
"\064\uffdf\066\uffdf\001\002\000\010\074\161\076\157\077" +
"\160\001\002\000\020\015\uffe6\064\uffe6\065\uffe6\066\uffe6" +
"\067\uffe6\070\uffe6\072\uffe6\001\002\000\010\015\uffd2\064" +
"\uffd2\066\uffd2\001\002\000\004\070\155\001\002\000\004" +
"\030\153\001\002\000\012\005\073\016\054\035\065\037" +
"\063\001\002\000\020\015\uffef\064\uffef\065\uffef\066\uffef" +
"\067\uffef\070\uffef\072\uffef\001\002\000\004\066\uffe0\001" +
"\002\000\010\015\uffd4\064\uffd4\066\uffd4\001\002\000\006" +
"\064\uffb8\065\uffb8\001\002\000\010\015\uffdd\064\uffdd\066" +
"\uffdd\001\002\000\004\030\146\001\002\000\020\015\uffec" +
"\064\uffec\065\uffec\066\uffec\067\uffec\070\uffec\072\uffec\001" +
"\002\000\006\015\uffcb\066\uffcb\001\002\000\014\015\uffdb" +
"\064\uffdb\065\uffdb\066\uffdb\072\uffdb\001\002\000\010\074" +
"\110\076\106\077\107\001\002\000\010\015\uffd5\064\uffd5" +
"\066\uffd5\001\002\000\010\015\uffd7\064\uffd7\066\uffd7\001" +
"\002\000\014\015\uffda\064\uffda\065\uffda\066\uffda\072\uffda" +
"\001\002\000\004\071\076\001\002\000\010\015\uffd3\064" +
"\uffd3\066\uffd3\001\002\000\010\015\uffde\064\uffde\066\uffde" +
"\001\002\000\020\050\050\051\067\063\061\074\045\076" +
"\056\077\064\101\051\001\002\000\006\065\uffd0\072\uffd0" +
"\001\002\000\006\065\101\072\102\001\002\000\020\050" +
"\050\051\067\063\061\074\045\076\056\077\064\101\051" +
"\001\002\000\004\030\103\001\002\000\034\005\073\016" +
"\054\032\055\035\065\037\063\050\050\051\067\063\061" +
"\073\046\074\045\076\056\077\064\101\051\001\002\000" +
"\010\015\uffd1\064\uffd1\066\uffd1\001\002\000\006\065\uffcf" +
"\072\uffcf\001\002\000\020\015\uffed\064\uffed\065\uffed\066" +
"\uffed\067\uffed\070\uffed\072\uffed\001\002\000\020\015\uffea" +
"\064\uffea\065\uffea\066\uffea\067\uffea\070\uffea\072\uffea\001" +
"\002\000\020\015\uffe7\064\uffe7\065\uffe7\066\uffe7\067\uffe7" +
"\070\uffe7\072\uffe7\001\002\000\004\015\145\001\002\000" +
"\010\015\uffcd\064\uffcd\066\113\001\002\000\016\007\117" +
"\015\uffc9\064\uffc9\065\uffb8\066\uffc9\067\uffb8\001\002\000" +
"\006\015\uffcc\064\uffcc\001\002\000\010\015\uffca\064\uffca" +
"\066\uffca\001\002\000\006\065\012\067\143\001\002\000" +
"\004\074\120\001\002\000\006\030\122\067\121\001\002" +
"\000\004\074\140\001\002\000\024\015\uffc3\050\050\051" +
"\067\064\uffc3\066\uffc3\074\123\076\056\077\064\101\051" +
"\001\002\000\016\015\uffe9\064\uffe9\065\uffe9\066\uffe9\067" +
"\uffe9\072\uffe9\001\002\000\010\015\uffc6\064\uffc6\066\136" +
"\001\002\000\006\065\ufff1\067\ufff1\001\002\000\006\065" +
"\130\067\131\001\002\000\010\015\uffc5\064\uffc5\066\uffc5" +
"\001\002\000\016\050\050\051\067\074\123\076\056\077" +
"\064\101\051\001\002\000\004\063\132\001\002\000\006" +
"\064\uffcb\066\uffcb\001\002\000\004\064\134\001\002\000" +
"\010\015\uffc2\064\uffc2\066\uffc2\001\002\000\006\065\ufff0" +
"\067\ufff0\001\002\000\024\015\uffc3\050\050\051\067\064" +
"\uffc3\066\uffc3\074\123\076\056\077\064\101\051\001\002" +
"\000\010\015\uffc4\064\uffc4\066\uffc4\001\002\000\004\030" +
"\141\001\002\000\024\015\uffc3\050\050\051\067\064\uffc3" +
"\066\uffc3\074\123\076\056\077\064\101\051\001\002\000" +
"\010\015\uffc7\064\uffc7\066\136\001\002\000\034\005\073" +
"\016\054\032\055\035\065\037\063\050\050\051\067\063" +
"\061\073\046\074\045\076\056\077\064\101\051\001\002" +
"\000\010\015\uffc8\064\uffc8\066\uffc8\001\002\000\010\015" +
"\uffce\064\uffce\066\uffce\001\002\000\020\050\050\051\067" +
"\063\061\074\045\076\056\077\064\101\051\001\002\000" +
"\010\015\uffc1\064\uffc1\066\uffc1\001\002\000\006\064\151" +
"\065\012\001\002\000\014\015\uffd9\064\uffd9\065\uffd9\066" +
"\uffd9\072\uffd9\001\002\000\010\015\uffd6\064\uffd6\066\uffd6" +
"\001\002\000\034\005\073\016\054\032\055\035\065\037" +
"\063\050\050\051\067\063\061\073\046\074\045\076\056" +
"\077\064\101\051\001\002\000\010\015\uffc0\064\uffc0\066" +
"\uffc0\001\002\000\016\050\050\051\067\074\123\076\056" +
"\077\064\101\051\001\002\000\014\015\uffd8\064\uffd8\065" +
"\uffd8\066\uffd8\072\uffd8\001\002\000\020\015\uffee\064\uffee" +
"\065\uffee\066\uffee\067\uffee\070\uffee\072\uffee\001\002\000" +
"\020\015\uffeb\064\uffeb\065\uffeb\066\uffeb\067\uffeb\070\uffeb" +
"\072\uffeb\001\002\000\020\015\uffe8\064\uffe8\065\uffe8\066" +
"\uffe8\067\uffe8\070\uffe8\072\uffe8\001\002\000\010\015\uffbf" +
"\064\uffbf\066\uffbf\001\002\000\004\066\uffbb\001\002\000" +
"\010\006\uffbd\020\uffbd\033\uffbd\001\002\000\010\006\uffb6" +
"\020\uffb6\033\uffb6\001\002\000\010\006\173\020\176\033" +
"\171\001\002\000\006\062\ufffe\066\ufffe\001\002\000\020" +
"\006\ufffd\010\ufffd\020\ufffd\024\017\033\ufffd\042\ufffd\044" +
"\ufffd\001\002\000\004\074\u0139\001\002\000\020\006\ufffd" +
"\010\ufffd\020\ufffd\024\017\033\ufffd\042\ufffd\044\ufffd\001" +
"\002\000\036\006\173\007\247\015\uff9d\017\255\021\235" +
"\022\242\036\256\045\236\046\243\066\uff9d\074\233\076" +
"\241\104\244\105\237\001\002\000\004\066\232\001\002" +
"\000\004\066\231\001\002\000\004\074\177\001\002\000" +
"\006\063\200\067\201\001\002\000\014\020\211\033\205" +
"\044\204\065\uffb8\067\uffb8\001\002\000\004\074\202\001" +
"\002\000\004\066\203\001\002\000\020\006\uffaf\010\uffaf" +
"\020\uffaf\024\uffaf\033\uffaf\042\uffaf\044\uffaf\001\002\000" +
"\006\065\uffb8\067\uffb8\001\002\000\010\064\uffb8\065\uffb8" +
"\066\uffb8\001\002\000\006\064\220\066\217\001\002\000" +
"\006\065\012\067\215\001\002\000\006\064\uffad\066\uffad" +
"\001\002\000\006\065\uffb8\067\uffb8\001\002\000\006\065" +
"\012\067\213\001\002\000\034\005\073\016\054\032\055" +
"\035\065\037\063\050\050\051\067\063\061\073\046\074" +
"\045\076\056\077\064\101\051\001\002\000\006\064\uffa9" +
"\066\uffa9\001\002\000\034\005\073\016\054\032\055\035" +
"\065\037\063\050\050\051\067\063\061\073\046\074\045" +
"\076\056\077\064\101\051\001\002\000\006\064\uffaa\066" +
"\uffaa\001\002\000\014\020\211\033\205\044\204\065\uffb8" +
"\067\uffb8\001\002\000\004\067\221\001\002\000\004\074" +
"\222\001\002\000\004\066\223\001\002\000\020\006\uffae" +
"\010\uffae\020\uffae\024\uffae\033\uffae\042\uffae\044\uffae\001" +
"\002\000\006\064\uffac\066\uffac\001\002\000\010\064\uffa8" +
"\065\012\066\uffa8\001\002\000\006\065\012\067\227\001" +
"\002\000\034\005\073\016\054\032\055\035\065\037\063" +
"\050\050\051\067\063\061\073\046\074\045\076\056\077" +
"\064\101\051\001\002\000\006\064\uffab\066\uffab\001\002" +
"\000\010\006\uffb4\020\uffb4\033\uffb4\001\002\000\010\006" +
"\uffb5\020\uffb5\033\uffb5\001\002\000\024\014\uff9f\015\uff9f" +
"\043\uff9f\047\uff98\062\uff98\063\352\066\uff9f\071\uff98\073" +
"\uff98\001\002\000\010\015\uff66\043\uff66\066\uff66\001\002" +
"\000\004\076\u0137\001\002\000\032\026\300\027\274\050" +
"\271\051\304\063\301\071\272\074\270\075\310\076\276" +
"\077\303\100\302\101\273\001\002\000\004\063\u0131\001" +
"\002\000\012\014\uffa2\015\uffa2\043\uffa2\066\uffa2\001\002" +
"\000\004\067\u012f\001\002\000\032\026\300\027\274\050" +
"\271\051\304\063\301\071\272\074\270\075\310\076\276" +
"\077\303\100\302\101\273\001\002\000\004\074\u0125\001" +
"\002\000\004\063\u0118\001\002\000\012\014\uff9a\015\uff9a" +
"\043\uff9a\066\uff9a\001\002\000\012\014\uff9c\015\uff9c\043" +
"\uff9c\066\uff9c\001\002\000\032\026\300\027\274\050\271" +
"\051\304\063\301\071\272\074\270\075\310\076\276\077" +
"\303\100\302\101\273\001\002\000\012\014\uffa4\015\uffa4" +
"\043\uffa4\066\uffa4\001\002\000\012\047\u010c\062\324\071" +
"\325\073\323\001\002\000\012\014\uff99\015\uff99\043\uff99" +
"\066\uff99\001\002\000\012\014\uffa7\015\uffa7\043\uffa7\066" +
"\uffa7\001\002\000\012\014\uffa5\015\uffa5\043\uffa5\066\uffa5" +
"\001\002\000\004\074\u0101\001\002\000\036\006\173\007" +
"\247\017\255\021\235\022\242\036\256\043\uff9d\045\236" +
"\046\243\066\uff9d\074\233\076\241\104\244\105\237\001" +
"\002\000\012\014\uff9b\015\uff9b\043\uff9b\066\uff9b\001\002" +
"\000\006\015\262\066\261\001\002\000\040\006\173\007" +
"\247\015\uff9d\017\255\021\235\022\242\036\256\043\uff9d" +
"\045\236\046\243\066\uff9d\074\233\076\241\104\244\105" +
"\237\001\002\000\014\014\uff67\015\uff67\043\uff67\062\uff67" +
"\066\uff67\001\002\000\010\015\uff65\043\uff65\066\uff65\001" +
"\002\000\006\043\265\066\261\001\002\000\032\026\300" +
"\027\274\050\271\051\304\063\301\071\272\074\270\075" +
"\310\076\276\077\303\100\302\101\273\001\002\000\074" +
"\004\uff7f\011\uff7f\012\uff7f\013\uff7f\014\uff7f\015\uff7f\023" +
"\uff7f\025\uff7f\030\uff7f\031\uff7f\040\uff7f\041\uff7f\043\uff7f" +
"\050\uff7f\051\uff7f\052\uff7f\053\uff7f\054\uff7f\055\uff7f\056" +
"\uff7f\057\uff7f\060\uff7f\061\uff7f\064\uff7f\065\uff7f\066\uff7f" +
"\067\uff7f\070\uff7f\072\uff7f\001\002\000\062\012\uff8d\013" +
"\uff8d\014\uff8d\015\uff8d\023\356\030\uff8d\031\366\040\uff8d" +
"\041\uff8d\043\uff8d\050\360\051\355\054\361\055\364\056" +
"\365\057\363\060\362\061\357\064\uff8d\065\uff8d\066\uff8d" +
"\067\uff8d\070\uff8d\072\uff8d\001\002\000\104\004\uff98\011" +
"\uff98\012\uff98\013\uff98\014\uff98\015\uff98\023\uff98\025\uff98" +
"\030\uff98\031\uff98\040\uff98\041\uff98\043\uff98\050\uff98\051" +
"\uff98\052\uff98\053\uff98\054\uff98\055\uff98\056\uff98\057\uff98" +
"\060\uff98\061\uff98\062\uff98\063\352\064\uff98\065\uff98\066" +
"\uff98\067\uff98\070\uff98\071\uff98\072\uff98\073\uff98\001\002" +
"\000\026\026\300\027\274\063\301\071\272\074\270\075" +
"\310\076\276\077\303\100\302\101\273\001\002\000\034" +
"\026\300\027\274\050\271\051\304\063\301\071\272\072" +
"\341\074\270\075\310\076\276\077\303\100\302\101\273" +
"\001\002\000\074\004\uff74\011\uff74\012\uff74\013\uff74\014" +
"\uff74\015\uff74\023\uff74\025\uff74\030\uff74\031\uff74\040\uff74" +
"\041\uff74\043\uff74\050\uff74\051\uff74\052\uff74\053\uff74\054" +
"\uff74\055\uff74\056\uff74\057\uff74\060\uff74\061\uff74\064\uff74" +
"\065\uff74\066\uff74\067\uff74\070\uff74\072\uff74\001\002\000" +
"\026\026\300\027\274\063\301\071\272\074\270\075\310" +
"\076\276\077\303\100\302\101\273\001\002\000\074\004" +
"\uff71\011\uff71\012\uff71\013\uff71\014\uff71\015\uff71\023\uff71" +
"\025\uff71\030\uff71\031\uff71\040\uff71\041\uff71\043\uff71\050" +
"\uff71\051\uff71\052\uff71\053\uff71\054\uff71\055\uff71\056\uff71" +
"\057\uff71\060\uff71\061\uff71\064\uff71\065\uff71\066\uff71\067" +
"\uff71\070\uff71\072\uff71\001\002\000\074\004\uff77\011\uff77" +
"\012\uff77\013\uff77\014\uff77\015\uff77\023\uff77\025\uff77\030" +
"\uff77\031\uff77\040\uff77\041\uff77\043\uff77\050\uff77\051\uff77" +
"\052\uff77\053\uff77\054\uff77\055\uff77\056\uff77\057\uff77\060" +
"\uff77\061\uff77\064\uff77\065\uff77\066\uff77\067\uff77\070\uff77" +
"\072\uff77\001\002\000\012\014\uff5c\015\uff5c\043\uff5c\066" +
"\uff5c\001\002\000\074\004\uff73\011\uff73\012\uff73\013\uff73" +
"\014\uff73\015\uff73\023\uff73\025\uff73\030\uff73\031\uff73\040" +
"\uff73\041\uff73\043\uff73\050\uff73\051\uff73\052\uff73\053\uff73" +
"\054\uff73\055\uff73\056\uff73\057\uff73\060\uff73\061\uff73\064" +
"\uff73\065\uff73\066\uff73\067\uff73\070\uff73\072\uff73\001\002" +
"\000\032\026\300\027\274\050\271\051\304\063\301\071" +
"\272\074\270\075\310\076\276\077\303\100\302\101\273" +
"\001\002\000\074\004\uff75\011\uff75\012\uff75\013\uff75\014" +
"\uff75\015\uff75\023\uff75\025\uff75\030\uff75\031\uff75\040\uff75" +
"\041\uff75\043\uff75\050\uff75\051\uff75\052\uff75\053\uff75\054" +
"\uff75\055\uff75\056\uff75\057\uff75\060\uff75\061\uff75\064\uff75" +
"\065\uff75\066\uff75\067\uff75\070\uff75\072\uff75\001\002\000" +
"\074\004\uff76\011\uff76\012\uff76\013\uff76\014\uff76\015\uff76" +
"\023\uff76\025\uff76\030\uff76\031\uff76\040\uff76\041\uff76\043" +
"\uff76\050\uff76\051\uff76\052\uff76\053\uff76\054\uff76\055\uff76" +
"\056\uff76\057\uff76\060\uff76\061\uff76\064\uff76\065\uff76\066" +
"\uff76\067\uff76\070\uff76\072\uff76\001\002\000\026\026\300" +
"\027\274\063\301\071\272\074\270\075\310\076\276\077" +
"\303\100\302\101\273\001\002\000\102\004\uff79\011\uff79" +
"\012\uff79\013\uff79\014\uff79\015\uff79\023\uff79\025\uff79\030" +
"\uff79\031\uff79\040\uff79\041\uff79\043\uff79\050\uff79\051\uff79" +
"\052\uff79\053\uff79\054\uff79\055\uff79\056\uff79\057\uff79\060" +
"\uff79\061\uff79\062\324\064\uff79\065\uff79\066\uff79\067\uff79" +
"\070\uff79\071\325\072\uff79\073\323\001\002\000\074\004" +
"\uff70\011\uff70\012\uff70\013\uff70\014\uff70\015\uff70\023\uff70" +
"\025\uff70\030\uff70\031\uff70\040\uff70\041\uff70\043\uff70\050" +
"\uff70\051\uff70\052\uff70\053\uff70\054\uff70\055\uff70\056\uff70" +
"\057\uff70\060\uff70\061\uff70\064\uff70\065\uff70\066\uff70\067" +
"\uff70\070\uff70\072\uff70\001\002\000\074\004\312\011\314" +
"\012\uff85\013\uff85\014\uff85\015\uff85\023\uff85\025\311\030" +
"\uff85\031\uff85\040\uff85\041\uff85\043\uff85\050\uff85\051\uff85" +
"\052\315\053\313\054\uff85\055\uff85\056\uff85\057\uff85\060" +
"\uff85\061\uff85\064\uff85\065\uff85\066\uff85\067\uff85\070\uff85" +
"\072\uff85\001\002\000\074\004\uff78\011\uff78\012\uff78\013" +
"\uff78\014\uff78\015\uff78\023\uff78\025\uff78\030\uff78\031\uff78" +
"\040\uff78\041\uff78\043\uff78\050\uff78\051\uff78\052\uff78\053" +
"\uff78\054\uff78\055\uff78\056\uff78\057\uff78\060\uff78\061\uff78" +
"\064\uff78\065\uff78\066\uff78\067\uff78\070\uff78\072\uff78\001" +
"\002\000\026\026\300\027\274\063\301\071\272\074\270" +
"\075\310\076\276\077\303\100\302\101\273\001\002\000" +
"\026\026\300\027\274\063\301\071\272\074\270\075\310" +
"\076\276\077\303\100\302\101\273\001\002\000\026\026" +
"\300\027\274\063\301\071\272\074\270\075\310\076\276" +
"\077\303\100\302\101\273\001\002\000\026\026\300\027" +
"\274\063\301\071\272\074\270\075\310\076\276\077\303" +
"\100\302\101\273\001\002\000\026\026\300\027\274\063" +
"\301\071\272\074\270\075\310\076\276\077\303\100\302" +
"\101\273\001\002\000\074\004\uff7e\011\uff7e\012\uff7e\013" +
"\uff7e\014\uff7e\015\uff7e\023\uff7e\025\uff7e\030\uff7e\031\uff7e" +
"\040\uff7e\041\uff7e\043\uff7e\050\uff7e\051\uff7e\052\uff7e\053" +
"\uff7e\054\uff7e\055\uff7e\056\uff7e\057\uff7e\060\uff7e\061\uff7e" +
"\064\uff7e\065\uff7e\066\uff7e\067\uff7e\070\uff7e\072\uff7e\001" +
"\002\000\074\004\uff7c\011\uff7c\012\uff7c\013\uff7c\014\uff7c" +
"\015\uff7c\023\uff7c\025\uff7c\030\uff7c\031\uff7c\040\uff7c\041" +
"\uff7c\043\uff7c\050\uff7c\051\uff7c\052\uff7c\053\uff7c\054\uff7c" +
"\055\uff7c\056\uff7c\057\uff7c\060\uff7c\061\uff7c\064\uff7c\065" +
"\uff7c\066\uff7c\067\uff7c\070\uff7c\072\uff7c\001\002\000\074" +
"\004\uff7d\011\uff7d\012\uff7d\013\uff7d\014\uff7d\015\uff7d\023" +
"\uff7d\025\uff7d\030\uff7d\031\uff7d\040\uff7d\041\uff7d\043\uff7d" +
"\050\uff7d\051\uff7d\052\uff7d\053\uff7d\054\uff7d\055\uff7d\056" +
"\uff7d\057\uff7d\060\uff7d\061\uff7d\064\uff7d\065\uff7d\066\uff7d" +
"\067\uff7d\070\uff7d\072\uff7d\001\002\000\074\004\uff7a\011" +
"\uff7a\012\uff7a\013\uff7a\014\uff7a\015\uff7a\023\uff7a\025\uff7a" +
"\030\uff7a\031\uff7a\040\uff7a\041\uff7a\043\uff7a\050\uff7a\051" +
"\uff7a\052\uff7a\053\uff7a\054\uff7a\055\uff7a\056\uff7a\057\uff7a" +
"\060\uff7a\061\uff7a\064\uff7a\065\uff7a\066\uff7a\067\uff7a\070" +
"\uff7a\072\uff7a\001\002\000\074\004\uff7b\011\uff7b\012\uff7b" +
"\013\uff7b\014\uff7b\015\uff7b\023\uff7b\025\uff7b\030\uff7b\031" +
"\uff7b\040\uff7b\041\uff7b\043\uff7b\050\uff7b\051\uff7b\052\uff7b" +
"\053\uff7b\054\uff7b\055\uff7b\056\uff7b\057\uff7b\060\uff7b\061" +
"\uff7b\064\uff7b\065\uff7b\066\uff7b\067\uff7b\070\uff7b\072\uff7b" +
"\001\002\000\104\004\uff95\011\uff95\012\uff95\013\uff95\014" +
"\uff95\015\uff95\023\uff95\025\uff95\030\uff95\031\uff95\040\uff95" +
"\041\uff95\043\uff95\047\uff95\050\uff95\051\uff95\052\uff95\053" +
"\uff95\054\uff95\055\uff95\056\uff95\057\uff95\060\uff95\061\uff95" +
"\062\uff95\064\uff95\065\uff95\066\uff95\067\uff95\070\uff95\071" +
"\uff95\072\uff95\073\uff95\001\002\000\004\074\333\001\002" +
"\000\032\026\300\027\274\050\271\051\304\063\301\071" +
"\272\074\270\075\310\076\276\077\303\100\302\101\273" +
"\001\002\000\006\065\330\072\331\001\002\000\010\064" +
"\uff8f\065\uff8f\072\uff8f\001\002\000\032\026\300\027\274" +
"\050\271\051\304\063\301\071\272\074\270\075\310\076" +
"\276\077\303\100\302\101\273\001\002\000\104\004\uff97" +
"\011\uff97\012\uff97\013\uff97\014\uff97\015\uff97\023\uff97\025" +
"\uff97\030\uff97\031\uff97\040\uff97\041\uff97\043\uff97\047\uff97" +
"\050\uff97\051\uff97\052\uff97\053\uff97\054\uff97\055\uff97\056" +
"\uff97\057\uff97\060\uff97\061\uff97\062\uff97\064\uff97\065\uff97" +
"\066\uff97\067\uff97\070\uff97\071\uff97\072\uff97\073\uff97\001" +
"\002\000\010\064\uff8e\065\uff8e\072\uff8e\001\002\000\104" +
"\004\uff96\011\uff96\012\uff96\013\uff96\014\uff96\015\uff96\023" +
"\uff96\025\uff96\030\uff96\031\uff96\040\uff96\041\uff96\043\uff96" +
"\047\uff96\050\uff96\051\uff96\052\uff96\053\uff96\054\uff96\055" +
"\uff96\056\uff96\057\uff96\060\uff96\061\uff96\062\uff96\064\uff96" +
"\065\uff96\066\uff96\067\uff96\070\uff96\071\uff96\072\uff96\073" +
"\uff96\001\002\000\074\004\312\011\314\012\uff83\013\uff83" +
"\014\uff83\015\uff83\023\uff83\025\311\030\uff83\031\uff83\040" +
"\uff83\041\uff83\043\uff83\050\uff83\051\uff83\052\315\053\313" +
"\054\uff83\055\uff83\056\uff83\057\uff83\060\uff83\061\uff83\064" +
"\uff83\065\uff83\066\uff83\067\uff83\070\uff83\072\uff83\001\002" +
"\000\004\064\336\001\002\000\074\004\uff72\011\uff72\012" +
"\uff72\013\uff72\014\uff72\015\uff72\023\uff72\025\uff72\030\uff72" +
"\031\uff72\040\uff72\041\uff72\043\uff72\050\uff72\051\uff72\052" +
"\uff72\053\uff72\054\uff72\055\uff72\056\uff72\057\uff72\060\uff72" +
"\061\uff72\064\uff72\065\uff72\066\uff72\067\uff72\070\uff72\072" +
"\uff72\001\002\000\074\004\uff6f\011\uff6f\012\uff6f\013\uff6f" +
"\014\uff6f\015\uff6f\023\uff6f\025\uff6f\030\uff6f\031\uff6f\040" +
"\uff6f\041\uff6f\043\uff6f\050\uff6f\051\uff6f\052\uff6f\053\uff6f" +
"\054\uff6f\055\uff6f\056\uff6f\057\uff6f\060\uff6f\061\uff6f\064" +
"\uff6f\065\uff6f\066\uff6f\067\uff6f\070\uff6f\072\uff6f\001\002" +
"\000\010\065\uff69\070\347\072\uff69\001\002\000\074\004" +
"\uff6c\011\uff6c\012\uff6c\013\uff6c\014\uff6c\015\uff6c\023\uff6c" +
"\025\uff6c\030\uff6c\031\uff6c\040\uff6c\041\uff6c\043\uff6c\050" +
"\uff6c\051\uff6c\052\uff6c\053\uff6c\054\uff6c\055\uff6c\056\uff6c" +
"\057\uff6c\060\uff6c\061\uff6c\064\uff6c\065\uff6c\066\uff6c\067" +
"\uff6c\070\uff6c\072\uff6c\001\002\000\006\065\uff6b\072\uff6b" +
"\001\002\000\006\065\344\072\345\001\002\000\032\026" +
"\300\027\274\050\271\051\304\063\301\071\272\074\270" +
"\075\310\076\276\077\303\100\302\101\273\001\002\000" +
"\074\004\uff6d\011\uff6d\012\uff6d\013\uff6d\014\uff6d\015\uff6d" +
"\023\uff6d\025\uff6d\030\uff6d\031\uff6d\040\uff6d\041\uff6d\043" +
"\uff6d\050\uff6d\051\uff6d\052\uff6d\053\uff6d\054\uff6d\055\uff6d" +
"\056\uff6d\057\uff6d\060\uff6d\061\uff6d\064\uff6d\065\uff6d\066" +
"\uff6d\067\uff6d\070\uff6d\072\uff6d\001\002\000\006\065\uff6a" +
"\072\uff6a\001\002\000\032\026\300\027\274\050\271\051" +
"\304\063\301\071\272\074\270\075\310\076\276\077\303" +
"\100\302\101\273\001\002\000\006\065\uff68\072\uff68\001" +
"\002\000\074\004\312\011\314\012\uff84\013\uff84\014\uff84" +
"\015\uff84\023\uff84\025\311\030\uff84\031\uff84\040\uff84\041" +
"\uff84\043\uff84\050\uff84\051\uff84\052\315\053\313\054\uff84" +
"\055\uff84\056\uff84\057\uff84\060\uff84\061\uff84\064\uff84\065" +
"\uff84\066\uff84\067\uff84\070\uff84\072\uff84\001\002\000\032" +
"\026\300\027\274\050\271\051\304\063\301\071\272\074" +
"\270\075\310\076\276\077\303\100\302\101\273\001\002" +
"\000\006\064\354\065\330\001\002\000\074\004\uff6e\011" +
"\uff6e\012\uff6e\013\uff6e\014\uff6e\015\uff6e\023\uff6e\025\uff6e" +
"\030\uff6e\031\uff6e\040\uff6e\041\uff6e\043\uff6e\050\uff6e\051" +
"\uff6e\052\uff6e\053\uff6e\054\uff6e\055\uff6e\056\uff6e\057\uff6e" +
"\060\uff6e\061\uff6e\064\uff6e\065\uff6e\066\uff6e\067\uff6e\070" +
"\uff6e\072\uff6e\001\002\000\026\026\300\027\274\063\301" +
"\071\272\074\270\075\310\076\276\077\303\100\302\101" +
"\273\001\002\000\032\026\300\027\274\050\271\051\304" +
"\063\301\071\272\074\270\075\310\076\276\077\303\100" +
"\302\101\273\001\002\000\032\026\300\027\274\050\271" +
"\051\304\063\301\071\272\074\270\075\310\076\276\077" +
"\303\100\302\101\273\001\002\000\026\026\300\027\274" +
"\063\301\071\272\074\270\075\310\076\276\077\303\100" +
"\302\101\273\001\002\000\032\026\300\027\274\050\271" +
"\051\304\063\301\071\272\074\270\075\310\076\276\077" +
"\303\100\302\101\273\001\002\000\032\026\300\027\274" +
"\050\271\051\304\063\301\071\272\074\270\075\310\076" +
"\276\077\303\100\302\101\273\001\002\000\032\026\300" +
"\027\274\050\271\051\304\063\301\071\272\074\270\075" +
"\310\076\276\077\303\100\302\101\273\001\002\000\032" +
"\026\300\027\274\050\271\051\304\063\301\071\272\074" +
"\270\075\310\076\276\077\303\100\302\101\273\001\002" +
"\000\032\026\300\027\274\050\271\051\304\063\301\071" +
"\272\074\270\075\310\076\276\077\303\100\302\101\273" +
"\001\002\000\026\026\300\027\274\063\301\071\272\074" +
"\270\075\310\076\276\077\303\100\302\101\273\001\002" +
"\000\074\004\312\011\314\012\uff80\013\uff80\014\uff80\015" +
"\uff80\023\uff80\025\311\030\uff80\031\uff80\040\uff80\041\uff80" +
"\043\uff80\050\uff80\051\uff80\052\315\053\313\054\uff80\055" +
"\uff80\056\uff80\057\uff80\060\uff80\061\uff80\064\uff80\065\uff80" +
"\066\uff80\067\uff80\070\uff80\072\uff80\001\002\000\044\012" +
"\uff8a\013\uff8a\014\uff8a\015\uff8a\030\uff8a\031\366\040\uff8a" +
"\041\uff8a\043\uff8a\050\360\051\355\064\uff8a\065\uff8a\066" +
"\uff8a\067\uff8a\070\uff8a\072\uff8a\001\002\000\044\012\uff8b" +
"\013\uff8b\014\uff8b\015\uff8b\030\uff8b\031\366\040\uff8b\041" +
"\uff8b\043\uff8b\050\360\051\355\064\uff8b\065\uff8b\066\uff8b" +
"\067\uff8b\070\uff8b\072\uff8b\001\002\000\044\012\uff88\013" +
"\uff88\014\uff88\015\uff88\030\uff88\031\366\040\uff88\041\uff88" +
"\043\uff88\050\360\051\355\064\uff88\065\uff88\066\uff88\067" +
"\uff88\070\uff88\072\uff88\001\002\000\044\012\uff89\013\uff89" +
"\014\uff89\015\uff89\030\uff89\031\366\040\uff89\041\uff89\043" +
"\uff89\050\360\051\355\064\uff89\065\uff89\066\uff89\067\uff89" +
"\070\uff89\072\uff89\001\002\000\044\012\uff8c\013\uff8c\014" +
"\uff8c\015\uff8c\030\uff8c\031\366\040\uff8c\041\uff8c\043\uff8c" +
"\050\360\051\355\064\uff8c\065\uff8c\066\uff8c\067\uff8c\070" +
"\uff8c\072\uff8c\001\002\000\074\004\312\011\314\012\uff82" +
"\013\uff82\014\uff82\015\uff82\023\uff82\025\311\030\uff82\031" +
"\uff82\040\uff82\041\uff82\043\uff82\050\uff82\051\uff82\052\315" +
"\053\313\054\uff82\055\uff82\056\uff82\057\uff82\060\uff82\061" +
"\uff82\064\uff82\065\uff82\066\uff82\067\uff82\070\uff82\072\uff82" +
"\001\002\000\044\012\uff87\013\uff87\014\uff87\015\uff87\030" +
"\uff87\031\366\040\uff87\041\uff87\043\uff87\050\360\051\355" +
"\064\uff87\065\uff87\066\uff87\067\uff87\070\uff87\072\uff87\001" +
"\002\000\044\012\uff86\013\uff86\014\uff86\015\uff86\030\uff86" +
"\031\366\040\uff86\041\uff86\043\uff86\050\360\051\355\064" +
"\uff86\065\uff86\066\uff86\067\uff86\070\uff86\072\uff86\001\002" +
"\000\074\004\312\011\314\012\uff81\013\uff81\014\uff81\015" +
"\uff81\023\uff81\025\311\030\uff81\031\uff81\040\uff81\041\uff81" +
"\043\uff81\050\uff81\051\uff81\052\315\053\313\054\uff81\055" +
"\uff81\056\uff81\057\uff81\060\uff81\061\uff81\064\uff81\065\uff81" +
"\066\uff81\067\uff81\070\uff81\072\uff81\001\002\000\004\047" +
"\u0102\001\002\000\032\026\300\027\274\050\271\051\304" +
"\063\301\071\272\074\270\075\310\076\276\077\303\100" +
"\302\101\273\001\002\000\006\013\u0105\041\u0104\001\002" +
"\000\032\026\300\027\274\050\271\051\304\063\301\071" +
"\272\074\270\075\310\076\276\077\303\100\302\101\273" +
"\001\002\000\032\026\300\027\274\050\271\051\304\063" +
"\301\071\272\074\270\075\310\076\276\077\303\100\302" +
"\101\273\001\002\000\004\012\u0107\001\002\000\042\006" +
"\173\007\247\014\uff9d\015\uff9d\017\255\021\235\022\242" +
"\036\256\043\uff9d\045\236\046\243\066\uff9d\074\233\076" +
"\241\104\244\105\237\001\002\000\012\014\uff5a\015\uff5a" +
"\043\uff5a\066\uff5a\001\002\000\004\012\u010a\001\002\000" +
"\042\006\173\007\247\014\uff9d\015\uff9d\017\255\021\235" +
"\022\242\036\256\043\uff9d\045\236\046\243\066\uff9d\074" +
"\233\076\241\104\244\105\237\001\002\000\012\014\uff5b" +
"\015\uff5b\043\uff5b\066\uff5b\001\002\000\032\026\300\027" +
"\274\050\271\051\304\063\301\071\272\074\270\075\310" +
"\076\276\077\303\100\302\101\273\001\002\000\012\014" +
"\uffa3\015\uffa3\043\uffa3\066\uffa3\001\002\000\004\030\u010f" +
"\001\002\000\022\015\uff5f\050\050\051\067\066\uff5f\074" +
"\123\076\056\077\064\101\051\001\002\000\006\015\u0116" +
"\066\u0115\001\002\000\006\065\130\067\u0113\001\002\000" +
"\006\015\uff61\066\uff61\001\002\000\036\006\173\007\247" +
"\015\uff9d\017\255\021\235\022\242\036\256\045\236\046" +
"\243\066\uff9d\074\233\076\241\104\244\105\237\001\002" +
"\000\006\015\uff5e\066\uff5e\001\002\000\022\015\uff5f\050" +
"\050\051\067\066\uff5f\074\123\076\056\077\064\101\051" +
"\001\002\000\012\014\uff62\015\uff62\043\uff62\066\uff62\001" +
"\002\000\006\015\uff60\066\uff60\001\002\000\032\026\300" +
"\027\274\050\271\051\304\063\301\071\272\074\270\075" +
"\310\076\276\077\303\100\302\101\273\001\002\000\010" +
"\064\uff92\065\uff92\067\u011f\001\002\000\006\064\u011d\065" +
"\u011c\001\002\000\006\064\uff94\065\uff94\001\002\000\032" +
"\026\300\027\274\050\271\051\304\063\301\071\272\074" +
"\270\075\310\076\276\077\303\100\302\101\273\001\002" +
"\000\012\014\uffa1\015\uffa1\043\uffa1\066\uffa1\001\002\000" +
"\006\064\uff93\065\uff93\001\002\000\032\026\300\027\274" +
"\050\271\051\304\063\301\071\272\074\270\075\310\076" +
"\276\077\303\100\302\101\273\001\002\000\010\064\uff91" +
"\065\uff91\067\u0121\001\002\000\032\026\300\027\274\050" +
"\271\051\304\063\301\071\272\074\270\075\310\076\276" +
"\077\303\100\302\101\273\001\002\000\006\064\uff90\065" +
"\uff90\001\002\000\006\012\u0127\065\u0126\001\002\000\014" +
"\012\uff58\062\324\065\uff58\071\325\073\323\001\002\000" +
"\014\012\uff98\062\uff98\065\uff98\071\uff98\073\uff98\001\002" +
"\000\004\074\u0125\001\002\000\042\006\173\007\247\014" +
"\uff9d\015\uff9d\017\255\021\235\022\242\036\256\043\uff9d" +
"\045\236\046\243\066\uff9d\074\233\076\241\104\244\105" +
"\237\001\002\000\012\014\uff59\015\uff59\043\uff59\066\uff59" +
"\001\002\000\014\012\uff57\062\324\065\uff57\071\325\073" +
"\323\001\002\000\004\040\u012b\001\002\000\042\006\173" +
"\007\247\014\uff9d\015\uff9d\017\255\021\235\022\242\036" +
"\256\043\uff9d\045\236\046\243\066\uff9d\074\233\076\241" +
"\104\244\105\237\001\002\000\012\014\u012d\015\uff64\043" +
"\uff64\066\uff64\001\002\000\042\006\173\007\247\014\uff9d" +
"\015\uff9d\017\255\021\235\022\242\036\256\043\uff9d\045" +
"\236\046\243\066\uff9d\074\233\076\241\104\244\105\237" +
"\001\002\000\012\014\uff63\015\uff63\043\uff63\066\uff63\001" +
"\002\000\040\006\173\007\247\014\uff9d\015\uff9d\017\255" +
"\021\235\022\242\036\256\043\uff9d\045\236\046\243\066" +
"\uff9d\074\233\104\244\105\237\001\002\000\012\014\uffa6" +
"\015\uffa6\043\uffa6\066\uffa6\001\002\000\032\026\300\027" +
"\274\050\271\051\304\063\301\071\272\074\270\075\310" +
"\076\276\077\303\100\302\101\273\001\002\000\006\064" +
"\u0133\065\u011c\001\002\000\012\014\uffa0\015\uffa0\043\uffa0" +
"\066\uffa0\001\002\000\004\012\u0135\001\002\000\042\006" +
"\173\007\247\014\uff9d\015\uff9d\017\255\021\235\022\242" +
"\036\256\043\uff9d\045\236\046\243\066\uff9d\074\233\076" +
"\241\104\244\105\237\001\002\000\012\014\uff5d\015\uff5d" +
"\043\uff5d\066\uff5d\001\002\000\012\014\uff9e\015\uff9e\043" +
"\uff9e\066\uff9e\001\002\000\004\066\uffb2\001\002\000\006" +
"\063\u013b\066\u013a\001\002\000\020\006\uffb1\010\uffb1\020" +
"\uffb1\024\uffb1\033\uffb1\042\uffb1\044\uffb1\001\002\000\014" +
"\020\211\033\205\044\204\065\uffb8\067\uffb8\001\002\000" +
"\006\064\u013d\066\217\001\002\000\004\066\u013e\001\002" +
"\000\020\006\uffb0\010\uffb0\020\uffb0\024\uffb0\033\uffb0\042" +
"\uffb0\044\uffb0\001\002\000\004\066\uffb3\001\002\000\004" +
"\066\u0141\001\002\000\014\006\uffbc\020\uffbc\033\uffbc\065" +
"\uffb8\067\uffb8\001\002\000\004\066\uffba\001\002\000\006" +
"\065\012\067\u0144\001\002\000\034\005\073\016\054\032" +
"\055\035\065\037\063\050\050\051\067\063\061\073\046" +
"\074\045\076\056\077\064\101\051\001\002\000\004\066" +
"\uffb9\001\002\000\006\065\u014b\066\u014c\001\002\000\006" +
"\065\ufff4\066\ufff4\001\002\000\004\054\u0149\001\002\000" +
"\016\050\050\051\067\074\123\076\056\077\064\101\051" +
"\001\002\000\006\065\ufff2\066\ufff2\001\002\000\004\074" +
"\u0148\001\002\000\014\006\ufff5\020\ufff5\033\ufff5\042\ufff5" +
"\044\ufff5\001\002\000\006\065\ufff3\066\ufff3\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\u014c\000\006\003\003\004\004\001\001\000\002\001" +
"\001\000\010\005\017\006\015\007\020\001\001\000\002" +
"\001\001\000\002\001\001\000\004\052\010\001\001\000" +
"\002\001\001\000\002\001\001\000\002\001\001\000\002" +
"\001\001\000\002\001\001\000\006\012\032\013\030\001" +
"\001\000\006\010\023\011\024\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\011\027\001\001" +
"\000\002\001\001\000\002\001\001\000\002\001\001\000" +
"\006\014\u0145\015\u0146\001\001\000\006\020\034\021\033" +
"\001\001\000\002\001\001\000\006\046\164\047\163\001" +
"\001\000\006\022\040\023\036\001\001\000\002\001\001" +
"\000\002\001\001\000\002\001\001\000\004\023\042\001" +
"\001\000\002\001\001\000\032\017\052\024\056\025\046" +
"\026\065\027\071\030\074\031\070\032\067\034\057\043" +
"\073\044\051\045\061\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\014\031\151\032\067\034\057\043\073\044\051\001" +
"\001\000\002\001\001\000\002\001\001\000\002\001\001" +
"\000\004\052\147\001\001\000\002\001\001\000\002\001" +
"\001\000\002\001\001\000\006\035\110\036\111\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\014\017\052\025\076\026" +
"\065\027\071\033\077\001\001\000\002\001\001\000\002" +
"\001\001\000\012\017\052\025\104\026\065\027\071\001" +
"\001\000\002\001\001\000\032\017\052\024\103\025\046" +
"\026\065\027\071\030\074\031\070\032\067\034\057\043" +
"\073\044\051\045\061\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\010\037\114" +
"\040\113\052\115\001\001\000\002\001\001\000\002\001" +
"\001\000\002\001\001\000\002\001\001\000\002\001\001" +
"\000\002\001\001\000\012\016\125\017\124\041\123\042" +
"\126\001\001\000\002\001\001\000\002\001\001\000\002" +
"\001\001\000\002\001\001\000\002\001\001\000\004\017" +
"\134\001\001\000\002\001\001\000\006\035\132\036\111" +
"\001\001\000\002\001\001\000\002\001\001\000\002\001" +
"\001\000\010\016\125\017\124\042\136\001\001\000\002" +
"\001\001\000\002\001\001\000\012\016\125\017\124\041" +
"\141\042\126\001\001\000\002\001\001\000\032\017\052" +
"\024\143\025\046\026\065\027\071\030\074\031\070\032" +
"\067\034\057\043\073\044\051\045\061\001\001\000\002" +
"\001\001\000\002\001\001\000\012\017\052\025\146\026" +
"\065\027\071\001\001\000\002\001\001\000\002\001\001" +
"\000\002\001\001\000\002\001\001\000\032\017\052\024" +
"\153\025\046\026\065\027\071\030\074\031\070\032\067" +
"\034\057\043\073\044\051\045\061\001\001\000\002\001" +
"\001\000\004\017\155\001\001\000\002\001\001\000\002" +
"\001\001\000\002\001\001\000\002\001\001\000\002\001" +
"\001\000\004\050\u013f\001\001\000\002\001\001\000\004" +
"\053\165\001\001\000\014\054\173\055\174\056\167\057" +
"\171\102\166\001\001\000\002\001\001\000\010\005\u013e" +
"\006\015\007\020\001\001\000\002\001\001\000\010\005" +
"\u0137\006\015\007\020\001\001\000\030\062\233\063\252" +
"\064\253\065\247\066\250\076\237\102\245\103\257\104" +
"\256\107\244\110\251\001\001\000\002\001\001\000\002" +
"\001\001\000\002\001\001\000\002\001\001\000\010\052" +
"\206\060\205\061\207\001\001\000\002\001\001\000\002" +
"\001\001\000\002\001\001\000\004\052\225\001\001\000" +
"\004\052\224\001\001\000\002\001\001\000\002\001\001" +
"\000\002\001\001\000\004\052\211\001\001\000\002\001" +
"\001\000\032\017\052\024\213\025\046\026\065\027\071" +
"\030\074\031\070\032\067\034\057\043\073\044\051\045" +
"\061\001\001\000\002\001\001\000\032\017\052\024\215" +
"\025\046\026\065\027\071\030\074\031\070\032\067\034" +
"\057\043\073\044\051\045\061\001\001\000\002\001\001" +
"\000\006\052\206\061\223\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\032\017" +
"\052\024\227\025\046\026\065\027\071\030\074\031\070" +
"\032\067\034\057\043\073\044\051\045\061\001\001\000" +
"\002\001\001\000\002\001\001\000\002\001\001\000\002" +
"\001\001\000\002\001\001\000\002\001\001\000\020\066" +
"\304\072\u0133\073\266\074\306\075\265\076\274\077\305" +
"\001\001\000\002\001\001\000\002\001\001\000\002\001" +
"\001\000\020\066\304\072\u0129\073\266\074\306\075\265" +
"\076\274\077\305\001\001\000\006\066\u0123\111\u0122\001" +
"\001\000\002\001\001\000\002\001\001\000\002\001\001" +
"\000\020\066\304\072\u010d\073\266\074\306\075\265\076" +
"\274\077\305\001\001\000\002\001\001\000\002\001\001" +
"\000\002\001\001\000\002\001\001\000\002\001\001\000" +
"\002\001\001\000\030\062\233\063\252\064\253\065\247" +
"\066\250\076\237\102\245\103\263\104\256\107\244\110" +
"\251\001\001\000\002\001\001\000\002\001\001\000\026" +
"\062\262\063\252\064\253\065\247\066\250\076\237\102" +
"\245\104\256\107\244\110\251\001\001\000\002\001\001" +
"\000\002\001\001\000\002\001\001\000\020\066\304\072" +
"\276\073\266\074\306\075\265\076\274\077\305\001\001" +
"\000\002\001\001\000\002\001\001\000\002\001\001\000" +
"\014\066\304\074\350\075\265\076\274\077\305\001\001" +
"\000\024\066\304\072\337\073\266\074\306\075\265\076" +
"\274\077\305\100\342\101\341\001\001\000\002\001\001" +
"\000\012\066\304\075\336\076\274\077\305\001\001\000" +
"\002\001\001\000\002\001\001\000\002\001\001\000\002" +
"\001\001\000\020\066\304\072\334\073\266\074\306\075" +
"\265\076\274\077\305\001\001\000\002\001\001\000\002" +
"\001\001\000\014\066\304\074\333\075\265\076\274\077" +
"\305\001\001\000\002\001\001\000\002\001\001\000\002" +
"\001\001\000\002\001\001\000\012\066\304\075\321\076" +
"\274\077\305\001\001\000\012\066\304\075\320\076\274" +
"\077\305\001\001\000\012\066\304\075\317\076\274\077" +
"\305\001\001\000\012\066\304\075\316\076\274\077\305" +
"\001\001\000\012\066\304\075\315\076\274\077\305\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\022\066\304\070\325\072\326\073\266" +
"\074\306\075\265\076\274\077\305\001\001\000\002\001" +
"\001\000\002\001\001\000\020\066\304\072\331\073\266" +
"\074\306\075\265\076\274\077\305\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\022\066\304\072\337\073\266\074\306\075" +
"\265\076\274\077\305\101\345\001\001\000\002\001\001" +
"\000\002\001\001\000\020\066\304\072\347\073\266\074" +
"\306\075\265\076\274\077\305\001\001\000\002\001\001" +
"\000\002\001\001\000\022\066\304\070\352\072\326\073" +
"\266\074\306\075\265\076\274\077\305\001\001\000\002" +
"\001\001\000\002\001\001\000\014\066\304\074\377\075" +
"\265\076\274\077\305\001\001\000\016\066\304\073\376" +
"\074\306\075\265\076\274\077\305\001\001\000\016\066" +
"\304\073\375\074\306\075\265\076\274\077\305\001\001" +
"\000\014\066\304\074\374\075\265\076\274\077\305\001" +
"\001\000\016\066\304\073\373\074\306\075\265\076\274" +
"\077\305\001\001\000\016\066\304\073\372\074\306\075" +
"\265\076\274\077\305\001\001\000\016\066\304\073\371" +
"\074\306\075\265\076\274\077\305\001\001\000\016\066" +
"\304\073\370\074\306\075\265\076\274\077\305\001\001" +
"\000\016\066\304\073\367\074\306\075\265\076\274\077" +
"\305\001\001\000\014\066\304\074\366\075\265\076\274" +
"\077\305\001\001\000\002\001\001\000\002\001\001\000" +
"\002\001\001\000\002\001\001\000\002\001\001\000\002" +
"\001\001\000\002\001\001\000\002\001\001\000\002\001" +
"\001\000\002\001\001\000\002\001\001\000\020\066\304" +
"\072\u0102\073\266\074\306\075\265\076\274\077\305\001" +
"\001\000\002\001\001\000\020\066\304\072\u0108\073\266" +
"\074\306\075\265\076\274\077\305\001\001\000\020\066" +
"\304\072\u0105\073\266\074\306\075\265\076\274\077\305" +
"\001\001\000\002\001\001\000\026\062\u0107\063\252\064" +
"\253\065\247\066\250\076\237\102\245\104\256\107\244" +
"\110\251\001\001\000\002\001\001\000\002\001\001\000" +
"\026\062\u010a\063\252\064\253\065\247\066\250\076\237" +
"\102\245\104\256\107\244\110\251\001\001\000\002\001" +
"\001\000\020\066\304\072\u010c\073\266\074\306\075\265" +
"\076\274\077\305\001\001\000\002\001\001\000\002\001" +
"\001\000\012\016\u0110\017\124\105\u010f\106\u0111\001\001" +
"\000\002\001\001\000\002\001\001\000\002\001\001\000" +
"\026\062\u0113\063\252\064\253\065\247\066\250\076\237" +
"\102\245\104\256\107\244\110\251\001\001\000\002\001" +
"\001\000\010\016\u0110\017\124\106\u0116\001\001\000\002" +
"\001\001\000\002\001\001\000\024\066\304\067\u0119\071" +
"\u011a\072\u0118\073\266\074\306\075\265\076\274\077\305" +
"\001\001\000\002\001\001\000\002\001\001\000\002\001" +
"\001\000\022\066\304\071\u011d\072\u0118\073\266\074\306" +
"\075\265\076\274\077\305\001\001\000\002\001\001\000" +
"\002\001\001\000\020\066\304\072\u011f\073\266\074\306" +
"\075\265\076\274\077\305\001\001\000\002\001\001\000" +
"\020\066\304\072\u0121\073\266\074\306\075\265\076\274" +
"\077\305\001\001\000\002\001\001\000\002\001\001\000" +
"\002\001\001\000\002\001\001\000\004\066\u0128\001\001" +
"\000\026\062\u0127\063\252\064\253\065\247\066\250\076" +
"\237\102\245\104\256\107\244\110\251\001\001\000\002" +
"\001\001\000\002\001\001\000\002\001\001\000\026\062" +
"\u012b\063\252\064\253\065\247\066\250\076\237\102\245" +
"\104\256\107\244\110\251\001\001\000\002\001\001\000" +
"\026\062\u012d\063\252\064\253\065\247\066\250\076\237" +
"\102\245\104\256\107\244\110\251\001\001\000\002\001" +
"\001\000\024\063\u012f\064\253\065\247\066\250\076\237" +
"\102\245\104\256\107\244\110\251\001\001\000\002\001" +
"\001\000\024\066\304\067\u0131\071\u011a\072\u0118\073\266" +
"\074\306\075\265\076\274\077\305\001\001\000\002\001" +
"\001\000\002\001\001\000\002\001\001\000\026\062\u0135" +
"\063\252\064\253\065\247\066\250\076\237\102\245\104" +
"\256\107\244\110\251\001\001\000\002\001\001\000\002" +
"\001\001\000\002\001\001\000\002\001\001\000\002\001" +
"\001\000\010\052\206\060\u013b\061\207\001\001\000\002" +
"\001\001\000\002\001\001\000\002\001\001\000\002\001" +
"\001\000\002\001\001\000\006\051\u0141\052\u0142\001\001" +
"\000\002\001\001\000\002\001\001\000\032\017\052\024" +
"\u0144\025\046\026\065\027\071\030\074\031\070\032\067" +
"\034\057\043\073\044\051\045\061\001\001\000\002\001" +
"\001\000\002\001\001\000\002\001\001\000\002\001\001" +
"\000\004\017\u0149\001\001\000\002\001\001\000\004\015" +
"\u014c\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 170: // VariableList ::= VariableList COMMA Variable
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(71/*VariableList*/, ((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 169: // VariableList ::= Variable
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(71/*VariableList*/, ((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 168: // WithStmt ::= WITH VariableList DO Stmt
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(70/*WithStmt*/, ((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 167: // LoopStmt ::= FOR IDENT ASSIGN Expr DOWNTO Expr DO Stmt
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(69/*LoopStmt*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-7)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 166: // LoopStmt ::= FOR IDENT ASSIGN Expr TO Expr DO Stmt
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(69/*LoopStmt*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-7)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 165: // LoopStmt ::= REPEAT StmtList UNTIL Expr
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(69/*LoopStmt*/, ((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 164: // LoopStmt ::= WHILE Expr DO Stmt
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(69/*LoopStmt*/, ((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 163: // CaseStmt ::= ConstantList COLON Stmt
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(68/*CaseStmt*/, ((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 162: // CaseStmt ::=
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(68/*CaseStmt*/, ((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 161: // CaseStmtList ::= CaseStmtList SEMICOLON CaseStmt
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(67/*CaseStmtList*/, ((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 160: // CaseStmtList ::= CaseStmt
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(67/*CaseStmtList*/, ((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 159: // ConditionalStmt ::= CASE Expr OF CaseStmtList END
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(66/*ConditionalStmt*/, ((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 158: // ConditionalStmt ::= IF Expr THEN Stmt ELSE Stmt
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(66/*ConditionalStmt*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-5)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 157: // ConditionalStmt ::= IF Expr THEN Stmt
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(66/*ConditionalStmt*/, ((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 156: // StmtList ::= StmtList SEMICOLON Stmt
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(65/*StmtList*/, ((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 155: // StmtList ::= Stmt
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(65/*StmtList*/, ((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: // CompoundStmt ::= BEGIN StmtList END
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(64/*CompoundStmt*/, ((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 153: // Element ::= Expr DOTDOT Expr
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(63/*Element*/, ((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: // Element ::= Expr
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(63/*Element*/, ((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 151: // ElementList ::= ElementList COMMA Element
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(62/*ElementList*/, ((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: // ElementList ::= Element
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(62/*ElementList*/, ((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 149: // Set ::= LEFTSQ RIGHTSQ
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(61/*Set*/, ((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 148: // Set ::= LEFTSQ ElementList RIGHTSQ
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(61/*Set*/, ((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 147: // Invocation ::= IDENT LEFT ExprList RIGHT
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(60/*Invocation*/, ((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 146: // Factor ::= NOT Factor
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(59/*Factor*/, ((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 145: // Factor ::= Set
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(59/*Factor*/, ((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 144: // Factor ::= Invocation
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(59/*Factor*/, ((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 143: // Factor ::= LEFT Expr RIGHT
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(59/*Factor*/, ((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 142: // Factor ::= NIL
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(59/*Factor*/, ((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 141: // Factor ::= STRINGCONST
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(59/*Factor*/, ((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 140: // Factor ::= CHARCONST
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(59/*Factor*/, ((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 139: // Factor ::= REALCONST
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(59/*Factor*/, ((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 138: // Factor ::= INTCONST
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(59/*Factor*/, ((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 137: // Factor ::= BOOLCONST
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(59/*Factor*/, ((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 136: // Factor ::= Variable
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(59/*Factor*/, ((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: // Term ::= Term AND Factor
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(58/*Term*/, ((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 134: // Term ::= Term MOD Factor
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(58/*Term*/, ((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 133: // Term ::= Term DIV Factor
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(58/*Term*/, ((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: // Term ::= Term DIVIDE Factor
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(58/*Term*/, ((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: // Term ::= Term TIMES Factor
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(58/*Term*/, ((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: // Term ::= Factor
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(58/*Term*/, ((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: // SimpleExpr ::= SimpleExpr OR Term
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(57/*SimpleExpr*/, ((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: // SimpleExpr ::= SimpleExpr MINUS Term
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(57/*SimpleExpr*/, ((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: // SimpleExpr ::= SimpleExpr PLUS Term
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(57/*SimpleExpr*/, ((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 126: // SimpleExpr ::= MINUS Term
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(57/*SimpleExpr*/, ((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 125: // SimpleExpr ::= PLUS Term
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(57/*SimpleExpr*/, ((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 124: // SimpleExpr ::= Term
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(57/*SimpleExpr*/, ((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: // Expr ::= SimpleExpr IN SimpleExpr
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(56/*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 122: // Expr ::= SimpleExpr GE SimpleExpr
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(56/*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 121: // Expr ::= SimpleExpr GT SimpleExpr
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(56/*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 120: // Expr ::= SimpleExpr LE SimpleExpr
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(56/*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 119: // Expr ::= SimpleExpr LT SimpleExpr
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(56/*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 118: // Expr ::= SimpleExpr NE SimpleExpr
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(56/*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 117: // Expr ::= SimpleExpr EQ SimpleExpr
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(56/*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 116: // Expr ::= SimpleExpr
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(56/*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 115: // ExprList ::= ExprList COMMA Expr
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(54/*ExprList*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 114: // ExprList ::= Expr
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(54/*ExprList*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 113: // WriteExpr ::= Expr COLON Expr COLON Expr
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(55/*WriteExpr*/, ((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 112: // WriteExpr ::= Expr COLON Expr
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(55/*WriteExpr*/, ((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 111: // WriteExpr ::= Expr
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(55/*WriteExpr*/, ((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 110: // WriteExprList ::= WriteExprList COMMA WriteExpr
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(53/*WriteExprList*/, ((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 109: // WriteExprList ::= WriteExpr
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(53/*WriteExprList*/, ((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 108: // Variable ::= Variable PTR
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(52/*Variable*/, ((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 107: // Variable ::= Variable DOT IDENT
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(52/*Variable*/, ((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: // Variable ::= Variable LEFTSQ ExprList RIGHTSQ
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(52/*Variable*/, ((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 105: // Variable ::= IDENT
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(52/*Variable*/, ((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 104: // StructuredStmt ::= WithStmt
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(51/*StructuredStmt*/, ((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: // StructuredStmt ::= LoopStmt
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(51/*StructuredStmt*/, ((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 102: // StructuredStmt ::= ConditionalStmt
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(51/*StructuredStmt*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 101: // StructuredStmt ::= CompoundStmt
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(51/*StructuredStmt*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 100: // SimpleStmt ::=
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(50/*SimpleStmt*/, ((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 99: // SimpleStmt ::= GOTO INTCONST
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(50/*SimpleStmt*/, ((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 98: // SimpleStmt ::= IDENT
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(50/*SimpleStmt*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 97: // SimpleStmt ::= WRITELN LEFT WriteExprList RIGHT
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(50/*SimpleStmt*/, ((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 96: // SimpleStmt ::= WRITE LEFT WriteExprList RIGHT
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(50/*SimpleStmt*/, ((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 95: // SimpleStmt ::= Invocation
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(50/*SimpleStmt*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 94: // SimpleStmt ::= Variable ASSIGN Expr
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(50/*SimpleStmt*/, ((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: // UnlabelledStmt ::= StructuredStmt
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(49/*UnlabelledStmt*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 92: // UnlabelledStmt ::= SimpleStmt
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(49/*UnlabelledStmt*/, ((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: // Stmt ::= INTCONST COLON UnlabelledStmt
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(48/*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 90: // Stmt ::= UnlabelledStmt
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(48/*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 89: // FormalParamDecl ::= PROCEDURE IdentList
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(47/*FormalParamDecl*/, ((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 88: // FormalParamDecl ::= FUNCTION IdentList COLON Type
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(47/*FormalParamDecl*/, ((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 87: // FormalParamDecl ::= IdentList COLON Type
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(47/*FormalParamDecl*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 86: // FormalParamDecl ::= VAR IdentList COLON Type
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(47/*FormalParamDecl*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 85: // FormalParamDeclList ::= FormalParamDeclList SEMICOLON FormalParamDecl
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(46/*FormalParamDeclList*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 84: // FormalParamDeclList ::= FormalParamDecl
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(46/*FormalParamDeclList*/, ((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 83: // FuncHeader ::= FUNCTION IDENT LEFT FormalParamDeclList RIGHT COLON IDENT SEMICOLON
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(45/*FuncHeader*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-7)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 82: // FuncHeader ::= FUNCTION IDENT COLON IDENT SEMICOLON
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(45/*FuncHeader*/, ((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 81: // ProcHeader ::= PROCEDURE IDENT LEFT FormalParamDeclList RIGHT SEMICOLON
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(44/*ProcHeader*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-5)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 80: // ProcHeader ::= PROCEDURE IDENT SEMICOLON
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(44/*ProcHeader*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 79: // FuncDeclr ::= FuncHeader Block
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(43/*FuncDeclr*/, ((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 78: // ProcDeclr ::= ProcHeader Block
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(42/*ProcDeclr*/, ((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 77: // ProcDeclrList ::= ProcDeclrList FuncDeclr SEMICOLON
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(41/*ProcDeclrList*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 76: // ProcDeclrList ::= ProcDeclrList ProcDeclr SEMICOLON
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(41/*ProcDeclrList*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 75: // ProcDeclrList ::=
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(41/*ProcDeclrList*/, ((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 74: // IdentList ::= IdentList COMMA IDENT
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(40/*IdentList*/, ((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: // IdentList ::=
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(40/*IdentList*/, ((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 72: // VarDeclr ::= IdentList COLON Type
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(39/*VarDeclr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 71: // VarDeclrList ::= VarDeclrList SEMICOLON VarDeclr
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(38/*VarDeclrList*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 70: // VarDeclrList ::=
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(38/*VarDeclrList*/, ((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 69: // VarDecl ::= VAR VarDeclrList SEMICOLON
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(37/*VarDecl*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 68: // VarDeclOpt ::= VarDecl
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(36/*VarDeclOpt*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 67: // VarDeclOpt ::=
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(36/*VarDeclOpt*/, ((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: // PointerType ::= PTR IDENT
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(35/*PointerType*/, ((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: // FileType ::= FILE OF Type
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(34/*FileType*/, ((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: // SetType ::= SET OF SimpleType
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(33/*SetType*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 63: // Variant ::= ConstantList COLON LEFT FieldList RIGHT
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(32/*Variant*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 62: // Variant ::=
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(32/*Variant*/, ((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 61: // VariantList ::= VariantList SEMICOLON Variant
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(31/*VariantList*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 60: // VariantList ::= Variant
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(31/*VariantList*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 59: // VariantFields ::= CASE IDENT OF VariantList
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(30/*VariantFields*/, ((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: // VariantFields ::= CASE IDENT COLON IDENT OF VariantList
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(30/*VariantFields*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-5)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 57: // FieldDecl ::= IdentList COLON Type
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(29/*FieldDecl*/, ((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 56: // FieldDecl ::=
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(29/*FieldDecl*/, ((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 55: // FieldDeclList ::= FieldDeclList SEMICOLON FieldDecl
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(28/*FieldDeclList*/, ((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 54: // FieldDeclList ::=
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(28/*FieldDeclList*/, ((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 53: // FieldList ::= FieldDeclList SEMICOLON VariantFields
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(27/*FieldList*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 52: // FieldList ::= FieldDeclList
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(27/*FieldList*/, ((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: // RecordType ::= RECORD FieldList END
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(26/*RecordType*/, ((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: // SimpleTypeList ::= SimpleTypeList COMMA SimpleType
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(25/*SimpleTypeList*/, ((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 49: // SimpleTypeList ::= SimpleType
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(25/*SimpleTypeList*/, ((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 48: // ArrayType ::= ARRAY LEFTSQ SimpleTypeList RIGHTSQ OF Type
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(24/*ArrayType*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-5)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 47: // UnpackedType ::= FileType
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(23/*UnpackedType*/, ((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 46: // UnpackedType ::= SetType
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(23/*UnpackedType*/, ((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: // UnpackedType ::= RecordType
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(23/*UnpackedType*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 44: // UnpackedType ::= ArrayType
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(23/*UnpackedType*/, ((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 43: // StructuredType ::= PACKED UnpackedType
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(22/*StructuredType*/, ((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 42: // StructuredType ::= UnpackedType
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(22/*StructuredType*/, ((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: // SubrangeType ::= Constant DOTDOT Constant
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(21/*SubrangeType*/, ((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: // ScalarType ::= LEFT IdentList RIGHT
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(20/*ScalarType*/, ((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 39: // SimpleType ::= SubrangeType
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(19/*SimpleType*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 38: // SimpleType ::= ScalarType
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(19/*SimpleType*/, ((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: // SimpleType ::= IDENT
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(19/*SimpleType*/, ((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 36: // Type ::= PointerType
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(18/*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 35: // Type ::= StructuredType
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(18/*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 34: // Type ::= SimpleType
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(18/*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 33: // TypeDeclr ::= IDENT EQ Type
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(17/*TypeDeclr*/, ((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: // TypeDeclrList ::= TypeDeclrList SEMICOLON TypeDeclr
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(16/*TypeDeclrList*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 31: // TypeDeclrList ::= TypeDeclr
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(16/*TypeDeclrList*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 30: // TypeDecl ::= TYPE TypeDeclrList SEMICOLON
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(15/*TypeDecl*/, ((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 29: // TypeDeclOpt ::= TypeDecl
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(14/*TypeDeclOpt*/, ((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 28: // TypeDeclOpt ::=
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(14/*TypeDeclOpt*/, ((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 27: // Constant ::= STRINGCONST
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(13/*Constant*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 26: // Constant ::= MINUS IDENT
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(13/*Constant*/, ((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 25: // Constant ::= PLUS IDENT
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(13/*Constant*/, ((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: // Constant ::= IDENT
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(13/*Constant*/, ((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 23: // Constant ::= MINUS REALCONST
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(13/*Constant*/, ((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 22: // Constant ::= PLUS REALCONST
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(13/*Constant*/, ((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 21: // Constant ::= REALCONST
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(13/*Constant*/, ((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: // Constant ::= MINUS INTCONST
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(13/*Constant*/, ((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 19: // Constant ::= PLUS INTCONST
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(13/*Constant*/, ((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 18: // Constant ::= INTCONST
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(13/*Constant*/, ((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: // ConstantList ::= ConstantList COMMA Constant
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(12/*ConstantList*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 16: // ConstantList ::= Constant
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(12/*ConstantList*/, ((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: // ConstDeclr ::= IDENT EQ Constant
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(11/*ConstDeclr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 14: // ConstDeclrList ::= ConstDeclrList COMMA ConstDeclr
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(10/*ConstDeclrList*/, ((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 13: // ConstDeclrList ::= ConstDeclr
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(10/*ConstDeclrList*/, ((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: // ConstantDecl ::= CONST ConstDeclrList SEMICOLON
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(9/*ConstantDecl*/, ((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: // ConstantDeclOpt ::= ConstantDecl
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(8/*ConstantDeclOpt*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 10: // ConstantDeclOpt ::=
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(8/*ConstantDeclOpt*/, ((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 9: // LabelDeclr ::= INTCONST
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(7/*LabelDeclr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 8: // LabelDeclrList ::= LabelDeclrList COMMA LabelDeclr
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(6/*LabelDeclrList*/, ((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 7: // LabelDeclrList ::= LabelDeclr
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(6/*LabelDeclrList*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 6: // LabelDecl ::= LABEL LabelDeclrList SEMICOLON
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(5/*LabelDecl*/, ((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 5: // LabelDeclOpt ::= LabelDecl
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(4/*LabelDeclOpt*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 4: // LabelDeclOpt ::=
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(4/*LabelDeclOpt*/, ((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 3: // Block ::= LabelDeclOpt ConstantDeclOpt TypeDeclOpt VarDeclOpt ProcDeclrList CompoundStmt
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(3/*Block*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-5)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 2: // ProgramHeading ::= PROGRAM IDENT LEFT IdentList RIGHT SEMICOLON
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(2/*ProgramHeading*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-5)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 1: // Program ::= ProgramHeading Block DOT
{
Object RESULT = null;
CUP$parser$result = new java_cup.runtime.Symbol(1/*Program*/, ((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 0: // $START ::= Program 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;
Object start_val = (Object)((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");
}
}
}