//----------------------------------------------------
// The following code was generated by CUP v0.11a beta 20060608
// Thu Nov 23 22:36:21 CET 2006
//----------------------------------------------------
package se.chalmers.cs.gf.GFC;
/** CUP v0.11a beta 20060608 generated parser.
* @version Thu Nov 23 22:36:21 CET 2006
*/
public class parser extends java_cup.runtime.lr_parser {
/** Default constructor. */
public parser() {super();}
/** Constructor which sets the default scanner. */
public parser(java_cup.runtime.Scanner s) {super(s);}
/** Constructor which sets the default scanner. */
public parser(java_cup.runtime.Scanner s, java_cup.runtime.SymbolFactory sf) {super(s,sf);}
/** Production table. */
protected static final short _production_table[][] =
unpackFromStrings(new String[] {
"\000\216\000\002\002\004\000\002\002\010\000\002\002" +
"\003\000\002\003\007\000\002\003\007\000\002\003\004" +
"\000\002\003\004\000\002\003\003\000\002\004\012\000" +
"\002\005\004\000\002\005\006\000\002\005\004\000\002" +
"\005\010\000\002\006\002\000\002\006\004\000\002\007" +
"\004\000\002\007\002\000\002\010\005\000\002\010\002" +
"\000\002\011\006\000\002\012\011\000\002\012\010\000" +
"\002\012\006\000\002\012\006\000\002\012\010\000\002" +
"\012\012\000\002\012\015\000\002\012\006\000\002\013" +
"\004\000\002\014\003\000\002\014\002\000\002\015\005" +
"\000\002\016\004\000\002\016\003\000\002\017\011\000" +
"\002\017\006\000\002\017\005\000\002\017\003\000\002" +
"\020\003\000\002\020\003\000\002\020\005\000\002\021" +
"\003\000\002\022\005\000\002\023\006\000\002\023\003" +
"\000\002\023\003\000\002\023\003\000\002\023\003\000" +
"\002\023\003\000\002\024\002\000\002\024\003\000\002" +
"\024\005\000\002\025\002\000\002\025\004\000\002\026" +
"\002\000\002\026\005\000\002\027\003\000\002\027\005" +
"\000\002\027\004\000\002\027\004\000\002\027\003\000" +
"\002\027\003\000\002\027\003\000\002\030\005\000\002" +
"\031\005\000\002\031\007\000\002\031\003\000\002\031" +
"\003\000\002\031\004\000\002\032\005\000\002\033\003" +
"\000\002\033\003\000\002\033\006\000\002\033\004\000" +
"\002\033\005\000\002\033\003\000\002\033\003\000\002" +
"\033\003\000\002\033\004\000\002\033\005\000\002\034" +
"\005\000\002\034\007\000\002\034\007\000\002\034\005" +
"\000\002\034\006\000\002\034\003\000\002\035\005\000" +
"\002\035\003\000\002\036\003\000\002\036\011\000\002" +
"\037\005\000\002\040\005\000\002\041\005\000\002\042" +
"\003\000\002\042\004\000\002\043\005\000\002\043\007" +
"\000\002\044\006\000\002\044\003\000\002\044\003\000" +
"\002\044\005\000\002\044\003\000\002\044\003\000\002" +
"\045\005\000\002\046\002\000\002\046\005\000\002\047" +
"\002\000\002\047\005\000\002\050\002\000\002\050\003" +
"\000\002\050\005\000\002\051\002\000\002\051\004\000" +
"\002\052\002\000\002\052\004\000\002\053\002\000\002" +
"\053\003\000\002\053\005\000\002\054\002\000\002\054" +
"\003\000\002\054\005\000\002\055\002\000\002\055\003" +
"\000\002\055\005\000\002\056\002\000\002\056\003\000" +
"\002\056\005\000\002\057\002\000\002\057\004\000\002" +
"\060\002\000\002\060\004\000\002\061\002\000\002\061" +
"\003\000\002\061\005\000\002\062\002\000\002\062\003" +
"\000\002\062\005\000\002\063\002\000\002\063\004\000" +
"\002\064\002\000\002\064\003\000\002\064\005" });
/** Access to production table. */
public short[][] production_table() {return _production_table;}
/** Parse-action table. */
protected static final short[][] _action_table =
unpackFromStrings(new String[] {
"\000\u0119\000\016\002\ufff4\041\ufff4\043\ufff4\047\006\060" +
"\ufff4\062\ufff4\001\002\000\004\002\u011b\001\002\000\014" +
"\002\uffff\041\023\043\022\060\020\062\017\001\002\000" +
"\006\053\uff76\067\010\001\002\000\004\053\013\001\002" +
"\000\012\012\uff75\035\011\050\uff75\053\uff75\001\002\000" +
"\012\012\uff76\050\uff76\053\uff76\067\010\001\002\000\010" +
"\012\uff74\050\uff74\053\uff74\001\002\000\004\067\014\001" +
"\002\000\004\004\015\001\002\000\014\002\ufff4\041\ufff4" +
"\043\ufff4\060\ufff4\062\ufff4\001\002\000\014\002\000\041" +
"\023\043\022\060\020\062\017\001\002\000\004\067\u0116" +
"\001\002\000\004\067\u0115\001\002\000\014\002\ufff3\041" +
"\ufff3\043\ufff3\060\ufff3\062\ufff3\001\002\000\004\067\u0112" +
"\001\002\000\004\067\u0111\001\002\000\004\005\025\001" +
"\002\000\012\006\ufff1\012\uff76\054\ufff1\067\010\001\002" +
"\000\004\012\u0110\001\002\000\006\006\uffef\054\031\001" +
"\002\000\004\006\034\001\002\000\006\050\uff76\067\010" +
"\001\002\000\004\050\033\001\002\000\004\006\ufff0\001" +
"\002\000\026\007\uff99\042\uff99\045\uff99\046\uff99\051\uff99" +
"\052\uff99\055\uff99\056\uff99\062\uff99\067\uff99\001\002\000" +
"\026\007\uff97\042\uff97\045\036\046\uff97\051\uff97\052\uff97" +
"\055\uff97\056\uff97\062\uff97\067\uff97\001\002\000\004\067" +
"\u010d\001\002\000\024\007\044\042\042\046\053\051\052" +
"\052\051\055\050\056\047\062\045\067\046\001\002\000" +
"\004\004\041\001\002\000\026\007\uff98\042\uff98\045\uff98" +
"\046\uff98\051\uff98\052\uff98\055\uff98\056\uff98\062\uff98\067" +
"\uff98\001\002\000\004\067\u0100\001\002\000\004\004\377" +
"\001\002\000\014\002\ufff9\041\ufff9\043\ufff9\060\ufff9\062" +
"\ufff9\001\002\000\004\067\374\001\002\000\006\044\371" +
"\050\uffe3\001\002\000\004\067\357\001\002\000\004\067" +
"\352\001\002\000\004\067\343\001\002\000\004\067\145" +
"\001\002\000\004\067\054\001\002\000\004\010\055\001" +
"\002\000\030\006\060\015\076\017\070\022\066\024\063" +
"\025\062\040\057\044\056\064\067\065\072\067\065\001" +
"\002\000\034\004\uffda\005\uffda\014\uffda\017\uffda\020\uffda" +
"\022\uffda\024\uffda\025\uffda\040\uffda\044\uffda\064\uffda\065" +
"\uffda\067\uffda\001\002\000\034\004\uffd8\005\uffd8\014\uffd8" +
"\017\uffd8\020\uffd8\022\uffd8\024\uffd8\025\uffd8\040\uffd8\044" +
"\uffd8\064\uffd8\065\uffd8\067\uffd8\001\002\000\022\007\uffcb" +
"\011\uffcb\017\uffcb\021\uffcb\064\uffcb\065\uffcb\066\uffcb\067" +
"\uffcb\001\002\000\004\005\122\001\002\000\004\065\121" +
"\001\002\000\004\067\120\001\002\000\034\004\uffc9\005" +
"\uffc9\014\uffc9\017\uffc9\020\uffc9\022\uffc9\024\uffc9\025\uffc9" +
"\040\uffc9\044\uffc9\064\uffc9\065\uffc9\067\uffc9\001\002\000" +
"\004\016\107\001\002\000\004\067\065\001\002\000\034" +
"\004\uffc5\005\uffc5\014\uffc5\017\uffc5\020\uffc5\022\uffc5\024" +
"\uffc5\025\uffc5\040\uffc5\044\uffc5\064\uffc5\065\uffc5\067\uffc5" +
"\001\002\000\030\006\060\015\076\017\070\022\066\024" +
"\063\025\062\040\057\044\056\064\067\065\072\067\106" +
"\001\002\000\034\004\uffc3\005\uffc3\014\uffc3\017\uffc3\020" +
"\uffc3\022\uffc3\024\uffc3\025\uffc3\040\uffc3\044\uffc3\064\uffc3" +
"\065\uffc3\067\uffc3\001\002\000\034\004\uffc4\005\uffc4\014" +
"\uffc4\017\uffc4\020\uffc4\022\uffc4\024\uffc4\025\uffc4\040\uffc4" +
"\044\uffc4\064\uffc4\065\uffc4\067\uffc4\001\002\000\034\004" +
"\uffdb\005\uffdb\014\uffdb\017\uffdb\020\uffdb\022\uffdb\024\uffdb" +
"\025\uffdb\040\uffdb\044\uffdb\064\uffdb\065\uffdb\067\uffdb\001" +
"\002\000\034\004\uffe0\005\uffe0\014\uffe0\017\uffe0\020\uffe0" +
"\022\uffe0\024\uffe0\025\uffe0\040\uffe0\044\uffe0\064\uffe0\065" +
"\uffe0\067\uffe0\001\002\000\034\004\uffdc\005\uffdc\014\uffdc" +
"\017\102\020\uffdc\022\066\024\063\025\062\040\057\044" +
"\056\064\067\065\072\067\065\001\002\000\004\067\077" +
"\001\002\000\004\011\100\001\002\000\030\006\060\015" +
"\076\017\070\022\066\024\063\025\062\040\057\044\056" +
"\064\067\065\072\067\065\001\002\000\012\004\uffde\005" +
"\uffde\014\uffde\020\uffde\001\002\000\030\006\060\015\076" +
"\017\070\022\066\024\063\025\062\040\057\044\056\064" +
"\067\065\072\067\065\001\002\000\034\004\uffe1\005\uffe1" +
"\014\uffe1\017\uffe1\020\uffe1\022\uffe1\024\uffe1\025\uffe1\040" +
"\uffe1\044\uffe1\064\uffe1\065\uffe1\067\uffe1\001\002\000\004" +
"\020\105\001\002\000\034\004\uffd9\005\uffd9\014\uffd9\017" +
"\uffd9\020\uffd9\022\uffd9\024\uffd9\025\uffd9\040\uffd9\044\uffd9" +
"\064\uffd9\065\uffd9\067\uffd9\001\002\000\006\010\110\016" +
"\107\001\002\000\004\067\115\001\002\000\030\006\060" +
"\015\076\017\070\022\066\024\063\025\062\040\057\044" +
"\056\064\067\065\072\067\065\001\002\000\004\020\112" +
"\001\002\000\004\011\113\001\002\000\030\006\060\015" +
"\076\017\070\022\066\024\063\025\062\040\057\044\056" +
"\064\067\065\072\067\065\001\002\000\012\004\uffdf\005" +
"\uffdf\014\uffdf\020\uffdf\001\002\000\066\004\uffe2\005\uffe2" +
"\006\uffe2\007\uffe2\013\uffe2\014\uffe2\016\uffe2\017\uffe2\020" +
"\uffe2\021\uffe2\022\uffe2\023\uffe2\024\uffe2\025\uffe2\026\uffe2" +
"\027\uffe2\030\uffe2\034\uffe2\036\uffe2\037\uffe2\040\uffe2\044" +
"\uffe2\064\uffe2\065\uffe2\066\uffe2\067\uffe2\001\002\000\004" +
"\023\117\001\002\000\034\004\uffc8\005\uffc8\014\uffc8\017" +
"\uffc8\020\uffc8\022\uffc8\024\uffc8\025\uffc8\040\uffc8\044\uffc8" +
"\064\uffc8\065\uffc8\067\uffc8\001\002\000\034\004\uffc7\005" +
"\uffc7\014\uffc7\017\uffc7\020\uffc7\022\uffc7\024\uffc7\025\uffc7" +
"\040\uffc7\044\uffc7\064\uffc7\065\uffc7\067\uffc7\001\002\000" +
"\034\004\uffc6\005\uffc6\014\uffc6\017\uffc6\020\uffc6\022\uffc6" +
"\024\uffc6\025\uffc6\040\uffc6\044\uffc6\064\uffc6\065\uffc6\067" +
"\uffc6\001\002\000\030\006\060\015\076\017\070\022\066" +
"\024\063\025\062\040\057\044\056\064\067\065\072\067" +
"\065\001\002\000\004\004\uffec\001\002\000\022\007\125" +
"\011\uffcd\017\uffcd\021\uffcd\064\uffcd\065\uffcd\066\uffcd\067" +
"\uffcd\001\002\000\012\004\uffdd\005\uffdd\014\uffdd\020\uffdd" +
"\001\002\000\004\004\144\001\002\000\020\011\136\017" +
"\137\021\134\064\130\065\132\066\133\067\131\001\002" +
"\000\022\011\uffd4\017\uffd4\020\uffd4\021\uffd4\064\uffd4\065" +
"\uffd4\066\uffd4\067\uffd4\001\002\000\022\011\uffd5\017\uffd5" +
"\020\uffd5\021\uffd5\064\uffd5\065\uffd5\066\uffd5\067\uffd5\001" +
"\002\000\022\011\uffd3\017\uffd3\020\uffd3\021\uffd3\064\uffd3" +
"\065\uffd3\066\uffd3\067\uffd3\001\002\000\022\011\uffd2\017" +
"\uffd2\020\uffd2\021\uffd2\064\uffd2\065\uffd2\066\uffd2\067\uffd2" +
"\001\002\000\022\011\uffd1\017\uffd1\020\uffd1\021\uffd1\064" +
"\uffd1\065\uffd1\066\uffd1\067\uffd1\001\002\000\022\011\uffcc" +
"\017\uffcc\020\uffcc\021\uffcc\064\uffcc\065\uffcc\066\uffcc\067" +
"\uffcc\001\002\000\030\006\060\015\076\017\070\022\066" +
"\024\063\025\062\040\057\044\056\064\067\065\072\067" +
"\065\001\002\000\004\067\065\001\002\000\020\017\uffcd" +
"\020\uffcd\021\uffcd\064\uffcd\065\uffcd\066\uffcd\067\uffcd\001" +
"\002\000\020\017\137\020\142\021\134\064\130\065\132" +
"\066\133\067\131\001\002\000\022\011\uffd6\017\uffd6\020" +
"\uffd6\021\uffd6\064\uffd6\065\uffd6\066\uffd6\067\uffd6\001\002" +
"\000\004\004\uffd7\001\002\000\022\007\uffca\011\uffca\017" +
"\uffca\021\uffca\064\uffca\065\uffca\066\uffca\067\uffca\001\002" +
"\000\004\010\146\001\002\000\004\067\065\001\002\000" +
"\004\005\150\001\002\000\004\015\151\001\002\000\006" +
"\011\uff8b\067\154\001\002\000\004\011\165\001\002\000" +
"\006\011\uff8a\035\163\001\002\000\006\032\155\033\156" +
"\001\002\000\004\065\162\001\002\000\004\065\157\001" +
"\002\000\004\032\160\001\002\000\004\065\161\001\002" +
"\000\050\004\uffa1\006\uffa1\007\uffa1\011\uffa1\013\uffa1\014" +
"\uffa1\016\uffa1\017\uffa1\020\uffa1\022\uffa1\023\uffa1\024\uffa1" +
"\027\uffa1\030\uffa1\035\uffa1\064\uffa1\065\uffa1\066\uffa1\067" +
"\uffa1\001\002\000\050\004\uffa2\006\uffa2\007\uffa2\011\uffa2" +
"\013\uffa2\014\uffa2\016\uffa2\017\uffa2\020\uffa2\022\uffa2\023" +
"\uffa2\024\uffa2\027\uffa2\030\uffa2\035\uffa2\064\uffa2\065\uffa2" +
"\066\uffa2\067\uffa2\001\002\000\006\011\uff8b\067\154\001" +
"\002\000\004\011\uff89\001\002\000\030\006\172\013\167" +
"\017\203\022\201\024\174\061\175\063\173\064\177\065" +
"\204\066\205\067\200\001\002\000\016\004\uffac\007\uffac" +
"\016\341\020\uffac\027\uffac\030\uffac\001\002\000\006\014" +
"\324\057\323\001\002\000\014\004\uffaa\007\uffaa\020\uffaa" +
"\027\213\030\uffaa\001\002\000\044\004\uffb4\006\uffb4\007" +
"\uffb4\013\uffb4\014\uffb4\016\uffb4\017\uffb4\020\uffb4\022\uffb4" +
"\023\uffb4\024\uffb4\027\uffb4\030\uffb4\064\uffb4\065\uffb4\066" +
"\uffb4\067\uffb4\001\002\000\010\007\uff8e\024\261\067\260" +
"\001\002\000\004\006\310\001\002\000\004\067\307\001" +
"\002\000\014\006\224\017\230\036\226\037\225\067\065" +
"\001\002\000\044\004\uffba\006\uffba\007\uffba\013\uffba\014" +
"\uffba\016\uffba\017\uffba\020\uffba\022\uffba\023\uffba\024\uffba" +
"\027\uffba\030\uffba\064\uffba\065\uffba\066\uffba\067\uffba\001" +
"\002\000\044\004\uffa9\006\uffa9\007\uffa9\013\uffa9\014\uffa9" +
"\016\uffa9\017\uffa9\020\uffa9\022\uffa9\023\uffa9\024\uffa9\027" +
"\uffa9\030\uffa9\064\uffa9\065\uffa9\066\uffa9\067\uffa9\001\002" +
"\000\010\016\107\032\155\033\156\001\002\000\004\067" +
"\065\001\002\000\006\004\215\030\210\001\002\000\030" +
"\006\172\013\167\017\203\022\201\024\174\061\175\063" +
"\173\064\177\065\204\066\205\067\200\001\002\000\044" +
"\004\uffb6\006\uffb6\007\uffb6\013\uffb6\014\uffb6\016\uffb6\017" +
"\uffb6\020\uffb6\022\uffb6\023\uffb6\024\uffb6\027\uffb6\030\uffb6" +
"\064\uffb6\065\uffb6\066\uffb6\067\uffb6\001\002\000\044\004" +
"\uffb5\006\uffb5\007\uffb5\013\uffb5\014\uffb5\016\uffb5\017\uffb5" +
"\020\uffb5\022\uffb5\023\uffb5\024\uffb5\027\uffb5\030\uffb5\064" +
"\uffb5\065\uffb5\066\uffb5\067\uffb5\001\002\000\044\004\uffbb" +
"\006\uffbb\007\uffbb\013\uffbb\014\uffbb\016\uffbb\017\uffbb\020" +
"\uffbb\022\uffbb\023\uffbb\024\uffbb\027\uffbb\030\uffbb\064\uffbb" +
"\065\uffbb\066\uffbb\067\uffbb\001\002\000\006\020\211\030" +
"\210\001\002\000\030\006\172\013\167\017\203\022\201" +
"\024\174\061\175\063\173\064\177\065\204\066\205\067" +
"\200\001\002\000\044\004\uffb2\006\uffb2\007\uffb2\013\uffb2" +
"\014\uffb2\016\uffb2\017\uffb2\020\uffb2\022\uffb2\023\uffb2\024" +
"\uffb2\027\uffb2\030\uffb2\064\uffb2\065\uffb2\066\uffb2\067\uffb2" +
"\001\002\000\014\004\uffab\007\uffab\020\uffab\027\213\030" +
"\uffab\001\002\000\024\006\172\013\167\017\203\022\201" +
"\024\174\064\177\065\204\066\205\067\200\001\002\000" +
"\014\004\uffae\007\uffae\020\uffae\027\uffae\030\uffae\001\002" +
"\000\030\006\172\013\167\017\203\022\201\024\174\061" +
"\175\063\173\064\177\065\204\066\205\067\200\001\002" +
"\000\006\004\uffe7\030\210\001\002\000\026\006\uff82\013" +
"\uff82\017\uff82\022\uff82\023\uff82\024\uff82\064\uff82\065\uff82" +
"\066\uff82\067\uff82\001\002\000\026\006\172\013\167\017" +
"\203\022\201\023\222\024\174\064\177\065\204\066\205" +
"\067\200\001\002\000\032\006\uff81\007\uff81\013\uff81\014" +
"\uff81\017\uff81\022\uff81\023\uff81\024\uff81\064\uff81\065\uff81" +
"\066\uff81\067\uff81\001\002\000\044\004\uffb9\006\uffb9\007" +
"\uffb9\013\uffb9\014\uffb9\016\uffb9\017\uffb9\020\uffb9\022\uffb9" +
"\023\uffb9\024\uffb9\027\uffb9\030\uffb9\064\uffb9\065\uffb9\066" +
"\uffb9\067\uffb9\001\002\000\032\004\uffbf\005\uffbf\006\uffbf" +
"\007\uffbf\013\uffbf\017\uffbf\020\uffbf\026\uffbf\034\uffbf\036" +
"\uffbf\037\uffbf\067\uffbf\001\002\000\010\007\uff88\024\261" +
"\067\260\001\002\000\032\004\uffbe\005\uffbe\006\uffbe\007" +
"\uffbe\013\uffbe\017\uffbe\020\uffbe\026\uffbe\034\uffbe\036\uffbe" +
"\037\uffbe\067\uffbe\001\002\000\004\065\276\001\002\000" +
"\006\006\235\013\236\001\002\000\014\006\224\017\230" +
"\036\226\037\225\067\065\001\002\000\004\026\232\001" +
"\002\000\014\006\224\017\230\036\226\037\225\067\065" +
"\001\002\000\004\020\234\001\002\000\032\004\uffc0\005" +
"\uffc0\006\uffc0\007\uffc0\013\uffc0\017\uffc0\020\uffc0\026\uffc0" +
"\034\uffc0\036\uffc0\037\uffc0\067\uffc0\001\002\000\022\006" +
"\uff78\007\uff85\017\uff78\021\uff78\026\uff78\065\uff78\066\uff78" +
"\067\uff78\001\002\000\026\006\uff82\013\uff82\014\uff82\017" +
"\uff82\022\uff82\024\uff82\064\uff82\065\uff82\066\uff82\067\uff82" +
"\001\002\000\026\006\172\013\167\014\240\017\203\022" +
"\201\024\174\064\177\065\204\066\205\067\200\001\002" +
"\000\014\004\uffaf\007\uffaf\020\uffaf\027\uffaf\030\uffaf\001" +
"\002\000\006\004\274\007\uff84\001\002\000\004\007\273" +
"\001\002\000\020\006\244\017\253\021\251\026\245\065" +
"\250\066\252\067\247\001\002\000\010\007\uff7b\024\261" +
"\067\260\001\002\000\030\006\172\013\167\017\203\022" +
"\201\024\174\061\175\063\173\064\177\065\204\066\205" +
"\067\200\001\002\000\022\006\uff77\017\uff77\020\uff77\021" +
"\uff77\026\uff77\065\uff77\066\uff77\067\uff77\001\002\000\026" +
"\004\uff9f\006\uff9f\007\uff9f\017\uff9f\020\uff9f\021\uff9f\026" +
"\uff9f\065\uff9f\066\uff9f\067\uff9f\001\002\000\026\004\uff9c" +
"\006\uff9c\007\uff9c\017\uff9c\020\uff9c\021\uff9c\026\uff9c\065" +
"\uff9c\066\uff9c\067\uff9c\001\002\000\026\004\uff9e\006\uff9e" +
"\007\uff9e\017\uff9e\020\uff9e\021\uff9e\026\uff9e\065\uff9e\066" +
"\uff9e\067\uff9e\001\002\000\026\004\uff9b\006\uff9b\007\uff9b" +
"\017\uff9b\020\uff9b\021\uff9b\026\uff9b\065\uff9b\066\uff9b\067" +
"\uff9b\001\002\000\004\067\065\001\002\000\020\006\uff78" +
"\017\uff78\020\uff78\021\uff78\065\uff78\066\uff78\067\uff78\001" +
"\002\000\020\006\244\017\253\020\256\021\251\065\250" +
"\066\252\067\247\001\002\000\026\004\uffa0\006\uffa0\007" +
"\uffa0\017\uffa0\020\uffa0\021\uffa0\026\uffa0\065\uffa0\066\uffa0" +
"\067\uffa0\001\002\000\010\004\uffa6\007\uffa6\030\210\001" +
"\002\000\020\004\uffa4\005\uffa4\007\uffa4\010\uffa4\020\uffa4" +
"\027\uffa4\030\uffa4\001\002\000\004\065\272\001\002\000" +
"\004\007\271\001\002\000\006\004\267\007\uff7a\001\002" +
"\000\004\005\265\001\002\000\016\006\244\017\253\021" +
"\251\065\250\066\252\067\247\001\002\000\006\004\uff9a" +
"\007\uff9a\001\002\000\010\007\uff7b\024\261\067\260\001" +
"\002\000\004\007\uff79\001\002\000\026\004\uff9d\006\uff9d" +
"\007\uff9d\017\uff9d\020\uff9d\021\uff9d\026\uff9d\065\uff9d\066" +
"\uff9d\067\uff9d\001\002\000\020\004\uffa3\005\uffa3\007\uffa3" +
"\010\uffa3\020\uffa3\027\uffa3\030\uffa3\001\002\000\014\004" +
"\uffb0\007\uffb0\020\uffb0\027\uffb0\030\uffb0\001\002\000\022" +
"\006\uff78\007\uff85\017\uff78\021\uff78\026\uff78\065\uff78\066" +
"\uff78\067\uff78\001\002\000\004\007\uff83\001\002\000\032" +
"\004\uffbd\005\uffbd\006\uffbd\007\uffbd\013\uffbd\017\uffbd\020" +
"\uffbd\026\uffbd\034\uffbd\036\uffbd\037\uffbd\067\uffbd\001\002" +
"\000\004\007\306\001\002\000\004\010\304\001\002\000" +
"\006\004\302\007\uff87\001\002\000\010\007\uff88\024\261" +
"\067\260\001\002\000\004\007\uff86\001\002\000\014\006" +
"\224\017\230\036\226\037\225\067\065\001\002\000\006" +
"\004\uffbc\007\uffbc\001\002\000\032\004\uffc1\005\uffc1\006" +
"\uffc1\007\uffc1\013\uffc1\017\uffc1\020\uffc1\026\uffc1\034\uffc1" +
"\036\uffc1\037\uffc1\067\uffc1\001\002\000\044\004\uffb8\006" +
"\uffb8\007\uffb8\013\uffb8\014\uffb8\016\uffb8\017\uffb8\020\uffb8" +
"\022\uffb8\023\uffb8\024\uffb8\027\uffb8\030\uffb8\064\uffb8\065" +
"\uffb8\066\uffb8\067\uffb8\001\002\000\026\006\uff82\007\uff82" +
"\013\uff82\017\uff82\022\uff82\024\uff82\064\uff82\065\uff82\066" +
"\uff82\067\uff82\001\002\000\026\006\172\007\312\013\167" +
"\017\203\022\201\024\174\064\177\065\204\066\205\067" +
"\200\001\002\000\014\004\uffad\007\uffad\020\uffad\027\uffad" +
"\030\uffad\001\002\000\004\005\321\001\002\000\004\007" +
"\320\001\002\000\006\004\316\007\uff8d\001\002\000\010" +
"\007\uff8e\024\261\067\260\001\002\000\004\007\uff8c\001" +
"\002\000\044\004\uffb7\006\uffb7\007\uffb7\013\uffb7\014\uffb7" +
"\016\uffb7\017\uffb7\020\uffb7\022\uffb7\023\uffb7\024\uffb7\027" +
"\uffb7\030\uffb7\064\uffb7\065\uffb7\066\uffb7\067\uffb7\001\002" +
"\000\030\006\172\013\167\017\203\022\201\024\174\061" +
"\175\063\173\064\177\065\204\066\205\067\200\001\002" +
"\000\010\004\uffa7\007\uffa7\030\210\001\002\000\006\006" +
"\uff80\064\uff80\001\002\000\044\004\uffb3\006\uffb3\007\uffb3" +
"\013\uffb3\014\uffb3\016\uffb3\017\uffb3\020\uffb3\022\uffb3\023" +
"\uffb3\024\uffb3\027\uffb3\030\uffb3\064\uffb3\065\uffb3\066\uffb3" +
"\067\uffb3\001\002\000\006\006\327\064\326\001\002\000" +
"\014\004\uff7f\006\uff7f\007\uff7f\031\uff7f\064\uff7f\001\002" +
"\000\010\007\uff7e\031\uff80\064\uff80\001\002\000\006\004" +
"\337\007\uff7d\001\002\000\006\031\335\064\326\001\002" +
"\000\004\007\333\001\002\000\004\014\334\001\002\000" +
"\044\004\uffa8\006\uffa8\007\uffa8\013\uffa8\014\uffa8\016\uffa8" +
"\017\uffa8\020\uffa8\022\uffa8\023\uffa8\024\uffa8\027\uffa8\030" +
"\uffa8\064\uffa8\065\uffa8\066\uffa8\067\uffa8\001\002\000\010" +
"\004\uff80\007\uff80\064\uff80\001\002\000\010\004\uffa5\007" +
"\uffa5\064\326\001\002\000\010\007\uff7e\031\uff80\064\uff80" +
"\001\002\000\004\007\uff7c\001\002\000\006\024\261\067" +
"\260\001\002\000\014\004\uffb1\007\uffb1\020\uffb1\027\uffb1" +
"\030\uffb1\001\002\000\004\005\344\001\002\000\014\006" +
"\224\017\230\036\226\037\225\067\065\001\002\000\004" +
"\005\346\001\002\000\030\006\172\013\167\017\203\022" +
"\201\024\174\061\175\063\173\064\177\065\204\066\205" +
"\067\200\001\002\000\006\004\350\030\210\001\002\000" +
"\030\006\172\013\167\017\203\022\201\024\174\061\175" +
"\063\173\064\177\065\204\066\205\067\200\001\002\000" +
"\006\004\uffe8\030\210\001\002\000\004\010\353\001\002" +
"\000\014\006\224\017\230\036\226\037\225\067\065\001" +
"\002\000\004\005\355\001\002\000\030\006\172\013\167" +
"\017\203\022\201\024\174\061\175\063\173\064\177\065" +
"\204\066\205\067\200\001\002\000\006\004\uffe9\030\210" +
"\001\002\000\004\005\360\001\002\000\006\004\uff95\067" +
"\363\001\002\000\004\004\uffea\001\002\000\006\004\uff94" +
"\034\366\001\002\000\020\004\uff92\006\uff92\017\uff92\034" +
"\uff92\036\uff92\037\uff92\067\uff92\001\002\000\020\004\uffe5" +
"\006\224\017\230\034\uffe5\036\226\037\225\067\065\001" +
"\002\000\020\004\uff91\006\uff91\017\uff91\034\uff91\036\uff91" +
"\037\uff91\067\uff91\001\002\000\006\004\uff95\067\363\001" +
"\002\000\004\004\uff93\001\002\000\004\050\372\001\002" +
"\000\004\050\uffe4\001\002\000\004\067\373\001\002\000" +
"\004\004\uffe6\001\002\000\004\005\375\001\002\000\030" +
"\006\060\015\076\017\070\022\066\024\063\025\062\040" +
"\057\044\056\064\067\065\072\067\065\001\002\000\004" +
"\004\uffeb\001\002\000\024\007\uff96\042\uff96\046\uff96\051" +
"\uff96\052\uff96\055\uff96\056\uff96\062\uff96\067\uff96\001\002" +
"\000\004\013\u0101\001\002\000\006\014\uffd0\067\u0103\001" +
"\002\000\004\014\u0109\001\002\000\004\010\u0107\001\002" +
"\000\006\004\u0105\014\uffcf\001\002\000\006\014\uffd0\067" +
"\u0103\001\002\000\004\014\uffce\001\002\000\030\006\060" +
"\015\076\017\070\022\066\024\063\025\062\040\057\044" +
"\056\064\067\065\072\067\065\001\002\000\006\004\uffc2" +
"\014\uffc2\001\002\000\004\005\u010a\001\002\000\006\004" +
"\uff90\067\uff90\001\002\000\006\004\uffed\067\065\001\002" +
"\000\006\004\uff8f\067\uff8f\001\002\000\004\005\u010e\001" +
"\002\000\004\067\u010f\001\002\000\004\004\uffee\001\002" +
"\000\006\006\ufff2\054\ufff2\001\002\000\004\005\ufff8\001" +
"\002\000\004\053\u0113\001\002\000\004\067\u0114\001\002" +
"\000\004\005\ufff7\001\002\000\004\005\ufff6\001\002\000" +
"\004\010\u0117\001\002\000\004\067\u0118\001\002\000\004" +
"\011\u0119\001\002\000\004\067\u011a\001\002\000\004\005" +
"\ufff5\001\002\000\004\002\001\001\002" });
/** Access to parse-action table. */
public short[][] action_table() {return _action_table;}
/** reduce_goto
table. */
protected static final short[][] _reduce_table =
unpackFromStrings(new String[] {
"\000\u0119\000\006\002\003\006\004\001\001\000\002\001" +
"\001\000\006\004\020\005\023\001\001\000\004\064\006" +
"\001\001\000\002\001\001\000\002\001\001\000\004\064" +
"\011\001\001\000\002\001\001\000\002\001\001\000\002" +
"\001\001\000\004\006\015\001\001\000\006\004\020\005" +
"\023\001\001\000\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\007\026\064\025\001\001\000\002\001\001" +
"\000\004\010\027\001\001\000\002\001\001\000\004\064" +
"\031\001\001\000\002\001\001\000\002\001\001\000\004" +
"\046\034\001\001\000\006\011\037\047\036\001\001\000" +
"\002\001\001\000\004\012\042\001\001\000\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\014\367\001\001" +
"\000\002\001\001\000\002\001\001\000\002\001\001\000" +
"\002\001\001\000\002\001\001\000\002\001\001\000\016" +
"\015\063\016\074\017\060\020\073\021\070\027\072\001" +
"\001\000\002\001\001\000\002\001\001\000\004\026\123" +
"\001\001\000\002\001\001\000\002\001\001\000\002\001" +
"\001\000\002\001\001\000\002\001\001\000\004\015\115" +
"\001\001\000\002\001\001\000\016\015\063\016\074\017" +
"\103\020\073\021\070\027\072\001\001\000\002\001\001" +
"\000\002\001\001\000\002\001\001\000\002\001\001\000" +
"\012\015\063\020\102\021\070\027\072\001\001\000\002" +
"\001\001\000\002\001\001\000\016\015\063\016\074\017" +
"\100\020\073\021\070\027\072\001\001\000\002\001\001" +
"\000\016\015\063\016\074\017\103\020\073\021\070\027" +
"\072\001\001\000\002\001\001\000\002\001\001\000\002" +
"\001\001\000\002\001\001\000\002\001\001\000\016\015" +
"\063\016\074\017\110\020\073\021\070\027\072\001\001" +
"\000\002\001\001\000\002\001\001\000\016\015\063\016" +
"\074\017\113\020\073\021\070\027\072\001\001\000\002" +
"\001\001\000\002\001\001\000\002\001\001\000\002\001" +
"\001\000\002\001\001\000\002\001\001\000\016\015\063" +
"\016\074\017\122\020\073\021\070\027\072\001\001\000" +
"\002\001\001\000\006\022\125\025\126\001\001\000\002" +
"\001\001\000\002\001\001\000\004\023\134\001\001\000" +
"\002\001\001\000\002\001\001\000\002\001\001\000\002" +
"\001\001\000\002\001\001\000\002\001\001\000\016\015" +
"\063\016\074\017\142\020\073\021\070\027\072\001\001" +
"\000\004\015\137\001\001\000\004\025\140\001\001\000" +
"\004\023\134\001\001\000\002\001\001\000\002\001\001" +
"\000\002\001\001\000\002\001\001\000\004\015\146\001" +
"\001\000\002\001\001\000\002\001\001\000\006\043\152" +
"\054\151\001\001\000\002\001\001\000\002\001\001\000" +
"\002\001\001\000\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\043\152\054\163\001\001\000\002\001\001" +
"\000\016\015\175\033\165\034\167\035\201\036\170\043" +
"\205\001\001\000\002\001\001\000\002\001\001\000\002" +
"\001\001\000\002\001\001\000\010\037\314\042\312\053" +
"\313\001\001\000\002\001\001\000\002\001\001\000\006" +
"\015\222\031\226\001\001\000\002\001\001\000\002\001" +
"\001\000\002\001\001\000\004\015\216\001\001\000\002" +
"\001\001\000\016\015\175\033\165\034\167\035\206\036" +
"\170\043\205\001\001\000\002\001\001\000\002\001\001" +
"\000\002\001\001\000\002\001\001\000\014\015\175\033" +
"\165\034\211\036\170\043\205\001\001\000\002\001\001" +
"\000\002\001\001\000\012\015\175\033\213\036\170\043" +
"\205\001\001\000\002\001\001\000\016\015\175\033\165" +
"\034\167\035\215\036\170\043\205\001\001\000\002\001" +
"\001\000\004\057\217\001\001\000\012\015\175\033\220" +
"\036\170\043\205\001\001\000\002\001\001\000\002\001" +
"\001\000\002\001\001\000\010\032\300\042\277\055\276" +
"\001\001\000\002\001\001\000\002\001\001\000\002\001" +
"\001\000\006\015\222\031\230\001\001\000\002\001\001" +
"\000\006\015\222\031\232\001\001\000\002\001\001\000" +
"\002\001\001\000\010\040\240\056\241\063\242\001\001" +
"\000\004\057\236\001\001\000\012\015\175\033\220\036" +
"\170\043\205\001\001\000\002\001\001\000\002\001\001" +
"\000\002\001\001\000\004\044\245\001\001\000\010\042" +
"\263\045\262\062\261\001\001\000\016\015\175\033\165" +
"\034\167\035\256\036\170\043\205\001\001\000\002\001" +
"\001\000\002\001\001\000\002\001\001\000\002\001\001" +
"\000\002\001\001\000\004\015\253\001\001\000\004\063" +
"\254\001\001\000\004\044\245\001\001\000\002\001\001" +
"\000\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" +
"\044\265\001\001\000\002\001\001\000\010\042\263\045" +
"\262\062\267\001\001\000\002\001\001\000\002\001\001" +
"\000\002\001\001\000\002\001\001\000\010\040\240\056" +
"\274\063\242\001\001\000\002\001\001\000\002\001\001" +
"\000\002\001\001\000\002\001\001\000\002\001\001\000" +
"\010\032\300\042\277\055\302\001\001\000\002\001\001" +
"\000\006\015\222\031\304\001\001\000\002\001\001\000" +
"\002\001\001\000\002\001\001\000\004\057\310\001\001" +
"\000\012\015\175\033\220\036\170\043\205\001\001\000" +
"\002\001\001\000\002\001\001\000\002\001\001\000\002" +
"\001\001\000\010\037\314\042\312\053\316\001\001\000" +
"\002\001\001\000\002\001\001\000\016\015\175\033\165" +
"\034\167\035\321\036\170\043\205\001\001\000\002\001" +
"\001\000\004\060\324\001\001\000\002\001\001\000\002" +
"\001\001\000\002\001\001\000\010\041\327\060\330\061" +
"\331\001\001\000\002\001\001\000\002\001\001\000\002" +
"\001\001\000\002\001\001\000\002\001\001\000\004\060" +
"\335\001\001\000\002\001\001\000\010\041\327\060\330" +
"\061\337\001\001\000\002\001\001\000\004\042\341\001" +
"\001\000\002\001\001\000\002\001\001\000\006\015\222" +
"\031\344\001\001\000\002\001\001\000\016\015\175\033" +
"\165\034\167\035\346\036\170\043\205\001\001\000\002" +
"\001\001\000\016\015\175\033\165\034\167\035\350\036" +
"\170\043\205\001\001\000\002\001\001\000\002\001\001" +
"\000\006\015\222\031\353\001\001\000\002\001\001\000" +
"\016\015\175\033\165\034\167\035\355\036\170\043\205" +
"\001\001\000\002\001\001\000\002\001\001\000\006\013" +
"\361\050\360\001\001\000\002\001\001\000\002\001\001" +
"\000\004\051\363\001\001\000\006\015\222\031\364\001" +
"\001\000\002\001\001\000\006\013\361\050\366\001\001" +
"\000\002\001\001\000\002\001\001\000\002\001\001\000" +
"\002\001\001\000\002\001\001\000\002\001\001\000\016" +
"\015\063\016\074\017\375\020\073\021\070\027\072\001" +
"\001\000\002\001\001\000\002\001\001\000\002\001\001" +
"\000\006\024\u0101\030\u0103\001\001\000\002\001\001\000" +
"\002\001\001\000\002\001\001\000\006\024\u0105\030\u0103" +
"\001\001\000\002\001\001\000\016\015\063\016\074\017" +
"\u0107\020\073\021\070\027\072\001\001\000\002\001\001" +
"\000\002\001\001\000\004\052\u010a\001\001\000\004\015" +
"\u010b\001\001\000\002\001\001\000\002\001\001\000\002" +
"\001\001\000\002\001\001\000\002\001\001\000\002\001" +
"\001\000\002\001\001\000\002\001\001\000\002\001\001" +
"\000\002\001\001\000\002\001\001\000\002\001\001\000" +
"\002\001\001\000\002\001\001\000\002\001\001\000\002" +
"\001\001" });
/** Access to reduce_goto
table. */
public short[][] reduce_table() {return _reduce_table;}
/** Instance of action encapsulation class. */
protected CUP$parser$actions action_obj;
/** Action encapsulation object initializer. */
protected void init_actions()
{
action_obj = new CUP$parser$actions(this);
}
/** Invoke a user supplied parse action. */
public java_cup.runtime.Symbol do_action(
int act_num,
java_cup.runtime.lr_parser parser,
java.util.Stack stack,
int top)
throws java.lang.Exception
{
/* call code in generated class */
return action_obj.CUP$parser$do_action(act_num, parser, stack, top);
}
/** Indicates start state. */
public int start_state() {return 0;}
/** Indicates start production. */
public int start_production() {return 0;}
/** EOF
Symbol index. */
public int EOF_sym() {return 0;}
/** error
Symbol index. */
public int error_sym() {return 1;}
public se.chalmers.cs.gf.GFC.Absyn.Canon pCanon() throws Exception
{
java_cup.runtime.Symbol res = parse();
return (se.chalmers.cs.gf.GFC.Absyn.Canon) res.value;
}
public > A cons_(B x, A xs) { xs.addFirst(x); return xs; }
public void syntax_error(java_cup.runtime.Symbol cur_token)
{
report_error("Syntax Error, trying to recover and continue parse...", cur_token);
}
public void unrecovered_syntax_error(java_cup.runtime.Symbol cur_token) throws java.lang.Exception
{
throw new Exception("Unrecoverable Syntax Error");
}
}
/** Cup generated class to encapsulate user supplied action code.*/
class CUP$parser$actions {
private final parser parser;
/** Constructor */
CUP$parser$actions(parser parser) {
this.parser = parser;
}
/** Method with the actual generated action code. */
public final java_cup.runtime.Symbol CUP$parser$do_action(
int CUP$parser$act_num,
java_cup.runtime.lr_parser CUP$parser$parser,
java.util.Stack CUP$parser$stack,
int CUP$parser$top)
throws java.lang.Exception
{
/* Symbol object for return from actions */
java_cup.runtime.Symbol CUP$parser$result;
/* select the action based on the action number */
switch (CUP$parser$act_num)
{
/*. . . . . . . . . . . . . . . . . . . .*/
case 141: // ListIdent ::= _IDENT_ _SYMB_25 ListIdent
{
se.chalmers.cs.gf.GFC.Absyn.ListIdent RESULT =null;
String p_1 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
se.chalmers.cs.gf.GFC.Absyn.ListIdent p_3 = (se.chalmers.cs.gf.GFC.Absyn.ListIdent)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = p_3; p_3.addFirst(p_1);
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListIdent",50, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 140: // ListIdent ::= _IDENT_
{
se.chalmers.cs.gf.GFC.Absyn.ListIdent RESULT =null;
String p_1 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.ListIdent(); RESULT.addLast(p_1);
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListIdent",50, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 139: // ListIdent ::=
{
se.chalmers.cs.gf.GFC.Absyn.ListIdent RESULT =null;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.ListIdent();
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListIdent",50, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 138: // ListPatt ::= ListPatt Patt
{
se.chalmers.cs.gf.GFC.Absyn.ListPatt RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.ListPatt p_1 = (se.chalmers.cs.gf.GFC.Absyn.ListPatt)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
se.chalmers.cs.gf.GFC.Absyn.Patt p_2 = (se.chalmers.cs.gf.GFC.Absyn.Patt)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = p_1; p_1.addLast(p_2);
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListPatt",49, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 137: // ListPatt ::=
{
se.chalmers.cs.gf.GFC.Absyn.ListPatt RESULT =null;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.ListPatt();
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListPatt",49, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 136: // ListPattAssign ::= PattAssign _SYMB_0 ListPattAssign
{
se.chalmers.cs.gf.GFC.Absyn.ListPattAssign RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.PattAssign p_1 = (se.chalmers.cs.gf.GFC.Absyn.PattAssign)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
se.chalmers.cs.gf.GFC.Absyn.ListPattAssign p_3 = (se.chalmers.cs.gf.GFC.Absyn.ListPattAssign)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = p_3; p_3.addFirst(p_1);
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListPattAssign",48, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 135: // ListPattAssign ::= PattAssign
{
se.chalmers.cs.gf.GFC.Absyn.ListPattAssign RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.PattAssign p_1 = (se.chalmers.cs.gf.GFC.Absyn.PattAssign)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.ListPattAssign(); RESULT.addLast(p_1);
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListPattAssign",48, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 134: // ListPattAssign ::=
{
se.chalmers.cs.gf.GFC.Absyn.ListPattAssign RESULT =null;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.ListPattAssign();
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListPattAssign",48, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 133: // ListVariant ::= Variant _SYMB_0 ListVariant
{
se.chalmers.cs.gf.GFC.Absyn.ListVariant RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.Variant p_1 = (se.chalmers.cs.gf.GFC.Absyn.Variant)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
se.chalmers.cs.gf.GFC.Absyn.ListVariant p_3 = (se.chalmers.cs.gf.GFC.Absyn.ListVariant)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = p_3; p_3.addFirst(p_1);
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListVariant",47, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 132: // ListVariant ::= Variant
{
se.chalmers.cs.gf.GFC.Absyn.ListVariant RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.Variant p_1 = (se.chalmers.cs.gf.GFC.Absyn.Variant)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.ListVariant(); RESULT.addLast(p_1);
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListVariant",47, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 131: // ListVariant ::=
{
se.chalmers.cs.gf.GFC.Absyn.ListVariant RESULT =null;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.ListVariant();
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListVariant",47, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 130: // ListString ::= ListString _STRING_
{
se.chalmers.cs.gf.GFC.Absyn.ListString RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.ListString p_1 = (se.chalmers.cs.gf.GFC.Absyn.ListString)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
String p_2 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = p_1; p_1.addLast(p_2);
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListString",46, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 129: // ListString ::=
{
se.chalmers.cs.gf.GFC.Absyn.ListString RESULT =null;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.ListString();
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListString",46, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 128: // ListTerm2 ::= ListTerm2 Term2
{
se.chalmers.cs.gf.GFC.Absyn.ListTerm RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.ListTerm p_1 = (se.chalmers.cs.gf.GFC.Absyn.ListTerm)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
se.chalmers.cs.gf.GFC.Absyn.Term p_2 = (se.chalmers.cs.gf.GFC.Absyn.Term)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = p_1; p_1.addLast(p_2);
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListTerm2",45, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 127: // ListTerm2 ::=
{
se.chalmers.cs.gf.GFC.Absyn.ListTerm RESULT =null;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.ListTerm();
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListTerm2",45, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 126: // ListCase ::= Case _SYMB_0 ListCase
{
se.chalmers.cs.gf.GFC.Absyn.ListCase RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.Case p_1 = (se.chalmers.cs.gf.GFC.Absyn.Case)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
se.chalmers.cs.gf.GFC.Absyn.ListCase p_3 = (se.chalmers.cs.gf.GFC.Absyn.ListCase)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = p_3; p_3.addFirst(p_1);
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListCase",44, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 125: // ListCase ::= Case
{
se.chalmers.cs.gf.GFC.Absyn.ListCase RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.Case p_1 = (se.chalmers.cs.gf.GFC.Absyn.Case)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.ListCase(); RESULT.addLast(p_1);
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListCase",44, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 124: // ListCase ::=
{
se.chalmers.cs.gf.GFC.Absyn.ListCase RESULT =null;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.ListCase();
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListCase",44, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 123: // ListLabelling ::= Labelling _SYMB_0 ListLabelling
{
se.chalmers.cs.gf.GFC.Absyn.ListLabelling RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.Labelling p_1 = (se.chalmers.cs.gf.GFC.Absyn.Labelling)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
se.chalmers.cs.gf.GFC.Absyn.ListLabelling p_3 = (se.chalmers.cs.gf.GFC.Absyn.ListLabelling)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = p_3; p_3.addFirst(p_1);
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListLabelling",43, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 122: // ListLabelling ::= Labelling
{
se.chalmers.cs.gf.GFC.Absyn.ListLabelling RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.Labelling p_1 = (se.chalmers.cs.gf.GFC.Absyn.Labelling)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.ListLabelling(); RESULT.addLast(p_1);
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListLabelling",43, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 121: // ListLabelling ::=
{
se.chalmers.cs.gf.GFC.Absyn.ListLabelling RESULT =null;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.ListLabelling();
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListLabelling",43, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 120: // ListArgVar ::= ArgVar _SYMB_25 ListArgVar
{
se.chalmers.cs.gf.GFC.Absyn.ListArgVar RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.ArgVar p_1 = (se.chalmers.cs.gf.GFC.Absyn.ArgVar)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
se.chalmers.cs.gf.GFC.Absyn.ListArgVar p_3 = (se.chalmers.cs.gf.GFC.Absyn.ListArgVar)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = p_3; p_3.addFirst(p_1);
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListArgVar",42, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 119: // ListArgVar ::= ArgVar
{
se.chalmers.cs.gf.GFC.Absyn.ListArgVar RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.ArgVar p_1 = (se.chalmers.cs.gf.GFC.Absyn.ArgVar)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.ListArgVar(); RESULT.addLast(p_1);
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListArgVar",42, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 118: // ListArgVar ::=
{
se.chalmers.cs.gf.GFC.Absyn.ListArgVar RESULT =null;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.ListArgVar();
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListArgVar",42, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 117: // ListAssign ::= Assign _SYMB_0 ListAssign
{
se.chalmers.cs.gf.GFC.Absyn.ListAssign RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.Assign p_1 = (se.chalmers.cs.gf.GFC.Absyn.Assign)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
se.chalmers.cs.gf.GFC.Absyn.ListAssign p_3 = (se.chalmers.cs.gf.GFC.Absyn.ListAssign)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = p_3; p_3.addFirst(p_1);
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListAssign",41, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 116: // ListAssign ::= Assign
{
se.chalmers.cs.gf.GFC.Absyn.ListAssign RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.Assign p_1 = (se.chalmers.cs.gf.GFC.Absyn.Assign)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.ListAssign(); RESULT.addLast(p_1);
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListAssign",41, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 115: // ListAssign ::=
{
se.chalmers.cs.gf.GFC.Absyn.ListAssign RESULT =null;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.ListAssign();
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListAssign",41, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 114: // ListCIdent ::= ListCIdent CIdent
{
se.chalmers.cs.gf.GFC.Absyn.ListCIdent RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.ListCIdent p_1 = (se.chalmers.cs.gf.GFC.Absyn.ListCIdent)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
se.chalmers.cs.gf.GFC.Absyn.CIdent p_2 = (se.chalmers.cs.gf.GFC.Absyn.CIdent)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = p_1; p_1.addLast(p_2);
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListCIdent",40, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 113: // ListCIdent ::=
{
se.chalmers.cs.gf.GFC.Absyn.ListCIdent RESULT =null;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.ListCIdent();
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListCIdent",40, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 112: // ListCType ::= ListCType CType
{
se.chalmers.cs.gf.GFC.Absyn.ListCType RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.ListCType p_1 = (se.chalmers.cs.gf.GFC.Absyn.ListCType)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
se.chalmers.cs.gf.GFC.Absyn.CType p_2 = (se.chalmers.cs.gf.GFC.Absyn.CType)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = p_1; p_1.addLast(p_2);
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListCType",39, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 111: // ListCType ::=
{
se.chalmers.cs.gf.GFC.Absyn.ListCType RESULT =null;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.ListCType();
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListCType",39, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 110: // ListParDef ::= ParDef _SYMB_24 ListParDef
{
se.chalmers.cs.gf.GFC.Absyn.ListParDef RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.ParDef p_1 = (se.chalmers.cs.gf.GFC.Absyn.ParDef)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
se.chalmers.cs.gf.GFC.Absyn.ListParDef p_3 = (se.chalmers.cs.gf.GFC.Absyn.ListParDef)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = p_3; p_3.addFirst(p_1);
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListParDef",38, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 109: // ListParDef ::= ParDef
{
se.chalmers.cs.gf.GFC.Absyn.ListParDef RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.ParDef p_1 = (se.chalmers.cs.gf.GFC.Absyn.ParDef)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.ListParDef(); RESULT.addLast(p_1);
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListParDef",38, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 108: // ListParDef ::=
{
se.chalmers.cs.gf.GFC.Absyn.ListParDef RESULT =null;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.ListParDef();
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListParDef",38, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 107: // ListDef ::= ListDef Def _SYMB_0
{
se.chalmers.cs.gf.GFC.Absyn.ListDef RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.ListDef p_1 = (se.chalmers.cs.gf.GFC.Absyn.ListDef)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
se.chalmers.cs.gf.GFC.Absyn.Def p_2 = (se.chalmers.cs.gf.GFC.Absyn.Def)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = p_1; p_1.addLast(p_2);
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListDef",37, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 106: // ListDef ::=
{
se.chalmers.cs.gf.GFC.Absyn.ListDef RESULT =null;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.ListDef();
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListDef",37, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 105: // ListFlag ::= ListFlag Flag _SYMB_0
{
se.chalmers.cs.gf.GFC.Absyn.ListFlag RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.ListFlag p_1 = (se.chalmers.cs.gf.GFC.Absyn.ListFlag)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
se.chalmers.cs.gf.GFC.Absyn.Flag p_2 = (se.chalmers.cs.gf.GFC.Absyn.Flag)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = p_1; p_1.addLast(p_2);
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListFlag",36, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 104: // ListFlag ::=
{
se.chalmers.cs.gf.GFC.Absyn.ListFlag RESULT =null;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.ListFlag();
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListFlag",36, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 103: // PattAssign ::= Label _SYMB_1 Patt
{
se.chalmers.cs.gf.GFC.Absyn.PattAssign RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.Label p_1 = (se.chalmers.cs.gf.GFC.Absyn.Label)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
se.chalmers.cs.gf.GFC.Absyn.Patt p_3 = (se.chalmers.cs.gf.GFC.Absyn.Patt)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.PAss(p_1,p_3);
CUP$parser$result = parser.getSymbolFactory().newSymbol("PattAssign",35, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 102: // Patt ::= _DOUBLE_
{
se.chalmers.cs.gf.GFC.Absyn.Patt RESULT =null;
Double p_1 = (Double)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.PF(p_1);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Patt",34, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 101: // Patt ::= _INTEGER_
{
se.chalmers.cs.gf.GFC.Absyn.Patt RESULT =null;
Integer p_1 = (Integer)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.PI(p_1);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Patt",34, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 100: // Patt ::= _SYMB_2 ListPattAssign _SYMB_3
{
se.chalmers.cs.gf.GFC.Absyn.Patt RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.ListPattAssign p_2 = (se.chalmers.cs.gf.GFC.Absyn.ListPattAssign)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.PR(p_2);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Patt",34, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 99: // Patt ::= _SYMB_13
{
se.chalmers.cs.gf.GFC.Absyn.Patt RESULT =null;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.PW();
CUP$parser$result = parser.getSymbolFactory().newSymbol("Patt",34, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 98: // Patt ::= _IDENT_
{
se.chalmers.cs.gf.GFC.Absyn.Patt RESULT =null;
String p_1 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.PV(p_1);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Patt",34, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 97: // Patt ::= _SYMB_11 CIdent ListPatt _SYMB_12
{
se.chalmers.cs.gf.GFC.Absyn.Patt RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.CIdent p_2 = (se.chalmers.cs.gf.GFC.Absyn.CIdent)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
se.chalmers.cs.gf.GFC.Absyn.ListPatt p_3 = (se.chalmers.cs.gf.GFC.Absyn.ListPatt)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.PC(p_2,p_3);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Patt",34, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 96: // ArgVar ::= _IDENT_ _SYMB_23 _INTEGER_ _SYMB_22 _INTEGER_
{
se.chalmers.cs.gf.GFC.Absyn.ArgVar RESULT =null;
String p_1 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-4)).value;
Integer p_3 = (Integer)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
Integer p_5 = (Integer)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.AB(p_1,p_3,p_5);
CUP$parser$result = parser.getSymbolFactory().newSymbol("ArgVar",33, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 95: // ArgVar ::= _IDENT_ _SYMB_22 _INTEGER_
{
se.chalmers.cs.gf.GFC.Absyn.ArgVar RESULT =null;
String p_1 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
Integer p_3 = (Integer)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.A(p_1,p_3);
CUP$parser$result = parser.getSymbolFactory().newSymbol("ArgVar",33, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 94: // Label ::= _SYMB_16 _INTEGER_
{
se.chalmers.cs.gf.GFC.Absyn.Label RESULT =null;
Integer p_2 = (Integer)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.LV(p_2);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Label",32, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 93: // Label ::= _IDENT_
{
se.chalmers.cs.gf.GFC.Absyn.Label RESULT =null;
String p_1 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.L(p_1);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Label",32, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 92: // Variant ::= ListString _SYMB_21 ListString
{
se.chalmers.cs.gf.GFC.Absyn.Variant RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.ListString p_1 = (se.chalmers.cs.gf.GFC.Absyn.ListString)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
se.chalmers.cs.gf.GFC.Absyn.ListString p_3 = (se.chalmers.cs.gf.GFC.Absyn.ListString)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.Var(p_1,p_3);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Variant",31, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 91: // Case ::= ListPatt _SYMB_18 Term
{
se.chalmers.cs.gf.GFC.Absyn.Case RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.ListPatt p_1 = (se.chalmers.cs.gf.GFC.Absyn.ListPatt)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
se.chalmers.cs.gf.GFC.Absyn.Term p_3 = (se.chalmers.cs.gf.GFC.Absyn.Term)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.Cas(p_1,p_3);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Case",30, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 90: // Assign ::= Label _SYMB_1 Term
{
se.chalmers.cs.gf.GFC.Absyn.Assign RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.Label p_1 = (se.chalmers.cs.gf.GFC.Absyn.Label)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
se.chalmers.cs.gf.GFC.Absyn.Term p_3 = (se.chalmers.cs.gf.GFC.Absyn.Term)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.Ass(p_1,p_3);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Assign",29, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 89: // Tokn ::= _SYMB_7 _SYMB_43 ListString _SYMB_2 ListVariant _SYMB_3 _SYMB_8
{
se.chalmers.cs.gf.GFC.Absyn.Tokn RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.ListString p_3 = (se.chalmers.cs.gf.GFC.Absyn.ListString)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-4)).value;
se.chalmers.cs.gf.GFC.Absyn.ListVariant p_5 = (se.chalmers.cs.gf.GFC.Absyn.ListVariant)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.KP(p_3,p_5);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Tokn",28, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 88: // Tokn ::= _STRING_
{
se.chalmers.cs.gf.GFC.Absyn.Tokn RESULT =null;
String p_1 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.KS(p_1);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Tokn",28, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 87: // Term ::= Term1
{
se.chalmers.cs.gf.GFC.Absyn.Term RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.Term p_1 = (se.chalmers.cs.gf.GFC.Absyn.Term)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = p_1;
CUP$parser$result = parser.getSymbolFactory().newSymbol("Term",27, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 86: // Term ::= Term _SYMB_20 Term1
{
se.chalmers.cs.gf.GFC.Absyn.Term RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.Term p_1 = (se.chalmers.cs.gf.GFC.Absyn.Term)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
se.chalmers.cs.gf.GFC.Absyn.Term p_3 = (se.chalmers.cs.gf.GFC.Absyn.Term)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.C(p_1,p_3);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Term",27, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 85: // Term1 ::= Term2
{
se.chalmers.cs.gf.GFC.Absyn.Term RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.Term p_1 = (se.chalmers.cs.gf.GFC.Absyn.Term)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = p_1;
CUP$parser$result = parser.getSymbolFactory().newSymbol("Term1",26, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 84: // Term1 ::= _SYMB_47 _SYMB_2 ListTerm2 _SYMB_3
{
se.chalmers.cs.gf.GFC.Absyn.Term RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.ListTerm p_3 = (se.chalmers.cs.gf.GFC.Absyn.ListTerm)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.FV(p_3);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Term1",26, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 83: // Term1 ::= Term1 _SYMB_19 Term2
{
se.chalmers.cs.gf.GFC.Absyn.Term RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.Term p_1 = (se.chalmers.cs.gf.GFC.Absyn.Term)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
se.chalmers.cs.gf.GFC.Absyn.Term p_3 = (se.chalmers.cs.gf.GFC.Absyn.Term)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.S(p_1,p_3);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Term1",26, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 82: // Term1 ::= _SYMB_45 CType _SYMB_7 ListTerm2 _SYMB_8
{
se.chalmers.cs.gf.GFC.Absyn.Term RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.CType p_2 = (se.chalmers.cs.gf.GFC.Absyn.CType)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value;
se.chalmers.cs.gf.GFC.Absyn.ListTerm p_4 = (se.chalmers.cs.gf.GFC.Absyn.ListTerm)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.V(p_2,p_4);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Term1",26, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 81: // Term1 ::= _SYMB_45 CType _SYMB_2 ListCase _SYMB_3
{
se.chalmers.cs.gf.GFC.Absyn.Term RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.CType p_2 = (se.chalmers.cs.gf.GFC.Absyn.CType)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value;
se.chalmers.cs.gf.GFC.Absyn.ListCase p_4 = (se.chalmers.cs.gf.GFC.Absyn.ListCase)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.T(p_2,p_4);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Term1",26, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 80: // Term1 ::= Term2 _SYMB_10 Label
{
se.chalmers.cs.gf.GFC.Absyn.Term RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.Term p_1 = (se.chalmers.cs.gf.GFC.Absyn.Term)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
se.chalmers.cs.gf.GFC.Absyn.Label p_3 = (se.chalmers.cs.gf.GFC.Absyn.Label)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.P(p_1,p_3);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Term1",26, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 79: // Term2 ::= _SYMB_11 Term _SYMB_12
{
se.chalmers.cs.gf.GFC.Absyn.Term RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.Term p_2 = (se.chalmers.cs.gf.GFC.Absyn.Term)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = p_2;
CUP$parser$result = parser.getSymbolFactory().newSymbol("Term2",25, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 78: // Term2 ::= _SYMB_7 _SYMB_8
{
se.chalmers.cs.gf.GFC.Absyn.Term RESULT =null;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.E();
CUP$parser$result = parser.getSymbolFactory().newSymbol("Term2",25, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 77: // Term2 ::= Tokn
{
se.chalmers.cs.gf.GFC.Absyn.Term RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.Tokn p_1 = (se.chalmers.cs.gf.GFC.Absyn.Tokn)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.K(p_1);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Term2",25, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 76: // Term2 ::= _DOUBLE_
{
se.chalmers.cs.gf.GFC.Absyn.Term RESULT =null;
Double p_1 = (Double)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.EFloat(p_1);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Term2",25, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 75: // Term2 ::= _INTEGER_
{
se.chalmers.cs.gf.GFC.Absyn.Term RESULT =null;
Integer p_1 = (Integer)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.EInt(p_1);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Term2",25, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 74: // Term2 ::= _SYMB_2 ListAssign _SYMB_3
{
se.chalmers.cs.gf.GFC.Absyn.Term RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.ListAssign p_2 = (se.chalmers.cs.gf.GFC.Absyn.ListAssign)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.R(p_2);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Term2",25, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 73: // Term2 ::= _SYMB_16 _IDENT_
{
se.chalmers.cs.gf.GFC.Absyn.Term RESULT =null;
String p_2 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.LI(p_2);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Term2",25, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 72: // Term2 ::= _SYMB_14 CIdent ListTerm2 _SYMB_15
{
se.chalmers.cs.gf.GFC.Absyn.Term RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.CIdent p_2 = (se.chalmers.cs.gf.GFC.Absyn.CIdent)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
se.chalmers.cs.gf.GFC.Absyn.ListTerm p_3 = (se.chalmers.cs.gf.GFC.Absyn.ListTerm)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.Par(p_2,p_3);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Term2",25, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 71: // Term2 ::= CIdent
{
se.chalmers.cs.gf.GFC.Absyn.Term RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.CIdent p_1 = (se.chalmers.cs.gf.GFC.Absyn.CIdent)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.I(p_1);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Term2",25, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 70: // Term2 ::= ArgVar
{
se.chalmers.cs.gf.GFC.Absyn.Term RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.ArgVar p_1 = (se.chalmers.cs.gf.GFC.Absyn.ArgVar)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.Arg(p_1);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Term2",25, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 69: // Labelling ::= Label _SYMB_4 CType
{
se.chalmers.cs.gf.GFC.Absyn.Labelling RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.Label p_1 = (se.chalmers.cs.gf.GFC.Absyn.Label)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
se.chalmers.cs.gf.GFC.Absyn.CType p_3 = (se.chalmers.cs.gf.GFC.Absyn.CType)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.Lbg(p_1,p_3);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Labelling",24, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 68: // CType ::= _SYMB_26 _INTEGER_
{
se.chalmers.cs.gf.GFC.Absyn.CType RESULT =null;
Integer p_2 = (Integer)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.TInts(p_2);
CUP$parser$result = parser.getSymbolFactory().newSymbol("CType",23, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 67: // CType ::= _SYMB_27
{
se.chalmers.cs.gf.GFC.Absyn.CType RESULT =null;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.TStr();
CUP$parser$result = parser.getSymbolFactory().newSymbol("CType",23, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 66: // CType ::= CIdent
{
se.chalmers.cs.gf.GFC.Absyn.CType RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.CIdent p_1 = (se.chalmers.cs.gf.GFC.Absyn.CIdent)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.Cn(p_1);
CUP$parser$result = parser.getSymbolFactory().newSymbol("CType",23, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 65: // CType ::= _SYMB_11 CType _SYMB_18 CType _SYMB_12
{
se.chalmers.cs.gf.GFC.Absyn.CType RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.CType p_2 = (se.chalmers.cs.gf.GFC.Absyn.CType)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value;
se.chalmers.cs.gf.GFC.Absyn.CType p_4 = (se.chalmers.cs.gf.GFC.Absyn.CType)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.Table(p_2,p_4);
CUP$parser$result = parser.getSymbolFactory().newSymbol("CType",23, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 64: // CType ::= _SYMB_2 ListLabelling _SYMB_3
{
se.chalmers.cs.gf.GFC.Absyn.CType RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.ListLabelling p_2 = (se.chalmers.cs.gf.GFC.Absyn.ListLabelling)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.RecType(p_2);
CUP$parser$result = parser.getSymbolFactory().newSymbol("CType",23, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 63: // Decl ::= _IDENT_ _SYMB_4 Exp
{
se.chalmers.cs.gf.GFC.Absyn.Decl RESULT =null;
String p_1 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
se.chalmers.cs.gf.GFC.Absyn.Exp p_3 = (se.chalmers.cs.gf.GFC.Absyn.Exp)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.Decl(p_1,p_3);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Decl",22, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 62: // Atom ::= Sort
{
se.chalmers.cs.gf.GFC.Absyn.Atom RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.Sort p_1 = (se.chalmers.cs.gf.GFC.Absyn.Sort)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.AT(p_1);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Atom",21, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 61: // Atom ::= _INTEGER_
{
se.chalmers.cs.gf.GFC.Absyn.Atom RESULT =null;
Integer p_1 = (Integer)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.AI(p_1);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Atom",21, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 60: // Atom ::= _STRING_
{
se.chalmers.cs.gf.GFC.Absyn.Atom RESULT =null;
String p_1 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.AS(p_1);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Atom",21, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 59: // Atom ::= _SYMB_17 _INTEGER_
{
se.chalmers.cs.gf.GFC.Absyn.Atom RESULT =null;
Integer p_2 = (Integer)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.AM(p_2);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Atom",21, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 58: // Atom ::= _SYMB_16 _IDENT_
{
se.chalmers.cs.gf.GFC.Absyn.Atom RESULT =null;
String p_2 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.AV(p_2);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Atom",21, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 57: // Atom ::= _SYMB_14 CIdent _SYMB_15
{
se.chalmers.cs.gf.GFC.Absyn.Atom RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.CIdent p_2 = (se.chalmers.cs.gf.GFC.Absyn.CIdent)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.AD(p_2);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Atom",21, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 56: // Atom ::= CIdent
{
se.chalmers.cs.gf.GFC.Absyn.Atom RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.CIdent p_1 = (se.chalmers.cs.gf.GFC.Absyn.CIdent)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.AC(p_1);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Atom",21, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 55: // ListEquation ::= ListEquation Equation _SYMB_0
{
se.chalmers.cs.gf.GFC.Absyn.ListEquation RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.ListEquation p_1 = (se.chalmers.cs.gf.GFC.Absyn.ListEquation)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
se.chalmers.cs.gf.GFC.Absyn.Equation p_2 = (se.chalmers.cs.gf.GFC.Absyn.Equation)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = p_1; p_1.addLast(p_2);
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListEquation",20, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 54: // ListEquation ::=
{
se.chalmers.cs.gf.GFC.Absyn.ListEquation RESULT =null;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.ListEquation();
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListEquation",20, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 53: // ListAPatt ::= ListAPatt APatt
{
se.chalmers.cs.gf.GFC.Absyn.ListAPatt RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.ListAPatt p_1 = (se.chalmers.cs.gf.GFC.Absyn.ListAPatt)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
se.chalmers.cs.gf.GFC.Absyn.APatt p_2 = (se.chalmers.cs.gf.GFC.Absyn.APatt)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = p_1; p_1.addLast(p_2);
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListAPatt",19, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 52: // ListAPatt ::=
{
se.chalmers.cs.gf.GFC.Absyn.ListAPatt RESULT =null;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.ListAPatt();
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListAPatt",19, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 51: // ListDecl ::= Decl _SYMB_0 ListDecl
{
se.chalmers.cs.gf.GFC.Absyn.ListDecl RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.Decl p_1 = (se.chalmers.cs.gf.GFC.Absyn.Decl)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
se.chalmers.cs.gf.GFC.Absyn.ListDecl p_3 = (se.chalmers.cs.gf.GFC.Absyn.ListDecl)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = p_3; p_3.addFirst(p_1);
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListDecl",18, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 50: // ListDecl ::= Decl
{
se.chalmers.cs.gf.GFC.Absyn.ListDecl RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.Decl p_1 = (se.chalmers.cs.gf.GFC.Absyn.Decl)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.ListDecl(); RESULT.addLast(p_1);
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListDecl",18, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 49: // ListDecl ::=
{
se.chalmers.cs.gf.GFC.Absyn.ListDecl RESULT =null;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.ListDecl();
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListDecl",18, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 48: // APatt ::= _SYMB_13
{
se.chalmers.cs.gf.GFC.Absyn.APatt RESULT =null;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.APW();
CUP$parser$result = parser.getSymbolFactory().newSymbol("APatt",17, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 47: // APatt ::= _DOUBLE_
{
se.chalmers.cs.gf.GFC.Absyn.APatt RESULT =null;
Double p_1 = (Double)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.APF(p_1);
CUP$parser$result = parser.getSymbolFactory().newSymbol("APatt",17, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 46: // APatt ::= _INTEGER_
{
se.chalmers.cs.gf.GFC.Absyn.APatt RESULT =null;
Integer p_1 = (Integer)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.API(p_1);
CUP$parser$result = parser.getSymbolFactory().newSymbol("APatt",17, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 45: // APatt ::= _STRING_
{
se.chalmers.cs.gf.GFC.Absyn.APatt RESULT =null;
String p_1 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.APS(p_1);
CUP$parser$result = parser.getSymbolFactory().newSymbol("APatt",17, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 44: // APatt ::= _IDENT_
{
se.chalmers.cs.gf.GFC.Absyn.APatt RESULT =null;
String p_1 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.APV(p_1);
CUP$parser$result = parser.getSymbolFactory().newSymbol("APatt",17, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 43: // APatt ::= _SYMB_11 CIdent ListAPatt _SYMB_12
{
se.chalmers.cs.gf.GFC.Absyn.APatt RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.CIdent p_2 = (se.chalmers.cs.gf.GFC.Absyn.CIdent)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
se.chalmers.cs.gf.GFC.Absyn.ListAPatt p_3 = (se.chalmers.cs.gf.GFC.Absyn.ListAPatt)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.APC(p_2,p_3);
CUP$parser$result = parser.getSymbolFactory().newSymbol("APatt",17, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 42: // Equation ::= ListAPatt _SYMB_5 Exp
{
se.chalmers.cs.gf.GFC.Absyn.Equation RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.ListAPatt p_1 = (se.chalmers.cs.gf.GFC.Absyn.ListAPatt)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
se.chalmers.cs.gf.GFC.Absyn.Exp p_3 = (se.chalmers.cs.gf.GFC.Absyn.Exp)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.Equ(p_1,p_3);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Equation",16, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 41: // Sort ::= _SYMB_28
{
se.chalmers.cs.gf.GFC.Absyn.Sort RESULT =null;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.SType();
CUP$parser$result = parser.getSymbolFactory().newSymbol("Sort",15, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 40: // Exp2 ::= _SYMB_11 Exp _SYMB_12
{
se.chalmers.cs.gf.GFC.Absyn.Exp RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.Exp p_2 = (se.chalmers.cs.gf.GFC.Absyn.Exp)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = p_2;
CUP$parser$result = parser.getSymbolFactory().newSymbol("Exp2",14, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 39: // Exp2 ::= _SYMB_32
{
se.chalmers.cs.gf.GFC.Absyn.Exp RESULT =null;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.EData();
CUP$parser$result = parser.getSymbolFactory().newSymbol("Exp2",14, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 38: // Exp2 ::= Atom
{
se.chalmers.cs.gf.GFC.Absyn.Exp RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.Atom p_1 = (se.chalmers.cs.gf.GFC.Absyn.Atom)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.EAtom(p_1);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Exp2",14, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 37: // Exp ::= Exp1
{
se.chalmers.cs.gf.GFC.Absyn.Exp RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.Exp p_1 = (se.chalmers.cs.gf.GFC.Absyn.Exp)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = p_1;
CUP$parser$result = parser.getSymbolFactory().newSymbol("Exp",13, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 36: // Exp ::= _SYMB_2 ListEquation _SYMB_3
{
se.chalmers.cs.gf.GFC.Absyn.Exp RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.ListEquation p_2 = (se.chalmers.cs.gf.GFC.Absyn.ListEquation)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.EEq(p_2);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Exp",13, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 35: // Exp ::= _SYMB_9 _IDENT_ _SYMB_5 Exp
{
se.chalmers.cs.gf.GFC.Absyn.Exp RESULT =null;
String p_2 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
se.chalmers.cs.gf.GFC.Absyn.Exp p_4 = (se.chalmers.cs.gf.GFC.Absyn.Exp)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.EAbs(p_2,p_4);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Exp",13, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 34: // Exp ::= _SYMB_11 _IDENT_ _SYMB_4 Exp _SYMB_12 _SYMB_5 Exp
{
se.chalmers.cs.gf.GFC.Absyn.Exp RESULT =null;
String p_2 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-5)).value;
se.chalmers.cs.gf.GFC.Absyn.Exp p_4 = (se.chalmers.cs.gf.GFC.Absyn.Exp)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value;
se.chalmers.cs.gf.GFC.Absyn.Exp p_7 = (se.chalmers.cs.gf.GFC.Absyn.Exp)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.EProd(p_2,p_4,p_7);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Exp",13, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 33: // Exp1 ::= Exp2
{
se.chalmers.cs.gf.GFC.Absyn.Exp RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.Exp p_1 = (se.chalmers.cs.gf.GFC.Absyn.Exp)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = p_1;
CUP$parser$result = parser.getSymbolFactory().newSymbol("Exp1",12, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 32: // Exp1 ::= Exp1 Exp2
{
se.chalmers.cs.gf.GFC.Absyn.Exp RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.Exp p_1 = (se.chalmers.cs.gf.GFC.Absyn.Exp)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
se.chalmers.cs.gf.GFC.Absyn.Exp p_2 = (se.chalmers.cs.gf.GFC.Absyn.Exp)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.EApp(p_1,p_2);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Exp1",12, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 31: // CIdent ::= _IDENT_ _SYMB_10 _IDENT_
{
se.chalmers.cs.gf.GFC.Absyn.CIdent RESULT =null;
String p_1 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
String p_3 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.CIQ(p_1,p_3);
CUP$parser$result = parser.getSymbolFactory().newSymbol("CIdent",11, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 30: // Status ::=
{
se.chalmers.cs.gf.GFC.Absyn.Status RESULT =null;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.NonCan();
CUP$parser$result = parser.getSymbolFactory().newSymbol("Status",10, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 29: // Status ::= _SYMB_32
{
se.chalmers.cs.gf.GFC.Absyn.Status RESULT =null;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.Canon();
CUP$parser$result = parser.getSymbolFactory().newSymbol("Status",10, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 28: // ParDef ::= _IDENT_ ListCType
{
se.chalmers.cs.gf.GFC.Absyn.ParDef RESULT =null;
String p_1 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
se.chalmers.cs.gf.GFC.Absyn.ListCType p_2 = (se.chalmers.cs.gf.GFC.Absyn.ListCType)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.ParD(p_1,p_2);
CUP$parser$result = parser.getSymbolFactory().newSymbol("ParDef",9, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 27: // Def ::= _IDENT_ Status _SYMB_36 _IDENT_
{
se.chalmers.cs.gf.GFC.Absyn.Def RESULT =null;
String p_1 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value;
se.chalmers.cs.gf.GFC.Absyn.Status p_2 = (se.chalmers.cs.gf.GFC.Absyn.Status)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
String p_4 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.AnyDInd(p_1,p_2,p_4);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Def",8, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 26: // Def ::= _SYMB_37 _IDENT_ _SYMB_4 CIdent _SYMB_1 _SYMB_9 ListArgVar _SYMB_5 Term _SYMB_0 Term
{
se.chalmers.cs.gf.GFC.Absyn.Def RESULT =null;
String p_2 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-9)).value;
se.chalmers.cs.gf.GFC.Absyn.CIdent p_4 = (se.chalmers.cs.gf.GFC.Absyn.CIdent)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-7)).value;
se.chalmers.cs.gf.GFC.Absyn.ListArgVar p_7 = (se.chalmers.cs.gf.GFC.Absyn.ListArgVar)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-4)).value;
se.chalmers.cs.gf.GFC.Absyn.Term p_9 = (se.chalmers.cs.gf.GFC.Absyn.Term)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
se.chalmers.cs.gf.GFC.Absyn.Term p_11 = (se.chalmers.cs.gf.GFC.Absyn.Term)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.CncDFun(p_2,p_4,p_7,p_9,p_11);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Def",8, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 25: // Def ::= _SYMB_38 _IDENT_ _SYMB_1 CType _SYMB_1 Term _SYMB_0 Term
{
se.chalmers.cs.gf.GFC.Absyn.Def RESULT =null;
String p_2 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-6)).value;
se.chalmers.cs.gf.GFC.Absyn.CType p_4 = (se.chalmers.cs.gf.GFC.Absyn.CType)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-4)).value;
se.chalmers.cs.gf.GFC.Absyn.Term p_6 = (se.chalmers.cs.gf.GFC.Absyn.Term)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
se.chalmers.cs.gf.GFC.Absyn.Term p_8 = (se.chalmers.cs.gf.GFC.Absyn.Term)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.CncDCat(p_2,p_4,p_6,p_8);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Def",8, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 24: // Def ::= _SYMB_41 _IDENT_ _SYMB_4 CType _SYMB_1 Term
{
se.chalmers.cs.gf.GFC.Absyn.Def RESULT =null;
String p_2 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-4)).value;
se.chalmers.cs.gf.GFC.Absyn.CType p_4 = (se.chalmers.cs.gf.GFC.Absyn.CType)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
se.chalmers.cs.gf.GFC.Absyn.Term p_6 = (se.chalmers.cs.gf.GFC.Absyn.Term)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.ResDOper(p_2,p_4,p_6);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Def",8, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 23: // Def ::= _SYMB_42 _IDENT_ _SYMB_1 ListParDef
{
se.chalmers.cs.gf.GFC.Absyn.Def RESULT =null;
String p_2 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
se.chalmers.cs.gf.GFC.Absyn.ListParDef p_4 = (se.chalmers.cs.gf.GFC.Absyn.ListParDef)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.ResDPar(p_2,p_4);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Def",8, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 22: // Def ::= _SYMB_46 _IDENT_ _SYMB_1 Exp
{
se.chalmers.cs.gf.GFC.Absyn.Def RESULT =null;
String p_2 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
se.chalmers.cs.gf.GFC.Absyn.Exp p_4 = (se.chalmers.cs.gf.GFC.Absyn.Exp)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.AbsDTrans(p_2,p_4);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Def",8, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 21: // Def ::= _SYMB_34 _IDENT_ _SYMB_4 Exp _SYMB_1 Exp
{
se.chalmers.cs.gf.GFC.Absyn.Def RESULT =null;
String p_2 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-4)).value;
se.chalmers.cs.gf.GFC.Absyn.Exp p_4 = (se.chalmers.cs.gf.GFC.Absyn.Exp)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
se.chalmers.cs.gf.GFC.Absyn.Exp p_6 = (se.chalmers.cs.gf.GFC.Absyn.Exp)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.AbsDFun(p_2,p_4,p_6);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Def",8, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 20: // Def ::= _SYMB_30 _IDENT_ _SYMB_7 ListDecl _SYMB_8 _SYMB_1 ListCIdent
{
se.chalmers.cs.gf.GFC.Absyn.Def RESULT =null;
String p_2 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-5)).value;
se.chalmers.cs.gf.GFC.Absyn.ListDecl p_4 = (se.chalmers.cs.gf.GFC.Absyn.ListDecl)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value;
se.chalmers.cs.gf.GFC.Absyn.ListCIdent p_7 = (se.chalmers.cs.gf.GFC.Absyn.ListCIdent)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.AbsDCat(p_2,p_4,p_7);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Def",8, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 19: // Flag ::= _SYMB_33 _IDENT_ _SYMB_1 _IDENT_
{
se.chalmers.cs.gf.GFC.Absyn.Flag RESULT =null;
String p_2 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
String p_4 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.Flg(p_2,p_4);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Flag",7, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 18: // Open ::=
{
se.chalmers.cs.gf.GFC.Absyn.Open RESULT =null;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.NoOpens();
CUP$parser$result = parser.getSymbolFactory().newSymbol("Open",6, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 17: // Open ::= _SYMB_40 ListIdent _SYMB_36
{
se.chalmers.cs.gf.GFC.Absyn.Open RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.ListIdent p_2 = (se.chalmers.cs.gf.GFC.Absyn.ListIdent)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.Opens(p_2);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Open",6, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 16: // Extend ::=
{
se.chalmers.cs.gf.GFC.Absyn.Extend RESULT =null;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.NoExt();
CUP$parser$result = parser.getSymbolFactory().newSymbol("Extend",5, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 15: // Extend ::= ListIdent _SYMB_6
{
se.chalmers.cs.gf.GFC.Absyn.Extend RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.ListIdent p_1 = (se.chalmers.cs.gf.GFC.Absyn.ListIdent)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.Ext(p_1);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Extend",5, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 14: // ListModule ::= ListModule Module
{
se.chalmers.cs.gf.GFC.Absyn.ListModule RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.ListModule p_1 = (se.chalmers.cs.gf.GFC.Absyn.ListModule)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
se.chalmers.cs.gf.GFC.Absyn.Module p_2 = (se.chalmers.cs.gf.GFC.Absyn.Module)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = p_1; p_1.addLast(p_2);
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListModule",4, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 13: // ListModule ::=
{
se.chalmers.cs.gf.GFC.Absyn.ListModule RESULT =null;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.ListModule();
CUP$parser$result = parser.getSymbolFactory().newSymbol("ListModule",4, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 12: // ModType ::= _SYMB_46 _IDENT_ _SYMB_4 _IDENT_ _SYMB_5 _IDENT_
{
se.chalmers.cs.gf.GFC.Absyn.ModType RESULT =null;
String p_2 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-4)).value;
String p_4 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
String p_6 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.MTTrans(p_2,p_4,p_6);
CUP$parser$result = parser.getSymbolFactory().newSymbol("ModType",3, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 11: // ModType ::= _SYMB_44 _IDENT_
{
se.chalmers.cs.gf.GFC.Absyn.ModType RESULT =null;
String p_2 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.MTRes(p_2);
CUP$parser$result = parser.getSymbolFactory().newSymbol("ModType",3, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 10: // ModType ::= _SYMB_31 _IDENT_ _SYMB_39 _IDENT_
{
se.chalmers.cs.gf.GFC.Absyn.ModType RESULT =null;
String p_2 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
String p_4 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.MTCnc(p_2,p_4);
CUP$parser$result = parser.getSymbolFactory().newSymbol("ModType",3, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 9: // ModType ::= _SYMB_29 _IDENT_
{
se.chalmers.cs.gf.GFC.Absyn.ModType RESULT =null;
String p_2 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.MTAbs(p_2);
CUP$parser$result = parser.getSymbolFactory().newSymbol("ModType",3, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 8: // Module ::= ModType _SYMB_1 Extend Open _SYMB_2 ListFlag ListDef _SYMB_3
{
se.chalmers.cs.gf.GFC.Absyn.Module RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.ModType p_1 = (se.chalmers.cs.gf.GFC.Absyn.ModType)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-7)).value;
se.chalmers.cs.gf.GFC.Absyn.Extend p_3 = (se.chalmers.cs.gf.GFC.Absyn.Extend)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-5)).value;
se.chalmers.cs.gf.GFC.Absyn.Open p_4 = (se.chalmers.cs.gf.GFC.Absyn.Open)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-4)).value;
se.chalmers.cs.gf.GFC.Absyn.ListFlag p_6 = (se.chalmers.cs.gf.GFC.Absyn.ListFlag)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
se.chalmers.cs.gf.GFC.Absyn.ListDef p_7 = (se.chalmers.cs.gf.GFC.Absyn.ListDef)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.Mod(p_1,p_3,p_4,p_6,p_7);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Module",2, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 7: // Line ::= _SYMB_3
{
se.chalmers.cs.gf.GFC.Absyn.Line RESULT =null;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.LEnd();
CUP$parser$result = parser.getSymbolFactory().newSymbol("Line",1, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 6: // Line ::= Def _SYMB_0
{
se.chalmers.cs.gf.GFC.Absyn.Line RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.Def p_1 = (se.chalmers.cs.gf.GFC.Absyn.Def)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.LDef(p_1);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Line",1, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 5: // Line ::= Flag _SYMB_0
{
se.chalmers.cs.gf.GFC.Absyn.Line RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.Flag p_1 = (se.chalmers.cs.gf.GFC.Absyn.Flag)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.LFlag(p_1);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Line",1, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 4: // Line ::= ModType _SYMB_1 Extend Open _SYMB_2
{
se.chalmers.cs.gf.GFC.Absyn.Line RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.ModType p_1 = (se.chalmers.cs.gf.GFC.Absyn.ModType)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-4)).value;
se.chalmers.cs.gf.GFC.Absyn.Extend p_3 = (se.chalmers.cs.gf.GFC.Absyn.Extend)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
se.chalmers.cs.gf.GFC.Absyn.Open p_4 = (se.chalmers.cs.gf.GFC.Absyn.Open)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.LHeader(p_1,p_3,p_4);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Line",1, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 3: // Line ::= _SYMB_35 ListIdent _SYMB_39 _IDENT_ _SYMB_0
{
se.chalmers.cs.gf.GFC.Absyn.Line RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.ListIdent p_2 = (se.chalmers.cs.gf.GFC.Absyn.ListIdent)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value;
String p_4 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.LMulti(p_2,p_4);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Line",1, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 2: // Canon ::= ListModule
{
se.chalmers.cs.gf.GFC.Absyn.Canon RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.ListModule p_1 = (se.chalmers.cs.gf.GFC.Absyn.ListModule)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.Gr(p_1);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Canon",0, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 1: // Canon ::= _SYMB_35 ListIdent _SYMB_39 _IDENT_ _SYMB_0 ListModule
{
se.chalmers.cs.gf.GFC.Absyn.Canon RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.ListIdent p_2 = (se.chalmers.cs.gf.GFC.Absyn.ListIdent)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-4)).value;
String p_4 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
se.chalmers.cs.gf.GFC.Absyn.ListModule p_6 = (se.chalmers.cs.gf.GFC.Absyn.ListModule)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = new se.chalmers.cs.gf.GFC.Absyn.MGr(p_2,p_4,p_6);
CUP$parser$result = parser.getSymbolFactory().newSymbol("Canon",0, RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 0: // $START ::= Canon EOF
{
Object RESULT =null;
se.chalmers.cs.gf.GFC.Absyn.Canon start_val = (se.chalmers.cs.gf.GFC.Absyn.Canon)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = start_val;
CUP$parser$result = parser.getSymbolFactory().newSymbol("$START",0, RESULT);
}
/* ACCEPT */
CUP$parser$parser.done_parsing();
return CUP$parser$result;
/* . . . . . .*/
default:
throw new Exception(
"Invalid action number found in internal parse table");
}
}
}