Logo Search packages:      
Sourcecode: jasmin-sable version File versions  Download package

parser.java

//----------------------------------------------------
// The following code was generated by CUP v0.10j
// Wed Jun 18 07:32:42 EDT 2003
//----------------------------------------------------

package jasmin;

import java_cup.runtime.*;
import jas.*;
import java.io.*;
import java.util.Hashtable;

/** CUP v0.10j generated parser.
  * @version Wed Jun 18 07:32:42 EDT 2003
  */
00017 public class parser extends java_cup.runtime.lr_parser {

  /** Default constructor. */
00020   public parser() {super();}

  /** Constructor which sets the default scanner. */
00023   public parser(java_cup.runtime.Scanner s) {super(s);}

  /** Production table. */
00026   protected static final short _production_table[][] = 
    unpackFromStrings(new String[] {
    "\000\172\000\002\026\011\000\002\002\004\000\002\044" +
    "\005\000\002\044\002\000\002\012\006\000\002\012\006" +
    "\000\002\003\003\000\002\077\002\000\002\076\004\000" +
    "\002\010\003\000\002\010\002\000\002\007\004\000\002" +
    "\007\003\000\002\006\003\000\002\006\003\000\002\006" +
    "\003\000\002\006\003\000\002\006\003\000\002\006\003" +
    "\000\002\006\003\000\002\006\003\000\002\006\003\000" +
    "\002\006\003\000\002\006\003\000\002\050\005\000\002" +
    "\023\003\000\002\023\002\000\002\024\004\000\002\024" +
    "\003\000\002\025\005\000\002\021\003\000\002\021\002" +
    "\000\002\017\004\000\002\017\003\000\002\072\004\000" +
    "\002\072\003\000\002\020\010\000\002\004\004\000\002" +
    "\004\002\000\002\005\003\000\002\005\003\000\002\005" +
    "\003\000\002\041\003\000\002\041\002\000\002\037\004" +
    "\000\002\037\003\000\002\066\004\000\002\066\003\000" +
    "\002\040\005\000\002\040\004\000\002\014\006\000\002" +
    "\016\005\000\002\046\004\000\002\046\003\000\002\100" +
    "\002\000\002\045\005\000\002\047\003\000\002\047\003" +
    "\000\002\047\003\000\002\047\003\000\002\047\002\000" +
    "\002\027\004\000\002\015\004\000\002\015\004\000\002" +
    "\015\004\000\002\015\004\000\002\015\004\000\002\015" +
    "\004\000\002\015\004\000\002\062\004\000\002\061\012" +
    "\000\002\061\006\000\002\030\004\000\002\053\003\000" +
    "\002\060\003\000\002\011\011\000\002\042\004\000\002" +
    "\042\004\000\002\042\004\000\002\042\004\000\002\022" +
    "\003\000\002\022\003\000\002\043\003\000\002\043\005" +
    "\000\002\043\004\000\002\043\004\000\002\043\004\000" +
    "\002\043\005\000\002\043\005\000\002\043\004\000\002" +
    "\013\004\000\002\013\004\000\002\031\005\000\002\032" +
    "\003\000\002\035\002\000\002\035\003\000\002\036\004" +
    "\000\002\036\003\000\002\034\006\000\002\033\005\000" +
    "\002\051\005\000\002\052\004\000\002\052\005\000\002" +
    "\056\002\000\002\056\003\000\002\057\004\000\002\057" +
    "\003\000\002\055\004\000\002\054\005\000\002\063\003" +
    "\000\002\063\002\000\002\064\004\000\002\064\003\000" +
    "\002\065\006\000\002\067\003\000\002\070\004\000\002" +
    "\070\003\000\002\071\006\000\002\073\003\000\002\074" +
    "\004\000\002\074\003\000\002\075\006" });

  /** Access to production table. */
00068   public short[][] production_table() {return _production_table;}

  /** Parse-action table. */
00071   protected static final short[][] _action_table = 
    unpackFromStrings(new String[] {
    "\000\302\000\010\005\ufffe\015\004\021\ufffe\001\002\000" +
    "\004\055\303\001\002\000\006\005\011\021\010\001\002" +
    "\000\004\002\007\001\002\000\004\002\000\001\002\000" +
    "\032\033\ufffa\034\ufffa\035\ufffa\036\ufffa\037\ufffa\040\ufffa" +
    "\041\ufffa\042\ufffa\043\ufffa\044\ufffa\045\ufffa\055\ufffa\001" +
    "\002\000\032\033\ufffa\034\ufffa\035\ufffa\036\ufffa\037\ufffa" +
    "\040\ufffa\041\ufffa\042\ufffa\043\ufffa\044\ufffa\045\ufffa\055" +
    "\ufffa\001\002\000\004\014\014\001\002\000\014\002\uffe7" +
    "\007\uffe7\012\uffe7\020\021\023\uffe7\001\002\000\004\055" +
    "\015\001\002\000\006\031\ufffb\052\ufffb\001\002\000\004" +
    "\052\017\001\002\000\014\002\uffe9\007\uffe9\012\uffe9\020" +
    "\uffe9\023\uffe9\001\002\000\014\002\uffe5\007\uffe5\012\uffe5" +
    "\020\uffe5\023\uffe5\001\002\000\004\055\015\001\002\000" +
    "\012\002\uff93\007\uff93\012\uff93\023\027\001\002\000\014" +
    "\002\uffe8\007\uffe8\012\uffe8\020\021\023\uffe8\001\002\000" +
    "\014\002\uffe6\007\uffe6\012\uffe6\020\uffe6\023\uffe6\001\002" +
    "\000\010\002\uffe2\007\037\012\uffe2\001\002\000\012\002" +
    "\uff94\007\uff94\012\uff94\023\027\001\002\000\004\055\031" +
    "\001\002\000\012\002\uff91\007\uff91\012\uff91\023\uff91\001" +
    "\002\000\004\054\032\001\002\000\004\052\033\001\002" +
    "\000\012\002\uff90\007\uff90\012\uff90\023\uff90\001\002\000" +
    "\012\002\uff92\007\uff92\012\uff92\023\uff92\001\002\000\006" +
    "\002\uffd6\012\107\001\002\000\012\002\uffde\007\uffde\012" +
    "\uffde\024\077\001\002\000\032\033\ufffa\034\ufffa\035\ufffa" +
    "\036\ufffa\037\ufffa\040\ufffa\041\ufffa\042\ufffa\043\ufffa\044" +
    "\ufffa\045\ufffa\054\ufffa\001\002\000\010\002\uffe0\007\uffe0" +
    "\012\uffe0\001\002\000\010\002\uffe3\007\037\012\uffe3\001" +
    "\002\000\010\002\uffe1\007\uffe1\012\uffe1\001\002\000\004" +
    "\054\064\001\002\000\034\033\045\034\060\035\055\036" +
    "\051\037\056\040\052\041\046\042\047\043\057\044\054" +
    "\045\053\054\ufff7\055\ufff7\001\002\000\034\033\uffea\034" +
    "\uffea\035\uffea\036\uffea\037\uffea\040\uffea\041\uffea\042\uffea" +
    "\043\uffea\044\uffea\045\uffea\054\uffea\055\uffea\001\002\000" +
    "\034\033\ufff4\034\ufff4\035\ufff4\036\ufff4\037\ufff4\040\ufff4" +
    "\041\ufff4\042\ufff4\043\ufff4\044\ufff4\045\ufff4\054\ufff4\055" +
    "\ufff4\001\002\000\034\033\ufff1\034\ufff1\035\ufff1\036\ufff1" +
    "\037\ufff1\040\ufff1\041\ufff1\042\ufff1\043\ufff1\044\ufff1\045" +
    "\ufff1\054\ufff1\055\ufff1\001\002\000\034\033\ufff5\034\ufff5" +
    "\035\ufff5\036\ufff5\037\ufff5\040\ufff5\041\ufff5\042\ufff5\043" +
    "\ufff5\044\ufff5\045\ufff5\054\ufff5\055\ufff5\001\002\000\034" +
    "\033\uffec\034\uffec\035\uffec\036\uffec\037\uffec\040\uffec\041" +
    "\uffec\042\uffec\043\uffec\044\uffec\045\uffec\054\uffec\055\uffec" +
    "\001\002\000\034\033\ufff2\034\ufff2\035\ufff2\036\ufff2\037" +
    "\ufff2\040\ufff2\041\ufff2\042\ufff2\043\ufff2\044\ufff2\045\ufff2" +
    "\054\ufff2\055\ufff2\001\002\000\034\033\uffee\034\uffee\035" +
    "\uffee\036\uffee\037\uffee\040\uffee\041\uffee\042\uffee\043\uffee" +
    "\044\uffee\045\uffee\054\uffee\055\uffee\001\002\000\034\033" +
    "\uffed\034\uffed\035\uffed\036\uffed\037\uffed\040\uffed\041\uffed" +
    "\042\uffed\043\uffed\044\uffed\045\uffed\054\uffed\055\uffed\001" +
    "\002\000\034\033\uffeb\034\uffeb\035\uffeb\036\uffeb\037\uffeb" +
    "\040\uffeb\041\uffeb\042\uffeb\043\uffeb\044\uffeb\045\uffeb\054" +
    "\uffeb\055\uffeb\001\002\000\034\033\ufff3\034\ufff3\035\ufff3" +
    "\036\ufff3\037\ufff3\040\ufff3\041\ufff3\042\ufff3\043\ufff3\044" +
    "\ufff3\045\ufff3\054\ufff3\055\ufff3\001\002\000\034\033\uffef" +
    "\034\uffef\035\uffef\036\uffef\037\uffef\040\uffef\041\uffef\042" +
    "\uffef\043\uffef\044\uffef\045\uffef\054\uffef\055\uffef\001\002" +
    "\000\034\033\ufff0\034\ufff0\035\ufff0\036\ufff0\037\ufff0\040" +
    "\ufff0\041\ufff0\042\ufff0\043\ufff0\044\ufff0\045\ufff0\054\ufff0" +
    "\055\ufff0\001\002\000\034\033\045\034\060\035\055\036" +
    "\051\037\056\040\052\041\046\042\047\043\057\044\054" +
    "\045\053\054\ufff8\055\ufff8\001\002\000\006\054\ufff9\055" +
    "\ufff9\001\002\000\034\033\ufff6\034\ufff6\035\ufff6\036\ufff6" +
    "\037\ufff6\040\ufff6\041\ufff6\042\ufff6\043\ufff6\044\ufff6\045" +
    "\ufff6\054\ufff6\055\ufff6\001\002\000\004\055\065\001\002" +
    "\000\006\051\066\052\uffdb\001\002\000\010\054\071\057" +
    "\073\060\074\001\002\000\004\052\070\001\002\000\012" +
    "\002\uffdd\007\uffdd\012\uffdd\024\uffdd\001\002\000\004\052" +
    "\uffd8\001\002\000\004\052\uffdc\001\002\000\004\052\uffda" +
    "\001\002\000\004\052\uffd9\001\002\000\010\002\uffdf\007" +
    "\uffdf\012\uffdf\001\002\000\012\002\uff89\007\uff89\012\uff89" +
    "\024\uff89\001\002\000\004\055\102\001\002\000\012\002" +
    "\uff8b\007\uff8b\012\uff8b\024\077\001\002\000\012\002\uff8a" +
    "\007\uff8a\012\uff8a\024\uff8a\001\002\000\004\054\103\001" +
    "\002\000\004\052\104\001\002\000\012\002\uff88\007\uff88" +
    "\012\uff88\024\uff88\001\002\000\004\002\001\001\002\000" +
    "\010\002\uffd2\012\uffd2\025\265\001\002\000\032\033\ufffa" +
    "\034\ufffa\035\ufffa\036\ufffa\037\ufffa\040\ufffa\041\ufffa\042" +
    "\ufffa\043\ufffa\044\ufffa\045\ufffa\055\ufffa\001\002\000\036" +
    "\003\uffcb\004\uffcb\006\116\010\uffcb\011\uffcb\013\uffcb\016" +
    "\uffcb\017\uffcb\022\uffcb\046\uffcb\047\uffcb\052\uffcb\055\uffcb" +
    "\056\uffcb\001\002\000\006\002\uffd4\012\uffd4\001\002\000" +
    "\006\002\uffd7\012\107\001\002\000\006\002\uffd5\012\uffd5" +
    "\001\002\000\034\003\140\004\131\010\127\011\141\013" +
    "\142\016\146\017\126\022\133\046\137\047\136\052\uffc5" +
    "\055\125\056\135\001\002\000\036\003\uffcb\004\uffcb\006" +
    "\116\010\uffcb\011\uffcb\013\uffcb\016\uffcb\017\uffcb\022\uffcb" +
    "\046\uffcb\047\uffcb\052\uffcb\055\uffcb\056\uffcb\001\002\000" +
    "\004\032\121\001\002\000\036\003\uffcc\004\uffcc\006\uffcc" +
    "\010\uffcc\011\uffcc\013\uffcc\016\uffcc\017\uffcc\022\uffcc\046" +
    "\uffcc\047\uffcc\052\uffcc\055\uffcc\056\uffcc\001\002\000\010" +
    "\002\uffd0\012\uffd0\025\uffd0\001\002\000\004\052\122\001" +
    "\002\000\010\002\uffce\012\uffce\025\uffce\001\002\000\036" +
    "\003\uffcd\004\uffcd\006\uffcd\010\uffcd\011\uffcd\013\uffcd\016" +
    "\uffcd\017\uffcd\022\uffcd\046\uffcd\047\uffcd\052\uffcd\055\uffcd" +
    "\056\uffcd\001\002\000\010\002\uffd1\012\uffd1\025\uffd1\001" +
    "\002\000\004\053\257\001\002\000\004\057\247\001\002" +
    "\000\004\055\244\001\002\000\004\052\uffc6\001\002\000" +
    "\004\055\015\001\002\000\004\052\uffc8\001\002\000\004" +
    "\055\230\001\002\000\004\052\227\001\002\000\014\052" +
    "\uffaf\054\220\055\221\057\222\060\223\001\002\000\004" +
    "\057\202\001\002\000\004\052\161\001\002\000\004\052" +
    "\uffc7\001\002\000\004\057\160\001\002\000\004\055\152" +
    "\001\002\000\004\052\uffb1\001\002\000\004\052\uffc9\001" +
    "\002\000\004\052\uffb0\001\002\000\004\055\015\001\002" +
    "\000\004\052\uffb7\001\002\000\004\052\uffc0\001\002\000" +
    "\004\052\uffbe\001\002\000\012\054\154\055\153\057\155" +
    "\060\156\001\002\000\004\052\uffb4\001\002\000\004\052" +
    "\uffb2\001\002\000\004\052\uffb5\001\002\000\004\052\uffb3" +
    "\001\002\000\004\052\uffc1\001\002\000\004\052\uffb8\001" +
    "\002\000\006\050\uffa4\057\uffa4\001\002\000\006\050\uffa3" +
    "\057\166\001\002\000\004\052\uffa7\001\002\000\004\050" +
    "\174\001\002\000\006\050\uffa0\057\uffa0\001\002\000\004" +
    "\053\171\001\002\000\006\050\uffa2\057\166\001\002\000" +
    "\006\050\uffa1\057\uffa1\001\002\000\004\055\172\001\002" +
    "\000\004\052\173\001\002\000\006\050\uff9f\057\uff9f\001" +
    "\002\000\004\053\176\001\002\000\004\052\uffa5\001\002" +
    "\000\004\055\177\001\002\000\004\052\uff9e\001\002\000" +
    "\006\050\uff9a\055\210\001\002\000\004\052\uffa6\001\002" +
    "\000\006\052\203\057\204\001\002\000\006\050\uff9c\055" +
    "\uff9c\001\002\000\004\052\205\001\002\000\006\050\uff9b" +
    "\055\uff9b\001\002\000\004\050\214\001\002\000\006\050" +
    "\uff99\055\210\001\002\000\004\052\212\001\002\000\006" +
    "\050\uff97\055\uff97\001\002\000\006\050\uff96\055\uff96\001" +
    "\002\000\006\050\uff98\055\uff98\001\002\000\004\053\216" +
    "\001\002\000\004\052\uff9d\001\002\000\004\055\217\001" +
    "\002\000\004\052\uff95\001\002\000\004\052\uffa8\001\002" +
    "\000\010\052\uffab\055\225\057\226\001\002\000\006\052" +
    "\uffad\057\224\001\002\000\004\052\uffac\001\002\000\004" +
    "\052\uffae\001\002\000\004\052\uffa9\001\002\000\004\052" +
    "\uffaa\001\002\000\036\003\uffca\004\uffca\006\uffca\010\uffca" +
    "\011\uffca\013\uffca\016\uffca\017\uffca\022\uffca\046\uffca\047" +
    "\uffca\052\uffca\055\uffca\056\uffca\001\002\000\004\054\232" +
    "\001\002\000\004\052\uffbd\001\002\000\004\052\uffbc\001" +
    "\002\000\004\052\uffbf\001\002\000\004\031\235\001\002" +
    "\000\004\055\236\001\002\000\004\026\237\001\002\000" +
    "\004\055\240\001\002\000\004\027\241\001\002\000\004" +
    "\055\242\001\002\000\004\052\uffb6\001\002\000\004\052" +
    "\uffc2\001\002\000\004\057\245\001\002\000\004\052\uffb9" +
    "\001\002\000\004\052\uffc3\001\002\000\004\030\250\001" +
    "\002\000\004\055\251\001\002\000\004\055\252\001\002" +
    "\000\006\031\253\052\uffba\001\002\000\004\055\254\001" +
    "\002\000\004\026\255\001\002\000\004\055\256\001\002" +
    "\000\004\052\uffbb\001\002\000\004\052\uffc4\001\002\000" +
    "\004\055\261\001\002\000\004\052\262\001\002\000\036" +
    "\003\uffcf\004\uffcf\006\uffcf\010\uffcf\011\uffcf\013\uffcf\016" +
    "\uffcf\017\uffcf\022\uffcf\046\uffcf\047\uffcf\052\uffcf\055\uffcf" +
    "\056\uffcf\001\002\000\006\002\uffd3\012\uffd3\001\002\000" +
    "\010\002\uff8d\012\uff8d\025\uff8d\001\002\000\004\055\270" +
    "\001\002\000\010\002\uff8f\012\uff8f\025\265\001\002\000" +
    "\010\002\uff8e\012\uff8e\025\uff8e\001\002\000\004\054\271" +
    "\001\002\000\004\052\272\001\002\000\010\002\uff8c\012" +
    "\uff8c\025\uff8c\001\002\000\004\052\274\001\002\000\014" +
    "\002\uffe4\007\uffe4\012\uffe4\020\uffe4\023\uffe4\001\002\000" +
    "\004\055\015\001\002\000\004\052\277\001\002\000\004" +
    "\014\ufffd\001\002\000\004\055\015\001\002\000\004\052" +
    "\302\001\002\000\004\014\ufffc\001\002\000\004\052\304" +
    "\001\002\000\006\005\uffff\021\uffff\001\002" });

  /** Access to parse-action table. */
00232   public short[][] action_table() {return _action_table;}

  /** <code>reduce_goto</code> table. */
00235   protected static final short[][] _reduce_table = 
    unpackFromStrings(new String[] {
    "\000\302\000\006\026\005\044\004\001\001\000\002\001" +
    "\001\000\004\012\011\001\001\000\002\001\001\000\002" +
    "\001\001\000\006\076\277\077\043\001\001\000\006\076" +
    "\274\077\043\001\001\000\004\050\012\001\001\000\010" +
    "\023\021\024\022\025\017\001\001\000\004\003\015\001" +
    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
    "\000\002\001\001\000\004\003\272\001\001\000\010\063" +
    "\024\064\025\065\027\001\001\000\004\025\023\001\001" +
    "\000\002\001\001\000\012\017\040\020\035\021\034\072" +
    "\037\001\001\000\004\065\033\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\014\107\037\111" +
    "\040\105\041\104\066\110\001\001\000\010\073\074\074" +
    "\077\075\075\001\001\000\006\076\042\077\043\001\001" +
    "\000\002\001\001\000\006\020\035\072\041\001\001\000" +
    "\002\001\001\000\002\001\001\000\010\006\047\007\060" +
    "\010\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\002\001" +
    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
    "\000\004\006\062\001\001\000\002\001\001\000\002\001" +
    "\001\000\002\001\001\000\004\004\066\001\001\000\004" +
    "\005\071\001\001\000\002\001\001\000\002\001\001\000" +
    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
    "\001\000\004\075\100\001\001\000\002\001\001\000\002" +
    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
    "\001\000\010\067\262\070\265\071\263\001\001\000\006" +
    "\076\257\077\043\001\001\000\012\016\117\045\116\046" +
    "\114\100\113\001\001\000\002\001\001\000\010\014\107" +
    "\040\105\066\112\001\001\000\002\001\001\000\016\013" +
    "\144\015\131\022\143\027\127\043\142\047\133\001\001" +
    "\000\010\016\123\045\122\100\113\001\001\000\002\001" +
    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
    "\002\001\001\000\004\061\245\001\001\000\004\030\242" +
    "\001\001\000\002\001\001\000\006\003\233\011\232\001" +
    "\001\000\002\001\001\000\004\062\230\001\001\000\002" +
    "\001\001\000\002\001\001\000\006\051\200\052\177\001" +
    "\001\000\006\031\162\032\161\001\001\000\002\001\001" +
    "\000\004\053\156\001\001\000\004\042\150\001\001\000" +
    "\002\001\001\000\002\001\001\000\002\001\001\000\006" +
    "\003\146\060\147\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\010" +
    "\034\164\035\163\036\166\001\001\000\002\001\001\000" +
    "\004\033\174\001\001\000\002\001\001\000\002\001\001" +
    "\000\004\034\167\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" +
    "\010\055\210\056\205\057\206\001\001\000\002\001\001" +
    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
    "\002\001\001\000\004\054\214\001\001\000\004\055\212" +
    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
    "\000\002\001\001\000\004\071\266\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\003\275\001" +
    "\001\000\002\001\001\000\002\001\001\000\004\003\300" +
    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
    "\001\000\002\001\001" });

  /** Access to <code>reduce_goto</code> table. */
00313   public short[][] reduce_table() {return _reduce_table;}

  /** Instance of action encapsulation class. */
00316   protected CUP$parser$actions action_obj;

  /** Action encapsulation object initializer. */
00319   protected void init_actions()
    {
      action_obj = new CUP$parser$actions(this);
    }

  /** Invoke a user supplied parse action. */
00325   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. */
00337   public int start_state() {return 0;}
  /** Indicates start production. */
00339   public int start_production() {return 1;}

  /** <code>EOF</code> Symbol index. */
00342   public int EOF_sym() {return 0;}

  /** <code>error</code> Symbol index. */
00345   public int error_sym() {return 1;}


  /** User initialization code. */
00349   public void user_init() throws java.lang.Exception
    {

      action_obj.scanner = scanner;
      action_obj.classFile = classFile;

    }

  /** Scan to get the next Symbol. */
00358   public java_cup.runtime.Symbol scan()
    throws java.lang.Exception
    {

    return scanner.next_token();

    }



      // parser code

      public Scanner scanner;
      public ClassFile classFile;
      
00373       public void report_error(String message, Object info)  {
      classFile.report_error("Warning - " + message);
      }

00377       public void report_fatal_error(String message, Object info)  {
      classFile.report_error("Error - " + message);
      // System.exit(-1);
      }

      parser(ClassFile classFile, Scanner scanner) {
          super();

          this.scanner = scanner;
          this.classFile = classFile;
      }

}

