/* * STANDARD ML OF NEW JERSEY COPYRIGHT NOTICE, LICENSE AND DISCLAIMER. * * Copyright (c) 1989-1998 by Lucent Technologies * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, provided * that the above copyright notice appear in all copies and that both the * copyright notice and this permission notice and warranty disclaimer appear * in supporting documentation, and that the name of Lucent Technologies, Bell * Labs or any Lucent entity not be used in advertising or publicity pertaining * to distribution of the software without specific, written prior permission. * * Lucent disclaims all warranties with regard to this software, including all * implied warranties of merchantability and fitness. In no event shall Lucent * be liable for any special, indirect or consequential damages or any damages * whatsoever resulting from loss of use, data or profits, whether in an action * of contract, negligence or other tortious action, arising out of or in * connection with the use or performance of this software. * * Taken from this URL: * http://www.smlnj.org/license.html * * This license is compatible with the GNU GPL (see section "Standard ML of New * Jersey Copyright License"): * http://www.gnu.org/licenses/license-list.html#StandardMLofNJ */ /* * Copyright 1996-1999 by Scott Hudson, Frank Flannery, C. Scott Ananian */ //---------------------------------------------------- // The following code was generated by CUP v0.11a beta 20060608 // Wed May 07 11:31:09 NZST 2008 //---------------------------------------------------- package weka.core.parser.java_cup; import weka.core.parser.java_cup.runtime.*; import java.util.Hashtable; import java.util.Stack; /** CUP v0.11a beta 20060608 generated parser. * @version Wed May 07 11:31:09 NZST 2008 */ public class parser extends weka.core.parser.java_cup.runtime.lr_parser { /** Default constructor. */ public parser() {super();} /** Constructor which sets the default scanner. */ public parser(weka.core.parser.java_cup.runtime.Scanner s) {super(s);} /** Constructor which sets the default scanner. */ public parser(weka.core.parser.java_cup.runtime.Scanner s, weka.core.parser.java_cup.runtime.SymbolFactory sf) {super(s,sf);} /** Production table. */ protected static final short _production_table[][] = unpackFromStrings(new String[] { "\000\163\000\002\002\004\000\002\057\002\000\002\002" + "\012\000\002\002\007\000\002\060\002\000\002\003\006" + "\000\002\003\003\000\002\004\004\000\002\004\003\000" + "\002\061\002\000\002\017\006\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\062\002\000\002\023" + "\006\000\002\063\002\000\002\023\006\000\002\064\002" + "\000\002\043\005\000\002\065\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\066\002\000\002\040\007" + "\000\002\067\002\000\002\040\007\000\002\070\002\000" + "\002\040\007\000\002\041\005\000\002\041\003\000\002" + "\051\003\000\002\052\003\000\002\071\002\000\002\014" + "\007\000\002\014\003\000\002\015\004\000\002\015\003" + "\000\002\072\002\000\002\027\007\000\002\073\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\050\004" + "\000\002\050\003\000\002\016\005\000\002\074\002\000" + "\002\016\007\000\002\016\003\000\002\054\003\000\002" + "\054\005\000\002\055\003\000\002\055\003\000\002\056" + "\003\000\002\056\005\000\002\056\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\045\003\000\002" + "\045\003\000\002\046\003\000\002\046\003\000\002\047" + "\003\000\002\053\003\000\002\053\003\000\002\053\003" + "\000\002\053\003\000\002\053\003\000\002\053\003\000" + "\002\053\003\000\002\053\003\000\002\053\003\000\002" + "\053\003\000\002\053\003\000\002\053\003\000\002\053" + "\003\000\002\053\003\000\002\053\003\000\002\053\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\264\000\026\003\005\004\000\005\000\007\000\010" + "\000\011\000\012\000\013\000\014\000\035\000\001\002" + "\000\004\002\266\001\002\000\010\011\077\012\072\035" + "\076\001\002\000\024\004\011\005\uff8f\007\uff8f\010\uff8f" + "\011\uff8f\012\uff8f\013\uff8f\014\uff8f\035\uff8f\001\002\000" + "\022\005\uff8f\007\uff8f\010\uff8f\011\uff8f\012\uff8f\013\uff8f" + "\014\uff8f\035\uff8f\001\002\000\022\005\ufffb\007\ufffb\010" + "\ufffb\011\ufffb\012\ufffb\013\ufffb\014\ufffb\035\ufffb\001\002" + "\000\042\003\030\006\015\007\031\010\026\011\023\012" + "\016\013\012\014\033\015\020\016\032\026\014\027\024" + "\030\022\031\013\035\025\043\017\001\002\000\030\003" + "\uff9c\017\uff9c\020\uff9c\022\uff9c\025\uff9c\032\uff9c\033\uff9c" + "\036\uff9c\037\uff9c\043\uff9c\044\uff9c\001\002\000\030\003" + "\uff95\017\uff95\020\uff95\022\uff95\025\uff95\032\uff95\033\uff95" + "\036\uff95\037\uff95\043\uff95\044\uff95\001\002\000\030\003" + "\uff98\017\uff98\020\uff98\022\uff98\025\uff98\032\uff98\033\uff98" + "\036\uff98\037\uff98\043\uff98\044\uff98\001\002\000\030\003" + "\uffa2\017\uffa2\020\uffa2\022\uffa2\025\uffa2\032\uffa2\033\uffa2" + "\036\uffa2\037\uffa2\043\uffa2\044\uffa2\001\002\000\030\003" + "\uff9e\017\uff9e\020\uff9e\022\uff9e\025\uff9e\032\uff9e\033\uff9e" + "\036\uff9e\037\uff9e\043\uff9e\044\uff9e\001\002\000\030\003" + "\uffa3\017\uffa3\020\uffa3\022\uffa3\025\uffa3\032\uffa3\033\uffa3" + "\036\uffa3\037\uffa3\043\uffa3\044\uffa3\001\002\000\030\003" + "\uff9a\017\uff9a\020\uff9a\022\uff9a\025\uff9a\032\uff9a\033\uff9a" + "\036\uff9a\037\uff9a\043\uff9a\044\uff9a\001\002\000\010\017" + "\ufffd\022\036\037\uffb8\001\002\000\030\003\uff96\017\uff96" + "\020\uff96\022\uff96\025\uff96\032\uff96\033\uff96\036\uff96\037" + "\uff96\043\uff96\044\uff96\001\002\000\030\003\uff9f\017\uff9f" + "\020\uff9f\022\uff9f\025\uff9f\032\uff9f\033\uff9f\036\uff9f\037" + "\uff9f\043\uff9f\044\uff9f\001\002\000\030\003\uff97\017\uff97" + "\020\uff97\022\uff97\025\uff97\032\uff97\033\uff97\036\uff97\037" + "\uff97\043\uff97\044\uff97\001\002\000\030\003\uff9d\017\uff9d" + "\020\uff9d\022\uff9d\025\uff9d\032\uff9d\033\uff9d\036\uff9d\037" + "\uff9d\043\uff9d\044\uff9d\001\002\000\030\003\uffa0\017\uffa0" + "\020\uffa0\022\uffa0\025\uffa0\032\uffa0\033\uffa0\036\uffa0\037" + "\uffa0\043\uffa0\044\uffa0\001\002\000\020\017\uffb6\020\uffb6" + "\022\uffb6\033\uffb6\036\uffb6\037\uffb6\043\uffb6\001\002\000" + "\030\003\uff94\017\uff94\020\uff94\022\uff94\025\uff94\032\uff94" + "\033\uff94\036\uff94\037\uff94\043\uff94\044\uff94\001\002\000" + "\030\003\uffa1\017\uffa1\020\uffa1\022\uffa1\025\uffa1\032\uffa1" + "\033\uffa1\036\uffa1\037\uffa1\043\uffa1\044\uffa1\001\002\000" + "\030\003\uff99\017\uff99\020\uff99\022\uff99\025\uff99\032\uff99" + "\033\uff99\036\uff99\037\uff99\043\uff99\044\uff99\001\002\000" + "\030\003\uff9b\017\uff9b\020\uff9b\022\uff9b\025\uff9b\032\uff9b" + "\033\uff9b\036\uff9b\037\uff9b\043\uff9b\044\uff9b\001\002\000" + "\004\017\060\001\002\000\004\037\040\001\002\000\042" + "\003\030\006\015\007\031\010\026\011\023\012\016\013" + "\012\014\033\015\020\016\032\026\014\027\024\030\022" + "\031\013\035\025\043\017\001\002\000\020\017\uffb9\020" + "\uffb9\022\uffb9\033\uffb9\036\uffb9\037\uffb9\043\uffb9\001\002" + "\000\044\003\030\006\015\007\031\010\026\011\023\012" + "\016\013\012\014\033\015\020\016\032\026\014\027\024" + "\030\022\031\013\035\025\040\041\043\017\001\002\000" + "\012\020\uffb1\036\uffb1\041\054\042\055\001\002\000\006" + "\020\uffb2\036\uffb2\001\002\000\016\020\uffac\022\036\033" + "\uffac\036\uffac\037\uffb8\043\uffac\001\002\000\006\020\051" + "\036\052\001\002\000\010\020\uffb3\033\047\036\uffb3\001" + "\002\000\006\020\uffb5\036\uffb5\001\002\000\004\034\050" + "\001\002\000\012\020\uffab\033\uffab\036\uffab\043\uffab\001" + "\002\000\044\003\030\006\015\007\031\010\026\011\023" + "\012\016\013\012\014\033\015\020\016\032\026\014\027" + "\024\030\022\031\013\035\025\040\041\043\017\001\002" + "\000\020\017\uffb7\020\uffb7\022\uffb7\033\uffb7\036\uffb7\037" + "\uffb7\043\uffb7\001\002\000\006\020\uffb4\036\uffb4\001\002" + "\000\042\003\030\006\015\007\031\010\026\011\023\012" + "\016\013\012\014\033\015\020\016\032\026\014\027\024" + "\030\022\031\013\035\025\043\017\001\002\000\042\003" + "\030\006\015\007\031\010\026\011\023\012\016\013\012" + "\014\033\015\020\016\032\026\014\027\024\030\022\031" + "\013\035\025\043\017\001\002\000\010\020\uffb0\033\047" + "\036\uffb0\001\002\000\010\020\uffaf\033\047\036\uffaf\001" + "\002\000\022\005\ufffc\007\ufffc\010\ufffc\011\ufffc\012\ufffc" + "\013\ufffc\014\ufffc\035\ufffc\001\002\000\022\005\064\007" + "\ufff2\010\ufff2\011\ufff2\012\ufff2\013\ufff2\014\ufff2\035\ufff2" + "\001\002\000\022\005\ufff9\007\ufff9\010\ufff9\011\ufff9\012" + "\ufff9\013\ufff9\014\ufff9\035\ufff9\001\002\000\022\005\ufffa" + "\007\ufffa\010\ufffa\011\ufffa\012\ufffa\013\ufffa\014\ufffa\035" + "\ufffa\001\002\000\042\003\030\006\015\007\031\010\026" + "\011\023\012\016\013\012\014\033\015\020\016\032\026" + "\014\027\024\030\022\031\013\035\025\043\017\001\002" + "\000\020\007\066\010\067\011\077\012\072\013\102\014" + "\103\035\076\001\002\000\004\006\251\001\002\000\004" + "\006\246\001\002\000\020\007\ufff1\010\ufff1\011\ufff1\012" + "\ufff1\013\ufff1\014\ufff1\035\ufff1\001\002\000\020\007\ufff5" + "\010\ufff5\011\ufff5\012\ufff5\013\ufff5\014\ufff5\035\ufff5\001" + "\002\000\004\011\245\001\002\000\042\003\233\006\015" + "\007\031\010\026\011\023\012\016\013\012\014\033\015" + "\020\016\032\026\014\027\024\030\022\031\013\035\025" + "\043\227\001\002\000\020\003\uffeb\011\uffeb\012\uffeb\016" + "\uffeb\026\uffeb\035\uffeb\043\uffeb\001\002\000\020\007\ufff3" + "\010\ufff3\011\ufff3\012\ufff3\013\ufff3\014\ufff3\035\ufff3\001" + "\002\000\042\003\uff92\006\uff92\007\uff92\010\uff92\011\uff92" + "\012\uff92\013\uff92\014\uff92\015\uff92\016\uff92\026\uff92\027" + "\uff92\030\uff92\031\uff92\035\uff92\043\uff92\001\002\000\042" + "\003\216\006\015\007\031\010\026\011\023\012\016\013" + "\012\014\033\015\020\016\032\026\014\027\024\030\022" + "\031\013\035\025\043\213\001\002\000\020\007\ufff6\010" + "\ufff6\011\ufff6\012\ufff6\013\ufff6\014\ufff6\035\ufff6\001\002" + "\000\020\003\uff8f\011\077\012\072\016\uff8f\026\116\035" + "\076\043\uff8f\001\002\000\004\015\111\001\002\000\004" + "\015\105\001\002\000\020\007\ufff4\010\ufff4\011\ufff4\012" + "\ufff4\013\ufff4\014\ufff4\035\ufff4\001\002\000\004\044\106" + "\001\002\000\022\007\uff91\010\uff91\011\uff91\012\uff91\013" + "\uff91\014\uff91\017\110\035\uff91\001\002\000\020\007\uffed" + "\010\uffed\011\uffed\012\uffed\013\uffed\014\uffed\035\uffed\001" + "\002\000\020\007\uff90\010\uff90\011\uff90\012\uff90\013\uff90" + "\014\uff90\035\uff90\001\002\000\004\044\112\001\002\000" + "\022\007\uff91\010\uff91\011\uff91\012\uff91\013\uff91\014\uff91" + "\017\110\035\uff91\001\002\000\020\007\uffee\010\uffee\011" + "\uffee\012\uffee\013\uffee\014\uffee\035\uffee\001\002\000\010" + "\003\uff8f\016\150\043\uff8f\001\002\000\012\003\uffd7\016" + "\uffd7\026\uffd7\043\uffd7\001\002\000\010\027\123\030\124" + "\031\125\001\002\000\020\003\uffec\011\uffec\012\uffec\016" + "\uffec\026\uffec\035\uffec\043\uffec\001\002\000\010\003\uffd9" + "\016\uffd9\043\uffd9\001\002\000\012\003\uffda\016\uffda\026" + "\116\043\uffda\001\002\000\012\003\uffd8\016\uffd8\026\uffd8" + "\043\uffd8\001\002\000\006\003\uffd6\043\uffd6\001\002\000" + "\006\003\uffd4\043\uffd4\001\002\000\006\003\uffd2\043\uffd2" + "\001\002\000\006\003\130\043\127\001\002\000\022\003" + "\uffa6\017\uffa6\020\uffa6\023\uffa6\025\uffa6\032\uffa6\043\uffa6" + "\044\uffa6\001\002\000\022\003\uffa5\017\uffa5\020\uffa5\023" + "\uffa5\025\uffa5\032\uffa5\043\uffa5\044\uffa5\001\002\000\010" + "\017\uffcd\020\uffcd\025\uffcd\001\002\000\006\017\uffce\020" + "\uffce\001\002\000\006\017\uffcf\020\uffcf\001\002\000\006" + "\017\136\020\135\001\002\000\006\003\130\043\127\001" + "\002\000\012\003\uffd1\016\uffd1\026\uffd1\043\uffd1\001\002" + "\000\006\017\uffd0\020\uffd0\001\002\000\006\003\130\043" + "\127\001\002\000\006\017\142\020\135\001\002\000\012" + "\003\uffd3\016\uffd3\026\uffd3\043\uffd3\001\002\000\006\003" + "\130\043\127\001\002\000\006\017\145\020\135\001\002" + "\000\012\003\uffd5\016\uffd5\026\uffd5\043\uffd5\001\002\000" + "\006\003\157\043\152\001\002\000\006\003\uffca\043\uffca" + "\001\002\000\004\015\151\001\002\000\006\003\153\043" + "\152\001\002\000\006\017\uffa8\024\uffa8\001\002\000\004" + "\017\uffa7\001\002\000\004\017\uffcc\001\002\000\004\017" + "\156\001\002\000\006\003\uffcb\043\uffcb\001\002\000\006" + "\017\uffc5\024\uffa7\001\002\000\004\024\uffc7\001\002\000" + "\010\002\uffff\003\157\043\152\001\002\000\010\002\uffc8" + "\003\uffc8\043\uffc8\001\002\000\010\002\uffc9\003\uffc9\043" + "\uffc9\001\002\000\004\024\165\001\002\000\016\003\uff8f" + "\017\uff8f\025\uff8f\032\uff8f\043\uff8f\044\uff8f\001\002\000" + "\006\017\205\025\204\001\002\000\016\003\uffbe\017\uffbe" + "\025\uffbe\032\uffbe\043\uffbe\044\uffbe\001\002\000\016\003" + "\130\017\uffc0\025\uffc0\032\174\043\127\044\172\001\002" + "\000\006\017\uffc2\025\uffc2\001\002\000\016\003\uffbc\017" + "\uffbc\025\uffbc\032\uffbc\043\uffbc\044\uffbc\001\002\000\020" + "\003\uff8f\017\uff8f\023\177\025\uff8f\032\uff8f\043\uff8f\044" + "\uff8f\001\002\000\006\003\130\043\127\001\002\000\016" + "\003\uffbf\017\uffbf\025\uffbf\032\uffbf\043\uffbf\044\uffbf\001" + "\002\000\006\017\uffc1\025\uffc1\001\002\000\042\003\030" + "\006\015\007\031\010\026\011\023\012\016\013\012\014" + "\033\015\020\016\032\026\014\027\024\030\022\031\013" + "\035\025\043\017\001\002\000\016\003\uffba\017\uffba\025" + "\uffba\032\uffba\043\uffba\044\uffba\001\002\000\016\003\uffbd" + "\017\uffbd\025\uffbd\032\uffbd\043\uffbd\044\uffbd\001\002\000" + "\016\003\uffbb\017\uffbb\025\uffbb\032\uffbb\043\uffbb\044\uffbb" + "\001\002\000\016\003\uffa4\017\uffa4\025\uffa4\032\uffa4\043" + "\uffa4\044\uffa4\001\002\000\016\003\uff8f\017\uff8f\025\uff8f" + "\032\uff8f\043\uff8f\044\uff8f\001\002\000\010\002\uffc6\003" + "\uffc6\043\uffc6\001\002\000\006\017\uffc3\025\uffc3\001\002" + "\000\004\017\210\001\002\000\010\002\uffc4\003\uffc4\043" + "\uffc4\001\002\000\006\017\uffdd\020\uffdd\001\002\000\020" + "\003\uffe9\011\uffe9\012\uffe9\016\uffe9\026\uffe9\035\uffe9\043" + "\uffe9\001\002\000\016\017\uffaa\020\uffaa\022\uffa3\033\uffa3" + "\037\uffa3\043\uffa3\001\002\000\006\017\uffe2\020\223\001" + "\002\000\006\033\047\043\221\001\002\000\014\017\uffe6" + "\022\uff94\033\uff94\037\uff94\043\uff94\001\002\000\004\017" + "\220\001\002\000\020\003\uffe5\011\uffe5\012\uffe5\016\uffe5" + "\026\uffe5\035\uffe5\043\uffe5\001\002\000\006\017\uffaa\020" + "\uffaa\001\002\000\020\003\uffea\011\uffea\012\uffea\016\uffea" + "\026\uffea\035\uffea\043\uffea\001\002\000\004\043\221\001" + "\002\000\004\017\225\001\002\000\020\003\uffe1\011\uffe1" + "\012\uffe1\016\uffe1\026\uffe1\035\uffe1\043\uffe1\001\002\000" + "\006\017\uffde\020\uffde\001\002\000\016\017\uffa9\020\uffa9" + "\022\uffa3\033\uffa3\037\uffa3\043\uffa3\001\002\000\006\017" + "\uffdb\020\uffdb\001\002\000\006\017\uffe0\020\241\001\002" + "\000\006\033\047\043\237\001\002\000\014\017\uffe4\022" + "\uff94\033\uff94\037\uff94\043\uff94\001\002\000\020\003\uffe7" + "\011\uffe7\012\uffe7\016\uffe7\026\uffe7\035\uffe7\043\uffe7\001" + "\002\000\004\017\236\001\002\000\020\003\uffe3\011\uffe3" + "\012\uffe3\016\uffe3\026\uffe3\035\uffe3\043\uffe3\001\002\000" + "\006\017\uffa9\020\uffa9\001\002\000\020\003\uffe8\011\uffe8" + "\012\uffe8\016\uffe8\026\uffe8\035\uffe8\043\uffe8\001\002\000" + "\004\043\237\001\002\000\004\017\243\001\002\000\020" + "\003\uffdf\011\uffdf\012\uffdf\016\uffdf\026\uffdf\035\uffdf\043" + "\uffdf\001\002\000\006\017\uffdc\020\uffdc\001\002\000\042" + "\003\uff93\006\uff93\007\uff93\010\uff93\011\uff93\012\uff93\013" + "\uff93\014\uff93\015\uff93\016\uff93\026\uff93\027\uff93\030\uff93" + "\031\uff93\035\uff93\043\uff93\001\002\000\004\044\247\001" + "\002\000\022\007\uff91\010\uff91\011\uff91\012\uff91\013\uff91" + "\014\uff91\017\110\035\uff91\001\002\000\020\007\uffef\010" + "\uffef\011\uffef\012\uffef\013\uffef\014\uffef\035\uffef\001\002" + "\000\004\044\252\001\002\000\022\007\uff91\010\uff91\011" + "\uff91\012\uff91\013\uff91\014\uff91\017\110\035\uff91\001\002" + "\000\020\007\ufff0\010\ufff0\011\ufff0\012\ufff0\013\ufff0\014" + "\ufff0\035\ufff0\001\002\000\004\017\ufff8\001\002\000\010" + "\017\uffad\022\256\037\uffb8\001\002\000\044\003\030\006" + "\015\007\031\010\026\011\023\012\016\013\012\014\033" + "\015\020\016\032\021\257\026\014\027\024\030\022\031" + "\013\035\025\043\017\001\002\000\004\017\uffae\001\002" + "\000\004\017\261\001\002\000\022\005\ufff7\007\ufff7\010" + "\ufff7\011\ufff7\012\ufff7\013\ufff7\014\ufff7\035\ufff7\001\002" + "\000\020\003\uff8f\011\077\012\072\016\uff8f\026\116\035" + "\076\043\uff8f\001\002\000\010\003\uff8f\016\150\043\uff8f" + "\001\002\000\006\003\157\043\152\001\002\000\010\002" + "\ufffe\003\157\043\152\001\002\000\004\002\001\001\002" + "" }); /** Access to parse-action table. */ public short[][] action_table() {return _action_table;} /** <code>reduce_goto</code> table. */ protected static final short[][] _reduce_table = unpackFromStrings(new String[] { "\000\264\000\006\002\003\057\005\001\001\000\002\001" + "\001\000\010\011\072\013\261\023\073\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\053\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\060\033\074\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\053\036\001\001\000" + "\002\001\001\000\016\016\042\024\044\053\026\054\043" + "\055\045\056\041\001\001\000\002\001\001\000\002\001" + "\001\000\004\074\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\053\026\055\052\056\041" + "\001\001\000\002\001\001\000\002\001\001\000\010\016" + "\042\024\056\053\026\001\001\000\010\016\042\024\055" + "\053\026\001\001\000\002\001\001\000\002\001\001\000" + "\002\001\001\000\006\006\064\017\062\001\001\000\002" + "\001\001\000\002\001\001\000\010\016\254\020\253\053" + "\026\001\001\000\022\005\077\007\067\011\072\012\070" + "\013\100\021\103\022\074\023\073\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\231\026\230\033" + "\227\044\233\053\026\001\001\000\002\001\001\000\002" + "\001\001\000\002\001\001\000\016\016\042\024\214\025" + "\213\032\210\043\211\053\026\001\001\000\002\001\001" + "\000\016\011\072\023\116\036\117\037\113\040\114\042" + "\120\001\001\000\002\001\001\000\002\001\001\000\002" + "\001\001\000\002\001\001\000\004\010\106\001\001\000" + "\002\001\001\000\002\001\001\000\002\001\001\000\004" + "\010\112\001\001\000\002\001\001\000\006\014\145\036" + "\146\001\001\000\002\001\001\000\002\001\001\000\002" + "\001\001\000\002\001\001\000\004\040\121\001\001\000" + "\002\001\001\000\004\066\142\001\001\000\004\067\137" + "\001\001\000\004\070\125\001\001\000\012\041\133\046" + "\130\051\132\052\131\001\001\000\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\046\130\051\136\052\131" + "\001\001\000\002\001\001\000\002\001\001\000\012\041" + "\140\046\130\051\132\052\131\001\001\000\002\001\001" + "\000\002\001\001\000\012\041\143\046\130\051\132\052" + "\131\001\001\000\002\001\001\000\002\001\001\000\010" + "\015\160\027\161\045\157\001\001\000\002\001\001\000" + "\002\001\001\000\004\045\153\001\001\000\002\001\001" + "\000\002\001\001\000\004\071\154\001\001\000\002\001" + "\001\000\002\001\001\000\004\073\206\001\001\000\004" + "\072\163\001\001\000\006\027\162\045\157\001\001\000" + "\002\001\001\000\002\001\001\000\002\001\001\000\012" + "\030\167\034\165\035\170\036\166\001\001\000\002\001" + "\001\000\002\001\001\000\006\031\174\046\172\001\001" + "\000\002\001\001\000\002\001\001\000\006\036\177\050" + "\200\001\001\000\006\046\130\052\175\001\001\000\002" + "\001\001\000\002\001\001\000\006\047\201\053\202\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + "\000\002\001\001\000\010\030\167\035\205\036\166\001" + "\001\000\002\001\001\000\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\064\223\001\001\000\010\025\213" + "\032\210\043\221\001\001\000\004\062\216\001\001\000" + "\002\001\001\000\002\001\001\000\002\001\001\000\002" + "\001\001\000\004\032\225\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\241\001\001\000\010\026\230\033" + "\227\044\237\001\001\000\004\063\234\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\243\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\247\001\001\000\002" + "\001\001\000\002\001\001\000\004\010\252\001\001\000" + "\002\001\001\000\004\061\257\001\001\000\004\074\034" + "\001\001\000\004\053\036\001\001\000\002\001\001\000" + "\002\001\001\000\002\001\001\000\016\011\072\023\116" + "\036\117\037\262\040\114\042\120\001\001\000\006\014" + "\263\036\146\001\001\000\010\015\264\027\161\045\157" + "\001\001\000\006\027\162\045\157\001\001\000\002\001" + "\001" }); /** Access to <code>reduce_goto</code> table. */ public short[][] reduce_table() {return _reduce_table;} /** Instance of action encapsulation class. */ protected CUP$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 weka.core.parser.java_cup.runtime.Symbol do_action( int act_num, weka.core.parser.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;} /** <code>EOF</code> Symbol index. */ public int EOF_sym() {return 0;} /** <code>error</code> Symbol index. */ public int error_sym() {return 1;} /** User initialization code. */ public void user_init() throws java.lang.Exception { ComplexSymbolFactory f = new ComplexSymbolFactory(); symbolFactory = f; lexer = new Lexer(f); } /** Scan to get the next Symbol. */ public weka.core.parser.java_cup.runtime.Symbol scan() throws java.lang.Exception { return lexer.next_token(); } /* override error routines */ protected Lexer lexer; 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.*/ 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 { weka.core.parser.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 final parser parser; /** Constructor */ CUP$parser$actions(parser parser) { this.parser = parser; } /** Method with the actual generated action code. */ public final weka.core.parser.java_cup.runtime.Symbol CUP$parser$do_action( int CUP$parser$act_num, weka.core.parser.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 */ weka.core.parser.java_cup.runtime.Symbol CUP$parser$result; /* select the action based on the action number */ switch (CUP$parser$act_num) { /*. . . . . . . . . . . . . . . . . . . .*/ case 114: // empty ::= { Object RESULT =null; CUP$parser$result = parser.getSymbolFactory().newSymbol("empty",28, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 113: // opt_semi ::= SEMI { Object RESULT =null; CUP$parser$result = parser.getSymbolFactory().newSymbol("opt_semi",6, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 112: // opt_semi ::= { Object RESULT =null; CUP$parser$result = parser.getSymbolFactory().newSymbol("opt_semi",6, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 111: // non_terminal ::= NONTERMINAL { Object RESULT =null; CUP$parser$result = parser.getSymbolFactory().newSymbol("non_terminal",7, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 110: // non_terminal ::= NON TERMINAL { Object RESULT =null; CUP$parser$result = parser.getSymbolFactory().newSymbol("non_terminal",7, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 109: // 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",41, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 108: // robust_id ::= NONASSOC { String RESULT =null; RESULT = "nonassoc"; CUP$parser$result = parser.getSymbolFactory().newSymbol("robust_id",41, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 107: // robust_id ::= RIGHT { String RESULT =null; RESULT = "right"; CUP$parser$result = parser.getSymbolFactory().newSymbol("robust_id",41, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 106: // robust_id ::= LEFT { String RESULT =null; RESULT = "left"; CUP$parser$result = parser.getSymbolFactory().newSymbol("robust_id",41, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 105: // robust_id ::= PRECEDENCE { String RESULT =null; RESULT = "precedence"; CUP$parser$result = parser.getSymbolFactory().newSymbol("robust_id",41, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 104: // robust_id ::= START { String RESULT =null; RESULT = "start"; CUP$parser$result = parser.getSymbolFactory().newSymbol("robust_id",41, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 103: // robust_id ::= WITH { String RESULT =null; RESULT = "with"; CUP$parser$result = parser.getSymbolFactory().newSymbol("robust_id",41, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 102: // robust_id ::= SCAN { String RESULT =null; RESULT = "scan"; CUP$parser$result = parser.getSymbolFactory().newSymbol("robust_id",41, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 101: // robust_id ::= INIT { String RESULT =null; RESULT = "init"; CUP$parser$result = parser.getSymbolFactory().newSymbol("robust_id",41, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 100: // robust_id ::= NONTERMINAL { String RESULT =null; RESULT = "nonterminal"; CUP$parser$result = parser.getSymbolFactory().newSymbol("robust_id",41, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 99: // robust_id ::= NON { String RESULT =null; RESULT = "non"; CUP$parser$result = parser.getSymbolFactory().newSymbol("robust_id",41, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 98: // robust_id ::= TERMINAL { String RESULT =null; RESULT = "terminal"; CUP$parser$result = parser.getSymbolFactory().newSymbol("robust_id",41, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 97: // robust_id ::= PARSER { String RESULT =null; RESULT = "parser"; CUP$parser$result = parser.getSymbolFactory().newSymbol("robust_id",41, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 96: // robust_id ::= ACTION { String RESULT =null; RESULT = "action"; CUP$parser$result = parser.getSymbolFactory().newSymbol("robust_id",41, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 95: // robust_id ::= CODE { String RESULT =null; RESULT = "code"; CUP$parser$result = parser.getSymbolFactory().newSymbol("robust_id",41, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 94: // robust_id ::= ID { String RESULT =null; int the_idleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()).left; int the_idright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()).right; String the_id = (String)((weka.core.parser.java_cup.runtime.Symbol) CUP$parser$stack.peek()).value; RESULT = the_id; CUP$parser$result = parser.getSymbolFactory().newSymbol("robust_id",41, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 93: // label_id ::= robust_id { String RESULT =null; int the_idleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()).left; int the_idright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()).right; String the_id = (String)((weka.core.parser.java_cup.runtime.Symbol) CUP$parser$stack.peek()).value; RESULT = the_id; CUP$parser$result = parser.getSymbolFactory().newSymbol("label_id",37, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 92: // 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",36, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 91: // symbol_id ::= ID { String RESULT =null; int the_idleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()).left; int the_idright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()).right; String the_id = (String)((weka.core.parser.java_cup.runtime.Symbol) CUP$parser$stack.peek()).value; RESULT = the_id; CUP$parser$result = parser.getSymbolFactory().newSymbol("symbol_id",36, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 90: // 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",35, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 89: // nt_id ::= ID { String RESULT =null; int the_idleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()).left; int the_idright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()).right; String the_id = (String)((weka.core.parser.java_cup.runtime.Symbol) CUP$parser$stack.peek()).value; RESULT = the_id; CUP$parser$result = parser.getSymbolFactory().newSymbol("nt_id",35, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 88: // new_non_term_id ::= ID { Object RESULT =null; int non_term_idleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()).left; int non_term_idright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()).right; String non_term_id = (String)((weka.core.parser.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( "weka.core.parser.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, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 87: // new_term_id ::= ID { Object RESULT =null; int term_idleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()).left; int term_idright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()).right; String term_id = (String)((weka.core.parser.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("weka.core.parser.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, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 86: // type_id ::= type_id LBRACK RBRACK { Object RESULT =null; multipart_name = multipart_name.concat("[]"); CUP$parser$result = parser.getSymbolFactory().newSymbol("type_id",18, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 85: // type_id ::= multipart_id { Object RESULT =null; CUP$parser$result = parser.getSymbolFactory().newSymbol("type_id",18, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 84: // import_id ::= multipart_id { Object RESULT =null; CUP$parser$result = parser.getSymbolFactory().newSymbol("import_id",14, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 83: // import_id ::= multipart_id DOT STAR { Object RESULT =null; multipart_name = multipart_name.concat(".*"); CUP$parser$result = parser.getSymbolFactory().newSymbol("import_id",14, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 82: // wildcard ::= QUESTION SUPER type_id { String RESULT =null; RESULT = " ? super "+multipart_name; multipart_name = new String(); CUP$parser$result = parser.getSymbolFactory().newSymbol("wildcard",44, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 81: // wildcard ::= QUESTION EXTENDS type_id { String RESULT =null; RESULT = " ? extends "+multipart_name; multipart_name = new String(); CUP$parser$result = parser.getSymbolFactory().newSymbol("wildcard",44, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 80: // wildcard ::= QUESTION { String RESULT =null; RESULT = " ? "; CUP$parser$result = parser.getSymbolFactory().newSymbol("wildcard",44, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 79: // typearguement ::= wildcard { String RESULT =null; int wleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()).left; int wright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()).right; String w = (String)((weka.core.parser.java_cup.runtime.Symbol) CUP$parser$stack.peek()).value; RESULT = w; CUP$parser$result = parser.getSymbolFactory().newSymbol("typearguement",43, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 78: // typearguement ::= type_id { String RESULT =null; RESULT = multipart_name; multipart_name = new String(); CUP$parser$result = parser.getSymbolFactory().newSymbol("typearguement",43, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 77: // typearglist ::= typearglist COMMA typearguement { String RESULT =null; int listleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int listright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; String list = (String)((weka.core.parser.java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; int argleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()).left; int argright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()).right; String arg = (String)((weka.core.parser.java_cup.runtime.Symbol) CUP$parser$stack.peek()).value; RESULT = list + "," + arg; CUP$parser$result = parser.getSymbolFactory().newSymbol("typearglist",42, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 76: // typearglist ::= typearguement { String RESULT =null; int argleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()).left; int argright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()).right; String arg = (String)((weka.core.parser.java_cup.runtime.Symbol) CUP$parser$stack.peek()).value; RESULT = arg; CUP$parser$result = parser.getSymbolFactory().newSymbol("typearglist",42, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 75: // multipart_id ::= robust_id { Object RESULT =null; int an_idleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()).left; int an_idright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()).right; String an_id = (String)((weka.core.parser.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, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 74: // multipart_id ::= multipart_id NT$13 LT typearglist GT { Object RESULT =null; // propagate RESULT from NT$13 RESULT = (Object) ((weka.core.parser.java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value; int typesleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left; int typesright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right; String types = (String)((weka.core.parser.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, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 73: // NT$13 ::= { Object RESULT =null; multipart_names.push(multipart_name); multipart_name=""; CUP$parser$result = parser.getSymbolFactory().newSymbol("NT$13",58, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 72: // multipart_id ::= multipart_id DOT robust_id { Object RESULT =null; int another_idleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()).left; int another_idright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()).right; String another_id = (String)((weka.core.parser.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, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 71: // opt_label ::= empty { String RESULT =null; RESULT = null; CUP$parser$result = parser.getSymbolFactory().newSymbol("opt_label",38, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 70: // opt_label ::= COLON label_id { String RESULT =null; int labidleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()).left; int labidright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()).right; String labid = (String)((weka.core.parser.java_cup.runtime.Symbol) CUP$parser$stack.peek()).value; RESULT = labid; CUP$parser$result = parser.getSymbolFactory().newSymbol("opt_label",38, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 69: // prod_part ::= CODE_STRING { Object RESULT =null; int code_strleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()).left; int code_strright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()).right; String code_str = (String)((weka.core.parser.java_cup.runtime.Symbol) CUP$parser$stack.peek()).value; /* add a new production part */ add_rhs_part(new action_part(code_str)); CUP$parser$result = parser.getSymbolFactory().newSymbol("prod_part",23, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 68: // prod_part ::= symbol_id opt_label { Object RESULT =null; int symidleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left; int symidright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right; String symid = (String)((weka.core.parser.java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; int labidleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()).left; int labidright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()).right; String labid = (String)((weka.core.parser.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("weka.core.parser.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, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 67: // prod_part_list ::= empty { Object RESULT =null; CUP$parser$result = parser.getSymbolFactory().newSymbol("prod_part_list",22, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 66: // prod_part_list ::= prod_part_list prod_part { Object RESULT =null; CUP$parser$result = parser.getSymbolFactory().newSymbol("prod_part_list",22, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 65: // 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)); 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, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 64: // rhs ::= prod_part_list PERCENT_PREC term_id { Object RESULT =null; int term_nameleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()).left; int term_nameright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()).right; String term_name = (String)((weka.core.parser.java_cup.runtime.Symbol) CUP$parser$stack.peek()).value; weka.core.parser.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)); 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, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 63: // rhs_list ::= rhs { Object RESULT =null; CUP$parser$result = parser.getSymbolFactory().newSymbol("rhs_list",26, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 62: // rhs_list ::= rhs_list BAR rhs { Object RESULT =null; CUP$parser$result = parser.getSymbolFactory().newSymbol("rhs_list",26, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 61: // production ::= error NT$12 SEMI { Object RESULT =null; // propagate RESULT from NT$12 RESULT = (Object) ((weka.core.parser.java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; CUP$parser$result = parser.getSymbolFactory().newSymbol("production",21, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 60: // NT$12 ::= { Object RESULT =null; ErrorManager.getManager().emit_error("Syntax Error"); CUP$parser$result = parser.getSymbolFactory().newSymbol("NT$12",57, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 59: // production ::= nt_id NT$11 COLON_COLON_EQUALS rhs_list SEMI { Object RESULT =null; // propagate RESULT from NT$11 RESULT = (Object) ((weka.core.parser.java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value; int lhs_idleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).left; int lhs_idright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)).right; String lhs_id = (String)((weka.core.parser.java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-4)).value; CUP$parser$result = parser.getSymbolFactory().newSymbol("production",21, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 58: // NT$11 ::= { Object RESULT =null; int lhs_idleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()).left; int lhs_idright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()).right; String lhs_id = (String)((weka.core.parser.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",56, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 57: // production_list ::= production { Object RESULT =null; CUP$parser$result = parser.getSymbolFactory().newSymbol("production_list",11, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 56: // production_list ::= production_list production { Object RESULT =null; CUP$parser$result = parser.getSymbolFactory().newSymbol("production_list",11, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 55: // start_spec ::= empty { Object RESULT =null; CUP$parser$result = parser.getSymbolFactory().newSymbol("start_spec",10, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 54: // start_spec ::= START WITH nt_id NT$10 SEMI { Object RESULT =null; // propagate RESULT from NT$10 RESULT = (Object) ((weka.core.parser.java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; int start_nameleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left; int start_nameright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right; String start_name = (String)((weka.core.parser.java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; CUP$parser$result = parser.getSymbolFactory().newSymbol("start_spec",10, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 53: // NT$10 ::= { Object RESULT =null; int start_nameleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()).left; int start_nameright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()).right; String start_name = (String)((weka.core.parser.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)); 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",55, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 52: // term_id ::= symbol_id { String RESULT =null; int symleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()).left; int symright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()).right; String sym = (String)((weka.core.parser.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",40, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 51: // terminal_id ::= term_id { String RESULT =null; int symleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()).left; int symright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()).right; String sym = (String)((weka.core.parser.java_cup.runtime.Symbol) CUP$parser$stack.peek()).value; add_precedence(sym); RESULT = sym; CUP$parser$result = parser.getSymbolFactory().newSymbol("terminal_id",39, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 50: // terminal_list ::= terminal_id { Object RESULT =null; CUP$parser$result = parser.getSymbolFactory().newSymbol("terminal_list",31, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 49: // terminal_list ::= terminal_list COMMA terminal_id { Object RESULT =null; CUP$parser$result = parser.getSymbolFactory().newSymbol("terminal_list",31, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 48: // preced ::= PRECEDENCE NONASSOC NT$9 terminal_list SEMI { Object RESULT =null; // propagate RESULT from NT$9 RESULT = (Object) ((weka.core.parser.java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; CUP$parser$result = parser.getSymbolFactory().newSymbol("preced",30, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 47: // NT$9 ::= { Object RESULT =null; update_precedence(assoc.nonassoc); CUP$parser$result = parser.getSymbolFactory().newSymbol("NT$9",54, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 46: // preced ::= PRECEDENCE RIGHT NT$8 terminal_list SEMI { Object RESULT =null; // propagate RESULT from NT$8 RESULT = (Object) ((weka.core.parser.java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; CUP$parser$result = parser.getSymbolFactory().newSymbol("preced",30, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 45: // NT$8 ::= { Object RESULT =null; update_precedence(assoc.right); CUP$parser$result = parser.getSymbolFactory().newSymbol("NT$8",53, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 44: // preced ::= PRECEDENCE LEFT NT$7 terminal_list SEMI { Object RESULT =null; // propagate RESULT from NT$7 RESULT = (Object) ((weka.core.parser.java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value; CUP$parser$result = parser.getSymbolFactory().newSymbol("preced",30, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 43: // NT$7 ::= { Object RESULT =null; update_precedence(assoc.left); CUP$parser$result = parser.getSymbolFactory().newSymbol("NT$7",52, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 42: // precedence_l ::= preced { Object RESULT =null; CUP$parser$result = parser.getSymbolFactory().newSymbol("precedence_l",32, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 41: // precedence_l ::= precedence_l preced { Object RESULT =null; CUP$parser$result = parser.getSymbolFactory().newSymbol("precedence_l",32, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 40: // precedence_list ::= empty { Object RESULT =null; CUP$parser$result = parser.getSymbolFactory().newSymbol("precedence_list",29, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 39: // precedence_list ::= precedence_l { Object RESULT =null; CUP$parser$result = parser.getSymbolFactory().newSymbol("precedence_list",29, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 38: // non_term_name_list ::= new_non_term_id { Object RESULT =null; CUP$parser$result = parser.getSymbolFactory().newSymbol("non_term_name_list",20, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 37: // 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, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 36: // term_name_list ::= new_term_id { Object RESULT =null; CUP$parser$result = parser.getSymbolFactory().newSymbol("term_name_list",19, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 35: // term_name_list ::= term_name_list COMMA new_term_id { Object RESULT =null; CUP$parser$result = parser.getSymbolFactory().newSymbol("term_name_list",19, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 34: // declares_non_term ::= non_term_name_list NT$6 SEMI { Object RESULT =null; // propagate RESULT from NT$6 RESULT = (Object) ((weka.core.parser.java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; CUP$parser$result = parser.getSymbolFactory().newSymbol("declares_non_term",34, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 33: // NT$6 ::= { Object RESULT =null; /* reset the accumulated multipart name */ multipart_name = new String(); CUP$parser$result = parser.getSymbolFactory().newSymbol("NT$6",51, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 32: // declares_term ::= term_name_list NT$5 SEMI { Object RESULT =null; // propagate RESULT from NT$5 RESULT = (Object) ((weka.core.parser.java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; CUP$parser$result = parser.getSymbolFactory().newSymbol("declares_term",33, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 31: // NT$5 ::= { Object RESULT =null; /* reset the accumulated multipart name */ multipart_name = new String(); CUP$parser$result = parser.getSymbolFactory().newSymbol("NT$5",50, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 30: // symbol ::= non_terminal error NT$4 SEMI { Object RESULT =null; // propagate RESULT from NT$4 RESULT = (Object) ((weka.core.parser.java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; CUP$parser$result = parser.getSymbolFactory().newSymbol("symbol",17, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 29: // NT$4 ::= { Object RESULT =null; /* reset the accumulated multipart name */ multipart_name = new String(); CUP$parser$result = parser.getSymbolFactory().newSymbol("NT$4",49, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 28: // symbol ::= TERMINAL error NT$3 SEMI { Object RESULT =null; // propagate RESULT from NT$3 RESULT = (Object) ((weka.core.parser.java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; CUP$parser$result = parser.getSymbolFactory().newSymbol("symbol",17, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 27: // NT$3 ::= { Object RESULT =null; /* reset the accumulated multipart name */ multipart_name = new String(); CUP$parser$result = parser.getSymbolFactory().newSymbol("NT$3",48, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 26: // symbol ::= non_terminal declares_non_term { Object RESULT =null; CUP$parser$result = parser.getSymbolFactory().newSymbol("symbol",17, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 25: // symbol ::= non_terminal type_id declares_non_term { Object RESULT =null; CUP$parser$result = parser.getSymbolFactory().newSymbol("symbol",17, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 24: // symbol ::= TERMINAL declares_term { Object RESULT =null; CUP$parser$result = parser.getSymbolFactory().newSymbol("symbol",17, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 23: // symbol ::= TERMINAL type_id declares_term { Object RESULT =null; CUP$parser$result = parser.getSymbolFactory().newSymbol("symbol",17, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 22: // symbol_list ::= symbol { Object RESULT =null; CUP$parser$result = parser.getSymbolFactory().newSymbol("symbol_list",9, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 21: // symbol_list ::= symbol_list symbol { Object RESULT =null; CUP$parser$result = parser.getSymbolFactory().newSymbol("symbol_list",9, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 20: // scan_code ::= SCAN WITH CODE_STRING opt_semi { Object RESULT =null; int user_codeleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left; int user_coderight = ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right; String user_code = (String)((weka.core.parser.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 = user_code; CUP$parser$result = parser.getSymbolFactory().newSymbol("scan_code",16, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 19: // init_code ::= INIT WITH CODE_STRING opt_semi { Object RESULT =null; int user_codeleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left; int user_coderight = ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right; String user_code = (String)((weka.core.parser.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 = user_code; CUP$parser$result = parser.getSymbolFactory().newSymbol("init_code",15, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 18: // parser_code_part ::= PARSER CODE CODE_STRING opt_semi { Object RESULT =null; int user_codeleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left; int user_coderight = ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right; String user_code = (String)((weka.core.parser.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 = user_code; CUP$parser$result = parser.getSymbolFactory().newSymbol("parser_code_part",8, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 17: // action_code_part ::= ACTION CODE CODE_STRING opt_semi { Object RESULT =null; int user_codeleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left; int user_coderight = ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right; String user_code = (String)((weka.core.parser.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 = user_code; CUP$parser$result = parser.getSymbolFactory().newSymbol("action_code_part",3, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 16: // code_parts ::= code_parts code_part { Object RESULT =null; CUP$parser$result = parser.getSymbolFactory().newSymbol("code_parts",4, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 15: // code_parts ::= { Object RESULT =null; CUP$parser$result = parser.getSymbolFactory().newSymbol("code_parts",4, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 14: // code_part ::= scan_code { Object RESULT =null; CUP$parser$result = parser.getSymbolFactory().newSymbol("code_part",5, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 13: // code_part ::= init_code { Object RESULT =null; CUP$parser$result = parser.getSymbolFactory().newSymbol("code_part",5, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 12: // code_part ::= parser_code_part { Object RESULT =null; CUP$parser$result = parser.getSymbolFactory().newSymbol("code_part",5, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 11: // code_part ::= action_code_part { Object RESULT =null; CUP$parser$result = parser.getSymbolFactory().newSymbol("code_part",5, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.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) ((weka.core.parser.java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; CUP$parser$result = parser.getSymbolFactory().newSymbol("import_spec",13, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)), ((weka.core.parser.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",47, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.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, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.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, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)), ((weka.core.parser.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, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.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) ((weka.core.parser.java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; CUP$parser$result = parser.getSymbolFactory().newSymbol("package_spec",1, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)), ((weka.core.parser.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",46, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.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, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-4)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 2: // spec ::= NT$0 package_spec import_list code_parts symbol_list precedence_list start_spec production_list { Object RESULT =null; CUP$parser$result = parser.getSymbolFactory().newSymbol("spec",0, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-7)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } 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",45, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } return CUP$parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 0: // $START ::= spec EOF { Object RESULT =null; int start_valleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left; int start_valright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right; Object start_val = (Object)((weka.core.parser.java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value; RESULT = start_val; CUP$parser$result = parser.getSymbolFactory().newSymbol("$START",0, ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)), ((weka.core.parser.java_cup.runtime.Symbol)CUP$parser$stack.peek()), RESULT); } /* ACCEPT */ CUP$parser$parser.done_parsing(); return CUP$parser$result; /* . . . . . .*/ default: throw new Exception( "Invalid action number found in internal parse table"); } } }