//---------------------------------------------------- // The following code was generated by CUP v0.11a beta 20060608 // Mon Jun 13 15:49:25 BST 2011 //---------------------------------------------------- package uk.ac.ed.inf.biopepa.core.dom.internal; import uk.ac.ed.inf.biopepa.core.dom.*; import java_cup.runtime.*; import java.util.List; import java.util.LinkedList; /** CUP v0.11a beta 20060608 generated parser. * @version Mon Jun 13 15:49:25 BST 2011 */ public class BioPEPAParser extends java_cup.runtime.lr_parser { /** Default constructor. */ public BioPEPAParser() {super();} /** Constructor which sets the default scanner. */ public BioPEPAParser(java_cup.runtime.Scanner s) {super(s);} /** Constructor which sets the default scanner. */ public BioPEPAParser(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\122\000\002\002\004\000\002\002\004\000\002\003" + "\004\000\002\003\002\000\002\004\003\000\002\004\003" + "\000\002\004\003\000\002\004\003\000\002\004\003\000" + "\002\004\003\000\002\005\006\000\002\011\006\000\002" + "\011\010\000\002\010\007\000\002\006\007\000\002\006" + "\010\000\002\007\006\000\002\012\010\000\002\020\005" + "\000\002\020\003\000\002\022\006\000\002\022\003\000" + "\002\017\005\000\002\017\002\000\002\021\003\000\002" + "\013\004\000\002\013\002\000\002\014\004\000\002\014" + "\002\000\002\015\004\000\002\015\002\000\002\043\006" + "\000\002\043\006\000\002\016\004\000\002\016\002\000" + "\002\036\003\000\002\036\003\000\002\036\003\000\002" + "\036\003\000\002\037\003\000\002\037\003\000\002\035" + "\003\000\002\035\003\000\002\035\003\000\002\035\005" + "\000\002\035\005\000\002\035\005\000\002\035\004\000" + "\002\035\005\000\002\035\005\000\002\035\005\000\002" + "\035\006\000\002\024\003\000\002\024\005\000\002\030" + "\005\000\002\023\003\000\002\023\002\000\002\031\003" + "\000\002\031\003\000\002\032\007\000\002\033\003\000" + "\002\033\010\000\002\025\006\000\002\025\005\000\002" + "\025\005\000\002\040\006\000\002\040\003\000\002\040" + "\005\000\002\040\005\000\002\026\003\000\002\026\003" + "\000\002\026\003\000\002\026\003\000\002\026\003\000" + "\002\027\003\000\002\027\003\000\002\034\005\000\002" + "\034\005\000\002\041\004\000\002\041\002\000\002\042" + "\004\000\002\042\002" }); /** Access to production table. */ public short[][] production_table() {return _production_table;} /** Parse-action table. */ protected static final short[][] _action_table = unpackFromStrings(new String[] { "\000\237\000\014\010\ufffe\041\ufffe\047\ufffe\050\ufffe\051" + "\ufffe\001\002\000\014\010\023\041\025\047\014\050\021" + "\051\015\001\002\000\004\002\006\001\002\000\004\002" + "\001\001\002\000\014\010\ufffc\041\ufffc\047\ufffc\050\ufffc" + "\051\ufffc\001\002\000\012\002\uffbf\024\156\026\155\027" + "\uffbf\001\002\000\014\010\ufff9\041\ufff9\047\ufff9\050\ufff9" + "\051\ufff9\001\002\000\014\010\ufffa\041\ufffa\047\ufffa\050" + "\ufffa\051\ufffa\001\002\000\006\002\000\027\034\001\002" + "\000\004\041\144\001\002\000\004\041\111\001\002\000" + "\014\010\ufffb\041\ufffb\047\ufffb\050\ufffb\051\ufffb\001\002" + "\000\014\010\ufff8\041\ufff8\047\ufff8\050\ufff8\051\ufff8\001" + "\002\000\014\010\uffff\041\uffff\047\uffff\050\uffff\051\uffff" + "\001\002\000\004\041\104\001\002\000\004\012\046\001" + "\002\000\006\010\023\041\025\001\002\000\014\010\ufffd" + "\041\ufffd\047\ufffd\050\ufffd\051\ufffd\001\002\000\020\002" + "\uffe9\011\uffe9\012\uffee\024\uffe9\026\uffe9\027\uffe9\031\026" + "\001\002\000\004\041\027\001\002\000\026\011\uffef\012" + "\uffef\013\uffef\023\uffef\025\uffef\033\uffef\034\uffef\035\uffef" + "\036\uffef\037\uffef\001\002\000\006\011\033\027\034\001" + "\002\000\010\002\uffbf\011\uffbf\027\uffbf\001\002\000\006" + "\010\023\041\025\001\002\000\010\002\uffbd\011\uffbd\027" + "\uffbd\001\002\000\010\030\uffb2\033\036\041\037\001\002" + "\000\004\030\044\001\002\000\004\030\043\001\002\000" + "\006\023\040\030\uffb0\001\002\000\006\030\uffb2\041\037" + "\001\002\000\004\030\uffb3\001\002\000\004\030\uffb1\001" + "\002\000\006\010\uffb5\041\uffb5\001\002\000\006\010\uffb4" + "\041\uffb4\001\002\000\010\002\uffbe\011\uffbe\027\034\001" + "\002\000\014\007\047\010\053\034\052\040\050\041\055" + "\001\002\000\024\011\uffd8\013\uffd8\023\uffd8\025\uffd8\033" + "\uffd8\034\uffd8\035\uffd8\036\uffd8\037\uffd8\001\002\000\024" + "\011\uffd6\013\uffd6\023\uffd6\025\uffd6\033\uffd6\034\uffd6\035" + "\uffd6\036\uffd6\037\uffd6\001\002\000\024\011\uffd7\013\uffd7" + "\023\uffd7\025\uffd7\033\uffd7\034\uffd7\035\uffd7\036\uffd7\037" + "\uffd7\001\002\000\004\040\102\001\002\000\014\007\047" + "\010\053\034\052\040\050\041\055\001\002\000\016\013" + "\077\033\062\034\066\035\063\036\067\037\064\001\002" + "\000\030\010\056\011\uffee\013\uffee\023\uffee\025\uffee\031" + "\026\033\uffee\034\uffee\035\uffee\036\uffee\037\uffee\001\002" + "\000\016\007\047\010\053\011\uffe7\034\052\040\050\041" + "\055\001\002\000\004\011\076\001\002\000\020\011\uffe5" + "\023\061\033\062\034\066\035\063\036\067\037\064\001" + "\002\000\016\007\047\010\053\011\uffe7\034\052\040\050" + "\041\055\001\002\000\014\007\047\010\053\034\052\040" + "\050\041\055\001\002\000\014\007\047\010\053\034\052" + "\040\050\041\055\001\002\000\014\007\047\010\053\034" + "\052\040\050\041\055\001\002\000\004\011\uffe8\001\002" + "\000\014\007\047\010\053\034\052\040\050\041\055\001" + "\002\000\014\007\047\010\053\034\052\040\050\041\055" + "\001\002\000\024\011\uffd1\013\uffd1\023\uffd1\025\uffd1\033" + "\uffd1\034\uffd1\035\uffd1\036\uffd1\037\064\001\002\000\024" + "\011\uffd3\013\uffd3\023\uffd3\025\uffd3\033\062\034\uffd3\035" + "\uffd3\036\067\037\064\001\002\000\024\011\uffcf\013\uffcf" + "\023\uffcf\025\uffcf\033\uffcf\034\uffcf\035\uffcf\036\uffcf\037" + "\uffcf\001\002\000\024\011\uffd5\013\uffd5\023\uffd5\025\uffd5" + "\033\062\034\uffd5\035\uffd5\036\067\037\064\001\002\000" + "\024\011\uffd0\013\uffd0\023\uffd0\025\uffd0\033\uffd0\034\uffd0" + "\035\uffd0\036\uffd0\037\064\001\002\000\004\011\uffe6\001" + "\002\000\024\011\uffce\013\uffce\023\uffce\025\uffce\033\uffce" + "\034\uffce\035\uffce\036\uffce\037\uffce\001\002\000\010\002" + "\uffc0\011\uffc0\027\uffc0\001\002\000\016\011\101\033\062" + "\034\066\035\063\036\067\037\064\001\002\000\024\011" + "\uffd4\013\uffd4\023\uffd4\025\uffd4\033\uffd4\034\uffd4\035\uffd4" + "\036\uffd4\037\uffd4\001\002\000\024\011\uffd2\013\uffd2\023" + "\uffd2\025\uffd2\033\uffd2\034\uffd2\035\uffd2\036\uffd2\037\uffd2" + "\001\002\000\004\024\105\001\002\000\030\012\uffe9\013" + "\uffe9\014\uffe9\015\uffe9\016\uffe9\017\uffe9\020\uffe9\021\uffe9" + "\022\uffe9\023\uffe9\024\uffe9\001\002\000\014\007\047\010" + "\053\034\052\040\050\041\055\001\002\000\016\025\107" + "\033\062\034\066\035\063\036\067\037\064\001\002\000" + "\014\010\ufff3\041\ufff3\047\ufff3\050\ufff3\051\ufff3\001\002" + "\000\004\024\120\001\002\000\012\024\uffec\025\uffec\031" + "\112\035\uffec\001\002\000\004\041\113\001\002\000\012" + "\023\114\024\uffea\025\uffea\035\uffea\001\002\000\004\041" + "\116\001\002\000\010\024\uffed\025\uffed\035\uffed\001\002" + "\000\012\023\114\024\uffea\025\uffea\035\uffea\001\002\000" + "\010\024\uffeb\025\uffeb\035\uffeb\001\002\000\014\004\125" + "\042\122\044\121\045\127\046\126\001\002\000\004\026" + "\uffdc\001\002\000\004\026\uffde\001\002\000\004\026\140" + "\001\002\000\004\025\137\001\002\000\004\026\uffdd\001" + "\002\000\004\026\130\001\002\000\004\026\uffdb\001\002" + "\000\006\005\131\006\132\001\002\000\006\023\uffda\025" + "\uffda\001\002\000\006\023\uffd9\025\uffd9\001\002\000\006" + "\023\134\025\uffdf\001\002\000\014\004\125\042\122\044" + "\121\045\127\046\126\001\002\000\004\025\uffe1\001\002" + "\000\004\025\uffe0\001\002\000\014\010\ufff4\041\ufff4\047" + "\ufff4\050\ufff4\051\ufff4\001\002\000\014\007\047\010\053" + "\034\052\040\050\041\055\001\002\000\020\023\134\025" + "\uffdf\033\062\034\066\035\063\036\067\037\064\001\002" + "\000\004\025\uffe2\001\002\000\006\024\150\025\uffe3\001" + "\002\000\010\024\uffe9\025\uffe9\032\145\001\002\000\004" + "\041\146\001\002\000\006\024\150\025\uffe3\001\002\000" + "\004\025\152\001\002\000\014\004\125\042\122\044\121" + "\045\127\046\126\001\002\000\004\025\uffe4\001\002\000" + "\014\010\ufff5\041\ufff5\047\ufff5\050\ufff5\051\ufff5\001\002" + "\000\004\025\154\001\002\000\014\010\ufff6\041\ufff6\047" + "\ufff6\050\ufff6\051\ufff6\001\002\000\016\007\047\010\204" + "\012\175\034\052\040\050\041\206\001\002\000\004\024" + "\157\001\002\000\004\026\160\001\002\000\006\010\163" + "\041\164\001\002\000\004\012\172\001\002\000\006\025" + "\171\027\034\001\002\000\006\010\163\041\164\001\002" + "\000\006\012\uffee\031\026\001\002\000\006\011\167\027" + "\034\001\002\000\006\010\163\041\164\001\002\000\010" + "\011\uffc1\025\uffc1\027\uffc1\001\002\000\010\011\uffc2\025" + "\uffc2\027\034\001\002\000\014\010\ufff0\041\ufff0\047\ufff0" + "\050\ufff0\051\ufff0\001\002\000\014\007\047\010\053\034" + "\052\040\050\041\055\001\002\000\016\013\174\033\062" + "\034\066\035\063\036\067\037\064\001\002\000\010\011" + "\uffc3\025\uffc3\027\uffc3\001\002\000\014\007\047\010\053" + "\034\052\040\050\041\055\001\002\000\006\025\234\035" + "\233\001\002\000\020\012\224\014\uffc5\015\uffc5\016\uffc5" + "\017\uffc5\020\uffc5\023\uffc5\001\002\000\014\014\uffc7\015" + "\uffc7\016\uffc7\017\uffc7\020\uffc7\001\002\000\014\014\221" + "\015\220\016\216\017\214\020\215\001\002\000\006\025" + "\uffcd\035\uffcd\001\002\000\016\025\213\033\062\034\066" + "\035\063\036\067\037\064\001\002\000\014\007\047\010" + "\053\034\052\040\050\041\206\001\002\000\014\014\uffc8" + "\015\uffc8\016\uffc8\017\uffc8\020\uffc8\001\002\000\042\010" + "\056\011\uffee\012\uffe9\014\uffe9\015\uffe9\016\uffe9\017\uffe9" + "\020\uffe9\023\uffe9\025\uffee\031\026\033\uffee\034\uffee\035" + "\uffee\036\uffee\037\uffee\001\002\000\004\023\210\001\002" + "\000\014\007\047\010\053\034\052\040\050\041\055\001" + "\002\000\016\011\212\033\062\034\066\035\063\036\067" + "\037\064\001\002\000\014\014\uffc6\015\uffc6\016\uffc6\017" + "\uffc6\020\uffc6\001\002\000\014\010\ufff7\041\ufff7\047\ufff7" + "\050\ufff7\051\ufff7\001\002\000\010\025\uffbb\035\uffbb\041" + "\uffbb\001\002\000\010\025\uffba\035\uffba\041\uffba\001\002" + "\000\010\025\uffbc\035\uffbc\041\uffbc\001\002\000\010\025" + "\uffc9\035\uffc9\041\111\001\002\000\010\025\uffb8\035\uffb8" + "\041\uffb8\001\002\000\010\025\uffb9\035\uffb9\041\uffb9\001" + "\002\000\006\025\uffca\035\uffca\001\002\000\006\025\uffcb" + "\035\uffcb\001\002\000\004\041\104\001\002\000\006\021" + "\230\022\226\001\002\000\004\041\uffb6\001\002\000\004" + "\041\104\001\002\000\004\041\uffb7\001\002\000\004\013" + "\232\001\002\000\016\014\uffc4\015\uffc4\016\uffc4\017\uffc4" + "\020\uffc4\023\uffc4\001\002\000\006\010\235\041\104\001" + "\002\000\014\010\ufff1\041\ufff1\047\ufff1\050\ufff1\051\ufff1" + "\001\002\000\004\041\104\001\002\000\006\025\uffcc\035" + "\uffcc\001\002\000\016\013\240\033\062\034\066\035\063" + "\036\067\037\064\001\002\000\004\025\241\001\002\000" + "\014\010\ufff2\041\ufff2\047\ufff2\050\ufff2\051\ufff2\001\002" + "" }); /** Access to parse-action table. */ public short[][] action_table() {return _action_table;} /** <code>reduce_goto</code> table. */ protected static final short[][] _reduce_table = unpackFromStrings(new String[] { "\000\237\000\006\002\004\003\003\001\001\000\026\004" + "\017\005\023\006\011\007\010\010\015\011\006\012\016" + "\020\021\021\007\040\012\001\001\000\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\034\031\001\001\000" + "\004\021\142\001\001\000\004\022\107\001\001\000\002" + "\001\001\000\002\001\001\000\002\001\001\000\004\021" + "\102\001\001\000\002\001\001\000\010\020\021\021\030" + "\040\027\001\001\000\002\001\001\000\002\001\001\000" + "\002\001\001\000\002\001\001\000\004\034\031\001\001" + "\000\002\001\001\000\010\020\021\021\030\040\044\001" + "\001\000\002\001\001\000\004\041\034\001\001\000\002" + "\001\001\000\002\001\001\000\004\042\040\001\001\000" + "\004\041\041\001\001\000\002\001\001\000\002\001\001" + "\000\002\001\001\000\002\001\001\000\004\034\031\001" + "\001\000\006\020\050\035\053\001\001\000\002\001\001" + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + "\006\020\050\035\077\001\001\000\002\001\001\000\002" + "\001\001\000\010\013\056\020\050\035\057\001\001\000" + "\002\001\001\000\004\014\064\001\001\000\010\013\074" + "\020\050\035\057\001\001\000\006\020\050\035\073\001" + "\001\000\006\020\050\035\072\001\001\000\006\020\050" + "\035\071\001\001\000\002\001\001\000\006\020\050\035" + "\070\001\001\000\006\020\050\035\067\001\001\000\002" + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + "\000\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" + "\020\050\035\105\001\001\000\002\001\001\000\002\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + "\000\004\017\114\001\001\000\002\001\001\000\002\001" + "\001\000\004\017\116\001\001\000\002\001\001\000\006" + "\036\122\043\123\001\001\000\002\001\001\000\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\037\132\001" + "\001\000\002\001\001\000\002\001\001\000\004\016\134" + "\001\001\000\006\036\122\043\135\001\001\000\002\001" + "\001\000\002\001\001\000\002\001\001\000\006\020\050" + "\035\140\001\001\000\004\016\141\001\001\000\002\001" + "\001\000\004\015\152\001\001\000\002\001\001\000\002" + "\001\001\000\004\015\146\001\001\000\002\001\001\000" + "\006\036\122\043\150\001\001\000\002\001\001\000\002" + "\001\001\000\002\001\001\000\002\001\001\000\022\020" + "\050\021\176\024\175\030\201\031\200\032\204\033\177" + "\035\202\001\001\000\002\001\001\000\002\001\001\000" + "\006\020\160\025\161\001\001\000\002\001\001\000\004" + "\034\165\001\001\000\006\020\160\025\164\001\001\000" + "\002\001\001\000\004\034\165\001\001\000\006\020\160" + "\025\167\001\001\000\002\001\001\000\004\034\165\001" + "\001\000\002\001\001\000\006\020\050\035\172\001\001" + "\000\002\001\001\000\002\001\001\000\006\020\050\035" + "\236\001\001\000\002\001\001\000\002\001\001\000\002" + "\001\001\000\004\026\216\001\001\000\002\001\001\000" + "\002\001\001\000\012\020\050\021\176\033\206\035\077" + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + "\001\000\006\020\050\035\210\001\001\000\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\022\221\023\222" + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + "\001\000\002\001\001\000\004\021\224\001\001\000\004" + "\027\226\001\001\000\002\001\001\000\004\021\230\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + "\000\016\021\176\024\235\030\201\031\200\032\204\033" + "\177\001\001\000\002\001\001\000\006\021\176\033\206" + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + "\001\000\002\001\001" }); /** Access to <code>reduce_goto</code> table. */ public short[][] reduce_table() {return _reduce_table;} /** Instance of action encapsulation class. */ protected CUP$BioPEPAParser$actions action_obj; /** Action encapsulation object initializer. */ protected void init_actions() { action_obj = new CUP$BioPEPAParser$actions(this); } /** Invoke a user supplied parse action. */ public java_cup.runtime.Symbol do_action( int act_num, java_cup.runtime.lr_parser parser, java.util.Stack stack, int top) throws java.lang.Exception { /* call code in generated class */ return action_obj.CUP$BioPEPAParser$do_action(act_num, parser, stack, top); } /** Indicates start state. */ public int start_state() {return 0;} /** Indicates start production. */ public int start_production() {return 0;} /** <code>EOF</code> Symbol index. */ public int EOF_sym() {return 0;} /** <code>error</code> Symbol index. */ public int error_sym() {return 1;} private StringBuffer m_sExpected = new StringBuffer(); private static final String EMPTY = ""; /* Return terminal symbols by sym. */ public String gettokenstr( int sym ) { BioPEPALexer lexer = (BioPEPALexer) getScanner(); String result = lexer.map.get(sym); return (result!=null)?result:EMPTY; } /* * Prepares the list of expected input tokens. * It doesn't try any recover action. * Hence, unrecovered_syntax_error is likely to be thrown */ public void syntax_error(java_cup.runtime.Symbol current) { //unrecovered_syntax_error(current); int state = ((Symbol)stack.peek()).parse_state; short[] row = action_tab[state]; for( int i = 0; i<row.length; i += 2) { if( row[i]>0) { m_sExpected.append("'").append(gettokenstr(row[i])); m_sExpected.append("', "); } } m_sExpected.delete(m_sExpected.length()-2, m_sExpected.length()); int j = m_sExpected.lastIndexOf("', '"); if(j > 0) m_sExpected.replace(j, j+4, "' or '"); } /** Simply calls <code>report_fatal_error()</code>. */ public void report_error(String message, java_cup.runtime.Symbol info) { } /** Fetches column and line number from the lexer, and then throws * an exception containing the error message to signal * that parsing has been unsuccessful. If the symbol * contains a value, this is also reported. */ public void unrecovered_syntax_error(java_cup.runtime.Symbol Current) throws ParserException{ done_parsing(); BioPEPALexer pl = (BioPEPALexer)this.getScanner(); throw new ParserException( pl.getCurrentChar(), (pl.getCurrentLineNumber()+1), pl.getCurrentColumn(), pl.yylength(), "Syntax Error. Current symbol: '" + (Current.value==null? gettokenstr(Current.sym) : Current.value) + "'. Expected : " + m_sExpected.toString()); } public void report_fatal_error(String message, Object info) throws ParserException{ done_parsing(); BioPEPALexer pl = (BioPEPALexer)this.getScanner(); throw new ParserException( pl.getCurrentChar(), (pl.getCurrentLineNumber()+1), pl.getCurrentColumn(), pl.yylength(), message); } } /** Cup generated class to encapsulate user supplied action code.*/ class CUP$BioPEPAParser$actions { private static final int INHIBITOR = 0; private static final int REACTANT = 1; private static final int GENERIC = 2; private static final int PRODUCT = 3; private static final int ACTIVATOR = 4; private static final int UMOVE = 5; private static final int BMOVE = 6; AST ast = AST.newAST(); Model model = ast.newModel(); LinkedList<Name> names = new LinkedList<Name>(); LinkedList<Expression> parameters = new LinkedList<Expression>(); LinkedList<Expression> properties = new LinkedList<Expression>(); LinkedList<Name> locations = new LinkedList<Name>(); Name name; private void clearProperties() {properties = new LinkedList<Expression>();} private void clearParameters() {parameters = new LinkedList<Expression>();} private void clearNameList() {names = new LinkedList<Name>();} NameSet doneNameList() { NameSet nameSet = ast.newNameSet(); for (Name name : names) nameSet.names().add(name); clearNameList(); return nameSet; } List<Expression> doneParameterList() { List<Expression> old = parameters; clearParameters(); return old; } PropertyInitialiser doneProperties() { PropertyInitialiser pi = ast.newPropertyInitialiser(); for (Expression e : properties) pi.properties().add(e); clearProperties(); return pi; } void addName(String name) { names.addFirst(createName(name)); } void addProperty(Expression property) { properties.addFirst(property); } void addParameter(Expression expression) { parameters.addFirst(expression); } Name createName(String name) { Name newName = ast.newName(); newName.setIdentifier(name); this.name = newName; return newName; } LocatedName createLocatedName(String name, NameSet locations) { LocatedName newName = ast.newLocatedName(); newName.setIdentifier(name); newName.setLocations(locations); return newName; } Expression createInfixExpression( Expression lhs, Expression rhs, InfixExpression.Operator op) { InfixExpression result = ast.newInfixExpression(); result.setLeftHandSide(lhs); result.setRightHandSide(rhs); result.setOperator(op); return result; } Statement createDeclaration(VariableDeclaration.Kind kind, Name name, Expression expression) { VariableDeclaration declaration = ast.newVariableDeclaration(); declaration.setKind(kind); declaration.setName(name); declaration.setRightHandSide(expression); model.statements().add(declaration); return declaration; } PropertyLiteral createPropertyLiteral(PropertyLiteral.Kind kind) { PropertyLiteral literal = ast.newPropertyLiteral(); literal.setKind(kind); return literal; } Expression createComponent(Name name, Expression level) { Component comp = ast.newComponent(); comp.setName(name); comp.setLevel(level); return comp; } Expression createCooperation(Expression lhs, NameSet set, Expression rhs) { Cooperation coop = ast.newCooperation(); coop.setLeftHandSide(lhs); coop.setRightHandSide(rhs); coop.setActionSet(set); return coop; } private final BioPEPAParser parser; /** Constructor */ CUP$BioPEPAParser$actions(BioPEPAParser parser) { this.parser = parser; } /** Method with the actual generated action code. */ public final java_cup.runtime.Symbol CUP$BioPEPAParser$do_action( int CUP$BioPEPAParser$act_num, java_cup.runtime.lr_parser CUP$BioPEPAParser$parser, java.util.Stack CUP$BioPEPAParser$stack, int CUP$BioPEPAParser$top) throws java.lang.Exception { /* Symbol object for return from actions */ java_cup.runtime.Symbol CUP$BioPEPAParser$result; /* select the action based on the action number */ switch (CUP$BioPEPAParser$act_num) { /*. . . . . . . . . . . . . . . . . . . .*/ case 81: // action_sep ::= { Object RESULT =null; CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("action_sep",32, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 80: // action_sep ::= COMMA action_list { Object RESULT =null; CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("action_sep",32, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 79: // action_list ::= { Object RESULT =null; CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("action_list",31, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 78: // action_list ::= NAME action_sep { Object RESULT =null; int nameleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)).left; int nameright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)).right; String name = (String)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)).value; addName(name); CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("action_list",31, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 77: // action_set ::= LCOOP action_list RCOOP { NameSet RESULT =null; RESULT = doneNameList(); CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("action_set",26, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-2)), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 76: // action_set ::= LCOOP MULT RCOOP { NameSet RESULT =null; addName(Cooperation.WILDCARD); RESULT = doneNameList(); CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("action_set",26, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-2)), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 75: // transport_operator ::= BMOVE { Integer RESULT =null; RESULT = BMOVE; CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("transport_operator",21, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 74: // transport_operator ::= UMOVE { Integer RESULT =null; RESULT = UMOVE; CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("transport_operator",21, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 73: // operator ::= PRODUCT { Integer RESULT =null; RESULT = PRODUCT; CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("operator",20, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 72: // operator ::= REACTANT { Integer RESULT =null; RESULT = REACTANT; CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("operator",20, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 71: // operator ::= GENERIC { Integer RESULT =null; RESULT = GENERIC; CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("operator",20, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 70: // operator ::= INHIBITOR { Integer RESULT =null; RESULT = INHIBITOR; CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("operator",20, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 69: // operator ::= ACTIVATOR { Integer RESULT =null; RESULT = ACTIVATOR; CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("operator",20, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 68: // system_equation ::= LPAREN system_equation RPAREN { Expression RESULT =null; int exprleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)).left; int exprright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)).right; Expression expr = (Expression)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)).value; RESULT = expr; CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("system_equation",30, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-2)), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 67: // system_equation ::= system_equation action_set system_equation { Expression RESULT =null; int lhsleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-2)).left; int lhsright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-2)).right; Expression lhs = (Expression)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-2)).value; int setleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)).left; int setright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)).right; NameSet set = (NameSet)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)).value; int rhsleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()).left; int rhsright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()).right; Expression rhs = (Expression)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.peek()).value; RESULT = createCooperation(lhs, set, rhs); CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("system_equation",30, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-2)), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 66: // system_equation ::= variable_name { Expression RESULT =null; int nameleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()).left; int nameright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()).right; Name name = (Name)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.peek()).value; RESULT = name; CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("system_equation",30, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 65: // system_equation ::= component_name LSQUARE expr RSQUARE { Expression RESULT =null; int nameleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-3)).left; int nameright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-3)).right; Name name = (Name)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-3)).value; int _exprleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)).left; int _exprright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)).right; Expression _expr = (Expression)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)).value; RESULT = createComponent(name, _expr); CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("system_equation",30, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-3)), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 64: // cooperation ::= LPAREN cooperation RPAREN { Expression RESULT =null; int coopleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)).left; int coopright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)).right; Expression coop = (Expression)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)).value; RESULT = coop; CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("cooperation",19, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-2)), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 63: // cooperation ::= cooperation action_set cooperation { Expression RESULT =null; int lhsleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-2)).left; int lhsright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-2)).right; Expression lhs = (Expression)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-2)).value; int setleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)).left; int setright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)).right; NameSet set = (NameSet)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)).value; int rhsleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()).left; int rhsright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()).right; Expression rhs = (Expression)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.peek()).value; RESULT = createCooperation(lhs, set, rhs); CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("cooperation",19, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-2)), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 62: // cooperation ::= component_name LSQUARE expr RSQUARE { Expression RESULT =null; int nameleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-3)).left; int nameright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-3)).right; Name name = (Name)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-3)).value; int levelleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)).left; int levelright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)).right; Expression level = (Expression)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)).value; RESULT = createComponent(name,level); CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("cooperation",19, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-3)), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 61: // pepa_action ::= variable_name LSQUARE variable_name transport_operator variable_name RSQUARE { Expression RESULT =null; int nameleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-5)).left; int nameright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-5)).right; Name name = (Name)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-5)).value; int leftleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-3)).left; int leftright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-3)).right; Name left = (Name)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-3)).value; int oleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-2)).left; int oright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-2)).right; Integer o = (Integer)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-2)).value; int rightleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)).left; int rightright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)).right; Name right = (Name)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)).value; Transport transport = ast.newTransport(); transport.setLeftHandSide(left); transport.setRightHandSide(right); transport.setActionType(name); InfixExpression.Operator op = null; switch(o) { case UMOVE: op = InfixExpression.Operator.UMOVE; break; case BMOVE: op = InfixExpression.Operator.BMOVE; break; }; transport.setOperator(op); RESULT = transport; CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("pepa_action",25, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-5)), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 60: // pepa_action ::= variable_name { Expression RESULT =null; int nameleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()).left; int nameright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()).right; Name name = (Name)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.peek()).value; RESULT = name; CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("pepa_action",25, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 59: // complete_activity ::= LPAREN pepa_action COMMA expr RPAREN { Expression RESULT =null; int nameleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-3)).left; int nameright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-3)).right; Expression name = (Expression)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-3)).value; int stoichometryleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)).left; int stoichometryright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)).right; Expression stoichometry = (Expression)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)).value; Prefix prefix = ast.newPrefix(); prefix.setActionType(name); prefix.setStoichometry(stoichometry); RESULT = prefix; CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("complete_activity",24, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-4)), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 58: // activity ::= pepa_action { Expression RESULT =null; int nameleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()).left; int nameright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()).right; Expression name = (Expression)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.peek()).value; RESULT = name; CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("activity",23, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 57: // activity ::= complete_activity { Expression RESULT =null; int _activityleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()).left; int _activityright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()).right; Expression _activity = (Expression)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.peek()).value; RESULT = _activity; CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("activity",23, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 56: // prefix_name ::= { Name RESULT =null; // System.out.println ("getting here!!") ; RESULT = null ; CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("prefix_name",17, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 55: // prefix_name ::= ml_component_name { Name RESULT =null; int nameleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()).left; int nameright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()).right; Name name = (Name)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.peek()).value; RESULT = name ; CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("prefix_name",17, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 54: // prefix ::= activity operator prefix_name { Expression RESULT =null; int _activityleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-2)).left; int _activityright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-2)).right; Expression _activity = (Expression)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-2)).value; int oleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)).left; int oright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)).right; Integer o = (Integer)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)).value; int nameleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()).left; int nameright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()).right; Name name = (Name)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.peek()).value; InfixExpression.Operator op = null; switch(o) { case ACTIVATOR: op = InfixExpression.Operator.ACTIVATOR; break; case INHIBITOR: op = InfixExpression.Operator.INHIBITOR; break; case GENERIC: op = InfixExpression.Operator.GENERIC; break; case REACTANT: op = InfixExpression.Operator.REACTANT; break; case PRODUCT: op = InfixExpression.Operator.PRODUCT; break; }; RESULT = createInfixExpression(_activity, name, op); CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("prefix",22, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-2)), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 53: // sequential_component ::= sequential_component PLUS sequential_component { Expression RESULT =null; int lhsleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-2)).left; int lhsright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-2)).right; Expression lhs = (Expression)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-2)).value; int rhsleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()).left; int rhsright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()).right; Expression rhs = (Expression)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.peek()).value; RESULT = createInfixExpression(lhs, rhs, InfixExpression.Operator.PLUS); CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("sequential_component",18, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-2)), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 52: // sequential_component ::= prefix { Expression RESULT =null; int exprleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()).left; int exprright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()).right; Expression expr = (Expression)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.peek()).value; RESULT = expr; CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("sequential_component",18, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 51: // expr ::= NAME LPAREN function_parameter RPAREN { Expression RESULT =null; int nameleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-3)).left; int nameright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-3)).right; String name = (String)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-3)).value; FunctionCall fCall = ast.newFunctionCall(); List<Expression> arguments = doneParameterList(); for (Expression expression : arguments) fCall.arguments().add(expression); fCall.setName(createName(name)); RESULT = fCall; CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("expr",27, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-3)), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 50: // expr ::= expr POWER expr { Expression RESULT =null; int lhsleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-2)).left; int lhsright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-2)).right; Expression lhs = (Expression)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-2)).value; int rhsleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()).left; int rhsright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()).right; Expression rhs = (Expression)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.peek()).value; RESULT = createInfixExpression(lhs, rhs, InfixExpression.Operator.POWER); CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("expr",27, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-2)), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 49: // expr ::= expr MULT expr { Expression RESULT =null; int lhsleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-2)).left; int lhsright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-2)).right; Expression lhs = (Expression)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-2)).value; int rhsleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()).left; int rhsright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()).right; Expression rhs = (Expression)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.peek()).value; RESULT = createInfixExpression(lhs, rhs, InfixExpression.Operator.TIMES); CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("expr",27, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-2)), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 48: // expr ::= expr DIVIDE expr { Expression RESULT =null; int lhsleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-2)).left; int lhsright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-2)).right; Expression lhs = (Expression)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-2)).value; int rhsleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()).left; int rhsright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()).right; Expression rhs = (Expression)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.peek()).value; RESULT = createInfixExpression(lhs, rhs, InfixExpression.Operator.DIVIDE); CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("expr",27, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-2)), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 47: // expr ::= MINUS NUMBER_LITERAL { Expression RESULT =null; int numberLiteralleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()).left; int numberLiteralright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()).right; String numberLiteral = (String)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.peek()).value; NumberLiteral l = ast.newNumberLiteral(); l.setToken("-" + numberLiteral); RESULT = l; CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("expr",27, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 46: // expr ::= expr MINUS expr { Expression RESULT =null; int lhsleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-2)).left; int lhsright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-2)).right; Expression lhs = (Expression)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-2)).value; int rhsleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()).left; int rhsright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()).right; Expression rhs = (Expression)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.peek()).value; RESULT = createInfixExpression(lhs, rhs, InfixExpression.Operator.MINUS); CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("expr",27, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-2)), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 45: // expr ::= LPAREN expr RPAREN { Expression RESULT =null; int _exprleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)).left; int _exprright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)).right; Expression _expr = (Expression)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)).value; RESULT = _expr; CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("expr",27, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-2)), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 44: // expr ::= expr PLUS expr { Expression RESULT =null; int lhsleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-2)).left; int lhsright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-2)).right; Expression lhs = (Expression)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-2)).value; int rhsleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()).left; int rhsright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()).right; Expression rhs = (Expression)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.peek()).value; RESULT = createInfixExpression(lhs, rhs, InfixExpression.Operator.PLUS); CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("expr",27, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-2)), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 43: // expr ::= NUMBER_LITERAL { Expression RESULT =null; int numberLiteralleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()).left; int numberLiteralright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()).right; String numberLiteral = (String)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.peek()).value; NumberLiteral l = ast.newNumberLiteral(); l.setToken(numberLiteral); RESULT = l; CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("expr",27, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 42: // expr ::= component_name { Expression RESULT =null; int nameleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()).left; int nameright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()).right; Name name = (Name)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.peek()).value; RESULT = name; CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("expr",27, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 41: // expr ::= TIME { Expression RESULT =null; SystemVariable sv = ast.newSystemVariable(); sv.setVariable(SystemVariable.Variable.TIME); RESULT = sv; CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("expr",27, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 40: // type ::= MEMBRANE { PropertyLiteral RESULT =null; RESULT = createPropertyLiteral(PropertyLiteral.Kind.MEMBRANE); CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("type",29, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 39: // type ::= COMPARTMENT { PropertyLiteral RESULT =null; RESULT = createPropertyLiteral(PropertyLiteral.Kind.COMPARTMENT); CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("type",29, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 38: // key ::= MIN_CONC { PropertyLiteral RESULT =null; RESULT = createPropertyLiteral(PropertyLiteral.Kind.MIN); CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("key",28, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 37: // key ::= MAX_CONC { PropertyLiteral RESULT =null; RESULT = createPropertyLiteral(PropertyLiteral.Kind.MAX); CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("key",28, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 36: // key ::= SIZE { PropertyLiteral RESULT =null; RESULT = createPropertyLiteral(PropertyLiteral.Kind.SIZE); CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("key",28, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 35: // key ::= STEP { PropertyLiteral RESULT =null; RESULT = createPropertyLiteral(PropertyLiteral.Kind.H); CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("key",28, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 34: // property_sep ::= { Object RESULT =null; CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("property_sep",12, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 33: // property_sep ::= COMMA property { Object RESULT =null; CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("property_sep",12, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 32: // property ::= TYPE EQUALS type property_sep { Expression RESULT =null; int _typeleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)).left; int _typeright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)).right; PropertyLiteral _type = (PropertyLiteral)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)).value; PropertyLiteral pl = createPropertyLiteral(PropertyLiteral.Kind.TYPE); Expression expression = createInfixExpression(pl, _type, InfixExpression.Operator.EQUALS); addProperty(expression); RESULT = expression; CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("property",33, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-3)), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 31: // property ::= key EQUALS expr property_sep { Expression RESULT =null; int keyExprleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-3)).left; int keyExprright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-3)).right; PropertyLiteral keyExpr = (PropertyLiteral)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-3)).value; int _exprleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)).left; int _exprright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)).right; Expression _expr = (Expression)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)).value; Expression result = createInfixExpression(keyExpr, _expr, InfixExpression.Operator.EQUALS); addProperty(result); RESULT = result; CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("property",33, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-3)), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 30: // optional_properties ::= { Object RESULT =null; CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("optional_properties",11, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 29: // optional_properties ::= COLON property { Object RESULT =null; CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("optional_properties",11, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 28: // parameter_sep ::= { Object RESULT =null; CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("parameter_sep",10, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 27: // parameter_sep ::= COMMA function_parameter { Object RESULT =null; CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("parameter_sep",10, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 26: // function_parameter ::= { Object RESULT =null; CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("function_parameter",9, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 25: // function_parameter ::= expr parameter_sep { Object RESULT =null; int _exprleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)).left; int _exprright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)).right; Expression _expr = (Expression)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)).value; addParameter(_expr); CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("function_parameter",9, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 24: // variable_name ::= NAME { Name RESULT =null; int nameleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()).left; int nameright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()).right; String name = (String)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.peek()).value; RESULT = createName(name); CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("variable_name",15, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 23: // other_locations ::= { Object RESULT =null; CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("other_locations",13, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 22: // other_locations ::= COMMA NAME other_locations { Object RESULT =null; int locationleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)).left; int locationright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)).right; String location = (String)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)).value; addName(location); CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("other_locations",13, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-2)), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 21: // ml_component_name ::= NAME { Name RESULT =null; int nameleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()).left; int nameright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()).right; String name = (String)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.peek()).value; RESULT = createName(name); CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("ml_component_name",16, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 20: // ml_component_name ::= NAME AT NAME other_locations { Name RESULT =null; int nameleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-3)).left; int nameright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-3)).right; String name = (String)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-3)).value; int locationleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)).left; int locationright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)).right; String location = (String)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)).value; addName(location); RESULT= createLocatedName(name, doneNameList()); CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("ml_component_name",16, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-3)), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 19: // component_name ::= NAME { Name RESULT =null; int nameleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()).left; int nameright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()).right; String name = (String)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.peek()).value; RESULT = createName(name); CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("component_name",14, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 18: // component_name ::= NAME AT NAME { Name RESULT =null; int nameleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-2)).left; int nameright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-2)).right; String name = (String)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-2)).value; int locationleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()).left; int locationright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()).right; String location = (String)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.peek()).value; addName(location); RESULT = createLocatedName(name, doneNameList()); CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("component_name",14, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-2)), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 17: // compositional_declaration ::= variable_name COLON COLON EQUALS cooperation SEMI { Statement RESULT =null; int nameleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-5)).left; int nameright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-5)).right; Name name = (Name)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-5)).value; int exprleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)).left; int exprright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)).right; Expression expr = (Expression)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)).value; RESULT = createDeclaration(VariableDeclaration.Kind.COMPONENT, name, expr); CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("compositional_declaration",8, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-5)), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 16: // behaviour_declaration ::= variable_name EQUALS sequential_component SEMI { Statement RESULT =null; int nameleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-3)).left; int nameright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-3)).right; Name name = (Name)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-3)).value; int _exprleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)).left; int _exprright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)).right; Expression _expr = (Expression)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)).value; _expr.fillInDeclarationName(name); RESULT = createDeclaration(VariableDeclaration.Kind.COMPONENT, name, _expr); CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("behaviour_declaration",5, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-3)), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 15: // function_declaration ::= variable_name EQUALS LSQUARE expr RSQUARE SEMI { Statement RESULT =null; int nameleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-5)).left; int nameright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-5)).right; Name name = (Name)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-5)).value; int _exprleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-2)).left; int _exprright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-2)).right; Expression _expr = (Expression)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-2)).value; RESULT = createDeclaration(VariableDeclaration.Kind.FUNCTION, name, _expr); CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("function_declaration",4, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-5)), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 14: // function_declaration ::= FUNCTION variable_name COLON expr SEMI { Statement RESULT =null; int nameleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-3)).left; int nameright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-3)).right; Name name = (Name)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-3)).value; int _exprleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)).left; int _exprright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)).right; Expression _expr = (Expression)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)).value; RESULT = createDeclaration(VariableDeclaration.Kind.FUNCTION, name, _expr); CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("function_declaration",4, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-4)), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 13: // species_declaration ::= SPECIES ml_component_name COLON property SEMI { Statement RESULT =null; int nameleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-3)).left; int nameright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-3)).right; Name name = (Name)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-3)).value; RESULT = createDeclaration(VariableDeclaration.Kind.SPECIES, name, doneProperties()); CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("species_declaration",6, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-4)), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 12: // location_declaration ::= LOCATION_DEF NAME IN NAME optional_properties SEMI { Statement RESULT =null; int locationleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-4)).left; int locationright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-4)).right; String location = (String)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-4)).value; int parentleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-2)).left; int parentright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-2)).right; String parent = (String)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-2)).value; addName(parent); Name name = createLocatedName(location, doneNameList()); RESULT = createDeclaration(VariableDeclaration.Kind.CONTAINER, name, doneProperties()); CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("location_declaration",7, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-5)), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 11: // location_declaration ::= LOCATION_DEF variable_name optional_properties SEMI { Statement RESULT =null; int nameleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-2)).left; int nameright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-2)).right; Name name = (Name)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-2)).value; RESULT = createDeclaration(VariableDeclaration.Kind.CONTAINER, name, doneProperties()); CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("location_declaration",7, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-3)), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 10: // variable_declaration ::= variable_name EQUALS expr SEMI { Statement RESULT =null; int nameleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-3)).left; int nameright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-3)).right; Name name = (Name)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-3)).value; int _exprleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)).left; int _exprright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)).right; Expression _expr = (Expression)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)).value; RESULT = createDeclaration(VariableDeclaration.Kind.VARIABLE, name, _expr); CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("variable_declaration",3, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-3)), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 9: // statement ::= compositional_declaration { Object RESULT =null; int sleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()).left; int sright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()).right; Statement s = (Statement)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.peek()).value; RESULT = s; CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("statement",2, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 8: // statement ::= behaviour_declaration { Object RESULT =null; int sleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()).left; int sright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()).right; Statement s = (Statement)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.peek()).value; RESULT = s; CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("statement",2, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 7: // statement ::= function_declaration { Object RESULT =null; int sleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()).left; int sright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()).right; Statement s = (Statement)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.peek()).value; RESULT = s; CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("statement",2, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 6: // statement ::= species_declaration { Object RESULT =null; int sleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()).left; int sright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()).right; Statement s = (Statement)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.peek()).value; RESULT = s; CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("statement",2, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 5: // statement ::= location_declaration { Object RESULT =null; int sleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()).left; int sright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()).right; Statement s = (Statement)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.peek()).value; RESULT = s; CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("statement",2, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 4: // statement ::= variable_declaration { Object RESULT =null; int sleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()).left; int sright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()).right; Statement s = (Statement)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.peek()).value; RESULT = s; CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("statement",2, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 3: // statements ::= { Object RESULT =null; CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("statements",1, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 2: // statements ::= statements statement { Object RESULT =null; CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("statements",1, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 1: // biopepa_model ::= statements system_equation { Model RESULT =null; int exprleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()).left; int exprright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()).right; Expression expr = (Expression)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.peek()).value; ExpressionStatement st = ast.newExpressionStatement(); st.setExpression(expr); ISourceRange range = expr.getSourceRange(); st.setSourceRange(range.getChar(), range.getLength(), range.getLine(), range.getColumn()); model.statements().add(st); RESULT = model; CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("biopepa_model",0, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } return CUP$BioPEPAParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 0: // $START ::= biopepa_model EOF { Object RESULT =null; int start_valleft = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)).left; int start_valright = ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)).right; Model start_val = (Model)((java_cup.runtime.Symbol) CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)).value; RESULT = start_val; CUP$BioPEPAParser$result = parser.getSymbolFactory().newSymbol("$START",0, ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.elementAt(CUP$BioPEPAParser$top-1)), ((java_cup.runtime.Symbol)CUP$BioPEPAParser$stack.peek()), RESULT); } /* ACCEPT */ CUP$BioPEPAParser$parser.done_parsing(); return CUP$BioPEPAParser$result; /* . . . . . .*/ default: throw new Exception( "Invalid action number found in internal parse table"); } } }