/** Cup generated class to encapsulate user supplied action code.*/
00392 class CUP$parser$actions {


    short access_val;
    public Scanner scanner;
    public ClassFile classFile;

  private final parser parser;

  /** Constructor */
00402   CUP$parser$actions(parser parser) {
    this.parser = parser;
  }

  /** Method with the actual generated action code. */
00407   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 121: // field_attr_spec ::= DFIELD_ATTR Word Str SEP 
            {
              Object RESULT = null;
            int wleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
            int wright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
            String w = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
            int vleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
            int vright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
            String v = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
            
             byte[] data = Base64.decode(v.toCharArray());
                classFile.addGenericAttrToField(w, data);
          
              CUP$parser$result = new java_cup.runtime.Symbol(59/*field_attr_spec*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
            }
          return CUP$parser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 120: // field_attr_list ::= field_attr_spec 
            {
              Object RESULT = null;

              CUP$parser$result = new java_cup.runtime.Symbol(58/*field_attr_list*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
            }
          return CUP$parser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 119: // field_attr_list ::= field_attr_list field_attr_spec 
            {
              Object RESULT = null;

              CUP$parser$result = new java_cup.runtime.Symbol(58/*field_attr_list*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
            }
          return CUP$parser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 118: // field_attrs ::= field_attr_list 
            {
              Object RESULT = null;

              CUP$parser$result = new java_cup.runtime.Symbol(57/*field_attrs*/, ((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 117: // method_attr_spec ::= DMETHOD_ATTR Word Str SEP 
            {
              Object RESULT = null;
            int wleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
            int wright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
            String w = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
            int vleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
            int vright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
            String v = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
            
             byte[] data = Base64.decode(v.toCharArray());
                classFile.addGenericAttrToMethod(w, data);  
          
              CUP$parser$result = new java_cup.runtime.Symbol(55/*method_attr_spec*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
            }
          return CUP$parser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 116: // method_attr_list ::= method_attr_spec 
            {
              Object RESULT = null;

              CUP$parser$result = new java_cup.runtime.Symbol(54/*method_attr_list*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
            }
          return CUP$parser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 115: // method_attr_list ::= method_attr_list method_attr_spec 
            {
              Object RESULT = null;

              CUP$parser$result = new java_cup.runtime.Symbol(54/*method_attr_list*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
            }
          return CUP$parser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 114: // method_attrs ::= method_attr_list 
            {
              Object RESULT = null;

              CUP$parser$result = new java_cup.runtime.Symbol(53/*method_attrs*/, ((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: // class_attr_spec ::= DCLASS_ATTR Word Str SEP 
            {
              Object RESULT = null;
            int wleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
            int wright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
            String w = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
            int vleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
            int vright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
            String v = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
            
            byte[] data = Base64.decode(v.toCharArray());
                classFile.addGenericAttrToClass(new GenericAttr(w, data));             
          
              CUP$parser$result = new java_cup.runtime.Symbol(51/*class_attr_spec*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
            }
          return CUP$parser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 112: // class_attr_list ::= class_attr_spec 
            {
              Object RESULT = null;

              CUP$parser$result = new java_cup.runtime.Symbol(50/*class_attr_list*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
            }
          return CUP$parser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 111: // class_attr_list ::= class_attr_list class_attr_spec 
            {
              Object RESULT = null;

              CUP$parser$result = new java_cup.runtime.Symbol(50/*class_attr_list*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
            }
          return CUP$parser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 110: // class_attrs ::= 
            {
              Object RESULT = null;

              CUP$parser$result = new java_cup.runtime.Symbol(49/*class_attrs*/, ((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 109: // class_attrs ::= class_attr_list 
            {
              Object RESULT = null;

              CUP$parser$result = new java_cup.runtime.Symbol(49/*class_attrs*/, ((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: // table_default ::= DEFAULT COLON Word 
            {
              Object RESULT = null;
            int wleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
            int wright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
            String w = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
            
            classFile.endTableswitch(w);
        
              CUP$parser$result = new java_cup.runtime.Symbol(42/*table_default*/, ((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 107: // table_entry ::= Word SEP 
            {
              Object RESULT = null;
            int wleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
            int wright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
            String w = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
            
            classFile.addTableswitch(w);
        
              CUP$parser$result = new java_cup.runtime.Symbol(43/*table_entry*/, ((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 106: // table_list ::= table_entry 
            {
              Object RESULT = null;

              CUP$parser$result = new java_cup.runtime.Symbol(45/*table_list*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
            }
          return CUP$parser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 105: // table_list ::= table_list table_entry 
            {
              Object RESULT = null;

              CUP$parser$result = new java_cup.runtime.Symbol(45/*table_list*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
            }
          return CUP$parser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 104: // table_list_t ::= table_list 
            {
              Object RESULT = null;

              CUP$parser$result = new java_cup.runtime.Symbol(44/*table_list_t*/, ((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: // table_list_t ::= 
            {
              Object RESULT = null;

              CUP$parser$result = new java_cup.runtime.Symbol(44/*table_list_t*/, ((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 102: // table_args ::= Int Int SEP 
            {
              Object RESULT = null;
            int lowleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
            int lowright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
            Integer low = (Integer)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
            int highleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
            int highright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
            Integer high = (Integer)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
            
            classFile.newTableswitch(low.intValue(), high.intValue());
        
              CUP$parser$result = new java_cup.runtime.Symbol(40/*table_args*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
            }
          return CUP$parser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 101: // table_args ::= Int SEP 
            {
              Object RESULT = null;
            int lowleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
            int lowright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
            Integer low = (Integer)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
            
            classFile.newTableswitch(low.intValue());
        
              CUP$parser$result = new java_cup.runtime.Symbol(40/*table_args*/, ((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 100: // table ::= table_args table_list_t table_default 
            {
              Object RESULT = null;

              CUP$parser$result = new java_cup.runtime.Symbol(39/*table*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
            }
          return CUP$parser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 99: // lookup_default ::= DEFAULT COLON Word 
            {
              Object RESULT = null;
            int wleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
            int wright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
            String w = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
             classFile.endLookupswitch(w); 
              CUP$parser$result = new java_cup.runtime.Symbol(25/*lookup_default*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
            }
          return CUP$parser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 98: // lookup_entry ::= Int COLON Word SEP 
            {
              Object RESULT = null;
            int ileft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left;
            int iright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).right;
            Integer i = (Integer)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value;
            int wleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
            int wright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
            String w = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
            
            classFile.addLookupswitch(i.intValue(), w);
        
              CUP$parser$result = new java_cup.runtime.Symbol(26/*lookup_entry*/, ((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 97: // lookup_list ::= lookup_entry 
            {
              Object RESULT = null;

              CUP$parser$result = new java_cup.runtime.Symbol(28/*lookup_list*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
            }
          return CUP$parser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 96: // lookup_list ::= lookup_list lookup_entry 
            {
              Object RESULT = null;

              CUP$parser$result = new java_cup.runtime.Symbol(28/*lookup_list*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
            }
          return CUP$parser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 95: // lookup_list_t ::= lookup_list 
            {
              Object RESULT = null;

              CUP$parser$result = new java_cup.runtime.Symbol(27/*lookup_list_t*/, ((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: // lookup_list_t ::= 
            {
              Object RESULT = null;

              CUP$parser$result = new java_cup.runtime.Symbol(27/*lookup_list_t*/, ((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 93: // lookup_args ::= SEP 
            {
              Object RESULT = null;
             classFile.newLookupswitch(); 
              CUP$parser$result = new java_cup.runtime.Symbol(24/*lookup_args*/, ((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: // lookup ::= lookup_args lookup_list_t lookup_default 
            {
              Object RESULT = null;

              CUP$parser$result = new java_cup.runtime.Symbol(23/*lookup*/, ((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 91: // complex_instruction ::= TABLESWITCH table 
            {
              Object RESULT = null;

              CUP$parser$result = new java_cup.runtime.Symbol(9/*complex_instruction*/, ((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 90: // complex_instruction ::= LOOKUPSWITCH lookup 
            {
              Object RESULT = null;

              CUP$parser$result = new java_cup.runtime.Symbol(9/*complex_instruction*/, ((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 89: // simple_instruction ::= Insn Str 
            {
              Object RESULT = null;
            int ileft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
            int iright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
            String i = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
            int nleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
            int nright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
            String n = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
            
            classFile.plantString(i, n);
        
              CUP$parser$result = new java_cup.runtime.Symbol(33/*simple_instruction*/, ((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: // simple_instruction ::= Insn Word Word 
            {
              Object RESULT = null;
            int ileft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
            int iright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
            String i = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
            int n1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
            int n1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
            String n1 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
            int n2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
            int n2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
            String n2 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
            
            classFile.plant(i, n1, n2);
        
              CUP$parser$result = new java_cup.runtime.Symbol(33/*simple_instruction*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
            }
          return CUP$parser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 87: // simple_instruction ::= Insn Word Int 
            {
              Object RESULT = null;
            int ileft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
            int iright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
            String i = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
            int nleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
            int nright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
            String n = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
            int n2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
            int n2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
            Integer n2 = (Integer)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
            
            classFile.plant(i, n, n2.intValue());
        
              CUP$parser$result = new java_cup.runtime.Symbol(33/*simple_instruction*/, ((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: // simple_instruction ::= Insn Word 
            {
              Object RESULT = null;
            int ileft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
            int iright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
            String i = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
            int nleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
            int nright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
            String n = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
            
            classFile.plant(i, n);
        
              CUP$parser$result = new java_cup.runtime.Symbol(33/*simple_instruction*/, ((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 85: // simple_instruction ::= Insn Num 
            {
              Object RESULT = null;
            int ileft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
            int iright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
            String i = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
            int nleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
            int nright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
            Number n = (Number)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
            
            classFile.plant(i, n);
        
              CUP$parser$result = new java_cup.runtime.Symbol(33/*simple_instruction*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
            }
          return CUP$parser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 84: // simple_instruction ::= Insn Int 
            {
              Object RESULT = null;
            int ileft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
            int iright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
            String i = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
            int nleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
            int nright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
            Integer n = (Integer)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
            
            classFile.plant(i, n.intValue());
        
              CUP$parser$result = new java_cup.runtime.Symbol(33/*simple_instruction*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
            }
          return CUP$parser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 83: // simple_instruction ::= Insn Int Int 
            {
              Object RESULT = null;
            int ileft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
            int iright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
            String i = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
            int n1left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
            int n1right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
            Integer n1 = (Integer)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
            int n2left = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
            int n2right = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
            Integer n2 = (Integer)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
            
            classFile.plant(i, n1.intValue(), n2.intValue());
        
              CUP$parser$result = new java_cup.runtime.Symbol(33/*simple_instruction*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
            }
          return CUP$parser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 82: // simple_instruction ::= Insn 
            {
              Object RESULT = null;
            int ileft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
            int iright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
            String i = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
            
            classFile.plant(i);
        
              CUP$parser$result = new java_cup.runtime.Symbol(33/*simple_instruction*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
            }
          return CUP$parser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 81: // instruction ::= complex_instruction 
            {
              Object RESULT = null;

              CUP$parser$result = new java_cup.runtime.Symbol(16/*instruction*/, ((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 80: // instruction ::= simple_instruction 
            {
              Object RESULT = null;

              CUP$parser$result = new java_cup.runtime.Symbol(16/*instruction*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
            }
          return CUP$parser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 79: // set_expr ::= Word Str 
            {
              Object RESULT = null;
            int nameleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
            int nameright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
            String name = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
            int vleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
            int vright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
            String v = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
             scanner.dict.put(name, v); 
              CUP$parser$result = new java_cup.runtime.Symbol(32/*set_expr*/, ((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: // set_expr ::= Word Num 
            {
              Object RESULT = null;
            int nameleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
            int nameright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
            String name = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
            int vleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
            int vright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
            Number v = (Number)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
             scanner.dict.put(name, v); 
              CUP$parser$result = new java_cup.runtime.Symbol(32/*set_expr*/, ((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: // set_expr ::= Word Word 
            {
              Object RESULT = null;
            int nameleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
            int nameright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
            String name = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
            int vleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
            int vright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
            String v = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
             scanner.dict.put(name, v); 
              CUP$parser$result = new java_cup.runtime.Symbol(32/*set_expr*/, ((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 76: // set_expr ::= Word Int 
            {
              Object RESULT = null;
            int nameleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
            int nameright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
            String name = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
            int vleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
            int vright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
            Integer v = (Integer)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
             scanner.dict.put(name, v); 
              CUP$parser$result = new java_cup.runtime.Symbol(32/*set_expr*/, ((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 75: // catch_expr ::= classname FROM Word TO Word USING Word 
            {
              Object RESULT = null;
            int aclassleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-6)).left;
            int aclassright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-6)).right;
            String aclass = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-6)).value;
            int fromlableft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).left;
            int fromlabright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).right;
            String fromlab = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-4)).value;
            int tolableft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
            int tolabright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
            String tolab = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
            int branchlableft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
            int branchlabright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
            String branchlab = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
            
            classFile.addCatch(aclass,
                            fromlab, tolab,
                            branchlab);
        
              CUP$parser$result = new java_cup.runtime.Symbol(7/*catch_expr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-6)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
            }
          return CUP$parser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 74: // throws_expr ::= classname 
            {
              Object RESULT = null;
            int sleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
            int sright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
            String s = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
            
            classFile.addThrow(s);
        
              CUP$parser$result = new java_cup.runtime.Symbol(46/*throws_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 73: // line_expr ::= Int 
            {
              Object RESULT = null;
            int vleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
            int vright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
            Integer v = (Integer)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
             classFile.addLine(v.intValue()); 
              CUP$parser$result = new java_cup.runtime.Symbol(41/*line_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 72: // limit_expr ::= Word Int 
            {
              Object RESULT = null;
            int wleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
            int wright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
            String w = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
            int vleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
            int vright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
            Integer v = (Integer)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
            
        // .limit locals
        if (w.equals("locals")
                 || w.equals("vars")) // "vars" for historic reasons
            classFile.setVarSize((short)v.intValue());
        // .limit stack
        else if (w.equals("stack"))
            classFile.setStackSize((short)v.intValue());
        else
            classFile.report_error(".limit expected \"stack\" or \"locals\", but got "
                          + w);
      
              CUP$parser$result = new java_cup.runtime.Symbol(22/*limit_expr*/, ((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 71: // var_expr ::= Int IS Word Word 
            {
              Object RESULT = null;
            int regleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left;
            int regright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).right;
            Integer reg = (Integer)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value;
            int nameleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
            int nameright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
            String name = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
            int sigleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
            int sigright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
            String sig = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
            
             classFile.addVar(null, null, name, sig, reg.intValue());
        
              CUP$parser$result = new java_cup.runtime.Symbol(47/*var_expr*/, ((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 70: // var_expr ::= Int IS Word Word FROM Word TO Word 
            {
              Object RESULT = null;
            int regleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-7)).left;
            int regright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-7)).right;
            Integer reg = (Integer)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-7)).value;
            int nameleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-5)).left;
            int nameright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-5)).right;
            String name = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-5)).value;
            int sigleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).left;
            int sigright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).right;
            String sig = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-4)).value;
            int slableft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
            int slabright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
            String slab = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
            int elableft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
            int elabright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
            String elab = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
            
             classFile.addVar(slab, elab, name,
                            sig, reg.intValue());
        
              CUP$parser$result = new java_cup.runtime.Symbol(47/*var_expr*/, ((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 69: // code_attr_expr ::= Word Str 
            {
              Object RESULT = null;
            int wleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
            int wright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
            String w = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
            int vleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
            int vright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
            String v = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
            
               classFile.addSootCodeAttr(w, v);    
          
              CUP$parser$result = new java_cup.runtime.Symbol(48/*code_attr_expr*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
            }
          return CUP$parser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 68: // directive ::= DCODE_ATTR code_attr_expr 
            {
              Object RESULT = null;

              CUP$parser$result = new java_cup.runtime.Symbol(11/*directive*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
            }
          return CUP$parser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 67: // directive ::= DSET set_expr 
            {
              Object RESULT = null;

              CUP$parser$result = new java_cup.runtime.Symbol(11/*directive*/, ((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 66: // directive ::= DCATCH catch_expr 
            {
              Object RESULT = null;

              CUP$parser$result = new java_cup.runtime.Symbol(11/*directive*/, ((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: // directive ::= DTHROWS throws_expr 
            {
              Object RESULT = null;

              CUP$parser$result = new java_cup.runtime.Symbol(11/*directive*/, ((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 64: // directive ::= DLINE line_expr 
            {
              Object RESULT = null;

              CUP$parser$result = new java_cup.runtime.Symbol(11/*directive*/, ((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 63: // directive ::= DLIMIT limit_expr 
            {
              Object RESULT = null;

              CUP$parser$result = new java_cup.runtime.Symbol(11/*directive*/, ((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 62: // directive ::= DVAR var_expr 
            {
              Object RESULT = null;

              CUP$parser$result = new java_cup.runtime.Symbol(11/*directive*/, ((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 61: // label ::= Word COLON 
            {
              Object RESULT = null;
            int labelleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
            int labelright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
            String label = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
            
            classFile.plantLabel(label);
        
              CUP$parser$result = new java_cup.runtime.Symbol(21/*label*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
            }
          return CUP$parser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 60: // stmnt ::= 
            {
              Object RESULT = null;

              CUP$parser$result = new java_cup.runtime.Symbol(37/*stmnt*/, ((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 59: // stmnt ::= label 
            {
              Object RESULT = null;

              CUP$parser$result = new java_cup.runtime.Symbol(37/*stmnt*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
            }
          return CUP$parser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 58: // stmnt ::= error 
            {
              Object RESULT = null;

              CUP$parser$result = new java_cup.runtime.Symbol(37/*stmnt*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
            }
          return CUP$parser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 57: // stmnt ::= directive 
            {
              Object RESULT = null;

              CUP$parser$result = new java_cup.runtime.Symbol(37/*stmnt*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
            }
          return CUP$parser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 56: // stmnt ::= instruction 
            {
              Object RESULT = null;

              CUP$parser$result = new java_cup.runtime.Symbol(37/*stmnt*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
            }
          return CUP$parser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 55: // statement ::= NT$1 stmnt SEP 
            {
              Object RESULT = null;
              // propagate RESULT from NT$1
              if ( ((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value != null )
                RESULT = (Object) ((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;

              CUP$parser$result = new java_cup.runtime.Symbol(35/*statement*/, ((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: // NT$1 ::= 
            {
              Object RESULT = null;
 classFile.setLine(scanner.token_line_num); 
              CUP$parser$result = new java_cup.runtime.Symbol(62/*NT$1*/, ((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: // statements ::= statement 
            {
              Object RESULT = null;

              CUP$parser$result = new java_cup.runtime.Symbol(36/*statements*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
            }
          return CUP$parser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 52: // statements ::= statements statement 
            {
              Object RESULT = null;

              CUP$parser$result = new java_cup.runtime.Symbol(36/*statements*/, ((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 51: // endmethod ::= DEND METHOD SEP 
            {
              Object RESULT = null;
            
            classFile.endMethod();
        
              CUP$parser$result = new java_cup.runtime.Symbol(12/*endmethod*/, ((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: // defmethod ::= DMETHOD access Word SEP 
            {
              Object RESULT = null;
            int ileft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
            int iright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
            Short i = (Short)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
            int nameleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
            int nameright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
            String name = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
            
            String split[] = ScannerUtils.splitMethodSignature(name);
            classFile.newMethod(split[0], split[1], i.intValue());
        
              CUP$parser$result = new java_cup.runtime.Symbol(10/*defmethod*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
            }
          return CUP$parser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 49: // method_spec ::= defmethod endmethod 
            {
              Object RESULT = null;

              CUP$parser$result = new java_cup.runtime.Symbol(30/*method_spec*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
            }
          return CUP$parser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 48: // method_spec ::= defmethod statements endmethod 
            {
              Object RESULT = null;

              CUP$parser$result = new java_cup.runtime.Symbol(30/*method_spec*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
            }
          return CUP$parser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 47: // method_item ::= method_spec 
            {
              Object RESULT = null;

              CUP$parser$result = new java_cup.runtime.Symbol(52/*method_item*/, ((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: // method_item ::= method_spec method_attrs 
            {
              Object RESULT = null;

              CUP$parser$result = new java_cup.runtime.Symbol(52/*method_item*/, ((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 45: // method_list ::= method_item 
            {
              Object RESULT = null;

              CUP$parser$result = new java_cup.runtime.Symbol(29/*method_list*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
            }
          return CUP$parser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 44: // method_list ::= method_list method_item 
            {
              Object RESULT = null;

              CUP$parser$result = new java_cup.runtime.Symbol(29/*method_list*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
            }
          return CUP$parser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 43: // methods ::= 
            {
              Object RESULT = null;

              CUP$parser$result = new java_cup.runtime.Symbol(31/*methods*/, ((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 42: // methods ::= method_list 
            {
              Object RESULT = null;

              CUP$parser$result = new java_cup.runtime.Symbol(31/*methods*/, ((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: // item ::= Str 
            {
              Object RESULT = null;
            int sleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
            int sright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
            String s = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
             RESULT = s; 
              CUP$parser$result = new java_cup.runtime.Symbol(3/*item*/, ((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 40: // item ::= Num 
            {
              Object RESULT = null;
            int nleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
            int nright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
            Number n = (Number)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
             RESULT = n; 
              CUP$parser$result = new java_cup.runtime.Symbol(3/*item*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
            }
          return CUP$parser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 39: // item ::= Int 
            {
              Object RESULT = null;
            int ileft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
            int iright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
            Integer i = (Integer)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
             RESULT = i; 
              CUP$parser$result = new java_cup.runtime.Symbol(3/*item*/, ((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: // optional_default ::= 
            {
              Object RESULT = null;
             RESULT = null; 
              CUP$parser$result = new java_cup.runtime.Symbol(2/*optional_default*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
            }
          return CUP$parser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 37: // optional_default ::= EQ item 
            {
              Object RESULT = null;
            int vleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
            int vright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
            Object v = (Object)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
             RESULT = v; 
              CUP$parser$result = new java_cup.runtime.Symbol(2/*optional_default*/, ((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 36: // field_spec ::= DFIELD access Str Word optional_default SEP 
            {
              Object RESULT = null;
            int aleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).left;
            int aright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).right;
            Short a = (Short)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-4)).value;
            int nameleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left;
            int nameright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).right;
            String name = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value;
            int sigleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
            int sigright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
            String sig = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
            int vleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
            int vright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
            Object v = (Object)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
            
            classFile.addField((short)a.intValue(), name, sig,
                            v);
        
              CUP$parser$result = new java_cup.runtime.Symbol(14/*field_spec*/, ((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 35: // field_item ::= field_spec 
            {
              Object RESULT = null;

              CUP$parser$result = new java_cup.runtime.Symbol(56/*field_item*/, ((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: // field_item ::= field_spec field_attrs 
            {
              Object RESULT = null;

              CUP$parser$result = new java_cup.runtime.Symbol(56/*field_item*/, ((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 33: // field_list ::= field_item 
            {
              Object RESULT = null;

              CUP$parser$result = new java_cup.runtime.Symbol(13/*field_list*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
            }
          return CUP$parser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 32: // field_list ::= field_list field_item 
            {
              Object RESULT = null;

              CUP$parser$result = new java_cup.runtime.Symbol(13/*field_list*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
            }
          return CUP$parser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 31: // fields ::= 
            {
              Object RESULT = null;

              CUP$parser$result = new java_cup.runtime.Symbol(15/*fields*/, ((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 30: // fields ::= field_list 
            {
              Object RESULT = null;

              CUP$parser$result = new java_cup.runtime.Symbol(15/*fields*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
            }
          return CUP$parser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 29: // implements_spec ::= DIMPLEMENTS classname SEP 
            {
              Object RESULT = null;
            int nameleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
            int nameright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
            String name = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
             classFile.addInterface(name); 
              CUP$parser$result = new java_cup.runtime.Symbol(19/*implements_spec*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
            }
          return CUP$parser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 28: // implements_list ::= implements_spec 
            {
              Object RESULT = null;

              CUP$parser$result = new java_cup.runtime.Symbol(18/*implements_list*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
            }
          return CUP$parser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 27: // implements_list ::= implements_list implements_spec 
            {
              Object RESULT = null;

              CUP$parser$result = new java_cup.runtime.Symbol(18/*implements_list*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
            }
          return CUP$parser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 26: // implements ::= 
            {
              Object RESULT = null;

              CUP$parser$result = new java_cup.runtime.Symbol(17/*implements*/, ((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 25: // implements ::= implements_list 
            {
              Object RESULT = null;

              CUP$parser$result = new java_cup.runtime.Symbol(17/*implements*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
            }
          return CUP$parser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 24: // super_spec ::= DSUPER classname SEP 
            {
              Object RESULT = null;
            int nameleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
            int nameright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
            String name = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
            
            classFile.setSuperClass(name);
        
              CUP$parser$result = new java_cup.runtime.Symbol(38/*super_spec*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
            }
          return CUP$parser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 23: // access_item ::= ABSTRACT 
            {
              Object RESULT = null;
             access_val |= RuntimeConstants.ACC_ABSTRACT; 
              CUP$parser$result = new java_cup.runtime.Symbol(4/*access_item*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
            }
          return CUP$parser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 22: // access_item ::= INTERFACE 
            {
              Object RESULT = null;
             access_val |= RuntimeConstants.ACC_INTERFACE; 
              CUP$parser$result = new java_cup.runtime.Symbol(4/*access_item*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
            }
          return CUP$parser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 21: // access_item ::= NATIVE 
            {
              Object RESULT = null;
             access_val |= RuntimeConstants.ACC_NATIVE; 
              CUP$parser$result = new java_cup.runtime.Symbol(4/*access_item*/, ((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: // access_item ::= TRANSIENT 
            {
              Object RESULT = null;
             access_val |= RuntimeConstants.ACC_TRANSIENT; 
              CUP$parser$result = new java_cup.runtime.Symbol(4/*access_item*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
            }
          return CUP$parser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 19: // access_item ::= VOLATILE 
            {
              Object RESULT = null;
             access_val |= RuntimeConstants.ACC_VOLATILE; 
              CUP$parser$result = new java_cup.runtime.Symbol(4/*access_item*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
            }
          return CUP$parser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 18: // access_item ::= SYNCHRONIZED 
            {
              Object RESULT = null;
             access_val |= RuntimeConstants.ACC_SYNCHRONIZED; 
              CUP$parser$result = new java_cup.runtime.Symbol(4/*access_item*/, ((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: // access_item ::= FINAL 
            {
              Object RESULT = null;
             access_val |= RuntimeConstants.ACC_FINAL; 
              CUP$parser$result = new java_cup.runtime.Symbol(4/*access_item*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
            }
          return CUP$parser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 16: // access_item ::= STATIC 
            {
              Object RESULT = null;
             access_val |= RuntimeConstants.ACC_STATIC; 
              CUP$parser$result = new java_cup.runtime.Symbol(4/*access_item*/, ((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: // access_item ::= PROTECTED 
            {
              Object RESULT = null;
             access_val |= RuntimeConstants.ACC_PROTECTED; 
              CUP$parser$result = new java_cup.runtime.Symbol(4/*access_item*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
            }
          return CUP$parser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 14: // access_item ::= PRIVATE 
            {
              Object RESULT = null;
             access_val |= RuntimeConstants.ACC_PRIVATE; 
              CUP$parser$result = new java_cup.runtime.Symbol(4/*access_item*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
            }
          return CUP$parser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 13: // access_item ::= PUBLIC 
            {
              Object RESULT = null;
             access_val |= RuntimeConstants.ACC_PUBLIC; 
              CUP$parser$result = new java_cup.runtime.Symbol(4/*access_item*/, ((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: // access_items ::= access_item 
            {
              Object RESULT = null;

              CUP$parser$result = new java_cup.runtime.Symbol(5/*access_items*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
            }
          return CUP$parser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 11: // access_items ::= access_items access_item 
            {
              Object RESULT = null;

              CUP$parser$result = new java_cup.runtime.Symbol(5/*access_items*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
            }
          return CUP$parser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 10: // access_list ::= 
            {
              Object RESULT = null;

              CUP$parser$result = new java_cup.runtime.Symbol(6/*access_list*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
            }
          return CUP$parser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 9: // access_list ::= access_items 
            {
              Object RESULT = null;

              CUP$parser$result = new java_cup.runtime.Symbol(6/*access_list*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
            }
          return CUP$parser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 8: // access ::= NT$0 access_list 
            {
              Short RESULT = null;
              // propagate RESULT from NT$0
              if ( ((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value != null )
                RESULT = (Short) ((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
             RESULT = new Short(access_val); 
              CUP$parser$result = new java_cup.runtime.Symbol(60/*access*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
            }
          return CUP$parser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 7: // NT$0 ::= 
            {
              Object RESULT = null;
 access_val = 0; 
              CUP$parser$result = new java_cup.runtime.Symbol(61/*NT$0*/, ((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 6: // classname ::= Word 
            {
              String RESULT = null;
            int wleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
            int wright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
            String w = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
             RESULT = ScannerUtils.convertDots(w); 
              CUP$parser$result = new java_cup.runtime.Symbol(1/*classname*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
            }
          return CUP$parser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 5: // class_spec ::= DINTERFACE access classname SEP 
            {
              Object RESULT = null;
            int aleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
            int aright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
            Short a = (Short)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
            int nameleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
            int nameright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
            String name = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
            
            classFile.setClass(name,
                (short)(a.intValue() |
                        RuntimeConstants.ACC_SUPER |
                        RuntimeConstants.ACC_INTERFACE));
        
              CUP$parser$result = new java_cup.runtime.Symbol(8/*class_spec*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
            }
          return CUP$parser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 4: // class_spec ::= DCLASS access classname SEP 
            {
              Object RESULT = null;
            int aleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
            int aright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
            Short a = (Short)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
            int nameleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
            int nameright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
            String name = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
            
            classFile.setClass(name,
                (short)(a.intValue() | RuntimeConstants.ACC_SUPER));
        
              CUP$parser$result = new java_cup.runtime.Symbol(8/*class_spec*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
            }
          return CUP$parser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 3: // source_spec ::= 
            {
              Object RESULT = null;

              CUP$parser$result = new java_cup.runtime.Symbol(34/*source_spec*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
            }
          return CUP$parser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 2: // source_spec ::= DSOURCE Word SEP 
            {
              Object RESULT = null;
            int wleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
            int wright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
            String w = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
             classFile.setSource(w); 
              CUP$parser$result = new java_cup.runtime.Symbol(34/*source_spec*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
            }
          return CUP$parser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 1: // $START ::= jas_file 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;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 0: // jas_file ::= source_spec class_spec super_spec implements class_attrs fields methods 
            {
              Object RESULT = null;

              CUP$parser$result = new java_cup.runtime.Symbol(20/*jas_file*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-6)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
            }
          return CUP$parser$result;

          /* . . . . . .*/
          default:
            throw new Exception(
               "Invalid action number found in internal parse table");

        }
    }
}


Generated by  Doxygen 1.6.0   Back to index