//----------------------------------------------------
// The following code was generated by CUP v0.11b 20210814 (GIT d69c832)
//----------------------------------------------------

package avatartranslator.tosysmlv2;

import java_cup.runtime.*;
import java.util.ArrayList;
import java.util.HashMap;
import avatartranslator.tosysmlv2.AvatarFromSysMLSyntax.*;
import java.util.function.BiConsumer;
import  static java.lang.System.out;
import java_cup.runtime.ComplexSymbolFactory.Location;
import java_cup.runtime.XMLElement;

/** CUP v0.11b 20210814 (GIT d69c832) generated parser.
  */
@SuppressWarnings("unused")
public class AvatarFromSysMLParser extends java_cup.runtime.lr_parser {

 @Override
 public final Class<?> getSymbolContainer() {
    return AvatarFromSysMLSymbols.class;
}

  /** Default constructor. */
  @Deprecated
  public AvatarFromSysMLParser() {super();}

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

  /** Constructor which sets the default scanner. */
  public AvatarFromSysMLParser(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\u0142\000\002\004\007\000\002\002\004\000\002\004" +
    "\006\000\002\005\003\000\002\005\004\000\002\006\003" +
    "\000\002\006\003\000\002\006\003\000\002\006\003\000" +
    "\002\006\003\000\002\006\003\000\002\006\003\000\002" +
    "\006\003\000\002\007\003\000\002\007\003\000\002\010" +
    "\003\000\002\010\003\000\002\011\013\000\002\012\003" +
    "\000\002\012\005\000\002\013\006\000\002\013\005\000" +
    "\002\014\007\000\002\015\003\000\002\015\004\000\002" +
    "\016\005\000\002\101\006\000\002\102\002\000\002\102" +
    "\004\000\002\102\005\000\002\002\003\000\002\002\003" +
    "\000\002\002\003\000\002\017\003\000\002\017\003\000" +
    "\002\017\003\000\002\020\006\000\002\032\011\000\002" +
    "\021\006\000\002\033\011\000\002\022\006\000\002\034" +
    "\011\000\002\023\003\000\002\023\005\000\002\024\003" +
    "\000\002\024\003\000\002\024\003\000\002\024\003\000" +
    "\002\024\003\000\002\025\005\000\002\026\005\000\002" +
    "\027\005\000\002\030\005\000\002\031\005\000\002\035" +
    "\003\000\002\035\003\000\002\035\003\000\002\036\016" +
    "\000\002\037\016\000\002\040\016\000\002\041\003\000" +
    "\002\041\003\000\002\042\014\000\002\042\014\000\002" +
    "\043\014\000\002\043\014\000\002\044\003\000\002\044" +
    "\003\000\002\045\004\000\002\053\010\000\002\047\004" +
    "\000\002\047\005\000\002\047\005\000\002\050\012\000" +
    "\002\050\010\000\002\046\004\000\002\046\005\000\002" +
    "\046\005\000\002\054\011\000\002\054\011\000\002\051" +
    "\004\000\002\051\004\000\002\052\007\000\002\055\004" +
    "\000\002\055\004\000\002\056\007\000\002\057\004\000" +
    "\002\057\004\000\002\060\003\000\002\060\003\000\002" +
    "\060\003\000\002\060\003\000\002\060\003\000\002\060" +
    "\003\000\002\060\003\000\002\061\004\000\002\061\006" +
    "\000\002\061\007\000\002\063\006\000\002\062\004\000" +
    "\002\062\006\000\002\100\007\000\002\064\003\000\002" +
    "\064\003\000\002\065\005\000\002\065\006\000\002\076" +
    "\006\000\002\066\005\000\002\066\006\000\002\077\006" +
    "\000\002\067\003\000\002\067\004\000\002\070\003\000" +
    "\002\070\006\000\002\071\007\000\002\071\007\000\002" +
    "\072\013\000\002\072\007\000\002\073\006\000\002\073" +
    "\005\000\002\073\004\000\002\171\007\000\002\074\003" +
    "\000\002\074\004\000\002\075\003\000\002\075\003\000" +
    "\002\103\003\000\002\103\003\000\002\103\003\000\002" +
    "\103\003\000\002\103\003\000\002\103\003\000\002\103" +
    "\003\000\002\103\003\000\002\103\003\000\002\103\003" +
    "\000\002\103\003\000\002\103\003\000\002\104\004\000" +
    "\002\104\010\000\002\104\011\000\002\155\007\000\002" +
    "\105\004\000\002\105\010\000\002\105\011\000\002\156" +
    "\006\000\002\106\004\000\002\106\010\000\002\157\007" +
    "\000\002\107\004\000\002\107\010\000\002\107\011\000" +
    "\002\160\006\000\002\110\004\000\002\110\010\000\002" +
    "\110\011\000\002\161\006\000\002\111\013\000\002\111" +
    "\013\000\002\111\011\000\002\162\006\000\002\112\011" +
    "\000\002\112\013\000\002\112\013\000\002\163\006\000" +
    "\002\113\011\000\002\164\006\000\002\114\011\000\002" +
    "\165\006\000\002\115\011\000\002\115\010\000\002\115" +
    "\004\000\002\166\006\000\002\116\011\000\002\116\010" +
    "\000\002\116\004\000\002\167\006\000\002\117\011\000" +
    "\002\117\010\000\002\117\004\000\002\170\006\000\002" +
    "\120\007\000\002\120\005\000\002\121\005\000\002\122" +
    "\003\000\002\122\005\000\002\227\002\000\002\123\014" +
    "\000\002\123\004\000\002\124\003\000\002\124\003\000" +
    "\002\124\003\000\002\124\003\000\002\124\003\000\002" +
    "\124\003\000\002\125\003\000\002\125\005\000\002\147" +
    "\004\000\002\130\005\000\002\150\004\000\002\131\005" +
    "\000\002\151\004\000\002\132\005\000\002\152\004\000" +
    "\002\133\005\000\002\153\004\000\002\134\005\000\002" +
    "\154\004\000\002\126\003\000\002\126\005\000\002\127" +
    "\003\000\002\127\003\000\002\127\003\000\002\127\003" +
    "\000\002\127\003\000\002\127\003\000\002\127\003\000" +
    "\002\135\005\000\002\136\005\000\002\226\003\000\002" +
    "\137\003\000\002\137\003\000\002\141\010\000\002\142" +
    "\007\000\002\142\006\000\002\142\004\000\002\142\007" +
    "\000\002\142\006\000\002\172\004\000\002\143\005\000" +
    "\002\144\007\000\002\145\007\000\002\146\007\000\002" +
    "\204\003\000\002\204\005\000\002\173\012\000\002\173" +
    "\012\000\002\174\005\000\002\212\003\000\002\213\003" +
    "\000\002\213\005\000\002\175\005\000\002\140\010\000" +
    "\002\176\012\000\002\176\012\000\002\177\011\000\002" +
    "\200\006\000\002\200\007\000\002\200\010\000\002\200" +
    "\011\000\002\205\007\000\002\205\013\000\002\201\005" +
    "\000\002\201\006\000\002\201\005\000\002\201\006\000" +
    "\002\214\006\000\002\215\006\000\002\207\010\000\002" +
    "\207\006\000\002\202\007\000\002\202\005\000\002\203" +
    "\007\000\002\203\006\000\002\003\003\000\002\211\003" +
    "\000\002\210\004\000\002\210\004\000\002\216\013\000" +
    "\002\217\010\000\002\217\006\000\002\220\006\000\002" +
    "\220\004\000\002\221\012\000\002\206\004\000\002\206" +
    "\005\000\002\222\003\000\002\222\003\000\002\222\003" +
    "\000\002\223\010\000\002\224\010\000\002\224\010\000" +
    "\002\225\010\000\002\225\010\000\002\230\003\000\002" +
    "\230\003\000\002\230\003\000\002\231\003\000\002\233" +
    "\003\000\002\233\003\000\002\234\005\000\002\234\005" +
    "\000\002\234\005\000\002\234\005\000\002\234\005\000" +
    "\002\234\004\000\002\234\005\000\002\234\005\000\002" +
    "\234\004\000\002\234\005\000\002\234\005\000\002\234" +
    "\005\000\002\234\005\000\002\234\005\000\002\234\005" +
    "\000\002\234\005\000\002\234\003\000\002\234\003\000" +
    "\002\235\003\000\002\235\005\000\002\232\004\000\002" +
    "\232\005\000\002\236\004\000\002\243\003\000\002\243" +
    "\005\000\002\240\003\000\002\237\003\000\002\237\003" +
    "\000\002\237\003\000\002\241\004\000\002\241\005\000" +
    "\002\242\004" });

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

  /** Parse-action table. */
  protected static final short[][] _action_table = 
    unpackFromStrings(new String[] {
    "\000\u032e\000\004\260\005\001\002\000\004\002\u0330\001" +
    "\002\000\004\141\006\001\002\000\004\014\007\001\002" +
    "\000\014\015\030\164\020\166\040\232\010\262\046\001" +
    "\002\000\014\015\ufffc\164\ufffc\166\ufffc\232\ufffc\262\ufffc" +
    "\001\002\000\014\015\ufff8\164\ufff8\166\ufff8\232\ufff8\262" +
    "\ufff8\001\002\000\014\015\ufff5\164\ufff5\166\ufff5\232\ufff5" +
    "\262\ufff5\001\002\000\014\015\uffde\164\uffde\166\uffde\232" +
    "\uffde\262\uffde\001\002\000\014\015\uffdf\164\uffdf\166\uffdf" +
    "\232\uffdf\262\uffdf\001\002\000\014\015\uffbf\164\uffbf\166" +
    "\uffbf\232\uffbf\262\uffbf\001\002\000\014\015\uffc5\164\uffc5" +
    "\166\uffc5\232\uffc5\262\uffc5\001\002\000\014\025\u0313\026" +
    "\u0315\027\u030d\031\u0314\032\u030c\001\002\000\004\201\u0329" +
    "\001\002\000\014\025\u0313\026\u0315\027\u030d\031\u0314\032" +
    "\u030c\001\002\000\014\015\ufffe\164\020\166\040\232\010" +
    "\262\046\001\002\000\014\015\uffca\164\uffca\166\uffca\232" +
    "\uffca\262\uffca\001\002\000\014\015\uffcb\164\uffcb\166\uffcb" +
    "\232\uffcb\262\uffcb\001\002\000\014\015\ufffa\164\ufffa\166" +
    "\ufffa\232\ufffa\262\ufffa\001\002\000\014\015\uffc4\164\uffc4" +
    "\166\uffc4\232\uffc4\262\uffc4\001\002\000\014\015\uffc9\164" +
    "\uffc9\166\uffc9\232\uffc9\262\uffc9\001\002\000\004\002\uffff" +
    "\001\002\000\014\015\uffbe\164\uffbe\166\uffbe\232\uffbe\262" +
    "\uffbe\001\002\000\014\025\u0313\026\u0315\027\u030d\031\u0314" +
    "\032\u030c\001\002\000\006\014\u0300\017\u02ff\001\002\000" +
    "\014\015\ufff7\164\ufff7\166\ufff7\232\ufff7\262\ufff7\001\002" +
    "\000\006\164\275\265\u02ef\001\002\000\014\015\ufffb\164" +
    "\ufffb\166\ufffb\232\ufffb\262\ufffb\001\002\000\004\014\u02e8" +
    "\001\002\000\004\020\u02cd\001\002\000\020\015\163\145" +
    "\172\164\156\171\162\215\153\262\200\270\154\001\002" +
    "\000\004\015\151\001\002\000\014\015\ufff6\164\ufff6\166" +
    "\ufff6\232\ufff6\262\ufff6\001\002\000\014\015\uffe0\164\uffe0" +
    "\166\uffe0\232\uffe0\262\uffe0\001\002\000\014\015\ufff9\164" +
    "\ufff9\166\ufff9\232\ufff9\262\ufff9\001\002\000\006\141\050" +
    "\201\047\001\002\000\004\141\135\001\002\000\004\020" +
    "\051\001\002\000\020\050\057\051\060\052\055\057\054" +
    "\060\056\061\052\101\053\001\002\000\004\022\125\001" +
    "\002\000\010\014\113\311\114\333\115\001\002\000\004" +
    "\022\102\001\002\000\004\022\077\001\002\000\004\022" +
    "\067\001\002\000\004\022\064\001\002\000\004\022\061" +
    "\001\002\000\004\051\062\001\002\000\004\012\063\001" +
    "\002\000\014\025\uffd8\026\uffd8\027\uffd8\031\uffd8\032\uffd8" +
    "\001\002\000\004\050\065\001\002\000\004\012\066\001" +
    "\002\000\014\025\uffdc\026\uffdc\027\uffdc\031\uffdc\032\uffdc" +
    "\001\002\000\004\060\070\001\002\000\004\012\071\001" +
    "\002\000\004\030\072\001\002\000\004\022\073\001\002" +
    "\000\004\141\074\001\002\000\004\013\075\001\002\000" +
    "\004\017\076\001\002\000\014\015\uffc7\164\uffc7\166\uffc7" +
    "\232\uffc7\262\uffc7\001\002\000\004\052\100\001\002\000" +
    "\004\012\101\001\002\000\014\025\uffda\026\uffda\027\uffda" +
    "\031\uffda\032\uffda\001\002\000\004\057\103\001\002\000" +
    "\004\012\104\001\002\000\004\030\105\001\002\000\004" +
    "\022\106\001\002\000\004\141\107\001\002\000\004\013" +
    "\110\001\002\000\004\017\111\001\002\000\014\015\uffc6" +
    "\164\uffc6\166\uffc6\232\uffc6\262\uffc6\001\002\000\004\141" +
    "\117\001\002\000\020\015\uffac\145\uffac\164\uffac\171\uffac" +
    "\215\uffac\262\uffac\270\uffac\001\002\000\004\141\ufff2\001" +
    "\002\000\004\141\ufff1\001\002\000\004\022\122\001\002" +
    "\000\010\017\uffef\021\120\022\uffef\001\002\000\004\141" +
    "\117\001\002\000\006\017\uffee\022\uffee\001\002\000\004" +
    "\141\117\001\002\000\004\017\124\001\002\000\014\015" +
    "\ufff0\164\ufff0\166\ufff0\232\ufff0\262\ufff0\001\002\000\004" +
    "\061\126\001\002\000\004\012\127\001\002\000\004\030" +
    "\130\001\002\000\004\022\131\001\002\000\004\141\132" +
    "\001\002\000\004\013\133\001\002\000\004\017\134\001" +
    "\002\000\014\015\uffc8\164\uffc8\166\uffc8\232\uffc8\262\uffc8" +
    "\001\002\000\006\305\136\333\140\001\002\000\012\053" +
    "\ufff4\054\ufff4\100\ufff4\141\ufff4\001\002\000\010\053\141" +
    "\054\143\141\142\001\002\000\012\053\ufff3\054\ufff3\100" +
    "\ufff3\141\ufff3\001\002\000\004\014\150\001\002\000\004" +
    "\016\146\001\002\000\004\016\144\001\002\000\004\141" +
    "\145\001\002\000\006\014\uffb3\017\uffb3\001\002\000\004" +
    "\054\147\001\002\000\006\014\uffb2\017\uffb2\001\002\000" +
    "\006\164\uffbc\265\uffbc\001\002\000\004\002\001\001\002" +
    "\000\020\015\uff9a\145\uff9a\164\uff9a\171\uff9a\215\uff9a\262" +
    "\uff9a\270\uff9a\001\002\000\004\307\u02c9\001\002\000\004" +
    "\164\u02c5\001\002\000\020\015\uffa4\145\uffa4\164\uffa4\171" +
    "\uffa4\215\uffa4\262\uffa4\270\uffa4\001\002\000\004\141\u02c2" +
    "\001\002\000\020\015\uffa5\145\uffa5\164\uffa5\171\uffa5\215" +
    "\uffa5\262\uffa5\270\uffa5\001\002\000\010\017\u02bc\023\u02bb" +
    "\202\u02ba\001\002\000\020\015\uffa8\145\uffa8\164\uffa8\171" +
    "\uffa8\215\uffa8\262\uffa8\270\uffa8\001\002\000\004\141\u02b7" +
    "\001\002\000\024\015\uffae\145\uffae\164\uffae\166\uffae\171" +
    "\uffae\215\uffae\232\uffae\262\uffae\270\uffae\001\002\000\004" +
    "\014\u02ac\001\002\000\020\015\uffa7\145\uffa7\164\uffa7\171" +
    "\uffa7\215\uffa7\262\uffa7\270\uffa7\001\002\000\020\015\u02aa" +
    "\145\172\164\156\171\162\215\153\262\200\270\154\001" +
    "\002\000\024\015\uffad\145\uffad\164\uffad\166\uffad\171\uffad" +
    "\215\uffad\232\uffad\262\uffad\270\uffad\001\002\000\020\015" +
    "\uff9b\145\uff9b\164\uff9b\171\uff9b\215\uff9b\262\uff9b\270\uff9b" +
    "\001\002\000\020\015\uffa6\145\uffa6\164\uffa6\171\uffa6\215" +
    "\uffa6\262\uffa6\270\uffa6\001\002\000\004\141\u02a7\001\002" +
    "\000\006\014\321\017\320\001\002\000\004\014\273\001" +
    "\002\000\020\015\uffa9\145\uffa9\164\uffa9\171\uffa9\215\uffa9" +
    "\262\uffa9\270\uffa9\001\002\000\006\017\217\023\220\001" +
    "\002\000\020\015\uffa3\145\uffa3\164\uffa3\171\uffa3\215\uffa3" +
    "\262\uffa3\270\uffa3\001\002\000\004\141\201\001\002\000" +
    "\004\020\202\001\002\000\012\055\205\056\203\101\204" +
    "\133\206\001\002\000\004\017\216\001\002\000\004\014" +
    "\113\001\002\000\004\017\215\001\002\000\006\017\207" +
    "\022\210\001\002\000\020\015\uff8c\145\uff8c\164\uff8c\171" +
    "\uff8c\215\uff8c\262\uff8c\270\uff8c\001\002\000\004\133\211" +
    "\001\002\000\004\012\212\001\002\000\004\013\213\001" +
    "\002\000\004\017\214\001\002\000\020\015\uff8d\145\uff8d" +
    "\164\uff8d\171\uff8d\215\uff8d\262\uff8d\270\uff8d\001\002\000" +
    "\020\015\uff8e\145\uff8e\164\uff8e\171\uff8e\215\uff8e\262\uff8e" +
    "\270\uff8e\001\002\000\020\015\uff8f\145\uff8f\164\uff8f\171" +
    "\uff8f\215\uff8f\262\uff8f\270\uff8f\001\002\000\020\015\uff9e" +
    "\145\uff9e\164\uff9e\171\uff9e\215\uff9e\262\uff9e\270\uff9e\001" +
    "\002\000\016\004\222\005\225\012\226\141\223\251\231" +
    "\335\221\001\002\000\016\004\222\005\225\012\226\141" +
    "\223\251\231\335\221\001\002\000\044\011\ufecf\013\ufecf" +
    "\016\ufecf\017\ufecf\024\ufecf\155\ufecf\255\ufecf\334\ufecf\335" +
    "\ufecf\336\ufecf\337\ufecf\340\ufecf\341\ufecf\342\ufecf\343\ufecf" +
    "\344\ufecf\345\ufecf\001\002\000\046\011\ufecd\013\ufecd\016" +
    "\ufecd\017\ufecd\021\270\024\ufecd\155\ufecd\255\ufecd\334\ufecd" +
    "\335\ufecd\336\ufecd\337\ufecd\340\ufecd\341\ufecd\342\ufecd\343" +
    "\ufecd\344\ufecd\345\ufecd\001\002\000\044\011\ufee0\013\ufee0" +
    "\016\ufee0\017\ufee0\024\ufee0\155\ufee0\255\ufee0\334\ufee0\335" +
    "\ufee0\336\ufee0\337\ufee0\340\ufee0\341\ufee0\342\ufee0\343\ufee0" +
    "\344\ufee0\345\ufee0\001\002\000\044\011\ufece\013\ufece\016" +
    "\ufece\017\ufece\024\ufece\155\ufece\255\ufece\334\ufece\335\ufece" +
    "\336\ufece\337\ufece\340\ufece\341\ufece\342\ufece\343\ufece\344" +
    "\ufece\345\ufece\001\002\000\016\004\222\005\225\012\226" +
    "\141\223\251\231\335\221\001\002\000\036\011\241\017" +
    "\265\155\234\255\246\334\240\335\233\336\236\337\242" +
    "\340\235\341\237\342\244\343\243\344\247\345\245\001" +
    "\002\000\044\011\ufee1\013\ufee1\016\ufee1\017\ufee1\024\ufee1" +
    "\155\ufee1\255\ufee1\334\ufee1\335\ufee1\336\ufee1\337\ufee1\340" +
    "\ufee1\341\ufee1\342\ufee1\343\ufee1\344\ufee1\345\ufee1\001\002" +
    "\000\016\004\222\005\225\012\226\141\223\251\231\335" +
    "\221\001\002\000\044\011\241\013\ufed7\016\ufed7\017\ufed7" +
    "\024\ufed7\155\ufed7\255\ufed7\334\240\335\233\336\236\337" +
    "\242\340\235\341\237\342\244\343\243\344\247\345\245" +
    "\001\002\000\016\004\222\005\225\012\226\141\223\251" +
    "\231\335\221\001\002\000\016\004\222\005\225\012\226" +
    "\141\223\251\231\335\221\001\002\000\016\004\222\005" +
    "\225\012\226\141\223\251\231\335\221\001\002\000\016" +
    "\004\222\005\225\012\226\141\223\251\231\335\221\001" +
    "\002\000\016\004\222\005\225\012\226\141\223\251\231" +
    "\335\221\001\002\000\016\004\222\005\225\012\226\141" +
    "\223\251\231\335\221\001\002\000\016\004\222\005\225" +
    "\012\226\141\223\251\231\335\221\001\002\000\016\004" +
    "\222\005\225\012\226\141\223\251\231\335\221\001\002" +
    "\000\016\004\222\005\225\012\226\141\223\251\231\335" +
    "\221\001\002\000\016\004\222\005\225\012\226\141\223" +
    "\251\231\335\221\001\002\000\016\004\222\005\225\012" +
    "\226\141\223\251\231\335\221\001\002\000\016\004\222" +
    "\005\225\012\226\141\223\251\231\335\221\001\002\000" +
    "\016\004\222\005\225\012\226\141\223\251\231\335\221" +
    "\001\002\000\034\011\ufed4\013\ufed4\016\ufed4\017\ufed4\024" +
    "\ufed4\155\ufed4\255\ufed4\334\240\335\233\336\236\337\242" +
    "\340\235\341\ufed4\001\002\000\044\011\241\013\ufed9\016" +
    "\ufed9\017\ufed9\024\ufed9\155\234\255\ufed9\334\240\335\233" +
    "\336\236\337\242\340\235\341\237\342\244\343\243\344" +
    "\247\345\245\001\002\000\034\011\ufed3\013\ufed3\016\ufed3" +
    "\017\ufed3\024\ufed3\155\ufed3\255\ufed3\334\240\335\233\336" +
    "\236\337\242\340\235\341\ufed3\001\002\000\034\011\ufed6" +
    "\013\ufed6\016\ufed6\017\ufed6\024\ufed6\155\ufed6\255\ufed6\334" +
    "\240\335\233\336\236\337\242\340\235\341\ufed6\001\002" +
    "\000\034\011\ufed5\013\ufed5\016\ufed5\017\ufed5\024\ufed5\155" +
    "\ufed5\255\ufed5\334\240\335\233\336\236\337\242\340\235" +
    "\341\ufed5\001\002\000\044\011\ufedc\013\ufedc\016\ufedc\017" +
    "\ufedc\024\ufedc\155\ufedc\255\ufedc\334\ufedc\335\ufedc\336\ufedc" +
    "\337\ufedc\340\ufedc\341\ufedc\342\ufedc\343\ufedc\344\ufedc\345" +
    "\ufedc\001\002\000\044\011\ufed2\013\ufed2\016\ufed2\017\ufed2" +
    "\024\ufed2\155\ufed2\255\ufed2\334\240\335\233\336\236\337" +
    "\242\340\235\341\ufed2\342\244\343\243\344\247\345\245" +
    "\001\002\000\044\011\ufedf\013\ufedf\016\ufedf\017\ufedf\024" +
    "\ufedf\155\ufedf\255\ufedf\334\ufedf\335\ufedf\336\236\337\242" +
    "\340\235\341\ufedf\342\ufedf\343\ufedf\344\ufedf\345\ufedf\001" +
    "\002\000\044\011\ufed1\013\ufed1\016\ufed1\017\ufed1\024\ufed1" +
    "\155\ufed1\255\ufed1\334\240\335\233\336\236\337\242\340" +
    "\235\341\ufed1\342\244\343\243\344\247\345\245\001\002" +
    "\000\044\011\ufedd\013\ufedd\016\ufedd\017\ufedd\024\ufedd\155" +
    "\ufedd\255\ufedd\334\ufedd\335\ufedd\336\ufedd\337\ufedd\340\ufedd" +
    "\341\ufedd\342\ufedd\343\ufedd\344\ufedd\345\ufedd\001\002\000" +
    "\044\011\ufedb\013\ufedb\016\ufedb\017\ufedb\024\ufedb\155\ufedb" +
    "\255\ufedb\334\ufedb\335\ufedb\336\ufedb\337\ufedb\340\ufedb\341" +
    "\ufedb\342\ufedb\343\ufedb\344\ufedb\345\ufedb\001\002\000\044" +
    "\011\241\013\ufed8\016\ufed8\017\ufed8\024\ufed8\155\ufed8\255" +
    "\ufed8\334\240\335\233\336\236\337\242\340\235\341\237" +
    "\342\244\343\243\344\247\345\245\001\002\000\044\011" +
    "\ufede\013\ufede\016\ufede\017\ufede\024\ufede\155\ufede\255\ufede" +
    "\334\ufede\335\ufede\336\236\337\242\340\235\341\ufede\342" +
    "\ufede\343\ufede\344\ufede\345\ufede\001\002\000\020\015\uff9d" +
    "\145\uff9d\164\uff9d\171\uff9d\215\uff9d\262\uff9d\270\uff9d\001" +
    "\002\000\036\011\241\013\267\155\234\255\246\334\240" +
    "\335\233\336\236\337\242\340\235\341\237\342\244\343" +
    "\243\344\247\345\245\001\002\000\044\011\ufed0\013\ufed0" +
    "\016\ufed0\017\ufed0\024\ufed0\155\ufed0\255\ufed0\334\ufed0\335" +
    "\ufed0\336\ufed0\337\ufed0\340\ufed0\341\ufed0\342\ufed0\343\ufed0" +
    "\344\ufed0\345\ufed0\001\002\000\004\141\223\001\002\000" +
    "\044\011\ufecc\013\ufecc\016\ufecc\017\ufecc\024\ufecc\155\ufecc" +
    "\255\ufecc\334\ufecc\335\ufecc\336\ufecc\337\ufecc\340\ufecc\341" +
    "\ufecc\342\ufecc\343\ufecc\344\ufecc\345\ufecc\001\002\000\044" +
    "\011\ufeda\013\ufeda\016\ufeda\017\ufeda\024\ufeda\155\ufeda\255" +
    "\ufeda\334\ufeda\335\ufeda\336\ufeda\337\ufeda\340\ufeda\341\ufeda" +
    "\342\ufeda\343\ufeda\344\ufeda\345\ufeda\001\002\000\006\015" +
    "\276\164\275\001\002\000\004\015\317\001\002\000\004" +
    "\141\311\001\002\000\020\015\uff99\145\uff99\164\uff99\171" +
    "\uff99\215\uff99\262\uff99\270\uff99\001\002\000\010\015\uffea" +
    "\164\275\265\uffea\001\002\000\010\017\uffe6\023\302\202" +
    "\301\001\002\000\004\023\306\001\002\000\016\004\222" +
    "\005\225\012\226\141\223\251\231\335\221\001\002\000" +
    "\004\017\304\001\002\000\012\015\uffe8\164\uffe8\265\uffe8" +
    "\301\uffe8\001\002\000\036\011\241\017\uffe5\155\234\255" +
    "\246\334\240\335\233\336\236\337\242\340\235\341\237" +
    "\342\244\343\243\344\247\345\245\001\002\000\016\004" +
    "\222\005\225\012\226\141\223\251\231\335\221\001\002" +
    "\000\036\011\241\017\uffe4\155\234\255\246\334\240\335" +
    "\233\336\236\337\242\340\235\341\237\342\244\343\243" +
    "\344\247\345\245\001\002\000\006\015\uffe9\265\uffe9\001" +
    "\002\000\004\020\312\001\002\000\010\074\315\075\316" +
    "\141\313\001\002\000\010\017\uffe1\023\uffe1\202\uffe1\001" +
    "\002\000\010\017\uffe7\023\uffe7\202\uffe7\001\002\000\010" +
    "\017\uffe2\023\uffe2\202\uffe2\001\002\000\010\017\uffe3\023" +
    "\uffe3\202\uffe3\001\002\000\020\015\uff98\145\uff98\164\uff98" +
    "\171\uff98\215\uff98\262\uff98\270\uff98\001\002\000\020\015" +
    "\uff89\145\uff89\164\uff89\171\uff89\215\uff89\262\uff89\270\uff89" +
    "\001\002\000\014\015\342\212\351\216\322\307\354\316" +
    "\363\001\002\000\004\145\u02a3\001\002\000\004\022\u0281" +
    "\001\002\000\014\015\uff7e\212\uff7e\216\uff7e\307\uff7e\316" +
    "\uff7e\001\002\000\014\015\uff79\212\uff79\216\uff79\307\uff79" +
    "\316\uff79\001\002\000\006\017\u0278\022\u0279\001\002\000" +
    "\014\015\uff81\212\uff81\216\uff81\307\uff81\316\uff81\001\002" +
    "\000\004\022\u0250\001\002\000\006\017\u0247\022\u0248\001" +
    "\002\000\014\015\uff85\212\uff85\216\uff85\307\uff85\316\uff85" +
    "\001\002\000\006\206\u01d4\313\u01d6\001\002\000\014\015" +
    "\uff7a\212\uff7a\216\uff7a\307\uff7a\316\uff7a\001\002\000\014" +
    "\015\uff82\212\uff82\216\uff82\307\uff82\316\uff82\001\002\000" +
    "\014\015\uff83\212\uff83\216\uff83\307\uff83\316\uff83\001\002" +
    "\000\014\015\uff7b\212\uff7b\216\uff7b\307\uff7b\316\uff7b\001" +
    "\002\000\006\017\u01c2\022\u01c3\001\002\000\006\017\u01b9" +
    "\022\u01ba\001\002\000\020\015\uff8a\145\uff8a\164\uff8a\171" +
    "\uff8a\215\uff8a\262\uff8a\270\uff8a\001\002\000\014\015\uff78" +
    "\212\uff78\216\uff78\307\uff78\316\uff78\001\002\000\004\015" +
    "\u01b8\001\002\000\006\017\u01af\022\u01b0\001\002\000\004" +
    "\022\u01a9\001\002\000\006\017\u01a3\022\u01a4\001\002\000" +
    "\014\015\uff87\212\351\216\322\307\354\316\363\001\002" +
    "\000\004\145\u019e\001\002\000\014\015\uff7c\212\uff7c\216" +
    "\uff7c\307\uff7c\316\uff7c\001\002\000\014\015\uff7f\212\uff7f" +
    "\216\uff7f\307\uff7f\316\uff7f\001\002\000\004\141\u0192\001" +
    "\002\000\014\015\uff84\212\uff84\216\uff84\307\uff84\316\uff84" +
    "\001\002\000\014\015\uff80\212\uff80\216\uff80\307\uff80\316" +
    "\uff80\001\002\000\006\017\u0189\022\u018a\001\002\000\004" +
    "\022\u0183\001\002\000\006\017\374\022\375\001\002\000" +
    "\014\015\uff7d\212\uff7d\216\uff7d\307\uff7d\316\uff7d\001\002" +
    "\000\004\020\364\001\002\000\004\115\365\001\002\000" +
    "\004\221\366\001\002\000\004\141\367\001\002\000\010" +
    "\206\uff07\230\370\313\uff07\001\002\000\004\036\371\001" +
    "\002\000\004\011\372\001\002\000\004\004\373\001\002" +
    "\000\006\206\uff06\313\uff06\001\002\000\014\015\uff4e\212" +
    "\uff4e\216\uff4e\307\uff4e\316\uff4e\001\002\000\004\124\376" +
    "\001\002\000\004\012\377\001\002\000\006\013\u0102\034" +
    "\u0100\001\002\000\004\022\u0106\001\002\000\004\013\u0104" +
    "\001\002\000\004\017\u0103\001\002\000\014\015\uff4f\212" +
    "\uff4f\216\uff4f\307\uff4f\316\uff4f\001\002\000\004\017\u0105" +
    "\001\002\000\014\015\uff50\212\uff50\216\uff50\307\uff50\316" +
    "\uff50\001\002\000\022\065\uff47\066\uff47\067\uff47\070\uff47" +
    "\125\uff47\126\uff47\127\uff47\230\uff47\001\002\000\006\013" +
    "\uff4a\016\uff4a\001\002\000\022\065\u011a\066\u010e\067\u010d" +
    "\070\u0111\125\u0119\126\u0116\127\u010b\230\u010f\001\002\000" +
    "\010\013\uff42\016\uff42\210\uff42\001\002\000\012\036\u0125" +
    "\037\u0129\040\u0120\041\u0127\001\002\000\004\012\u0180\001" +
    "\002\000\012\036\u0125\037\u0129\040\u0120\041\u0127\001\002" +
    "\000\004\012\u017d\001\002\000\010\013\uff3e\016\uff3e\210" +
    "\uff3e\001\002\000\016\004\222\005\225\012\226\141\223" +
    "\251\231\335\221\001\002\000\012\036\u0125\037\u0129\040" +
    "\u0120\041\u0127\001\002\000\004\012\u0172\001\002\000\010" +
    "\013\uff41\016\uff41\210\uff41\001\002\000\012\036\u0125\037" +
    "\u0129\040\u0120\041\u0127\001\002\000\012\036\u0125\037\u0129" +
    "\040\u0120\041\u0127\001\002\000\006\013\uff45\016\uff45\001" +
    "\002\000\004\012\u016d\001\002\000\010\013\uff40\016\uff40" +
    "\210\uff40\001\002\000\010\013\uff44\016\uff44\210\uff44\001" +
    "\002\000\004\012\u016c\001\002\000\004\012\u016b\001\002" +
    "\000\010\013\uff3f\016\uff3f\210\uff3f\001\002\000\010\013" +
    "\uff43\016\uff43\210\uff43\001\002\000\012\036\u0125\037\u0129" +
    "\040\u0120\041\u0127\001\002\000\006\013\uff2e\016\uff2e\001" +
    "\002\000\006\013\uff2b\016\uff2b\001\002\000\004\022\u016a" +
    "\001\002\000\006\013\uff2f\016\uff2f\001\002\000\004\013" +
    "\u0169\001\002\000\006\013\uff31\016\u0167\001\002\000\010" +
    "\130\u0140\131\u013f\141\u0141\001\002\000\004\022\u013d\001" +
    "\002\000\006\013\uff2c\016\uff2c\001\002\000\004\022\u0137" +
    "\001\002\000\006\013\uff29\016\uff29\001\002\000\004\022" +
    "\uff26\001\002\000\006\013\uff2a\016\uff2a\001\002\000\004" +
    "\022\u012d\001\002\000\006\013\uff2d\016\uff2d\001\002\000" +
    "\020\004\222\005\225\012\226\073\u012f\141\223\251\231" +
    "\335\221\001\002\000\006\013\uff27\016\uff27\001\002\000" +
    "\004\012\u0132\001\002\000\006\013\uff24\016\uff24\001\002" +
    "\000\040\011\241\013\uff25\016\uff25\155\234\255\246\334" +
    "\240\335\233\336\236\337\242\340\235\341\237\342\244" +
    "\343\243\344\247\345\245\001\002\000\016\004\222\005" +
    "\225\012\226\141\223\251\231\335\221\001\002\000\036" +
    "\011\241\016\u0134\155\234\255\246\334\240\335\233\336" +
    "\236\337\242\340\235\341\237\342\244\343\243\344\247" +
    "\345\245\001\002\000\016\004\222\005\225\012\226\141" +
    "\223\251\231\335\221\001\002\000\036\011\241\013\u0136" +
    "\155\234\255\246\334\240\335\233\336\236\337\242\340" +
    "\235\341\237\342\244\343\243\344\247\345\245\001\002" +
    "\000\006\013\uff23\016\uff23\001\002\000\004\141\u0138\001" +
    "\002\000\010\013\uff1c\016\uff1c\021\u0139\001\002\000\010" +
    "\134\u013a\135\u013c\136\u013b\001\002\000\006\013\uff1b\016" +
    "\uff1b\001\002\000\006\013\uff19\016\uff19\001\002\000\006" +
    "\013\uff1a\016\uff1a\001\002\000\004\004\u013e\001\002\000" +
    "\006\013\uff28\016\uff28\001\002\000\004\012\u0165\001\002" +
    "\000\004\012\u0161\001\002\000\010\012\u0142\013\uff20\016" +
    "\uff20\001\002\000\020\004\222\005\225\012\226\013\u0149" +
    "\141\u0145\251\231\335\221\001\002\000\020\004\222\005" +
    "\225\012\226\013\u0157\141\u0153\251\231\335\221\001\002" +
    "\000\006\013\uff18\016\uff18\001\002\000\046\011\ufecd\012" +
    "\u014f\013\ufecd\016\ufecd\017\ufecd\021\270\155\ufecd\255\ufecd" +
    "\334\ufecd\335\ufecd\336\ufecd\337\ufecd\340\ufecd\341\ufecd\342" +
    "\ufecd\343\ufecd\344\ufecd\345\ufecd\001\002\000\042\011\ufee0" +
    "\013\ufee3\016\ufee3\017\ufee3\155\ufee0\255\ufee0\334\ufee0\335" +
    "\ufee0\336\ufee0\337\ufee0\340\ufee0\341\ufee0\342\ufee0\343\ufee0" +
    "\344\ufee0\345\ufee0\001\002\000\006\013\u014d\016\u014c\001" +
    "\002\000\034\011\241\155\234\255\246\334\240\335\233" +
    "\336\236\337\242\340\235\341\237\342\244\343\243\344" +
    "\247\345\245\001\002\000\006\013\uff21\016\uff21\001\002" +
    "\000\042\011\ufee1\013\ufee4\016\ufee4\017\ufee4\155\ufee1\255" +
    "\ufee1\334\ufee1\335\ufee1\336\ufee1\337\ufee1\340\ufee1\341\ufee1" +
    "\342\ufee1\343\ufee1\344\ufee1\345\ufee1\001\002\000\010\013" +
    "\ufee5\016\ufee5\017\ufee5\001\002\000\016\004\222\005\225" +
    "\012\226\141\u0145\251\231\335\221\001\002\000\006\013" +
    "\uff22\016\uff22\001\002\000\006\013\uff17\016\uff17\001\002" +
    "\000\020\004\ufec9\005\ufec9\012\ufec9\013\ufec9\141\ufec9\251" +
    "\ufec9\335\ufec9\001\002\000\016\004\222\005\225\012\226" +
    "\141\u0153\251\231\335\221\001\002\000\004\013\u015e\001" +
    "\002\000\006\013\ufec8\016\u015c\001\002\000\044\011\ufecd" +
    "\012\u015a\013\ufecd\016\ufecd\021\270\155\ufecd\255\ufecd\334" +
    "\ufecd\335\ufecd\336\ufecd\337\ufecd\340\ufecd\341\ufecd\342\ufecd" +
    "\343\ufecd\344\ufecd\345\ufecd\001\002\000\040\011\ufee0\013" +
    "\ufec4\016\ufec4\155\ufee0\255\ufee0\334\ufee0\335\ufee0\336\ufee0" +
    "\337\ufee0\340\ufee0\341\ufee0\342\ufee0\343\ufee0\344\ufee0\345" +
    "\ufee0\001\002\000\004\013\u0159\001\002\000\040\011\ufee1" +
    "\013\ufec5\016\ufec5\155\ufee1\255\ufee1\334\ufee1\335\ufee1\336" +
    "\ufee1\337\ufee1\340\ufee1\341\ufee1\342\ufee1\343\ufee1\344\ufee1" +
    "\345\ufee1\001\002\000\010\013\ufecb\016\ufecb\017\ufecb\001" +
    "\002\000\006\013\ufec3\016\ufec3\001\002\000\010\013\ufeca" +
    "\016\ufeca\017\ufeca\001\002\000\020\004\ufec9\005\ufec9\012" +
    "\ufec9\013\ufec0\141\ufec9\251\ufec9\335\ufec9\001\002\000\016" +
    "\004\222\005\225\012\226\141\u0153\251\231\335\221\001" +
    "\002\000\016\004\ufec6\005\ufec6\012\ufec6\141\ufec6\251\ufec6" +
    "\335\ufec6\001\002\000\004\013\ufec7\001\002\000\006\013" +
    "\ufec2\016\ufec2\001\002\000\004\013\u0160\001\002\000\006" +
    "\013\ufec1\016\ufec1\001\002\000\016\004\222\005\225\012" +
    "\226\141\223\251\231\335\221\001\002\000\036\011\241" +
    "\013\ufee2\155\234\255\246\334\240\335\233\336\236\337" +
    "\242\340\235\341\237\342\244\343\243\344\247\345\245" +
    "\001\002\000\004\013\u0164\001\002\000\006\013\uff1f\016" +
    "\uff1f\001\002\000\004\013\u0166\001\002\000\006\013\uff1e" +
    "\016\uff1e\001\002\000\012\036\u0125\037\u0129\040\u0120\041" +
    "\u0127\001\002\000\004\013\uff30\001\002\000\010\013\uff35" +
    "\016\uff35\210\uff35\001\002\000\010\130\uff1d\131\uff1d\141" +
    "\uff1d\001\002\000\012\036\uff3c\037\uff3c\040\uff3c\041\uff3c" +
    "\001\002\000\012\036\uff36\037\uff36\040\uff36\041\uff36\001" +
    "\002\000\012\036\uff34\037\uff34\040\uff34\041\uff34\001\002" +
    "\000\004\013\u016f\001\002\000\010\013\uff33\016\uff33\210" +
    "\uff33\001\002\000\004\013\u0171\001\002\000\010\013\uff39" +
    "\016\uff39\210\uff39\001\002\000\012\036\uff38\037\uff38\040" +
    "\uff38\041\uff38\001\002\000\004\013\u0174\001\002\000\010" +
    "\013\uff3d\016\uff3d\210\uff3d\001\002\000\036\011\241\024" +
    "\u0176\155\234\255\246\334\240\335\233\336\236\337\242" +
    "\340\235\341\237\342\244\343\243\344\247\345\245\001" +
    "\002\000\020\065\u011a\066\u010e\067\u010d\070\u0111\125\u0119" +
    "\126\u0116\127\u010b\001\002\000\004\210\u0178\001\002\000" +
    "\004\064\u0179\001\002\000\004\012\u017a\001\002\000\004" +
    "\004\u017b\001\002\000\004\013\u017c\001\002\000\006\013" +
    "\uff46\016\uff46\001\002\000\012\036\uff3a\037\uff3a\040\uff3a" +
    "\041\uff3a\001\002\000\004\013\u017f\001\002\000\010\013" +
    "\uff3b\016\uff3b\210\uff3b\001\002\000\012\036\uff32\037\uff32" +
    "\040\uff32\041\uff32\001\002\000\004\013\u0182\001\002\000" +
    "\010\013\uff37\016\uff37\210\uff37\001\002\000\004\113\u0184" +
    "\001\002\000\004\012\u0185\001\002\000\004\034\u0100\001" +
    "\002\000\004\013\u0187\001\002\000\004\017\u0188\001\002" +
    "\000\014\015\uff5c\212\uff5c\216\uff5c\307\uff5c\316\uff5c\001" +
    "\002\000\014\015\uff52\212\uff52\216\uff52\307\uff52\316\uff52" +
    "\001\002\000\004\123\u018b\001\002\000\004\012\u018c\001" +
    "\002\000\006\013\u018e\034\u0100\001\002\000\004\013\u0190" +
    "\001\002\000\004\017\u018f\001\002\000\014\015\uff53\212" +
    "\uff53\216\uff53\307\uff53\316\uff53\001\002\000\004\017\u0191" +
    "\001\002\000\014\015\uff54\212\uff54\216\uff54\307\uff54\316" +
    "\uff54\001\002\000\004\020\u0193\001\002\000\026\104\u0196" +
    "\107\u0197\110\u0195\111\u0198\112\u019b\113\u019d\114\u0199\122" +
    "\u019a\123\u0194\124\u019c\001\002\000\006\017\uff51\022\uff51" +
    "\001\002\000\006\017\uff65\022\uff65\001\002\000\006\017" +
    "\uff70\022\uff70\001\002\000\006\017\uff69\022\uff69\001\002" +
    "\000\004\022\uff61\001\002\000\004\022\uff59\001\002\000" +
    "\006\017\uff55\022\uff55\001\002\000\004\022\uff5d\001\002" +
    "\000\006\017\uff4d\022\uff4d\001\002\000\004\022\uff5b\001" +
    "\002\000\004\141\u019f\001\002\000\004\020\u01a0\001\002" +
    "\000\004\106\u01a1\001\002\000\006\017\uff74\022\uff74\001" +
    "\002\000\004\015\uff86\001\002\000\014\015\uff6f\212\uff6f" +
    "\216\uff6f\307\uff6f\316\uff6f\001\002\000\004\105\u01a5\001" +
    "\002\000\004\012\u01a6\001\002\000\004\013\u01a7\001\002" +
    "\000\004\017\u01a8\001\002\000\014\015\uff6e\212\uff6e\216" +
    "\uff6e\307\uff6e\316\uff6e\001\002\000\004\114\u01aa\001\002" +
    "\000\004\012\u01ab\001\002\000\004\034\u0100\001\002\000" +
    "\004\013\u01ad\001\002\000\004\017\u01ae\001\002\000\014" +
    "\015\uff5a\212\uff5a\216\uff5a\307\uff5a\316\uff5a\001\002\000" +
    "\014\015\uff6c\212\uff6c\216\uff6c\307\uff6c\316\uff6c\001\002" +
    "\000\004\107\u01b1\001\002\000\004\012\u01b2\001\002\000" +
    "\006\013\u01b4\034\u0100\001\002\000\004\013\u01b6\001\002" +
    "\000\004\017\u01b5\001\002\000\014\015\uff6b\212\uff6b\216" +
    "\uff6b\307\uff6b\316\uff6b\001\002\000\004\017\u01b7\001\002" +
    "\000\014\015\uff6a\212\uff6a\216\uff6a\307\uff6a\316\uff6a\001" +
    "\002\000\020\015\uff8b\145\uff8b\164\uff8b\171\uff8b\215\uff8b" +
    "\262\uff8b\270\uff8b\001\002\000\014\015\uff56\212\uff56\216" +
    "\uff56\307\uff56\316\uff56\001\002\000\004\122\u01bb\001\002" +
    "\000\004\012\u01bc\001\002\000\006\013\u01be\034\u0100\001" +
    "\002\000\004\013\u01c0\001\002\000\004\017\u01bf\001\002" +
    "\000\014\015\uff57\212\uff57\216\uff57\307\uff57\316\uff57\001" +
    "\002\000\004\017\u01c1\001\002\000\014\015\uff58\212\uff58" +
    "\216\uff58\307\uff58\316\uff58\001\002\000\014\015\uff73\212" +
    "\uff73\216\uff73\307\uff73\316\uff73\001\002\000\004\104\u01c4" +
    "\001\002\000\004\012\u01c5\001\002\000\006\013\u01c8\033" +
    "\u01c7\001\002\000\004\013\u01d2\001\002\000\004\022\u01ca" +
    "\001\002\000\004\017\u01c9\001\002\000\014\015\uff72\212" +
    "\uff72\216\uff72\307\uff72\316\uff72\001\002\000\024\012\u01cb" +
    "\065\uff47\066\uff47\067\uff47\070\uff47\125\uff47\126\uff47\127" +
    "\uff47\230\uff47\001\002\000\022\065\uff47\066\uff47\067\uff47" +
    "\070\uff47\125\uff47\126\uff47\127\uff47\230\uff47\001\002\000" +
    "\004\013\uff4b\001\002\000\004\013\u01d1\001\002\000\006" +
    "\013\uff49\016\u01cf\001\002\000\022\065\uff47\066\uff47\067" +
    "\uff47\070\uff47\125\uff47\126\uff47\127\uff47\230\uff47\001\002" +
    "\000\004\013\uff48\001\002\000\004\013\uff4c\001\002\000" +
    "\004\017\u01d3\001\002\000\014\015\uff71\212\uff71\216\uff71" +
    "\307\uff71\316\uff71\001\002\000\004\145\u0243\001\002\000" +
    "\004\014\u021f\001\002\000\004\141\u021a\001\002\000\004" +
    "\014\u01fb\001\002\000\004\313\u01d9\001\002\000\004\141" +
    "\u01da\001\002\000\006\014\u01dc\017\u01db\001\002\000\014" +
    "\015\uff0a\212\uff0a\216\uff0a\307\uff0a\316\uff0a\001\002\000" +
    "\004\164\u01de\001\002\000\004\017\u01f9\001\002\000\012" +
    "\007\u01e7\137\u01e4\140\u01e5\141\u01e6\001\002\000\004\015" +
    "\u01e3\001\002\000\004\017\ufeec\001\002\000\004\017\ufeeb" +
    "\001\002\000\004\017\ufeed\001\002\000\014\015\uff08\212" +
    "\uff08\216\uff08\307\uff08\316\uff08\001\002\000\004\020\u01f5" +
    "\001\002\000\004\020\u01f0\001\002\000\004\020\u01ec\001" +
    "\002\000\004\020\u01e8\001\002\000\004\076\u01e9\001\002" +
    "\000\004\022\u01ea\001\002\000\004\006\u01eb\001\002\000" +
    "\004\017\ufee7\001\002\000\004\076\u01ed\001\002\000\004" +
    "\022\u01ee\001\002\000\004\006\u01ef\001\002\000\004\017" +
    "\ufee6\001\002\000\004\077\u01f1\001\002\000\004\022\u01f2" +
    "\001\002\000\006\004\u01f4\010\u01f3\001\002\000\004\017" +
    "\ufee9\001\002\000\004\017\ufee8\001\002\000\004\076\u01f6" +
    "\001\002\000\004\022\u01f7\001\002\000\004\006\u01f8\001" +
    "\002\000\004\017\ufeea\001\002\000\006\015\ufeef\164\u01de" +
    "\001\002\000\004\015\ufeee\001\002\000\006\015\u01fd\221" +
    "\u01fe\001\002\000\004\015\u0219\001\002\000\004\313\uff05" +
    "\001\002\000\004\045\u01ff\001\002\000\004\017\u0200\001" +
    "\002\000\004\313\u0201\001\002\000\010\046\u0203\145\u0206" +
    "\160\u0207\001\002\000\004\015\ufefe\001\002\000\004\017" +
    "\u0218\001\002\000\004\313\u0214\001\002\000\004\141\u020d" +
    "\001\002\000\004\022\u0208\001\002\000\004\141\ufef8\001" +
    "\002\000\004\141\u0209\001\002\000\004\012\u014f\001\002" +
    "\000\004\017\u020b\001\002\000\004\313\ufefa\001\002\000" +
    "\006\021\u0212\023\ufef9\001\002\000\012\013\uff12\016\uff12" +
    "\021\uff12\023\uff12\001\002\000\004\023\u020f\001\002\000" +
    "\016\004\222\005\225\012\226\141\u0145\251\231\335\221" +
    "\001\002\000\004\017\u0211\001\002\000\004\313\ufefb\001" +
    "\002\000\004\141\u0213\001\002\000\012\013\uff11\016\uff11" +
    "\021\uff11\023\uff11\001\002\000\010\046\u0216\145\u0206\160" +
    "\u0207\001\002\000\004\015\ufefc\001\002\000\004\017\u0217" +
    "\001\002\000\004\015\ufefd\001\002\000\004\015\ufeff\001" +
    "\002\000\004\313\uff04\001\002\000\006\014\u021c\017\u021b" +
    "\001\002\000\014\015\uff0b\212\uff0b\216\uff0b\307\uff0b\316" +
    "\uff0b\001\002\000\004\164\u01de\001\002\000\004\015\u021e" +
    "\001\002\000\014\015\uff09\212\uff09\216\uff09\307\uff09\316" +
    "\uff09\001\002\000\010\015\u0223\221\u0224\241\u0220\001\002" +
    "\000\004\071\u023b\001\002\000\004\221\u0224\001\002\000" +
    "\004\241\u0220\001\002\000\004\313\uff03\001\002\000\004" +
    "\045\u0227\001\002\000\004\015\u0226\001\002\000\004\313" +
    "\uff02\001\002\000\004\017\u0228\001\002\000\004\313\u0229" +
    "\001\002\000\006\046\u0237\160\u0207\001\002\000\004\313" +
    "\u022c\001\002\000\006\015\ufef3\241\ufef3\001\002\000\006" +
    "\046\u022e\160\u0207\001\002\000\006\015\ufef1\241\ufef1\001" +
    "\002\000\004\017\u0236\001\002\000\004\141\u020d\001\002" +
    "\000\006\021\u0212\023\u0231\001\002\000\004\071\u0232\001" +
    "\002\000\004\021\u0233\001\002\000\004\141\u0234\001\002" +
    "\000\004\017\u0235\001\002\000\004\313\ufef0\001\002\000" +
    "\006\015\ufef2\241\ufef2\001\002\000\004\017\u0238\001\002" +
    "\000\006\015\ufef4\241\ufef4\001\002\000\004\015\ufef6\001" +
    "\002\000\004\015\ufef7\001\002\000\004\020\u023c\001\002" +
    "\000\004\141\u023d\001\002\000\004\022\u023e\001\002\000" +
    "\004\040\u023f\001\002\000\004\156\u0240\001\002\000\004" +
    "\141\u0241\001\002\000\004\017\u0242\001\002\000\006\015" +
    "\ufef5\221\ufef5\001\002\000\004\020\u0244\001\002\000\006" +
    "\117\u0245\120\u0246\001\002\000\004\014\uff00\001\002\000" +
    "\004\014\uff01\001\002\000\014\015\uff68\212\uff68\216\uff68" +
    "\307\uff68\316\uff68\001\002\000\004\110\u0249\001\002\000" +
    "\004\012\u024a\001\002\000\006\013\u024c\034\u0100\001\002" +
    "\000\004\013\u024e\001\002\000\004\017\u024d\001\002\000" +
    "\014\015\uff67\212\uff67\216\uff67\307\uff67\316\uff67\001\002" +
    "\000\004\017\u024f\001\002\000\014\015\uff66\212\uff66\216" +
    "\uff66\307\uff66\316\uff66\001\002\000\004\111\u0251\001\002" +
    "\000\004\012\u0252\001\002\000\006\034\u0100\035\u0253\001" +
    "\002\000\004\022\u0260\001\002\000\004\016\u025c\001\002" +
    "\000\006\013\u0257\016\u0256\001\002\000\004\034\u0100\001" +
    "\002\000\004\017\u0258\001\002\000\014\015\uff62\212\uff62" +
    "\216\uff62\307\uff62\316\uff62\001\002\000\004\013\u025a\001" +
    "\002\000\004\017\u025b\001\002\000\014\015\uff64\212\uff64" +
    "\216\uff64\307\uff64\316\uff64\001\002\000\004\035\u0253\001" +
    "\002\000\004\013\u025e\001\002\000\004\017\u025f\001\002" +
    "\000\014\015\uff63\212\uff63\216\uff63\307\uff63\316\uff63\001" +
    "\002\000\004\072\u0261\001\002\000\004\012\u0262\001\002" +
    "\000\006\042\u0263\043\u0266\001\002\000\004\022\u0270\001" +
    "\002\000\004\016\u026d\001\002\000\004\022\u026b\001\002" +
    "\000\004\022\uff13\001\002\000\004\016\u0268\001\002\000" +
    "\004\042\u0263\001\002\000\004\013\u026a\001\002\000\006" +
    "\013\uff16\016\uff16\001\002\000\004\141\u020d\001\002\000" +
    "\010\013\uff14\016\uff14\021\u0212\001\002\000\004\043\u0266" +
    "\001\002\000\004\013\u026f\001\002\000\006\013\uff15\016" +
    "\uff15\001\002\000\004\073\u0271\001\002\000\004\012\u0273" +
    "\001\002\000\006\013\uff10\016\uff10\001\002\000\016\004" +
    "\222\005\225\012\226\141\223\251\231\335\221\001\002" +
    "\000\036\011\241\016\u0275\155\234\255\246\334\240\335" +
    "\233\336\236\337\242\340\235\341\237\342\244\343\243" +
    "\344\247\345\245\001\002\000\016\004\222\005\225\012" +
    "\226\141\223\251\231\335\221\001\002\000\036\011\241" +
    "\013\u0277\155\234\255\246\334\240\335\233\336\236\337" +
    "\242\340\235\341\237\342\244\343\243\344\247\345\245" +
    "\001\002\000\006\013\uff0f\016\uff0f\001\002\000\014\015" +
    "\uff77\212\uff77\216\uff77\307\uff77\316\uff77\001\002\000\004" +
    "\106\u027a\001\002\000\004\012\u027b\001\002\000\006\013" +
    "\u027d\034\u0100\001\002\000\004\013\u027f\001\002\000\004" +
    "\017\u027e\001\002\000\014\015\uff76\212\uff76\216\uff76\307" +
    "\uff76\316\uff76\001\002\000\004\017\u0280\001\002\000\014" +
    "\015\uff75\212\uff75\216\uff75\307\uff75\316\uff75\001\002\000" +
    "\004\112\u0282\001\002\000\004\012\u0283\001\002\000\006" +
    "\034\u0100\035\u0284\001\002\000\004\022\u0291\001\002\000" +
    "\006\013\u028c\016\u028b\001\002\000\004\016\u0287\001\002" +
    "\000\004\035\u0284\001\002\000\004\013\u0289\001\002\000" +
    "\004\017\u028a\001\002\000\014\015\uff5f\212\uff5f\216\uff5f" +
    "\307\uff5f\316\uff5f\001\002\000\004\034\u0100\001\002\000" +
    "\004\017\u028d\001\002\000\014\015\uff60\212\uff60\216\uff60" +
    "\307\uff60\316\uff60\001\002\000\004\013\u028f\001\002\000" +
    "\004\017\u0290\001\002\000\014\015\uff5e\212\uff5e\216\uff5e" +
    "\307\uff5e\316\uff5e\001\002\000\004\072\u0292\001\002\000" +
    "\004\012\u0293\001\002\000\006\042\u0294\043\u0266\001\002" +
    "\000\004\022\u029d\001\002\000\004\016\u029a\001\002\000" +
    "\004\016\u0297\001\002\000\004\042\u0294\001\002\000\004" +
    "\013\u0299\001\002\000\006\013\uff0e\016\uff0e\001\002\000" +
    "\004\043\u0266\001\002\000\004\013\u029c\001\002\000\006" +
    "\013\uff0d\016\uff0d\001\002\000\004\141\u029e\001\002\000" +
    "\004\021\u029f\001\002\000\004\044\u02a0\001\002\000\004" +
    "\012\u02a1\001\002\000\004\013\u02a2\001\002\000\006\013" +
    "\uff0c\016\uff0c\001\002\000\004\141\u02a4\001\002\000\004" +
    "\020\u02a5\001\002\000\004\105\u02a6\001\002\000\006\017" +
    "\uff6d\022\uff6d\001\002\000\004\020\u02a8\001\002\000\004" +
    "\102\u02a9\001\002\000\004\014\uff97\001\002\000\024\015" +
    "\uffab\145\uffab\164\uffab\166\uffab\171\uffab\215\uffab\232\uffab" +
    "\262\uffab\270\uffab\001\002\000\024\015\uffaa\145\uffaa\164" +
    "\uffaa\166\uffaa\171\uffaa\215\uffaa\232\uffaa\262\uffaa\270\uffaa" +
    "\001\002\000\010\015\u02af\164\275\301\u02ae\001\002\000" +
    "\004\015\u02b6\001\002\000\004\020\u02b3\001\002\000\020" +
    "\015\uff96\145\uff96\164\uff96\171\uff96\215\uff96\262\uff96\270" +
    "\uff96\001\002\000\010\015\uff93\164\275\301\u02ae\001\002" +
    "\000\010\015\uff91\164\uff91\301\uff91\001\002\000\004\015" +
    "\uff92\001\002\000\010\074\315\075\316\141\313\001\002" +
    "\000\004\017\u02b5\001\002\000\010\015\uff90\164\uff90\301" +
    "\uff90\001\002\000\020\015\uff95\145\uff95\164\uff95\171\uff95" +
    "\215\uff95\262\uff95\270\uff95\001\002\000\004\020\u02b8\001" +
    "\002\000\004\103\u02b9\001\002\000\004\014\uff94\001\002" +
    "\000\004\023\u02bf\001\002\000\016\004\222\005\225\012" +
    "\226\141\223\251\231\335\221\001\002\000\020\015\uffa2" +
    "\145\uffa2\164\uffa2\171\uffa2\215\uffa2\262\uffa2\270\uffa2\001" +
    "\002\000\036\011\241\017\u02be\155\234\255\246\334\240" +
    "\335\233\336\236\337\242\340\235\341\237\342\244\343" +
    "\243\344\247\345\245\001\002\000\020\015\uffa1\145\uffa1" +
    "\164\uffa1\171\uffa1\215\uffa1\262\uffa1\270\uffa1\001\002\000" +
    "\016\004\222\005\225\012\226\141\223\251\231\335\221" +
    "\001\002\000\036\011\241\017\u02c1\155\234\255\246\334" +
    "\240\335\233\336\236\337\242\340\235\341\237\342\244" +
    "\343\243\344\247\345\245\001\002\000\020\015\uffa0\145" +
    "\uffa0\164\uffa0\171\uffa0\215\uffa0\262\uffa0\270\uffa0\001\002" +
    "\000\004\020\u02c3\001\002\000\010\074\315\075\316\141" +
    "\313\001\002\000\010\017\uff9f\023\uff9f\202\uff9f\001\002" +
    "\000\004\141\u02c6\001\002\000\004\020\u02c7\001\002\000" +
    "\010\074\315\075\316\141\313\001\002\000\006\017\uff9c" +
    "\023\uff9c\001\002\000\004\121\u02ca\001\002\000\004\020" +
    "\u02cb\001\002\000\004\116\u02cc\001\002\000\006\014\uff88" +
    "\017\uff88\001\002\000\006\062\u02cf\063\u02ce\001\002\000" +
    "\004\165\u02dc\001\002\000\004\165\u02d0\001\002\000\004" +
    "\141\u02d1\001\002\000\006\021\u02d2\022\u02d3\001\002\000" +
    "\004\141\u02d8\001\002\000\004\141\u02d4\001\002\000\004" +
    "\021\u02d5\001\002\000\004\141\u02d6\001\002\000\004\017" +
    "\u02d7\001\002\000\014\015\uffc2\164\uffc2\166\uffc2\232\uffc2" +
    "\262\uffc2\001\002\000\004\022\u02d9\001\002\000\004\141" +
    "\u02da\001\002\000\004\017\u02db\001\002\000\014\015\uffc3" +
    "\164\uffc3\166\uffc3\232\uffc3\262\uffc3\001\002\000\004\141" +
    "\u02dd\001\002\000\006\021\u02de\022\u02df\001\002\000\004" +
    "\141\u02e4\001\002\000\004\141\u02e0\001\002\000\004\021" +
    "\u02e1\001\002\000\004\141\u02e2\001\002\000\004\017\u02e3" +
    "\001\002\000\014\015\uffc0\164\uffc0\166\uffc0\232\uffc0\262" +
    "\uffc0\001\002\000\004\022\u02e5\001\002\000\004\141\u02e6" +
    "\001\002\000\004\017\u02e7\001\002\000\014\015\uffc1\164" +
    "\uffc1\166\uffc1\232\uffc1\262\uffc1\001\002\000\006\015\u02ea" +
    "\164\275\001\002\000\004\015\u02eb\001\002\000\014\015" +
    "\uffec\164\uffec\166\uffec\232\uffec\262\uffec\001\002\000\014" +
    "\015\uffed\164\uffed\166\uffed\232\uffed\262\uffed\001\002\000" +
    "\004\265\u02ef\001\002\000\014\015\uffbd\164\uffbd\166\uffbd" +
    "\232\uffbd\262\uffbd\001\002\000\006\015\u02fb\164\275\001" +
    "\002\000\004\262\u02f0\001\002\000\004\041\u02f1\001\002" +
    "\000\006\020\u02f3\022\u02f2\001\002\000\004\141\u02f8\001" +
    "\002\000\004\055\u02f4\001\002\000\004\022\u02f5\001\002" +
    "\000\004\141\u02f6\001\002\000\004\017\u02f7\001\002\000" +
    "\006\015\uffb8\164\uffb8\001\002\000\004\017\u02f9\001\002" +
    "\000\006\015\uffb7\164\uffb7\001\002\000\004\015\u02fc\001" +
    "\002\000\014\015\uffbb\164\uffbb\166\uffbb\232\uffbb\262\uffbb" +
    "\001\002\000\014\015\uffba\164\uffba\166\uffba\232\uffba\262" +
    "\uffba\001\002\000\004\015\u02fe\001\002\000\014\015\uffb9" +
    "\164\uffb9\166\uffb9\232\uffb9\262\uffb9\001\002\000\014\015" +
    "\uffb6\164\uffb6\166\uffb6\232\uffb6\262\uffb6\001\002\000\006" +
    "\015\u0303\164\u0301\001\002\000\004\141\u0307\001\002\000" +
    "\014\015\uffb4\164\uffb4\166\uffb4\232\uffb4\262\uffb4\001\002" +
    "\000\014\015\uffb5\164\uffb5\166\uffb5\232\uffb5\262\uffb5\001" +
    "\002\000\006\015\u0306\164\u0301\001\002\000\014\015\uffb0" +
    "\164\uffb0\166\uffb0\232\uffb0\262\uffb0\001\002\000\014\015" +
    "\uffb1\164\uffb1\166\uffb1\232\uffb1\262\uffb1\001\002\000\004" +
    "\271\u0308\001\002\000\004\141\u0309\001\002\000\004\017" +
    "\u030a\001\002\000\006\015\uffaf\164\uffaf\001\002\000\006" +
    "\013\uffd3\016\uffd3\001\002\000\004\022\u0323\001\002\000" +
    "\004\022\u0321\001\002\000\004\013\u031f\001\002\000\006" +
    "\013\uffd4\016\uffd4\001\002\000\006\013\uffd1\016\uffd1\001" +
    "\002\000\006\013\uffd7\016\u031d\001\002\000\006\013\uffd2" +
    "\016\uffd2\001\002\000\004\022\u031b\001\002\000\004\022" +
    "\u0319\001\002\000\004\022\u0317\001\002\000\006\013\uffd5" +
    "\016\uffd5\001\002\000\004\004\u0318\001\002\000\006\013" +
    "\uffcd\016\uffcd\001\002\000\004\141\u031a\001\002\000\006" +
    "\013\uffd0\016\uffd0\001\002\000\004\005\u031c\001\002\000" +
    "\006\013\uffcc\016\uffcc\001\002\000\014\025\u0313\026\u0315" +
    "\027\u030d\031\u0314\032\u030c\001\002\000\004\013\uffd6\001" +
    "\002\000\004\017\u0320\001\002\000\014\015\uffdd\164\uffdd" +
    "\166\uffdd\232\uffdd\262\uffdd\001\002\000\004\005\u0322\001" +
    "\002\000\006\013\uffce\016\uffce\001\002\000\004\141\u0324" +
    "\001\002\000\006\013\uffcf\016\uffcf\001\002\000\004\015" +
    "\ufffd\001\002\000\004\013\u0327\001\002\000\004\017\u0328" +
    "\001\002\000\014\015\uffd9\164\uffd9\166\uffd9\232\uffd9\262" +
    "\uffd9\001\002\000\004\141\u032a\001\002\000\006\305\136" +
    "\333\140\001\002\000\004\100\u032c\001\002\000\004\014" +
    "\uffeb\001\002\000\004\013\u032e\001\002\000\004\017\u032f" +
    "\001\002\000\014\015\uffdb\164\uffdb\166\uffdb\232\uffdb\262" +
    "\uffdb\001\002\000\004\002\000\001\002" });

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

  /** <code>reduce_goto</code> table. */
  protected static final short[][] _reduce_table = 
    unpackFromStrings(new String[] {
    "\000\u032e\000\004\004\003\001\001\000\002\001\001\000" +
    "\002\001\001\000\002\001\001\000\066\005\041\006\021" +
    "\011\011\013\035\014\036\017\024\020\043\021\013\022" +
    "\012\032\031\033\016\034\020\035\044\036\023\037\022" +
    "\040\026\041\010\042\015\043\025\044\033\045\014\046" +
    "\030\053\034\054\032\055\042\056\040\001\001\000\002" +
    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
    "\000\020\023\u032c\024\u0310\025\u0315\026\u030e\027\u030a\030" +
    "\u0311\031\u030f\001\001\000\002\001\001\000\020\023\u0325" +
    "\024\u0310\025\u0315\026\u030e\027\u030a\030\u0311\031\u030f\001" +
    "\001\000\066\005\u0324\006\021\011\011\013\035\014\036" +
    "\017\024\020\043\021\013\022\012\032\031\033\016\034" +
    "\020\035\044\036\023\037\022\040\026\041\010\042\015" +
    "\043\025\044\033\045\014\046\030\053\034\054\032\055" +
    "\042\056\040\001\001\000\002\001\001\000\002\001\001" +
    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
    "\002\001\001\000\002\001\001\000\020\023\u030d\024\u0310" +
    "\025\u0315\026\u030e\027\u030a\030\u0311\031\u030f\001\001\000" +
    "\002\001\001\000\002\001\001\000\014\015\u02eb\016\276" +
    "\047\u02ec\050\u02ed\101\277\001\001\000\002\001\001\000" +
    "\002\001\001\000\002\001\001\000\044\055\176\056\040" +
    "\057\166\060\165\061\174\062\160\063\157\064\164\065" +
    "\167\066\151\071\170\072\156\073\154\076\173\077\163" +
    "\100\175\171\172\001\001\000\002\001\001\000\002\001" +
    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
    "\002\001\001\000\004\010\111\001\001\000\002\001\001" +
    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
    "\004\012\115\001\001\000\002\001\001\000\002\001\001" +
    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
    "\004\012\120\001\001\000\002\001\001\000\004\012\122" +
    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
    "\002\001\001\000\004\007\136\001\001\000\002\001\001" +
    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
    "\001\000\044\055\176\056\040\057\u02aa\060\165\061\174" +
    "\062\160\063\157\064\164\065\167\066\151\071\170\072" +
    "\156\073\154\076\173\077\163\100\175\171\172\001\001" +
    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
    "\001\000\002\001\001\000\002\001\001\000\010\233\226" +
    "\234\227\235\223\001\001\000\010\233\271\234\227\235" +
    "\223\001\001\000\002\001\001\000\002\001\001\000\002" +
    "\001\001\000\002\001\001\000\010\233\265\234\227\235" +
    "\223\001\001\000\002\001\001\000\002\001\001\000\010" +
    "\233\231\234\227\235\223\001\001\000\002\001\001\000" +
    "\010\233\263\234\227\235\223\001\001\000\010\233\262" +
    "\234\227\235\223\001\001\000\010\233\261\234\227\235" +
    "\223\001\001\000\010\233\260\234\227\235\223\001\001" +
    "\000\010\233\257\234\227\235\223\001\001\000\010\233" +
    "\256\234\227\235\223\001\001\000\010\233\255\234\227" +
    "\235\223\001\001\000\010\233\254\234\227\235\223\001" +
    "\001\000\010\233\253\234\227\235\223\001\001\000\010" +
    "\233\252\234\227\235\223\001\001\000\010\233\251\234" +
    "\227\235\223\001\001\000\010\233\250\234\227\235\223" +
    "\001\001\000\010\233\247\234\227\235\223\001\001\000" +
    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
    "\002\001\001\000\002\001\001\000\002\001\001\000\004" +
    "\235\270\001\001\000\002\001\001\000\002\001\001\000" +
    "\010\015\273\016\276\101\277\001\001\000\002\001\001" +
    "\000\002\001\001\000\002\001\001\000\010\015\307\016" +
    "\276\101\277\001\001\000\004\102\302\001\001\000\002" +
    "\001\001\000\010\233\304\234\227\235\223\001\001\000" +
    "\002\001\001\000\002\001\001\000\002\001\001\000\010" +
    "\233\306\234\227\235\223\001\001\000\002\001\001\000" +
    "\002\001\001\000\002\001\001\000\004\002\313\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\074" +
    "\074\343\075\347\103\331\104\326\105\335\106\334\107" +
    "\355\110\352\111\323\112\361\113\351\114\336\115\333" +
    "\116\324\117\342\155\325\156\337\157\346\160\344\161" +
    "\330\162\327\163\322\164\357\165\345\166\340\167\356" +
    "\170\360\200\354\205\332\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\201\u01d7\214\u01d6\215\u01d4" +
    "\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\074" +
    "\074\u01a1\075\347\103\331\104\326\105\335\106\334\107" +
    "\355\110\352\111\323\112\361\113\351\114\336\115\333" +
    "\116\324\117\342\155\325\156\337\157\346\160\344\161" +
    "\330\162\327\163\322\164\357\165\345\166\340\167\356" +
    "\170\360\200\354\205\332\001\001\000\002\001\001\000" +
    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
    "\001\000\002\001\001\000\004\121\u0100\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\006\123\u0106" +
    "\227\u0107\001\001\000\002\001\001\000\034\124\u0114\125" +
    "\u0117\130\u011b\131\u0108\132\u0111\133\u0116\134\u011a\147\u010f" +
    "\150\u010b\151\u0112\152\u0109\153\u011c\154\u0113\001\001\000" +
    "\002\001\001\000\030\126\u0180\127\u0122\135\u0120\136\u011d" +
    "\142\u0125\143\u012b\144\u011e\145\u0129\146\u0127\172\u0123\226" +
    "\u012a\001\001\000\002\001\001\000\030\126\u017d\127\u0122" +
    "\135\u0120\136\u011d\142\u0125\143\u012b\144\u011e\145\u0129\146" +
    "\u0127\172\u0123\226\u012a\001\001\000\002\001\001\000\002" +
    "\001\001\000\010\233\u0174\234\227\235\223\001\001\000" +
    "\030\126\u0172\127\u0122\135\u0120\136\u011d\142\u0125\143\u012b" +
    "\144\u011e\145\u0129\146\u0127\172\u0123\226\u012a\001\001\000" +
    "\002\001\001\000\002\001\001\000\030\126\u016f\127\u0122" +
    "\135\u0120\136\u011d\142\u0125\143\u012b\144\u011e\145\u0129\146" +
    "\u0127\172\u0123\226\u012a\001\001\000\030\126\u016d\127\u0122" +
    "\135\u0120\136\u011d\142\u0125\143\u012b\144\u011e\145\u0129\146" +
    "\u0127\172\u0123\226\u012a\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\030\126\u0121\127\u0122\135\u0120\136\u011d\142\u0125\143" +
    "\u012b\144\u011e\145\u0129\146\u0127\172\u0123\226\u012a\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\014\137\u012d\141" +
    "\u012f\233\u0130\234\227\235\223\001\001\000\002\001\001" +
    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
    "\010\233\u0132\234\227\235\223\001\001\000\002\001\001" +
    "\000\010\233\u0134\234\227\235\223\001\001\000\002\001" +
    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
    "\001\001\000\002\001\001\000\002\001\001\000\020\204" +
    "\u0146\230\u0143\232\u014a\233\u0147\234\u0149\235\u0145\236\u0142" +
    "\001\001\000\022\233\u0147\234\u0155\235\u0153\236\u014f\237" +
    "\u0151\241\u0157\242\u0150\243\u0154\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\016\230\u014d\232\u014a\233\u0147\234\u0149\235" +
    "\u0145\236\u0142\001\001\000\002\001\001\000\002\001\001" +
    "\000\002\001\001\000\022\233\u0147\234\u0155\235\u0153\236" +
    "\u014f\237\u0151\241\u0157\242\u0150\243\u015e\001\001\000\002" +
    "\001\001\000\004\240\u015a\001\001\000\002\001\001\000" +
    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
    "\001\000\022\233\u0147\234\u0155\235\u0153\236\u014f\237\u0151" +
    "\241\u0157\242\u0150\243\u015c\001\001\000\002\001\001\000" +
    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
    "\001\001\000\012\231\u0162\233\u0161\234\227\235\223\001" +
    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
    "\000\002\001\001\000\002\001\001\000\030\126\u0167\127" +
    "\u0122\135\u0120\136\u011d\142\u0125\143\u012b\144\u011e\145\u0129" +
    "\146\u0127\172\u0123\226\u012a\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" +
    "\034\124\u0176\125\u0117\130\u011b\131\u0108\132\u0111\133\u0116" +
    "\134\u011a\147\u010f\150\u010b\151\u0112\152\u0109\153\u011c\154" +
    "\u0113\001\001\000\002\001\001\000\002\001\001\000\002" +
    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
    "\002\001\001\000\002\001\001\000\004\121\u0185\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" +
    "\121\u018c\001\001\000\002\001\001\000\002\001\001\000" +
    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
    "\002\001\001\000\002\001\001\000\004\121\u01ab\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" +
    "\121\u01b2\001\001\000\002\001\001\000\002\001\001\000" +
    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
    "\001\000\004\121\u01bc\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\120\u01c5\001\001\000\002\001\001\000\002\001" +
    "\001\000\002\001\001\000\002\001\001\000\006\123\u01cb" +
    "\227\u0107\001\001\000\010\122\u01cc\123\u01cd\227\u0107\001" +
    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
    "\000\010\122\u01cf\123\u01cd\227\u0107\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\014\206\u01de\222\u01dc\223" +
    "\u01e1\224\u01df\225\u01e0\001\001\000\002\001\001\000\002" +
    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
    "\001\001\000\014\206\u01f9\222\u01dc\223\u01e1\224\u01df\225" +
    "\u01e0\001\001\000\002\001\001\000\004\207\u01fb\001\001" +
    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
    "\002\001\001\000\004\202\u0201\001\001\000\006\203\u0203" +
    "\211\u0204\001\001\000\002\001\001\000\002\001\001\000" +
    "\004\202\u0214\001\001\000\006\003\u020d\213\u020b\001\001" +
    "\000\002\001\001\000\002\001\001\000\006\232\u0209\236" +
    "\u0142\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\016\230\u020f\232\u014a\233\u0147\234\u0149\235\u0145" +
    "\236\u0142\001\001\000\002\001\001\000\002\001\001\000" +
    "\002\001\001\000\002\001\001\000\006\203\u0203\211\u0204" +
    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
    "\000\002\001\001\000\014\206\u021c\222\u01dc\223\u01e1\224" +
    "\u01df\225\u01e0\001\001\000\002\001\001\000\002\001\001" +
    "\000\010\210\u0224\216\u0220\217\u0221\001\001\000\002\001" +
    "\001\000\004\217\u0239\001\001\000\004\216\u0238\001\001" +
    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
    "\002\001\001\000\002\001\001\000\006\220\u022a\221\u0229" +
    "\001\001\000\004\211\u022e\001\001\000\006\220\u022c\221" +
    "\u0229\001\001\000\002\001\001\000\004\211\u022e\001\001" +
    "\000\002\001\001\000\002\001\001\000\004\213\u022f\001" +
    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
    "\001\000\004\121\u024a\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\006\121\u0253" +
    "\173\u0254\001\001\000\002\001\001\000\002\001\001\000" +
    "\002\001\001\000\004\121\u0258\001\001\000\002\001\001" +
    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
    "\002\001\001\000\004\173\u025c\001\001\000\002\001\001" +
    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
    "\002\001\001\000\010\174\u0266\175\u0263\212\u0264\001\001" +
    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
    "\002\001\001\000\002\001\001\000\004\175\u0268\001\001" +
    "\000\002\001\001\000\002\001\001\000\004\213\u026b\001" +
    "\001\000\002\001\001\000\006\174\u026d\212\u0264\001\001" +
    "\000\002\001\001\000\002\001\001\000\004\140\u0271\001" +
    "\001\000\002\001\001\000\002\001\001\000\010\233\u0273" +
    "\234\227\235\223\001\001\000\002\001\001\000\010\233" +
    "\u0275\234\227\235\223\001\001\000\002\001\001\000\002" +
    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
    "\001\000\004\121\u027b\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\006\121\u0285" +
    "\176\u0284\001\001\000\002\001\001\000\002\001\001\000" +
    "\002\001\001\000\004\176\u0287\001\001\000\002\001\001" +
    "\000\002\001\001\000\002\001\001\000\004\121\u028d\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\174\u0295\177\u0294\212\u0264\001\001" +
    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
    "\004\177\u0297\001\001\000\002\001\001\000\002\001\001" +
    "\000\006\174\u029a\212\u0264\001\001\000\002\001\001\000" +
    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
    "\002\001\001\000\002\001\001\000\002\001\001\000\012" +
    "\016\u02b0\067\u02ac\070\u02af\101\277\001\001\000\002\001" +
    "\001\000\002\001\001\000\002\001\001\000\012\016\u02b0" +
    "\067\u02b1\070\u02af\101\277\001\001\000\002\001\001\000" +
    "\002\001\001\000\004\002\u02b3\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" +
    "\233\u02bc\234\227\235\223\001\001\000\002\001\001\000" +
    "\002\001\001\000\002\001\001\000\010\233\u02bf\234\227" +
    "\235\223\001\001\000\002\001\001\000\002\001\001\000" +
    "\002\001\001\000\004\002\u02c3\001\001\000\002\001\001" +
    "\000\002\001\001\000\002\001\001\000\004\002\u02c7\001" +
    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
    "\010\015\u02e8\016\276\101\277\001\001\000\002\001\001" +
    "\000\002\001\001\000\002\001\001\000\004\050\u02fc\001" +
    "\001\000\002\001\001\000\010\015\u02f9\016\276\101\277" +
    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
    "\001\000\002\001\001\000\006\051\u0301\052\u0303\001\001" +
    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
    "\006\051\u0304\052\u0303\001\001\000\002\001\001\000\002" +
    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
    "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
    "\020\023\u031d\024\u0310\025\u0315\026\u030e\027\u030a\030\u0311" +
    "\031\u030f\001\001\000\002\001\001\000\002\001\001\000" +
    "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
    "\000\004\007\u032a\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" });

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

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

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

  /** Invoke a user supplied parse action. */
  @Override
  public java_cup.runtime.Symbol do_action(
    int                        act_num,
    java_cup.runtime.lr_parser parser,
    java.util.Stack<java_cup.runtime.Symbol>    stack,
    int                        top)
    throws java.lang.Exception
  {
    /* call code in generated class */
    return action_obj.CUP$AvatarFromSysMLParser$do_action(act_num, parser, stack, top);
  }

  /** Indicates start state. */
  @Override
  public int start_state() {return 0;}
  /** Indicates start production. */
  @Override
  public int start_production() {return 1;}

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

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



    AvatarFromSysMLLexer lexer = (AvatarFromSysMLLexer) getScanner();
    @Override
    public void user_init() {
        errors = new ArrayList<AvatarFromSysMLError>();
        dataTypeMap = new HashMap<String,StxDataType>();
        relationMap = new HashMap<String,StxRelation>();
        channelMap = new HashMap<String,StxChannel>();
        blockMap = new HashMap<String,StxBlock>();
        signalMap = new HashMap<String,StxSignal>();
        inMessageMap = new HashMap<String,StxInMessage>();
        outMessageMap = new HashMap<String,StxOutMessage>();
        blockHierarchy = new ArrayList<StxBlock>();
        attributeHierarchy = new ArrayList<HashMap<String,StxAttribute>>();
        methodHierarchy = new ArrayList<HashMap<String,StxMethod>>();
        commTransitions = new ArrayList<StxTransition>();
        theBlock = null;
    }
    public StxModel parseModel() {
        try {
            StxModel m = (StxModel) parse().value;
            outMessageMap.forEach(new Complete());
            for(StxTransition st: commTransitions) updateSignal(st);
            return m;
        }
        catch (java.lang.Exception e) {
            addError(new AvatarFromSysMLError(AvatarFromSysMLError.HIGHERROR, lexer.getErrorLocation(), e.getMessage()));
            return null;
        }
    }
    private class Complete implements BiConsumer<String, StxOutMessage> {
        public Complete(){};
        public void accept(String s, StxOutMessage o) { o.complete(errors); }
    }
    private void updateSignal(StxTransition st) {
        String name = st.getSignalName();
        StxBlock blk = blockMap.get(st.getBlockName());
        while (blk != null) {
            int size = blk.getNbSignals();
            int i;
            for (i = 0; i < size; i++) {
                StxSignal s = blk.getSignal(i);
                if (s.getName().equals(name)) {
                    st.setSignal(s);
                    break;
                }
            }
            if (i < size) blk = null;
            else blk = blk.getFather();
        }
    }
    private StxField theField;
    private StringBuffer stringAcc = new StringBuffer();
    private ArrayList<AvatarFromSysMLError> errors;
    private void addError(AvatarFromSysMLError _err) { errors.add(_err); }
    public ArrayList<AvatarFromSysMLError> getErrors() { return errors; }
    private StxStructure theStructure;
    private HashMap<String,StxDataType> dataTypeMap;
    private StxRelation theRelation;
    private HashMap<String,StxRelation> relationMap;
    private void getRelation(String _name) {
        theRelation = relationMap.get(_name);
        if (theRelation == null) {
            theRelation = new StxRelation(_name);
            relationMap.put(_name, theRelation);
        }
    }
    Location block1ParamFlag;
    Location block2ParamFlag;
    Location privateParamFlag;
    Location maxsizeParamFlag;
    Location lossyParamFlag;
    void clearRelationParams() {
        block1ParamFlag = null;
        block2ParamFlag = null;
        privateParamFlag = null;
        maxsizeParamFlag = null;
        lossyParamFlag = null;
    }

    private StxChannel theChannel;
    private HashMap<String,StxChannel> channelMap;
    private void getChannel(String _name) {
        theChannel = channelMap.get(_name);
        if (theChannel == null) {
            theChannel = new StxChannel(_name);
            channelMap.put(_name, theChannel);
        }
    }
    private StxBlock theBlock;
    private HashMap<String,StxBlock> blockMap;
    private void getBlock(String _name) {
        theBlock = blockMap.get(_name);
        if (theBlock == null) {
            theBlock = new StxBlock(_name);
            blockMap.put(_name, theBlock);
        }
    }
    private StxSignal theSignal;
    private HashMap<String,StxSignal> signalMap;
    private void getSignal(String _blockname, String _signalname) {
        String key = _blockname + "." + _signalname;
        theSignal = signalMap.get(key);
        if (theSignal == null) {
            theSignal = new StxSignal(_signalname);
            signalMap.put(key, theSignal);
        }
    }

    Location messageChannelParam;
    private HashMap<String,StxInMessage> inMessageMap;
    private void getInMessage(String _name) {
        theStructure = inMessageMap.get(_name);
        if (theStructure == null) {
            theStructure = new StxInMessage(_name);
            inMessageMap.put(_name, (StxInMessage)theStructure);
        }
    }
    private StxOutMessage theOutMessage;
    private HashMap<String,StxOutMessage> outMessageMap;
    private void getOutMessage(String _name, StxInMessage _msg) {
        theOutMessage = outMessageMap.get(_name);
        if (theOutMessage == null) {
            theOutMessage = new StxOutMessage(_name, _msg);
            outMessageMap.put(_name, theOutMessage);
        }
    }
    private ArrayList<StxBlock> blockHierarchy;
    private ArrayList<HashMap<String,StxAttribute>> attributeHierarchy;
    private ArrayList<HashMap<String,StxMethod>> methodHierarchy;
    private void pushBlock() {
        blockHierarchy.add(theBlock);
        theBlock = null;
        attributeHierarchy.add(attributeMap);
        attributeMap = new HashMap<String,StxAttribute>();
        methodHierarchy.add(methodMap);
        methodMap = new HashMap<String,StxMethod>();
    }
    private void popBlock() {
        theBlock = blockHierarchy.get(blockHierarchy.size() -1);
        blockHierarchy.remove(blockHierarchy.size() -1);
        attributeMap = attributeHierarchy.get(attributeHierarchy.size() -1);
        attributeHierarchy.remove(attributeHierarchy.size() -1);
        methodMap = methodHierarchy.get(methodHierarchy.size() -1);
        methodHierarchy.remove(methodHierarchy.size() -1);
    }
    private StxAttribute theAttribute;
    private HashMap<String,StxAttribute> attributeMap;
    private void getAttribute(String _name, String _type) {
        theAttribute = attributeMap.get(_name);
        if (theAttribute == null) {
            theAttribute = new StxAttribute(_name, _type);
            attributeMap.put(_name, theAttribute);
        }
    }

    private HashMap<String,StxMethod> methodMap;
    private void getMethod(String _name) {
        theStructure = new StxMethod(_name);
        if (theStructure == null) {
            theStructure = new StxMethod(_name);
            methodMap.put(_name, (StxMethod)theStructure);
        }
    }
    private StxState theState;
    private HashMap<String,StxState> stateMap;
    private void getState(String _name) {
        theState = stateMap.get(_name);
        if (theState == null) {
            theState = new StxState(_name);
            stateMap.put(_name, theState);
        }
    }
    int requestIndex;
    private StxTransition theTransition;
    private void getTransition(int _index) {
        theTransition = theState.getTransition(_index);
    }
    private Location indexArg;
    private Location delayArg;
    private Location channelArg;
    private Location payloadArg;
    private Location settimerArg;
    private Location resettimerArg;
    private Location expiretimerArg;
    private boolean argOK;
    private void clearRequestArgs() {
        indexArg = null;
        delayArg = null;
        channelArg = null;
        payloadArg = null;
        settimerArg = null;
        resettimerArg = null;
        expiretimerArg = null;
    }

    private ArrayList<StxTerm> argList;
    private ArrayList<StxAction> actionList;
    private HashMap<String,String> receiveMap;
    HashMap<String,String> delayExtraMap = null;
    private StxCall theCall;

    ArrayList<StxTransition> commTransitions;
    private Location distributionLbl;
    private Location weightLbl;
    private void clearTransitionLbls() {
        distributionLbl = null;
        weightLbl = null;
    }
    private boolean okRequest;

    public void report_fatal_error(String message, Object info) throws Exception {
        this.done_parsing();
        ComplexSymbolFactory.ComplexSymbol cs = (ComplexSymbolFactory.ComplexSymbol)info;
        lexer.setErrorLocation(cs.getLeft());
        throw new Exception("parser: syntax error for input symbol \"" + cs.getName() + "\"");
    }
    public void report_error(String message, Object info) {}
    public void syntax_error(Symbol cur_token) {}

    private void tryTrivialRequest(Location left, Location right) {
        getTransition(requestIndex);
        if (theTransition.isRequested()) {
            addError( new AvatarFromSysMLError(
                AvatarFromSysMLError.LOWERROR,
                left,
                "Transition " + requestIndex + " is already requested",
                theTransition.getRleft()) );
        } else {
            theTransition.setRleft(left);
            theTransition.setRright(right);
            theTransition.setRequested(true);
            theTransition.setType(AvatarFromSysMLSyntax.STXTRIVIALTRANSITION);
        }
    }


