java_cup.parser Maven / Gradle / Ivy
//----------------------------------------------------
// The following code was generated by CUP v0.11c-SNAPSHOT 20160430
//----------------------------------------------------
package java_cup;
import java_cup.runtime.*;
import java.util.Hashtable;
import java.util.Stack;
import java_cup.runtime.ComplexSymbolFactory.Location;
import java_cup.runtime.XMLElement;
/** CUP v0.11c-SNAPSHOT 20160430 generated parser.
*/
@SuppressWarnings({"rawtypes"})
public class parser extends java_cup.runtime.lr_parser {
public final Class getSymbolContainer() {
return sym.class;
}
/** Default constructor. */
@Deprecated
public parser() {super();}
/** Constructor which sets the default scanner. */
@Deprecated
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\166\000\002\002\004\000\002\060\002\000\002\002" +
"\013\000\002\002\007\000\002\061\002\000\002\003\006" +
"\000\002\003\003\000\002\004\004\000\002\004\003\000" +
"\002\062\002\000\002\017\006\000\002\017\006\000\002" +
"\045\003\000\002\045\005\000\002\007\003\000\002\007" +
"\003\000\002\007\003\000\002\007\003\000\002\006\002" +
"\000\002\006\004\000\002\005\006\000\002\012\006\000" +
"\002\021\006\000\002\022\006\000\002\013\004\000\002" +
"\013\003\000\002\023\005\000\002\023\004\000\002\023" +
"\005\000\002\023\004\000\002\063\002\000\002\023\006" +
"\000\002\064\002\000\002\023\006\000\002\065\002\000" +
"\002\043\005\000\002\066\002\000\002\044\005\000\002" +
"\025\005\000\002\025\003\000\002\026\005\000\002\026" +
"\003\000\002\037\003\000\002\037\003\000\002\042\004" +
"\000\002\042\003\000\002\067\002\000\002\040\007\000" +
"\002\070\002\000\002\040\007\000\002\071\002\000\002" +
"\040\007\000\002\041\005\000\002\041\003\000\002\052" +
"\003\000\002\053\003\000\002\072\002\000\002\014\007" +
"\000\002\014\003\000\002\015\004\000\002\015\003\000" +
"\002\073\002\000\002\027\007\000\002\074\002\000\002" +
"\027\005\000\002\034\005\000\002\034\003\000\002\035" +
"\005\000\002\035\003\000\002\030\004\000\002\030\003" +
"\000\002\031\004\000\002\031\003\000\002\051\004\000" +
"\002\051\003\000\002\016\005\000\002\075\002\000\002" +
"\016\007\000\002\016\003\000\002\055\003\000\002\055" +
"\005\000\002\056\003\000\002\056\003\000\002\057\003" +
"\000\002\057\005\000\002\057\005\000\002\020\005\000" +
"\002\020\003\000\002\024\003\000\002\024\005\000\002" +
"\032\003\000\002\033\003\000\002\046\003\000\002\046" +
"\003\000\002\047\003\000\002\047\003\000\002\050\003" +
"\000\002\054\003\000\002\054\003\000\002\054\003\000" +
"\002\054\003\000\002\054\003\000\002\054\003\000\002" +
"\054\003\000\002\054\003\000\002\054\003\000\002\054" +
"\003\000\002\054\003\000\002\054\003\000\002\054\003" +
"\000\002\054\003\000\002\054\003\000\002\054\003\000" +
"\002\011\004\000\002\011\003\000\002\010\002\000\002" +
"\010\003\000\002\036\002" });
/** Access to production table. */
public short[][] production_table() {return _production_table;}
/** Parse-action table. */
protected static final short[][] _action_table =
unpackFromStrings(new String[] {
"\000\274\000\030\003\005\004\000\005\000\010\000\011" +
"\000\012\000\013\000\014\000\015\000\036\000\044\000" +
"\001\002\000\004\002\276\001\002\000\010\012\104\013" +
"\076\036\103\001\002\000\026\004\011\005\uff8c\010\uff8c" +
"\011\uff8c\012\uff8c\013\uff8c\014\uff8c\015\uff8c\036\uff8c\044" +
"\uff8c\001\002\000\024\005\uff8c\010\uff8c\011\uff8c\012\uff8c" +
"\013\uff8c\014\uff8c\015\uff8c\036\uff8c\044\uff8c\001\002\000" +
"\024\005\ufffb\010\ufffb\011\ufffb\012\ufffb\013\ufffb\014\ufffb" +
"\015\ufffb\036\ufffb\044\ufffb\001\002\000\042\003\030\007" +
"\015\010\031\011\026\012\023\013\016\014\012\015\033" +
"\016\017\017\032\027\014\030\024\031\022\032\013\036" +
"\025\045\020\001\002\000\030\003\uff99\020\uff99\021\uff99" +
"\023\uff99\026\uff99\033\uff99\034\uff99\037\uff99\040\uff99\045" +
"\uff99\046\uff99\001\002\000\030\003\uff92\020\uff92\021\uff92" +
"\023\uff92\026\uff92\033\uff92\034\uff92\037\uff92\040\uff92\045" +
"\uff92\046\uff92\001\002\000\030\003\uff95\020\uff95\021\uff95" +
"\023\uff95\026\uff95\033\uff95\034\uff95\037\uff95\040\uff95\045" +
"\uff95\046\uff95\001\002\000\030\003\uff9f\020\uff9f\021\uff9f" +
"\023\uff9f\026\uff9f\033\uff9f\034\uff9f\037\uff9f\040\uff9f\045" +
"\uff9f\046\uff9f\001\002\000\030\003\uff9b\020\uff9b\021\uff9b" +
"\023\uff9b\026\uff9b\033\uff9b\034\uff9b\037\uff9b\040\uff9b\045" +
"\uff9b\046\uff9b\001\002\000\030\003\uff97\020\uff97\021\uff97" +
"\023\uff97\026\uff97\033\uff97\034\uff97\037\uff97\040\uff97\045" +
"\uff97\046\uff97\001\002\000\030\003\uffa0\020\uffa0\021\uffa0" +
"\023\uffa0\026\uffa0\033\uffa0\034\uffa0\037\uffa0\040\uffa0\045" +
"\uffa0\046\uffa0\001\002\000\010\020\ufffd\023\036\040\uffb5" +
"\001\002\000\030\003\uff93\020\uff93\021\uff93\023\uff93\026" +
"\uff93\033\uff93\034\uff93\037\uff93\040\uff93\045\uff93\046\uff93" +
"\001\002\000\030\003\uff9c\020\uff9c\021\uff9c\023\uff9c\026" +
"\uff9c\033\uff9c\034\uff9c\037\uff9c\040\uff9c\045\uff9c\046\uff9c" +
"\001\002\000\030\003\uff94\020\uff94\021\uff94\023\uff94\026" +
"\uff94\033\uff94\034\uff94\037\uff94\040\uff94\045\uff94\046\uff94" +
"\001\002\000\030\003\uff9a\020\uff9a\021\uff9a\023\uff9a\026" +
"\uff9a\033\uff9a\034\uff9a\037\uff9a\040\uff9a\045\uff9a\046\uff9a" +
"\001\002\000\030\003\uff9d\020\uff9d\021\uff9d\023\uff9d\026" +
"\uff9d\033\uff9d\034\uff9d\037\uff9d\040\uff9d\045\uff9d\046\uff9d" +
"\001\002\000\020\020\uffb3\021\uffb3\023\uffb3\034\uffb3\037" +
"\uffb3\040\uffb3\045\uffb3\001\002\000\030\003\uff91\020\uff91" +
"\021\uff91\023\uff91\026\uff91\033\uff91\034\uff91\037\uff91\040" +
"\uff91\045\uff91\046\uff91\001\002\000\030\003\uff9e\020\uff9e" +
"\021\uff9e\023\uff9e\026\uff9e\033\uff9e\034\uff9e\037\uff9e\040" +
"\uff9e\045\uff9e\046\uff9e\001\002\000\030\003\uff96\020\uff96" +
"\021\uff96\023\uff96\026\uff96\033\uff96\034\uff96\037\uff96\040" +
"\uff96\045\uff96\046\uff96\001\002\000\030\003\uff98\020\uff98" +
"\021\uff98\023\uff98\026\uff98\033\uff98\034\uff98\037\uff98\040" +
"\uff98\045\uff98\046\uff98\001\002\000\004\020\060\001\002" +
"\000\004\040\040\001\002\000\042\003\030\007\015\010" +
"\031\011\026\012\023\013\016\014\012\015\033\016\017" +
"\017\032\027\014\030\024\031\022\032\013\036\025\045" +
"\020\001\002\000\020\020\uffb6\021\uffb6\023\uffb6\034\uffb6" +
"\037\uffb6\040\uffb6\045\uffb6\001\002\000\044\003\030\007" +
"\015\010\031\011\026\012\023\013\016\014\012\015\033" +
"\016\017\017\032\027\014\030\024\031\022\032\013\036" +
"\025\041\041\045\020\001\002\000\012\021\uffae\037\uffae" +
"\042\054\043\055\001\002\000\006\021\uffaf\037\uffaf\001" +
"\002\000\016\021\uffa9\023\036\034\uffa9\037\uffa9\040\uffb5" +
"\045\uffa9\001\002\000\006\021\051\037\052\001\002\000" +
"\010\021\uffb0\034\047\037\uffb0\001\002\000\006\021\uffb2" +
"\037\uffb2\001\002\000\004\035\050\001\002\000\012\021" +
"\uffa8\034\uffa8\037\uffa8\045\uffa8\001\002\000\044\003\030" +
"\007\015\010\031\011\026\012\023\013\016\014\012\015" +
"\033\016\017\017\032\027\014\030\024\031\022\032\013" +
"\036\025\041\041\045\020\001\002\000\020\020\uffb4\021" +
"\uffb4\023\uffb4\034\uffb4\037\uffb4\040\uffb4\045\uffb4\001\002" +
"\000\006\021\uffb1\037\uffb1\001\002\000\042\003\030\007" +
"\015\010\031\011\026\012\023\013\016\014\012\015\033" +
"\016\017\017\032\027\014\030\024\031\022\032\013\036" +
"\025\045\020\001\002\000\042\003\030\007\015\010\031" +
"\011\026\012\023\013\016\014\012\015\033\016\017\017" +
"\032\027\014\030\024\031\022\032\013\036\025\045\020" +
"\001\002\000\010\021\uffad\034\047\037\uffad\001\002\000" +
"\010\021\uffac\034\047\037\uffac\001\002\000\024\005\ufffc" +
"\010\ufffc\011\ufffc\012\ufffc\013\ufffc\014\ufffc\015\ufffc\036" +
"\ufffc\044\ufffc\001\002\000\024\005\064\010\uff8c\011\uff8c" +
"\012\uff8c\013\uff8c\014\uff8c\015\uff8c\036\uff8c\044\067\001" +
"\002\000\024\005\ufff9\010\ufff9\011\ufff9\012\ufff9\013\ufff9" +
"\014\ufff9\015\ufff9\036\ufff9\044\ufff9\001\002\000\024\005" +
"\ufffa\010\ufffa\011\ufffa\012\ufffa\013\ufffa\014\ufffa\015\ufffa" +
"\036\ufffa\044\ufffa\001\002\000\044\003\030\006\263\007" +
"\015\010\031\011\026\012\023\013\016\014\012\015\033" +
"\016\017\017\032\027\014\030\024\031\022\032\013\036" +
"\025\045\020\001\002\000\020\010\uffef\011\uffef\012\uffef" +
"\013\uffef\014\uffef\015\uffef\036\uffef\001\002\000\020\010" +
"\ufff5\011\ufff5\012\ufff5\013\ufff5\014\ufff5\015\ufff5\036\ufff5" +
"\001\002\000\004\045\070\001\002\000\004\020\071\001" +
"\002\000\020\010\ufff4\011\ufff4\012\ufff4\013\ufff4\014\ufff4" +
"\015\ufff4\036\ufff4\001\002\000\020\010\075\011\074\012" +
"\104\013\076\014\107\015\110\036\103\001\002\000\020" +
"\010\uffee\011\uffee\012\uffee\013\uffee\014\uffee\015\uffee\036" +
"\uffee\001\002\000\004\007\256\001\002\000\004\007\253" +
"\001\002\000\004\012\252\001\002\000\020\010\ufff2\011" +
"\ufff2\012\ufff2\013\ufff2\014\ufff2\015\ufff2\036\ufff2\001\002" +
"\000\042\003\240\007\015\010\031\011\026\012\023\013" +
"\016\014\012\015\033\016\017\017\032\027\014\030\024" +
"\031\022\032\013\036\025\045\234\001\002\000\020\010" +
"\ufff0\011\ufff0\012\ufff0\013\ufff0\014\ufff0\015\ufff0\036\ufff0" +
"\001\002\000\020\003\uffe8\012\uffe8\013\uffe8\017\uffe8\027" +
"\uffe8\036\uffe8\045\uffe8\001\002\000\042\003\uff8f\007\uff8f" +
"\010\uff8f\011\uff8f\012\uff8f\013\uff8f\014\uff8f\015\uff8f\016" +
"\uff8f\017\uff8f\027\uff8f\030\uff8f\031\uff8f\032\uff8f\036\uff8f" +
"\045\uff8f\001\002\000\042\003\223\007\015\010\031\011" +
"\026\012\023\013\016\014\012\015\033\016\017\017\032" +
"\027\014\030\024\031\022\032\013\036\025\045\220\001" +
"\002\000\020\010\ufff3\011\ufff3\012\ufff3\013\ufff3\014\ufff3" +
"\015\ufff3\036\ufff3\001\002\000\020\003\uff8c\012\104\013" +
"\076\017\uff8c\027\123\036\103\045\uff8c\001\002\000\004" +
"\016\116\001\002\000\004\016\112\001\002\000\020\010" +
"\ufff1\011\ufff1\012\ufff1\013\ufff1\014\ufff1\015\ufff1\036\ufff1" +
"\001\002\000\004\046\113\001\002\000\022\010\uff8e\011" +
"\uff8e\012\uff8e\013\uff8e\014\uff8e\015\uff8e\020\115\036\uff8e" +
"\001\002\000\020\010\uffea\011\uffea\012\uffea\013\uffea\014" +
"\uffea\015\uffea\036\uffea\001\002\000\020\010\uff8d\011\uff8d" +
"\012\uff8d\013\uff8d\014\uff8d\015\uff8d\036\uff8d\001\002\000" +
"\004\046\117\001\002\000\022\010\uff8e\011\uff8e\012\uff8e" +
"\013\uff8e\014\uff8e\015\uff8e\020\115\036\uff8e\001\002\000" +
"\020\010\uffeb\011\uffeb\012\uffeb\013\uffeb\014\uffeb\015\uffeb" +
"\036\uffeb\001\002\000\010\003\uff8c\017\155\045\uff8c\001" +
"\002\000\012\003\uffd4\017\uffd4\027\uffd4\045\uffd4\001\002" +
"\000\010\030\130\031\131\032\132\001\002\000\020\003" +
"\uffe9\012\uffe9\013\uffe9\017\uffe9\027\uffe9\036\uffe9\045\uffe9" +
"\001\002\000\010\003\uffd6\017\uffd6\045\uffd6\001\002\000" +
"\012\003\uffd7\017\uffd7\027\123\045\uffd7\001\002\000\012" +
"\003\uffd5\017\uffd5\027\uffd5\045\uffd5\001\002\000\006\003" +
"\uffd3\045\uffd3\001\002\000\006\003\uffd1\045\uffd1\001\002" +
"\000\006\003\uffcf\045\uffcf\001\002\000\006\003\135\045" +
"\134\001\002\000\022\003\uffa3\020\uffa3\021\uffa3\024\uffa3" +
"\026\uffa3\033\uffa3\045\uffa3\046\uffa3\001\002\000\022\003" +
"\uffa2\020\uffa2\021\uffa2\024\uffa2\026\uffa2\033\uffa2\045\uffa2" +
"\046\uffa2\001\002\000\010\020\uffca\021\uffca\026\uffca\001" +
"\002\000\006\020\uffcb\021\uffcb\001\002\000\006\020\uffcc" +
"\021\uffcc\001\002\000\006\020\143\021\142\001\002\000" +
"\006\003\135\045\134\001\002\000\012\003\uffce\017\uffce" +
"\027\uffce\045\uffce\001\002\000\006\020\uffcd\021\uffcd\001" +
"\002\000\006\003\135\045\134\001\002\000\006\020\147" +
"\021\142\001\002\000\012\003\uffd0\017\uffd0\027\uffd0\045" +
"\uffd0\001\002\000\006\003\135\045\134\001\002\000\006" +
"\020\152\021\142\001\002\000\012\003\uffd2\017\uffd2\027" +
"\uffd2\045\uffd2\001\002\000\006\003\164\045\157\001\002" +
"\000\006\003\uffc7\045\uffc7\001\002\000\004\016\156\001" +
"\002\000\006\003\160\045\157\001\002\000\006\020\uffa5" +
"\025\uffa5\001\002\000\004\020\uffa4\001\002\000\004\020" +
"\uffc9\001\002\000\004\020\163\001\002\000\006\003\uffc8" +
"\045\uffc8\001\002\000\006\020\uffc2\025\uffa4\001\002\000" +
"\004\025\uffc4\001\002\000\010\002\uffff\003\164\045\157" +
"\001\002\000\010\002\uffc5\003\uffc5\045\uffc5\001\002\000" +
"\010\002\uffc6\003\uffc6\045\uffc6\001\002\000\004\025\172" +
"\001\002\000\016\003\uff8c\020\uff8c\026\uff8c\033\uff8c\045" +
"\uff8c\046\uff8c\001\002\000\006\020\212\026\211\001\002" +
"\000\016\003\uffbb\020\uffbb\026\uffbb\033\uffbb\045\uffbb\046" +
"\uffbb\001\002\000\006\020\uffbf\026\uffbf\001\002\000\016" +
"\003\135\020\uffbd\026\uffbd\033\201\045\134\046\177\001" +
"\002\000\016\003\uffb9\020\uffb9\026\uffb9\033\uffb9\045\uffb9" +
"\046\uffb9\001\002\000\020\003\uff8c\020\uff8c\024\204\026" +
"\uff8c\033\uff8c\045\uff8c\046\uff8c\001\002\000\006\003\135" +
"\045\134\001\002\000\016\003\uffbc\020\uffbc\026\uffbc\033" +
"\uffbc\045\uffbc\046\uffbc\001\002\000\006\020\uffbe\026\uffbe" +
"\001\002\000\042\003\030\007\015\010\031\011\026\012" +
"\023\013\016\014\012\015\033\016\017\017\032\027\014" +
"\030\024\031\022\032\013\036\025\045\020\001\002\000" +
"\016\003\uffb7\020\uffb7\026\uffb7\033\uffb7\045\uffb7\046\uffb7" +
"\001\002\000\016\003\uffba\020\uffba\026\uffba\033\uffba\045" +
"\uffba\046\uffba\001\002\000\016\003\uffb8\020\uffb8\026\uffb8" +
"\033\uffb8\045\uffb8\046\uffb8\001\002\000\016\003\uffa1\020" +
"\uffa1\026\uffa1\033\uffa1\045\uffa1\046\uffa1\001\002\000\016" +
"\003\uff8c\020\uff8c\026\uff8c\033\uff8c\045\uff8c\046\uff8c\001" +
"\002\000\010\002\uffc3\003\uffc3\045\uffc3\001\002\000\006" +
"\020\uffc0\026\uffc0\001\002\000\004\020\215\001\002\000" +
"\010\002\uffc1\003\uffc1\045\uffc1\001\002\000\006\020\uffda" +
"\021\uffda\001\002\000\020\003\uffe6\012\uffe6\013\uffe6\017" +
"\uffe6\027\uffe6\036\uffe6\045\uffe6\001\002\000\016\020\uffa7" +
"\021\uffa7\023\uffa0\034\uffa0\040\uffa0\045\uffa0\001\002\000" +
"\006\020\uffdf\021\230\001\002\000\006\034\047\045\226" +
"\001\002\000\014\020\uffe3\023\uff91\034\uff91\040\uff91\045" +
"\uff91\001\002\000\004\020\225\001\002\000\020\003\uffe2" +
"\012\uffe2\013\uffe2\017\uffe2\027\uffe2\036\uffe2\045\uffe2\001" +
"\002\000\006\020\uffa7\021\uffa7\001\002\000\020\003\uffe7" +
"\012\uffe7\013\uffe7\017\uffe7\027\uffe7\036\uffe7\045\uffe7\001" +
"\002\000\004\045\226\001\002\000\004\020\232\001\002" +
"\000\020\003\uffde\012\uffde\013\uffde\017\uffde\027\uffde\036" +
"\uffde\045\uffde\001\002\000\006\020\uffdb\021\uffdb\001\002" +
"\000\016\020\uffa6\021\uffa6\023\uffa0\034\uffa0\040\uffa0\045" +
"\uffa0\001\002\000\006\020\uffd8\021\uffd8\001\002\000\006" +
"\020\uffdd\021\246\001\002\000\006\034\047\045\244\001" +
"\002\000\014\020\uffe1\023\uff91\034\uff91\040\uff91\045\uff91" +
"\001\002\000\020\003\uffe4\012\uffe4\013\uffe4\017\uffe4\027" +
"\uffe4\036\uffe4\045\uffe4\001\002\000\004\020\243\001\002" +
"\000\020\003\uffe0\012\uffe0\013\uffe0\017\uffe0\027\uffe0\036" +
"\uffe0\045\uffe0\001\002\000\006\020\uffa6\021\uffa6\001\002" +
"\000\020\003\uffe5\012\uffe5\013\uffe5\017\uffe5\027\uffe5\036" +
"\uffe5\045\uffe5\001\002\000\004\045\244\001\002\000\004" +
"\020\250\001\002\000\020\003\uffdc\012\uffdc\013\uffdc\017" +
"\uffdc\027\uffdc\036\uffdc\045\uffdc\001\002\000\006\020\uffd9" +
"\021\uffd9\001\002\000\042\003\uff90\007\uff90\010\uff90\011" +
"\uff90\012\uff90\013\uff90\014\uff90\015\uff90\016\uff90\017\uff90" +
"\027\uff90\030\uff90\031\uff90\032\uff90\036\uff90\045\uff90\001" +
"\002\000\004\046\254\001\002\000\022\010\uff8e\011\uff8e" +
"\012\uff8e\013\uff8e\014\uff8e\015\uff8e\020\115\036\uff8e\001" +
"\002\000\020\010\uffed\011\uffed\012\uffed\013\uffed\014\uffed" +
"\015\uffed\036\uffed\001\002\000\004\046\257\001\002\000" +
"\022\010\uff8e\011\uff8e\012\uff8e\013\uff8e\014\uff8e\015\uff8e" +
"\020\115\036\uff8e\001\002\000\020\010\uffec\011\uffec\012" +
"\uffec\013\uffec\014\uffec\015\uffec\036\uffec\001\002\000\004" +
"\020\ufff8\001\002\000\010\020\uffaa\023\266\040\uffb5\001" +
"\002\000\042\003\030\007\015\010\031\011\026\012\023" +
"\013\016\014\012\015\033\016\017\017\032\027\014\030" +
"\024\031\022\032\013\036\025\045\020\001\002\000\004" +
"\020\265\001\002\000\024\005\ufff6\010\ufff6\011\ufff6\012" +
"\ufff6\013\ufff6\014\ufff6\015\ufff6\036\ufff6\044\ufff6\001\002" +
"\000\044\003\030\007\015\010\031\011\026\012\023\013" +
"\016\014\012\015\033\016\017\017\032\022\267\027\014" +
"\030\024\031\022\032\013\036\025\045\020\001\002\000" +
"\004\020\uffab\001\002\000\004\020\271\001\002\000\024" +
"\005\ufff7\010\ufff7\011\ufff7\012\ufff7\013\ufff7\014\ufff7\015" +
"\ufff7\036\ufff7\044\ufff7\001\002\000\020\003\uff8c\012\104" +
"\013\076\017\uff8c\027\123\036\103\045\uff8c\001\002\000" +
"\010\003\uff8c\017\155\045\uff8c\001\002\000\006\003\164" +
"\045\157\001\002\000\010\002\ufffe\003\164\045\157\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\274\000\006\002\003\060\005\001\001\000\002\001" +
"\001\000\010\011\077\013\271\023\101\001\001\000\006" +
"\003\006\036\007\001\001\000\006\004\060\036\061\001" +
"\001\000\002\001\001\000\006\016\020\054\026\001\001" +
"\000\002\001\001\000\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\061\033\075\034\001\001\000\002\001" +
"\001\000\002\001\001\000\002\001\001\000\002\001\001" +
"\000\002\001\001\000\002\001\001\000\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\054\036\001\001\000" +
"\002\001\001\000\016\016\042\024\044\054\026\055\043" +
"\056\045\057\041\001\001\000\002\001\001\000\002\001" +
"\001\000\004\075\034\001\001\000\002\001\001\000\002" +
"\001\001\000\002\001\001\000\002\001\001\000\002\001" +
"\001\000\014\016\042\024\044\054\026\056\052\057\041" +
"\001\001\000\002\001\001\000\002\001\001\000\010\016" +
"\042\024\056\054\026\001\001\000\010\016\042\024\055" +
"\054\026\001\001\000\002\001\001\000\002\001\001\000" +
"\002\001\001\000\010\017\062\036\065\045\064\001\001" +
"\000\002\001\001\000\002\001\001\000\010\016\261\020" +
"\260\054\026\001\001\000\004\006\071\001\001\000\002" +
"\001\001\000\002\001\001\000\002\001\001\000\002\001" +
"\001\000\022\005\104\007\072\011\077\012\076\013\105" +
"\021\110\022\100\023\101\001\001\000\002\001\001\000" +
"\002\001\001\000\002\001\001\000\002\001\001\000\002" +
"\001\001\000\016\016\042\024\236\026\235\033\234\044" +
"\240\054\026\001\001\000\002\001\001\000\002\001\001" +
"\000\002\001\001\000\016\016\042\024\221\025\220\032" +
"\215\043\216\054\026\001\001\000\002\001\001\000\016" +
"\011\077\023\123\036\124\037\120\040\121\042\125\001" +
"\001\000\002\001\001\000\002\001\001\000\002\001\001" +
"\000\002\001\001\000\004\010\113\001\001\000\002\001" +
"\001\000\002\001\001\000\002\001\001\000\004\010\117" +
"\001\001\000\002\001\001\000\006\014\152\036\153\001" +
"\001\000\002\001\001\000\002\001\001\000\002\001\001" +
"\000\002\001\001\000\004\040\126\001\001\000\002\001" +
"\001\000\004\067\147\001\001\000\004\070\144\001\001" +
"\000\004\071\132\001\001\000\012\041\140\047\135\052" +
"\137\053\136\001\001\000\002\001\001\000\002\001\001" +
"\000\002\001\001\000\002\001\001\000\002\001\001\000" +
"\002\001\001\000\010\047\135\052\143\053\136\001\001" +
"\000\002\001\001\000\002\001\001\000\012\041\145\047" +
"\135\052\137\053\136\001\001\000\002\001\001\000\002" +
"\001\001\000\012\041\150\047\135\052\137\053\136\001" +
"\001\000\002\001\001\000\002\001\001\000\010\015\165" +
"\027\166\046\164\001\001\000\002\001\001\000\002\001" +
"\001\000\004\046\160\001\001\000\002\001\001\000\002" +
"\001\001\000\004\072\161\001\001\000\002\001\001\000" +
"\002\001\001\000\004\074\213\001\001\000\004\073\170" +
"\001\001\000\006\027\167\046\164\001\001\000\002\001" +
"\001\000\002\001\001\000\002\001\001\000\012\030\175" +
"\034\172\035\174\036\173\001\001\000\002\001\001\000" +
"\002\001\001\000\002\001\001\000\006\031\201\047\177" +
"\001\001\000\002\001\001\000\006\036\204\051\205\001" +
"\001\000\006\047\135\053\202\001\001\000\002\001\001" +
"\000\002\001\001\000\006\050\206\054\207\001\001\000" +
"\002\001\001\000\002\001\001\000\002\001\001\000\002" +
"\001\001\000\010\030\175\035\212\036\173\001\001\000" +
"\002\001\001\000\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\065\230\001\001\000\010\025\220\032\215" +
"\043\226\001\001\000\004\063\223\001\001\000\002\001" +
"\001\000\002\001\001\000\002\001\001\000\002\001\001" +
"\000\004\032\232\001\001\000\002\001\001\000\002\001" +
"\001\000\002\001\001\000\002\001\001\000\002\001\001" +
"\000\004\066\246\001\001\000\010\026\235\033\234\044" +
"\244\001\001\000\004\064\241\001\001\000\002\001\001" +
"\000\002\001\001\000\002\001\001\000\002\001\001\000" +
"\002\001\001\000\004\033\250\001\001\000\002\001\001" +
"\000\002\001\001\000\002\001\001\000\002\001\001\000" +
"\002\001\001\000\004\010\254\001\001\000\002\001\001" +
"\000\002\001\001\000\004\010\257\001\001\000\002\001" +
"\001\000\004\062\267\001\001\000\004\075\034\001\001" +
"\000\010\016\261\020\263\054\026\001\001\000\002\001" +
"\001\000\002\001\001\000\004\054\036\001\001\000\002" +
"\001\001\000\002\001\001\000\002\001\001\000\016\011" +
"\077\023\123\036\124\037\272\040\121\042\125\001\001" +
"\000\006\014\273\036\153\001\001\000\010\015\274\027" +
"\166\046\164\001\001\000\006\027\167\046\164\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;}
/* override error routines */
protected Lexer lexer;
public boolean debugSymbols;
public void setDebugSymbols(boolean debugSymbols){
this.debugSymbols = debugSymbols;
}
public void report_fatal_error(
String message,
Object info)
{
done_parsing();
if (info instanceof Symbol) ErrorManager.getManager().emit_fatal(message+ "\nCan't recover from previous error(s), giving up.",(Symbol)info);
else ErrorManager.getManager().emit_fatal(message + "\nCan't recover from previous error(s), giving up.",cur_token);
System.exit(1);
}
public void report_error(String message, Object info)
{
if (info instanceof Symbol)
ErrorManager.getManager().emit_error(message,(Symbol)info);
else
ErrorManager.getManager().emit_error(message,cur_token);
}
/** Cup generated class to encapsulate user supplied action code.*/
@SuppressWarnings({"rawtypes", "unchecked", "unused"})
class CUP$parser$actions {
/** helper routine to clone a new production part adding a given label */
protected production_part add_lab(production_part part, String lab)
throws internal_error
{
/* if there is no label, or this is an action, just return the original */
if (lab == null || part.is_action()) return part;
/* otherwise build a new one with the given label attached */
return new symbol_part(((symbol_part)part).the_symbol(),lab);
}
/** max size of right hand side we will support */
protected final int MAX_RHS = 200;
/** array for accumulating right hand side parts */
protected production_part[] rhs_parts = new production_part[MAX_RHS];
/** where we are currently in building a right hand side */
protected int rhs_pos = 0;
/** start a new right hand side */
protected void new_rhs() {rhs_pos = 0; }
/** add a new right hand side part */
protected void add_rhs_part(production_part part) throws java.lang.Exception
{
if (rhs_pos >= MAX_RHS)
throw new Exception("Internal Error: Productions limited to " +
MAX_RHS + " symbols and actions");
rhs_parts[rhs_pos] = part;
rhs_pos++;
}
/** string to build up multiple part names */
protected String multipart_name = new String();
protected Stack multipart_names = new Stack();
/** append a new name segment to the accumulated multipart name */
// TUM CHANGES
// protected void append_multipart(String name)
// {
// String dot = "";
//
// /* if we aren't just starting out, put on a dot */
// if (multipart_name.length() != 0) dot = ".";
//
// multipart_name = multipart_name.concat(dot + name);
// }
// TUM CHANGES
/** table of declared symbols -- contains production parts indexed by name */
protected Hashtable symbols = new Hashtable();
/** table of just non terminals -- contains non_terminals indexed by name */
protected Hashtable non_terms = new Hashtable();
/** declared start non_terminal */
protected non_terminal start_nt = null;
/** left hand side non terminal of the current production */
protected non_terminal lhs_nt;
/** Current precedence number */
int _cur_prec = 0;
/** Current precedence side */
int _cur_side = assoc.no_prec;
/** update the precedences we are declaring */
protected void update_precedence(int p) {
_cur_side = p;
_cur_prec++;
}
/** add relevant data to terminals */
protected void add_precedence(String term) {
if (term == null) {
System.err.println("Unable to add precedence to nonexistent terminal");
} else {
symbol_part sp = (symbol_part)symbols.get(term);
if (sp == null) {
System.err.println("Could find terminal " + term + " while declaring precedence");
} else {
java_cup.symbol sym = sp.the_symbol();
if (sym instanceof terminal)
((terminal)sym).set_precedence(_cur_side, _cur_prec);
else System.err.println("Precedence declaration: Can't find terminal " + term);
}
}
}
private int cur_debug_id = 0;
public int get_new_debug_id() {
return cur_debug_id++;
}
public String attach_debug_symbol(int id, String code) {
if (!parser.debugSymbols)
return code;
return "//@@CUPDBG" + id + "\n" + code;
}
private final parser parser;
/** Constructor */
CUP$parser$actions(parser parser) {
this.parser = parser;
}
/** Method 0 with the actual generated action code for actions 0 to 300. */
public final java_cup.runtime.Symbol CUP$parser$do_action_part00000000(
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 0: // $START ::= spec EOF
{
Object RESULT =null;
Location start_valxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).xleft;
Location start_valxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).xright;
Object start_val = (Object)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
RESULT = start_val;
CUP$parser$result = parser.getSymbolFactory().newSymbol("$START",0, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
/* ACCEPT */
CUP$parser$parser.done_parsing();
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 1: // NT$0 ::=
{
Object RESULT =null;
/* declare "error" as a terminal */
symbols.put("error", new symbol_part(terminal.error));
/* declare start non terminal */
non_terms.put("$START", non_terminal.START_nt);
CUP$parser$result = parser.getSymbolFactory().newSymbol("NT$0",46, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 2: // spec ::= NT$0 package_spec import_list class_name code_parts symbol_list precedence_list start_spec production_list
{
Object RESULT =null;
// propagate RESULT from NT$0
RESULT = (Object) ((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-8)).value;
CUP$parser$result = parser.getSymbolFactory().newSymbol("spec",0, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-8)), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 3: // spec ::= error symbol_list precedence_list start_spec production_list
{
Object RESULT =null;
CUP$parser$result = parser.getSymbolFactory().newSymbol("spec",0, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 4: // NT$1 ::=
{
Object RESULT =null;
/* save the package name */
emit.package_name = multipart_name;
/* reset the accumulated multipart name */
multipart_name = new String();
CUP$parser$result = parser.getSymbolFactory().newSymbol("NT$1",47, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 5: // package_spec ::= PACKAGE multipart_id NT$1 SEMI
{
Object RESULT =null;
// propagate RESULT from NT$1
RESULT = (Object) ((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
CUP$parser$result = parser.getSymbolFactory().newSymbol("package_spec",1, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 6: // package_spec ::= empty
{
Object RESULT =null;
CUP$parser$result = parser.getSymbolFactory().newSymbol("package_spec",1, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 7: // import_list ::= import_list import_spec
{
Object RESULT =null;
CUP$parser$result = parser.getSymbolFactory().newSymbol("import_list",2, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 8: // import_list ::= empty
{
Object RESULT =null;
CUP$parser$result = parser.getSymbolFactory().newSymbol("import_list",2, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 9: // NT$2 ::=
{
Object RESULT =null;
/* save this import on the imports list */
emit.import_list.push(multipart_name);
/* reset the accumulated multipart name */
multipart_name = new String();
CUP$parser$result = parser.getSymbolFactory().newSymbol("NT$2",48, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 10: // import_spec ::= IMPORT import_id NT$2 SEMI
{
Object RESULT =null;
// propagate RESULT from NT$2
RESULT = (Object) ((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
CUP$parser$result = parser.getSymbolFactory().newSymbol("import_spec",13, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 11: // import_spec ::= IMPORT STATIC import_id SEMI
{
Object RESULT =null;
/* save this import on the imports list */
emit.static_import_list.push(multipart_name);
/* reset the accumulated multipart name */
multipart_name = new String();
CUP$parser$result = parser.getSymbolFactory().newSymbol("import_spec",13, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 12: // class_name ::= empty
{
Object RESULT =null;
CUP$parser$result = parser.getSymbolFactory().newSymbol("class_name",35, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 13: // class_name ::= CLASS ID SEMI
{
Object RESULT =null;
Location idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).xleft;
Location idxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).xright;
String id = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
emit.parser_class_name = id;
emit.symbol_const_class_name = id + "Sym";
CUP$parser$result = parser.getSymbolFactory().newSymbol("class_name",35, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 14: // code_part ::= action_code_part
{
Object RESULT =null;
CUP$parser$result = parser.getSymbolFactory().newSymbol("code_part",5, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 15: // code_part ::= parser_code_part
{
Object RESULT =null;
CUP$parser$result = parser.getSymbolFactory().newSymbol("code_part",5, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 16: // code_part ::= init_code
{
Object RESULT =null;
CUP$parser$result = parser.getSymbolFactory().newSymbol("code_part",5, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 17: // code_part ::= scan_code
{
Object RESULT =null;
CUP$parser$result = parser.getSymbolFactory().newSymbol("code_part",5, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 18: // code_parts ::=
{
Object RESULT =null;
CUP$parser$result = parser.getSymbolFactory().newSymbol("code_parts",4, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 19: // code_parts ::= code_parts code_part
{
Object RESULT =null;
CUP$parser$result = parser.getSymbolFactory().newSymbol("code_parts",4, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 20: // action_code_part ::= ACTION CODE CODE_STRING opt_semi
{
Object RESULT =null;
Location user_codexleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).xleft;
Location user_codexright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).xright;
String user_code = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
if (emit.action_code!=null)
ErrorManager.getManager().emit_warning("Redundant action code (skipping)");
else /* save the user included code string */
emit.action_code = attach_debug_symbol(get_new_debug_id(),user_code);
CUP$parser$result = parser.getSymbolFactory().newSymbol("action_code_part",3, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 21: // parser_code_part ::= PARSER CODE CODE_STRING opt_semi
{
Object RESULT =null;
Location user_codexleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).xleft;
Location user_codexright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).xright;
String user_code = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
if (emit.parser_code!=null)
ErrorManager.getManager().emit_warning("Redundant parser code (skipping)");
else /* save the user included code string */
emit.parser_code = attach_debug_symbol(get_new_debug_id(),user_code);
CUP$parser$result = parser.getSymbolFactory().newSymbol("parser_code_part",8, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 22: // init_code ::= INIT WITH CODE_STRING opt_semi
{
Object RESULT =null;
Location user_codexleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).xleft;
Location user_codexright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).xright;
String user_code = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
if (emit.init_code!=null)
ErrorManager.getManager().emit_warning("Redundant init code (skipping)");
else /* save the user code */
emit.init_code = attach_debug_symbol(get_new_debug_id(),user_code);
CUP$parser$result = parser.getSymbolFactory().newSymbol("init_code",15, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 23: // scan_code ::= SCAN WITH CODE_STRING opt_semi
{
Object RESULT =null;
Location user_codexleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).xleft;
Location user_codexright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).xright;
String user_code = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
if (emit.scan_code!=null)
ErrorManager.getManager().emit_warning("Redundant scan code (skipping)");
else /* save the user code */
emit.scan_code = attach_debug_symbol(get_new_debug_id(),user_code);
CUP$parser$result = parser.getSymbolFactory().newSymbol("scan_code",16, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 24: // symbol_list ::= symbol_list symbol
{
Object RESULT =null;
CUP$parser$result = parser.getSymbolFactory().newSymbol("symbol_list",9, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 25: // symbol_list ::= symbol
{
Object RESULT =null;
CUP$parser$result = parser.getSymbolFactory().newSymbol("symbol_list",9, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 26: // symbol ::= TERMINAL type_id declares_term
{
Object RESULT =null;
CUP$parser$result = parser.getSymbolFactory().newSymbol("symbol",17, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 27: // symbol ::= TERMINAL declares_term
{
Object RESULT =null;
CUP$parser$result = parser.getSymbolFactory().newSymbol("symbol",17, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 28: // symbol ::= non_terminal type_id declares_non_term
{
Object RESULT =null;
CUP$parser$result = parser.getSymbolFactory().newSymbol("symbol",17, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 29: // symbol ::= non_terminal declares_non_term
{
Object RESULT =null;
CUP$parser$result = parser.getSymbolFactory().newSymbol("symbol",17, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 30: // NT$3 ::=
{
Object RESULT =null;
/* reset the accumulated multipart name */
multipart_name = new String();
CUP$parser$result = parser.getSymbolFactory().newSymbol("NT$3",49, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 31: // symbol ::= TERMINAL error NT$3 SEMI
{
Object RESULT =null;
// propagate RESULT from NT$3
RESULT = (Object) ((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
CUP$parser$result = parser.getSymbolFactory().newSymbol("symbol",17, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 32: // NT$4 ::=
{
Object RESULT =null;
/* reset the accumulated multipart name */
multipart_name = new String();
CUP$parser$result = parser.getSymbolFactory().newSymbol("NT$4",50, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 33: // symbol ::= non_terminal error NT$4 SEMI
{
Object RESULT =null;
// propagate RESULT from NT$4
RESULT = (Object) ((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
CUP$parser$result = parser.getSymbolFactory().newSymbol("symbol",17, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 34: // NT$5 ::=
{
Object RESULT =null;
/* reset the accumulated multipart name */
multipart_name = new String();
CUP$parser$result = parser.getSymbolFactory().newSymbol("NT$5",51, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 35: // declares_term ::= term_name_list NT$5 SEMI
{
Object RESULT =null;
// propagate RESULT from NT$5
RESULT = (Object) ((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
CUP$parser$result = parser.getSymbolFactory().newSymbol("declares_term",33, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 36: // NT$6 ::=
{
Object RESULT =null;
/* reset the accumulated multipart name */
multipart_name = new String();
CUP$parser$result = parser.getSymbolFactory().newSymbol("NT$6",52, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 37: // declares_non_term ::= non_term_name_list NT$6 SEMI
{
Object RESULT =null;
// propagate RESULT from NT$6
RESULT = (Object) ((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
CUP$parser$result = parser.getSymbolFactory().newSymbol("declares_non_term",34, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 38: // term_name_list ::= term_name_list COMMA new_term_id
{
Object RESULT =null;
CUP$parser$result = parser.getSymbolFactory().newSymbol("term_name_list",19, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 39: // term_name_list ::= new_term_id
{
Object RESULT =null;
CUP$parser$result = parser.getSymbolFactory().newSymbol("term_name_list",19, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 40: // non_term_name_list ::= non_term_name_list COMMA new_non_term_id
{
Object RESULT =null;
CUP$parser$result = parser.getSymbolFactory().newSymbol("non_term_name_list",20, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 41: // non_term_name_list ::= new_non_term_id
{
Object RESULT =null;
CUP$parser$result = parser.getSymbolFactory().newSymbol("non_term_name_list",20, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 42: // precedence_list ::= precedence_l
{
Object RESULT =null;
CUP$parser$result = parser.getSymbolFactory().newSymbol("precedence_list",29, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 43: // precedence_list ::= empty
{
Object RESULT =null;
CUP$parser$result = parser.getSymbolFactory().newSymbol("precedence_list",29, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 44: // precedence_l ::= precedence_l preced
{
Object RESULT =null;
CUP$parser$result = parser.getSymbolFactory().newSymbol("precedence_l",32, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 45: // precedence_l ::= preced
{
Object RESULT =null;
CUP$parser$result = parser.getSymbolFactory().newSymbol("precedence_l",32, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 46: // NT$7 ::=
{
Object RESULT =null;
update_precedence(assoc.left);
CUP$parser$result = parser.getSymbolFactory().newSymbol("NT$7",53, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 47: // preced ::= PRECEDENCE LEFT NT$7 terminal_list SEMI
{
Object RESULT =null;
// propagate RESULT from NT$7
RESULT = (Object) ((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
CUP$parser$result = parser.getSymbolFactory().newSymbol("preced",30, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 48: // NT$8 ::=
{
Object RESULT =null;
update_precedence(assoc.right);
CUP$parser$result = parser.getSymbolFactory().newSymbol("NT$8",54, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 49: // preced ::= PRECEDENCE RIGHT NT$8 terminal_list SEMI
{
Object RESULT =null;
// propagate RESULT from NT$8
RESULT = (Object) ((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
CUP$parser$result = parser.getSymbolFactory().newSymbol("preced",30, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 50: // NT$9 ::=
{
Object RESULT =null;
update_precedence(assoc.nonassoc);
CUP$parser$result = parser.getSymbolFactory().newSymbol("NT$9",55, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 51: // preced ::= PRECEDENCE NONASSOC NT$9 terminal_list SEMI
{
Object RESULT =null;
// propagate RESULT from NT$9
RESULT = (Object) ((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
CUP$parser$result = parser.getSymbolFactory().newSymbol("preced",30, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 52: // terminal_list ::= terminal_list COMMA terminal_id
{
Object RESULT =null;
CUP$parser$result = parser.getSymbolFactory().newSymbol("terminal_list",31, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 53: // terminal_list ::= terminal_id
{
Object RESULT =null;
CUP$parser$result = parser.getSymbolFactory().newSymbol("terminal_list",31, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 54: // terminal_id ::= term_id
{
String RESULT =null;
Location symxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$parser$stack.peek()).xleft;
Location symxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$parser$stack.peek()).xright;
String sym = (String)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
add_precedence(sym);
RESULT = sym;
CUP$parser$result = parser.getSymbolFactory().newSymbol("terminal_id",40, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 55: // term_id ::= symbol_id
{
String RESULT =null;
Location symxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$parser$stack.peek()).xleft;
Location symxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$parser$stack.peek()).xright;
String sym = (String)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
/* check that the symbol_id is a terminal */
if (symbols.get(sym) == null)
{
/* issue a message */
ErrorManager.getManager().emit_error("Terminal \"" + sym +
"\" has not been declared");
}
RESULT = sym;
CUP$parser$result = parser.getSymbolFactory().newSymbol("term_id",41, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 56: // NT$10 ::=
{
Object RESULT =null;
Location start_namexleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$parser$stack.peek()).xleft;
Location start_namexright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$parser$stack.peek()).xright;
String start_name = (String)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
/* verify that the name has been declared as a non terminal */
non_terminal nt = (non_terminal)non_terms.get(start_name);
if (nt == null)
{
ErrorManager.getManager().emit_error( "Start non terminal \"" + start_name +
"\" has not been declared");
}
else
{
/* remember the non-terminal for later */
start_nt = nt;
/* build a special start production */
new_rhs();
add_rhs_part(add_lab(new symbol_part(start_nt), "start_val"));
add_rhs_part(new symbol_part(terminal.EOF));
if (!emit._xmlactions) add_rhs_part(new action_part("RESULT = start_val;"));
emit.start_production =
new production(non_terminal.START_nt, rhs_parts, rhs_pos);
new_rhs();
}
CUP$parser$result = parser.getSymbolFactory().newSymbol("NT$10",56, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 57: // start_spec ::= START WITH nt_id NT$10 SEMI
{
Object RESULT =null;
// propagate RESULT from NT$10
RESULT = (Object) ((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
Location start_namexleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).xleft;
Location start_namexright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).xright;
String start_name = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
CUP$parser$result = parser.getSymbolFactory().newSymbol("start_spec",10, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 58: // start_spec ::= empty
{
Object RESULT =null;
CUP$parser$result = parser.getSymbolFactory().newSymbol("start_spec",10, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 59: // production_list ::= production_list production
{
Object RESULT =null;
CUP$parser$result = parser.getSymbolFactory().newSymbol("production_list",11, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 60: // production_list ::= production
{
Object RESULT =null;
CUP$parser$result = parser.getSymbolFactory().newSymbol("production_list",11, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 61: // NT$11 ::=
{
Object RESULT =null;
Location lhs_idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$parser$stack.peek()).xleft;
Location lhs_idxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$parser$stack.peek()).xright;
String lhs_id = (String)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
/* lookup the lhs nt */
lhs_nt = (non_terminal)non_terms.get(lhs_id);
/* if it wasn't declared, emit a message */
if (lhs_nt == null)
{
if (ErrorManager.getManager().getErrorCount() == 0)
ErrorManager.getManager().emit_warning("LHS non terminal \"" + lhs_id +
"\" has not been declared");
}
/* reset the rhs accumulation */
new_rhs();
CUP$parser$result = parser.getSymbolFactory().newSymbol("NT$11",57, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 62: // production ::= nt_id NT$11 COLON_COLON_EQUALS rhs_list SEMI
{
Object RESULT =null;
// propagate RESULT from NT$11
RESULT = (Object) ((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value;
Location lhs_idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).xleft;
Location lhs_idxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).xright;
String lhs_id = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-4)).value;
CUP$parser$result = parser.getSymbolFactory().newSymbol("production",21, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 63: // NT$12 ::=
{
Object RESULT =null;
ErrorManager.getManager().emit_error("Syntax Error");
CUP$parser$result = parser.getSymbolFactory().newSymbol("NT$12",58, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 64: // production ::= error NT$12 SEMI
{
Object RESULT =null;
// propagate RESULT from NT$12
RESULT = (Object) ((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
CUP$parser$result = parser.getSymbolFactory().newSymbol("production",21, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 65: // rhs_list ::= rhs_list BAR rhs
{
Object RESULT =null;
CUP$parser$result = parser.getSymbolFactory().newSymbol("rhs_list",26, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 66: // rhs_list ::= rhs
{
Object RESULT =null;
CUP$parser$result = parser.getSymbolFactory().newSymbol("rhs_list",26, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 67: // rhs ::= prod_part_list PERCENT_PREC term_id
{
Object RESULT =null;
Location term_namexleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$parser$stack.peek()).xleft;
Location term_namexright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$parser$stack.peek()).xright;
String term_name = (String)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
java_cup.symbol sym = null;
if (lhs_nt != null)
{
/* Find the precedence symbol */
if (term_name == null) {
System.err.println("No terminal for contextual precedence");
sym = null;
} else {
sym = ((symbol_part)symbols.get(term_name)).the_symbol();
}
/* build the production */
production p;
if ((sym!=null) && (sym instanceof terminal)) {
p = new production(lhs_nt, rhs_parts, rhs_pos,
((terminal)sym).precedence_num(),
((terminal)sym).precedence_side());
((symbol_part)symbols.get(term_name)).the_symbol().note_use();
} else {
System.err.println("Invalid terminal " + term_name +
" for contextual precedence assignment");
p = new production(lhs_nt, rhs_parts, rhs_pos);
}
/* if we have no start non-terminal declared and this is
the first production, make its lhs nt the start_nt
and build a special start production for it. */
if (start_nt == null)
{
start_nt = lhs_nt;
/* build a special start production */
new_rhs();
add_rhs_part(add_lab(new symbol_part(start_nt),"start_val"));
add_rhs_part(new symbol_part(terminal.EOF));
if (!emit._xmlactions) add_rhs_part(new action_part("RESULT = start_val;"));
if ((sym!=null) && (sym instanceof terminal)) {
emit.start_production =
new production(non_terminal.START_nt, rhs_parts,
rhs_pos, ((terminal)sym).precedence_num(),
((terminal)sym).precedence_side());
} else {
emit.start_production =
new production(non_terminal.START_nt, rhs_parts, rhs_pos);
}
new_rhs();
}
}
/* reset the rhs accumulation in any case */
new_rhs();
CUP$parser$result = parser.getSymbolFactory().newSymbol("rhs",27, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 68: // rhs ::= prod_part_list
{
Object RESULT =null;
if (lhs_nt != null)
{
/* build the production */
production p = new production(lhs_nt, rhs_parts, rhs_pos);
/* if we have no start non-terminal declared and this is
the first production, make its lhs nt the start_nt
and build a special start production for it. */
if (start_nt == null)
{
start_nt = lhs_nt;
/* build a special start production */
new_rhs();
add_rhs_part(add_lab(new symbol_part(start_nt),"start_val"));
add_rhs_part(new symbol_part(terminal.EOF));
if (!emit._xmlactions) add_rhs_part(new action_part("RESULT = start_val;"));
emit.start_production =
new production(non_terminal.START_nt, rhs_parts, rhs_pos);
new_rhs();
}
}
/* reset the rhs accumulation in any case */
new_rhs();
CUP$parser$result = parser.getSymbolFactory().newSymbol("rhs",27, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 69: // prod_part_list ::= prod_part_list prod_part
{
Object RESULT =null;
CUP$parser$result = parser.getSymbolFactory().newSymbol("prod_part_list",22, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 70: // prod_part_list ::= empty
{
Object RESULT =null;
CUP$parser$result = parser.getSymbolFactory().newSymbol("prod_part_list",22, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 71: // prod_part ::= symbol_id opt_label
{
Object RESULT =null;
Location symidxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).xleft;
Location symidxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).xright;
String symid = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
Location labidxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$parser$stack.peek()).xleft;
Location labidxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$parser$stack.peek()).xright;
String labid = (String)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
/* try to look up the id */
production_part symb = (production_part)symbols.get(symid);
/* if that fails, symbol is undeclared */
if (symb == null)
{
if (ErrorManager.getManager().getErrorCount() == 0)
ErrorManager.getManager().emit_error("java_cup.runtime.Symbol \"" + symid +
"\" has not been declared");
}
else
{
/* add a labeled production part */
add_rhs_part(add_lab(symb, labid));
}
CUP$parser$result = parser.getSymbolFactory().newSymbol("prod_part",23, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 72: // prod_part ::= CODE_STRING
{
Object RESULT =null;
Location code_strxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$parser$stack.peek()).xleft;
Location code_strxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$parser$stack.peek()).xright;
String code_str = (String)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
/* add a new production part */
add_rhs_part(new action_part(attach_debug_symbol(get_new_debug_id(),code_str)));
CUP$parser$result = parser.getSymbolFactory().newSymbol("prod_part",23, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 73: // opt_label ::= COLON label_id
{
String RESULT =null;
Location labidxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$parser$stack.peek()).xleft;
Location labidxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$parser$stack.peek()).xright;
String labid = (String)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = labid;
CUP$parser$result = parser.getSymbolFactory().newSymbol("opt_label",39, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 74: // opt_label ::= empty
{
String RESULT =null;
RESULT = null;
CUP$parser$result = parser.getSymbolFactory().newSymbol("opt_label",39, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 75: // multipart_id ::= multipart_id DOT robust_id
{
Object RESULT =null;
Location another_idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$parser$stack.peek()).xleft;
Location another_idxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$parser$stack.peek()).xright;
String another_id = (String)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
multipart_name = multipart_name.concat("."+another_id);
CUP$parser$result = parser.getSymbolFactory().newSymbol("multipart_id",12, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 76: // NT$13 ::=
{
Object RESULT =null;
multipart_names.push(multipart_name); multipart_name="";
CUP$parser$result = parser.getSymbolFactory().newSymbol("NT$13",59, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 77: // multipart_id ::= multipart_id NT$13 LT typearglist GT
{
Object RESULT =null;
// propagate RESULT from NT$13
RESULT = (Object) ((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value;
Location typesxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).xleft;
Location typesxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).xright;
String types = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
multipart_name =
((String)multipart_names.pop()).concat("<"+types+">");
CUP$parser$result = parser.getSymbolFactory().newSymbol("multipart_id",12, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 78: // multipart_id ::= robust_id
{
Object RESULT =null;
Location an_idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$parser$stack.peek()).xleft;
Location an_idxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$parser$stack.peek()).xright;
String an_id = (String)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
multipart_name = multipart_name.concat(an_id);
CUP$parser$result = parser.getSymbolFactory().newSymbol("multipart_id",12, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 79: // typearglist ::= typearguement
{
String RESULT =null;
Location argxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$parser$stack.peek()).xleft;
Location argxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$parser$stack.peek()).xright;
String arg = (String)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = arg;
CUP$parser$result = parser.getSymbolFactory().newSymbol("typearglist",43, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 80: // typearglist ::= typearglist COMMA typearguement
{
String RESULT =null;
Location listxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).xleft;
Location listxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).xright;
String list = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
Location argxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$parser$stack.peek()).xleft;
Location argxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$parser$stack.peek()).xright;
String arg = (String)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = list + "," + arg;
CUP$parser$result = parser.getSymbolFactory().newSymbol("typearglist",43, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 81: // typearguement ::= type_id
{
String RESULT =null;
RESULT = multipart_name; multipart_name = new String();
CUP$parser$result = parser.getSymbolFactory().newSymbol("typearguement",44, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 82: // typearguement ::= wildcard
{
String RESULT =null;
Location wxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$parser$stack.peek()).xleft;
Location wxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$parser$stack.peek()).xright;
String w = (String)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = w;
CUP$parser$result = parser.getSymbolFactory().newSymbol("typearguement",44, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 83: // wildcard ::= QUESTION
{
String RESULT =null;
RESULT = " ? ";
CUP$parser$result = parser.getSymbolFactory().newSymbol("wildcard",45, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 84: // wildcard ::= QUESTION EXTENDS type_id
{
String RESULT =null;
RESULT = " ? extends "+multipart_name; multipart_name = new
String();
CUP$parser$result = parser.getSymbolFactory().newSymbol("wildcard",45, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 85: // wildcard ::= QUESTION SUPER type_id
{
String RESULT =null;
RESULT = " ? super "+multipart_name; multipart_name = new
String();
CUP$parser$result = parser.getSymbolFactory().newSymbol("wildcard",45, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 86: // import_id ::= multipart_id DOT STAR
{
Object RESULT =null;
multipart_name = multipart_name.concat(".*");
CUP$parser$result = parser.getSymbolFactory().newSymbol("import_id",14, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 87: // import_id ::= multipart_id
{
Object RESULT =null;
CUP$parser$result = parser.getSymbolFactory().newSymbol("import_id",14, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 88: // type_id ::= multipart_id
{
Object RESULT =null;
CUP$parser$result = parser.getSymbolFactory().newSymbol("type_id",18, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 89: // type_id ::= type_id LBRACK RBRACK
{
Object RESULT =null;
multipart_name = multipart_name.concat("[]");
CUP$parser$result = parser.getSymbolFactory().newSymbol("type_id",18, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 90: // new_term_id ::= ID
{
Object RESULT =null;
Location term_idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$parser$stack.peek()).xleft;
Location term_idxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$parser$stack.peek()).xright;
String term_id = (String)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
/* see if this terminal has been declared before */
if (symbols.get(term_id) != null)
{
/* issue a message */
ErrorManager.getManager().emit_error("java_cup.runtime.Symbol \"" + term_id +
"\" has already been declared");
}
else
{
/* if no type declared, declare one */
if (multipart_name.equals("")) {
multipart_name = "Object";
}
/* build a production_part and put it in the table */
symbols.put(term_id,
new symbol_part(new terminal(term_id, multipart_name)));
}
CUP$parser$result = parser.getSymbolFactory().newSymbol("new_term_id",24, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 91: // new_non_term_id ::= ID
{
Object RESULT =null;
Location non_term_idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$parser$stack.peek()).xleft;
Location non_term_idxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$parser$stack.peek()).xright;
String non_term_id = (String)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
/* see if this non terminal has been declared before */
if (symbols.get(non_term_id) != null)
{
/* issue a message */
ErrorManager.getManager().emit_error( "java_cup.runtime.Symbol \"" + non_term_id +
"\" has already been declared");
}
else
{
if (multipart_name.equals("")) {
multipart_name ="Object";
}
/* build the non terminal object */
non_terminal this_nt =
new non_terminal(non_term_id, multipart_name);
/* put it in the non_terms table */
non_terms.put(non_term_id, this_nt);
/* build a production_part and put it in the symbols table */
symbols.put(non_term_id, new symbol_part(this_nt));
}
CUP$parser$result = parser.getSymbolFactory().newSymbol("new_non_term_id",25, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 92: // nt_id ::= ID
{
String RESULT =null;
Location the_idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$parser$stack.peek()).xleft;
Location the_idxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$parser$stack.peek()).xright;
String the_id = (String)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = the_id;
CUP$parser$result = parser.getSymbolFactory().newSymbol("nt_id",36, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 93: // nt_id ::= error
{
String RESULT =null;
ErrorManager.getManager().emit_error("Illegal use of reserved word");
RESULT="ILLEGAL";
CUP$parser$result = parser.getSymbolFactory().newSymbol("nt_id",36, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 94: // symbol_id ::= ID
{
String RESULT =null;
Location the_idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$parser$stack.peek()).xleft;
Location the_idxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$parser$stack.peek()).xright;
String the_id = (String)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = the_id;
CUP$parser$result = parser.getSymbolFactory().newSymbol("symbol_id",37, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 95: // symbol_id ::= error
{
String RESULT =null;
ErrorManager.getManager().emit_error("Illegal use of reserved word");
RESULT="ILLEGAL";
CUP$parser$result = parser.getSymbolFactory().newSymbol("symbol_id",37, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 96: // label_id ::= robust_id
{
String RESULT =null;
Location the_idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$parser$stack.peek()).xleft;
Location the_idxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$parser$stack.peek()).xright;
String the_id = (String)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = the_id;
CUP$parser$result = parser.getSymbolFactory().newSymbol("label_id",38, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 97: // robust_id ::= ID
{
String RESULT =null;
Location the_idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$parser$stack.peek()).xleft;
Location the_idxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$parser$stack.peek()).xright;
String the_id = (String)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
RESULT = the_id;
CUP$parser$result = parser.getSymbolFactory().newSymbol("robust_id",42, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 98: // robust_id ::= CODE
{
String RESULT =null;
RESULT = "code";
CUP$parser$result = parser.getSymbolFactory().newSymbol("robust_id",42, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 99: // robust_id ::= ACTION
{
String RESULT =null;
RESULT = "action";
CUP$parser$result = parser.getSymbolFactory().newSymbol("robust_id",42, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 100: // robust_id ::= PARSER
{
String RESULT =null;
RESULT = "parser";
CUP$parser$result = parser.getSymbolFactory().newSymbol("robust_id",42, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 101: // robust_id ::= TERMINAL
{
String RESULT =null;
RESULT = "terminal";
CUP$parser$result = parser.getSymbolFactory().newSymbol("robust_id",42, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 102: // robust_id ::= NON
{
String RESULT =null;
RESULT = "non";
CUP$parser$result = parser.getSymbolFactory().newSymbol("robust_id",42, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 103: // robust_id ::= NONTERMINAL
{
String RESULT =null;
RESULT = "nonterminal";
CUP$parser$result = parser.getSymbolFactory().newSymbol("robust_id",42, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 104: // robust_id ::= INIT
{
String RESULT =null;
RESULT = "init";
CUP$parser$result = parser.getSymbolFactory().newSymbol("robust_id",42, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 105: // robust_id ::= SCAN
{
String RESULT =null;
RESULT = "scan";
CUP$parser$result = parser.getSymbolFactory().newSymbol("robust_id",42, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 106: // robust_id ::= WITH
{
String RESULT =null;
RESULT = "with";
CUP$parser$result = parser.getSymbolFactory().newSymbol("robust_id",42, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 107: // robust_id ::= START
{
String RESULT =null;
RESULT = "start";
CUP$parser$result = parser.getSymbolFactory().newSymbol("robust_id",42, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 108: // robust_id ::= PRECEDENCE
{
String RESULT =null;
RESULT = "precedence";
CUP$parser$result = parser.getSymbolFactory().newSymbol("robust_id",42, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 109: // robust_id ::= LEFT
{
String RESULT =null;
RESULT = "left";
CUP$parser$result = parser.getSymbolFactory().newSymbol("robust_id",42, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 110: // robust_id ::= RIGHT
{
String RESULT =null;
RESULT = "right";
CUP$parser$result = parser.getSymbolFactory().newSymbol("robust_id",42, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 111: // robust_id ::= NONASSOC
{
String RESULT =null;
RESULT = "nonassoc";
CUP$parser$result = parser.getSymbolFactory().newSymbol("robust_id",42, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 112: // robust_id ::= error
{
String RESULT =null;
ErrorManager.getManager().emit_error("Illegal use of reserved word");
RESULT="ILLEGAL";
CUP$parser$result = parser.getSymbolFactory().newSymbol("robust_id",42, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 113: // non_terminal ::= NON TERMINAL
{
Object RESULT =null;
CUP$parser$result = parser.getSymbolFactory().newSymbol("non_terminal",7, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 114: // non_terminal ::= NONTERMINAL
{
Object RESULT =null;
CUP$parser$result = parser.getSymbolFactory().newSymbol("non_terminal",7, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 115: // opt_semi ::=
{
Object RESULT =null;
CUP$parser$result = parser.getSymbolFactory().newSymbol("opt_semi",6, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 116: // opt_semi ::= SEMI
{
Object RESULT =null;
CUP$parser$result = parser.getSymbolFactory().newSymbol("opt_semi",6, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 117: // empty ::=
{
Object RESULT =null;
CUP$parser$result = parser.getSymbolFactory().newSymbol("empty",28, ((java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT);
}
return CUP$parser$result;
/* . . . . . .*/
default:
throw new Exception(
"Invalid action number "+CUP$parser$act_num+"found in internal parse table");
}
} /* end of method */
/** Method splitting the generated action code into several parts. */
public final java_cup.runtime.Symbol CUP$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
{
return CUP$parser$do_action_part00000000(
CUP$parser$act_num,
CUP$parser$parser,
CUP$parser$stack,
CUP$parser$top);
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy