//----------------------------------------------------
// 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");
}
}
}