/** Cup generated class to encapsulate user supplied action code.*/
class CUP$AvatarFromSysMLParser$actions {
  private final AvatarFromSysMLParser parser;

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

  /** Method 0 with the actual generated action code for actions 0 to 300. */
  public final java_cup.runtime.Symbol CUP$AvatarFromSysMLParser$do_action_part00000000(
    int                        CUP$AvatarFromSysMLParser$act_num,
    java_cup.runtime.lr_parser CUP$AvatarFromSysMLParser$parser,
    java.util.Stack<java_cup.runtime.Symbol>    CUP$AvatarFromSysMLParser$stack,
    int                        CUP$AvatarFromSysMLParser$top)
    throws java.lang.Exception
    {
      /* Symbol object for return from actions */
      java_cup.runtime.Symbol CUP$AvatarFromSysMLParser$result;

      /* select the action based on the action number */
      switch (CUP$AvatarFromSysMLParser$act_num)
        {
          /*. . . . . . . . . . . . . . . . . . . .*/
          case 0: // model ::= PACKAGE IDENT LBRAC featureList RBRAC 
            {
              StxModel RESULT =null;
		
        RESULT =
        new StxModel(errors,dataTypeMap,relationMap,channelMap,blockMap,signalMap);
      
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("model",2, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 1: // $START ::= model EOF 
            {
              Object RESULT =null;
		Location start_valxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xleft;
		Location start_valxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xright;
		StxModel start_val = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1).<StxModel>value();
		RESULT = start_val;
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("$START",0, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          /* ACCEPT */
          CUP$AvatarFromSysMLParser$parser.done_parsing();
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 2: // model ::= PACKAGE IDENT LBRAC RBRAC 
            {
              StxModel RESULT =null;
		
        RESULT =
        new StxModel(errors,dataTypeMap,relationMap,channelMap,blockMap,signalMap);
      
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("model",2, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

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

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("featureList",3, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 4: // featureList ::= feature featureList 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("featureList",3, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 5: // feature ::= IMPORT 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("feature",4, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 6: // feature ::= datatypeDecl 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("feature",4, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 7: // feature ::= relationDecl 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("feature",4, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 8: // feature ::= channelDecl 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("feature",4, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 9: // feature ::= signalBinding 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("feature",4, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

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

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("feature",4, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 11: // feature ::= blockDecl 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("feature",4, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 12: // feature ::= blockAlias 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("feature",4, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 13: // specializes ::= SPECIALIZES 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("specializes",5, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 14: // specializes ::= REFINES 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("specializes",5, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 15: // subsets ::= SUBSETS 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("subsets",6, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 16: // subsets ::= REFINES 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("subsets",6, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 17: // blockAlias ::= PART IDENT COLON AVBLOCK_T subsets blockChain EQUAL blockChain SEMICOLON 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("blockAlias",7, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-8), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 18: // blockChain ::= IDENT 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("blockChain",8, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 19: // blockChain ::= IDENT POINT blockChain 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("blockChain",8, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 20: // datatypeDecl ::= datatypeDeclHEADER LBRAC fieldDecls RBRAC 
            {
              Object RESULT =null;
		Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location bxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object b = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
        theStructure.setRight(bxright);
      
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("datatypeDecl",9, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 21: // datatypeDecl ::= datatypeDeclHEADER LBRAC RBRAC 
            {
              Object RESULT =null;
		Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location bxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object b = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
        theStructure.setRight(bxright);
      
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("datatypeDecl",9, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 22: // datatypeDeclHEADER ::= ATTRIBUTE DEF IDENT specializes AVDATATYPE_T 
            {
              Object RESULT =null;
		Location axleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xleft;
		Location axright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xright;
		Object a = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4).<Object>value();
		Location idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft;
		Location idxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xright;
		Ident id = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2).<Ident>value();
		
    theStructure = dataTypeMap.get(id.getAvatarName());
    if (theStructure == null) {
        theStructure = new StxDataType(id.getAvatarName());
        dataTypeMap.put(id.getAvatarName(), (StxDataType) theStructure);
    }
    if (! theStructure.declare() ) {
        addError( new AvatarFromSysMLError(AvatarFromSysMLError.LOWERROR, axleft, "Datatype " + id.getAvatarName() +
        " is already declared", theStructure.getLeft()) );
    } else
        theStructure.setLeft(axleft);

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("datatypeDeclHEADER",10, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 23: // fieldDecls ::= fieldDecl 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("fieldDecls",11, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 24: // fieldDecls ::= fieldDecl fieldDecls 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("fieldDecls",11, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 25: // fieldDecl ::= fieldDeclBegin fieldVal SEMICOLON 
            {
              Object RESULT =null;
		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object q = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
    theField.setRight(qxright);

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("fieldDecl",12, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 26: // fieldDeclBegin ::= ATTRIBUTE IDENT COLON typeIdent 
            {
              Object RESULT =null;
		Location axleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xleft;
		Location axright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xright;
		Object a = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3).<Object>value();
		Location idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft;
		Location idxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xright;
		Ident id = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2).<Ident>value();
		Location tpxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location tpxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		String tp = CUP$AvatarFromSysMLParser$stack.peek().<String>value();
		
    theField = new StxField(axleft, axright, id.getAvatarName(), tp);
    StxField clash = theStructure.addField(theField);
    if (clash != null)
        addError( new AvatarFromSysMLError(AvatarFromSysMLError.HIGHWARNING, axleft, "Field " + id.getAvatarName() +
        " is already declared", clash.getLeft()) );
    theField.setLeft(axleft);

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("fieldDeclBegin",63, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

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

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("fieldVal",64, CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 28: // fieldVal ::= GETS iexpr 
            {
              Object RESULT =null;
		Location exleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location exright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		String e = CUP$AvatarFromSysMLParser$stack.peek().<String>value();
		  theField.setInitialValue(e);  
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("fieldVal",64, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 29: // fieldVal ::= DEFAULT GETS iexpr 
            {
              Object RESULT =null;
		Location exleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location exright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		String e = CUP$AvatarFromSysMLParser$stack.peek().<String>value();
		  theField.setInitialValue(e);  theField.setDefaultValue(true); 
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("fieldVal",64, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 30: // typeIdent ::= INTEGER_T 
            {
              String RESULT =null;
		 RESULT = "Integer"; 
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("typeIdent",0, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 31: // typeIdent ::= BOOLEAN_T 
            {
              String RESULT =null;
		 RESULT = "Boolean"; 
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("typeIdent",0, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 32: // typeIdent ::= IDENT 
            {
              String RESULT =null;
		Location idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location idxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Ident id = CUP$AvatarFromSysMLParser$stack.peek().<Ident>value();
		 RESULT = id.getAvatarName(); 
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("typeIdent",0, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 33: // relationDecl ::= syncRelDecl 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("relationDecl",13, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 34: // relationDecl ::= nbfRelDecl 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("relationDecl",13, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 35: // relationDecl ::= bfRelDecl 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("relationDecl",13, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 36: // syncRelDecl ::= syncRelDeclBegin relParams RPAR SEMICOLON 
            {
              Object RESULT =null;
		Location xxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location xxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object x = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
    theRelation.setRight(xxright);

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("syncRelDecl",14, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 37: // syncRelDeclBegin ::= PART IDENT COLON SYNCREL_T EQUAL SYNCREL_T LPAR 
            {
              Object RESULT =null;
		Location pxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6)).xleft;
		Location pxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6)).xright;
		Object p = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6).<Object>value();
		Location idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5)).xleft;
		Location idxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5)).xright;
		Ident id = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5).<Ident>value();
		
        Location l = idxleft;
        getRelation(id.getAvatarName());
        if (! theRelation.declare() ) {
            addError( new AvatarFromSysMLError(AvatarFromSysMLError.LOWERROR, pxleft, "Relation " + id.getAvatarName() +
            " is already declared", theRelation.getLeft()) );
        } else {
            theRelation.setAsynchronous(false);
            theRelation.setLeft(pxleft);
        }
        clearRelationParams();

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("syncRelDeclBegin",24, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 38: // nbfRelDecl ::= nbfRelDeclBegin relParams RPAR SEMICOLON 
            {
              Object RESULT =null;
		Location xxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location xxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object x = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
    theRelation.setRight(xxright);

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("nbfRelDecl",15, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 39: // nbfRelDeclBegin ::= PART IDENT COLON NBFIFOREL_T EQUAL NBFIFOREL_T LPAR 
            {
              Object RESULT =null;
		Location pxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6)).xleft;
		Location pxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6)).xright;
		Object p = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6).<Object>value();
		Location idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5)).xleft;
		Location idxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5)).xright;
		Ident id = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5).<Ident>value();
		
       getRelation(id.getAvatarName());
        if (! theRelation.declare() ) {
            addError( new AvatarFromSysMLError(AvatarFromSysMLError.LOWERROR, pxleft, "Relation " + id.getAvatarName() +
            " is already declared", theRelation.getLeft()) );
        } else {
           theRelation.setAsynchronous(true);
           theRelation.setBlocking(false);
           theRelation.setLeft(pxleft);
       }
       clearRelationParams();

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("nbfRelDeclBegin",25, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 40: // bfRelDecl ::= bfRelDeclBegin relParams RPAR SEMICOLON 
            {
              Object RESULT =null;
		Location xxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location xxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object x = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
    theRelation.setRight(xxright);

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("bfRelDecl",16, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 41: // bfRelDeclBegin ::= PART IDENT COLON BFIFOREL_T EQUAL BFIFOREL_T LPAR 
            {
              Object RESULT =null;
		Location pxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6)).xleft;
		Location pxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6)).xright;
		Object p = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6).<Object>value();
		Location idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5)).xleft;
		Location idxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5)).xright;
		Ident id = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5).<Ident>value();
		
        getRelation(id.getAvatarName());
        if (! theRelation.declare() ) {
            addError( new AvatarFromSysMLError(AvatarFromSysMLError.LOWERROR, pxleft, "Relation " + id.getAvatarName() +
            " is already declared", theRelation.getLeft()) );
        } else {
            theRelation.setAsynchronous(true);
            theRelation.setBlocking(true);
            theRelation.setLeft(pxleft);
        }
        clearRelationParams();

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("bfRelDeclBegin",26, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 42: // relParams ::= relParam 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("relParams",17, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 43: // relParams ::= relParam COMMA relParams 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("relParams",17, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 44: // relParam ::= block1Param 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("relParam",18, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 45: // relParam ::= block2Param 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("relParam",18, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 46: // relParam ::= privateParam 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("relParam",18, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 47: // relParam ::= maxsizeParam 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("relParam",18, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 48: // relParam ::= lossyParam 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("relParam",18, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 49: // block1Param ::= BLOCK1_F EQUAL IDENT 
            {
              Object RESULT =null;
		Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft;
		Location bxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xright;
		Object b = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2).<Object>value();
		Location idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location idxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Ident id = CUP$AvatarFromSysMLParser$stack.peek().<Ident>value();
		
    if (block1ParamFlag == null) {
        StxBlock tmp = theBlock;
        getBlock(id.getAvatarName());
        theRelation.setBlock1(theBlock);
        theBlock = tmp;
        block1ParamFlag = bxleft;
    } else
        addError(new AvatarFromSysMLError(AvatarFromSysMLError.HIGHWARNING,bxleft,"bloc1 is already set\n", block1ParamFlag));

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("block1Param",19, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 50: // block2Param ::= BLOCK2_F EQUAL IDENT 
            {
              Object RESULT =null;
		Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft;
		Location bxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xright;
		Object b = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2).<Object>value();
		Location idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location idxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Ident id = CUP$AvatarFromSysMLParser$stack.peek().<Ident>value();
		
    if (block2ParamFlag == null) {
        StxBlock tmp = theBlock;
        getBlock(id.getAvatarName());
        theRelation.setBlock2(theBlock);
        theBlock = tmp;
        block2ParamFlag = bxleft;
    } else
        addError(new AvatarFromSysMLError(AvatarFromSysMLError.HIGHWARNING, bxleft,"bloc2 is already set\n", block2ParamFlag));

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("block2Param",20, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 51: // privateParam ::= PRIVATE_F EQUAL BOOL 
            {
              Object RESULT =null;
		Location pxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft;
		Location pxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xright;
		Object p = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2).<Object>value();
		Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location bxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Boolean b = CUP$AvatarFromSysMLParser$stack.peek().<Boolean>value();
		
    if (privateParamFlag == null) {
        theRelation.setPrivate(b);
        privateParamFlag = pxleft;
    } else
        addError(new AvatarFromSysMLError(AvatarFromSysMLError.HIGHWARNING, bxleft,"private parameter is already set\n", privateParamFlag));

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("privateParam",21, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 52: // maxsizeParam ::= MAXSIZE_F EQUAL INT 
            {
              Object RESULT =null;
		Location zxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft;
		Location zxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xright;
		Object z = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2).<Object>value();
		Location ixleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location ixright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Integer i = CUP$AvatarFromSysMLParser$stack.peek().<Integer>value();
		
    if (maxsizeParamFlag == null) {
        if (! theRelation.getAsynchronous())
            addError(new AvatarFromSysMLError(AvatarFromSysMLError.LOWWARNING, zxleft, "synchroneous relations don't have maxsize parameter\n"));
        else {
            theRelation.setFifoSize(i);
            maxsizeParamFlag = zxleft;
        }
    } else
        addError(new AvatarFromSysMLError(AvatarFromSysMLError.HIGHWARNING, zxleft, "maxsize is already set\n", maxsizeParamFlag));

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("maxsizeParam",22, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 53: // lossyParam ::= LOSSY_F EQUAL BOOL 
            {
              Object RESULT =null;
		Location zxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft;
		Location zxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xright;
		Object z = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2).<Object>value();
		Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location bxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Boolean b = CUP$AvatarFromSysMLParser$stack.peek().<Boolean>value();
		
    if (lossyParamFlag == null) {
        if (! theRelation.getAsynchronous())
            addError(new AvatarFromSysMLError(AvatarFromSysMLError.LOWWARNING, zxleft, "synchroneous relations don't have lossy parameter\n"));
        else {
            theRelation.setLossy(b);
            lossyParamFlag = zxleft;
        }
    } else
        addError(new AvatarFromSysMLError(AvatarFromSysMLError.HIGHWARNING, zxleft, "lossy is already set\n", lossyParamFlag));

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("lossyParam",23, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 54: // channelDecl ::= syncChDecl 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("channelDecl",27, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 55: // channelDecl ::= nbfChDecl 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("channelDecl",27, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 56: // channelDecl ::= bfChDecl 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("channelDecl",27, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 57: // syncChDecl ::= PART IDENT COLON SYNC_T EQUAL SYNC_T LPAR RELATION_F EQUAL IDENT RPAR SEMICOLON 
            {
              Object RESULT =null;
		Location pxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-11)).xleft;
		Location pxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-11)).xright;
		Object p = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-11).<Object>value();
		Location idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-10)).xleft;
		Location idxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-10)).xright;
		Ident id = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-10).<Ident>value();
		Location rlxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft;
		Location rlxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xright;
		Ident rl = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2).<Ident>value();
		Location sxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location sxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object s = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
    getRelation(rl.getAvatarName());
    getChannel(id.getAvatarName());
    if (! theChannel.declare() ) {
        addError( new AvatarFromSysMLError(AvatarFromSysMLError.LOWERROR, pxleft, "Channel " + id.getAvatarName() +
        " is already declared", theChannel.getLeft()) );
    } else {
        if (theRelation.getAsynchronous())
            addError(new AvatarFromSysMLError(AvatarFromSysMLError.HIGHWARNING,
                pxleft, "synchroneous channels require a synchroneous relation\n"));
        theRelation.addChannel(theChannel);
        theChannel.setLeft(pxleft);
        theChannel.setRight(sxright);
    }

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("syncChDecl",28, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-11), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 58: // nbfChDecl ::= PART IDENT COLON NBFIFO_T EQUAL NBFIFO_T LPAR RELATION_F EQUAL IDENT RPAR SEMICOLON 
            {
              Object RESULT =null;
		Location pxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-11)).xleft;
		Location pxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-11)).xright;
		Object p = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-11).<Object>value();
		Location idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-10)).xleft;
		Location idxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-10)).xright;
		Ident id = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-10).<Ident>value();
		Location rlxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft;
		Location rlxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xright;
		Ident rl = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2).<Ident>value();
		Location sxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location sxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object s = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
    getRelation(rl.getAvatarName());
    getChannel(id.getAvatarName());
    if (! theChannel.declare() ) {
        addError( new AvatarFromSysMLError(AvatarFromSysMLError.LOWERROR, pxleft, "Channel " + id.getAvatarName() +
        " is already declared", theChannel.getLeft()) );
    } else {
        if (! theRelation.getAsynchronous())
            addError(new AvatarFromSysMLError(AvatarFromSysMLError.HIGHWARNING,
                pxleft, "FIFO channels require an asynchroneous relation\n"));
        theRelation.addChannel(theChannel);
        theChannel.setLeft(pxleft);
        theChannel.setRight(sxright);
    }

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("nbfChDecl",29, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-11), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 59: // bfChDecl ::= PART IDENT COLON BFIFO_T EQUAL BFIFO_T LPAR RELATION_F EQUAL IDENT RPAR SEMICOLON 
            {
              Object RESULT =null;
		Location pxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-11)).xleft;
		Location pxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-11)).xright;
		Object p = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-11).<Object>value();
		Location idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-10)).xleft;
		Location idxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-10)).xright;
		Ident id = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-10).<Ident>value();
		Location rlxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft;
		Location rlxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xright;
		Ident rl = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2).<Ident>value();
		Location sxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location sxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object s = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
    getRelation(rl.getAvatarName());
    getChannel(id.getAvatarName());
    if (! theChannel.declare() ) {
        addError( new AvatarFromSysMLError(AvatarFromSysMLError.LOWERROR, pxleft, "Channel " + id.getAvatarName() +
        " is already declared", theChannel.getLeft()) );
    } else {
        if (! theRelation.getAsynchronous())
            addError(new AvatarFromSysMLError(AvatarFromSysMLError.HIGHWARNING,
                pxleft, "FIFO channels require an asynchroneous relation\n"));
        theRelation.addChannel(theChannel);
        theChannel.setLeft(pxleft);
        theChannel.setRight(sxright);
    }

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("bfChDecl",30, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-11), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

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

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("signalBinding",31, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 61: // signalBinding ::= outSignalBinding 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("signalBinding",31, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 62: // inSignalBinding ::= BINDING COLON INSIGNALBINDING_T BIND IDENT POINT IDENT EQUAL IDENT SEMICOLON 
            {
              Object RESULT =null;
		Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5)).xleft;
		Location bxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5)).xright;
		Ident b = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5).<Ident>value();
		Location sxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xleft;
		Location sxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xright;
		Ident s = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3).<Ident>value();
		Location cxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xleft;
		Location cxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xright;
		Ident c = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1).<Ident>value();
		
        getChannel(c.getAvatarName());
        StxBlock tmp = theBlock;
        getBlock(b.getAvatarName());
        getSignal(b.getAvatarName(),s.getAvatarName());
        theSignal.setInput(true);
        theBlock.addSignal(theSignal);
        theSignal.setChannel(theChannel);
        theChannel.setSignal(b.getAvatarName(), theSignal);
        theBlock = tmp;
    
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("inSignalBinding",32, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-9), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 63: // inSignalBinding ::= BINDING COLON INSIGNALBINDING_T BIND IDENT EQUAL IDENT POINT IDENT SEMICOLON 
            {
              Object RESULT =null;
		Location cxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5)).xleft;
		Location cxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5)).xright;
		Ident c = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5).<Ident>value();
		Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xleft;
		Location bxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xright;
		Ident b = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3).<Ident>value();
		Location sxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xleft;
		Location sxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xright;
		Ident s = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1).<Ident>value();
		
        getChannel(c.getAvatarName());
        StxBlock tmp = theBlock;
        getBlock(b.getAvatarName());
        getSignal(b.getAvatarName(),s.getAvatarName());
        theSignal.setInput(true);
        theBlock.addSignal(theSignal);
        theSignal.setChannel(theChannel);
        theChannel.setSignal(b.getAvatarName(), theSignal);
        theBlock = tmp;
   
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("inSignalBinding",32, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-9), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 64: // outSignalBinding ::= BINDING COLON OUTSIGNALBINDING_T BIND IDENT POINT IDENT EQUAL IDENT SEMICOLON 
            {
              Object RESULT =null;
		Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5)).xleft;
		Location bxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5)).xright;
		Ident b = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5).<Ident>value();
		Location sxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xleft;
		Location sxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xright;
		Ident s = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3).<Ident>value();
		Location cxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xleft;
		Location cxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xright;
		Ident c = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1).<Ident>value();
		
        getChannel(c.getAvatarName());
        StxBlock tmp = theBlock;
        getBlock(b.getAvatarName());
        getSignal(b.getAvatarName(),s.getAvatarName());
        theSignal.setInput(false);
        theBlock.addSignal(theSignal);
        theSignal.setChannel(theChannel);
        theChannel.setSignal(b.getAvatarName(), theSignal);
        theBlock = tmp;
   
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("outSignalBinding",33, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-9), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 65: // outSignalBinding ::= BINDING COLON OUTSIGNALBINDING_T BIND IDENT EQUAL IDENT POINT IDENT SEMICOLON 
            {
              Object RESULT =null;
		Location cxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5)).xleft;
		Location cxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5)).xright;
		Ident c = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5).<Ident>value();
		Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xleft;
		Location bxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xright;
		Ident b = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3).<Ident>value();
		Location sxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xleft;
		Location sxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xright;
		Ident s = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1).<Ident>value();
		
        getChannel(c.getAvatarName());
        StxBlock tmp = theBlock;
        getBlock(b.getAvatarName());
        getSignal(b.getAvatarName(),s.getAvatarName());
        theSignal.setInput(false);
        theBlock.addSignal(theSignal);
        theSignal.setChannel(theChannel);
        theChannel.setSignal(b.getAvatarName(), theSignal);
        theBlock = tmp;
   
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("outSignalBinding",33, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-9), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 66: // messageDecl ::= inMessageDecl 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("messageDecl",34, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 67: // messageDecl ::= outMessageDecl 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("messageDecl",34, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 68: // inMessageDecl ::= inMessageDeclBegin inMessageDeclBODY 
            {
              Object RESULT =null;
		Location mxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xleft;
		Location mxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xright;
		Object m = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1).<Object>value();
		
    if (messageChannelParam == null)
        addError( new AvatarFromSysMLError(AvatarFromSysMLError.HIGHERROR, mxleft, "In-message channel has not been set", null) );

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("inMessageDecl",35, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 69: // inMessageDeclBegin ::= PART DEF IDENT specializes INMESSAGE_T LBRAC 
            {
              Object RESULT =null;
		Location pxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5)).xleft;
		Location pxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5)).xright;
		Object p = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5).<Object>value();
		Location idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xleft;
		Location idxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xright;
		Ident id = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3).<Ident>value();
		
    getInMessage(id.getAvatarName());
    if (! theStructure.declare() ) {
        addError( new AvatarFromSysMLError(AvatarFromSysMLError.LOWERROR, pxleft, "In-message profile " + id.getAvatarName() +
        " is already declared", theStructure.getLeft()) );
    } else {
        theStructure.setLeft(pxleft);
        messageChannelParam = null;
    }

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("inMessageDeclBegin",41, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 70: // inMessageDeclBODY ::= messageChannel RBRAC 
            {
              Object RESULT =null;
		Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location bxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object b = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
        theStructure.setRight(bxright);
      
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("inMessageDeclBODY",37, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 71: // inMessageDeclBODY ::= messageChannel fieldDecls RBRAC 
            {
              Object RESULT =null;
		Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location bxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object b = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
        theStructure.setRight(bxright);
      
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("inMessageDeclBODY",37, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 72: // inMessageDeclBODY ::= fieldDecls messageChannel RBRAC 
            {
              Object RESULT =null;
		Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location bxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object b = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
        theStructure.setRight(bxright);
      
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("inMessageDeclBODY",37, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 73: // messageChannel ::= PRIVATE PART CHANNEL_F COLON CHANNEL_T EQUAL IDENT SEMICOLON 
            {
              Object RESULT =null;
		Location pxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-7)).xleft;
		Location pxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-7)).xright;
		Object p = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-7).<Object>value();
		Location chxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xleft;
		Location chxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xright;
		Ident ch = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1).<Ident>value();
		
        if (messageChannelParam != null)
            addError(new AvatarFromSysMLError(AvatarFromSysMLError.LOWERROR, pxleft,
                "in-message channel has already been set", messageChannelParam));
        else {
            getChannel(ch.getAvatarName());
            theChannel.setInProfile((StxInMessage)theStructure);
            ((StxInMessage)theStructure).setChannel(theChannel);
            messageChannelParam = pxleft;
        }
      
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("messageChannel",38, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-7), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 74: // messageChannel ::= PRIVATE PART CHANNEL_F EQUAL IDENT SEMICOLON 
            {
              Object RESULT =null;
		Location pxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5)).xleft;
		Location pxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5)).xright;
		Object p = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5).<Object>value();
		Location chxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xleft;
		Location chxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xright;
		Ident ch = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1).<Ident>value();
		
        if (messageChannelParam != null)
            addError(new AvatarFromSysMLError(AvatarFromSysMLError.LOWERROR, pxleft,
                "in-message channel has already been set", messageChannelParam));
        else {
            getChannel(ch.getAvatarName());
            theChannel.setInProfile((StxInMessage)theStructure);
            ((StxInMessage)theStructure).setChannel(theChannel);
            messageChannelParam = pxleft;
        }
      
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("messageChannel",38, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 75: // outMessageDecl ::= outMessageDeclBegin SEMICOLON 
            {
              Object RESULT =null;
		Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location bxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object b = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
        theOutMessage.setRight(bxright);
      
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("outMessageDecl",36, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 76: // outMessageDecl ::= outMessageDeclBegin LBRAC RBRAC 
            {
              Object RESULT =null;
		Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location bxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object b = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
        theOutMessage.setRight(bxright);
      
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("outMessageDecl",36, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 77: // outMessageDecl ::= outMessageDeclBegin LBRAC outMessageDeclBODY 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("outMessageDecl",36, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 78: // outMessageDeclBegin ::= PART DEF IDENT specializes OUTMESSAGE_T COMMA IDENT 
            {
              Object RESULT =null;
		Location pxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6)).xleft;
		Location pxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6)).xright;
		Object p = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6).<Object>value();
		Location idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xleft;
		Location idxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xright;
		Ident id = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4).<Ident>value();
		Location mxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location mxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Ident m = CUP$AvatarFromSysMLParser$stack.peek().<Ident>value();
		
        getInMessage(m.getAvatarName());
        getOutMessage(id.getAvatarName(), (StxInMessage)theStructure);
        if (! theOutMessage.declare() ) {
            addError( new AvatarFromSysMLError(AvatarFromSysMLError.LOWERROR, pxleft, "Out-message profile " + id.getAvatarName() +
            " is already declared", theStructure.getLeft()) );
        } else
            theOutMessage.setLeft(pxleft);
      
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("outMessageDeclBegin",42, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 79: // outMessageDeclBegin ::= PART DEF IDENT specializes IDENT COMMA OUTMESSAGE_T 
            {
              Object RESULT =null;
		Location pxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6)).xleft;
		Location pxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6)).xright;
		Object p = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6).<Object>value();
		Location idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xleft;
		Location idxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xright;
		Ident id = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4).<Ident>value();
		Location mxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft;
		Location mxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xright;
		Ident m = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2).<Ident>value();
		
        getInMessage(m.getAvatarName());
        getOutMessage(id.getAvatarName(), (StxInMessage)theStructure);
        theOutMessage.setLeft(pxleft);
      
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("outMessageDeclBegin",42, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 80: // outMessageDeclBODY ::= redefineField RBRAC 
            {
              Object RESULT =null;
		Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location bxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object b = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
        theOutMessage.setRight(bxright);
      
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("outMessageDeclBODY",39, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 81: // outMessageDeclBODY ::= redefineField outMessageDeclBODY 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("outMessageDeclBODY",39, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 82: // redefineField ::= ATTRIBUTE IDENT REDEFINES IDENT SEMICOLON 
            {
              Object RESULT =null;
		Location axleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xleft;
		Location axright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xright;
		Object a = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4).<Object>value();
		Location oxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xleft;
		Location oxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xright;
		Ident o = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3).<Ident>value();
		Location ixleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xleft;
		Location ixright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xright;
		Ident i = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1).<Ident>value();
		
        StxField ofield = new StxField(axleft, axright, o.getAvatarName(), "");
        theOutMessage.addFieldLink(ofield, i.getAvatarName());

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("redefineField",40, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 83: // blockDecl ::= blockDeclBegin RBRAC 
            {
              Object RESULT =null;
		 popBlock(); 
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("blockDecl",43, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 84: // blockDecl ::= blockDeclBegin blockDeclBODY 
            {
              Object RESULT =null;
		 popBlock(); 
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("blockDecl",43, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 85: // blockDeclBegin ::= PART IDENT COLON AVBLOCK_T LBRAC 
            {
              Object RESULT =null;
		Location pxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xleft;
		Location pxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xright;
		Object p = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4).<Object>value();
		Location idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xleft;
		Location idxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xright;
		Ident id = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3).<Ident>value();
		
        StxBlock tmp = theBlock;
        pushBlock();
        getBlock(id.getAvatarName());
        if (! theBlock.declare() ) {
            addError( new AvatarFromSysMLError(AvatarFromSysMLError.LOWERROR, pxleft, "Block " + id.getAvatarName() +
            " is already declared", theBlock.getLeft()) );
        } else {
            theBlock.setFather(tmp);
            theBlock.setLeft(pxleft);
        }

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("blockDeclBegin",44, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 86: // blockDeclBODY ::= blockItem RBRAC 
            {
              Object RESULT =null;
		Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location bxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object b = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
        theBlock.setRight(bxright);
      
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("blockDeclBODY",45, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 87: // blockDeclBODY ::= blockItem blockDeclBODY 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("blockDeclBODY",45, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 88: // blockItem ::= attributeDecl 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("blockItem",46, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 89: // blockItem ::= constantDecl 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("blockItem",46, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 90: // blockItem ::= methodDecl 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("blockItem",46, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 91: // blockItem ::= signalDecl 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("blockItem",46, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 92: // blockItem ::= timerDecl 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("blockItem",46, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 93: // blockItem ::= stateMachine 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("blockItem",46, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 94: // blockItem ::= blockDecl 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("blockItem",46, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 95: // attributeDecl ::= attributeDeclHEADER SEMICOLON 
            {
              Object RESULT =null;
		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object q = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
        theAttribute.setRight(qxright);
      
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("attributeDecl",47, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 96: // attributeDecl ::= attributeDeclHEADER GETS iexpr SEMICOLON 
            {
              Object RESULT =null;
		Location exleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xleft;
		Location exright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xright;
		String e = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1).<String>value();
		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object q = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
        theAttribute.setInit(e);
        theAttribute.setRight(qxright);
    
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("attributeDecl",47, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 97: // attributeDecl ::= attributeDeclHEADER DEFAULT GETS iexpr SEMICOLON 
            {
              Object RESULT =null;
		Location exleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xleft;
		Location exright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xright;
		String e = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1).<String>value();
		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object q = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
        theAttribute.setInit(e);
        theAttribute.setRight(qxright);
        theAttribute.setDefaultValue(true);
    
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("attributeDecl",47, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 98: // attributeDeclHEADER ::= ATTRIBUTE IDENT COLON typeIdent 
            {
              Object RESULT =null;
		Location axleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xleft;
		Location axright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xright;
		Object a = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3).<Object>value();
		Location idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft;
		Location idxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xright;
		Ident id = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2).<Ident>value();
		Location tpxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location tpxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		String tp = CUP$AvatarFromSysMLParser$stack.peek().<String>value();
		
        getAttribute(id.getAvatarName(), tp);
        if (! theAttribute.declare() ) {
            addError( new AvatarFromSysMLError(AvatarFromSysMLError.LOWERROR, axleft, "Attribute " + id.getAvatarName() +
            " is already declared  (or there is an attribute with same name)", theAttribute.getLeft()) );
        } else {
            StxElement e = theBlock.addAttribute(theAttribute);
            if (e != null)
                if (e instanceof StxTimer)
                    addError( new AvatarFromSysMLError(AvatarFromSysMLError.LOWERROR, axleft, "Attribute " + id.getAvatarName() +
                    " cannot be added: name already used for method", e.getLeft()));
                else if (e instanceof StxMethod)
                   addError( new AvatarFromSysMLError(AvatarFromSysMLError.LOWERROR, axleft, "Attribute " + id.getAvatarName() +
                    " cannot be added: name already used for method", e.getLeft()));
                else if (e instanceof StxSignal)
                   addError( new AvatarFromSysMLError(AvatarFromSysMLError.LOWERROR, axleft, "Attribute " + id.getAvatarName() +
                    " cannot be added: name already used for signal", e.getLeft()));
                else ;
            theAttribute.setLeft(axleft);
        }

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("attributeDeclHEADER",49, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 99: // constantDecl ::= constantDeclHEADER SEMICOLON 
            {
              Object RESULT =null;
		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object q = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
        theAttribute.setRight(qxright);
      
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("constantDecl",48, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 100: // constantDecl ::= constantDeclHEADER GETS iexpr SEMICOLON 
            {
              Object RESULT =null;
		Location exleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xleft;
		Location exright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xright;
		String e = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1).<String>value();
		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object q = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
        theAttribute.setInit(e);
        theAttribute.setRight(qxright);
    
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("constantDecl",48, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 101: // constantDeclHEADER ::= READONLY ATTRIBUTE IDENT COLON typeIdent 
            {
              Object RESULT =null;
		Location rxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xleft;
		Location rxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xright;
		Object r = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4).<Object>value();
		Location idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft;
		Location idxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xright;
		Ident id = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2).<Ident>value();
		Location tpxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location tpxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		String tp = CUP$AvatarFromSysMLParser$stack.peek().<String>value();
		
        getAttribute(id.getAvatarName(), tp);
        if (! theAttribute.declare() ) {
            addError( new AvatarFromSysMLError(AvatarFromSysMLError.LOWERROR, rxleft, "Constant " + id.getAvatarName() +
            " is already declared (or there is an attribute with same name)", theAttribute.getLeft()) );
        } else {
            StxElement e = theBlock.addConstant(theAttribute);
            if (e != null)
                if (e instanceof StxTimer)
                    addError( new AvatarFromSysMLError(AvatarFromSysMLError.LOWERROR, rxleft, "Constant " + id.getAvatarName() +
                    " cannot be added: name already used for method", e.getLeft()));
                else if (e instanceof StxMethod)
                   addError( new AvatarFromSysMLError(AvatarFromSysMLError.LOWERROR, rxleft, "Constant " + id.getAvatarName() +
                    " cannot be added: name already used for method", e.getLeft()));
                else if (e instanceof StxSignal)
                   addError( new AvatarFromSysMLError(AvatarFromSysMLError.LOWERROR, rxleft, "Constant " + id.getAvatarName() +
                    " cannot be added: name already used for signal", e.getLeft()));
                else ;
            theAttribute.setLeft(rxleft);
        }

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("constantDeclHEADER",62, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 102: // methodDecl ::= voidMethodDecl 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("methodDecl",50, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 103: // methodDecl ::= calcMethodDecl 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("methodDecl",50, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 104: // voidMethodDecl ::= voidMethodDeclBegin LBRAC RBRAC 
            {
              Object RESULT =null;
		Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location bxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object b = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
        theStructure.setRight(bxright);
      
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("voidMethodDecl",51, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 105: // voidMethodDecl ::= voidMethodDeclBegin LBRAC fieldDecls RBRAC 
            {
              Object RESULT =null;
		Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location bxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object b = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
        theStructure.setRight(bxright);
      
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("voidMethodDecl",51, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 106: // voidMethodDeclBegin ::= ACTION IDENT COLON AVVOIDMETHOD_T 
            {
              Object RESULT =null;
		Location axleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xleft;
		Location axright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xright;
		Object a = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3).<Object>value();
		Location idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft;
		Location idxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xright;
		Ident id = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2).<Ident>value();
		
    getMethod(id.getAvatarName());
    if (! theStructure.declare() ) {
        addError( new AvatarFromSysMLError(AvatarFromSysMLError.LOWERROR, axleft, "Method " + id.getAvatarName() +
        " is already declared", theStructure.getLeft()) );
    } else {
        StxElement e = theBlock.addMethod((StxMethod)theStructure);
        if (e != null)
            if (e instanceof StxTimer)
                addError( new AvatarFromSysMLError(AvatarFromSysMLError.LOWERROR, axleft, "Method " + id.getAvatarName() +
                " cannot be added: name already used for timer", e.getLeft()));
            else if (e instanceof StxAttribute)
                addError( new AvatarFromSysMLError(AvatarFromSysMLError.LOWERROR, axleft, "Method " + id.getAvatarName() +
                " cannot be added: name already used for constant or attribute", e.getLeft()));
            else if (e instanceof StxSignal)
               addError( new AvatarFromSysMLError(AvatarFromSysMLError.LOWERROR, axleft, "Method " + id.getAvatarName() +
                " cannot be added: name already used for signal", e.getLeft()));
            else ;
        theStructure.setLeft(axleft);
    }

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("voidMethodDeclBegin",60, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 107: // calcMethodDecl ::= calcMethodDeclBegin LBRAC RBRAC 
            {
              Object RESULT =null;
		Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location bxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object b = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
        theStructure.setRight(bxright);
      
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("calcMethodDecl",52, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 108: // calcMethodDecl ::= calcMethodDeclBegin LBRAC calcMethodItems RBRAC 
            {
              Object RESULT =null;
		Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location bxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object b = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
        theStructure.setRight(bxright);
      
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("calcMethodDecl",52, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 109: // calcMethodDeclBegin ::= CALC IDENT COLON AVCALCMETHOD_T 
            {
              Object RESULT =null;
		Location cxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xleft;
		Location cxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xright;
		Object c = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3).<Object>value();
		Location idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft;
		Location idxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xright;
		Ident id = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2).<Ident>value();
		
    getMethod(id.getAvatarName());
    if (! theStructure.declare() ) {
        addError( new AvatarFromSysMLError(AvatarFromSysMLError.LOWERROR, cxleft, "Method " + id.getAvatarName() +
        " is already declared", theStructure.getLeft()) );
    } else {
        StxElement e = theBlock.addMethod((StxMethod)theStructure);
        if (e != null)
            if (e instanceof StxTimer)
                addError( new AvatarFromSysMLError(AvatarFromSysMLError.LOWERROR, cxleft, "Method " + id.getAvatarName() +
                " cannot be added: name already used for timer", e.getLeft()));
            else if (e instanceof StxAttribute)
                addError( new AvatarFromSysMLError(AvatarFromSysMLError.LOWERROR, cxleft, "Method " + id.getAvatarName() +
                " cannot be added: name already used for constant or attribute", e.getLeft()));
            else if (e instanceof StxSignal)
               addError( new AvatarFromSysMLError(AvatarFromSysMLError.LOWERROR, cxleft, "Method " + id.getAvatarName() +
                " cannot be added: name already used for signal", e.getLeft()));
            else ;
        theStructure.setLeft(cxleft);
    }

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("calcMethodDeclBegin",61, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

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

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("calcMethodItems",53, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 111: // calcMethodItems ::= calcMethodItem calcMethodItems 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("calcMethodItems",53, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 112: // calcMethodItem ::= fieldDecl 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("calcMethodItem",54, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 113: // calcMethodItem ::= RETURN COLON typeIdent SEMICOLON 
            {
              Object RESULT =null;
		Location tpxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xleft;
		Location tpxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xright;
		String tp = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1).<String>value();
		
        ((StxMethod)theStructure).setReturnType(tp);
    
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("calcMethodItem",54, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 114: // signalDecl ::= PART IDENT COLON FIFO_T SEMICOLON 
            {
              Object RESULT =null;
		Location pxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xleft;
		Location pxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xright;
		Object p = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4).<Object>value();
		Location idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xleft;
		Location idxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xright;
		Ident id = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3).<Ident>value();
		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object q = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
        getSignal(theBlock.getName(),id.getAvatarName());
        if (! theSignal.declare() ) {
            addError( new AvatarFromSysMLError(AvatarFromSysMLError.LOWERROR, pxleft, "Signal " + id.getAvatarName() +
            " is already declared", theSignal.getLeft()) );
        } else {
            StxElement e = theBlock.addSignal(theSignal);
            if (e != null)
                if (e instanceof StxTimer)
                    addError( new AvatarFromSysMLError(AvatarFromSysMLError.LOWERROR, pxleft, "Signal " + id.getAvatarName() +
                    " cannot be added: name already used for timer", e.getLeft()));
                else if (e instanceof StxAttribute)
                    addError( new AvatarFromSysMLError(AvatarFromSysMLError.LOWERROR, pxleft, "Signal " + id.getAvatarName() +
                    " cannot be added: name already used for constant or attribute", e.getLeft()));
                else if (e instanceof StxMethod)
                   addError( new AvatarFromSysMLError(AvatarFromSysMLError.LOWERROR, pxleft, "Signal " + id.getAvatarName() +
                    " cannot be added: name already used for method", e.getLeft()));
                else;
            theSignal.setLeft(pxleft);
            theSignal.setRight(qxright);
        }
      
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("signalDecl",55, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 115: // signalDecl ::= PART IDENT COLON CHANNEL_T SEMICOLON 
            {
              Object RESULT =null;
		Location pxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xleft;
		Location pxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xright;
		Object p = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4).<Object>value();
		Location idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xleft;
		Location idxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xright;
		Ident id = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3).<Ident>value();
		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object q = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
        getSignal(theBlock.getName(),id.getAvatarName());
        if (! theSignal.declare() ) {
            addError( new AvatarFromSysMLError(AvatarFromSysMLError.LOWERROR, pxleft, "Signal " + id.getAvatarName() +
            " is already declared", theSignal.getLeft()) );
        } else {
            StxElement e = theBlock.addSignal(theSignal);
            if (e != null)
                if (e instanceof StxTimer)
                    addError( new AvatarFromSysMLError(AvatarFromSysMLError.LOWERROR, pxleft, "Signal " + id.getAvatarName() +
                    " cannot be added: name already used for timer", e.getLeft()));
                else if (e instanceof StxAttribute)
                    addError( new AvatarFromSysMLError(AvatarFromSysMLError.LOWERROR, pxleft, "Signal " + id.getAvatarName() +
                    " cannot be added: name already used for constant or attribute", e.getLeft()));
                else if (e instanceof StxMethod)
                   addError( new AvatarFromSysMLError(AvatarFromSysMLError.LOWERROR, pxleft, "Signal " + id.getAvatarName() +
                    " cannot be added: name already used for method", e.getLeft()));
                else;
            theSignal.setLeft(pxleft);
            theSignal.setRight(qxright);
        }
      
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("signalDecl",55, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 116: // timerDecl ::= PART IDENT COLON AVTIMER_T EQUAL AVTIMER_T LPAR RPAR SEMICOLON 
            {
              Object RESULT =null;
		Location pxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-8)).xleft;
		Location pxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-8)).xright;
		Object p = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-8).<Object>value();
		Location idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-7)).xleft;
		Location idxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-7)).xright;
		Ident id = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-7).<Ident>value();
		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object q = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
        StxTimer t = new StxTimer(id.getAvatarName(), pxleft, qxright);
        StxElement e = theBlock.addTimer(t);
        if (e != null)
            if (e instanceof StxTimer && !e.declare())
                addError( new AvatarFromSysMLError(AvatarFromSysMLError.LOWERROR, pxleft, "Timer " + id.getAvatarName() +
                " is already declared", e.getLeft()));
            else if (e instanceof StxAttribute)
                addError( new AvatarFromSysMLError(AvatarFromSysMLError.LOWERROR, pxleft, "Timer " + id.getAvatarName() +
                " cannot be added: name already used for constant or attribute", e.getLeft()));
            else if (e instanceof StxMethod)
               addError( new AvatarFromSysMLError(AvatarFromSysMLError.LOWERROR, pxleft, "Timer " + id.getAvatarName() +
                " cannot be added: name already used for method", e.getLeft()));
            else if (e instanceof StxSignal)
               addError( new AvatarFromSysMLError(AvatarFromSysMLError.LOWERROR, pxleft, "Timer " + id.getAvatarName() +
                " cannot be added: name already used for signal", e.getLeft()));
            else ;
        else t.declare();
      
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("timerDecl",56, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-8), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 117: // timerDecl ::= PART IDENT COLON AVTIMER_T SEMICOLON 
            {
              Object RESULT =null;
		Location pxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xleft;
		Location pxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xright;
		Object p = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4).<Object>value();
		Location idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xleft;
		Location idxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xright;
		Ident id = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3).<Ident>value();
		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object q = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
        StxTimer t = new StxTimer(id.getAvatarName(), pxleft, qxright);
        StxElement e = theBlock.addTimer(t);
        if (e != null)
            if (e instanceof StxTimer && !e.declare())
                addError( new AvatarFromSysMLError(AvatarFromSysMLError.LOWERROR, pxleft, "Timer " + id.getAvatarName() +
                " is already declared", e.getLeft()));
            else if (e instanceof StxAttribute)
                addError( new AvatarFromSysMLError(AvatarFromSysMLError.LOWERROR, pxleft, "Timer " + id.getAvatarName() +
                " cannot be added: name already used for constant or attribute", e.getLeft()));
            else if (e instanceof StxMethod)
               addError( new AvatarFromSysMLError(AvatarFromSysMLError.LOWERROR, pxleft, "Timer " + id.getAvatarName() +
                " cannot be added: name already used for method", e.getLeft()));
            else if (e instanceof StxSignal)
               addError( new AvatarFromSysMLError(AvatarFromSysMLError.LOWERROR, pxleft, "Timer " + id.getAvatarName() +
                " cannot be added: name already used for signal", e.getLeft()));
            else ;
        else t.declare();
      
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("timerDecl",56, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 118: // stateMachine ::= stateMachineBegin LBRAC stateMachineItems RBRAC 
            {
              Object RESULT =null;
		
        theBlock.setStates(stateMap.values().toArray(new StxState[0]));
        stateMap = null;
      
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stateMachine",57, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 119: // stateMachine ::= stateMachineBegin LBRAC RBRAC 
            {
              Object RESULT =null;
		
        theBlock.setStates(stateMap.values().toArray(new StxState[0]));
        stateMap = null;
      
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stateMachine",57, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 120: // stateMachine ::= stateMachineBegin SEMICOLON 
            {
              Object RESULT =null;
		
        theBlock.setStates(stateMap.values().toArray(new StxState[0]));
        stateMap = null;
      
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stateMachine",57, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 121: // stateMachineBegin ::= EXHIBIT STATE STATEMACHINE COLON AVSTATEMACHINE_T 
            {
              Object RESULT =null;
		
    stateMap = new HashMap<String, StxState>();

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stateMachineBegin",119, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 122: // stateMachineItems ::= stateMachineItem 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stateMachineItems",58, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 123: // stateMachineItems ::= stateMachineItem stateMachineItems 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stateMachineItems",58, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 124: // stateMachineItem ::= state 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stateMachineItem",59, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 125: // stateMachineItem ::= transition 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stateMachineItem",59, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 126: // state ::= standardState 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("state",65, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 127: // state ::= stopState 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("state",65, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 128: // state ::= startState 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("state",65, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 129: // state ::= sendState 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("state",65, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 130: // state ::= receiveState 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("state",65, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 131: // state ::= randomState 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("state",65, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 132: // state ::= countState 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("state",65, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 133: // state ::= presendState 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("state",65, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 134: // state ::= prereceiveState 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("state",65, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 135: // state ::= setTimerState 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("state",65, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 136: // state ::= resetTimerState 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("state",65, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 137: // state ::= expireTimerState 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("state",65, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 138: // startState ::= startStateBegin SEMICOLON 
            {
              Object RESULT =null;
		Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xleft;
		Location bxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xright;
		Object b = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1).<Object>value();
		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object q = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
        tryTrivialRequest(bxleft, qxright);
        theState.setRight(qxright);
     
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("startState",66, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 139: // startState ::= startStateBegin EQUAL AVSTARTSTATE_T LPAR RPAR SEMICOLON 
            {
              Object RESULT =null;
		Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5)).xleft;
		Location bxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5)).xright;
		Object b = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5).<Object>value();
		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object q = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
        tryTrivialRequest(bxleft, qxright);
        theState.setRight(qxright);
     
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("startState",66, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 140: // startState ::= startStateBegin EQUAL AVSTARTSTATE_T LPAR requestParam RPAR SEMICOLON 
            {
              Object RESULT =null;
		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object q = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
        theState.setRight(qxright);
     
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("startState",66, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 141: // startStateBegin ::= ENTRY ACTION IDENT COLON AVSTARTSTATE_T 
            {
              Object RESULT =null;
		Location zxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xleft;
		Location zxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xright;
		Object z = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4).<Object>value();
		Location idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft;
		Location idxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xright;
		Ident id = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2).<Ident>value();
		
    getState(id.getAvatarName());
    if (! theState.declare() ) {
        addError( new AvatarFromSysMLError(AvatarFromSysMLError.HIGHERROR, zxleft, "State " + id.getAvatarName() +
        " is already declared", theState.getLeft()) );
        requestIndex = 0;
    } else {
        theState.setType(AvatarFromSysMLSyntax.STXSTARTSTATE);
        theState.setLeft(zxright);
        requestIndex = 0;
    }

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("startStateBegin",107, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 142: // standardState ::= standardStateBegin SEMICOLON 
            {
              Object RESULT =null;
		Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xleft;
		Location bxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xright;
		Object b = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1).<Object>value();
		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object q = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
        tryTrivialRequest(bxleft, qxright);
        theState.setRight(qxright);
     
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("standardState",67, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 143: // standardState ::= standardStateBegin EQUAL AVSTANDARDSTATE_T LPAR RPAR SEMICOLON 
            {
              Object RESULT =null;
		Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5)).xleft;
		Location bxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5)).xright;
		Object b = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5).<Object>value();
		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object q = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
        tryTrivialRequest(bxleft, qxright);
        theState.setRight(qxright);
     
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("standardState",67, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 144: // standardState ::= standardStateBegin EQUAL AVSTANDARDSTATE_T LPAR poolParam RPAR SEMICOLON 
            {
              Object RESULT =null;
		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object q = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
        theState.setRight(qxright);
     
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("standardState",67, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 145: // standardStateBegin ::= STATE IDENT COLON AVSTANDARDSTATE_T 
            {
              Object RESULT =null;
		Location zxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xleft;
		Location zxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xright;
		Object z = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3).<Object>value();
		Location idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft;
		Location idxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xright;
		Ident id = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2).<Ident>value();
		
    getState(id.getAvatarName());
    if (! theState.declare() ) {
        addError( new AvatarFromSysMLError(AvatarFromSysMLError.HIGHERROR, zxleft, "State " + id.getAvatarName() +
        " is already declared", theState.getLeft()) );
        requestIndex = 0;
    } else {
        theState.setType(AvatarFromSysMLSyntax.STXSTANDARDSTATE);
        theState.setName(id.getAvatarName());
        theState.setLeft(zxright);
        requestIndex = 0;
    }

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("standardStateBegin",108, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 146: // stopState ::= stopStateBegin SEMICOLON 
            {
              Object RESULT =null;
		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object q = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
        theState.setRight(qxright);
     
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stopState",68, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 147: // stopState ::= stopStateBegin EQUAL AVSTOPSTATE_T LPAR RPAR SEMICOLON 
            {
              Object RESULT =null;
		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object q = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
        theState.setRight(qxright);
     
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stopState",68, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 148: // stopStateBegin ::= EXIT ACTION IDENT COLON AVSTOPSTATE_T 
            {
              Object RESULT =null;
		Location zxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xleft;
		Location zxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xright;
		Object z = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4).<Object>value();
		Location idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft;
		Location idxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xright;
		Ident id = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2).<Ident>value();
		
    getState(id.getAvatarName());
    if (! theState.declare() ) {
        addError( new AvatarFromSysMLError(AvatarFromSysMLError.HIGHERROR, zxleft, "State " + id.getAvatarName() +
        " is already declared", theState.getLeft()) );
        requestIndex = 0;
    } else {
        theState.setType(AvatarFromSysMLSyntax.STXSTOPSTATE);
        theState.setLeft(zxright);
    }

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stopStateBegin",109, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 149: // sendState ::= sendStateBegin SEMICOLON 
            {
              Object RESULT =null;
		Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xleft;
		Location bxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xright;
		Object b = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1).<Object>value();
		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object q = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
        tryTrivialRequest(bxleft, qxright);
        theState.setRight(qxright);
     
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("sendState",69, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 150: // sendState ::= sendStateBegin EQUAL AVSENDSTATE_T LPAR RPAR SEMICOLON 
            {
              Object RESULT =null;
		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object q = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
        theState.setRight(qxright);
     
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("sendState",69, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 151: // sendState ::= sendStateBegin EQUAL AVSENDSTATE_T LPAR requestParam RPAR SEMICOLON 
            {
              Object RESULT =null;
		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object q = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
        theState.setRight(qxright);
     
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("sendState",69, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 152: // sendStateBegin ::= STATE IDENT COLON AVSENDSTATE_T 
            {
              Object RESULT =null;
		Location zxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xleft;
		Location zxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xright;
		Object z = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3).<Object>value();
		Location idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft;
		Location idxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xright;
		Ident id = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2).<Ident>value();
		
    getState(id.getAvatarName());
    if (! theState.declare() ) {
        addError( new AvatarFromSysMLError(AvatarFromSysMLError.HIGHERROR, zxleft, "State " + id.getAvatarName() +
        " is already declared", theState.getLeft()) );
        requestIndex = 0;
    } else {
        theState.setType(AvatarFromSysMLSyntax.STXSENDSTATE);
        theState.setLeft(zxright);
        requestIndex = 0;
    }

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("sendStateBegin",110, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 153: // receiveState ::= receiveStateBegin SEMICOLON 
            {
              Object RESULT =null;
		Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xleft;
		Location bxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xright;
		Object b = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1).<Object>value();
		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object q = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
        tryTrivialRequest(bxleft, qxright);
        theState.setRight(qxright);
     
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("receiveState",70, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 154: // receiveState ::= receiveStateBegin EQUAL AVRECEIVESTATE_T LPAR RPAR SEMICOLON 
            {
              Object RESULT =null;
		Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5)).xleft;
		Location bxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5)).xright;
		Object b = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5).<Object>value();
		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object q = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
        tryTrivialRequest(bxleft, qxright);
        theState.setRight(qxright);
     
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("receiveState",70, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 155: // receiveState ::= receiveStateBegin EQUAL AVRECEIVESTATE_T LPAR requestParam RPAR SEMICOLON 
            {
              Object RESULT =null;
		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object q = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
        theState.setRight(qxright);
     
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("receiveState",70, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 156: // receiveStateBegin ::= STATE IDENT COLON AVRECEIVESTATE_T 
            {
              Object RESULT =null;
		Location zxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xleft;
		Location zxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xright;
		Object z = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3).<Object>value();
		Location idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft;
		Location idxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xright;
		Ident id = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2).<Ident>value();
		
    getState(id.getAvatarName());
    if (! theState.declare() ) {
        addError( new AvatarFromSysMLError(AvatarFromSysMLError.HIGHERROR, zxleft, "State " + id.getAvatarName() +
        " is already declared", theState.getLeft()) );
        requestIndex = 0;
    } else {
        theState.setType(AvatarFromSysMLSyntax.STXRECEIVESTATE);
        theState.setLeft(zxright);
        requestIndex = 0;
    }

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("receiveStateBegin",111, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 157: // randomState ::= randomStateBegin EQUAL AVRANDOMSTATE_T LPAR randomAction COMMA requestParam RPAR SEMICOLON 
            {
              Object RESULT =null;
		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object q = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
        theState.setRight(qxright);
     
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("randomState",71, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-8), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 158: // randomState ::= randomStateBegin EQUAL AVRANDOMSTATE_T LPAR requestParam COMMA randomAction RPAR SEMICOLON 
            {
              Object RESULT =null;
		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object q = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
        theState.setRight(qxright);
     
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("randomState",71, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-8), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 159: // randomState ::= randomStateBegin EQUAL AVRANDOMSTATE_T LPAR randomAction RPAR SEMICOLON 
            {
              Object RESULT =null;
		Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6)).xleft;
		Location bxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6)).xright;
		Object b = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6).<Object>value();
		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object q = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
        tryTrivialRequest(bxleft, qxright);
        theState.setRight(qxright);
     
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("randomState",71, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 160: // randomStateBegin ::= STATE IDENT COLON AVRANDOMSTATE_T 
            {
              Object RESULT =null;
		Location zxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xleft;
		Location zxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xright;
		Object z = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3).<Object>value();
		Location idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft;
		Location idxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xright;
		Ident id = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2).<Ident>value();
		
    getState(id.getAvatarName());
    if (! theState.declare() ) {
        addError( new AvatarFromSysMLError(AvatarFromSysMLError.HIGHERROR, zxleft, "State " + id.getAvatarName() +
        " is already declared", theState.getLeft()) );
        requestIndex = 0;
    } else {
        theState.setType(AvatarFromSysMLSyntax.STXRANDOMSTATE);
        theState.setLeft(zxright);
        requestIndex = 0;
    }

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("randomStateBegin",112, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 161: // countState ::= countStateBegin EQUAL AVCOUNTSTATE_T LPAR countAction RPAR SEMICOLON 
            {
              Object RESULT =null;
		Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6)).xleft;
		Location bxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6)).xright;
		Object b = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6).<Object>value();
		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object q = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
        tryTrivialRequest(bxleft, qxright);
        theState.setRight(qxright);
     
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("countState",72, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 162: // countState ::= countStateBegin EQUAL AVCOUNTSTATE_T LPAR requestParam COMMA countAction RPAR SEMICOLON 
            {
              Object RESULT =null;
		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object q = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
        theState.setRight(qxright);
     
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("countState",72, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-8), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 163: // countState ::= countStateBegin EQUAL AVCOUNTSTATE_T LPAR countAction COMMA requestParam RPAR SEMICOLON 
            {
              Object RESULT =null;
		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object q = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
        theState.setRight(qxright);
     
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("countState",72, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-8), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 164: // countStateBegin ::= STATE IDENT COLON AVCOUNTSTATE_T 
            {
              Object RESULT =null;
		Location zxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xleft;
		Location zxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xright;
		Object z = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3).<Object>value();
		Location idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft;
		Location idxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xright;
		Ident id = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2).<Ident>value();
		
    getState(id.getAvatarName());
    if (! theState.declare() ) {
        addError( new AvatarFromSysMLError(AvatarFromSysMLError.HIGHERROR, zxleft, "State " + id.getAvatarName() +
        " is already declared", theState.getLeft()) );
        requestIndex = 0;
    } else {
        theState.setType(AvatarFromSysMLSyntax.STXCOUNTSTATE);
        theState.setLeft(zxright);
        requestIndex = 0;
    }

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("countStateBegin",113, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 165: // presendState ::= presendStateBegin EQUAL AVPRESENDSTATE_T LPAR requestParam RPAR SEMICOLON 
            {
              Object RESULT =null;
		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object q = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
        theState.setRight(qxright);
     
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("presendState",73, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 166: // presendStateBegin ::= STATE IDENT COLON AVPRESENDSTATE_T 
            {
              Object RESULT =null;
		Location zxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xleft;
		Location zxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xright;
		Object z = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3).<Object>value();
		Location idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft;
		Location idxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xright;
		Ident id = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2).<Ident>value();
		
    getState(id.getAvatarName());
    if (! theState.declare() ) {
        addError( new AvatarFromSysMLError(AvatarFromSysMLError.HIGHERROR, zxleft, "State " + id.getAvatarName() +
        " is already declared", theState.getLeft()) );
        requestIndex = 0;
    } else {
        theState.setType(AvatarFromSysMLSyntax.STXPRESENDSTATE);
        theState.setLeft(zxright);
        requestIndex = 0;
    }

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("presendStateBegin",114, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 167: // prereceiveState ::= prereceiveStateBegin EQUAL AVPRERECEIVESTATE_T LPAR requestParam RPAR SEMICOLON 
            {
              Object RESULT =null;
		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object q = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
        theState.setRight(qxright);
     
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("prereceiveState",74, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 168: // prereceiveStateBegin ::= STATE IDENT COLON AVPRERECEIVESTATE_T 
            {
              Object RESULT =null;
		Location zxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xleft;
		Location zxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xright;
		Object z = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3).<Object>value();
		Location idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft;
		Location idxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xright;
		Ident id = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2).<Ident>value();
		
    getState(id.getAvatarName());
    if (! theState.declare() ) {
        addError( new AvatarFromSysMLError(AvatarFromSysMLError.HIGHERROR, zxleft, "State " + id.getAvatarName() +
        " is already declared", theState.getLeft()) );
        requestIndex = 0;
    } else {
        theState.setType(AvatarFromSysMLSyntax.STXPRERECEIVESTATE);
        theState.setLeft(zxright);
        requestIndex = 0;
    }

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("prereceiveStateBegin",115, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 169: // setTimerState ::= setTimerStateBegin EQUAL AVSETTIMERSTATE_T LPAR requestParam RPAR SEMICOLON 
            {
              Object RESULT =null;
		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object q = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
        theState.setRight(qxright);
     
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("setTimerState",75, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 170: // setTimerState ::= setTimerStateBegin EQUAL AVSETTIMERSTATE_T LPAR RPAR SEMICOLON 
            {
              Object RESULT =null;
		Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5)).xleft;
		Location bxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5)).xright;
		Object b = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5).<Object>value();
		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object q = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
        tryTrivialRequest(bxleft, qxright);
        theState.setRight(qxright);
     
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("setTimerState",75, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 171: // setTimerState ::= setTimerStateBegin SEMICOLON 
            {
              Object RESULT =null;
		Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xleft;
		Location bxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xright;
		Object b = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1).<Object>value();
		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object q = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
        tryTrivialRequest(bxleft, qxright);
        theState.setRight(qxright);
     
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("setTimerState",75, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 172: // setTimerStateBegin ::= STATE IDENT COLON AVSETTIMERSTATE_T 
            {
              Object RESULT =null;
		Location zxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xleft;
		Location zxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xright;
		Object z = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3).<Object>value();
		Location idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft;
		Location idxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xright;
		Ident id = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2).<Ident>value();
		
    getState(id.getAvatarName());
    if (! theState.declare() ) {
        addError( new AvatarFromSysMLError(AvatarFromSysMLError.HIGHERROR, zxleft, "State " + id.getAvatarName() +
        " is already declared", theState.getLeft()) );
        requestIndex = 0;
    } else {
        theState.setType(AvatarFromSysMLSyntax.STXSETTIMERSTATE);
        theState.setLeft(zxright);
        requestIndex = 0;
    }

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("setTimerStateBegin",116, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 173: // resetTimerState ::= resetTimerStateBegin EQUAL AVRESETTIMERSTATE_T LPAR requestParam RPAR SEMICOLON 
            {
              Object RESULT =null;
		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object q = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
        theState.setRight(qxright);
     
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("resetTimerState",76, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 174: // resetTimerState ::= resetTimerStateBegin EQUAL AVRESETTIMERSTATE_T LPAR RPAR SEMICOLON 
            {
              Object RESULT =null;
		Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5)).xleft;
		Location bxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5)).xright;
		Object b = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5).<Object>value();
		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object q = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
        tryTrivialRequest(bxleft, qxright);
        theState.setRight(qxright);
     
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("resetTimerState",76, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 175: // resetTimerState ::= resetTimerStateBegin SEMICOLON 
            {
              Object RESULT =null;
		Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xleft;
		Location bxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xright;
		Object b = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1).<Object>value();
		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object q = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
        tryTrivialRequest(bxleft, qxright);
        theState.setRight(qxright);
     
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("resetTimerState",76, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 176: // resetTimerStateBegin ::= STATE IDENT COLON AVRESETTIMERSTATE_T 
            {
              Object RESULT =null;
		Location zxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xleft;
		Location zxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xright;
		Object z = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3).<Object>value();
		Location idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft;
		Location idxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xright;
		Ident id = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2).<Ident>value();
		
    getState(id.getAvatarName());
    if (! theState.declare() ) {
        addError( new AvatarFromSysMLError(AvatarFromSysMLError.HIGHERROR, zxleft, "State " + id.getAvatarName() +
        " is already declared", theState.getLeft()) );
        requestIndex = 0;
    } else {
        theState.setType(AvatarFromSysMLSyntax.STXRESETTIMERSTATE);
        theState.setLeft(zxright);
        requestIndex = 0;
    }

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("resetTimerStateBegin",117, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 177: // expireTimerState ::= expireTimerStateBegin EQUAL AVEXPIRETIMERSTATE_T LPAR requestParam RPAR SEMICOLON 
            {
              Object RESULT =null;
		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object q = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
        theState.setRight(qxright);
     
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expireTimerState",77, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 178: // expireTimerState ::= expireTimerStateBegin EQUAL AVEXPIRETIMERSTATE_T LPAR RPAR SEMICOLON 
            {
              Object RESULT =null;
		Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5)).xleft;
		Location bxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5)).xright;
		Object b = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5).<Object>value();
		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object q = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
        tryTrivialRequest(bxleft, qxright);
        theState.setRight(qxright);
     
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expireTimerState",77, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 179: // expireTimerState ::= expireTimerStateBegin SEMICOLON 
            {
              Object RESULT =null;
		Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xleft;
		Location bxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xright;
		Object b = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1).<Object>value();
		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object q = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
        tryTrivialRequest(bxleft, qxright);
        theState.setRight(qxright);
     
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expireTimerState",77, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 180: // expireTimerStateBegin ::= STATE IDENT COLON AVEXPIRETIMERSTATE_T 
            {
              Object RESULT =null;
		Location zxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xleft;
		Location zxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xright;
		Object z = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3).<Object>value();
		Location idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft;
		Location idxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xright;
		Ident id = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2).<Ident>value();
		
    getState(id.getAvatarName());
    if (! theState.declare() ) {
        addError( new AvatarFromSysMLError(AvatarFromSysMLError.HIGHERROR, zxleft, "State " + id.getAvatarName() +
        " is already declared", theState.getLeft()) );
        requestIndex = 0;
    } else {
        theState.setType(AvatarFromSysMLSyntax.STXEXPIRETIMERSTATE);
        theState.setLeft(zxright);
        requestIndex = 0;
    }

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expireTimerStateBegin",118, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 181: // poolParam ::= POOL_F EQUAL LPAR requestList RPAR 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("poolParam",78, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 182: // poolParam ::= POOL_F EQUAL request 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("poolParam",78, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 183: // requestParam ::= REQUEST_F EQUAL request 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("requestParam",79, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 184: // requestList ::= request 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("requestList",80, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 185: // requestList ::= request COMMA requestList 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("requestList",80, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 186: // dummy ::= 
            {
              Object RESULT =null;
		
            getTransition(requestIndex);
            if (theTransition.isRequested()) {
                addError( new AvatarFromSysMLError(
                    AvatarFromSysMLError.LOWERROR,
                    lexer.getLocation(),
                    "Transition " + (requestIndex + 1) + " is already requested",
                    theTransition.getRleft()) );
                okRequest = false;
            } else {
                theTransition.setRequested(true);
                okRequest = true;
            }

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("dummy",149, CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 187: // request ::= dummy IF iexpr QUEST simpleRequest ELSE NOKREQUEST_U LPAR INT RPAR 
            {
              Object RESULT =null;
		Location ixleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-8)).xleft;
		Location ixright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-8)).xright;
		Object i = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-8).<Object>value();
		Location exleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-7)).xleft;
		Location exright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-7)).xright;
		String e = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-7).<String>value();
		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5)).xleft;
		Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5)).xright;
		Object q = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5).<Object>value();
		Location nxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xleft;
		Location nxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xright;
		Integer n = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1).<Integer>value();
		Location zxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location zxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object z = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
        if (n != requestIndex + 1) {
                addError( new AvatarFromSysMLError(AvatarFromSysMLError.LOWWARNING, nxleft,
                " request index must be the request range in the request list (beginning at 1)", null) );
        }
        if (okRequest) {
            theTransition.setRleft(ixleft);
            theTransition.setRright(zxright);
        }
        requestIndex++;
      
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("request",81, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-9), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 188: // request ::= dummy simpleRequest 
            {
              Object RESULT =null;
		Location ixleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location ixright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object i = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
        if (okRequest) {
            theTransition.setRleft(ixleft);
            theTransition.setRright(ixright);
        }
        requestIndex++;
       
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("request",81, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 189: // simpleRequest ::= trivialRequest 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("simpleRequest",82, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 190: // simpleRequest ::= sendRequest 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("simpleRequest",82, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 191: // simpleRequest ::= receiveRequest 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("simpleRequest",82, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 192: // simpleRequest ::= setTimerRequest 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("simpleRequest",82, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 193: // simpleRequest ::= resetTimerRequest 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("simpleRequest",82, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 194: // simpleRequest ::= expireTimerRequest 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("simpleRequest",82, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 195: // trivialRequest ::= IMMEDIATEREQUEST_U 
            {
              Object RESULT =null;
		Location ixleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location ixright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object i = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
        if (!(requestIndex == 0)) {
            addError( new AvatarFromSysMLError(AvatarFromSysMLError.LOWWARNING, ixleft,
            " immediate request has index 1 and thus can only be used as first request", null) );
        }
        if (okRequest)
            theTransition.setType(AvatarFromSysMLSyntax.STXTRIVIALTRANSITION);
      
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("trivialRequest",83, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 196: // trivialRequest ::= trivialRequestBegin requestArgs RPAR 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("trivialRequest",83, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 197: // trivialRequestBegin ::= TRIVIALREQUEST_T LPAR 
            {
              Object RESULT =null;
		
    if (okRequest)
        theTransition.setType(AvatarFromSysMLSyntax.STXTRIVIALTRANSITION);
    clearRequestArgs();

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("trivialRequestBegin",101, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 198: // sendRequest ::= sendRequestBegin requestArgs RPAR 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("sendRequest",86, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 199: // sendRequestBegin ::= SENDREQUEST_T LPAR 
            {
              Object RESULT =null;
		
    if (okRequest)
        theTransition.setType(AvatarFromSysMLSyntax.STXSENDTRANSITION);
    clearRequestArgs();

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("sendRequestBegin",102, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 200: // receiveRequest ::= receiveRequestBegin requestArgs RPAR 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("receiveRequest",87, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 201: // receiveRequestBegin ::= RECEIVEREQUEST_T LPAR 
            {
              Object RESULT =null;
		
    if (okRequest)
        theTransition.setType(AvatarFromSysMLSyntax.STXRECEIVETRANSITION);
    clearRequestArgs();

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("receiveRequestBegin",103, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 202: // setTimerRequest ::= setTimerRequestBegin requestArgs RPAR 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("setTimerRequest",88, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 203: // setTimerRequestBegin ::= SETTIMERREQUEST_T LPAR 
            {
              Object RESULT =null;
		
    if (okRequest)
        theTransition.setType(AvatarFromSysMLSyntax.STXSETTIMERTRANSITION);
    clearRequestArgs();

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("setTimerRequestBegin",104, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 204: // resetTimerRequest ::= resetTimerRequestBegin requestArgs RPAR 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("resetTimerRequest",89, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 205: // resetTimerRequestBegin ::= RESETTIMERREQUEST_T LPAR 
            {
              Object RESULT =null;
		
    if (okRequest)
        theTransition.setType(AvatarFromSysMLSyntax.STXRESETTIMERTRANSITION);
    clearRequestArgs();

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("resetTimerRequestBegin",105, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 206: // expireTimerRequest ::= expireTimerRequestBegin requestArgs RPAR 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expireTimerRequest",90, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 207: // expireTimerRequestBegin ::= EXPIRETIMERREQUEST_T LPAR 
            {
              Object RESULT =null;
		
    if (okRequest)
        theTransition.setType(AvatarFromSysMLSyntax.STXEXPIRETIMERTRANSITION);
    clearRequestArgs();

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expireTimerRequestBegin",106, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 208: // requestArgs ::= requestArg 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("requestArgs",84, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 209: // requestArgs ::= requestArg COMMA requestArgs 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("requestArgs",84, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 210: // requestArg ::= indexParam 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("requestArg",85, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 211: // requestArg ::= delayParam 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("requestArg",85, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 212: // requestArg ::= channelParam 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("requestArg",85, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 213: // requestArg ::= payloadParam 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("requestArg",85, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 214: // requestArg ::= settimerParam 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("requestArg",85, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 215: // requestArg ::= resettimerParam 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("requestArg",85, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 216: // requestArg ::= expiretimerParam 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("requestArg",85, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 217: // indexParam ::= INDEX_F EQUAL INT 
            {
              Object RESULT =null;
		Location fxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft;
		Location fxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xright;
		Object f = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2).<Object>value();
		Location ixleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location ixright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Integer i = CUP$AvatarFromSysMLParser$stack.peek().<Integer>value();
		
    if (indexArg != null)
        addError(new AvatarFromSysMLError(AvatarFromSysMLError.LOWWARNING,fxleft, "index parameter has already been set", indexArg));
    if (i != requestIndex + 1)
        addError(new AvatarFromSysMLError(AvatarFromSysMLError.LOWWARNING,fxleft, "the index of a request must be its range (beginning at 1)",
        null));
    if (indexArg == null) indexArg = fxleft;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("indexParam",91, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 218: // delayParam ::= delayKeyword EQUAL delayExpr 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("delayParam",92, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 219: // delayKeyword ::= DELAY_F 
            {
              Object RESULT =null;
		Location dxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location dxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object d = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
    if (delayArg != null) {
        addError(new AvatarFromSysMLError(AvatarFromSysMLError.LOWWARNING, dxleft, "delay parameter has already been set", delayArg));
        argOK = false;
    }
    else {
        delayArg = dxleft;
        argOK = true;
    }

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("delayKeyword",148, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 220: // delayExpr ::= iexpr 
            {
              Object RESULT =null;
		Location exleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location exright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		String e = CUP$AvatarFromSysMLParser$stack.peek().<String>value();
		 if (argOK && okRequest) theTransition.setMinDelay(e); 
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("delayExpr",93, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 221: // delayExpr ::= delayRandomExpr 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("delayExpr",93, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 222: // delayRandomExpr ::= BOUNDRANDOM_U LPAR iexpr COMMA iexpr RPAR 
            {
              Object RESULT =null;
		Location ixleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xleft;
		Location ixright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xright;
		String i = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3).<String>value();
		Location axleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xleft;
		Location axright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xright;
		String a = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1).<String>value();
		
        if(argOK && okRequest) {
            theTransition.setMinDelay(i);
            theTransition.setMaxDelay(a);
        }
      
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("delayRandomExpr",95, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 223: // payloadParam ::= payloadParamBegin IDENT LPAR termList RPAR 
            {
              Object RESULT =null;
		Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xleft;
		Location bxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xright;
		Object b = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4).<Object>value();
		
        if (argOK) {
            if (theTransition.getType() != AvatarFromSysMLSyntax.STXSENDTRANSITION)
                addError(new AvatarFromSysMLError(AvatarFromSysMLError.LOWWARNING, bxleft,
                    "such payload is only relevant for send transitions", null));
            if (okRequest) theTransition.setSendPayload(argList);
        }
        argList = null;
      
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("payloadParam",96, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 224: // payloadParam ::= payloadParamBegin IDENT LPAR RPAR 
            {
              Object RESULT =null;
		Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xleft;
		Location bxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xright;
		Object b = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3).<Object>value();
		
       if (argOK) {
           if (theTransition.getType() != AvatarFromSysMLSyntax.STXSENDTRANSITION)
               addError(new AvatarFromSysMLError(AvatarFromSysMLError.LOWWARNING, bxleft,
                   "such payload is only relevant for send transitions", null));
           if (okRequest) theTransition.setSendPayload(argList);
       }
       argList = null;
     
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("payloadParam",96, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 225: // payloadParam ::= payloadParamBegin IDENT 
            {
              Object RESULT =null;
		Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xleft;
		Location bxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xright;
		Object b = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1).<Object>value();
		
       if (argOK) {
           if (theTransition.getType() != AvatarFromSysMLSyntax.STXSENDTRANSITION)
               addError(new AvatarFromSysMLError(AvatarFromSysMLError.LOWWARNING, bxleft,
                   "such payload is only relevant for send transitions", null));
           if (okRequest) theTransition.setSendPayload(argList);
       }
       argList = null;
     
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("payloadParam",96, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 226: // payloadParam ::= payloadParamBegin TIMERSETMSG_T LPAR stxExpr RPAR 
            {
              Object RESULT =null;
		Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xleft;
		Location bxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xright;
		Object b = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4).<Object>value();
		Location exleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xleft;
		Location exright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xright;
		StxExpr e = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1).<StxExpr>value();
		
        if (argOK) {
           if (theTransition.getType() != AvatarFromSysMLSyntax.STXSETTIMERTRANSITION)
               addError(new AvatarFromSysMLError(AvatarFromSysMLError.LOWWARNING, bxleft,
                   "such payload is only relevant for set-timer transitions", null));
           argList.add(e);
           if (okRequest) theTransition.setSendPayload(argList);
        }
        argList = null;
      
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("payloadParam",96, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 227: // payloadParam ::= payloadParamBegin TIMERRESETMSG_T LPAR RPAR 
            {
              Object RESULT =null;
		Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xleft;
		Location bxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xright;
		Object b = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3).<Object>value();
		
        if (argOK) {
           if (theTransition.getType() != AvatarFromSysMLSyntax.STXRESETTIMERTRANSITION)
               addError(new AvatarFromSysMLError(AvatarFromSysMLError.LOWWARNING, bxleft,
                   "such payload is only relevant for reset-timer transitions", null));
           if (okRequest) theTransition.setSendPayload(argList);
        }
        argList = null;
      
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("payloadParam",96, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 228: // payloadParamBegin ::= PAYLOAD_F EQUAL 
            {
              Object RESULT =null;
		Location pxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xleft;
		Location pxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xright;
		Object p = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1).<Object>value();
		
    if (payloadArg != null) {
        addError(new AvatarFromSysMLError(AvatarFromSysMLError.LOWWARNING, pxleft, "payload parameter has already been set", payloadArg));
        argOK = false;
    }
    else {
        payloadArg = pxleft;
        argOK = true;
        argList= new ArrayList<StxTerm>();
    }

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("payloadParamBegin",120, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 229: // channelParam ::= CHANNEL_F EQUAL IDENT 
            {
              Object RESULT =null;
		Location cxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft;
		Location cxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xright;
		Object c = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2).<Object>value();
		Location idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location idxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Ident id = CUP$AvatarFromSysMLParser$stack.peek().<Ident>value();
		
    if (channelArg != null)
        addError(new AvatarFromSysMLError(AvatarFromSysMLError.LOWWARNING, cxleft, "channel parameter has already been set", channelArg));
    else {
        if (theTransition.getType() != AvatarFromSysMLSyntax.STXSENDTRANSITION &&
             theTransition.getType() != AvatarFromSysMLSyntax.STXRECEIVETRANSITION)
            addError(new AvatarFromSysMLError(AvatarFromSysMLError.LOWWARNING, cxleft,
                "such channel is only relevant for send or receive transitions", null));
       if (okRequest) {
           theTransition.setSignalName(theBlock.getName(), id.getAvatarName());
           commTransitions.add(theTransition);
       }
       channelArg = cxleft;
    }

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("channelParam",97, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 230: // settimerParam ::= CHANNEL_F EQUAL IDENT POINT SET_TM 
            {
              Object RESULT =null;
		Location cxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xleft;
		Location cxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xright;
		Object c = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4).<Object>value();
		Location idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft;
		Location idxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xright;
		Ident id = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2).<Ident>value();
		
    if (settimerArg != null)
        addError(new AvatarFromSysMLError(AvatarFromSysMLError.LOWWARNING, cxleft, "timer channel parameter has already been set", settimerArg));
    else {
        if (theTransition.getType() != AvatarFromSysMLSyntax.STXSETTIMERTRANSITION)
            addError(new AvatarFromSysMLError(AvatarFromSysMLError.LOWWARNING, cxleft,
                "such channel is only relevant for set-timer transitions", null));
        if (okRequest) theTransition.setTimer(id.getAvatarName());
        settimerArg = cxleft;
    }

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("settimerParam",98, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 231: // resettimerParam ::= CHANNEL_F EQUAL IDENT POINT RESET_TM 
            {
              Object RESULT =null;
		Location cxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xleft;
		Location cxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xright;
		Object c = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4).<Object>value();
		Location idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft;
		Location idxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xright;
		Ident id = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2).<Ident>value();
		
    if (resettimerArg != null)
        addError(new AvatarFromSysMLError(AvatarFromSysMLError.LOWWARNING, cxleft, "timer channel parameter has already been set", settimerArg));
    else {
        if (theTransition.getType() != AvatarFromSysMLSyntax.STXRESETTIMERTRANSITION)
            addError(new AvatarFromSysMLError(AvatarFromSysMLError.LOWWARNING, cxleft,
                "such channel is only relevant for reset-timer transitions", null));
        if (okRequest) theTransition.setTimer(id.getAvatarName());
        resettimerArg = cxleft;
    }

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("resettimerParam",99, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 232: // expiretimerParam ::= CHANNEL_F EQUAL IDENT POINT EXPIRE_TM 
            {
              Object RESULT =null;
		Location cxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xleft;
		Location cxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xright;
		Object c = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4).<Object>value();
		Location idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft;
		Location idxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xright;
		Ident id = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2).<Ident>value();
		
    if (expiretimerArg != null)
        addError(new AvatarFromSysMLError(AvatarFromSysMLError.LOWWARNING, cxleft, "timer channel parameter has already been set", settimerArg));
    else {
        if (theTransition.getType() != AvatarFromSysMLSyntax.STXEXPIRETIMERTRANSITION)
            addError(new AvatarFromSysMLError(AvatarFromSysMLError.LOWWARNING, cxleft,
                "such channel is only relevant for expire-timer transitions", null));
        if (okRequest) theTransition.setTimer(id.getAvatarName());
        expiretimerArg = cxleft;
    }

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expiretimerParam",100, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 233: // termList ::= stxRvalue 
            {
              Object RESULT =null;
		Location exleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location exright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		StxTerm e = CUP$AvatarFromSysMLParser$stack.peek().<StxTerm>value();
		 argList.add(e); 
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("termList",130, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 234: // termList ::= termList COMMA stxRvalue 
            {
              Object RESULT =null;
		Location exleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location exright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		StxTerm e = CUP$AvatarFromSysMLParser$stack.peek().<StxTerm>value();
		 argList.add(e); 
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("termList",130, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 235: // randomAction ::= STATEACTION_F EQUAL ASSIGNMENT_T LPAR targetParam COMMA randomParam RPAR 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("randomAction",121, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-7), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 236: // randomAction ::= STATEACTION_F EQUAL ASSIGNMENT_T LPAR randomParam COMMA targetParam RPAR 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("randomAction",121, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-7), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 237: // targetParam ::= target EQUAL fullIdent 
            {
              Object RESULT =null;
		
    theState.setVariable(stringAcc.toString());

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("targetParam",122, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 238: // target ::= TARGET_F 
            {
              Object RESULT =null;
		
    stringAcc = new StringBuffer();

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("target",136, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 239: // fullIdent ::= IDENT 
            {
              Object RESULT =null;
		Location idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location idxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Ident id = CUP$AvatarFromSysMLParser$stack.peek().<Ident>value();
		
        stringAcc.append(id.getAvatarName());
      
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("fullIdent",137, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 240: // fullIdent ::= fullIdent POINT IDENT 
            {
              Object RESULT =null;
		Location idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location idxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Ident id = CUP$AvatarFromSysMLParser$stack.peek().<Ident>value();
		
        stringAcc.append("." + id.getAvatarName());
      
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("fullIdent",137, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 241: // randomParam ::= VALUE_F EQUAL actionRandomExpr 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("randomParam",123, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 242: // actionRandomExpr ::= BOUNDRANDOM_U LPAR iexpr COMMA iexpr RPAR 
            {
              Object RESULT =null;
		Location ixleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xleft;
		Location ixright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xright;
		String i = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3).<String>value();
		Location axleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xleft;
		Location axright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xright;
		String a = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1).<String>value();
		
        theState.setMinValue(i);
        theState.setMaxValue(a);
      
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("actionRandomExpr",94, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 243: // countAction ::= STATEACTION_F EQUAL ASSIGNMENT_T LPAR targetParam COMMA countParam RPAR 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("countAction",124, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-7), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 244: // countAction ::= STATEACTION_F EQUAL ASSIGNMENT_T LPAR countParam COMMA targetParam RPAR 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("countAction",124, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-7), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 245: // countParam ::= VALUE_F EQUAL IDENT POINT AMOUNT_U LPAR RPAR 
            {
              Object RESULT =null;
		Location idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xleft;
		Location idxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xright;
		Ident id = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4).<Ident>value();
		
    getSignal(theBlock.getName(),id.getAvatarName());
    theState.setSignal(theSignal);

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("countParam",125, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 246: // transition ::= transitionBegin THEN IDENT SEMICOLON 
            {
              Object RESULT =null;
		Location txleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xleft;
		Location txright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xright;
		Object t = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3).<Object>value();
		Location idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xleft;
		Location idxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xright;
		Ident id = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1).<Ident>value();
		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object q = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
        getState(id.getAvatarName());
        theTransition.setTarget(theState);
        theTransition.setLeft(txleft);
        theTransition.setRight(qxright);
      
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("transition",126, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 247: // transition ::= transitionBegin doActions THEN IDENT SEMICOLON 
            {
              Object RESULT =null;
		Location txleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xleft;
		Location txright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xright;
		Object t = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4).<Object>value();
		Location idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xleft;
		Location idxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xright;
		Ident id = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1).<Ident>value();
		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object q = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
        getState(id.getAvatarName());
        theTransition.setTarget(theState);
        theTransition.setLeft(txleft);
        theTransition.setRight(qxright);
      
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("transition",126, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 248: // transition ::= transitionBegin THEN IDENT LBRAC transitionLabels RBRAC 
            {
              Object RESULT =null;
		Location txleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5)).xleft;
		Location txright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5)).xright;
		Object t = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5).<Object>value();
		Location idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xleft;
		Location idxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xright;
		Ident id = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3).<Ident>value();
		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object q = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
        getState(id.getAvatarName());
        theTransition.setTarget(theState);
        theTransition.setDelayExtra(delayExtraMap);
        delayExtraMap = null;
        theTransition.setLeft(txleft);
        theTransition.setRight(qxright);
      
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("transition",126, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 249: // transition ::= transitionBegin doActions THEN IDENT LBRAC transitionLabels RBRAC 
            {
              Object RESULT =null;
		Location txleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6)).xleft;
		Location txright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6)).xright;
		Object t = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6).<Object>value();
		Location idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xleft;
		Location idxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xright;
		Ident id = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3).<Ident>value();
		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object q = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
        getState(id.getAvatarName());
        theTransition.setTarget(theState);
        theTransition.setDelayExtra(delayExtraMap);
        delayExtraMap = null;
        theTransition.setLeft(txleft);
        theTransition.setRight(qxright);
      
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("transition",126, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 250: // transitionBegin ::= TRANSITION COLON AVTRANSITION_T FIRST IDENT 
            {
              Object RESULT =null;
		Location txleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xleft;
		Location txright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xright;
		Object t = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4).<Object>value();
		Location stxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location stxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Ident st = CUP$AvatarFromSysMLParser$stack.peek().<Ident>value();
		
        getState(st.getAvatarName());
        getTransition(0);
        if (!theTransition.declare())
            addError(new AvatarFromSysMLError(AvatarFromSysMLError.LOWERROR, txleft,
                "transition with same index has already been declared", null));
        clearTransitionLbls();
      
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("transitionBegin",131, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 251: // transitionBegin ::= TRANSITION COLON AVTRANSITION_T FIRST IDENT IF INDEX_F EQ INT 
            {
              Object RESULT =null;
		Location txleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-8)).xleft;
		Location txright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-8)).xright;
		Object t = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-8).<Object>value();
		Location stxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xleft;
		Location stxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xright;
		Ident st = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4).<Ident>value();
		Location ixleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location ixright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Integer i = CUP$AvatarFromSysMLParser$stack.peek().<Integer>value();
		
       getState(st.getAvatarName());
       getTransition(i-1);
        if (!theTransition.declare())
            addError(new AvatarFromSysMLError(AvatarFromSysMLError.LOWERROR, txleft,
                "transition with same index has already been declared", null));
       clearTransitionLbls();
     
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("transitionBegin",131, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-8), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 252: // doActions ::= transitionActionBegin LBRAC RBRAC 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("doActions",127, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 253: // doActions ::= transitionActionBegin LBRAC transitionAction RBRAC 
            {
              Object RESULT =null;
		
            theTransition.setActions(actionList);
            actionList = null;
      
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("doActions",127, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 254: // doActions ::= receiveActionBegin LBRAC RBRAC 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("doActions",127, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 255: // doActions ::= receiveActionBegin LBRAC receiveAction RBRAC 
            {
              Object RESULT =null;
		
            theTransition.setReceivePayload(receiveMap);
            receiveMap = null;
      
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("doActions",127, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 256: // transitionActionBegin ::= DO ACTION COLON TRANSITIONACTION_T 
            {
              Object RESULT =null;
		
     actionList = new ArrayList<StxAction>();

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("transitionActionBegin",138, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 257: // receiveActionBegin ::= DO ACTION COLON RECEIVEACTION_T 
            {
              Object RESULT =null;
		
     receiveMap = new HashMap<String,String>();

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("receiveActionBegin",139, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 258: // transitionAction ::= FIRST START_U SEMICOLON THEN DONE_U SEMICOLON 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("transitionAction",133, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 259: // transitionAction ::= FIRST START_U SEMICOLON actionSeq 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("transitionAction",133, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 260: // actionSeq ::= THEN act THEN DONE_U SEMICOLON 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("actionSeq",128, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 261: // actionSeq ::= THEN act actionSeq 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("actionSeq",128, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 262: // act ::= assign fulllIdent GETS stxRvalue SEMICOLON 
            {
              Object RESULT =null;
		Location axleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xleft;
		Location axright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xright;
		Object a = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4).<Object>value();
		Location idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xleft;
		Location idxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xright;
		String id = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3).<String>value();
		Location vxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xleft;
		Location vxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xright;
		StxTerm v = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1).<StxTerm>value();
		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object q = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
        actionList.add(new StxAction(axleft, qxright, id , v));
      
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("act",129, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 263: // act ::= ACTION EQUAL stxCall SEMICOLON 
            {
              Object RESULT =null;
		Location axleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xleft;
		Location axright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xright;
		Object a = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3).<Object>value();
		Location cxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xleft;
		Location cxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xright;
		StxCall c = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1).<StxCall>value();
		Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Object q = CUP$AvatarFromSysMLParser$stack.peek().<Object>value();
		
        actionList.add(new StxAction(axleft, qxright, c));
      
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("act",129, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 264: // fulllIdent ::= fullIdent 
            {
              String RESULT =null;
		
    RESULT = stringAcc.toString();
    stringAcc.setLength(0);

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("fulllIdent",1, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 265: // assign ::= ASSIGN 
            {
              Object RESULT =null;
		
    stringAcc = new StringBuffer();

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("assign",135, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 266: // receiveAction ::= messageLine receiveAssigns 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("receiveAction",134, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 267: // receiveAction ::= receiveAssigns messageLine 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("receiveAction",134, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 268: // messageLine ::= ITEM MSG_U COLON IDENT EQUAL PAYLOAD_F AS IDENT SEMICOLON 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("messageLine",140, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-8), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 269: // receiveAssigns ::= FIRST START_U SEMICOLON THEN DONE_U SEMICOLON 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("receiveAssigns",141, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 270: // receiveAssigns ::= FIRST START_U SEMICOLON receiveAssignSeq 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("receiveAssigns",141, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 271: // receiveAssignSeq ::= receiveAssign THEN DONE_U SEMICOLON 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("receiveAssignSeq",142, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 272: // receiveAssignSeq ::= receiveAssign receiveAssignSeq 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("receiveAssignSeq",142, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 273: // receiveAssign ::= THEN assign fullIdent GETS MSG_U POINT IDENT SEMICOLON 
            {
              Object RESULT =null;
		Location txleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-7)).xleft;
		Location txright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-7)).xright;
		Object t = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-7).<Object>value();
		Location idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xleft;
		Location idxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xright;
		Ident id = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1).<Ident>value();
		
    String test = receiveMap.get(id.getAvatarName());
    if (test == null)  receiveMap.put(id.getAvatarName(),stringAcc.toString());
    else
        addError(new AvatarFromSysMLError(AvatarFromSysMLError.LOWERROR, txleft,
            "component " + id.getAvatarName() + " has already been assigned", null));

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("receiveAssign",143, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-7), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 274: // transitionLabels ::= transitionLabel SEMICOLON 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("transitionLabels",132, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 275: // transitionLabels ::= transitionLabel SEMICOLON transitionLabels 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("transitionLabels",132, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 276: // transitionLabel ::= distributionLabel 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("transitionLabel",144, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 277: // transitionLabel ::= weightLabel 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("transitionLabel",144, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 278: // transitionLabel ::= extraLabel 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("transitionLabel",144, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 279: // distributionLabel ::= ATTRIBUTE DISTRIBUTION_A COLON STRING_T EQUAL STRING 
            {
              Object RESULT =null;
		Location axleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5)).xleft;
		Location axright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5)).xright;
		Object a = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5).<Object>value();
		Location sxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location sxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		String s = CUP$AvatarFromSysMLParser$stack.peek().<String>value();
		
    if (distributionLbl != null)
        addError(new AvatarFromSysMLError(AvatarFromSysMLError.LOWERROR, axleft,
            "distribution label has already been assigned", distributionLbl));
    else {
        theTransition.setDelayDistributionLaw(s);
        distributionLbl = axleft;
    }

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("distributionLabel",145, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 280: // weightLabel ::= ATTRIBUTE WEIGHT_A COLON REAL_T EQUAL REAL 
            {
              Object RESULT =null;
		Location axleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5)).xleft;
		Location axright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5)).xright;
		Object a = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5).<Object>value();
		Location rxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location rxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Double r = CUP$AvatarFromSysMLParser$stack.peek().<Double>value();
		
        if (weightLbl != null)
            addError(new AvatarFromSysMLError(AvatarFromSysMLError.LOWERROR, axleft,
                "weight label has already been assigned", weightLbl));
        else {
            theTransition.setProbability(r);
            weightLbl = axleft;
        }
      
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("weightLabel",146, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 281: // weightLabel ::= ATTRIBUTE WEIGHT_A COLON REAL_T EQUAL INT 
            {
              Object RESULT =null;
		Location axleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5)).xleft;
		Location axright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5)).xright;
		Object a = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5).<Object>value();
		Location rxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location rxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Integer r = CUP$AvatarFromSysMLParser$stack.peek().<Integer>value();
		
        if (weightLbl != null)
            addError(new AvatarFromSysMLError(AvatarFromSysMLError.LOWERROR, axleft,
                "weight label has already been assigned", weightLbl));
        else {
            theTransition.setProbability((double)r);
            weightLbl = axleft;
        }
      
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("weightLabel",146, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 282: // extraLabel ::= ATTRIBUTE ANYNAME COLON STRING_T EQUAL STRING 
            {
              Object RESULT =null;
		Location nxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xleft;
		Location nxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xright;
		String n = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4).<String>value();
		Location sxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location sxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		String s = CUP$AvatarFromSysMLParser$stack.peek().<String>value();
		
        if (delayExtraMap == null)
            delayExtraMap = new HashMap<String,String>();
        delayExtraMap.put(n,s);
      
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("extraLabel",147, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 283: // extraLabel ::= ATTRIBUTE IDENT COLON STRING_T EQUAL STRING 
            {
              Object RESULT =null;
		Location nxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xleft;
		Location nxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xright;
		Ident n = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4).<Ident>value();
		Location sxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location sxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		String s = CUP$AvatarFromSysMLParser$stack.peek().<String>value();
		
        if (delayExtraMap == null)
            delayExtraMap = new HashMap<String,String>();
        delayExtraMap.put(n.getAvatarName(),s);
      
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("extraLabel",147, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 284: // stxRvalue ::= stxCall 
            {
              StxTerm RESULT =null;
		Location cxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location cxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		StxCall c = CUP$AvatarFromSysMLParser$stack.peek().<StxCall>value();
		 RESULT = c; 
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stxRvalue",150, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 285: // stxRvalue ::= expr 
            {
              StxTerm RESULT =null;
		Location exleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location exright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		String e = CUP$AvatarFromSysMLParser$stack.peek().<String>value();
		 RESULT = new StxExpr(e); 
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stxRvalue",150, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 286: // stxRvalue ::= complexIdent 
            {
              StxTerm RESULT =null;
		Location ixleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location ixright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		String i = CUP$AvatarFromSysMLParser$stack.peek().<String>value();
		 RESULT = new StxId(i); 
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stxRvalue",150, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 287: // stxExpr ::= iexpr 
            {
              StxExpr RESULT =null;
		Location exleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location exright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		String e = CUP$AvatarFromSysMLParser$stack.peek().<String>value();
		 RESULT = new StxExpr(e); 
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stxExpr",151, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 288: // iexpr ::= expr 
            {
              String RESULT =null;
		Location exleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location exright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		String e = CUP$AvatarFromSysMLParser$stack.peek().<String>value();
		 RESULT = e; 
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("iexpr",153, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 289: // iexpr ::= complexIdent 
            {
              String RESULT =null;
		Location ixleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location ixright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		String i = CUP$AvatarFromSysMLParser$stack.peek().<String>value();
		 RESULT = i; 
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("iexpr",153, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 290: // expr ::= iexpr PLUS iexpr 
            {
              String RESULT =null;
		Location lxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft;
		Location lxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xright;
		String l = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2).<String>value();
		Location rxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location rxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		String r = CUP$AvatarFromSysMLParser$stack.peek().<String>value();
		 RESULT = l + " + " + r; 
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expr",154, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 291: // expr ::= iexpr MINUS iexpr 
            {
              String RESULT =null;
		Location lxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft;
		Location lxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xright;
		String l = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2).<String>value();
		Location rxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location rxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		String r = CUP$AvatarFromSysMLParser$stack.peek().<String>value();
		 RESULT = l + " - " + r; 
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expr",154, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 292: // expr ::= iexpr MULT iexpr 
            {
              String RESULT =null;
		Location lxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft;
		Location lxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xright;
		String l = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2).<String>value();
		Location rxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location rxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		String r = CUP$AvatarFromSysMLParser$stack.peek().<String>value();
		 RESULT = l + " * " + r; 
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expr",154, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 293: // expr ::= iexpr DIV iexpr 
            {
              String RESULT =null;
		Location lxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft;
		Location lxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xright;
		String l = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2).<String>value();
		Location rxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location rxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		String r = CUP$AvatarFromSysMLParser$stack.peek().<String>value();
		 RESULT = l + " / " + r; 
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expr",154, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 294: // expr ::= iexpr MOD iexpr 
            {
              String RESULT =null;
		Location lxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft;
		Location lxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xright;
		String l = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2).<String>value();
		Location rxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location rxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		String r = CUP$AvatarFromSysMLParser$stack.peek().<String>value();
		 RESULT = l + " % " + r; 
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expr",154, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 295: // expr ::= MINUS iexpr 
            {
              String RESULT =null;
		Location exleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location exright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		String e = CUP$AvatarFromSysMLParser$stack.peek().<String>value();
		 RESULT = "-" + e; 
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expr",154, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 296: // expr ::= iexpr OR iexpr 
            {
              String RESULT =null;
		Location lxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft;
		Location lxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xright;
		String l = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2).<String>value();
		Location rxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location rxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		String r = CUP$AvatarFromSysMLParser$stack.peek().<String>value();
		 RESULT = l + " || " + r; 
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expr",154, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 297: // expr ::= iexpr AND iexpr 
            {
              String RESULT =null;
		Location lxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft;
		Location lxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xright;
		String l = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2).<String>value();
		Location rxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location rxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		String r = CUP$AvatarFromSysMLParser$stack.peek().<String>value();
		 RESULT = l + " && " + r; 
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expr",154, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 298: // expr ::= NOT iexpr 
            {
              String RESULT =null;
		Location exleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location exright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		String e = CUP$AvatarFromSysMLParser$stack.peek().<String>value();
		 RESULT = "!" + e; 
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expr",154, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 299: // expr ::= iexpr LT iexpr 
            {
              String RESULT =null;
		Location lxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft;
		Location lxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xright;
		String l = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2).<String>value();
		Location rxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location rxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		String r = CUP$AvatarFromSysMLParser$stack.peek().<String>value();
		 RESULT = l + " < " + r; 
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expr",154, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

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

        }
    } /* end of method */
  /** Method 1 with the actual generated action code for actions 300 to 600. */
  public final java_cup.runtime.Symbol CUP$AvatarFromSysMLParser$do_action_part00000001(
    int                        CUP$AvatarFromSysMLParser$act_num,
    java_cup.runtime.lr_parser CUP$AvatarFromSysMLParser$parser,
    java.util.Stack<java_cup.runtime.Symbol>    CUP$AvatarFromSysMLParser$stack,
    int                        CUP$AvatarFromSysMLParser$top)
    throws java.lang.Exception
    {
      /* Symbol object for return from actions */
      java_cup.runtime.Symbol CUP$AvatarFromSysMLParser$result;

      /* select the action based on the action number */
      switch (CUP$AvatarFromSysMLParser$act_num)
        {
          /*. . . . . . . . . . . . . . . . . . . .*/
          case 300: // expr ::= iexpr GT iexpr 
            {
              String RESULT =null;
		Location lxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft;
		Location lxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xright;
		String l = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2).<String>value();
		Location rxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location rxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		String r = CUP$AvatarFromSysMLParser$stack.peek().<String>value();
		 RESULT = l + " > " + r; 
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expr",154, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 301: // expr ::= iexpr LEQ iexpr 
            {
              String RESULT =null;
		Location lxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft;
		Location lxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xright;
		String l = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2).<String>value();
		Location rxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location rxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		String r = CUP$AvatarFromSysMLParser$stack.peek().<String>value();
		 RESULT = l + " <= " + r; 
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expr",154, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 302: // expr ::= iexpr GEQ iexpr 
            {
              String RESULT =null;
		Location lxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft;
		Location lxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xright;
		String l = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2).<String>value();
		Location rxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location rxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		String r = CUP$AvatarFromSysMLParser$stack.peek().<String>value();
		 RESULT = l + " >= " + r; 
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expr",154, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 303: // expr ::= iexpr EQ iexpr 
            {
              String RESULT =null;
		Location lxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft;
		Location lxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xright;
		String l = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2).<String>value();
		Location rxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location rxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		String r = CUP$AvatarFromSysMLParser$stack.peek().<String>value();
		 RESULT = l + " == " + r; 
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expr",154, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 304: // expr ::= iexpr DIF iexpr 
            {
              String RESULT =null;
		Location lxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft;
		Location lxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xright;
		String l = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2).<String>value();
		Location rxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location rxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		String r = CUP$AvatarFromSysMLParser$stack.peek().<String>value();
		 RESULT = l + " != " + r; 
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expr",154, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 305: // expr ::= LPAR iexpr RPAR 
            {
              String RESULT =null;
		Location exleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xleft;
		Location exright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xright;
		String e = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1).<String>value();
		 RESULT = "(" + e + ")"; 
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expr",154, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 306: // expr ::= INT 
            {
              String RESULT =null;
		Location ixleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location ixright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Integer i = CUP$AvatarFromSysMLParser$stack.peek().<Integer>value();
		 RESULT = "" + i; 
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expr",154, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 307: // expr ::= BOOL 
            {
              String RESULT =null;
		Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location bxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Boolean b = CUP$AvatarFromSysMLParser$stack.peek().<Boolean>value();
		 RESULT = ( b ? "true" : "false" ); 
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expr",154, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 308: // complexIdent ::= IDENT 
            {
              String RESULT =null;
		Location exleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location exright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		Ident e = CUP$AvatarFromSysMLParser$stack.peek().<Ident>value();
		 RESULT = e.getAvatarName(); 
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("complexIdent",155, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 309: // complexIdent ::= IDENT POINT complexIdent 
            {
              String RESULT =null;
		Location exleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft;
		Location exright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xright;
		Ident e = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2).<Ident>value();
		Location ixleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location ixright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		String i = CUP$AvatarFromSysMLParser$stack.peek().<String>value();
		 RESULT = e.getAvatarName() + "." + i; 
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("complexIdent",155, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 310: // stxCall ::= stxCallBegin RPAR 
            {
              StxCall RESULT =null;
		
        theCall.addSegment(stringAcc.toString() + ")");
        RESULT = theCall;
      
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stxCall",152, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 311: // stxCall ::= stxCallBegin stxCallParams RPAR 
            {
              StxCall RESULT =null;
		Location lxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xleft;
		Location lxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xright;
		Object l = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1).<Object>value();
		
        theCall.addSegment(stringAcc.toString() + ")");
        RESULT = theCall;
      
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stxCall",152, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 312: // stxCallBegin ::= IDENT LPAR 
            {
              Object RESULT =null;
		Location ixleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xleft;
		Location ixright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xright;
		Ident i = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1).<Ident>value();
		
    theCall = new StxCall();
    stringAcc = new StringBuffer(i.getAvatarName() + "(");

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stxCallBegin",156, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 313: // stxCallParams ::= stxCallParam 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stxCallParams",161, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 314: // stxCallParams ::= stxCallParam comma stxCallParams 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stxCallParams",161, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 315: // comma ::= COMMA 
            {
              Object RESULT =null;
		 stringAcc.append(", "); 
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("comma",158, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 316: // stxCallParam ::= expr 
            {
              Object RESULT =null;
		Location exleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location exright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		String e = CUP$AvatarFromSysMLParser$stack.peek().<String>value();
		 stringAcc.append(e); 
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stxCallParam",157, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 317: // stxCallParam ::= complexIdent 
            {
              Object RESULT =null;
		Location ixleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft;
		Location ixright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright;
		String i = CUP$AvatarFromSysMLParser$stack.peek().<String>value();
		
        theCall.addSegment(stringAcc.toString());
        theCall.addIdent(i);
        stringAcc.setLength(0);
     
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stxCallParam",157, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 318: // stxCallParam ::= call 
            {
              Object RESULT =null;

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stxCallParam",157, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 319: // call ::= callBegin RPAR 
            {
              Object RESULT =null;
		 stringAcc.append(")"); 
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("call",159, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 320: // call ::= stxCallBegin stxCallParams RPAR 
            {
              Object RESULT =null;
		Location lxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xleft;
		Location lxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xright;
		Object l = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1).<Object>value();
		 stringAcc.append(")"); 
              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("call",159, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 321: // callBegin ::= IDENT LPAR 
            {
              Object RESULT =null;
		Location ixleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xleft;
		Location ixright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xright;
		Ident i = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1).<Ident>value();
		
    stringAcc.append(i.getAvatarName() + "(");

              CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("callBegin",160, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT);
            }
          return CUP$AvatarFromSysMLParser$result;

          /* . . . . . .*/
          default:
            throw new Exception(
               "Invalid action number "+CUP$AvatarFromSysMLParser$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$AvatarFromSysMLParser$do_action(
    int                        CUP$AvatarFromSysMLParser$act_num,
    java_cup.runtime.lr_parser CUP$AvatarFromSysMLParser$parser,
    java.util.Stack<java_cup.runtime.Symbol>     CUP$AvatarFromSysMLParser$stack,
    int                        CUP$AvatarFromSysMLParser$top)
    throws java.lang.Exception
    {
      /* select the action handler based on the action number */
      switch (CUP$AvatarFromSysMLParser$act_num/300)
        {
          /*. . . . . . . . 0 < #action < 300. . . . . . . . . . . .*/
          case 0: 
              return CUP$AvatarFromSysMLParser$do_action_part00000000(
                               CUP$AvatarFromSysMLParser$act_num,
                               CUP$AvatarFromSysMLParser$parser,
                               CUP$AvatarFromSysMLParser$stack,
                               CUP$AvatarFromSysMLParser$top);
          /*. . . . . . . . 300 < #action < 600. . . . . . . . . . . .*/
          case 1: 
              return CUP$AvatarFromSysMLParser$do_action_part00000001(
                               CUP$AvatarFromSysMLParser$act_num,
                               CUP$AvatarFromSysMLParser$parser,
                               CUP$AvatarFromSysMLParser$stack,
                               CUP$AvatarFromSysMLParser$top);
          /* . . . no valid action number: . . .*/
          default:
            throw new Exception("Invalid action number found in internal parse table");

        }      /* end of switch */
    }
}

}