gt:           case 49: // B4 ::= A0 MAYOR A0 
context: 
  //----------------------------------------------------
  // The following code was generated by CUP v0.11b beta 20140220
  // Mon Sep 08 11:46:34 CEST 2014
  //----------------------------------------------------
  
  package sintaxis;
  
  import java_cup.runtime.*;
  import lexico.AnalizadorLexicoLPM;
  import lexico.UnidadLexica;
  import errores.ErrorDispatcher;
  import sabstracta.*;
  import tipos.*;
  import java.util.Vector;
  import java_cup.runtime.ComplexSymbolFactory.Location;
  
  /** CUP v0.11b beta 20140220 generated parser.
    * @version Mon Sep 08 11:46:34 CEST 2014
    */
  public class AnalizadorSintacticoLPM extends java_cup.runtime.lr_parser {
  
    /** Default constructor. */
    public AnalizadorSintacticoLPM() {super();}
  
    /** Constructor which sets the default scanner. */
    public AnalizadorSintacticoLPM(java_cup.runtime.Scanner s) {super(s);}
  
    /** Constructor which sets the default scanner. */
    public AnalizadorSintacticoLPM(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\130\000\002\002\007\000\002\002\004\000\002\003" +
      "\004\000\002\004\004\000\002\004\002\000\002\006\004" +
      "\000\002\006\002\000\002\010\004\000\002\010\002\000" +
      "\002\042\005\000\002\043\003\000\002\043\002\000\002" +
      "\040\003\000\002\040\005\000\002\041\003\000\002\041" +
      "\002\000\002\044\004\000\002\037\007\000\002\037\003" +
      "\000\002\036\003\000\002\036\003\000\002\036\003\000" +
      "\002\005\005\000\002\007\014\000\002\007\012\000\002" +
      "\011\005\000\002\025\003\000\002\025\005\000\002\026" +
      "\003\000\002\026\002\000\002\027\003\000\002\027\003" +
      "\000\002\027\003\000\002\027\003\000\002\027\003\000" +
      "\002\027\003\000\002\030\005\000\002\012\003\000\002" +
      "\016\005\000\002\016\003\000\002\017\005\000\002\017" +
      "\003\000\002\020\004\000\002\020\003\000\002\021\005" +
      "\000\002\021\005\000\002\021\003\000\002\022\005\000" +
      "\002\022\005\000\002\022\005\000\002\022\005\000\002" +
      "\022\003\000\002\013\005\000\002\013\005\000\002\013" +
      "\003\000\002\014\005\000\002\014\005\000\002\014\003" +
      "\000\002\015\004\000\002\015\004\000\002\015\003\000" +
      "\002\023\003\000\002\023\003\000\002\023\003\000\002" +
      "\023\003\000\002\023\005\000\002\024\003\000\002\024" +
      "\003\000\002\045\006\000\002\045\003\000\002\046\005" +
      "\000\002\046\003\000\002\047\003\000\002\032\007\000" +
      "\002\031\007\000\002\031\011\000\002\033\012\000\002" +
      "\050\006\000\002\050\010\000\002\051\005\000\002\051" +
      "\002\000\002\034\004\000\002\035\007\000\002\035\011" +
      "\000\002\052\003\000\002\052\005\000\002\053\003\000" +
      "\002\053\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\245\000\030\002\ufffd\004\ufffd\005\ufffd\007\ufffd\010" +
      "\ufffd\027\ufffd\032\ufffd\033\ufffd\036\ufffd\051\005\053\ufffd" +
      "\001\002\000\030\002\ufffd\004\ufffd\005\ufffd\007\ufffd\010" +
      "\ufffd\027\ufffd\032\ufffd\033\ufffd\036\ufffd\051\005\053\ufffd" +
      "\001\002\000\004\055\246\001\002\000\004\002\245\001" +
      "\002\000\026\002\ufffb\004\ufffb\005\ufffb\007\010\010\ufffb" +
      "\027\ufffb\032\ufffb\033\ufffb\036\ufffb\053\ufffb\001\002\000" +
      "\004\053\243\001\002\000\024\002\ufff6\004\ufff6\005\ufff6" +
      "\010\ufff6\027\ufff6\032\ufff6\033\ufff6\036\014\053\ufff6\001" +
      "\002\000\026\002\ufffb\004\ufffb\005\ufffb\007\010\010\ufffb" +
      "\027\ufffb\032\ufffb\033\ufffb\036\ufffb\053\ufffb\001\002\000" +
      "\024\002\ufffc\004\ufffc\005\ufffc\010\ufffc\027\ufffc\032\ufffc" +
      "\033\ufffc\036\ufffc\053\ufffc\001\002\000\012\006\027\046" +
      "\024\047\026\053\030\001\002\000\022\002\ufff7\004\ufff7" +
      "\005\ufff7\010\ufff7\027\ufff7\032\ufff7\033\ufff7\053\ufff7\001" +
      "\002\000\022\002\ufff9\004\ufff9\005\ufff9\010\021\027\ufff9" +
      "\032\ufff9\033\ufff9\053\ufff9\001\002\000\020\002\uffe4\004" +
      "\060\005\050\027\063\032\065\033\066\053\056\001\002" +
      "\000\024\002\ufff9\004\ufff9\005\ufff9\010\021\027\ufff9\032" +
      "\ufff9\033\ufff9\036\ufff9\053\ufff9\001\002\000\004\053\022" +
      "\001\002\000\004\034\023\001\002\000\014\006\027\035" +
      "\ufff2\046\024\047\026\053\030\001\002\000\016\006\uffee" +
      "\010\uffee\036\uffee\046\uffee\047\uffee\053\uffee\001\002\000" +
      "\004\053\235\001\002\000\016\006\uffed\010\uffed\036\uffed" +
      "\046\uffed\047\uffed\053\uffed\001\002\000\004\034\231\001" +
      "\002\000\016\006\uffec\010\uffec\036\uffec\046\uffec\047\uffec" +
      "\053\uffec\001\002\000\016\006\uffef\010\uffef\036\uffef\046" +
      "\uffef\047\uffef\053\uffef\001\002\000\010\010\ufff3\035\ufff3" +
      "\036\ufff3\001\002\000\004\035\037\001\002\000\014\010" +
      "\ufff5\035\ufff5\036\ufff5\037\ufff5\041\035\001\002\000\012" +
      "\006\027\046\024\047\026\053\030\001\002\000\012\010" +
      "\ufff4\035\ufff4\036\ufff4\037\ufff4\001\002\000\020\006\027" +
      "\010\ufff2\011\041\036\ufff2\046\024\047\026\053\030\001" +
      "\002\000\006\010\021\036\ufff9\001\002\000\012\006\027" +
      "\046\024\047\026\053\030\001\002\000\016\006\027\010" +
      "\ufff2\036\ufff2\046\024\047\026\053\030\001\002\000\006" +
      "\010\021\036\ufff9\001\002\000\004\036\045\001\002\000" +
      "\016\004\060\005\050\027\063\032\065\033\066\053\056" +
      "\001\002\000\024\002\uffea\004\uffea\005\uffea\010\uffea\027" +
      "\uffea\032\uffea\033\uffea\036\uffea\053\uffea\001\002\000\050" +
      "\002\uffbc\012\uffbc\013\225\017\uffbc\020\uffbc\021\uffbc\022" +
      "\uffbc\023\uffbc\024\uffbc\025\uffbc\034\uffbc\035\uffbc\037\uffbc" +
      "\040\uffbc\041\uffbc\042\uffbc\043\uffbc\044\uffbc\045\uffbc\001" +
      "\002\000\004\034\221\001\002\000\010\002\uffe7\037\uffe7" +
      "\041\217\001\002\000\006\012\215\034\131\001\002\000" +
      "\010\002\uffe0\037\uffe0\041\uffe0\001\002\000\010\002\uffde" +
      "\037\uffde\041\uffde\001\002\000\010\002\uffe1\037\uffe1\041" +
      "\uffe1\001\002\000\050\002\uffb9\012\uffb9\013\uffb9\017\uffb9" +
      "\020\uffb9\021\uffb9\022\uffb9\023\uffb9\024\uffb9\025\uffb9\034" +
      "\uffb9\035\uffb9\037\uffb9\040\uffb9\041\uffb9\042\uffb9\043\uffb9" +
      "\044\uffb9\045\uffb9\001\002\000\010\002\uffdf\037\uffdf\041" +
      "\uffdf\001\002\000\004\034\207\001\002\000\010\002\uffe2" +
      "\037\uffe2\041\uffe2\001\002\000\010\002\uffe3\037\uffe3\041" +
      "\uffe3\001\002\000\004\034\167\001\002\000\004\037\166" +
      "\001\002\000\024\014\101\015\112\016\100\034\111\042" +
      "\117\043\072\052\114\053\056\054\115\001\002\000\004" +
      "\053\070\001\002\000\050\002\uffba\012\uffba\013\uffba\017" +
      "\uffba\020\uffba\021\uffba\022\uffba\023\uffba\024\uffba\025\uffba" +
      "\034\uffba\035\uffba\037\uffba\040\uffba\041\uffba\042\uffba\043" +
      "\uffba\044\uffba\045\uffba\001\002\000\004\034\071\001\002" +
      "\000\026\014\101\015\112\016\100\034\111\035\uffaa\042" +
      "\117\043\072\052\114\053\056\054\115\001\002\000\022" +
      "\014\101\015\112\034\111\042\117\043\072\052\114\053" +
      "\056\054\115\001\002\000\042\002\uffc8\017\uffc8\020\uffc8" +
      "\021\uffc8\022\uffc8\023\uffc8\024\uffc8\025\uffc8\035\uffc8\037" +
      "\uffc8\040\uffc8\041\uffc8\042\uffc8\043\uffc8\044\uffc8\045\uffc8" +
      "\001\002\000\042\002\uffcb\017\uffcb\020\uffcb\021\uffcb\022" +
      "\uffcb\023\uffcb\024\uffcb\025\uffcb\035\uffcb\037\uffcb\040\uffcb" +
      "\041\uffcb\042\uffcb\043\uffcb\044\140\045\137\001\002\000" +
      "\036\002\uffce\017\uffce\020\uffce\021\151\022\153\023\150" +
      "\024\154\025\155\035\uffce\037\uffce\040\152\041\uffce\042" +
      "\133\043\135\001\002\000\042\002\uffc5\017\uffc5\020\uffc5" +
      "\021\uffc5\022\uffc5\023\uffc5\024\uffc5\025\uffc5\035\uffc5\037" +
      "\uffc5\040\uffc5\041\uffc5\042\uffc5\043\uffc5\044\uffc5\045\uffc5" +
      "\001\002\000\004\035\145\001\002\000\022\014\101\015" +
      "\112\034\111\042\117\043\072\052\114\053\056\054\115" +
      "\001\002\000\042\002\uffc2\017\uffc2\020\uffc2\021\uffc2\022" +
      "\uffc2\023\uffc2\024\uffc2\025\uffc2\035\uffc2\037\uffc2\040\uffc2" +
      "\041\uffc2\042\uffc2\043\uffc2\044\uffc2\045\uffc2\001\002\000" +
      "\016\002\uffd3\017\uffd3\020\uffd3\035\uffd3\037\uffd3\041\uffd3" +
      "\001\002\000\016\002\uffd6\017\uffd6\020\uffd6\035\uffd6\037" +
      "\uffd6\041\uffd6\001\002\000\004\035\uffab\001\002\000\016" +
      "\002\uffd8\017\uffd8\020\uffd8\035\uffd8\037\uffd8\041\uffd8\001" +
      "\002\000\016\002\uffda\017\127\020\uffda\035\uffda\037\uffda" +
      "\041\uffda\001\002\000\014\002\uffdc\020\125\035\uffdc\037" +
      "\uffdc\041\uffdc\001\002\000\044\002\uffc3\017\uffc3\020\uffc3" +
      "\021\uffc3\022\uffc3\023\uffc3\024\uffc3\025\uffc3\034\131\035" +
      "\uffc3\037\uffc3\040\uffc3\041\uffc3\042\uffc3\043\uffc3\044\uffc3" +
      "\045\uffc3\001\002\000\024\014\101\015\112\016\100\034" +
      "\111\042\117\043\072\052\114\053\056\054\115\001\002" +
      "\000\042\002\uffc1\017\uffc1\020\uffc1\021\uffc1\022\uffc1\023" +
      "\uffc1\024\uffc1\025\uffc1\035\uffc1\037\uffc1\040\uffc1\041\uffc1" +
      "\042\uffc1\043\uffc1\044\uffc1\045\uffc1\001\002\000\042\002" +
      "\uffc4\017\uffc4\020\uffc4\021\uffc4\022\uffc4\023\uffc4\024\uffc4" +
      "\025\uffc4\035\uffc4\037\uffc4\040\uffc4\041\uffc4\042\uffc4\043" +
      "\uffc4\044\uffc4\045\uffc4\001\002\000\044\002\uffbf\011\uffbf" +
      "\017\uffbf\020\uffbf\021\uffbf\022\uffbf\023\uffbf\024\uffbf\025" +
      "\uffbf\035\uffbf\037\uffbf\040\uffbf\041\uffbf\042\uffbf\043\uffbf" +
      "\044\uffbf\045\uffbf\001\002\000\044\002\uffbe\011\uffbe\017" +
      "\uffbe\020\uffbe\021\uffbe\022\uffbe\023\uffbe\024\uffbe\025\uffbe" +
      "\035\uffbe\037\uffbe\040\uffbe\041\uffbe\042\uffbe\043\uffbe\044" +
      "\uffbe\045\uffbe\001\002\000\006\035\uffad\041\121\001\002" +
      "\000\022\014\101\015\112\034\111\042\117\043\072\052" +
      "\114\053\056\054\115\001\002\000\042\002\uffc6\017\uffc6" +
      "\020\uffc6\021\uffc6\022\uffc6\023\uffc6\024\uffc6\025\uffc6\035" +
      "\uffc6\037\uffc6\040\uffc6\041\uffc6\042\uffc6\043\uffc6\044\uffc6" +
      "\045\uffc6\001\002\000\024\014\101\015\112\016\100\034" +
      "\111\042\117\043\072\052\114\053\056\054\115\001\002" +
      "\000\004\035\uffac\001\002\000\006\020\125\035\124\001" +
      "\002\000\042\002\uffc0\017\uffc0\020\uffc0\021\uffc0\022\uffc0" +
      "\023\uffc0\024\uffc0\025\uffc0\035\uffc0\037\uffc0\040\uffc0\041" +
      "\uffc0\042\uffc0\043\uffc0\044\uffc0\045\uffc0\001\002\000\024" +
      "\014\101\015\112\016\100\034\111\042\117\043\072\052" +
      "\114\053\056\054\115\001\002\000\016\002\uffdb\017\127" +
      "\020\uffdb\035\uffdb\037\uffdb\041\uffdb\001\002\000\024\014" +
      "\101\015\112\016\100\034\111\042\117\043\072\052\114" +
      "\053\056\054\115\001\002\000\016\002\uffd9\017\uffd9\020" +
      "\uffd9\035\uffd9\037\uffd9\041\uffd9\001\002\000\022\014\101" +
      "\015\112\034\111\042\117\043\072\052\114\053\056\054" +
      "\115\001\002\000\010\035\134\042\133\043\135\001\002" +
      "\000\022\014\101\015\112\034\111\042\117\043\072\052" +
      "\114\053\056\054\115\001\002\000\046\002\uffbd\012\uffbd" +
      "\017\uffbd\020\uffbd\021\uffbd\022\uffbd\023\uffbd\024\uffbd\025" +
      "\uffbd\034\uffbd\035\uffbd\037\uffbd\040\uffbd\041\uffbd\042\uffbd" +
      "\043\uffbd\044\uffbd\045\uffbd\001\002\000\022\014\101\015" +
      "\112\034\111\042\117\043\072\052\114\053\056\054\115" +
      "\001\002\000\042\002\uffcc\017\uffcc\020\uffcc\021\uffcc\022" +
      "\uffcc\023\uffcc\024\uffcc\025\uffcc\035\uffcc\037\uffcc\040\uffcc" +
      "\041\uffcc\042\uffcc\043\uffcc\044\140\045\137\001\002\000" +
      "\022\014\101\015\112\034\111\042\117\043\072\052\114" +
      "\053\056\054\115\001\002\000\022\014\101\015\112\034" +
      "\111\042\117\043\072\052\114\053\056\054\115\001\002" +
      "\000\042\002\uffca\017\uffca\020\uffca\021\uffca\022\uffca\023" +
      "\uffca\024\uffca\025\uffca\035\uffca\037\uffca\040\uffca\041\uffca" +
      "\042\uffca\043\uffca\044\uffca\045\uffca\001\002\000\042\002" +
      "\uffc9\017\uffc9\020\uffc9\021\uffc9\022\uffc9\023\uffc9\024\uffc9" +
      "\025\uffc9\035\uffc9\037\uffc9\040\uffc9\041\uffc9\042\uffc9\043" +
      "\uffc9\044\uffc9\045\uffc9\001\002\000\042\002\uffcd\017\uffcd" +
      "\020\uffcd\021\uffcd\022\uffcd\023\uffcd\024\uffcd\025\uffcd\035" +
      "\uffcd\037\uffcd\040\uffcd\041\uffcd\042\uffcd\043\uffcd\044\140" +
      "\045\137\001\002\000\016\002\uffd7\017\uffd7\020\uffd7\035" +
      "\uffd7\037\uffd7\041\uffd7\001\002\000\012\002\uffaf\037\uffaf" +
      "\041\uffaf\050\146\001\002\000\004\053\056\001\002\000" +
      "\012\002\uffae\034\131\037\uffae\041\uffae\001\002\000\022" +
      "\014\101\015\112\034\111\042\117\043\072\052\114\053" +
      "\056\054\115\001\002\000\022\014\101\015\112\034\111" +
      "\042\117\043\072\052\114\053\056\054\115\001\002\000" +
      "\022\014\101\015\112\034\111\042\117\043\072\052\114" +
      "\053\056\054\115\001\002\000\022\014\101\015\112\034" +
      "\111\042\117\043\072\052\114\053\056\054\115\001\002" +
      "\000\022\014\101\015\112\034\111\042\117\043\072\052" +
      "\114\053\056\054\115\001\002\000\022\014\101\015\112" +
      "\034\111\042\117\043\072\052\114\053\056\054\115\001" +
      "\002\000\022\002\uffd4\017\uffd4\020\uffd4\035\uffd4\037\uffd4" +
      "\041\uffd4\042\133\043\135\001\002\000\022\002\uffd0\017" +
      "\uffd0\020\uffd0\035\uffd0\037\uffd0\041\uffd0\042\133\043\135" +
      "\001\002\000\022\002\uffd2\017\uffd2\020\uffd2\035\uffd2\037" +
      "\uffd2\041\uffd2\042\133\043\135\001\002\000\022\002\uffd5" +
      "\017\uffd5\020\uffd5\035\uffd5\037\uffd5\041\uffd5\042\133\043" +
      "\135\001\002\000\022\002\uffd1\017\uffd1\020\uffd1\035\uffd1" +
      "\037\uffd1\041\uffd1\042\133\043\135\001\002\000\022\002" +
      "\uffcf\017\uffcf\020\uffcf\035\uffcf\037\uffcf\041\uffcf\042\133" +
      "\043\135\001\002\000\042\002\uffc7\017\uffc7\020\uffc7\021" +
      "\uffc7\022\uffc7\023\uffc7\024\uffc7\025\uffc7\035\uffc7\037\uffc7" +
      "\040\uffc7\041\uffc7\042\uffc7\043\uffc7\044\uffc7\045\uffc7\001" +
      "\002\000\010\002\uffb0\037\uffb0\041\uffb0\001\002\000\034" +
      "\002\uffe8\004\uffe8\005\uffe8\010\uffe8\026\uffe8\027\uffe8\031" +
      "\uffe8\032\uffe8\033\uffe8\036\uffe8\037\uffe8\041\uffe8\053\uffe8" +
      "\001\002\000\004\053\056\001\002\000\006\034\131\035" +
      "\171\001\002\000\004\036\172\001\002\000\004\030\174" +
      "\001\002\000\006\031\202\037\uffb1\001\002\000\006\052" +
      "\114\054\115\001\002\000\004\011\176\001\002\000\004" +
      "\036\045\001\002\000\010\031\uffb4\037\uffb4\041\200\001" +
      "\002\000\004\030\174\001\002\000\006\031\uffb3\037\uffb3" +
      "\001\002\000\004\011\205\001\002\000\004\037\204\001" +
      "\002\000\010\002\uffb5\037\uffb5\041\uffb5\001\002\000\004" +
      "\036\045\001\002\000\004\037\uffb2\001\002\000\024\014" +
      "\101\015\112\016\100\034\111\042\117\043\072\052\114" +
      "\053\056\054\115\001\002\000\006\020\125\035\211\001" +
      "\002\000\004\036\045\001\002\000\012\002\uffb7\026\213" +
      "\037\uffb7\041\uffb7\001\002\000\004\036\045\001\002\000" +
      "\010\002\uffb6\037\uffb6\041\uffb6\001\002\000\024\014\101" +
      "\015\112\016\100\034\111\042\117\043\072\052\114\053" +
      "\056\054\115\001\002\000\010\002\uffdd\037\uffdd\041\uffdd" +
      "\001\002\000\016\004\060\005\050\027\063\032\065\033" +
      "\066\053\056\001\002\000\006\002\uffe6\037\uffe6\001\002" +
      "\000\024\014\101\015\112\016\100\034\111\042\117\043" +
      "\072\052\114\053\056\054\115\001\002\000\006\020\125" +
      "\035\223\001\002\000\004\036\045\001\002\000\010\002" +
      "\uffb8\037\uffb8\041\uffb8\001\002\000\004\053\056\001\002" +
      "\000\050\002\uffbb\012\uffbb\013\uffbb\017\uffbb\020\uffbb\021" +
      "\uffbb\022\uffbb\023\uffbb\024\uffbb\025\uffbb\034\uffbb\035\uffbb" +
      "\037\uffbb\040\uffbb\041\uffbb\042\uffbb\043\uffbb\044\uffbb\045" +
      "\uffbb\001\002\000\004\036\045\001\002\000\024\002\uffe9" +
      "\004\uffe9\005\uffe9\010\uffe9\027\uffe9\032\uffe9\033\uffe9\036" +
      "\uffe9\053\uffe9\001\002\000\004\052\232\001\002\000\004" +
      "\035\233\001\002\000\012\006\027\046\024\047\026\053" +
      "\030\001\002\000\016\006\ufff0\010\ufff0\036\ufff0\046\ufff0" +
      "\047\ufff0\053\ufff0\001\002\000\014\010\ufff1\035\ufff1\036" +
      "\ufff1\037\ufff1\041\ufff1\001\002\000\022\002\ufffa\004\ufffa" +
      "\005\ufffa\027\ufffa\032\ufffa\033\ufffa\036\ufffa\053\ufffa\001" +
      "\002\000\004\002\001\001\002\000\004\002\uffe5\001\002" +
      "\000\004\037\242\001\002\000\026\002\ufff8\004\ufff8\005" +
      "\ufff8\007\ufff8\010\ufff8\027\ufff8\032\ufff8\033\ufff8\036\ufff8" +
      "\053\ufff8\001\002\000\004\036\014\001\002\000\026\002" +
      "\uffeb\004\uffeb\005\uffeb\007\uffeb\010\uffeb\027\uffeb\032\uffeb" +
      "\033\uffeb\036\uffeb\053\uffeb\001\002\000\004\002\000\001" +
      "\002\000\030\002\uffff\004\uffff\005\uffff\007\uffff\010\uffff" +
      "\027\uffff\032\uffff\033\uffff\036\uffff\051\uffff\053\uffff\001" +
      "\002\000\026\002\ufffe\004\ufffe\005\ufffe\007\ufffe\010\ufffe" +
      "\027\ufffe\032\ufffe\033\ufffe\036\ufffe\053\ufffe\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\245\000\010\002\005\003\003\004\006\001\001\000" +
      "\006\003\003\004\246\001\001\000\002\001\001\000\002" +
      "\001\001\000\006\005\011\006\010\001\001\000\002\001" +
      "\001\000\006\042\014\043\015\001\001\000\006\005\011" +
      "\006\012\001\001\000\002\001\001\000\012\036\030\037" +
      "\024\040\240\044\033\001\001\000\002\001\001\000\006" +
      "\007\017\010\016\001\001\000\032\025\237\026\236\027" +
      "\050\030\061\031\060\032\054\033\052\034\056\035\053" +
      "\045\051\046\046\047\066\001\001\000\006\007\017\010" +
      "\235\001\001\000\002\001\001\000\002\001\001\000\014" +
      "\036\030\037\024\040\031\041\032\044\033\001\001\000" +
      "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
      "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
      "\001\000\002\001\001\000\002\001\001\000\012\036\030" +
      "\037\024\040\035\044\033\001\001\000\002\001\001\000" +
      "\014\036\030\037\024\040\031\041\037\044\033\001\001" +
      "\000\006\007\017\010\226\001\001\000\006\036\030\037" +
      "\041\001\001\000\014\036\030\037\024\040\031\041\042" +
      "\044\033\001\001\000\006\007\017\010\043\001\001\000" +
      "\004\011\045\001\001\000\030\025\063\027\050\030\061" +
      "\031\060\032\054\033\052\034\056\035\053\045\051\046" +
      "\046\047\066\001\001\000\002\001\001\000\002\001\001" +
      "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
      "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
      "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
      "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
      "\000\036\012\164\013\074\014\073\015\072\016\106\017" +
      "\105\020\104\021\102\022\101\023\075\024\112\045\107" +
      "\046\046\047\066\001\001\000\002\001\001\000\002\001" +
      "\001\000\002\001\001\000\042\012\115\013\074\014\073" +
      "\015\072\016\106\017\105\020\104\021\102\022\101\023" +
      "\075\024\112\045\107\046\046\047\066\052\103\053\076" +
      "\001\001\000\016\015\163\023\075\024\112\045\107\046" +
      "\046\047\066\001\001\000\002\001\001\000\002\001\001" +
      "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
      "\026\013\074\014\073\015\072\021\143\022\101\023\075" +
      "\024\112\045\107\046\046\047\066\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\034\013\074\014\073\015\072\016\122" +
      "\017\105\020\104\021\102\022\101\023\075\024\112\045" +
      "\107\046\046\047\066\001\001\000\002\001\001\000\002" +
      "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
      "\001\000\016\015\117\023\075\024\112\045\107\046\046" +
      "\047\066\001\001\000\002\001\001\000\040\012\115\013" +
      "\074\014\073\015\072\016\106\017\105\020\104\021\102" +
      "\022\101\023\075\024\112\045\107\046\046\047\066\052" +
      "\121\001\001\000\002\001\001\000\002\001\001\000\002" +
      "\001\001\000\032\013\074\014\073\015\072\017\125\020" +
      "\104\021\102\022\101\023\075\024\112\045\107\046\046" +
      "\047\066\001\001\000\002\001\001\000\030\013\074\014" +
      "\073\015\072\020\127\021\102\022\101\023\075\024\112" +
      "\045\107\046\046\047\066\001\001\000\002\001\001\000" +
      "\022\013\131\014\073\015\072\023\075\024\112\045\107" +
      "\046\046\047\066\001\001\000\002\001\001\000\020\014" +
      "\142\015\072\023\075\024\112\045\107\046\046\047\066" +
      "\001\001\000\002\001\001\000\020\014\135\015\072\023" +
      "\075\024\112\045\107\046\046\047\066\001\001\000\002" +
      "\001\001\000\016\015\141\023\075\024\112\045\107\046" +
      "\046\047\066\001\001\000\016\015\140\023\075\024\112" +
      "\045\107\046\046\047\066\001\001\000\002\001\001\000" +
      "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
      "\001\001\000\010\045\146\046\046\047\066\001\001\000" +
      "\002\001\001\000\022\013\162\014\073\015\072\023\075" +
      "\024\112\045\107\046\046\047\066\001\001\000\022\013" +
      "\161\014\073\015\072\023\075\024\112\045\107\046\046" +
      "\047\066\001\001\000\022\013\160\014\073\015\072\023" +
      "\075\024\112\045\107\046\046\047\066\001\001\000\022" +
      "\013\157\014\073\015\072\023\075\024\112\045\107\046" +
      "\046\047\066\001\001\000\022\013\156\014\073\015\072" +
      "\023\075\024\112\045\107\046\046\047\066\001\001\000" +
      "\022\013\155\014\073\015\072\023\075\024\112\045\107" +
      "\046\046\047\066\001\001\000\002\001\001\000\002\001" +
      "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
      "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
      "\002\001\001\000\010\045\167\046\046\047\066\001\001" +
      "\000\002\001\001\000\002\001\001\000\004\050\172\001" +
      "\001\000\004\051\202\001\001\000\004\024\174\001\001" +
      "\000\002\001\001\000\004\011\176\001\001\000\002\001" +
      "\001\000\004\050\200\001\001\000\002\001\001\000\002" +
      "\001\001\000\002\001\001\000\002\001\001\000\004\011" +
      "\205\001\001\000\002\001\001\000\034\013\074\014\073" +
      "\015\072\016\207\017\105\020\104\021\102\022\101\023" +
      "\075\024\112\045\107\046\046\047\066\001\001\000\002" +
      "\001\001\000\004\011\211\001\001\000\002\001\001\000" +
      "\004\011\213\001\001\000\002\001\001\000\036\012\215" +
      "\013\074\014\073\015\072\016\106\017\105\020\104\021" +
      "\102\022\101\023\075\024\112\045\107\046\046\047\066" +
      "\001\001\000\002\001\001\000\030\025\217\027\050\030" +
      "\061\031\060\032\054\033\052\034\056\035\053\045\051" +
      "\046\046\047\066\001\001\000\002\001\001\000\034\013" +
      "\074\014\073\015\072\016\221\017\105\020\104\021\102" +
      "\022\101\023\075\024\112\045\107\046\046\047\066\001" +
      "\001\000\002\001\001\000\004\011\223\001\001\000\002" +
      "\001\001\000\004\047\225\001\001\000\002\001\001\000" +
      "\004\011\227\001\001\000\002\001\001\000\002\001\001" +
      "\000\002\001\001\000\006\036\030\037\233\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\042\243\001\001\000\002\001\001\000\002" +
      "\001\001\000\002\001\001\000\002\001\001" });
  
    /** Access to <code>reduce_goto</code> table. */
    public short[][] reduce_table() {return _reduce_table;}
  
    /** Instance of action encapsulation class. */
    protected CUP$AnalizadorSintacticoLPM$actions action_obj;
  
    /** Action encapsulation object initializer. */
    protected void init_actions()
      {
        action_obj = new CUP$AnalizadorSintacticoLPM$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$AnalizadorSintacticoLPM$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;}
  
  
    /** User initialization code. */
    public void user_init() throws java.lang.Exception
      {
   
     analizadorLexico = (AnalizadorLexicoLPM)getScanner();
  
      }
  
    /** Scan to get the next Symbol. */
    public java_cup.runtime.Symbol scan()
      throws java.lang.Exception
      {
   return getScanner().next_token(); 
      }
  
  
     protected AnalizadorLexicoLPM analizadorLexico;
     public void syntax_error(Symbol unidadLexica) {
       ErrorDispatcher.getInstance().sendSyntaxError((UnidadLexica)unidadLexica);
     }
  
  }
  
  /** Cup generated class to encapsulate user supplied action code.*/
  class CUP$AnalizadorSintacticoLPM$actions {
    private final AnalizadorSintacticoLPM parser;
  
    /** Constructor */
    CUP$AnalizadorSintacticoLPM$actions(AnalizadorSintacticoLPM parser) {
      this.parser = parser;
    }
  
    /** Method 0 with the actual generated action code for actions 0 to 300. */
    public final java_cup.runtime.Symbol CUP$AnalizadorSintacticoLPM$do_action_part00000000(
      int                        CUP$AnalizadorSintacticoLPM$act_num,
      java_cup.runtime.lr_parser CUP$AnalizadorSintacticoLPM$parser,
      java.util.Stack            CUP$AnalizadorSintacticoLPM$stack,
      int                        CUP$AnalizadorSintacticoLPM$top)
      throws java.lang.Exception
      {
        /* Symbol object for return from actions */
        java_cup.runtime.Symbol CUP$AnalizadorSintacticoLPM$result;
  
        /* select the action based on the action number */
        switch (CUP$AnalizadorSintacticoLPM$act_num)
          {
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 0: // S ::= SECUENCIAIMPORT SECUENCIAREG BLOQUEDEFOPT SECUENCIAFUN SECUENCIAOPT 
              {
                Programa RESULT =null;
  		Vector<Import> _simp = (Vector<Import>)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.elementAt(CUP$AnalizadorSintacticoLPM$top-4)).value;
  		Vector<Registro> _sreg = (Vector<Registro>)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.elementAt(CUP$AnalizadorSintacticoLPM$top-3)).value;
  		Vector<Definicion> _sdef = (Vector<Definicion>)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.elementAt(CUP$AnalizadorSintacticoLPM$top-2)).value;
  		Vector<Funcion> _sfun = (Vector<Funcion>)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.elementAt(CUP$AnalizadorSintacticoLPM$top-1)).value;
  		Vector<Instruccion> _sinst = (Vector<Instruccion>)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.peek()).value;
  		 RESULT = new Programa(_simp,_sreg,_sfun,_sdef,_sinst); 
                CUP$AnalizadorSintacticoLPM$result = parser.getSymbolFactory().newSymbol("S",0, RESULT);
              }
            return CUP$AnalizadorSintacticoLPM$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 1: // $START ::= S EOF 
              {
                Object RESULT =null;
  		Programa start_val = (Programa)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.elementAt(CUP$AnalizadorSintacticoLPM$top-1)).value;
  		RESULT = start_val;
                CUP$AnalizadorSintacticoLPM$result = parser.getSymbolFactory().newSymbol("$START",0, RESULT);
              }
            /* ACCEPT */
            CUP$AnalizadorSintacticoLPM$parser.done_parsing();
            return CUP$AnalizadorSintacticoLPM$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 2: // IMPORTSTM ::= IMPORT CADENA 
              {
                Import RESULT =null;
  		String _cad = (String)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.peek()).value;
  		
  		RESULT = new Import(_cad);
  		RESULT.setFila(parser.analizadorLexico.fila()); 
                CUP$AnalizadorSintacticoLPM$result = parser.getSymbolFactory().newSymbol("IMPORTSTM",1, RESULT);
              }
            return CUP$AnalizadorSintacticoLPM$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 3: // SECUENCIAIMPORT ::= IMPORTSTM SECUENCIAIMPORT 
              {
                Vector<Import> RESULT =null;
  		Import _imp = (Import)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.elementAt(CUP$AnalizadorSintacticoLPM$top-1)).value;
  		Vector<Import> _simp = (Vector<Import>)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.peek()).value;
  		 _simp.add(0,_imp); RESULT=_simp; 
                CUP$AnalizadorSintacticoLPM$result = parser.getSymbolFactory().newSymbol("SECUENCIAIMPORT",2, RESULT);
              }
            return CUP$AnalizadorSintacticoLPM$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 4: // SECUENCIAIMPORT ::= 
              {
                Vector<Import> RESULT =null;
  		RESULT = new Vector<Import>(); 
                CUP$AnalizadorSintacticoLPM$result = parser.getSymbolFactory().newSymbol("SECUENCIAIMPORT",2, RESULT);
              }
            return CUP$AnalizadorSintacticoLPM$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 5: // SECUENCIAREG ::= REGISTRO SECUENCIAREG 
              {
                Vector<Registro> RESULT =null;
  		Registro _reg = (Registro)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.elementAt(CUP$AnalizadorSintacticoLPM$top-1)).value;
  		Vector<Registro> _sreg = (Vector<Registro>)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.peek()).value;
  		 _sreg.add(0,_reg); RESULT=_sreg; 
                CUP$AnalizadorSintacticoLPM$result = parser.getSymbolFactory().newSymbol("SECUENCIAREG",4, RESULT);
              }
            return CUP$AnalizadorSintacticoLPM$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 6: // SECUENCIAREG ::= 
              {
                Vector<Registro> RESULT =null;
  		 RESULT = new Vector<Registro>(); 
                CUP$AnalizadorSintacticoLPM$result = parser.getSymbolFactory().newSymbol("SECUENCIAREG",4, RESULT);
              }
            return CUP$AnalizadorSintacticoLPM$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 7: // SECUENCIAFUN ::= FUNCION SECUENCIAFUN 
              {
                Vector<Funcion> RESULT =null;
  		Funcion _fun = (Funcion)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.elementAt(CUP$AnalizadorSintacticoLPM$top-1)).value;
  		Vector<Funcion> _sfun = (Vector<Funcion>)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.peek()).value;
  		 _sfun.add(0,_fun); RESULT=_sfun; 
                CUP$AnalizadorSintacticoLPM$result = parser.getSymbolFactory().newSymbol("SECUENCIAFUN",6, RESULT);
              }
            return CUP$AnalizadorSintacticoLPM$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 8: // SECUENCIAFUN ::= 
              {
                Vector<Funcion> RESULT =null;
  		 RESULT = new Vector<Funcion>(); 
                CUP$AnalizadorSintacticoLPM$result = parser.getSymbolFactory().newSymbol("SECUENCIAFUN",6, RESULT);
              }
            return CUP$AnalizadorSintacticoLPM$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 9: // BLOQUEDEF ::= CA SECUENCIADEF CC 
              {
                Vector<Definicion> RESULT =null;
  		Vector<Definicion> _sdef = (Vector<Definicion>)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.elementAt(CUP$AnalizadorSintacticoLPM$top-1)).value;
  		 	
  		RESULT = _sdef;
  	 
                CUP$AnalizadorSintacticoLPM$result = parser.getSymbolFactory().newSymbol("BLOQUEDEF",32, RESULT);
              }
            return CUP$AnalizadorSintacticoLPM$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 10: // BLOQUEDEFOPT ::= BLOQUEDEF 
              {
                Vector<Definicion> RESULT =null;
  		Vector<Definicion> _sdef = (Vector<Definicion>)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.peek()).value;
  		 RESULT = _sdef; 
                CUP$AnalizadorSintacticoLPM$result = parser.getSymbolFactory().newSymbol("BLOQUEDEFOPT",33, RESULT);
              }
            return CUP$AnalizadorSintacticoLPM$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 11: // BLOQUEDEFOPT ::= 
              {
                Vector<Definicion> RESULT =null;
  		 RESULT = new Vector<Definicion>(); 
                CUP$AnalizadorSintacticoLPM$result = parser.getSymbolFactory().newSymbol("BLOQUEDEFOPT",33, RESULT);
              }
            return CUP$AnalizadorSintacticoLPM$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 12: // SECUENCIADEF ::= DEF 
              {
                Vector<Definicion> RESULT =null;
  		Definicion _def = (Definicion)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.peek()).value;
  		 RESULT = new Vector<Definicion>(); RESULT.add(_def); 
                CUP$AnalizadorSintacticoLPM$result = parser.getSymbolFactory().newSymbol("SECUENCIADEF",30, RESULT);
              }
            return CUP$AnalizadorSintacticoLPM$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 13: // SECUENCIADEF ::= DEF COMA SECUENCIADEF 
              {
                Vector<Definicion> RESULT =null;
  		Definicion _def = (Definicion)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.elementAt(CUP$AnalizadorSintacticoLPM$top-2)).value;
  		Vector<Definicion> _sdef = (Vector<Definicion>)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.peek()).value;
  		 _sdef.add(0,_def); RESULT=_sdef; 
                CUP$AnalizadorSintacticoLPM$result = parser.getSymbolFactory().newSymbol("SECUENCIADEF",30, RESULT);
              }
            return CUP$AnalizadorSintacticoLPM$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 14: // SECUENCIADEFOPT ::= SECUENCIADEF 
              {
                Vector<Definicion> RESULT =null;
  		Vector<Definicion> _sdef = (Vector<Definicion>)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.peek()).value;
  		 RESULT = _sdef; 
                CUP$AnalizadorSintacticoLPM$result = parser.getSymbolFactory().newSymbol("SECUENCIADEFOPT",31, RESULT);
              }
            return CUP$AnalizadorSintacticoLPM$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 15: // SECUENCIADEFOPT ::= 
              {
                Vector<Definicion> RESULT =null;
  		 RESULT = new Vector<Definicion>(); 
                CUP$AnalizadorSintacticoLPM$result = parser.getSymbolFactory().newSymbol("SECUENCIADEFOPT",31, RESULT);
              }
            return CUP$AnalizadorSintacticoLPM$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 16: // DEF ::= ARRAYL IDEN 
              {
                Definicion RESULT =null;
  		Tipo _array = (Tipo)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.elementAt(CUP$AnalizadorSintacticoLPM$top-1)).value;
  		String _iden = (String)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.peek()).value;
  		 	
  		RESULT = new Definicion(_iden,_array);
  		RESULT.setFila(parser.analizadorLexico.fila());
  	
                CUP$AnalizadorSintacticoLPM$result = parser.getSymbolFactory().newSymbol("DEF",34, RESULT);
              }
            return CUP$AnalizadorSintacticoLPM$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 17: // ARRAYL ::= ARRAY PAP NP PCIERRE ARRAYL 
              {
                Tipo RESULT =null;
  		String _n = (String)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.elementAt(CUP$AnalizadorSintacticoLPM$top-2)).value;
  		Tipo _sig = (Tipo)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.peek()).value;
  		
  		RESULT = new TipoArray(_sig,Integer.parseInt(_n));
  	
                CUP$AnalizadorSintacticoLPM$result = parser.getSymbolFactory().newSymbol("ARRAYL",29, RESULT);
              }
            return CUP$AnalizadorSintacticoLPM$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 18: // ARRAYL ::= TIPOF 
              {
                Tipo RESULT =null;
  		Tipo _t = (Tipo)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.peek()).value;
  		 RESULT = _t; 
                CUP$AnalizadorSintacticoLPM$result = parser.getSymbolFactory().newSymbol("ARRAYL",29, RESULT);
              }
            return CUP$AnalizadorSintacticoLPM$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 19: // TIPOF ::= INT 
              {
                Tipo RESULT =null;
  		 RESULT = TipoBasico.INT; 
                CUP$AnalizadorSintacticoLPM$result = parser.getSymbolFactory().newSymbol("TIPOF",28, RESULT);
              }
            return CUP$AnalizadorSintacticoLPM$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 20: // TIPOF ::= BOOL 
              {
                Tipo RESULT =null;
  		 RESULT = TipoBasico.BOOL; 
                CUP$AnalizadorSintacticoLPM$result = parser.getSymbolFactory().newSymbol("TIPOF",28, RESULT);
              }
            return CUP$AnalizadorSintacticoLPM$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 21: // TIPOF ::= IDEN 
              {
                Tipo RESULT =null;
  		String _iden = (String)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.peek()).value;
  		 RESULT = new TipoComplejo(_iden); 
                CUP$AnalizadorSintacticoLPM$result = parser.getSymbolFactory().newSymbol("TIPOF",28, RESULT);
              }
            return CUP$AnalizadorSintacticoLPM$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 22: // REGISTRO ::= REG IDEN BLOQUEDEF 
              {
                Registro RESULT =null;
  		String _iden = (String)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.elementAt(CUP$AnalizadorSintacticoLPM$top-1)).value;
  		Vector<Definicion> _defs = (Vector<Definicion>)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.peek()).value;
  		 	
  		RESULT = new Registro(_iden,_defs);
  		RESULT.setFila(parser.analizadorLexico.fila());
  	 
                CUP$AnalizadorSintacticoLPM$result = parser.getSymbolFactory().newSymbol("REGISTRO",3, RESULT);
              }
            return CUP$AnalizadorSintacticoLPM$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 23: // FUNCION ::= FUN IDEN PAP SECUENCIADEFOPT PCIERRE DP ARRAYL SECUENCIADEFOPT SECUENCIAFUN BLOQUE 
              {
                Funcion RESULT =null;
  		String _iden = (String)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.elementAt(CUP$AnalizadorSintacticoLPM$top-8)).value;
  		Vector<Definicion> _sarg = (Vector<Definicion>)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.elementAt(CUP$AnalizadorSintacticoLPM$top-6)).value;
  		Tipo _ret = (Tipo)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.elementAt(CUP$AnalizadorSintacticoLPM$top-3)).value;
  		Vector<Definicion> _sdef = (Vector<Definicion>)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.elementAt(CUP$AnalizadorSintacticoLPM$top-2)).value;
  		Vector<Funcion> _sfun = (Vector<Funcion>)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.elementAt(CUP$AnalizadorSintacticoLPM$top-1)).value;
  		Bloque _bloque = (Bloque)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.peek()).value;
  		 	
  		RESULT = new Funcion(_iden,_sarg,_ret,_sfun,_sdef,_bloque);
  		RESULT.setFila(parser.analizadorLexico.fila());
  	 
                CUP$AnalizadorSintacticoLPM$result = parser.getSymbolFactory().newSymbol("FUNCION",5, RESULT);
              }
            return CUP$AnalizadorSintacticoLPM$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 24: // FUNCION ::= FUN IDEN PAP SECUENCIADEFOPT PCIERRE SECUENCIADEFOPT SECUENCIAFUN BLOQUE 
              {
                Funcion RESULT =null;
  		String _iden = (String)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.elementAt(CUP$AnalizadorSintacticoLPM$top-6)).value;
  		Vector<Definicion> _sarg = (Vector<Definicion>)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.elementAt(CUP$AnalizadorSintacticoLPM$top-4)).value;
  		Vector<Definicion> _sdef = (Vector<Definicion>)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.elementAt(CUP$AnalizadorSintacticoLPM$top-2)).value;
  		Vector<Funcion> _sfun = (Vector<Funcion>)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.elementAt(CUP$AnalizadorSintacticoLPM$top-1)).value;
  		Bloque _bloque = (Bloque)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.peek()).value;
  		 	
  		RESULT = new Funcion(_iden,_sarg,TipoBasico.VOID,_sfun,_sdef,_bloque);
  		RESULT.setFila(parser.analizadorLexico.fila());
  	 
                CUP$AnalizadorSintacticoLPM$result = parser.getSymbolFactory().newSymbol("FUNCION",5, RESULT);
              }
            return CUP$AnalizadorSintacticoLPM$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 25: // BLOQUE ::= CA SECUENCIA CC 
              {
                Bloque RESULT =null;
  		Vector<Instruccion> _seq = (Vector<Instruccion>)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.elementAt(CUP$AnalizadorSintacticoLPM$top-1)).value;
  		 RESULT = new Bloque(_seq);
  		RESULT.setFila(parser.analizadorLexico.fila()); 
                CUP$AnalizadorSintacticoLPM$result = parser.getSymbolFactory().newSymbol("BLOQUE",7, RESULT);
              }
            return CUP$AnalizadorSintacticoLPM$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 26: // SECUENCIA ::= INSTRUCCION 
              {
                Vector<Instruccion> RESULT =null;
  		Instruccion _inst = (Instruccion)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.peek()).value;
  		 
  		RESULT = new Vector<Instruccion>();
  		RESULT.add(_inst);
  	 
                CUP$AnalizadorSintacticoLPM$result = parser.getSymbolFactory().newSymbol("SECUENCIA",19, RESULT);
              }
            return CUP$AnalizadorSintacticoLPM$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 27: // SECUENCIA ::= INSTRUCCION COMA SECUENCIA 
              {
                Vector<Instruccion> RESULT =null;
  		Instruccion _inst = (Instruccion)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.elementAt(CUP$AnalizadorSintacticoLPM$top-2)).value;
  		Vector<Instruccion> _sec = (Vector<Instruccion>)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.peek()).value;
  		 
  		_sec.add(0,_inst);
  		RESULT = _sec; 
  	
                CUP$AnalizadorSintacticoLPM$result = parser.getSymbolFactory().newSymbol("SECUENCIA",19, RESULT);
              }
            return CUP$AnalizadorSintacticoLPM$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 28: // SECUENCIAOPT ::= SECUENCIA 
              {
                Vector<Instruccion> RESULT =null;
  		Vector<Instruccion> _sdef = (Vector<Instruccion>)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.peek()).value;
  		 RESULT = _sdef; 
                CUP$AnalizadorSintacticoLPM$result = parser.getSymbolFactory().newSymbol("SECUENCIAOPT",20, RESULT);
              }
            return CUP$AnalizadorSintacticoLPM$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 29: // SECUENCIAOPT ::= 
              {
                Vector<Instruccion> RESULT =null;
  		 RESULT = new Vector<Instruccion>(); 
                CUP$AnalizadorSintacticoLPM$result = parser.getSymbolFactory().newSymbol("SECUENCIAOPT",20, RESULT);
              }
            return CUP$AnalizadorSintacticoLPM$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 30: // INSTRUCCION ::= ASIGNACION 
              {
                Instruccion RESULT =null;
  		Instruccion _inst = (Instruccion)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.peek()).value;
  		 RESULT = _inst; 
                CUP$AnalizadorSintacticoLPM$result = parser.getSymbolFactory().newSymbol("INSTRUCCION",21, RESULT);
              }
            return CUP$AnalizadorSintacticoLPM$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 31: // INSTRUCCION ::= CONDICIONAL 
              {
                Instruccion RESULT =null;
  		Instruccion _inst = (Instruccion)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.peek()).value;
  		 RESULT = _inst; 
                CUP$AnalizadorSintacticoLPM$result = parser.getSymbolFactory().newSymbol("INSTRUCCION",21, RESULT);
              }
            return CUP$AnalizadorSintacticoLPM$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 32: // INSTRUCCION ::= BUCLE 
              {
                Instruccion RESULT =null;
  		Instruccion _inst = (Instruccion)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.peek()).value;
  		 RESULT = _inst; 
                CUP$AnalizadorSintacticoLPM$result = parser.getSymbolFactory().newSymbol("INSTRUCCION",21, RESULT);
              }
            return CUP$AnalizadorSintacticoLPM$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 33: // INSTRUCCION ::= CASEI 
              {
                Instruccion RESULT =null;
  		Instruccion _inst = (Instruccion)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.peek()).value;
  		 RESULT = _inst; 
                CUP$AnalizadorSintacticoLPM$result = parser.getSymbolFactory().newSymbol("INSTRUCCION",21, RESULT);
              }
            return CUP$AnalizadorSintacticoLPM$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 34: // INSTRUCCION ::= RETURNI 
              {
                Instruccion RESULT =null;
  		Instruccion _inst = (Instruccion)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.peek()).value;
  		 RESULT = _inst; 
                CUP$AnalizadorSintacticoLPM$result = parser.getSymbolFactory().newSymbol("INSTRUCCION",21, RESULT);
              }
            return CUP$AnalizadorSintacticoLPM$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 35: // INSTRUCCION ::= CALLI 
              {
                Instruccion RESULT =null;
  		Instruccion _inst = (Instruccion)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.peek()).value;
  		 RESULT = _inst; 
                CUP$AnalizadorSintacticoLPM$result = parser.getSymbolFactory().newSymbol("INSTRUCCION",21, RESULT);
              }
            return CUP$AnalizadorSintacticoLPM$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 36: // ASIGNACION ::= VAR0 ASIG EXPRESION 
              {
                Instruccion RESULT =null;
  		Var _lhs = (Var)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.elementAt(CUP$AnalizadorSintacticoLPM$top-2)).value;
  		Expresion _rhs = (Expresion)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.peek()).value;
  		 RESULT = new Asignacion(_lhs,_rhs);
  		RESULT.setFila(parser.analizadorLexico.fila());
                CUP$AnalizadorSintacticoLPM$result = parser.getSymbolFactory().newSymbol("ASIGNACION",22, RESULT);
              }
            return CUP$AnalizadorSintacticoLPM$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 37: // EXPRESION ::= B0 
              {
                Expresion RESULT =null;
  		Expresion _exp = (Expresion)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.peek()).value;
  		 RESULT = _exp; 
                CUP$AnalizadorSintacticoLPM$result = parser.getSymbolFactory().newSymbol("EXPRESION",8, RESULT);
              }
            return CUP$AnalizadorSintacticoLPM$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 38: // B0 ::= B0 OR B1 
              {
                Expresion RESULT =null;
  		Expresion _izq = (Expresion)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.elementAt(CUP$AnalizadorSintacticoLPM$top-2)).value;
  		Expresion _dch = (Expresion)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.peek()).value;
  		 RESULT = new Or(_izq,_dch); 
  		RESULT.setFila(parser.analizadorLexico.fila());
                CUP$AnalizadorSintacticoLPM$result = parser.getSymbolFactory().newSymbol("B0",12, RESULT);
              }
            return CUP$AnalizadorSintacticoLPM$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 39: // B0 ::= B1 
              {
                Expresion RESULT =null;
  		Expresion _exp = (Expresion)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.peek()).value;
  		 RESULT = _exp; 
                CUP$AnalizadorSintacticoLPM$result = parser.getSymbolFactory().newSymbol("B0",12, RESULT);
              }
            return CUP$AnalizadorSintacticoLPM$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 40: // B1 ::= B1 AND B2 
              {
                Expresion RESULT =null;
  		Expresion _izq = (Expresion)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.elementAt(CUP$AnalizadorSintacticoLPM$top-2)).value;
  		Expresion _dch = (Expresion)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.peek()).value;
  		 RESULT = new And(_izq,_dch);
  		RESULT.setFila(parser.analizadorLexico.fila()); 
                CUP$AnalizadorSintacticoLPM$result = parser.getSymbolFactory().newSymbol("B1",13, RESULT);
              }
            return CUP$AnalizadorSintacticoLPM$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 41: // B1 ::= B2 
              {
                Expresion RESULT =null;
  		Expresion _exp = (Expresion)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.peek()).value;
  		 RESULT = _exp; 
                CUP$AnalizadorSintacticoLPM$result = parser.getSymbolFactory().newSymbol("B1",13, RESULT);
              }
            return CUP$AnalizadorSintacticoLPM$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 42: // B2 ::= NOT B3 
              {
                Expresion RESULT =null;
  		Expresion _exp = (Expresion)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.peek()).value;
  		 RESULT = new Not(_exp); 
  		RESULT.setFila(parser.analizadorLexico.fila());
                CUP$AnalizadorSintacticoLPM$result = parser.getSymbolFactory().newSymbol("B2",14, RESULT);
              }
            return CUP$AnalizadorSintacticoLPM$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 43: // B2 ::= B3 
              {
                Expresion RESULT =null;
  		Expresion _exp = (Expresion)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.peek()).value;
  		 RESULT = _exp; 
                CUP$AnalizadorSintacticoLPM$result = parser.getSymbolFactory().newSymbol("B2",14, RESULT);
              }
            return CUP$AnalizadorSintacticoLPM$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 44: // B3 ::= A0 IGUAL A0 
              {
                Expresion RESULT =null;
  		Expresion _izq = (Expresion)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.elementAt(CUP$AnalizadorSintacticoLPM$top-2)).value;
  		Expresion _dcha = (Expresion)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.peek()).value;
  		 RESULT = new Igual(_izq,_dcha); 
  		RESULT.setFila(parser.analizadorLexico.fila());
                CUP$AnalizadorSintacticoLPM$result = parser.getSymbolFactory().newSymbol("B3",15, RESULT);
              }
            return CUP$AnalizadorSintacticoLPM$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 45: // B3 ::= A0 DIS A0 
              {
                Expresion RESULT =null;
  		Expresion _izq = (Expresion)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.elementAt(CUP$AnalizadorSintacticoLPM$top-2)).value;
  		Expresion _dcha = (Expresion)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.peek()).value;
  		 RESULT = new Distinto(_izq,_dcha); 
  		RESULT.setFila(parser.analizadorLexico.fila());
                CUP$AnalizadorSintacticoLPM$result = parser.getSymbolFactory().newSymbol("B3",15, RESULT);
              }
            return CUP$AnalizadorSintacticoLPM$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 46: // B3 ::= B4 
              {
                Expresion RESULT =null;
  		Expresion _exp = (Expresion)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.peek()).value;
  		 RESULT = _exp; 
                CUP$AnalizadorSintacticoLPM$result = parser.getSymbolFactory().newSymbol("B3",15, RESULT);
              }
            return CUP$AnalizadorSintacticoLPM$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 47: // B4 ::= A0 MENOR A0 
              {
                Expresion RESULT =null;
  		Expresion _izq = (Expresion)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.elementAt(CUP$AnalizadorSintacticoLPM$top-2)).value;
  		Expresion _dcha = (Expresion)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.peek()).value;
  		 RESULT = new Menor(_izq,_dcha);
  		RESULT.setFila(parser.analizadorLexico.fila()); 
                CUP$AnalizadorSintacticoLPM$result = parser.getSymbolFactory().newSymbol("B4",16, RESULT);
              }
            return CUP$AnalizadorSintacticoLPM$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
            case 48: // B4 ::= A0 MI A0 
              {
                Expresion RESULT =null;
  		Expresion _izq = (Expresion)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.elementAt(CUP$AnalizadorSintacticoLPM$top-2)).value;
  		Expresion _dcha = (Expresion)((java_cup.runtime.Symbol) CUP$AnalizadorSintacticoLPM$stack.peek()).value;
  		 RESULT = new MenorIgual(_izq,_dcha); 
  		RESULT.setFila(parser.analizadorLexico.fila());
                CUP$AnalizadorSintacticoLPM$result = parser.getSymbolFactory().newSymbol("B4",16, RESULT);
              }
            return CUP$AnalizadorSintacticoLPM$result;
  
            /*. . . . . . . . . . . . . . . . . . . .*/
  