content: /*
  Copyright (C) 2018-2019 Andres Castellanos
  
  This program is free software: you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation, either version 3 of the License, or
  (at your option) any later version.
  
  This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.
  
  You should have received a copy of the GNU General Public License
  along with this program.  If not, see <https://www.gnu.org/licenses/>
  */
  
  package jupiter.asm;
  
  import java.util.ArrayList;
  import java_cup.runtime.Scanner;
  import java_cup.runtime.Symbol;
  
  import jupiter.Flags;
  import jupiter.utils.Data;
  
  /** CUP v0.11b 20160615 (GIT 4ac7450) generated parser.
    */
  @SuppressWarnings({"rawtypes"})
  public class Parser extends java_cup.runtime.lr_parser {
  
   public final Class getSymbolContainer() {
      return Token.class;
  }
  
    /** Default constructor. */
    @Deprecated
    public Parser() {super();}
  
    /** Constructor which sets the default scanner. */
    @Deprecated
    public Parser(java_cup.runtime.Scanner s) {super(s);}
  
    /** Constructor which sets the default scanner. */
    public Parser(java_cup.runtime.Scanner s, java_cup.runtime.SymbolFactory sf) {super(s,sf);}
  
    /** Production table. */
    protected static final short _production_table[][] =
      unpackFromStrings(new String[] {
      "\000\365\000\002\002\003\000\002\002\004\000\002\003" +
      "\003\000\002\003\004\000\002\003\003\000\002\004\004" +
      "\000\002\004\003\000\002\004\004\000\002\005\004\000" +
      "\002\005\004\000\002\005\003\000\002\005\003\000\002" +
      "\005\003\000\002\005\003\000\002\006\003\000\002\007" +
      "\003\000\002\007\003\000\002\007\003\000\002\007\003" +
      "\000\002\007\003\000\002\010\006\000\002\010\011\000" +
      "\002\010\006\000\002\010\011\000\002\010\006\000\002" +
      "\010\010\000\002\010\011\000\002\010\010\000\002\010" +
      "\010\000\002\010\010\000\002\010\010\000\002\010\010" +
      "\000\002\010\010\000\002\010\010\000\002\010\013\000" +
      "\002\010\013\000\002\010\011\000\002\010\014\000\002" +
      "\010\014\000\002\010\010\000\002\010\013\000\002\010" +
      "\013\000\002\010\011\000\002\010\014\000\002\010\014" +
      "\000\002\010\010\000\002\010\013\000\002\010\013\000" +
      "\002\010\011\000\002\010\014\000\002\010\014\000\002" +
      "\010\010\000\002\010\013\000\002\010\013\000\002\010" +
      "\011\000\002\010\014\000\002\010\014\000\002\010\010" +
      "\000\002\010\013\000\002\010\013\000\002\010\011\000" +
      "\002\010\014\000\002\010\014\000\002\010\010\000\002" +
      "\010\013\000\002\010\013\000\002\010\011\000\002\010" +
      "\014\000\002\010\014\000\002\010\010\000\002\010\013" +
      "\000\002\010\013\000\002\010\011\000\002\010\014\000" +
      "\002\010\014\000\002\010\010\000\002\010\013\000\002" +
      "\010\013\000\002\010\011\000\002\010\014\000\002\010" +
      "\014\000\002\010\010\000\002\010\013\000\002\010\013" +
      "\000\002\010\010\000\002\010\010\000\002\010\010\000" +
      "\002\010\010\000\002\010\010\000\002\010\010\000\002" +
      "\010\010\000\002\010\010\000\002\010\010\000\002\010" +
      "\010\000\002\010\010\000\002\010\010\000\002\010\010" +
      "\000\002\010\010\000\002\010\010\000\002\010\010\000" +
      "\002\010\010\000\002\010\010\000\002\010\003\000\002" +
      "\010\003\000\002\010\003\000\002\011\010\000\002\011" +
      "\010\000\002\011\010\000\002\011\010\000\002\011\010" +
      "\000\002\011\010\000\002\012\010\000\002\012\010\000" +
      "\002\012\010\000\002\012\010\000\002\012\010\000\002" +
      "\012\010\000\002\012\010\000\002\012\010\000\002\013" +
      "\010\000\002\013\011\000\002\013\010\000\002\013\011" +
      "\000\002\013\012\000\002\013\012\000\002\013\012\000" +
      "\002\013\012\000\002\013\010\000\002\013\010\000\002" +
      "\013\010\000\002\013\010\000\002\013\006\000\002\013" +
      "\010\000\002\013\010\000\002\013\010\000\002\013\010" +
      "\000\002\013\010\000\002\013\006\000\002\013\006\000" +
      "\002\013\006\000\002\013\010\000\002\013\010\000\002" +
      "\013\010\000\002\013\006\000\002\013\006\000\002\013" +
      "\006\000\002\013\006\000\002\016\006\000\002\016\006" +
      "\000\002\016\006\000\002\016\006\000\002\016\010\000" +
      "\002\016\010\000\002\016\010\000\002\016\010\000\002" +
      "\016\010\000\002\016\003\000\002\016\006\000\002\016" +
      "\006\000\002\016\006\000\002\016\006\000\002\016\006" +
      "\000\002\016\006\000\002\016\006\000\002\016\006\000" +
      "\002\016\006\000\002\016\006\000\002\016\006\000\002" +
      "\016\006\000\002\016\006\000\002\016\006\000\002\016" +
      "\006\000\002\016\006\000\002\016\006\000\002\016\010" +
      "\000\002\016\010\000\002\016\010\000\002\016\010\000" +
      "\002\016\004\000\002\016\004\000\002\016\004\000\002" +
      "\016\004\000\002\016\003\000\002\016\004\000\002\016" +
      "\004\000\002\016\006\000\002\016\006\000\002\016\006" +
      "\000\002\016\006\000\002\016\006\000\002\016\006\000" +
      "\002\016\006\000\002\016\004\000\002\016\006\000\002" +
      "\016\004\000\002\016\004\000\002\016\006\000\002\016" +
      "\004\000\002\016\004\000\002\016\006\000\002\016\004" +
      "\000\002\014\004\000\002\014\004\000\002\014\004\000" +
      "\002\014\004\000\002\014\004\000\002\014\004\000\002" +
      "\014\004\000\002\014\004\000\002\015\004\000\002\015" +
      "\004\000\002\015\004\000\002\015\004\000\002\015\003" +
      "\000\002\015\003\000\002\015\003\000\002\015\003\000" +
      "\002\015\004\000\002\015\004\000\002\015\004\000\002" +
      "\015\003\000\002\015\004\000\002\030\003\000\002\030" +
      "\005\000\002\031\003\000\002\031\005\000\002\032\003" +
      "\000\002\032\005\000\002\017\003\000\002\017\003\000" +
      "\002\023\003\000\002\024\003\000\002\027\003\000\002" +
      "\026\003\000\002\022\003\000\002\022\003\000\002\022" +
      "\003\000\002\022\003\000\002\025\003\000\002\025\003" +
      "\000\002\025\003\000\002\025\003\000\002\020\003\000" +
      "\002\020\003\000\002\021\002" });
  
    /** Access to production table. */
    public short[][] production_table() {return _production_table;}
  
    /** Parse-action table. */
    protected static final short[][] _action_table =
      unpackFromStrings(new String[] {
      "\000\u03ad\000\u011c\003\212\007\052\010\054\011\041\012" +
      "\023\013\204\014\130\015\137\016\215\017\006\020\114" +
      "\021\134\022\063\023\027\024\022\025\016\026\162\027" +
      "\047\030\125\031\124\032\120\033\163\034\055\035\004" +
      "\036\005\037\226\040\150\041\223\042\211\043\166\044" +
      "\040\045\153\046\075\047\070\050\051\051\136\052\217" +
      "\053\221\054\202\055\100\056\157\057\110\060\036\061" +
      "\057\062\062\063\067\064\115\065\175\066\020\067\154" +
      "\070\011\071\133\072\174\073\043\074\072\075\113\076" +
      "\035\077\233\100\101\101\213\102\056\103\064\104\222" +
      "\105\201\106\044\107\032\110\116\111\045\112\220\113" +
      "\210\114\014\115\017\116\066\117\135\120\142\121\146" +
      "\122\050\123\107\124\147\125\123\126\214\127\117\130" +
      "\155\131\030\132\152\133\021\134\234\135\151\136\121" +
      "\137\010\140\106\141\046\142\173\143\170\144\145\145" +
      "\216\146\071\147\164\150\167\151\061\152\126\153\024" +
      "\154\102\155\013\156\025\157\171\160\224\161\042\162" +
      "\105\163\015\164\235\165\077\166\073\167\076\170\104" +
      "\171\225\172\053\173\127\174\200\175\007\176\131\177" +
      "\012\200\141\201\206\205\111\206\060\207\205\210\074" +
      "\211\172\212\227\213\140\214\231\215\230\216\065\217" +
      "\143\220\034\221\112\222\122\223\203\224\207\225\156" +
      "\001\002\000\004\202\240\001\002\000\004\202\240\001" +
      "\002\000\004\202\240\001\002\000\004\202\240\001\002" +
      "\000\004\202\240\001\002\000\004\202\240\001\002\000" +
      "\004\202\240\001\002\000\004\202\240\001\002\000\004" +
      "\203\246\001\002\000\004\204\236\001\002\000\004\202" +
      "\240\001\002\000\004\203\246\001\002\000\004\202\240" +
      "\001\002\000\004\202\240\001\002\000\004\202\240\001" +
      "\002\000\004\202\240\001\002\000\004\202\240\001\002" +
      "\000\004\202\240\001\002\000\006\002\ufff0\010\ufff0\001" +
      "\002\000\004\202\240\001\002\000\004\202\240\001\002" +
      "\000\006\002\ufff2\010\ufff2\001\002\000\004\203\246\001" +
      "\002\000\006\002\uffef\010\uffef\001\002\000\012\221\u0301" +
      "\222\u0302\223\u0303\224\u0300\001\002\000\004\202\240\001" +
      "\002\000\006\002\uff9a\010\uff9a\001\002\000\u0106\002\ufff7" +
      "\010\ufff7\011\041\012\023\013\204\014\130\015\137\016" +
      "\215\017\006\020\114\021\134\022\063\023\027\024\022" +
      "\025\016\026\162\027\047\030\125\031\124\032\120\033" +
      "\163\034\055\035\004\036\005\037\226\040\150\041\223" +
      "\042\211\043\166\044\040\045\153\046\075\047\070\050" +
      "\051\051\136\052\217\053\221\054\202\055\100\056\157" +
      "\057\110\060\036\061\057\062\062\063\067\064\115\065" +
      "\175\066\020\067\154\070\011\071\133\072\174\073\043" +
      "\074\072\075\113\076\035\077\233\100\101\101\213\102" +
      "\056\103\064\104\222\105\201\106\044\107\032\110\116" +
      "\111\045\112\220\113\210\114\014\115\017\116\066\117" +
      "\135\120\142\121\146\122\050\123\107\124\147\125\123" +
      "\126\214\127\117\130\155\131\030\132\152\133\021\134" +
      "\234\135\151\136\121\137\010\140\106\141\046\142\173" +
      "\143\170\144\145\145\216\146\071\147\164\150\167\151" +
      "\061\152\126\153\024\154\102\155\013\156\025\157\171" +
      "\160\224\161\042\162\105\163\015\164\235\165\077\166" +
      "\073\167\076\170\104\171\225\172\053\173\127\174\200" +
      "\175\007\176\131\177\012\200\141\201\206\206\060\207" +
      "\205\210\074\211\172\212\227\213\140\214\231\001\002" +
      "\000\004\202\240\001\002\000\004\202\240\001\002\000" +
      "\004\202\240\001\002\000\004\202\240\001\002\000\004" +
      "\203\246\001\002\000\004\203\246\001\002\000\004\202" +
      "\240\001\002\000\004\202\240\001\002\000\004\202\240" +
      "\001\002\000\004\202\240\001\002\000\u0106\002\ufff3\010" +
      "\ufff3\011\ufff3\012\ufff3\013\ufff3\014\ufff3\015\ufff3\016\ufff3" +
      "\017\ufff3\020\ufff3\021\ufff3\022\ufff3\023\ufff3\024\ufff3\025" +
      "\ufff3\026\ufff3\027\ufff3\030\ufff3\031\ufff3\032\ufff3\033\ufff3" +
      "\034\ufff3\035\ufff3\036\ufff3\037\ufff3\040\ufff3\041\ufff3\042" +
      "\ufff3\043\ufff3\044\ufff3\045\ufff3\046\ufff3\047\ufff3\050\ufff3" +
      "\051\ufff3\052\ufff3\053\ufff3\054\ufff3\055\ufff3\056\ufff3\057" +
      "\ufff3\060\ufff3\061\ufff3\062\ufff3\063\ufff3\064\ufff3\065\ufff3" +
      "\066\ufff3\067\ufff3\070\ufff3\071\ufff3\072\ufff3\073\ufff3\074" +
      "\ufff3\075\ufff3\076\ufff3\077\ufff3\100\ufff3\101\ufff3\102\ufff3" +
      "\103\ufff3\104\ufff3\105\ufff3\106\ufff3\107\ufff3\110\ufff3\111" +
      "\ufff3\112\ufff3\113\ufff3\114\ufff3\115\ufff3\116\ufff3\117\ufff3" +
      "\120\ufff3\121\ufff3\122\ufff3\123\ufff3\124\ufff3\125\ufff3\126" +
      "\ufff3\127\ufff3\130\ufff3\131\ufff3\132\ufff3\133\ufff3\134\ufff3" +
      "\135\ufff3\136\ufff3\137\ufff3\140\ufff3\141\ufff3\142\ufff3\143" +
      "\ufff3\144\ufff3\145\ufff3\146\ufff3\147\ufff3\150\ufff3\151\ufff3" +
      "\152\ufff3\153\ufff3\154\ufff3\155\ufff3\156\ufff3\157\ufff3\160" +
      "\ufff3\161\ufff3\162\ufff3\163\ufff3\164\ufff3\165\ufff3\166\ufff3" +
      "\167\ufff3\170\ufff3\171\ufff3\172\ufff3\173\ufff3\174\ufff3\175" +
      "\ufff3\176\ufff3\177\ufff3\200\ufff3\201\ufff3\206\ufff3\207\ufff3" +
      "\210\ufff3\211\ufff3\212\ufff3\213\ufff3\214\ufff3\001\002\000" +
      "\012\232\251\233\256\234\255\237\253\001\002\000\u011e" +
      "\002\ufffb\003\ufffb\007\ufffb\010\ufffb\011\ufffb\012\ufffb\013" +
      "\ufffb\014\ufffb\015\ufffb\016\ufffb\017\ufffb\020\ufffb\021\ufffb" +
      "\022\ufffb\023\ufffb\024\ufffb\025\ufffb\026\ufffb\027\ufffb\030" +
      "\ufffb\031\ufffb\032\ufffb\033\ufffb\034\ufffb\035\ufffb\036\ufffb" +
      "\037\ufffb\040\ufffb\041\ufffb\042\ufffb\043\ufffb\044\ufffb\045" +
      "\ufffb\046\ufffb\047\ufffb\050\ufffb\051\ufffb\052\ufffb\053\ufffb" +
      "\054\ufffb\055\ufffb\056\ufffb\057\ufffb\060\ufffb\061\ufffb\062" +
      "\ufffb\063\ufffb\064\ufffb\065\ufffb\066\ufffb\067\ufffb\070\ufffb" +
      "\071\ufffb\072\ufffb\073\ufffb\074\ufffb\075\ufffb\076\ufffb\077" +
      "\ufffb\100\ufffb\101\ufffb\102\ufffb\103\ufffb\104\ufffb\105\ufffb" +
      "\106\ufffb\107\ufffb\110\ufffb\111\ufffb\112\ufffb\113\ufffb\114" +
      "\ufffb\115\ufffb\116\ufffb\117\ufffb\120\ufffb\121\ufffb\122\ufffb" +
      "\123\ufffb\124\ufffb\125\ufffb\126\ufffb\127\ufffb\130\ufffb\131" +
      "\ufffb\132\ufffb\133\ufffb\134\ufffb\135\ufffb\136\ufffb\137\ufffb" +
      "\140\ufffb\141\ufffb\142\ufffb\143\ufffb\144\ufffb\145\ufffb\146" +
      "\ufffb\147\ufffb\150\ufffb\151\ufffb\152\ufffb\153\ufffb\154\ufffb" +
      "\155\ufffb\156\ufffb\157\ufffb\160\ufffb\161\ufffb\162\ufffb\163" +
      "\ufffb\164\ufffb\165\ufffb\166\ufffb\167\ufffb\170\ufffb\171\ufffb" +
      "\172\ufffb\173\ufffb\174\ufffb\175\ufffb\176\ufffb\177\ufffb\200" +
      "\ufffb\201\ufffb\205\ufffb\206\ufffb\207\ufffb\210\ufffb\211\ufffb" +
      "\212\ufffb\213\ufffb\214\ufffb\215\ufffb\216\ufffb\217\ufffb\220" +
      "\ufffb\221\ufffb\222\ufffb\223\ufffb\224\ufffb\225\ufffb\001\002" +
      "\000\004\202\240\001\002\000\004\203\246\001\002\000" +
      "\004\202\240\001\002\000\012\232\251\233\256\234\255" +
      "\237\253\001\002\000\004\202\240\001\002\000\004\202" +
      "\240\001\002\000\004\202\240\001\002\000\004\203\246" +
      "\001\002\000\012\232\251\233\256\234\255\237\253\001" +
      "\002\000\004\203\246\001\002\000\004\202\240\001\002" +
      "\000\004\202\240\001\002\000\004\202\240\001\002\000" +
      "\004\202\240\001\002\000\012\232\251\233\256\234\255" +
      "\237\253\001\002\000\004\236\u010b\001\002\000\004\202" +
      "\240\001\002\000\012\232\251\233\256\234\255\237\253" +
      "\001\002\000\004\202\240\001\002\000\004\202\240\001" +
      "\002\000\006\202\240\203\246\001\002\000\004\202\240" +
      "\001\002\000\006\002\ufff5\010\ufff5\001\002\000\012\232" +
      "\251\233\256\234\255\237\253\001\002\000\006\002\uff4b" +
      "\010\uff4b\001\002\000\004\202\240\001\002\000\004\202" +
      "\240\001\002\000\006\002\uff9b\010\uff9b\001\002\000\004" +
      "\236\u010b\001\002\000\006\002\uff2b\010\uff2b\001\002\000" +
      "\004\202\240\001\002\000\004\202\240\001\002\000\004" +
      "\202\240\001\002\000\004\203\246\001\002\000\004\203" +
      "\246\001\002\000\004\202\240\001\002\000\004\202\240" +
      "\001\002\000\006\002\uff2c\010\uff2c\001\002\000\004\202" +
      "\240\001\002\000\004\202\240\001\002\000\004\202\240" +
      "\001\002\000\004\202\240\001\002\000\012\232\251\233" +
      "\256\234\255\237\253\001\002\000\004\202\240\001\002" +
      "\000\004\202\240\001\002\000\006\002\ufff4\010\ufff4\001" +
      "\002\000\004\202\240\001\002\000\004\202\240\001\002" +
      "\000\004\202\240\001\002\000\004\202\240\001\002\000" +
      "\004\202\240\001\002\000\014\204\236\232\251\233\256" +
      "\234\255\237\253\001\002\000\004\202\240\001\002\000" +
      "\004\202\240\001\002\000\004\204\236\001\002\000\006" +
      "\002\ufff6\010\ufff6\001\002\000\004\203\246\001\002\000" +
      "\004\202\240\001\002\000\004\202\240\001\002\000\004" +
      "\202\240\001\002\000\004\202\240\001\002\000\006\002" +
      "\uff65\010\uff65\001\002\000\004\202\240\001\002\000\004" +
      "\202\240\001\002\000\004\203\246\001\002\000\006\002" +
      "\uff25\010\uff25\001\002\000\006\002\uff99\010\uff99\001\002" +
      "\000\006\002\ufffd\010\u016a\001\002\000\006\002\ufff1\010" +
      "\ufff1\001\002\000\004\202\240\001\002\000\004\202\240" +
      "\001\002\000\004\202\240\001\002\000\u011e\002\uffff\003" +
      "\212\007\052\010\054\011\041\012\023\013\204\014\130" +
      "\015\137\016\215\017\006\020\114\021\134\022\063\023" +
      "\027\024\022\025\016\026\162\027\047\030\125\031\124" +
      "\032\120\033\163\034\055\035\004\036\005\037\226\040" +
      "\150\041\223\042\211\043\166\044\040\045\153\046\075" +
      "\047\070\050\051\051\136\052\217\053\221\054\202\055" +
      "\100\056\157\057\110\060\036\061\057\062\062\063\067" +
      "\064\115\065\175\066\020\067\154\070\011\071\133\072" +
      "\174\073\043\074\072\075\113\076\035\077\233\100\101" +
      "\101\213\102\056\103\064\104\222\105\201\106\044\107" +
      "\032\110\116\111\045\112\220\113\210\114\014\115\017" +
      "\116\066\117\135\120\142\121\146\122\050\123\107\124" +
      "\147\125\123\126\214\127\117\130\155\131\030\132\152" +
      "\133\021\134\234\135\151\136\121\137\010\140\106\141" +
      "\046\142\173\143\170\144\145\145\216\146\071\147\164" +
      "\150\167\151\061\152\126\153\024\154\102\155\013\156" +
      "\025\157\171\160\224\161\042\162\105\163\015\164\235" +
      "\165\077\166\073\167\076\170\104\171\225\172\053\173" +
      "\127\174\200\175\007\176\131\177\012\200\141\201\206" +
      "\205\111\206\060\207\205\210\074\211\172\212\227\213" +
      "\140\214\231\215\230\216\065\217\143\220\034\221\112" +
      "\222\122\223\203\224\207\225\156\001\002\000\004\202" +
      "\240\001\002\000\004\202\240\001\002\000\004\203\246" +
      "\001\002\000\004\202\240\001\002\000\012\232\251\233" +
      "\256\234\255\237\253\001\002\000\004\202\240\001\002" +
      "\000\004\202\240\001\002\000\004\202\240\001\002\000" +
      "\006\002\uffee\010\uffee\001\002\000\004\002\001\001\002" +
      "\000\004\202\240\001\002\000\004\203\246\001\002\000" +
      "\004\202\240\001\002\000\006\002\uff2a\010\uff2a\001\002" +
      "\000\016\202\240\204\236\232\251\233\256\234\255\237" +
      "\253\001\002\000\004\236\u010b\001\002\000\004\202\240" +
      "\001\002\000\006\002\uff29\010\uff29\001\002\000\004\203" +
      "\246\001\002\000\004\202\240\001\002\000\004\010\375" +
      "\001\002\000\004\203\246\001\002\000\004\203\246\001" +
      "\002\000\004\202\240\001\002\000\004\203\246\001\002" +
      "\000\004\202\240\001\002\000\004\203\246\001\002\000" +
      "\004\202\240\001\002\000\004\203\246\001\002\000\004" +
      "\202\240\001\002\000\014\204\236\232\251\233\256\234" +
      "\255\237\253\001\002\000\012\232\251\233\256\234\255" +
      "\237\253\001\002\000\004\202\240\001\002\000\012\232" +
      "\251\233\256\234\255\237\253\001\002\000\012\232\251" +
      "\233\256\234\255\237\253\001\002\000\012\232\275\233" +
      "\271\234\270\235\273\001\002\000\004\002\267\001\002" +
      "\000\004\203\246\001\002\000\004\202\240\001\002\000" +
      "\004\204\236\001\002\000\014\002\uff19\004\uff19\006\uff19" +
      "\010\uff19\202\uff19\001\002\000\006\002\uff49\010\uff49\001" +
      "\002\000\040\002\uff1b\004\uff1b\006\uff1b\010\uff1b\202\uff1b" +
      "\203\uff1b\204\uff1b\226\uff1b\227\uff1b\230\uff1b\231\uff1b\232" +
      "\uff1b\233\uff1b\234\uff1b\237\uff1b\001\002\000\006\004\242" +
      "\202\uff0d\001\002\000\030\202\uff0f\203\uff0f\204\uff0f\226" +
      "\uff0f\227\uff0f\230\uff0f\231\uff0f\232\uff0f\233\uff0f\234\uff0f" +
      "\237\uff0f\001\002\000\004\202\240\001\002\000\030\202" +
      "\uff0e\203\uff0e\204\uff0e\226\uff0e\227\uff0e\230\uff0e\231\uff0e" +
      "\232\uff0e\233\uff0e\234\uff0e\237\uff0e\001\002\000\006\002" +
      "\uff63\010\uff63\001\002\000\026\002\uff1a\004\uff1a\010\uff1a" +
      "\202\uff1a\203\uff1a\204\uff1a\232\uff1a\233\uff1a\234\uff1a\237" +
      "\uff1a\001\002\000\020\004\242\202\uff0d\204\uff0d\232\uff0d" +
      "\233\uff0d\234\uff0d\237\uff0d\001\002\000\016\202\240\204" +
      "\236\232\251\233\256\234\255\237\253\001\002\000\024" +
      "\002\uff17\004\uff17\005\uff17\010\uff17\202\uff17\232\uff17\233" +
      "\uff17\234\uff17\237\uff17\001\002\000\006\004\242\202\uff0d" +
      "\001\002\000\024\002\uff14\004\uff14\005\uff14\010\uff14\202" +
      "\uff14\232\uff14\233\uff14\234\uff14\237\uff14\001\002\000\004" +
      "\005\262\001\002\000\024\002\uff15\004\uff15\005\uff15\010" +
      "\uff15\202\uff15\232\uff15\233\uff15\234\uff15\237\uff15\001\002" +
      "\000\024\002\uff16\004\uff16\005\uff16\010\uff16\202\uff16\232" +
      "\uff16\233\uff16\234\uff16\237\uff16\001\002\000\014\004\242" +
      "\232\uff0d\233\uff0d\234\uff0d\237\uff0d\001\002\000\012\232" +
      "\251\233\256\234\255\237\253\001\002\000\006\002\uff8a" +
      "\010\uff8a\001\002\000\004\202\240\001\002\000\004\006" +
      "\264\001\002\000\006\002\uff89\010\uff89\001\002\000\004" +
      "\202\240\001\002\000\006\002\uff67\010\uff67\001\002\000" +
      "\004\002\000\001\002\000\010\002\uff10\004\uff10\010\uff10" +
      "\001\002\000\010\002\uff11\004\uff11\010\uff11\001\002\000" +
      "\010\002\uff1f\004\uff1f\010\uff1f\001\002\000\010\002\uff13" +
      "\004\uff13\010\uff13\001\002\000\010\002\uff34\004\276\010" +
      "\uff34\001\002\000\010\002\uff12\004\uff12\010\uff12\001\002" +
      "\000\012\232\275\233\271\234\270\235\273\001\002\000" +
      "\010\002\uff1e\004\uff1e\010\uff1e\001\002\000\006\002\uff27" +
      "\010\uff27\001\002\000\010\002\uff37\004\303\010\uff37\001" +
      "\002\000\010\002\uff23\004\uff23\010\uff23\001\002\000\012" +
      "\232\251\233\256\234\255\237\253\001\002\000\010\002" +
      "\uff22\004\uff22\010\uff22\001\002\000\006\004\242\202\uff0d" +
      "\001\002\000\004\202\240\001\002\000\014\004\242\232" +
      "\uff0d\233\uff0d\234\uff0d\237\uff0d\001\002\000\012\232\251" +
      "\233\256\234\255\237\253\001\002\000\006\002\uffaa\010" +
      "\uffaa\001\002\000\014\004\242\232\uff0d\233\uff0d\234\uff0d" +
      "\237\uff0d\001\002\000\012\232\251\233\256\234\255\237" +
      "\253\001\002\000\006\002\uff44\010\uff44\001\002\000\006" +
      "\002\uff1d\010\uff1d\001\002\000\006\002\uff4f\010\uff4f\001" +
      "\002\000\006\002\uff1c\010\uff1c\001\002\000\006\004\242" +
      "\202\uff0d\001\002\000\004\202\240\001\002\000\014\004" +
      "\242\232\uff0d\233\uff0d\234\uff0d\237\uff0d\001\002\000\012" +
      "\232\251\233\256\234\255\237\253\001\002\000\006\002" +
      "\uffa8\010\uffa8\001\002\000\006\004\242\203\uff0d\001\002" +
      "\000\004\203\246\001\002\000\006\004\242\203\uff0d\001" +
      "\002\000\004\203\246\001\002\000\006\004\242\203\uff0d" +
      "\001\002\000\004\203\246\001\002\000\006\002\uff83\010" +
      "\uff83\001\002\000\006\004\242\202\uff0d\001\002\000\004" +
      "\202\240\001\002\000\006\004\242\202\uff0d\001\002\000" +
      "\004\202\240\001\002\000\006\002\uff9e\010\uff9e\001\002" +
      "\000\006\004\242\203\uff0d\001\002\000\004\203\246\001" +
      "\002\000\006\004\242\203\uff0d\001\002\000\004\203\246" +
      "\001\002\000\006\002\uff7d\010\uff7d\001\002\000\006\004" +
      "\242\202\uff0d\001\002\000\004\202\240\001\002\000\006" +
      "\004\242\202\uff0d\001\002\000\004\202\240\001\002\000" +
      "\006\002\uff9f\010\uff9f\001\002\000\006\004\242\203\uff0d" +
      "\001\002\000\004\203\246\001\002\000\006\002\uff5a\010" +
      "\uff5a\001\002\000\006\004\242\202\uff0d\001\002\000\004" +
      "\202\240\001\002\000\016\004\242\204\uff0d\232\uff0d\233" +
      "\uff0d\234\uff0d\237\uff0d\001\002\000\014\204\236\232\251" +
      "\233\256\234\255\237\253\001\002\000\006\002\uffe5\010" +
      "\uffe5\001\002\000\006\004\242\202\uff0d\001\002\000\004" +
      "\202\240\001\002\000\006\002\uff71\010\uff71\001\002\000" +
      "\006\004\242\203\uff0d\001\002\000\004\203\246\001\002" +
      "\000\006\004\242\203\uff0d\001\002\000\004\203\246\001" +
      "\002\000\006\004\242\203\uff0d\001\002\000\004\203\246" +
      "\001\002\000\006\002\uff86\010\uff86\001\002\000\u011e\002" +
      "\ufffa\003\ufffa\007\ufffa\010\ufffa\011\ufffa\012\ufffa\013\ufffa" +
      "\014\ufffa\015\ufffa\016\ufffa\017\ufffa\020\ufffa\021\ufffa\022" +
      "\ufffa\023\ufffa\024\ufffa\025\ufffa\026\ufffa\027\ufffa\030\ufffa" +
      "\031\ufffa\032\ufffa\033\ufffa\034\ufffa\035\ufffa\036\ufffa\037" +
      "\ufffa\040\ufffa\041\ufffa\042\ufffa\043\ufffa\044\ufffa\045\ufffa" +
      "\046\ufffa\047\ufffa\050\ufffa\051\ufffa\052\ufffa\053\ufffa\054" +
      "\ufffa\055\ufffa\056\ufffa\057\ufffa\060\ufffa\061\ufffa\062\ufffa" +
      "\063\ufffa\064\ufffa\065\ufffa\066\ufffa\067\ufffa\070\ufffa\071" +
      "\ufffa\072\ufffa\073\ufffa\074\ufffa\075\ufffa\076\ufffa\077\ufffa" +
      "\100\ufffa\101\ufffa\102\ufffa\103\ufffa\104\ufffa\105\ufffa\106" +
      "\ufffa\107\ufffa\110\ufffa\111\ufffa\112\ufffa\113\ufffa\114\ufffa" +
      "\115\ufffa\116\ufffa\117\ufffa\120\ufffa\121\ufffa\122\ufffa\123" +
      "\ufffa\124\ufffa\125\ufffa\126\ufffa\127\ufffa\130\ufffa\131\ufffa" +
      "\132\ufffa\133\ufffa\134\ufffa\135\ufffa\136\ufffa\137\ufffa\140" +
      "\ufffa\141\ufffa\142\ufffa\143\ufffa\144\ufffa\145\ufffa\146\ufffa" +
      "\147\ufffa\150\ufffa\151\ufffa\152\ufffa\153\ufffa\154\ufffa\155" +
      "\ufffa\156\ufffa\157\ufffa\160\ufffa\161\ufffa\162\ufffa\163\ufffa" +
      "\164\ufffa\165\ufffa\166\ufffa\167\ufffa\170\ufffa\171\ufffa\172" +
      "\ufffa\173\ufffa\174\ufffa\175\ufffa\176\ufffa\177\ufffa\200\ufffa" +
      "\201\ufffa\205\ufffa\206\ufffa\207\ufffa\210\ufffa\211\ufffa\212" +
      "\ufffa\213\ufffa\214\ufffa\215\ufffa\216\ufffa\217\ufffa\220\ufffa" +
      "\221\ufffa\222\ufffa\223\ufffa\224\ufffa\225\ufffa\001\002\000" +
      "\006\004\242\202\uff0d\001\002\000\004\202\240\001\002" +
      "\000\014\004\242\232\uff0d\233\uff0d\234\uff0d\237\uff0d\001" +
      "\002\000\012\232\251\233\256\234\255\237\253\001\002" +
      "\000\006\002\uffa7\010\uffa7\001\002\000\006\004\242\203" +
      "\uff0d\001\002\000\004\203\246\001\002\000\006\004\242" +
      "\203\uff0d\001\002\000\004\203\246\001\002\000\006\002" +
      "\uff7c\010\uff7c\001\002\000\012\002\uff39\004\242\010\uff39" +
      "\202\uff0d\001\002\000\004\202\240\001\002\000\006\002" +
      "\uff3a\010\uff3a\001\002\000\006\002\uff18\010\uff18\001\002" +
      "\000\006\002\uff32\010\uff32\001\002\000\006\002\uff4e\010" +
      "\uff4e\001\002\000\016\004\242\204\uff0d\232\uff0d\233\uff0d" +
      "\234\uff0d\237\uff0d\001\002\000\014\204\236\232\251\233" +
      "\256\234\255\237\253\001\002\000\006\002\uffe9\010\uffe9" +
      "\001\002\000\006\004\242\202\uff0d\001\002\000\004\202" +
      "\240\001\002\000\006\004\242\202\uff0d\001\002\000\004" +
      "\202\240\001\002\000\006\002\uff9d\010\uff9d\001\002\000" +
      "\006\004\242\203\uff0d\001\002\000\004\203\246\001\002" +
      "\000\006\004\242\203\uff0d\001\002\000\004\203\246\001" +
      "\002\000\006\002\uff82\010\uff82\001\002\000\006\002\uff41" +
      "\010\uff41\001\002\000\014\004\242\232\uff0d\233\uff0d\234" +
      "\uff0d\237\uff0d\001\002\000\012\232\251\233\256\234\255" +
      "\237\253\001\002\000\014\004\242\232\uff0d\233\uff0d\234" +
      "\uff0d\237\uff0d\001\002\000\012\232\251\233\256\234\255" +
      "\237\253\001\002\000\006\002\uff94\010\uff94\001\002\000" +
      "\006\004\242\202\uff0d\001\002\000\004\202\240\001\002" +
      "\000\006\004\242\202\uff0d\001\002\000\004\202\240\001" +
      "\002\000\006\002\uff8f\010\uff8f\001\002\000\006\004\242" +
      "\202\uff0d\001\002\000\004\202\240\001\002\000\006\002" +
      "\uff5d\010\uff5d\001\002\000\010\002\uff38\004\303\010\uff38" +
      "\001\002\000\006\004\242\202\uff0d\001\002\000\004\202" +
      "\240\001\002\000\016\004\242\204\uff0d\232\uff0d\233\uff0d" +
      "\234\uff0d\237\uff0d\001\002\000\014\204\236\232\251\233" +
      "\256\234\255\237\253\001\002\000\006\002\uff50\010\uff50" +
      "\001\002\000\006\004\242\203\uff0d\001\002\000\004\203" +
      "\246\001\002\000\006\002\uff5c\010\uff5c\001\002\000\016" +
      "\004\242\204\uff0d\232\uff0d\233\uff0d\234\uff0d\237\uff0d\001" +
      "\002\000\014\204\236\232\251\233\256\234\255\237\253" +
      "\001\002\000\006\002\uff57\010\uff57\001\002\000\006\004" +
      "\242\202\uff0d\001\002\000\004\202\240\001\002\000\014" +
      "\004\242\232\uff0d\233\uff0d\234\uff0d\237\uff0d\001\002\000" +
      "\012\232\251\233\256\234\255\237\253\001\002\000\006" +
      "\002\uffa6\010\uffa6\001\002\000\004\002\ufffe\001\002\000" +
      "\016\004\242\204\uff0d\232\uff0d\233\uff0d\234\uff0d\237\uff0d" +
      "\001\002\000\014\204\236\232\251\233\256\234\255\237" +
      "\253\001\002\000\006\002\uff58\010\uff58\001\002\000\006" +
      "\004\242\202\uff0d\001\002\000\004\202\240\001\002\000" +
      "\020\004\242\227\uff0d\231\uff0d\232\uff0d\233\uff0d\234\uff0d" +
      "\237\uff0d\001\002\000\016\227\u0143\231\u0142\232\251\233" +
      "\256\234\255\237\253\001\002\000\004\005\u0148\001\002" +
      "\000\004\005\u0145\001\002\000\006\002\uffb0\010\uffb0\001" +
      "\002\000\004\204\236\001\002\000\004\006\u0147\001\002" +
      "\000\006\002\uffaf\010\uffaf\001\002\000\004\204\236\001" +
      "\002\000\004\006\u014a\001\002\000\006\002\uffae\010\uffae" +
      "\001\002\000\022\004\242\202\uff0d\227\uff0d\231\uff0d\232" +
      "\uff0d\233\uff0d\234\uff0d\237\uff0d\001\002\000\020\202\240" +
      "\227\u014d\231\u0150\232\251\233\256\234\255\237\253\001" +
      "\002\000\004\005\u0164\001\002\000\004\005\u0161\001\002" +
      "\000\020\004\242\227\uff0d\231\uff0d\232\uff0d\233\uff0d\234" +
      "\uff0d\237\uff0d\001\002\000\004\005\u0151\001\002\000\004" +
      "\204\236\001\002\000\004\006\u0153\001\002\000\004\005" +
      "\u0154\001\002\000\004\202\240\001\002\000\004\006\u0156" +
      "\001\002\000\006\002\uffc9\010\uffc9\001\002\000\016\227" +
      "\u0159\231\u0158\232\251\233\256\234\255\237\253\001\002" +
      "\000\004\005\u015e\001\002\000\004\005\u015b\001\002\000" +
      "\006\002\uffce\010\uffce\001\002\000\004\204\236\001\002" +
      "\000\004\006\u015d\001\002\000\006\002\uffcd\010\uffcd\001" +
      "\002\000\004\204\236\001\002\000\004\006\u0160\001\002" +
      "\000\006\002\uffcc\010\uffcc\001\002\000\004\202\240\001" +
      "\002\000\004\006\u0163\001\002\000\006\002\uffcb\010\uffcb" +
      "\001\002\000\004\204\236\001\002\000\004\006\u0166\001" +
      "\002\000\004\005\u0167\001\002\000\004\202\240\001\002" +
      "\000\004\006\u0169\001\002\000\006\002\uffca\010\uffca\001" +
      "\002\000\u011e\002\ufffc\003\ufffc\007\ufffc\010\ufffc\011\ufffc" +
      "\012\ufffc\013\ufffc\014\ufffc\015\ufffc\016\ufffc\017\ufffc\020" +
      "\ufffc\021\ufffc\022\ufffc\023\ufffc\024\ufffc\025\ufffc\026\ufffc" +
      "\027\ufffc\030\ufffc\031\ufffc\032\ufffc\033\ufffc\034\ufffc\035" +
      "\ufffc\036\ufffc\037\ufffc\040\ufffc\041\ufffc\042\ufffc\043\ufffc" +
      "\044\ufffc\045\ufffc\046\ufffc\047\ufffc\050\ufffc\051\ufffc\052" +
      "\ufffc\053\ufffc\054\ufffc\055\ufffc\056\ufffc\057\ufffc\060\ufffc" +
      "\061\ufffc\062\ufffc\063\ufffc\064\ufffc\065\ufffc\066\ufffc\067" +
      "\ufffc\070\ufffc\071\ufffc\072\ufffc\073\ufffc\074\ufffc\075\ufffc" +
      "\076\ufffc\077\ufffc\100\ufffc\101\ufffc\102\ufffc\103\ufffc\104" +
      "\ufffc\105\ufffc\106\ufffc\107\ufffc\110\ufffc\111\ufffc\112\ufffc" +
      "\113\ufffc\114\ufffc\115\ufffc\116\ufffc\117\ufffc\120\ufffc\121" +
      "\ufffc\122\ufffc\123\ufffc\124\ufffc\125\ufffc\126\ufffc\127\ufffc" +
      "\130\ufffc\131\ufffc\132\ufffc\133\ufffc\134\ufffc\135\ufffc\136" +
      "\ufffc\137\ufffc\140\ufffc\141\ufffc\142\ufffc\143\ufffc\144\ufffc" +
      "\145\ufffc\146\ufffc\147\ufffc\150\ufffc\151\ufffc\152\ufffc\153" +
      "\ufffc\154\ufffc\155\ufffc\156\ufffc\157\ufffc\160\ufffc\161\ufffc" +
      "\162\ufffc\163\ufffc\164\ufffc\165\ufffc\166\ufffc\167\ufffc\170" +
      "\ufffc\171\ufffc\172\ufffc\173\ufffc\174\ufffc\175\ufffc\176\ufffc" +
      "\177\ufffc\200\ufffc\201\ufffc\205\ufffc\206\ufffc\207\ufffc\210" +
      "\ufffc\211\ufffc\212\ufffc\213\ufffc\214\ufffc\215\ufffc\216\ufffc" +
      "\217\ufffc\220\ufffc\221\ufffc\222\ufffc\223\ufffc\224\ufffc\225" +
      "\ufffc\001\002\000\006\004\242\202\uff0d\001\002\000\004" +
      "\202\240\001\002\000\006\002\uff6f\010\uff6f\001\002\000" +
      "\006\004\242\202\uff0d\001\002\000\004\202\240\001\002" +
      "\000\006\004\242\202\uff0d\001\002\000\004\202\240\001" +
      "\002\000\006\002\uff92\010\uff92\001\002\000\006\004\242" +
      "\202\uff0d\001\002\000\004\202\240\001\002\000\006\004" +
      "\242\202\uff0d\001\002\000\004\202\240\001\002\000\006" +
      "\002\uffa4\010\uffa4\001\002\000\006\004\242\202\uff0d\001" +
      "\002\000\004\202\240\001\002\000\006\002\uff62\010\uff62" +
      "\001\002\000\006\004\242\202\uff0d\001\002\000\004\202" +
      "\240\001\002\000\014\004\242\232\uff0d\233\uff0d\234\uff0d" +
      "\237\uff0d\001\002\000\012\232\251\233\256\234\255\237" +
      "\253\001\002\000\006\002\uffa9\010\uffa9\001\002\000\006" +
      "\004\242\203\uff0d\001\002\000\004\203\246\001\002\000" +
      "\006\004\242\203\uff0d\001\002\000\004\203\246\001\002" +
      "\000\006\002\uff73\010\uff73\001\002\000\006\004\242\203" +
      "\uff0d\001\002\000\004\203\246\001\002\000\006\002\uff76" +
      "\010\uff76\001\002\000\006\004\242\203\uff0d\001\002\000" +
      "\004\203\246\001\002\000\006\002\uff5b\010\uff5b\001\002" +
      "\000\006\002\uff28\010\uff28\001\002\000\006\004\242\203" +
      "\uff0d\001\002\000\004\203\246\001\002\000\006\002\uff77" +
      "\010\uff77\001\002\000\006\002\uff3b\010\uff3b\001\002\000" +
      "\010\002\uff21\004\uff21\010\uff21\001\002\000\010\002\uff35" +
      "\004\u0193\010\uff35\001\002\000\010\002\uff36\004\303\010" +
      "\uff36\001\002\000\004\204\236\001\002\000\010\002\uff20" +
      "\004\uff20\010\uff20\001\002\000\006\004\242\202\uff0d\001" +
      "\002\000\004\202\240\001\002\000\016\004\242\204\uff0d" +
      "\232\uff0d\233\uff0d\234\uff0d\237\uff0d\001\002\000\014\204" +
      "\236\232\251\233\256\234\255\237\253\001\002\000\006" +
      "\002\uffe6\010\uffe6\001\002\000\006\004\242\202\uff0d\001" +
      "\002\000\004\202\240\001\002\000\006\004\242\202\uff0d" +
      "\001\002\000\004\202\240\001\002\000\006\002\uffa0\010" +
      "\uffa0\001\002\000\006\004\242\203\uff0d\001\002\000\004" +
      "\203\246\001\002\000\006\002\uff78\010\uff78\001\002\000" +
      "\006\004\242\202\uff0d\001\002\000\004\202\240\001\002" +
      "\000\016\004\242\204\uff0d\232\uff0d\233\uff0d\234\uff0d\237" +
      "\uff0d\001\002\000\014\204\236\232\251\233\256\234\255" +
      "\237\253\001\002\000\006\002\uffe2\010\uffe2\001\002\000" +
      "\006\004\242\202\uff0d\001\002\000\004\202\240\001\002" +
      "\000\006\004\242\202\uff0d\001\002\000\004\202\240\001" +
      "\002\000\006\002\uff90\010\uff90\001\002\000\006\002\uff3e" +
      "\010\uff3e\001\002\000\022\002\uff4c\004\242\010\uff4c\202" +
      "\uff0d\232\uff0d\233\uff0d\234\uff0d\237\uff0d\001\002\000\014" +
      "\202\240\232\251\233\256\234\255\237\253\001\002\000" +
      "\004\005\u01b3\001\002\000\014\004\242\232\uff0d\233\uff0d" +
      "\234\uff0d\237\uff0d\001\002\000\012\232\251\233\256\234" +
      "\255\237\253\001\002\000\006\002\uffe8\010\uffe8\001\002" +
      "\000\004\202\240\001\002\000\004\006\u01b5\001\002\000" +
      "\006\002\uffe7\010\uffe7\001\002\000\014\004\242\232\uff0d" +
      "\233\uff0d\234\uff0d\237\uff0d\001\002\000\012\232\251\233" +
      "\256\234\255\237\253\001\002\000\006\002\uff42\010\uff42" +
      "\001\002\000\016\004\242\204\uff0d\232\uff0d\233\uff0d\234" +
      "\uff0d\237\uff0d\001\002\000\014\204\236\232\251\233\256" +
      "\234\255\237\253\001\002\000\006\002\uff55\010\uff55\001" +
      "\002\000\024\004\242\202\uff0d\204\uff0d\227\uff0d\231\uff0d" +
      "\232\uff0d\233\uff0d\234\uff0d\237\uff0d\001\002\000\022\202" +
      "\240\204\236\227\u01bf\231\u01c2\232\251\233\256\234\255" +
      "\237\253\001\002\000\006\004\242\202\uff0d\001\002\000" +
      "\004\005\u01d6\001\002\000\004\005\u01d3\001\002\000\020" +
      "\004\242\227\uff0d\231\uff0d\232\uff0d\233\uff0d\234\uff0d\237" +
      "\uff0d\001\002\000\004\005\u01c3\001\002\000\004\204\236" +
      "\001\002\000\004\006\u01c5\001\002\000\004\005\u01c6\001" +
      "\002\000\004\202\240\001\002\000\004\006\u01c8\001\002" +
      "\000\006\002\uffbd\010\uffbd\001\002\000\016\227\u01cb\231" +
      "\u01ca\232\251\233\256\234\255\237\253\001\002\000\004" +
      "\005\u01d0\001\002\000\004\005\u01cd\001\002\000\006\002" +
      "\uffc2\010\uffc2\001\002\000\004\204\236\001\002\000\004" +
      "\006\u01cf\001\002\000\006\002\uffc1\010\uffc1\001\002\000" +
      "\004\204\236\001\002\000\004\006\u01d2\001\002\000\006" +
      "\002\uffc0\010\uffc0\001\002\000\004\202\240\001\002\000" +
      "\004\006\u01d5\001\002\000\006\002\uffbf\010\uffbf\001\002" +
      "\000\004\204\236\001\002\000\004\006\u01d8\001\002\000" +
      "\004\005\u01d9\001\002\000\004\202\240\001\002\000\004" +
      "\006\u01db\001\002\000\006\002\uffbe\010\uffbe\001\002\000" +
      "\004\202\240\001\002\000\006\002\uff6a\010\uff6a\001\002" +
      "\000\024\004\242\202\uff0d\204\uff0d\227\uff0d\231\uff0d\232" +
      "\uff0d\233\uff0d\234\uff0d\237\uff0d\001\002\000\022\202\240" +
      "\204\236\227\u01e1\231\u01e4\232\251\233\256\234\255\237" +
      "\253\001\002\000\006\004\242\202\uff0d\001\002\000\004" +
      "\005\u01f8\001\002\000\004\005\u01f5\001\002\000\020\004" +
      "\242\227\uff0d\231\uff0d\232\uff0d\233\uff0d\234\uff0d\237\uff0d" +
      "\001\002\000\004\005\u01e5\001\002\000\004\204\236\001" +
      "\002\000\004\006\u01e7\001\002\000\004\005\u01e8\001\002" +
      "\000\004\202\240\001\002\000\004\006\u01ea\001\002\000" +
      "\006\002\uffb7\010\uffb7\001\002\000\016\227\u01ed\231\u01ec" +
      "\232\251\233\256\234\255\237\253\001\002\000\004\005" +
      "\u01f2\001\002\000\004\005\u01ef\001\002\000\006\002\uffbc" +
      "\010\uffbc\001\002\000\004\204\236\001\002\000\004\006" +
      "\u01f1\001\002\000\006\002\uffbb\010\uffbb\001\002\000\004" +
      "\204\236\001\002\000\004\006\u01f4\001\002\000\006\002" +
      "\uffba\010\uffba\001\002\000\004\202\240\001\002\000\004" +
      "\006\u01f7\001\002\000\006\002\uffb9\010\uffb9\001\002\000" +
      "\004\204\236\001\002\000\004\006\u01fa\001\002\000\004" +
      "\005\u01fb\001\002\000\004\202\240\001\002\000\004\006" +
      "\u01fd\001\002\000\006\002\uffb8\010\uffb8\001\002\000\004" +
      "\202\240\001\002\000\006\002\uff69\010\uff69\001\002\000" +
      "\006\004\242\203\uff0d\001\002\000\004\203\246\001\002" +
      "\000\006\002\uff72\010\uff72\001\002\000\006\004\242\202" +
      "\uff0d\001\002\000\004\202\240\001\002\000\006\002\uff61" +
      "\010\uff61\001\002\000\024\004\242\202\uff0d\204\uff0d\227" +
      "\uff0d\231\uff0d\232\uff0d\233\uff0d\234\uff0d\237\uff0d\001\002" +
      "\000\022\202\240\204\236\227\u0209\231\u020c\232\251\233" +
      "\256\234\255\237\253\001\002\000\006\004\242\202\uff0d" +
      "\001\002\000\004\005\u0220\001\002\000\004\005\u021d\001" +
      "\002\000\020\004\242\227\uff0d\231\uff0d\232\uff0d\233\uff0d" +
      "\234\uff0d\237\uff0d\001\002\000\004\005\u020d\001\002\000" +
      "\004\204\236\001\002\000\004\006\u020f\001\002\000\004" +
      "\005\u0210\001\002\000\004\202\240\001\002\000\004\006" +
      "\u0212\001\002\000\006\002\uffb1\010\uffb1\001\002\000\016" +
      "\227\u0215\231\u0214\232\251\233\256\234\255\237\253\001" +
      "\002\000\004\005\u021a\001\002\000\004\005\u0217\001\002" +
      "\000\006\002\uffb6\010\uffb6\001\002\000\004\204\236\001" +
      "\002\000\004\006\u0219\001\002\000\006\002\uffb5\010\uffb5" +
      "\001\002\000\004\204\236\001\002\000\004\006\u021c\001" +
      "\002\000\006\002\uffb4\010\uffb4\001\002\000\004\202\240" +
      "\001\002\000\004\006\u021f\001\002\000\006\002\uffb3\010" +
      "\uffb3\001\002\000\004\204\236\001\002\000\004\006\u0222" +
      "\001\002\000\004\005\u0223\001\002\000\004\202\240\001" +
      "\002\000\004\006\u0225\001\002\000\006\002\uffb2\010\uffb2" +
      "\001\002\000\004\202\240\001\002\000\006\002\uff68\010" +
      "\uff68\001\002\000\006\004\242\202\uff0d\001\002\000\004" +
      "\202\240\001\002\000\006\002\uff70\010\uff70\001\002\000" +
      "\006\004\242\203\uff0d\001\002\000\004\203\246\001\002" +
      "\000\006\004\242\203\uff0d\001\002\000\004\203\246\001" +
      "\002\000\006\002\uff7f\010\uff7f\001\002\000\014\004\242" +
      "\232\uff0d\233\uff0d\234\uff0d\237\uff0d\001\002\000\012\232" +
      "\251\233\256\234\255\237\253\001\002\000\014\004\242" +
      "\232\uff0d\233\uff0d\234\uff0d\237\uff0d\001\002\000\012\232" +
      "\251\233\256\234\255\237\253\001\002\000\006\002\uff95" +
      "\010\uff95\001\002\000\006\004\242\202\uff0d\001\002\000" +
      "\004\202\240\001\002\000\016\004\242\204\uff0d\232\uff0d" +
      "\233\uff0d\234\uff0d\237\uff0d\001\002\000\014\204\236\232" +
      "\251\233\256\234\255\237\253\001\002\000\006\002\uffe3" +
      "\010\uffe3\001\002\000\006\004\242\202\uff0d\001\002\000" +
      "\004\202\240\001\002\000\006\004\242\202\uff0d\001\002" +
      "\000\004\202\240\001\002\000\006\002\uff8c\010\uff8c\001" +
      "\002\000\006\002\uff24\010\uff24\001\002\000\006\004\242" +
      "\203\uff0d\001\002\000\004\203\246\001\002\000\006\004" +
      "\242\203\uff0d\001\002\000\004\203\246\001\002\000\006" +
      "\002\uff74\010\uff74\001\002\000\006\004\242\202\uff0d\001" +
      "\002\000\004\202\240\001\002\000\006\002\uff5f\010\uff5f" +
      "\001\002\000\006\004\242\202\uff0d\001\002\000\004\202" +
      "\240\001\002\000\006\002\uff45\010\uff45\001\002\000\006" +
      "\004\242\202\uff0d\001\002\000\004\202\240\001\002\000" +
      "\016\004\242\204\uff0d\232\uff0d\233\uff0d\234\uff0d\237\uff0d" +
      "\001\002\000\014\204\236\232\251\233\256\234\255\237" +
      "\253\001\002\000\006\002\uff53\010\uff53\001\002\000\016" +
      "\004\242\204\uff0d\232\uff0d\233\uff0d\234\uff0d\237\uff0d\001" +
      "\002\000\006\004\242\203\uff0d\001\002\000\004\203\246" +
      "\001\002\000\014\004\242\232\uff0d\233\uff0d\234\uff0d\237" +
      "\uff0d\001\002\000\012\232\251\233\256\234\255\237\253" +
      "\001\002\000\006\002\uff88\010\uff88\001\002\000\014\204" +
      "\236\232\251\233\256\234\255\237\253\001\002\000\004" +
      "\005\u025b\001\002\000\006\004\242\202\uff0d\001\002\000" +
      "\004\202\240\001\002\000\006\002\uff66\010\uff66\001\002" +
      "\000\004\202\240\001\002\000\004\006\u025d\001\002\000" +
      "\006\002\uff87\010\uff87\001\002\000\006\004\242\202\uff0d" +
      "\001\002\000\004\202\240\001\002\000\006\004\242\202" +
      "\uff0d\001\002\000\004\202\240\001\002\000\006\002\uff9c" +
      "\010\uff9c\001\002\000\014\004\242\232\uff0d\233\uff0d\234" +
      "\uff0d\237\uff0d\001\002\000\012\232\251\233\256\234\255" +
      "\237\253\001\002\000\006\002\uff48\010\uff48\001\002\000" +
      "\006\004\242\202\uff0d\001\002\000\004\202\240\001\002" +
      "\000\006\002\uff46\010\uff46\001\002\000\006\004\242\202" +
      "\uff0d\001\002\000\004\202\240\001\002\000\006\004\242" +
      "\202\uff0d\001\002\000\004\202\240\001\002\000\006\002" +
      "\uffa3\010\uffa3\001\002\000\006\002\uff33\010\uff33\001\002" +
      "\000\006\004\242\202\uff0d\001\002\000\004\202\240\001" +
      "\002\000\006\002\uff47\010\uff47\001\002\000\006\004\242" +
      "\202\uff0d\001\002\000\004\202\240\001\002\000\006\004" +
      "\242\202\uff0d\001\002\000\004\202\240\001\002\000\006" +
      "\002\uff8d\010\uff8d\001\002\000\016\004\242\204\uff0d\232" +
      "\uff0d\233\uff0d\234\uff0d\237\uff0d\001\002\000\014\204\236" +
      "\232\251\233\256\234\255\237\253\001\002\000\006\002" +
      "\uff59\010\uff59\001\002\000\006\004\242\202\uff0d\001\002" +
      "\000\004\202\240\001\002\000\006\004\242\202\uff0d\001" +
      "\002\000\004\202\240\001\002\000\006\002\uffa2\010\uffa2" +
      "\001\002\000\014\004\242\232\uff0d\233\uff0d\234\uff0d\237" +
      "\uff0d\001\002\000\012\232\251\233\256\234\255\237\253" +
      "\001\002\000\006\004\242\202\uff0d\001\002\000\004\202" +
      "\240\001\002\000\006\002\uff96\010\uff96\001\002\000\006" +
      "\004\242\203\uff0d\001\002\000\004\203\246\001\002\000" +
      "\006\004\242\203\uff0d\001\002\000\004\203\246\001\002" +
      "\000\006\002\uff79\010\uff79\001\002\000\006\002\uff26\010" +
      "\uff26\001\002\000\006\004\242\203\uff0d\001\002\000\004" +
      "\203\246\001\002\000\006\004\242\203\uff0d\001\002\000" +
      "\004\203\246\001\002\000\006\004\242\203\uff0d\001\002" +
      "\000\004\203\246\001\002\000\006\002\uff84\010\uff84\001" +
      "\002\000\006\004\242\202\uff0d\001\002\000\004\202\240" +
      "\001\002\000\016\004\242\204\uff0d\232\uff0d\233\uff0d\234" +
      "\uff0d\237\uff0d\001\002\000\014\204\236\232\251\233\256" +
      "\234\255\237\253\001\002\000\006\002\uffe1\010\uffe1\001" +
      "\002\000\014\004\242\232\uff0d\233\uff0d\234\uff0d\237\uff0d" +
      "\001\002\000\012\232\251\233\256\234\255\237\253\001" +
      "\002\000\006\004\242\202\uff0d\001\002\000\004\202\240" +
      "\001\002\000\006\002\uff97\010\uff97\001\002\000\016\004" +
      "\242\204\uff0d\232\uff0d\233\uff0d\234\uff0d\237\uff0d\001\002" +
      "\000\014\204\236\232\251\233\256\234\255\237\253\001" +
      "\002\000\006\002\uff56\010\uff56\001\002\000\006\002\uff31" +
      "\010\uff31\001\002\000\014\004\242\232\uff0d\233\uff0d\234" +
      "\uff0d\237\uff0d\001\002\000\012\232\251\233\256\234\255" +
      "\237\253\001\002\000\006\004\242\202\uff0d\001\002\000" +
      "\004\202\240\001\002\000\006\002\uff98\010\uff98\001\002" +
      "\000\006\004\242\203\uff0d\001\002\000\004\203\246\001" +
      "\002\000\006\004\242\203\uff0d\001\002\000\004\203\246" +
      "\001\002\000\006\004\242\203\uff0d\001\002\000\004\203" +
      "\246\001\002\000\006\002\uff85\010\uff85\001\002\000\006" +
      "\004\242\202\uff0d\001\002\000\004\202\240\001\002\000" +
      "\014\004\242\232\uff0d\233\uff0d\234\uff0d\237\uff0d\001\002" +
      "\000\012\232\251\233\256\234\255\237\253\001\002\000" +
      "\006\002\uffad\010\uffad\001\002\000\014\004\242\232\uff0d" +
      "\233\uff0d\234\uff0d\237\uff0d\001\002\000\012\232\251\233" +
      "\256\234\255\237\253\001\002\000\006\002\uff43\010\uff43" +
      "\001\002\000\006\004\242\202\uff0d\001\002\000\004\202" +
      "\240\001\002\000\006\004\242\202\uff0d\001\002\000\004" +
      "\202\240\001\002\000\006\002\uffa1\010\uffa1\001\002\000" +
      "\006\004\242\203\uff0d\001\002\000\004\203\246\001\002" +
      "\000\006\004\242\203\uff0d\001\002\000\004\203\246\001" +
      "\002\000\006\002\uff75\010\uff75\001\002\000\022\004\242" +
      "\202\uff0d\227\uff0d\231\uff0d\232\uff0d\233\uff0d\234\uff0d\237" +
      "\uff0d\001\002\000\020\202\240\227\u02bf\231\u02c2\232\251" +
      "\233\256\234\255\237\253\001\002\000\004\005\u02d6\001" +
      "\002\000\004\005\u02d3\001\002\000\020\004\242\227\uff0d" +
      "\231\uff0d\232\uff0d\233\uff0d\234\uff0d\237\uff0d\001\002\000" +
      "\004\005\u02c3\001\002\000\004\204\236\001\002\000\004" +
      "\006\u02c5\001\002\000\004\005\u02c6\001\002\000\004\202" +
      "\240\001\002\000\004\006\u02c8\001\002\000\006\002\uffc3" +
      "\010\uffc3\001\002\000\016\227\u02cb\231\u02ca\232\251\233" +
      "\256\234\255\237\253\001\002\000\004\005\u02d0\001\002" +
      "\000\004\005\u02cd\001\002\000\006\002\uffc8\010\uffc8\001" +
      "\002\000\004\204\236\001\002\000\004\006\u02cf\001\002" +
      "\000\006\002\uffc7\010\uffc7\001\002\000\004\204\236\001" +
      "\002\000\004\006\u02d2\001\002\000\006\002\uffc6\010\uffc6" +
      "\001\002\000\004\202\240\001\002\000\004\006\u02d5\001" +
      "\002\000\006\002\uffc5\010\uffc5\001\002\000\004\204\236" +
      "\001\002\000\004\006\u02d8\001\002\000\004\005\u02d9\001" +
      "\002\000\004\202\240\001\002\000\004\006\u02db\001\002" +
      "\000\006\002\uffc4\010\uffc4\001\002\000\006\004\242\202" +
      "\uff0d\001\002\000\004\202\240\001\002\000\006\002\uff5e" +
      "\010\uff5e\001\002\000\006\004\242\203\uff0d\001\002\000" +
      "\004\203\246\001\002\000\006\002\uff7e\010\uff7e\001\002" +
      "\000\006\004\242\203\uff0d\001\002\000\004\203\246\001" +
      "\002\000\006\004\242\203\uff0d\001\002\000\004\203\246" +
      "\001\002\000\006\002\uff81\010\uff81\001\002\000\006\004" +
      "\242\202\uff0d\001\002\000\004\202\240\001\002\000\006" +
      "\004\242\202\uff0d\001\002\000\004\202\240\001\002\000" +
      "\006\002\uff8e\010\uff8e\001\002\000\006\002\uff4d\010\uff4d" +
      "\001\002\000\016\004\242\226\uff0d\232\uff0d\233\uff0d\234" +
      "\uff0d\237\uff0d\001\002\000\014\226\u02ef\232\251\233\256" +
      "\234\255\237\253\001\002\000\004\005\u02f1\001\002\000" +
      "\006\002\uffed\010\uffed\001\002\000\004\204\236\001\002" +
      "\000\004\006\u02f3\001\002\000\006\002\uffec\010\uffec\001" +
      "\002\000\006\004\242\202\uff0d\001\002\000\004\202\240" +
      "\001\002\000\006\004\242\202\uff0d\001\002\000\004\202" +
      "\240\001\002\000\006\002\uffa5\010\uffa5\001\002\000\006" +
      "\002\ufff9\010\ufff9\001\002\000\006\002\ufff8\010\ufff8\001" +
      "\002\000\006\004\242\202\uff0d\001\002\000\004\202\240" +
      "\001\002\000\006\004\242\202\uff0d\001\002\000\004\202" +
      "\240\001\002\000\006\002\uff8b\010\uff8b\001\002\000\006" +
      "\002\uff2d\010\uff2d\001\002\000\006\002\uff2f\010\uff2f\001" +
      "\002\000\006\002\uff30\010\uff30\001\002\000\006\002\uff2e" +
      "\010\uff2e\001\002\000\006\004\242\203\uff0d\001\002\000" +
      "\004\203\246\001\002\000\006\004\242\203\uff0d\001\002" +
      "\000\004\203\246\001\002\000\006\002\uff80\010\uff80\001" +
      "\002\000\006\004\242\204\uff0d\001\002\000\004\204\236" +
      "\001\002\000\006\002\uff6e\010\uff6e\001\002\000\024\004" +
      "\242\202\uff0d\204\uff0d\227\uff0d\231\uff0d\232\uff0d\233\uff0d" +
      "\234\uff0d\237\uff0d\001\002\000\022\202\240\204\236\227" +
      "\u030e\231\u0312\232\251\233\256\234\255\237\253\001\002" +
      "\000\004\005\u0326\001\002\000\006\002\uff6d\010\uff6d\001" +
      "\002\000\004\005\u0323\001\002\000\020\004\242\227\uff0d" +
      "\231\uff0d\232\uff0d\233\uff0d\234\uff0d\237\uff0d\001\002\000" +
      "\004\005\u0313\001\002\000\004\204\236\001\002\000\004" +
      "\006\u0315\001\002\000\004\005\u0316\001\002\000\004\202" +
      "\240\001\002\000\004\006\u0318\001\002\000\006\002\uffdb" +
      "\010\uffdb\001\002\000\016\227\u031b\231\u031a\232\251\233" +
      "\256\234\255\237\253\001\002\000\004\005\u0320\001\002" +
      "\000\004\005\u031d\001\002\000\006\002\uffe0\010\uffe0\001" +
      "\002\000\004\204\236\001\002\000\004\006\u031f\001\002" +
      "\000\006\002\uffdf\010\uffdf\001\002\000\004\204\236\001" +
      "\002\000\004\006\u0322\001\002\000\006\002\uffde\010\uffde" +
      "\001\002\000\004\202\240\001\002\000\004\006\u0325\001" +
      "\002\000\006\002\uffdd\010\uffdd\001\002\000\004\204\236" +
      "\001\002\000\004\006\u0328\001\002\000\004\005\u0329\001" +
      "\002\000\004\202\240\001\002\000\004\006\u032b\001\002" +
      "\000\006\002\uffdc\010\uffdc\001\002\000\006\004\242\202" +
      "\uff0d\001\002\000\004\202\240\001\002\000\016\004\242" +
      "\204\uff0d\232\uff0d\233\uff0d\234\uff0d\237\uff0d\001\002\000" +
      "\014\204\236\232\251\233\256\234\255\237\253\001\002" +
      "\000\006\002\uff51\010\uff51\001\002\000\016\004\242\204" +
      "\uff0d\232\uff0d\233\uff0d\234\uff0d\237\uff0d\001\002\000\014" +
      "\204\236\232\251\233\256\234\255\237\253\001\002\000" +
      "\006\002\uff54\010\uff54\001\002\000\016\004\242\230\uff0d" +
      "\232\uff0d\233\uff0d\234\uff0d\237\uff0d\001\002\000\014\230" +
      "\u0337\232\251\233\256\234\255\237\253\001\002\000\006" +
      "\002\uffeb\010\uffeb\001\002\000\004\005\u0338\001\002\000" +
      "\004\204\236\001\002\000\004\006\u033a\001\002\000\006" +
      "\002\uffea\010\uffea\001\002\000\024\004\242\202\uff0d\204" +
      "\uff0d\227\uff0d\231\uff0d\232\uff0d\233\uff0d\234\uff0d\237\uff0d" +
      "\001\002\000\022\202\240\204\236\227\u033d\231\u0341\232" +
      "\251\233\256\234\255\237\253\001\002\000\004\005\u0355" +
      "\001\002\000\006\002\uff6c\010\uff6c\001\002\000\004\005" +
      "\u0352\001\002\000\020\004\242\227\uff0d\231\uff0d\232\uff0d" +
      "\233\uff0d\234\uff0d\237\uff0d\001\002\000\004\005\u0342\001" +
      "\002\000\004\204\236\001\002\000\004\006\u0344\001\002" +
      "\000\004\005\u0345\001\002\000\004\202\240\001\002\000" +
      "\004\006\u0347\001\002\000\006\002\uffd5\010\uffd5\001\002" +
      "\000\016\227\u034a\231\u0349\232\251\233\256\234\255\237" +
      "\253\001\002\000\004\005\u034f\001\002\000\004\005\u034c" +
      "\001\002\000\006\002\uffda\010\uffda\001\002\000\004\204" +
      "\236\001\002\000\004\006\u034e\001\002\000\006\002\uffd9" +
      "\010\uffd9\001\002\000\004\204\236\001\002\000\004\006" +
      "\u0351\001\002\000\006\002\uffd8\010\uffd8\001\002\000\004" +
      "\202\240\001\002\000\004\006\u0354\001\002\000\006\002" +
      "\uffd7\010\uffd7\001\002\000\004\204\236\001\002\000\004" +
      "\006\u0357\001\002\000\004\005\u0358\001\002\000\004\202" +
      "\240\001\002\000\004\006\u035a\001\002\000\006\002\uffd6" +
      "\010\uffd6\001\002\000\014\004\242\232\uff0d\233\uff0d\234" +
      "\uff0d\237\uff0d\001\002\000\012\232\251\233\256\234\255" +
      "\237\253\001\002\000\006\002\uff64\010\uff64\001\002\000" +
      "\014\004\242\232\uff0d\233\uff0d\234\uff0d\237\uff0d\001\002" +
      "\000\012\232\251\233\256\234\255\237\253\001\002\000" +
      "\014\004\242\232\uff0d\233\uff0d\234\uff0d\237\uff0d\001\002" +
      "\000\012\232\251\233\256\234\255\237\253\001\002\000" +
      "\006\002\uff93\010\uff93\001\002\000\006\004\242\203\uff0d" +
      "\001\002\000\004\203\246\001\002\000\006\004\242\203" +
      "\uff0d\001\002\000\004\203\246\001\002\000\006\002\uff7a" +
      "\010\uff7a\001\002\000\024\004\242\202\uff0d\204\uff0d\227" +
      "\uff0d\231\uff0d\232\uff0d\233\uff0d\234\uff0d\237\uff0d\001\002" +
      "\000\022\202\240\204\236\227\u036a\231\u036e\232\251\233" +
      "\256\234\255\237\253\001\002\000\004\005\u0382\001\002" +
      "\000\006\002\uff6b\010\uff6b\001\002\000\004\005\u037f\001" +
      "\002\000\020\004\242\227\uff0d\231\uff0d\232\uff0d\233\uff0d" +
      "\234\uff0d\237\uff0d\001\002\000\004\005\u036f\001\002\000" +
      "\004\204\236\001\002\000\004\006\u0371\001\002\000\004" +
      "\005\u0372\001\002\000\004\202\240\001\002\000\004\006" +
      "\u0374\001\002\000\006\002\uffcf\010\uffcf\001\002\000\016" +
      "\227\u0377\231\u0376\232\251\233\256\234\255\237\253\001" +
      "\002\000\004\005\u037c\001\002\000\004\005\u0379\001\002" +
      "\000\006\002\uffd4\010\uffd4\001\002\000\004\204\236\001" +
      "\002\000\004\006\u037b\001\002\000\006\002\uffd3\010\uffd3" +
      "\001\002\000\004\204\236\001\002\000\004\006\u037e\001" +
      "\002\000\006\002\uffd2\010\uffd2\001\002\000\004\202\240" +
      "\001\002\000\004\006\u0381\001\002\000\006\002\uffd1\010" +
      "\uffd1\001\002\000\004\204\236\001\002\000\004\006\u0384" +
      "\001\002\000\004\005\u0385\001\002\000\004\202\240\001" +
      "\002\000\004\006\u0387\001\002\000\006\002\uffd0\010\uffd0" +
      "\001\002\000\006\002\uff4a\010\uff4a\001\002\000\006\004" +
      "\242\203\uff0d\001\002\000\004\203\246\001\002\000\006" +
      "\004\242\203\uff0d\001\002\000\004\203\246\001\002\000" +
      "\006\002\uff7b\010\uff7b\001\002\000\006\004\242\202\uff0d" +
      "\001\002\000\004\202\240\001\002\000\016\004\242\204" +
      "\uff0d\232\uff0d\233\uff0d\234\uff0d\237\uff0d\001\002\000\014" +
      "\204\236\232\251\233\256\234\255\237\253\001\002\000" +
      "\006\002\uff52\010\uff52\001\002\000\012\002\uff3c\004\242" +
      "\010\uff3c\202\uff0d\001\002\000\004\202\240\001\002\000" +
      "\006\002\uff3d\010\uff3d\001\002\000\006\004\242\202\uff0d" +
      "\001\002\000\004\202\240\001\002\000\006\004\242\202" +
      "\uff0d\001\002\000\004\202\240\001\002\000\006\002\uff91" +
      "\010\uff91\001\002\000\006\004\242\202\uff0d\001\002\000" +
      "\004\202\240\001\002\000\006\002\uff60\010\uff60\001\002" +
      "\000\012\002\uff3f\004\242\010\uff3f\202\uff0d\001\002\000" +
      "\004\202\240\001\002\000\006\002\uff40\010\uff40\001\002" +
      "\000\006\004\242\202\uff0d\001\002\000\004\202\240\001" +
      "\002\000\016\004\242\204\uff0d\232\uff0d\233\uff0d\234\uff0d" +
      "\237\uff0d\001\002\000\014\204\236\232\251\233\256\234" +
      "\255\237\253\001\002\000\006\002\uffe4\010\uffe4\001\002" +
      "\000\006\004\242\202\uff0d\001\002\000\004\202\240\001" +
      "\002\000\014\004\242\232\uff0d\233\uff0d\234\uff0d\237\uff0d" +
      "\001\002\000\012\232\251\233\256\234\255\237\253\001" +
      "\002\000\006\002\uffab\010\uffab\001\002\000\006\004\242" +
      "\202\uff0d\001\002\000\004\202\240\001\002\000\014\004" +
      "\242\232\uff0d\233\uff0d\234\uff0d\237\uff0d\001\002\000\012" +
      "\232\251\233\256\234\255\237\253\001\002\000\006\002" +
      "\uffac\010\uffac\001\002" });
  
    /** Access to parse-action table. */
    public short[][] action_table() {return _action_table;}
  
    /** <code>reduce_goto</code> table. */
    protected static final short[][] _reduce_table =
      unpackFromStrings(new String[] {
      "\000\u03ad\000\034\002\231\003\176\004\164\005\157\006" +
      "\036\007\102\010\030\011\160\012\025\013\032\014\143" +
      "\015\131\016\175\001\001\000\004\023\u03aa\001\001\000" +
      "\004\023\u03a5\001\001\000\004\023\u03a0\001\001\000\004" +
      "\023\u039d\001\001\000\004\023\u039a\001\001\000\004\023" +
      "\u0395\001\001\000\004\023\u0392\001\001\000\004\023\u038d" +
      "\001\001\000\004\024\u0388\001\001\000\004\027\u0387\001" +
      "\001\000\004\023\u0367\001\001\000\004\024\u0362\001\001" +
      "\000\004\023\u035d\001\001\000\004\023\u035a\001\001\000" +
      "\004\023\u033a\001\001\000\004\023\u0333\001\001\000\004" +
      "\023\u0330\001\001\000\004\023\u032b\001\001\000\002\001" +
      "\001\000\004\023\u030b\001\001\000\004\023\u0308\001\001" +
      "\000\002\001\001\000\004\024\u0303\001\001\000\002\001" +
      "\001\000\002\001\001\000\004\023\u02fa\001\001\000\002" +
      "\001\001\000\020\007\u02f8\010\030\011\160\012\025\013" +
      "\032\014\u02f9\016\175\001\001\000\004\023\u02f3\001\001" +
      "\000\004\023\u02ec\001\001\000\004\023\u02eb\001\001\000" +
      "\004\023\u02e6\001\001\000\004\024\u02e1\001\001\000\004" +
      "\024\u02de\001\001\000\004\023\u02db\001\001\000\004\023" +
      "\u02bc\001\001\000\004\023\u02b7\001\001\000\004\023\u02b2" +
      "\001\001\000\002\001\001\000\004\022\u02af\001\001\000" +
      "\002\001\001\000\004\023\u02aa\001\001\000\004\024\u02a3" +
      "\001\001\000\004\023\u029e\001\001\000\004\022\u029d\001" +
      "\001\000\004\023\u029a\001\001\000\004\023\u0295\001\001" +
      "\000\004\023\u0290\001\001\000\004\024\u0289\001\001\000" +
      "\004\022\u0288\001\001\000\004\024\u0283\001\001\000\004" +
      "\023\u027e\001\001\000\004\023\u0279\001\001\000\004\023" +
      "\u0276\001\001\000\004\023\u0271\001\001\000\004\022\u026e" +
      "\001\001\000\004\026\u026d\001\001\000\004\023\u0268\001" +
      "\001\000\004\022\u0265\001\001\000\004\023\u0262\001\001" +
      "\000\004\023\u025d\001\001\000\006\023\u0250\024\u024f\001" +
      "\001\000\004\023\u024a\001\001\000\002\001\001\000\004" +
      "\022\u0247\001\001\000\002\001\001\000\004\023\u0244\001" +
      "\001\000\004\023\u023f\001\001\000\002\001\001\000\004" +
      "\026\u023e\001\001\000\002\001\001\000\004\023\u0239\001" +
      "\001\000\004\023\u0234\001\001\000\004\023\u022f\001\001" +
      "\000\004\024\u022a\001\001\000\004\024\u0227\001\001\000" +
      "\004\023\u0205\001\001\000\004\023\u0202\001\001\000\002" +
      "\001\001\000\004\023\u01ff\001\001\000\004\023\u01dd\001" +
      "\001\000\004\023\u01bb\001\001\000\004\023\u01b8\001\001" +
      "\000\004\022\u01b5\001\001\000\004\023\u01ac\001\001\000" +
      "\004\023\u01ab\001\001\000\002\001\001\000\004\023\u01a6" +
      "\001\001\000\004\023\u01a1\001\001\000\004\023\u019e\001" +
      "\001\000\004\023\u0199\001\001\000\004\023\u0194\001\001" +
      "\000\012\022\301\027\u018f\030\u0191\031\u0190\001\001\000" +
      "\004\023\u018e\001\001\000\004\023\u018b\001\001\000\004" +
      "\027\u018a\001\001\000\002\001\001\000\004\024\u0187\001" +
      "\001\000\004\023\u0184\001\001\000\004\023\u017f\001\001" +
      "\000\004\023\u017a\001\001\000\004\023\u0177\001\001\000" +
      "\002\001\001\000\004\023\u0172\001\001\000\004\023\u016d" +
      "\001\001\000\004\024\u016a\001\001\000\002\001\001\000" +
      "\002\001\001\000\002\001\001\000\002\001\001\000\004" +
      "\023\u014a\001\001\000\004\023\u013d\001\001\000\004\023" +
      "\u013a\001\001\000\032\003\u0139\004\164\005\157\006\036" +
      "\007\102\010\030\011\160\012\025\013\032\014\143\015" +
      "\131\016\175\001\001\000\004\023\u0134\001\001\000\004" +
      "\023\u0131\001\001\000\004\024\u012e\001\001\000\004\023" +
      "\u0129\001\001\000\006\022\301\030\u0128\001\001\000\004" +
      "\023\u0125\001\001\000\004\023\u0120\001\001\000\004\023" +
      "\u011b\001\001\000\002\001\001\000\002\001\001\000\004" +
      "\023\u011a\001\001\000\004\024\u0115\001\001\000\004\023" +
      "\u0110\001\001\000\002\001\001\000\012\017\u010c\022\314" +
      "\023\u010d\027\316\001\001\000\004\026\u010b\001\001\000" +
      "\004\023\u0107\001\001\000\002\001\001\000\004\024\u0102" +
      "\001\001\000\004\023\375\001\001\000\002\001\001\000" +
      "\004\024\365\001\001\000\004\024\362\001\001\000\004" +
      "\023\355\001\001\000\004\024\352\001\001\000\004\023" +
      "\345\001\001\000\004\024\340\001\001\000\004\023\333" +
      "\001\001\000\004\024\324\001\001\000\004\023\317\001" +
      "\001\000\010\017\315\022\314\027\316\001\001\000\004" +
      "\022\311\001\001\000\004\023\304\001\001\000\006\022" +
      "\301\030\300\001\001\000\004\022\277\001\001\000\006" +
      "\025\271\032\273\001\001\000\002\001\001\000\004\024" +
      "\246\001\001\000\004\023\240\001\001\000\004\027\236" +
      "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
      "\001\000\006\020\242\021\243\001\001\000\002\001\001" +
      "\000\004\023\244\001\001\000\002\001\001\000\002\001" +
      "\001\000\002\001\001\000\006\020\247\021\243\001\001" +
      "\000\010\022\253\023\256\027\251\001\001\000\002\001" +
      "\001\000\006\020\264\021\243\001\001\000\002\001\001" +
      "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
      "\006\020\257\021\243\001\001\000\004\022\260\001\001" +
      "\000\002\001\001\000\004\023\262\001\001\000\002\001" +
      "\001\000\002\001\001\000\004\023\265\001\001\000\002" +
      "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
      "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
      "\000\002\001\001\000\004\025\276\001\001\000\002\001" +
      "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
      "\000\004\022\303\001\001\000\002\001\001\000\006\020" +
      "\305\021\243\001\001\000\004\023\306\001\001\000\006" +
      "\020\307\021\243\001\001\000\004\022\310\001\001\000" +
      "\002\001\001\000\006\020\312\021\243\001\001\000\004" +
      "\022\313\001\001\000\002\001\001\000\002\001\001\000" +
      "\002\001\001\000\002\001\001\000\006\020\320\021\243" +
      "\001\001\000\004\023\321\001\001\000\006\020\322\021" +
      "\243\001\001\000\004\022\323\001\001\000\002\001\001" +
      "\000\006\020\325\021\243\001\001\000\004\024\326\001" +
      "\001\000\006\020\327\021\243\001\001\000\004\024\330" +
      "\001\001\000\006\020\331\021\243\001\001\000\004\024" +
      "\332\001\001\000\002\001\001\000\006\020\334\021\243" +
      "\001\001\000\004\023\335\001\001\000\006\020\336\021" +
      "\243\001\001\000\004\023\337\001\001\000\002\001\001" +
      "\000\006\020\341\021\243\001\001\000\004\024\342\001" +
      "\001\000\006\020\343\021\243\001\001\000\004\024\344" +
      "\001\001\000\002\001\001\000\006\020\346\021\243\001" +
      "\001\000\004\023\347\001\001\000\006\020\350\021\243" +
      "\001\001\000\004\023\351\001\001\000\002\001\001\000" +
      "\006\020\353\021\243\001\001\000\004\024\354\001\001" +
      "\000\002\001\001\000\006\020\356\021\243\001\001\000" +
      "\004\023\357\001\001\000\006\020\360\021\243\001\001" +
      "\000\010\017\361\022\314\027\316\001\001\000\002\001" +
      "\001\000\006\020\363\021\243\001\001\000\004\023\364" +
      "\001\001\000\002\001\001\000\006\020\366\021\243\001" +
      "\001\000\004\024\367\001\001\000\006\020\370\021\243" +
      "\001\001\000\004\024\371\001\001\000\006\020\372\021" +
      "\243\001\001\000\004\024\373\001\001\000\002\001\001" +
      "\000\002\001\001\000\006\020\376\021\243\001\001\000" +
      "\004\023\377\001\001\000\006\020\u0100\021\243\001\001" +
      "\000\004\022\u0101\001\001\000\002\001\001\000\006\020" +
      "\u0103\021\243\001\001\000\004\024\u0104\001\001\000\006" +
      "\020\u0105\021\243\001\001\000\004\024\u0106\001\001\000" +
      "\002\001\001\000\006\020\u0108\021\243\001\001\000\004" +
      "\023\u0109\001\001\000\002\001\001\000\002\001\001\000" +
      "\002\001\001\000\002\001\001\000\006\020\u010e\021\243" +
      "\001\001\000\010\017\u010f\022\314\027\316\001\001\000" +
      "\002\001\001\000\006\020\u0111\021\243\001\001\000\004" +
      "\023\u0112\001\001\000\006\020\u0113\021\243\001\001\000" +
      "\004\023\u0114\001\001\000\002\001\001\000\006\020\u0116" +
      "\021\243\001\001\000\004\024\u0117\001\001\000\006\020" +
      "\u0118\021\243\001\001\000\004\024\u0119\001\001\000\002" +
      "\001\001\000\002\001\001\000\006\020\u011c\021\243\001" +
      "\001\000\004\022\u011d\001\001\000\006\020\u011e\021\243" +
      "\001\001\000\004\022\u011f\001\001\000\002\001\001\000" +
      "\006\020\u0121\021\243\001\001\000\004\023\u0122\001\001" +
      "\000\006\020\u0123\021\243\001\001\000\004\023\u0124\001" +
      "\001\000\002\001\001\000\006\020\u0126\021\243\001\001" +
      "\000\004\023\u0127\001\001\000\002\001\001\000\002\001" +
      "\001\000\006\020\u012a\021\243\001\001\000\004\023\u012b" +
      "\001\001\000\006\020\u012c\021\243\001\001\000\010\017" +
      "\u012d\022\314\027\316\001\001\000\002\001\001\000\006" +
      "\020\u012f\021\243\001\001\000\004\024\u0130\001\001\000" +
      "\002\001\001\000\006\020\u0132\021\243\001\001\000\010" +
      "\017\u0133\022\314\027\316\001\001\000\002\001\001\000" +
      "\006\020\u0135\021\243\001\001\000\004\023\u0136\001\001" +
      "\000\006\020\u0137\021\243\001\001\000\004\022\u0138\001" +
      "\001\000\002\001\001\000\002\001\001\000\006\020\u013b" +
      "\021\243\001\001\000\010\017\u013c\022\314\027\316\001" +
      "\001\000\002\001\001\000\006\020\u013e\021\243\001\001" +
      "\000\004\023\u013f\001\001\000\006\020\u0140\021\243\001" +
      "\001\000\004\022\u0143\001\001\000\002\001\001\000\002" +
      "\001\001\000\002\001\001\000\004\027\u0145\001\001\000" +
      "\002\001\001\000\002\001\001\000\004\027\u0148\001\001" +
      "\000\002\001\001\000\002\001\001\000\006\020\u014b\021" +
      "\243\001\001\000\006\022\u014d\023\u014e\001\001\000\002" +
      "\001\001\000\002\001\001\000\006\020\u0156\021\243\001" +
      "\001\000\002\001\001\000\004\027\u0151\001\001\000\002" +
      "\001\001\000\002\001\001\000\004\023\u0154\001\001\000" +
      "\002\001\001\000\002\001\001\000\004\022\u0159\001\001" +
      "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
      "\004\027\u015b\001\001\000\002\001\001\000\002\001\001" +
      "\000\004\027\u015e\001\001\000\002\001\001\000\002\001" +
      "\001\000\004\023\u0161\001\001\000\002\001\001\000\002" +
      "\001\001\000\004\027\u0164\001\001\000\002\001\001\000" +
      "\002\001\001\000\004\023\u0167\001\001\000\002\001\001" +
      "\000\002\001\001\000\002\001\001\000\006\020\u016b\021" +
      "\243\001\001\000\004\023\u016c\001\001\000\002\001\001" +
      "\000\006\020\u016e\021\243\001\001\000\004\023\u016f\001" +
      "\001\000\006\020\u0170\021\243\001\001\000\004\023\u0171" +
      "\001\001\000\002\001\001\000\006\020\u0173\021\243\001" +
      "\001\000\004\023\u0174\001\001\000\006\020\u0175\021\243" +
      "\001\001\000\004\023\u0176\001\001\000\002\001\001\000" +
      "\006\020\u0178\021\243\001\001\000\004\023\u0179\001\001" +
      "\000\002\001\001\000\006\020\u017b\021\243\001\001\000" +
      "\004\023\u017c\001\001\000\006\020\u017d\021\243\001\001" +
      "\000\004\022\u017e\001\001\000\002\001\001\000\006\020" +
      "\u0180\021\243\001\001\000\004\024\u0181\001\001\000\006" +
      "\020\u0182\021\243\001\001\000\004\024\u0183\001\001\000" +
      "\002\001\001\000\006\020\u0185\021\243\001\001\000\004" +
      "\024\u0186\001\001\000\002\001\001\000\006\020\u0188\021" +
      "\243\001\001\000\004\024\u0189\001\001\000\002\001\001" +
      "\000\002\001\001\000\006\020\u018c\021\243\001\001\000" +
      "\004\024\u018d\001\001\000\002\001\001\000\002\001\001" +
      "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
      "\004\027\u0193\001\001\000\002\001\001\000\006\020\u0195" +
      "\021\243\001\001\000\004\023\u0196\001\001\000\006\020" +
      "\u0197\021\243\001\001\000\010\017\u0198\022\314\027\316" +
      "\001\001\000\002\001\001\000\006\020\u019a\021\243\001" +
      "\001\000\004\023\u019b\001\001\000\006\020\u019c\021\243" +
      "\001\001\000\004\023\u019d\001\001\000\002\001\001\000" +
      "\006\020\u019f\021\243\001\001\000\004\024\u01a0\001\001" +
      "\000\002\001\001\000\006\020\u01a2\021\243\001\001\000" +
      "\004\023\u01a3\001\001\000\006\020\u01a4\021\243\001\001" +
      "\000\010\017\u01a5\022\314\027\316\001\001\000\002\001" +
      "\001\000\006\020\u01a7\021\243\001\001\000\004\023\u01a8" +
      "\001\001\000\006\020\u01a9\021\243\001\001\000\004\023" +
      "\u01aa\001\001\000\002\001\001\000\002\001\001\000\006" +
      "\020\u01ad\021\243\001\001\000\006\022\u01ae\023\u01af\001" +
      "\001\000\002\001\001\000\006\020\u01b0\021\243\001\001" +
      "\000\004\022\u01b1\001\001\000\002\001\001\000\004\023" +
      "\u01b3\001\001\000\002\001\001\000\002\001\001\000\006" +
      "\020\u01b6\021\243\001\001\000\004\022\u01b7\001\001\000" +
      "\002\001\001\000\006\020\u01b9\021\243\001\001\000\010" +
      "\017\u01ba\022\314\027\316\001\001\000\002\001\001\000" +
      "\006\020\u01bc\021\243\001\001\000\010\022\u01bf\023\u01c0" +
      "\027\u01bd\001\001\000\006\020\u01db\021\243\001\001\000" +
      "\002\001\001\000\002\001\001\000\006\020\u01c8\021\243" +
      "\001\001\000\002\001\001\000\004\027\u01c3\001\001\000" +
      "\002\001\001\000\002\001\001\000\004\023\u01c6\001\001" +
      "\000\002\001\001\000\002\001\001\000\004\022\u01cb\001" +
      "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
      "\000\004\027\u01cd\001\001\000\002\001\001\000\002\001" +
      "\001\000\004\027\u01d0\001\001\000\002\001\001\000\002" +
      "\001\001\000\004\023\u01d3\001\001\000\002\001\001\000" +
      "\002\001\001\000\004\027\u01d6\001\001\000\002\001\001" +
      "\000\002\001\001\000\004\023\u01d9\001\001\000\002\001" +
      "\001\000\002\001\001\000\004\023\u01dc\001\001\000\002" +
      "\001\001\000\006\020\u01de\021\243\001\001\000\010\022" +
      "\u01e1\023\u01e2\027\u01df\001\001\000\006\020\u01fd\021\243" +
      "\001\001\000\002\001\001\000\002\001\001\000\006\020" +
      "\u01ea\021\243\001\001\000\002\001\001\000\004\027\u01e5" +
      "\001\001\000\002\001\001\000\002\001\001\000\004\023" +
      "\u01e8\001\001\000\002\001\001\000\002\001\001\000\004" +
      "\022\u01ed\001\001\000\002\001\001\000\002\001\001\000" +
      "\002\001\001\000\004\027\u01ef\001\001\000\002\001\001" +
      "\000\002\001\001\000\004\027\u01f2\001\001\000\002\001" +
      "\001\000\002\001\001\000\004\023\u01f5\001\001\000\002" +
      "\001\001\000\002\001\001\000\004\027\u01f8\001\001\000" +
      "\002\001\001\000\002\001\001\000\004\023\u01fb\001\001" +
      "\000\002\001\001\000\002\001\001\000\004\023\u01fe\001" +
      "\001\000\002\001\001\000\006\020\u0200\021\243\001\001" +
      "\000\004\024\u0201\001\001\000\002\001\001\000\006\020" +
      "\u0203\021\243\001\001\000\004\023\u0204\001\001\000\002" +
      "\001\001\000\006\020\u0206\021\243\001\001\000\010\022" +
      "\u0209\023\u020a\027\u0207\001\001\000\006\020\u0225\021\243" +
      "\001\001\000\002\001\001\000\002\001\001\000\006\020" +
      "\u0212\021\243\001\001\000\002\001\001\000\004\027\u020d" +
      "\001\001\000\002\001\001\000\002\001\001\000\004\023" +
      "\u0210\001\001\000\002\001\001\000\002\001\001\000\004" +
      "\022\u0215\001\001\000\002\001\001\000\002\001\001\000" +
      "\002\001\001\000\004\027\u0217\001\001\000\002\001\001" +
      "\000\002\001\001\000\004\027\u021a\001\001\000\002\001" +
      "\001\000\002\001\001\000\004\023\u021d\001\001\000\002" +
      "\001\001\000\002\001\001\000\004\027\u0220\001\001\000" +
      "\002\001\001\000\002\001\001\000\004\023\u0223\001\001" +
      "\000\002\001\001\000\002\001\001\000\004\023\u0226\001" +
      "\001\000\002\001\001\000\006\020\u0228\021\243\001\001" +
      "\000\004\023\u0229\001\001\000\002\001\001\000\006\020" +
      "\u022b\021\243\001\001\000\004\024\u022c\001\001\000\006" +
      "\020\u022d\021\243\001\001\000\004\024\u022e\001\001\000" +
      "\002\001\001\000\006\020\u0230\021\243\001\001\000\004" +
      "\022\u0231\001\001\000\006\020\u0232\021\243\001\001\000" +
      "\004\022\u0233\001\001\000\002\001\001\000\006\020\u0235" +
      "\021\243\001\001\000\004\023\u0236\001\001\000\006\020" +
      "\u0237\021\243\001\001\000\010\017\u0238\022\314\027\316" +
      "\001\001\000\002\001\001\000\006\020\u023a\021\243\001" +
      "\001\000\004\023\u023b\001\001\000\006\020\u023c\021\243" +
      "\001\001\000\004\023\u023d\001\001\000\002\001\001\000" +
      "\002\001\001\000\006\020\u0240\021\243\001\001\000\004" +
      "\024\u0241\001\001\000\006\020\u0242\021\243\001\001\000" +
      "\004\024\u0243\001\001\000\002\001\001\000\006\020\u0245" +
      "\021\243\001\001\000\004\023\u0246\001\001\000\002\001" +
      "\001\000\006\020\u0248\021\243\001\001\000\004\023\u0249" +
      "\001\001\000\002\001\001\000\006\020\u024b\021\243\001" +
      "\001\000\004\023\u024c\001\001\000\006\020\u024d\021\243" +
      "\001\001\000\010\017\u024e\022\314\027\316\001\001\000" +
      "\002\001\001\000\006\020\u0255\021\243\001\001\000\006" +
      "\020\u0251\021\243\001\001\000\004\024\u0252\001\001\000" +
      "\006\020\u0253\021\243\001\001\000\004\022\u0254\001\001" +
      "\000\002\001\001\000\006\022\u0256\027\u0257\001\001\000" +
      "\002\001\001\000\006\020\u0258\021\243\001\001\000\004" +
      "\023\u0259\001\001\000\002\001\001\000\004\023\u025b\001" +
      "\001\000\002\001\001\000\002\001\001\000\006\020\u025e" +
      "\021\243\001\001\000\004\023\u025f\001\001\000\006\020" +
      "\u0260\021\243\001\001\000\004\023\u0261\001\001\000\002" +
      "\001\001\000\006\020\u0263\021\243\001\001\000\004\022" +
      "\u0264\001\001\000\002\001\001\000\006\020\u0266\021\243" +
      "\001\001\000\004\023\u0267\001\001\000\002\001\001\000" +
      "\006\020\u0269\021\243\001\001\000\004\023\u026a\001\001" +
      "\000\006\020\u026b\021\243\001\001\000\004\023\u026c\001" +
      "\001\000\002\001\001\000\002\001\001\000\006\020\u026f" +
      "\021\243\001\001\000\004\023\u0270\001\001\000\002\001" +
      "\001\000\006\020\u0272\021\243\001\001\000\004\023\u0273" +
      "\001\001\000\006\020\u0274\021\243\001\001\000\004\023" +
      "\u0275\001\001\000\002\001\001\000\006\020\u0277\021\243" +
      "\001\001\000\010\017\u0278\022\314\027\316\001\001\000" +
      "\002\001\001\000\006\020\u027a\021\243\001\001\000\004" +
      "\023\u027b\001\001\000\006\020\u027c\021\243\001\001\000" +
      "\004\023\u027d\001\001\000\002\001\001\000\006\020\u027f" +
      "\021\243\001\001\000\004\022\u0280\001\001\000\006\020" +
      "\u0281\021\243\001\001\000\004\023\u0282\001\001\000\002" +
      "\001\001\000\006\020\u0284\021\243\001\001\000\004\024" +
      "\u0285\001\001\000\006\020\u0286\021\243\001\001\000\004" +
      "\024\u0287\001\001\000\002\001\001\000\002\001\001\000" +
      "\006\020\u028a\021\243\001\001\000\004\024\u028b\001\001" +
      "\000\006\020\u028c\021\243\001\001\000\004\024\u028d\001" +
      "\001\000\006\020\u028e\021\243\001\001\000\004\024\u028f" +
      "\001\001\000\002\001\001\000\006\020\u0291\021\243\001" +
      "\001\000\004\023\u0292\001\001\000\006\020\u0293\021\243" +
      "\001\001\000\010\017\u0294\022\314\027\316\001\001\000" +
      "\002\001\001\000\006\020\u0296\021\243\001\001\000\004" +
      "\022\u0297\001\001\000\006\020\u0298\021\243\001\001\000" +
      "\004\023\u0299\001\001\000\002\001\001\000\006\020\u029b" +
      "\021\243\001\001\000\010\017\u029c\022\314\027\316\001" +
      "\001\000\002\001\001\000\002\001\001\000\006\020\u029f" +
      "\021\243\001\001\000\004\022\u02a0\001\001\000\006\020" +
      "\u02a1\021\243\001\001\000\004\023\u02a2\001\001\000\002" +
      "\001\001\000\006\020\u02a4\021\243\001\001\000\004\024" +
      "\u02a5\001\001\000\006\020\u02a6\021\243\001\001\000\004" +
      "\024\u02a7\001\001\000\006\020\u02a8\021\243\001\001\000" +
      "\004\024\u02a9\001\001\000\002\001\001\000\006\020\u02ab" +
      "\021\243\001\001\000\004\023\u02ac\001\001\000\006\020" +
      "\u02ad\021\243\001\001\000\004\022\u02ae\001\001\000\002" +
      "\001\001\000\006\020\u02b0\021\243\001\001\000\004\022" +
      "\u02b1\001\001\000\002\001\001\000\006\020\u02b3\021\243" +
      "\001\001\000\004\023\u02b4\001\001\000\006\020\u02b5\021" +
      "\243\001\001\000\004\023\u02b6\001\001\000\002\001\001" +
      "\000\006\020\u02b8\021\243\001\001\000\004\024\u02b9\001" +
      "\001\000\006\020\u02ba\021\243\001\001\000\004\024\u02bb" +
      "\001\001\000\002\001\001\000\006\020\u02bd\021\243\001" +
      "\001\000\006\022\u02bf\023\u02c0\001\001\000\002\001\001" +
      "\000\002\001\001\000\006\020\u02c8\021\243\001\001\000" +
      "\002\001\001\000\004\027\u02c3\001\001\000\002\001\001" +
      "\000\002\001\001\000\004\023\u02c6\001\001\000\002\001" +
      "\001\000\002\001\001\000\004\022\u02cb\001\001\000\002" +
      "\001\001\000\002\001\001\000\002\001\001\000\004\027" +
      "\u02cd\001\001\000\002\001\001\000\002\001\001\000\004" +
      "\027\u02d0\001\001\000\002\001\001\000\002\001\001\000" +
      "\004\023\u02d3\001\001\000\002\001\001\000\002\001\001" +
      "\000\004\027\u02d6\001\001\000\002\001\001\000\002\001" +
      "\001\000\004\023\u02d9\001\001\000\002\001\001\000\002" +
      "\001\001\000\006\020\u02dc\021\243\001\001\000\004\023" +
      "\u02dd\001\001\000\002\001\001\000\006\020\u02df\021\243" +
      "\001\001\000\004\024\u02e0\001\001\000\002\001\001\000" +
      "\006\020\u02e2\021\243\001\001\000\004\024\u02e3\001\001" +
      "\000\006\020\u02e4\021\243\001\001\000\004\024\u02e5\001" +
      "\001\000\002\001\001\000\006\020\u02e7\021\243\001\001" +
      "\000\004\023\u02e8\001\001\000\006\020\u02e9\021\243\001" +
      "\001\000\004\023\u02ea\001\001\000\002\001\001\000\002" +
      "\001\001\000\006\020\u02ed\021\243\001\001\000\004\022" +
      "\u02ef\001\001\000\002\001\001\000\002\001\001\000\004" +
      "\027\u02f1\001\001\000\002\001\001\000\002\001\001\000" +
      "\006\020\u02f4\021\243\001\001\000\004\023\u02f5\001\001" +
      "\000\006\020\u02f6\021\243\001\001\000\004\023\u02f7\001" +
      "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
      "\000\006\020\u02fb\021\243\001\001\000\004\023\u02fc\001" +
      "\001\000\006\020\u02fd\021\243\001\001\000\004\023\u02fe" +
      "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
      "\001\000\002\001\001\000\002\001\001\000\006\020\u0304" +
      "\021\243\001\001\000\004\024\u0305\001\001\000\006\020" +
      "\u0306\021\243\001\001\000\004\024\u0307\001\001\000\002" +
      "\001\001\000\006\020\u0309\021\243\001\001\000\004\027" +
      "\u030a\001\001\000\002\001\001\000\006\020\u030c\021\243" +
      "\001\001\000\010\022\u030f\023\u0310\027\u030e\001\001\000" +
      "\002\001\001\000\002\001\001\000\002\001\001\000\006" +
      "\020\u0318\021\243\001\001\000\002\001\001\000\004\027" +
      "\u0313\001\001\000\002\001\001\000\002\001\001\000\004" +
      "\023\u0316\001\001\000\002\001\001\000\002\001\001\000" +
      "\004\022\u031b\001\001\000\002\001\001\000\002\001\001" +
      "\000\002\001\001\000\004\027\u031d\001\001\000\002\001" +
      "\001\000\002\001\001\000\004\027\u0320\001\001\000\002" +
      "\001\001\000\002\001\001\000\004\023\u0323\001\001\000" +
      "\002\001\001\000\002\001\001\000\004\027\u0326\001\001" +
      "\000\002\001\001\000\002\001\001\000\004\023\u0329\001" +
      "\001\000\002\001\001\000\002\001\001\000\006\020\u032c" +
      "\021\243\001\001\000\004\023\u032d\001\001\000\006\020" +
      "\u032e\021\243\001\001\000\010\017\u032f\022\314\027\316" +
      "\001\001\000\002\001\001\000\006\020\u0331\021\243\001" +
      "\001\000\010\017\u0332\022\314\027\316\001\001\000\002" +
      "\001\001\000\006\020\u0334\021\243\001\001\000\004\022" +
      "\u0335\001\001\000\002\001\001\000\002\001\001\000\004" +
      "\027\u0338\001\001\000\002\001\001\000\002\001\001\000" +
      "\006\020\u033b\021\243\001\001\000\010\022\u033e\023\u033f" +
      "\027\u033d\001\001\000\002\001\001\000\002\001\001\000" +
      "\002\001\001\000\006\020\u0347\021\243\001\001\000\002" +
      "\001\001\000\004\027\u0342\001\001\000\002\001\001\000" +
      "\002\001\001\000\004\023\u0345\001\001\000\002\001\001" +
      "\000\002\001\001\000\004\022\u034a\001\001\000\002\001" +
      "\001\000\002\001\001\000\002\001\001\000\004\027\u034c" +
      "\001\001\000\002\001\001\000\002\001\001\000\004\027" +
      "\u034f\001\001\000\002\001\001\000\002\001\001\000\004" +
      "\023\u0352\001\001\000\002\001\001\000\002\001\001\000" +
      "\004\027\u0355\001\001\000\002\001\001\000\002\001\001" +
      "\000\004\023\u0358\001\001\000\002\001\001\000\002\001" +
      "\001\000\006\020\u035b\021\243\001\001\000\004\022\u035c" +
      "\001\001\000\002\001\001\000\006\020\u035e\021\243\001" +
      "\001\000\004\022\u035f\001\001\000\006\020\u0360\021\243" +
      "\001\001\000\004\022\u0361\001\001\000\002\001\001\000" +
      "\006\020\u0363\021\243\001\001\000\004\024\u0364\001\001" +
      "\000\006\020\u0365\021\243\001\001\000\004\024\u0366\001" +
      "\001\000\002\001\001\000\006\020\u0368\021\243\001\001" +
      "\000\010\022\u036b\023\u036c\027\u036a\001\001\000\002\001" +
      "\001\000\002\001\001\000\002\001\001\000\006\020\u0374" +
      "\021\243\001\001\000\002\001\001\000\004\027\u036f\001" +
      "\001\000\002\001\001\000\002\001\001\000\004\023\u0372" +
      "\001\001\000\002\001\001\000\002\001\001\000\004\022" +
      "\u0377\001\001\000\002\001\001\000\002\001\001\000\002" +
      "\001\001\000\004\027\u0379\001\001\000\002\001\001\000" +
      "\002\001\001\000\004\027\u037c\001\001\000\002\001\001" +
      "\000\002\001\001\000\004\023\u037f\001\001\000\002\001" +
      "\001\000\002\001\001\000\004\027\u0382\001\001\000\002" +
      "\001\001\000\002\001\001\000\004\023\u0385\001\001\000" +
      "\002\001\001\000\002\001\001\000\002\001\001\000\006" +
      "\020\u0389\021\243\001\001\000\004\024\u038a\001\001\000" +
      "\006\020\u038b\021\243\001\001\000\004\024\u038c\001\001" +
      "\000\002\001\001\000\006\020\u038e\021\243\001\001\000" +
      "\004\023\u038f\001\001\000\006\020\u0390\021\243\001\001" +
      "\000\010\017\u0391\022\314\027\316\001\001\000\002\001" +
      "\001\000\006\020\u0393\021\243\001\001\000\004\023\u0394" +
      "\001\001\000\002\001\001\000\006\020\u0396\021\243\001" +
      "\001\000\004\023\u0397\001\001\000\006\020\u0398\021\243" +
      "\001\001\000\004\023\u0399\001\001\000\002\001\001\000" +
      "\006\020\u039b\021\243\001\001\000\004\023\u039c\001\001" +
      "\000\002\001\001\000\006\020\u039e\021\243\001\001\000" +
      "\004\023\u039f\001\001\000\002\001\001\000\006\020\u03a1" +
      "\021\243\001\001\000\004\023\u03a2\001\001\000\006\020" +
      "\u03a3\021\243\001\001\000\010\017\u03a4\022\314\027\316" +
      "\001\001\000\002\001\001\000\006\020\u03a6\021\243\001" +
      "\001\000\004\023\u03a7\001\001\000\006\020\u03a8\021\243" +
      "\001\001\000\004\022\u03a9\001\001\000\002\001\001\000" +
      "\006\020\u03ab\021\243\001\001\000\004\023\u03ac\001\001" +
      "\000\006\020\u03ad\021\243\001\001\000\004\022\u03ae\001" +
      "\001\000\002\001\001" });
  
    /** Access to <code>reduce_goto</code> table. */
    public short[][] reduce_table() {return _reduce_table;}
  
    /** Instance of action encapsulation class. */
    protected CUP$Parser$actions action_obj;
  
    /** Action encapsulation object initializer. */
    protected void init_actions()
      {
        action_obj = new CUP$Parser$actions(this);
      }
  
    /** Invoke a user supplied parse action. */
    public java_cup.runtime.Symbol do_action(
      int                        act_num,
      java_cup.runtime.lr_parser parser,
      java.util.Stack            stack,
      int                        top)
      throws java.lang.Exception
    {
      /* call code in generated class */
      return action_obj.CUP$Parser$do_action(act_num, parser, stack, top);
    }
  
    /** Indicates start state. */
    public int start_state() {return 0;}
    /** Indicates start production. */
    public int start_production() {return 1;}
  
    /** <code>EOF</code> Symbol index. */
    public int EOF_sym() {return 0;}
  
    /** <code>error</code> Symbol index. */
    public int error_sym() {return 1;}
  
  
  
  
    /** assembler unlinked program */
    private Program program;
  
    /** columns for debugging */
    private ArrayList<Integer> cols;
  
    /**
     * Creates a new parser.
     *
     * @param s lexer
     * @param program assembler unlinked program
     */
    @SuppressWarnings("deprecation")
    protected Parser(Scanner s, Program program) {
      super(s);
      this.program = program;
      cols = new ArrayList<>();
    }
  
    /**
     * {@inheritDoc}
     */
    @Override
    public void syntax_error(Symbol token) {
      // show all escaped sequences
      if (cur_token.value instanceof String) {
        cur_token.value = ((String) cur_token.value).replace("\n", "\\n");
        cur_token.value = ((String) cur_token.value).replace("\r", "\\r");
        cur_token.value = ((String) cur_token.value).replace("\b", "\\b");
        cur_token.value = ((String) cur_token.value).replace("\f", "\\f");
        cur_token.value = ((String) cur_token.value).replace("\0", "\\0");
        cur_token.value = ((String) cur_token.value).replace("\t", "\\t");
        cur_token.value = ((String) cur_token.value).replace("\u000b", "\\v");
      }
      // parser error
      if (cur_token.sym != Token.ERROR) {
        program.addError("(syntax) unexpected input '" + cur_token.value + "'", cur_token.left, cur_token.right);
      } else {
        program.addError((String) cur_token.value, cur_token.left, cur_token.right);
      }
    }
  
    /**
     * {@inheritDoc}
     */
    @Override
    public void unrecovered_syntax_error(Symbol token) {
      /* DO NOTHING */
    }
  
  
  
  /** Cup generated class to encapsulate user supplied action code.*/
  @SuppressWarnings({"rawtypes", "unchecked", "unused"})
  class CUP$Parser$actions {
    private final Parser parser;
  
    /** Constructor */
    CUP$Parser$actions(Parser parser) {
      this.parser = parser;
    }
  
    /** Method 0 with the actual generated action code for actions 0 to 300. */
    public final java_cup.runtime.Symbol CUP$Parser$do_action_part00000000(
      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 0: // prog ::= lines
              {
                Object RESULT =null;
  
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("prog",0, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 1: // $START ::= prog 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 = parser.getSymbolFactory().newSymbol("$START",0, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            /* ACCEPT */
            CUP$Parser$parser.done_parsing();
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 2: // lines ::= line
              {
                Object RESULT =null;
  
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("lines",1, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 3: // lines ::= line lines
              {
                Object RESULT =null;
  
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("lines",1, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 4: // lines ::= stmt
              {
                Object RESULT =null;
  
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("lines",1, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 5: // line ::= stmt NEWLINE
              {
                Object RESULT =null;
  
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("line",2, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 6: // line ::= NEWLINE
              {
                Object RESULT =null;
  
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("line",2, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 7: // line ::= error NEWLINE
              {
                Object RESULT =null;
  
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("line",2, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 8: // stmt ::= label instruction
              {
                Object RESULT =null;
  
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("stmt",3, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 9: // stmt ::= label data
              {
                Object RESULT =null;
  
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("stmt",3, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 10: // stmt ::= label
              {
                Object RESULT =null;
  
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("stmt",3, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 11: // stmt ::= data
              {
                Object RESULT =null;
  
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("stmt",3, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 12: // stmt ::= instruction
              {
                Object RESULT =null;
  
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("stmt",3, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 13: // stmt ::= directive
              {
                Object RESULT =null;
  
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("stmt",3, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 14: // label ::= LABEL
              {
                Object RESULT =null;
      int idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Object id = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.emitSymbol((String) id, idleft, idright);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("label",4, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 15: // instruction ::= rv32i
              {
                Object RESULT =null;
  
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("instruction",5, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 16: // instruction ::= rv32zicsr
              {
                Object RESULT =null;
  
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("instruction",5, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 17: // instruction ::= rv32m
              {
                Object RESULT =null;
  
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("instruction",5, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 18: // instruction ::= rv32f
              {
                Object RESULT =null;
  
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("instruction",5, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 19: // instruction ::= pseudos
              {
                Object RESULT =null;
      int pleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int pright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Object p = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
  
                    if (Flags.BARE) {
                      program.addError("bare machine, no pseudos available", pleft);
                    }
  
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("instruction",5, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 20: // rv32i ::= I_LUI xreg delimiter imm
              {
                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;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int immleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int immright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer imm = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addUType(ileft, (String) i, rd, imm, -1);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 21: // rv32i ::= I_LUI xreg delimiter HI LPAREN id RPAREN
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-6)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
      int idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
      String id = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
       program.addUType(ileft, (String) i, rd, id, Relocation.HI);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 22: // rv32i ::= I_AUIPC xreg delimiter imm
              {
                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;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int immleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int immright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer imm = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addUType(ileft, (String) i, rd, imm, -1);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 23: // rv32i ::= I_AUIPC xreg delimiter PCREL_HI LPAREN id RPAREN
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-6)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
      int idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
      String id = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
       program.addUType(ileft, (String) i, rd, id, Relocation.PCRELHI);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 24: // rv32i ::= I_JAL xreg delimiter offset
              {
                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;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int offsetleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int offsetright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Object offset = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addJType(ileft, (String) i, rd, offset, Relocation.PCREL);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 25: // rv32i ::= I_JALR xreg delimiter xreg delimiter imm
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int immleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int immright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer imm = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addIType(ileft, (String) i, rd, rs1, imm, -1);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 26: // rv32i ::= I_JALR xreg delimiter imm LPAREN xreg RPAREN
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-6)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int immleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left;
      int immright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right;
      Integer imm = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
       program.addIType(ileft, (String) i, rd, rs1, imm, -1);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 27: // rv32i ::= I_BEQ xreg delimiter xreg delimiter offset
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs2left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rs2right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs2 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int offsetleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int offsetright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Object offset = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addBType(ileft, (String) i, rs1, rs2, offset, Relocation.PCREL);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 28: // rv32i ::= I_BNE xreg delimiter xreg delimiter offset
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs2left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rs2right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs2 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int offsetleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int offsetright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Object offset = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addBType(ileft, (String) i, rs1, rs2, offset, Relocation.PCREL);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 29: // rv32i ::= I_BLT xreg delimiter xreg delimiter offset
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs2left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rs2right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs2 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int offsetleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int offsetright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Object offset = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addBType(ileft, (String) i, rs1, rs2, offset, Relocation.PCREL);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 30: // rv32i ::= I_BGE xreg delimiter xreg delimiter offset
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs2left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rs2right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs2 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int offsetleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int offsetright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Object offset = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addBType(ileft, (String) i, rs1, rs2, offset, Relocation.PCREL);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 31: // rv32i ::= I_BLTU xreg delimiter xreg delimiter offset
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs2left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rs2right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs2 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int offsetleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int offsetright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Object offset = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addBType(ileft, (String) i, rs1, rs2, offset, Relocation.PCREL);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 32: // rv32i ::= I_BGEU xreg delimiter xreg delimiter offset
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs2left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rs2right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs2 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int offsetleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int offsetright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Object offset = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addBType(ileft, (String) i, rs1, rs2, offset, Relocation.PCREL);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 33: // rv32i ::= I_LB xreg delimiter xreg delimiter imm
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int immleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int immright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer imm = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addIType(ileft, (String) i, rd, rs1, imm, -1);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 34: // rv32i ::= I_LB xreg delimiter xreg delimiter LO LPAREN id RPAREN
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-8)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-7)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
      int idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
      String id = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
       program.addIType(ileft, (String) i, rd, rs1, id, Relocation.LO);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 35: // rv32i ::= I_LB xreg delimiter xreg delimiter PCREL_LO LPAREN id RPAREN
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-8)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-7)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
      int idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
      String id = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
       program.addIType(ileft, (String) i, rd, rs1, id, Relocation.PCRELLO);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 36: // rv32i ::= I_LB xreg delimiter imm LPAREN xreg RPAREN
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-6)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int immleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left;
      int immright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right;
      Integer imm = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
       program.addIType(ileft, (String) i, rd, rs1, imm, -1);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 37: // rv32i ::= I_LB xreg delimiter LO LPAREN id RPAREN LPAREN xreg RPAREN
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-9)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-9)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-9)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-8)).value;
      int idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      String id = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
       program.addIType(ileft, (String) i, rd, rs1, id, Relocation.LO);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-9)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 38: // rv32i ::= I_LB xreg delimiter PCREL_LO LPAREN id RPAREN LPAREN xreg RPAREN
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-9)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-9)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-9)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-8)).value;
      int idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      String id = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
       program.addIType(ileft, (String) i, rd, rs1, id, Relocation.PCRELLO);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-9)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 39: // rv32i ::= I_LH xreg delimiter xreg delimiter imm
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int immleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int immright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer imm = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addIType(ileft, (String) i, rd, rs1, imm, -1);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 40: // rv32i ::= I_LH xreg delimiter xreg delimiter LO LPAREN id RPAREN
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-8)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-7)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
      int idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
      String id = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
       program.addIType(ileft, (String) i, rd, rs1, id, Relocation.LO);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 41: // rv32i ::= I_LH xreg delimiter xreg delimiter PCREL_LO LPAREN id RPAREN
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-8)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-7)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
      int idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
      String id = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
       program.addIType(ileft, (String) i, rd, rs1, id, Relocation.PCRELLO);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 42: // rv32i ::= I_LH xreg delimiter imm LPAREN xreg RPAREN
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-6)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int immleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left;
      int immright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right;
      Integer imm = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
       program.addIType(ileft, (String) i, rd, rs1, imm, -1);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 43: // rv32i ::= I_LH xreg delimiter LO LPAREN id RPAREN LPAREN xreg RPAREN
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-9)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-9)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-9)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-8)).value;
      int idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      String id = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
       program.addIType(ileft, (String) i, rd, rs1, id, Relocation.LO);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-9)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 44: // rv32i ::= I_LH xreg delimiter PCREL_LO LPAREN id RPAREN LPAREN xreg RPAREN
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-9)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-9)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-9)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-8)).value;
      int idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      String id = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
       program.addIType(ileft, (String) i, rd, rs1, id, Relocation.PCRELLO);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-9)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 45: // rv32i ::= I_LW xreg delimiter xreg delimiter imm
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int immleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int immright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer imm = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addIType(ileft, (String) i, rd, rs1, imm, -1);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 46: // rv32i ::= I_LW xreg delimiter xreg delimiter LO LPAREN id RPAREN
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-8)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-7)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
      int idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
      String id = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
       program.addIType(ileft, (String) i, rd, rs1, id, Relocation.LO);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 47: // rv32i ::= I_LW xreg delimiter xreg delimiter PCREL_LO LPAREN id RPAREN
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-8)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-7)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
      int idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
      String id = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
       program.addIType(ileft, (String) i, rd, rs1, id, Relocation.PCRELLO);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 48: // rv32i ::= I_LW xreg delimiter imm LPAREN xreg RPAREN
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-6)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int immleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left;
      int immright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right;
      Integer imm = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
       program.addIType(ileft, (String) i, rd, rs1, imm, -1);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 49: // rv32i ::= I_LW xreg delimiter LO LPAREN id RPAREN LPAREN xreg RPAREN
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-9)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-9)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-9)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-8)).value;
      int idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      String id = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
       program.addIType(ileft, (String) i, rd, rs1, id, Relocation.LO);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-9)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 50: // rv32i ::= I_LW xreg delimiter PCREL_LO LPAREN id RPAREN LPAREN xreg RPAREN
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-9)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-9)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-9)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-8)).value;
      int idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      String id = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
       program.addIType(ileft, (String) i, rd, rs1, id, Relocation.PCRELLO);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-9)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 51: // rv32i ::= I_LBU xreg delimiter xreg delimiter imm
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int immleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int immright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer imm = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addIType(ileft, (String) i, rd, rs1, imm, -1);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 52: // rv32i ::= I_LBU xreg delimiter xreg delimiter LO LPAREN id RPAREN
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-8)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-7)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
      int idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
      String id = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
       program.addIType(ileft, (String) i, rd, rs1, id, Relocation.LO);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 53: // rv32i ::= I_LBU xreg delimiter xreg delimiter PCREL_LO LPAREN id RPAREN
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-8)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-7)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
      int idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
      String id = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
       program.addIType(ileft, (String) i, rd, rs1, id, Relocation.PCRELLO);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 54: // rv32i ::= I_LBU xreg delimiter imm LPAREN xreg RPAREN
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-6)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int immleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left;
      int immright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right;
      Integer imm = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
       program.addIType(ileft, (String) i, rd, rs1, imm, -1);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 55: // rv32i ::= I_LBU xreg delimiter LO LPAREN id RPAREN LPAREN xreg RPAREN
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-9)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-9)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-9)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-8)).value;
      int idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      String id = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
       program.addIType(ileft, (String) i, rd, rs1, id, Relocation.LO);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-9)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 56: // rv32i ::= I_LBU xreg delimiter PCREL_LO LPAREN id RPAREN LPAREN xreg RPAREN
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-9)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-9)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-9)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-8)).value;
      int idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      String id = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
       program.addIType(ileft, (String) i, rd, rs1, id, Relocation.PCRELLO);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-9)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 57: // rv32i ::= I_LHU xreg delimiter xreg delimiter imm
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int immleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int immright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer imm = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addIType(ileft, (String) i, rd, rs1, imm, -1);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 58: // rv32i ::= I_LHU xreg delimiter xreg delimiter LO LPAREN id RPAREN
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-8)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-7)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
      int idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
      String id = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
       program.addIType(ileft, (String) i, rd, rs1, id, Relocation.LO);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 59: // rv32i ::= I_LHU xreg delimiter xreg delimiter PCREL_LO LPAREN id RPAREN
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-8)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-7)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
      int idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
      String id = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
       program.addIType(ileft, (String) i, rd, rs1, id, Relocation.PCRELLO);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 60: // rv32i ::= I_LHU xreg delimiter imm LPAREN xreg RPAREN
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-6)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int immleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left;
      int immright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right;
      Integer imm = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
       program.addIType(ileft, (String) i, rd, rs1, imm, -1);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 61: // rv32i ::= I_LHU xreg delimiter LO LPAREN id RPAREN LPAREN xreg RPAREN
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-9)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-9)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-9)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-8)).value;
      int idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      String id = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
       program.addIType(ileft, (String) i, rd, rs1, id, Relocation.LO);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-9)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 62: // rv32i ::= I_LHU xreg delimiter PCREL_LO LPAREN id RPAREN LPAREN xreg RPAREN
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-9)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-9)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-9)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-8)).value;
      int idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      String id = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
       program.addIType(ileft, (String) i, rd, rs1, id, Relocation.PCRELLO);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-9)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 63: // rv32i ::= I_SB xreg delimiter xreg delimiter imm
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs2left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rs2right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs2 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int immleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int immright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer imm = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addSType(ileft, (String) i, rs1, rs2, imm, -1);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 64: // rv32i ::= I_SB xreg delimiter xreg delimiter LO LPAREN id RPAREN
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-8)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-7)).value;
      int rs2left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int rs2right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Integer rs2 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
      int idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
      String id = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
       program.addSType(ileft, (String) i, rs1, rs2, id, Relocation.LO);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 65: // rv32i ::= I_SB xreg delimiter xreg delimiter PCREL_LO LPAREN id RPAREN
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-8)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-7)).value;
      int rs2left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int rs2right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Integer rs2 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
      int idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
      String id = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
       program.addSType(ileft, (String) i, rs1, rs2, id, Relocation.PCRELLO);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 66: // rv32i ::= I_SB xreg delimiter imm LPAREN xreg RPAREN
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-6)).value;
      int rs2left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int rs2right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Integer rs2 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int immleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left;
      int immright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right;
      Integer imm = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
       program.addSType(ileft, (String) i, rs1, rs2, imm, -1);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 67: // rv32i ::= I_SB xreg delimiter LO LPAREN id RPAREN LPAREN xreg RPAREN
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-9)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-9)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-9)).value;
      int rs2left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).left;
      int rs2right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).right;
      Integer rs2 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-8)).value;
      int idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      String id = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
       program.addSType(ileft, (String) i, rs1, rs2, id, Relocation.LO);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-9)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 68: // rv32i ::= I_SB xreg delimiter PCREL_LO LPAREN id RPAREN LPAREN xreg RPAREN
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-9)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-9)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-9)).value;
      int rs2left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).left;
      int rs2right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).right;
      Integer rs2 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-8)).value;
      int idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      String id = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
       program.addSType(ileft, (String) i, rs1, rs2, id, Relocation.PCRELLO);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-9)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 69: // rv32i ::= I_SH xreg delimiter xreg delimiter imm
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs2left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rs2right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs2 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int immleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int immright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer imm = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addSType(ileft, (String) i, rs1, rs2, imm, -1);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 70: // rv32i ::= I_SH xreg delimiter xreg delimiter LO LPAREN id RPAREN
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-8)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-7)).value;
      int rs2left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int rs2right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Integer rs2 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
      int idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
      String id = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
       program.addSType(ileft, (String) i, rs1, rs2, id, Relocation.LO);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 71: // rv32i ::= I_SH xreg delimiter xreg delimiter PCREL_LO LPAREN id RPAREN
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-8)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-7)).value;
      int rs2left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int rs2right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Integer rs2 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
      int idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
      String id = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
       program.addSType(ileft, (String) i, rs1, rs2, id, Relocation.PCRELLO);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 72: // rv32i ::= I_SH xreg delimiter imm LPAREN xreg RPAREN
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-6)).value;
      int rs2left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int rs2right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Integer rs2 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int immleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left;
      int immright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right;
      Integer imm = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
       program.addSType(ileft, (String) i, rs1, rs2, imm, -1);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 73: // rv32i ::= I_SH xreg delimiter LO LPAREN id RPAREN LPAREN xreg RPAREN
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-9)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-9)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-9)).value;
      int rs2left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).left;
      int rs2right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).right;
      Integer rs2 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-8)).value;
      int idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      String id = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
       program.addSType(ileft, (String) i, rs1, rs2, id, Relocation.LO);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-9)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 74: // rv32i ::= I_SH xreg delimiter PCREL_LO LPAREN id RPAREN LPAREN xreg RPAREN
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-9)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-9)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-9)).value;
      int rs2left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).left;
      int rs2right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).right;
      Integer rs2 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-8)).value;
      int idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      String id = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
       program.addSType(ileft, (String) i, rs1, rs2, id, Relocation.PCRELLO);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-9)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 75: // rv32i ::= I_SW xreg delimiter xreg delimiter imm
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs2left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rs2right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs2 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int immleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int immright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer imm = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addSType(ileft, (String) i, rs1, rs2, imm, -1);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 76: // rv32i ::= I_SW xreg delimiter xreg delimiter LO LPAREN id RPAREN
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-8)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-7)).value;
      int rs2left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int rs2right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Integer rs2 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
      int idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
      String id = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
       program.addSType(ileft, (String) i, rs1, rs2, id, Relocation.LO);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 77: // rv32i ::= I_SW xreg delimiter xreg delimiter PCREL_LO LPAREN id RPAREN
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-8)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-7)).value;
      int rs2left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int rs2right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Integer rs2 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
      int idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
      String id = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
       program.addSType(ileft, (String) i, rs1, rs2, id, Relocation.PCRELLO);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 78: // rv32i ::= I_SW xreg delimiter imm LPAREN xreg RPAREN
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-6)).value;
      int rs2left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int rs2right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Integer rs2 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int immleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left;
      int immright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right;
      Integer imm = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
       program.addSType(ileft, (String) i, rs1, rs2, imm, -1);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 79: // rv32i ::= I_SW xreg delimiter LO LPAREN id RPAREN LPAREN xreg RPAREN
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-9)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-9)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-9)).value;
      int rs2left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).left;
      int rs2right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).right;
      Integer rs2 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-8)).value;
      int idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      String id = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
       program.addSType(ileft, (String) i, rs1, rs2, id, Relocation.LO);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-9)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 80: // rv32i ::= I_SW xreg delimiter PCREL_LO LPAREN id RPAREN LPAREN xreg RPAREN
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-9)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-9)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-9)).value;
      int rs2left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).left;
      int rs2right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).right;
      Integer rs2 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-8)).value;
      int idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      String id = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
       program.addSType(ileft, (String) i, rs1, rs2, id, Relocation.PCRELLO);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-9)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 81: // rv32i ::= I_ADDI xreg delimiter xreg delimiter imm
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int immleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int immright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer imm = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addIType(ileft, (String) i, rd, rs1, imm, -1);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 82: // rv32i ::= I_ADDI xreg delimiter xreg delimiter LO LPAREN id RPAREN
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-8)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-7)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
      int idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
      String id = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
       program.addIType(ileft, (String) i, rd, rs1, id, Relocation.LO);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 83: // rv32i ::= I_ADDI xreg delimiter xreg delimiter PCREL_LO LPAREN id RPAREN
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-8)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-7)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
      int idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
      String id = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
       program.addIType(ileft, (String) i, rd, rs1, id, Relocation.PCRELLO);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-8)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 84: // rv32i ::= I_SLTI xreg delimiter xreg delimiter imm
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int immleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int immright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer imm = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addIType(ileft, (String) i, rd, rs1, imm, -1);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 85: // rv32i ::= I_SLTIU xreg delimiter xreg delimiter imm
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int immleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int immright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer imm = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addIType(ileft, (String) i, rd, rs1, imm, -1);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 86: // rv32i ::= I_XORI xreg delimiter xreg delimiter imm
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int immleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int immright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer imm = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addIType(ileft, (String) i, rd, rs1, imm, -1);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 87: // rv32i ::= I_ORI xreg delimiter xreg delimiter imm
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int immleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int immright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer imm = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addIType(ileft, (String) i, rd, rs1, imm, -1);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 88: // rv32i ::= I_ANDI xreg delimiter xreg delimiter imm
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int immleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int immright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer imm = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addIType(ileft, (String) i, rd, rs1, imm, -1);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 89: // rv32i ::= I_SLLI xreg delimiter xreg delimiter imm
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int shamtleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int shamtright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer shamt = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addShift(ileft, (String) i, rd, rs1, shamt);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 90: // rv32i ::= I_SRLI xreg delimiter xreg delimiter imm
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int shamtleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int shamtright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer shamt = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addShift(ileft, (String) i, rd, rs1, shamt);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 91: // rv32i ::= I_SRAI xreg delimiter xreg delimiter imm
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int shamtleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int shamtright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer shamt = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addShift(ileft, (String) i, rd, rs1, shamt);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 92: // rv32i ::= I_ADD xreg delimiter xreg delimiter xreg
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rs2left = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rs2right = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs2 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addRType(ileft, (String) i, rd, rs1, rs2);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 93: // rv32i ::= I_SUB xreg delimiter xreg delimiter xreg
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rs2left = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rs2right = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs2 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addRType(ileft, (String) i, rd, rs1, rs2);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 94: // rv32i ::= I_SLL xreg delimiter xreg delimiter xreg
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rs2left = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rs2right = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs2 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addRType(ileft, (String) i, rd, rs1, rs2);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 95: // rv32i ::= I_SLT xreg delimiter xreg delimiter xreg
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rs2left = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rs2right = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs2 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addRType(ileft, (String) i, rd, rs1, rs2);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 96: // rv32i ::= I_SLTU xreg delimiter xreg delimiter xreg
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rs2left = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rs2right = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs2 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addRType(ileft, (String) i, rd, rs1, rs2);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 97: // rv32i ::= I_XOR xreg delimiter xreg delimiter xreg
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rs2left = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rs2right = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs2 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addRType(ileft, (String) i, rd, rs1, rs2);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 98: // rv32i ::= I_SRL xreg delimiter xreg delimiter xreg
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rs2left = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rs2right = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs2 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addRType(ileft, (String) i, rd, rs1, rs2);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 99: // rv32i ::= I_SRA xreg delimiter xreg delimiter xreg
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rs2left = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rs2right = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs2 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addRType(ileft, (String) i, rd, rs1, rs2);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 100: // rv32i ::= I_OR xreg delimiter xreg delimiter xreg
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rs2left = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rs2right = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs2 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addRType(ileft, (String) i, rd, rs1, rs2);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 101: // rv32i ::= I_AND xreg delimiter xreg delimiter xreg
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rs2left = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rs2right = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs2 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addRType(ileft, (String) i, rd, rs1, rs2);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 102: // rv32i ::= I_ECALL
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addIType(ileft, (String) i, 0, 0, 0, -1);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 103: // rv32i ::= I_EBREAK
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addIType(ileft, (String) i, 0, 0, 1, -1);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 104: // rv32i ::= I_FENCE
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addIType(ileft, (String) i, 0, 0, 0, -1);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32i",6, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 105: // rv32zicsr ::= I_CSRRW xreg delimiter imm delimiter xreg
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int csrleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int csrright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer csr = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addIType(ileft, (String) i, rd, rs1, csr, -1);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32zicsr",7, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 106: // rv32zicsr ::= I_CSRRS xreg delimiter imm delimiter xreg
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int csrleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int csrright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer csr = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addIType(ileft, (String) i, rd, rs1, csr, -1);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32zicsr",7, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 107: // rv32zicsr ::= I_CSRRC xreg delimiter imm delimiter xreg
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int csrleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int csrright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer csr = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addIType(ileft, (String) i, rd, rs1, csr, -1);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32zicsr",7, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 108: // rv32zicsr ::= I_CSRRWI xreg delimiter imm delimiter imm
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int csrleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int csrright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer csr = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int uimmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int uimmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer uimm = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addIType(ileft, (String) i, rd, (int) uimm, csr, -1);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32zicsr",7, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 109: // rv32zicsr ::= I_CSRRSI xreg delimiter imm delimiter imm
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int csrleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int csrright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer csr = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int uimmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int uimmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer uimm = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addIType(ileft, (String) i, rd, (int) uimm, csr, -1);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32zicsr",7, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 110: // rv32zicsr ::= I_CSRRCI xreg delimiter imm delimiter imm
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int csrleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int csrright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer csr = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int uimmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int uimmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer uimm = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addIType(ileft, (String) i, rd, (int) uimm, csr, -1);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32zicsr",7, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 111: // rv32m ::= I_MUL xreg delimiter xreg delimiter xreg
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rs2left = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rs2right = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs2 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addRType(ileft, (String) i, rd, rs1, rs2);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32m",8, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 112: // rv32m ::= I_MULH xreg delimiter xreg delimiter xreg
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rs2left = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rs2right = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs2 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addRType(ileft, (String) i, rd, rs1, rs2);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32m",8, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 113: // rv32m ::= I_MULHSU xreg delimiter xreg delimiter xreg
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rs2left = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rs2right = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs2 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addRType(ileft, (String) i, rd, rs1, rs2);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32m",8, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 114: // rv32m ::= I_MULHU xreg delimiter xreg delimiter xreg
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rs2left = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rs2right = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs2 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addRType(ileft, (String) i, rd, rs1, rs2);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32m",8, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 115: // rv32m ::= I_DIV xreg delimiter xreg delimiter xreg
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rs2left = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rs2right = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs2 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addRType(ileft, (String) i, rd, rs1, rs2);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32m",8, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 116: // rv32m ::= I_DIVU xreg delimiter xreg delimiter xreg
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rs2left = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rs2right = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs2 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addRType(ileft, (String) i, rd, rs1, rs2);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32m",8, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 117: // rv32m ::= I_REM xreg delimiter xreg delimiter xreg
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rs2left = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rs2right = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs2 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addRType(ileft, (String) i, rd, rs1, rs2);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32m",8, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 118: // rv32m ::= I_REMU xreg delimiter xreg delimiter xreg
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rs2left = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rs2right = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs2 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addRType(ileft, (String) i, rd, rs1, rs2);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32m",8, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 119: // rv32f ::= I_FLW freg delimiter xreg delimiter imm
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int immleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int immright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer imm = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addIType(ileft, (String) i, rd, rs1, imm, -1);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32f",9, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 120: // rv32f ::= I_FLW freg delimiter imm LPAREN xreg RPAREN
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-6)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int immleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left;
      int immright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right;
      Integer imm = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
       program.addIType(ileft, (String) i, rd, rs1, imm, -1);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32f",9, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 121: // rv32f ::= I_FSW xreg delimiter freg delimiter imm
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs2left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rs2right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs2 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int immleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int immright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer imm = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addSType(ileft, (String) i, rs1, rs2, imm, -1);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32f",9, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 122: // rv32f ::= I_FSW freg delimiter imm LPAREN xreg RPAREN
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-6)).value;
      int rs2left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int rs2right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Integer rs2 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int immleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).left;
      int immright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)).right;
      Integer imm = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
       program.addSType(ileft, (String) i, rs1, rs2, imm, -1);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32f",9, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 123: // rv32f ::= I_FMADDS freg delimiter freg delimiter freg delimiter freg
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-7)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-6)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs2left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rs2right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs2 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rs3left = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rs3right = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs3 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addR4Type(ileft, (String) i, rd, rs1, rs2, rs3);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32f",9, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 124: // rv32f ::= I_FMSUBS freg delimiter freg delimiter freg delimiter freg
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-7)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-6)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs2left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rs2right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs2 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rs3left = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rs3right = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs3 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addR4Type(ileft, (String) i, rd, rs1, rs2, rs3);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32f",9, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 125: // rv32f ::= I_FNMSUBS freg delimiter freg delimiter freg delimiter freg
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-7)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-6)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs2left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rs2right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs2 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rs3left = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rs3right = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs3 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addR4Type(ileft, (String) i, rd, rs1, rs2, rs3);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32f",9, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 126: // rv32f ::= I_FNMADDS freg delimiter freg delimiter freg delimiter freg
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-7)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-6)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-6)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs2left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rs2right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs2 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rs3left = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rs3right = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs3 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addR4Type(ileft, (String) i, rd, rs1, rs2, rs3);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32f",9, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-7)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 127: // rv32f ::= I_FADDS freg delimiter freg delimiter freg
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rs2left = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rs2right = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs2 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addRType(ileft, (String) i, rd, rs1, rs2);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32f",9, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 128: // rv32f ::= I_FSUBS freg delimiter freg delimiter freg
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rs2left = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rs2right = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs2 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addRType(ileft, (String) i, rd, rs1, rs2);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32f",9, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 129: // rv32f ::= I_FMULS freg delimiter freg delimiter freg
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rs2left = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rs2right = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs2 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addRType(ileft, (String) i, rd, rs1, rs2);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32f",9, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 130: // rv32f ::= I_FDIVS freg delimiter freg delimiter freg
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rs2left = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rs2right = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs2 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addRType(ileft, (String) i, rd, rs1, rs2);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32f",9, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 131: // rv32f ::= I_FSQRTS freg delimiter freg
              {
                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;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addRType(ileft, (String) i, rd, rs1, 0);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32f",9, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 132: // rv32f ::= I_FSGNJS freg delimiter freg delimiter freg
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rs2left = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rs2right = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs2 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addRType(ileft, (String) i, rd, rs1, rs2);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32f",9, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 133: // rv32f ::= I_FSGNJNS freg delimiter freg delimiter freg
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rs2left = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rs2right = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs2 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addRType(ileft, (String) i, rd, rs1, rs2);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32f",9, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 134: // rv32f ::= I_FSGNJXS freg delimiter freg delimiter freg
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rs2left = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rs2right = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs2 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addRType(ileft, (String) i, rd, rs1, rs2);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32f",9, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 135: // rv32f ::= I_FMINS freg delimiter freg delimiter freg
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rs2left = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rs2right = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs2 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addRType(ileft, (String) i, rd, rs1, rs2);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32f",9, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 136: // rv32f ::= I_FMAXS freg delimiter freg delimiter freg
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rs2left = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rs2right = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs2 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addRType(ileft, (String) i, rd, rs1, rs2);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32f",9, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 137: // rv32f ::= I_FCVTWS xreg delimiter freg
              {
                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;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addRType(ileft, (String) i, rd, rs1, 0);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32f",9, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 138: // rv32f ::= I_FCVTWUS xreg delimiter freg
              {
                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;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addRType(ileft, (String) i, rd, rs1, 1);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32f",9, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 139: // rv32f ::= I_FMVXW xreg delimiter freg
              {
                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;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addRType(ileft, (String) i, rd, rs1, 0);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32f",9, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 140: // rv32f ::= I_FEQS xreg delimiter freg delimiter freg
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rs2left = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rs2right = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs2 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addRType(ileft, (String) i, rd, rs1, rs2);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32f",9, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 141: // rv32f ::= I_FLTS xreg delimiter freg delimiter freg
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rs2left = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rs2right = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs2 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addRType(ileft, (String) i, rd, rs1, rs2);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32f",9, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 142: // rv32f ::= I_FLES xreg delimiter freg delimiter freg
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rs2left = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rs2right = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs2 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addRType(ileft, (String) i, rd, rs1, rs2);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32f",9, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 143: // rv32f ::= I_FCLASSS xreg delimiter freg
              {
                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;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addRType(ileft, (String) i, rd, rs1, 0);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32f",9, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 144: // rv32f ::= I_FCVTSW freg delimiter xreg
              {
                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;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addRType(ileft, (String) i, rd, rs1, 0);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32f",9, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 145: // rv32f ::= I_FCVTSWU freg delimiter xreg
              {
                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;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addRType(ileft, (String) i, rd, rs1, 1);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32f",9, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 146: // rv32f ::= I_FMVWX freg delimiter xreg
              {
                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;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rs1left = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rs1right = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs1 = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addRType(ileft, (String) i, rd, rs1, 0);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("rv32f",9, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 147: // pseudos ::= I_LA xreg delimiter id
              {
                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;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int symbolleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int symbolright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      String symbol = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
  
                    program.addUType(ileft, "auipc", rd, symbol, Relocation.PCRELHI);
                    program.addIType(ileft, "addi", rd, rd, symbol, Relocation.PCRELLO);
  
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("pseudos",12, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 148: // pseudos ::= I_LB xreg delimiter id
              {
                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;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int symbolleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int symbolright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      String symbol = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
  
                    program.addUType(ileft, "auipc", rd, symbol, Relocation.PCRELHI);
                    program.addIType(ileft, (String) i, rd, rd, symbol, Relocation.PCRELLO);
  
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("pseudos",12, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 149: // pseudos ::= I_LH xreg delimiter id
              {
                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;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int symbolleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int symbolright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      String symbol = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
  
                    program.addUType(ileft, "auipc", rd, symbol, Relocation.PCRELHI);
                    program.addIType(ileft, (String) i, rd, rd, symbol, Relocation.PCRELLO);
  
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("pseudos",12, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 150: // pseudos ::= I_LW xreg delimiter id
              {
                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;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int symbolleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int symbolright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      String symbol = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
  
                    program.addUType(ileft, "auipc", rd, symbol, Relocation.PCRELHI);
                    program.addIType(ileft, (String) i, rd, rd, symbol, Relocation.PCRELLO);
  
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("pseudos",12, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 151: // pseudos ::= I_SB xreg delimiter id delimiter xreg
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int symbolleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int symbolright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      String symbol = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rtleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rtright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rt = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
  
                    program.addUType(ileft, "auipc", rt, symbol, Relocation.PCRELHI);
                    program.addSType(ileft, (String) i, rt, rd, symbol, Relocation.PCRELLO);
  
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("pseudos",12, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 152: // pseudos ::= I_SH xreg delimiter id delimiter xreg
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int symbolleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int symbolright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      String symbol = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rtleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rtright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rt = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
  
                    program.addUType(ileft, "auipc", rt, symbol, Relocation.PCRELHI);
                    program.addSType(ileft, (String) i, rt, rd, symbol, Relocation.PCRELLO);
  
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("pseudos",12, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 153: // pseudos ::= I_SW xreg delimiter id delimiter xreg
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int symbolleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int symbolright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      String symbol = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rtleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rtright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rt = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
  
                    program.addUType(ileft, "auipc", rt, symbol, Relocation.PCRELHI);
                    program.addSType(ileft, (String) i, rt, rd, symbol, Relocation.PCRELLO);
  
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("pseudos",12, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 154: // pseudos ::= I_FLW freg delimiter id delimiter xreg
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int symbolleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int symbolright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      String symbol = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rtleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rtright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rt = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
  
                    program.addUType(ileft, "auipc", rt, symbol, Relocation.PCRELHI);
                    program.addIType(ileft, (String) i, rd, rt, symbol, Relocation.PCRELLO);
  
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("pseudos",12, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 155: // pseudos ::= I_FSW freg delimiter id delimiter xreg
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int symbolleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int symbolright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      String symbol = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rtleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rtright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rt = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
  
                    program.addUType(ileft, "auipc", rt, symbol, Relocation.PCRELHI);
                    program.addSType(ileft, (String) i, rt, rd, symbol, Relocation.PCRELLO);
  
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("pseudos",12, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 156: // pseudos ::= I_NOP
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addIType(ileft, "addi", 0, 0, 0, -1);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("pseudos",12, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 157: // pseudos ::= I_LI xreg delimiter imm
              {
                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;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int immleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int immright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer imm = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
  
                    if (imm > 2047 || imm < -2048) {
                      program.addUType(ileft, "lui", rd, ((imm >>> 12) + ((imm >>> 11) & 0x1)) & 0x000fffff, -1);
                      program.addIType(ileft, "addi", rd, rd, Data.signExtend((imm & 0xfff), 12), -1);
                    } else {
                      program.addIType(ileft, "addi", rd, 0, imm, -1);
                    }
  
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("pseudos",12, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 158: // pseudos ::= I_MV xreg delimiter xreg
              {
                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;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rsleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rsright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addIType(ileft, "addi", rd, rs, 0, -1);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("pseudos",12, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 159: // pseudos ::= I_NOT xreg delimiter xreg
              {
                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;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rsleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rsright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addIType(ileft, "xori", rd, rs, -1, -1);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("pseudos",12, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 160: // pseudos ::= I_NEG xreg delimiter xreg
              {
                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;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rsleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rsright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addRType(ileft, "sub", rd, 0, rs);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("pseudos",12, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 161: // pseudos ::= I_SEQZ xreg delimiter xreg
              {
                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;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rsleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rsright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addIType(ileft, "sltiu", rd, rs, 1, -1);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("pseudos",12, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 162: // pseudos ::= I_SNEZ xreg delimiter xreg
              {
                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;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rsleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rsright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addRType(ileft, "sltu", rd, 0, rs);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("pseudos",12, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 163: // pseudos ::= I_SLTZ xreg delimiter xreg
              {
                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;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rsleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rsright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addRType(ileft, "slt", rd, rs, 0);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("pseudos",12, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 164: // pseudos ::= I_SGTZ xreg delimiter xreg
              {
                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;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rsleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rsright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addRType(ileft, "slt", rd, 0, rs);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("pseudos",12, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 165: // pseudos ::= I_FMVS freg delimiter freg
              {
                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;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rsleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rsright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addRType(ileft, "fsgnj.s", rd, rs, rs);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("pseudos",12, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 166: // pseudos ::= I_FABSS freg delimiter freg
              {
                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;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rsleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rsright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addRType(ileft, "fsgnjx.s", rd, rs, rs);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("pseudos",12, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 167: // pseudos ::= I_FNEGS freg delimiter freg
              {
                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;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rsleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rsright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addRType(ileft, "fsgnjn.s", rd, rs, rs);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("pseudos",12, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 168: // pseudos ::= I_BEQZ xreg delimiter offset
              {
                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;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
      int rsleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rsright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int offsetleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int offsetright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Object offset = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addBType(ileft, "beq", rs, 0, offset, Relocation.PCREL);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("pseudos",12, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 169: // pseudos ::= I_BNEZ xreg delimiter offset
              {
                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;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
      int rsleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rsright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int offsetleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int offsetright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Object offset = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addBType(ileft, "bne", rs, 0, offset, Relocation.PCREL);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("pseudos",12, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 170: // pseudos ::= I_BLEZ xreg delimiter offset
              {
                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;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
      int rsleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rsright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int offsetleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int offsetright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Object offset = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addBType(ileft, "bge", 0, rs, offset, Relocation.PCREL);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("pseudos",12, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 171: // pseudos ::= I_BGEZ xreg delimiter offset
              {
                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;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
      int rsleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rsright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int offsetleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int offsetright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Object offset = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addBType(ileft, "bge", rs, 0, offset, Relocation.PCREL);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("pseudos",12, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 172: // pseudos ::= I_BLTZ xreg delimiter offset
              {
                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;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
      int rsleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rsright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int offsetleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int offsetright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Object offset = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addBType(ileft, "blt", rs, 0, offset, Relocation.PCREL);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("pseudos",12, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 173: // pseudos ::= I_BGTZ xreg delimiter offset
              {
                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;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
      int rsleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rsright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rs = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int offsetleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int offsetright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Object offset = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addBType(ileft, "blt", 0, rs, offset, Relocation.PCREL);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("pseudos",12, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 174: // pseudos ::= I_BGT xreg delimiter xreg delimiter offset
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rsleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rsright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rs = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rtleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rtright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rt = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int offsetleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int offsetright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Object offset = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addBType(ileft, "blt", rt, rs, offset, Relocation.PCREL);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("pseudos",12, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 175: // pseudos ::= I_BLE xreg delimiter xreg delimiter offset
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rsleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rsright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rs = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rtleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rtright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rt = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int offsetleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int offsetright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Object offset = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addBType(ileft, "bge", rt, rs, offset, Relocation.PCREL);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("pseudos",12, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 176: // pseudos ::= I_BGTU xreg delimiter xreg delimiter offset
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rsleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rsright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rs = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rtleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rtright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rt = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int offsetleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int offsetright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Object offset = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addBType(ileft, "bltu", rt, rs, offset, Relocation.PCREL);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("pseudos",12, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 177: // pseudos ::= I_BLEU xreg delimiter xreg delimiter offset
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-5)).value;
      int rsleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).left;
      int rsright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-4)).right;
      Integer rs = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-4)).value;
      int rtleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rtright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rt = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int offsetleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int offsetright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Object offset = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addBType(ileft, "bgeu", rt, rs, offset, Relocation.PCREL);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("pseudos",12, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-5)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 178: // pseudos ::= I_J offset
              {
                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;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
      int offsetleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int offsetright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Object offset = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addJType(ileft, "jal", 0, offset, Relocation.PCREL);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("pseudos",12, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 179: // pseudos ::= I_JAL offset
              {
                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;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
      int offsetleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int offsetright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Object offset = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addJType(ileft, "jal", 1, offset, Relocation.PCREL);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("pseudos",12, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 180: // pseudos ::= I_JR xreg
              {
                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;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
      int rsleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rsright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addIType(ileft, "jalr", 0, rs, 0, -1);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("pseudos",12, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 181: // pseudos ::= I_JALR xreg
              {
                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;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
      int rsleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rsright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addIType(ileft, "jalr", 1, rs, 0, -1);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("pseudos",12, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 182: // pseudos ::= I_RET
              {
                Object RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addIType(ileft, "jalr", 0, 1, 0, -1);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("pseudos",12, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 183: // pseudos ::= I_CALL id
              {
                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;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
      int offsetleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int offsetright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      String offset = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
  
                    program.addUType(ileft, "auipc", 6, offset, Relocation.PCRELHI);
                    program.addIType(ileft, "jalr", 1, 6, offset, Relocation.PCRELLO);
  
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("pseudos",12, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 184: // pseudos ::= I_TAIL id
              {
                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;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
      int offsetleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int offsetright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      String offset = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
  
                    program.addUType(ileft, "auipc", 6, offset, Relocation.PCRELHI);
                    program.addIType(ileft, "jalr", 0, 6, offset, Relocation.PCRELLO);
  
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("pseudos",12, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 185: // pseudos ::= I_CSRR xreg delimiter imm
              {
                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;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int csrleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int csrright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer csr = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addIType(ileft, "csrrs", rd, 0, csr, -1);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("pseudos",12, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 186: // pseudos ::= I_CSRW imm delimiter xreg
              {
                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;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
      int csrleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int csrright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer csr = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rsleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rsright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addIType(ileft, "csrrw", 0, rs, csr, -1);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("pseudos",12, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 187: // pseudos ::= I_CSRS imm delimiter xreg
              {
                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;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
      int csrleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int csrright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer csr = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rsleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rsright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addIType(ileft, "csrrs", 0, rs, csr, -1);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("pseudos",12, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 188: // pseudos ::= I_CSRC imm delimiter xreg
              {
                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;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
      int csrleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int csrright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer csr = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rsleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rsright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addIType(ileft, "csrrc", 0, rs, csr, -1);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("pseudos",12, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 189: // pseudos ::= I_CSRWI imm delimiter imm
              {
                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;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
      int csrleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int csrright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer csr = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int uimmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int uimmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer uimm = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addIType(ileft, "csrrwi", 0, (int) uimm, csr, -1);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("pseudos",12, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 190: // pseudos ::= I_CSRSI imm delimiter imm
              {
                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;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
      int csrleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int csrright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer csr = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int uimmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int uimmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer uimm = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addIType(ileft, "csrrsi", 0, (int) uimm, csr, -1);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("pseudos",12, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 191: // pseudos ::= I_CSRCI imm delimiter imm
              {
                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;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
      int csrleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int csrright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer csr = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int uimmleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int uimmright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer uimm = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addIType(ileft, "csrrci", 0, (int) uimm, csr, -1);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("pseudos",12, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 192: // pseudos ::= I_FRCSR xreg
              {
                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;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addIType(ileft, "csrrs", rd, 0, 11, -1);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("pseudos",12, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 193: // pseudos ::= I_FSCSR xreg delimiter xreg
              {
                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;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rsleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rsright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addIType(ileft, "csrrw", rd, (int) rs, 11, -1);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("pseudos",12, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 194: // pseudos ::= I_FSCSR xreg
              {
                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;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
      int rsleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rsright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addIType(ileft, "csrrw", 0, (int) rs, 11, -1);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("pseudos",12, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 195: // pseudos ::= I_FRRM xreg
              {
                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;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addIType(ileft, "csrrs", rd, 0, 11, -1);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("pseudos",12, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 196: // pseudos ::= I_FSRM xreg delimiter xreg
              {
                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;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rsleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rsright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addIType(ileft, "csrrw", rd, (int) rs, 11, -1);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("pseudos",12, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 197: // pseudos ::= I_FSRM xreg
              {
                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;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
      int rsleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rsright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addIType(ileft, "csrrw", 0, (int) rs, 11, -1);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("pseudos",12, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 198: // pseudos ::= I_FRFLAGS xreg
              {
                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;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addIType(ileft, "csrrs", rd, 0, 11, -1);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("pseudos",12, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 199: // pseudos ::= I_FSFLAGS xreg delimiter xreg
              {
                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;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-3)).value;
      int rdleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int rdright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      Integer rd = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int rsleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rsright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addIType(ileft, "csrrw", rd, (int) rs, 11, -1);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("pseudos",12, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-3)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 200: // pseudos ::= I_FSFLAGS xreg
              {
                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;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
      int rsleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int rsright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer rs = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addIType(ileft, "csrrw", 0, (int) rs, 11, -1);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("pseudos",12, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 201: // data ::= D_BYTE numlist
              {
                Object RESULT =null;
      int dleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
      int dright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
      Object d = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
      int lleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int lright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      ArrayList<Integer> l = (ArrayList<Integer>)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.emitBytes(l, dleft, dright, cols);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("data",10, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 202: // data ::= D_HALF numlist
              {
                Object RESULT =null;
      int dleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
      int dright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
      Object d = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
      int lleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int lright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      ArrayList<Integer> l = (ArrayList<Integer>)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.emitHalfs(l, (String) d, dleft, dright, cols);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("data",10, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 203: // data ::= D_WORD numlist
              {
                Object RESULT =null;
      int dleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
      int dright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
      Object d = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
      int lleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int lright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      ArrayList<Integer> l = (ArrayList<Integer>)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.emitWords(l, (String) d, dleft, dright);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("data",10, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 204: // data ::= D_WORD idlist
              {
                Object RESULT =null;
      int dleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
      int dright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
      Object d = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
      int lleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int lright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      ArrayList<String> l = (ArrayList<String>)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.emitRefs(l, (String) d, dleft, dright);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("data",10, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 205: // data ::= D_FLOAT floatlist
              {
                Object RESULT =null;
      int dleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
      int dright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
      Object d = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
      int lleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int lright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      ArrayList<Float> l = (ArrayList<Float>)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.emitFloats(l, dleft, dright);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("data",10, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 206: // data ::= D_ASCII string
              {
                Object RESULT =null;
      int dleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
      int dright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
      Object d = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
      int sleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int sright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      String s = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.emitAscii(s, dleft, dright);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("data",10, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 207: // data ::= D_ASCIIZ string
              {
                Object RESULT =null;
      int dleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
      int dright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
      Object d = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
      int sleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int sright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      String s = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.emitAsciiz(s, (String) d, sleft, sright);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("data",10, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 208: // data ::= D_ZERO imm
              {
                Object RESULT =null;
      int dleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).left;
      int dright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)).right;
      Object d = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-1)).value;
      int bytesleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int bytesright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer bytes = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.emitZero(bytes, (String) d, bytesleft, bytesright);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("data",10, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 209: // directive ::= D_SECTION D_TEXT
              {
                Object RESULT =null;
       program.emitText();
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("directive",11, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 210: // directive ::= D_SECTION D_DATA
              {
                Object RESULT =null;
       program.emitData();
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("directive",11, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 211: // directive ::= D_SECTION D_RODATA
              {
                Object RESULT =null;
       program.emitRodata();
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("directive",11, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 212: // directive ::= D_SECTION D_BSS
              {
                Object RESULT =null;
       program.emitBss();
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("directive",11, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 213: // directive ::= D_TEXT
              {
                Object RESULT =null;
       program.emitText();
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("directive",11, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 214: // directive ::= D_DATA
              {
                Object RESULT =null;
       program.emitData();
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("directive",11, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 215: // directive ::= D_RODATA
              {
                Object RESULT =null;
       program.emitRodata();
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("directive",11, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 216: // directive ::= D_BSS
              {
                Object RESULT =null;
       program.emitBss();
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("directive",11, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 217: // directive ::= D_GLOBL id
              {
                Object RESULT =null;
      int idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      String id = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.emitGlobal(id, idleft, idright);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("directive",11, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 218: // directive ::= D_ALIGN imm
              {
                Object RESULT =null;
      int immleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int immright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer imm = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.emitAlign(imm, immleft, immright);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("directive",11, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 219: // directive ::= D_BALIGN imm
              {
                Object RESULT =null;
      int immleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int immright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer imm = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.emitBAlign(imm, immleft, immright);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("directive",11, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 220: // directive ::= D_DIRECTIVE
              {
                Object RESULT =null;
      int dleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int dright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Object d = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       program.addError("invalid directive '" + d + "'", dleft, dright);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("directive",11, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 221: // directive ::= D_FILE string
              {
                Object RESULT =null;
  
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("directive",11, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-1)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 222: // numlist ::= imm
              {
                ArrayList<Integer> RESULT =null;
      int immleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int immright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer imm = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
  
                    ArrayList<Integer> l = new ArrayList<>();
                    l.add(imm);
                    cols.clear();
                    cols.add(immright);
                    RESULT = l;
  
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("numlist",22, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 223: // numlist ::= numlist COMMA imm
              {
                ArrayList<Integer> RESULT =null;
      int lleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int lright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      ArrayList<Integer> l = (ArrayList<Integer>)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int immleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int immright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer imm = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
  
                    l.add(imm);
                    cols.add(immright);
                    RESULT = l;
  
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("numlist",22, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 224: // idlist ::= id
              {
                ArrayList<String> RESULT =null;
      int idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      String id = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
  
                    ArrayList<String> l = new ArrayList<>();
                    l.add(id);
                    cols.clear();
                    cols.add(idright);
                    RESULT = l;
  
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("idlist",23, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 225: // idlist ::= idlist COMMA id
              {
                ArrayList<String> RESULT =null;
      int lleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int lright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      ArrayList<String> l = (ArrayList<String>)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      String id = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
  
                    l.add(id);
                    cols.add(idright);
                    RESULT = l;
  
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("idlist",23, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 226: // floatlist ::= fimm
              {
                ArrayList<Float> RESULT =null;
      int fleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int fright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Float f = (Float)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
  
                    ArrayList<Float> l = new ArrayList<>();
                    l.add(f);
                    cols.clear();
                    cols.add(fright);
                    RESULT = l;
  
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("floatlist",24, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 227: // floatlist ::= floatlist COMMA fimm
              {
                ArrayList<Float> RESULT =null;
      int lleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).left;
      int lright = ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)).right;
      ArrayList<Float> l = (ArrayList<Float>)((java_cup.runtime.Symbol) CUP$Parser$stack.elementAt(CUP$Parser$top-2)).value;
      int fleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int fright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Float f = (Float)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
  
                    l.add(f);
                    cols.add(fright);
                    RESULT = l;
  
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("floatlist",24, ((java_cup.runtime.Symbol)CUP$Parser$stack.elementAt(CUP$Parser$top-2)), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 228: // offset ::= imm
              {
                Object RESULT =null;
      int immleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int immright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Integer imm = (Integer)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       RESULT = (int) imm;
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("offset",13, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 229: // offset ::= id
              {
                Object RESULT =null;
      int idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      String id = (String)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       RESULT = (String) id;
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("offset",13, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 230: // xreg ::= XREG
              {
                Integer RESULT =null;
      int xleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int xright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Object x = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       RESULT = (int) x;
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("xreg",17, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 231: // freg ::= FREG
              {
                Integer RESULT =null;
      int fleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int fright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Object f = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       RESULT = (int) f;
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("freg",18, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 232: // id ::= ID
              {
                String RESULT =null;
      int idleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int idright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Object id = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       RESULT = (String) id;
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("id",21, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 233: // string ::= STRING
              {
                String RESULT =null;
      int sleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int sright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Object s = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       RESULT = (String) s;
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("string",20, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 234: // imm ::= INT
              {
                Integer RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       RESULT = (int) i;
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("imm",16, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 235: // imm ::= HEX
              {
                Integer RESULT =null;
      int hleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int hright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Object h = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       RESULT = (int) h;
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("imm",16, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 236: // imm ::= BIN
              {
                Integer RESULT =null;
      int bleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int bright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Object b = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       RESULT = (int) b;
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("imm",16, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 237: // imm ::= CHARACTER
              {
                Integer RESULT =null;
      int cleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int cright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Object c = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       RESULT = (int) ((char) c);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("imm",16, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 238: // fimm ::= FLOAT
              {
                Float RESULT =null;
      int fleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int fright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Object f = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       RESULT = (float) f;
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("fimm",19, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 239: // fimm ::= INT
              {
                Float RESULT =null;
      int ileft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int iright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Object i = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       RESULT = (float) ((int) i);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("fimm",19, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 240: // fimm ::= HEX
              {
                Float RESULT =null;
      int hleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int hright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Object h = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       RESULT = Float.intBitsToFloat((int) h);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("fimm",19, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 241: // fimm ::= BIN
              {
                Float RESULT =null;
      int bleft = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).left;
      int bright = ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()).right;
      Object b = (Object)((java_cup.runtime.Symbol) CUP$Parser$stack.peek()).value;
       RESULT = Float.intBitsToFloat((int) b);
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("fimm",19, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 242: // delimiter ::= COMMA
              {
                Object RESULT =null;
  
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("delimiter",14, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 243: // delimiter ::= epsilon
              {
                Object RESULT =null;
  
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("delimiter",14, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 244: // epsilon ::=
              {
                Object RESULT =null;
  
                CUP$Parser$result = parser.getSymbolFactory().newSymbol("epsilon",15, ((java_cup.runtime.Symbol)CUP$Parser$stack.peek()), RESULT);
              }
            return CUP$Parser$result;
  
            /* . . . . . .*/
            default:
              throw new Exception(
                 "Invalid action number "+CUP$Parser$act_num+"found in internal parse table");
  
          }
      } /* end of method */
  
    /** Method splitting the generated action code into several parts. */
    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
      {
                return CUP$Parser$do_action_part00000000(
                                 CUP$Parser$act_num,
                                 CUP$Parser$parser,
                                 CUP$Parser$stack,
                                 CUP$Parser$top);
      }
  }
  
  }
  