//---------------------------------------------------- // The following code was generated by CUP v0.10k // Sun Nov 07 14:07:52 GMT+10:00 2004 //---------------------------------------------------- package weka.core.parser.JFlex; import java.util.*; /** CUP v0.10k generated parser. * @version Sun Nov 07 14:07:52 GMT+10:00 2004 */ public class LexParse extends weka.core.parser.java_cup.runtime.lr_parser { /** Default constructor. */ public LexParse() {super();} /** Constructor which sets the default scanner. */ public LexParse(weka.core.parser.java_cup.runtime.Scanner s) {super(s);} /** Production table. */ protected static final short _production_table[][] = unpackFromStrings(new String[] { "\000\110\000\002\002\004\000\002\006\006\000\002\006" + "\002\000\002\003\002\000\002\003\004\000\002\003\003" + "\000\002\004\003\000\002\004\003\000\002\004\006\000" + "\002\004\004\000\002\022\004\000\002\022\011\000\002" + "\022\010\000\002\022\003\000\002\005\007\000\002\005" + "\005\000\002\005\003\000\002\014\003\000\002\014\004" + "\000\002\014\002\000\002\014\005\000\002\024\004\000" + "\002\024\003\000\002\017\005\000\002\017\002\000\002" + "\016\005\000\002\016\003\000\002\016\004\000\002\023" + "\003\000\002\023\002\000\002\007\005\000\002\007\003" + "\000\002\007\003\000\002\010\004\000\002\010\003\000" + "\002\011\003\000\002\011\004\000\002\011\004\000\002" + "\012\004\000\002\012\004\000\002\012\004\000\002\012" + "\005\000\002\012\006\000\002\012\005\000\002\012\003" + "\000\002\012\003\000\002\012\003\000\002\012\003\000" + "\002\012\003\000\002\012\003\000\002\013\004\000\002" + "\013\005\000\002\013\005\000\002\013\006\000\002\013" + "\006\000\002\013\007\000\002\020\004\000\002\020\003" + "\000\002\020\004\000\002\020\003\000\002\020\004\000" + "\002\020\003\000\002\020\004\000\002\020\003\000\002" + "\015\005\000\002\015\003\000\002\021\003\000\002\021" + "\003\000\002\021\003\000\002\021\003\000\002\021\003" + "\000\002\021\003" }); /** Access to production table. */ public short[][] production_table() {return _production_table;} /** Parse-action table. */ protected static final short[][] _action_table = unpackFromStrings(new String[] { "\000\152\000\006\002\uffff\040\004\001\002\000\014\003" + "\007\013\ufffe\022\ufffe\023\ufffe\037\ufffe\001\002\000\004" + "\002\006\001\002\000\004\002\001\001\002\000\012\013" + "\ufffc\022\ufffc\023\ufffc\037\ufffc\001\002\000\012\013\011" + "\022\015\023\014\037\013\001\002\000\050\003\113\004" + "\uffe9\006\uffe9\010\uffe9\016\115\025\uffe9\026\uffe9\027\uffe9" + "\030\uffe9\031\uffe9\032\uffe9\033\uffe9\044\uffe9\046\uffe9\047" + "\uffe9\050\uffe9\051\uffe9\052\uffe9\053\uffe9\001\002\000\012" + "\013\ufffd\022\ufffd\023\ufffd\037\ufffd\001\002\000\004\014" + "\016\001\002\000\012\013\ufffa\022\ufffa\023\ufffa\037\ufffa" + "\001\002\000\012\013\ufffb\022\ufffb\023\ufffb\037\ufffb\001" + "\002\000\050\004\033\010\043\013\ufff8\022\ufff8\023\ufff8" + "\025\023\026\030\027\017\030\041\031\034\032\031\037" + "\ufff8\044\040\046\021\047\036\050\022\051\020\052\027" + "\053\024\001\002\000\064\004\uffbd\005\uffbd\007\uffbd\010" + "\uffbd\011\uffbd\024\uffbd\025\uffbd\026\uffbd\027\uffbd\030\uffbd" + "\031\uffbd\032\uffbd\034\uffbd\035\uffbd\041\uffbd\042\uffbd\043" + "\uffbd\044\uffbd\045\uffbd\046\uffbd\047\uffbd\050\uffbd\051\uffbd" + "\052\uffbd\053\uffbd\001\002\000\062\004\uffd0\005\uffd0\007" + "\uffd0\010\uffd0\024\uffd0\025\uffd0\026\uffd0\027\uffd0\030\uffd0" + "\031\uffd0\032\uffd0\034\uffd0\035\uffd0\041\uffd0\042\uffd0\043" + "\uffd0\044\uffd0\045\uffd0\046\uffd0\047\uffd0\050\uffd0\051\uffd0" + "\052\uffd0\053\uffd0\001\002\000\062\004\uffd1\005\uffd1\007" + "\uffd1\010\uffd1\024\uffd1\025\uffd1\026\uffd1\027\uffd1\030\uffd1" + "\031\uffd1\032\uffd1\034\uffd1\035\uffd1\041\uffd1\042\uffd1\043" + "\uffd1\044\uffd1\045\uffd1\046\uffd1\047\uffd1\050\uffd1\051\uffd1" + "\052\uffd1\053\uffd1\001\002\000\036\004\033\010\043\025" + "\023\026\030\027\017\030\041\031\034\032\031\046\021" + "\047\036\050\022\051\020\052\027\053\024\001\002\000" + "\064\004\uffbf\005\uffbf\007\uffbf\010\uffbf\011\uffbf\024\uffbf" + "\025\uffbf\026\uffbf\027\uffbf\030\uffbf\031\uffbf\032\uffbf\034" + "\uffbf\035\uffbf\041\uffbf\042\uffbf\043\uffbf\044\uffbf\045\uffbf" + "\046\uffbf\047\uffbf\050\uffbf\051\uffbf\052\uffbf\053\uffbf\001" + "\002\000\062\004\uffd5\005\uffd5\007\uffd5\010\uffd5\024\uffd5" + "\025\uffd5\026\uffd5\027\uffd5\030\uffd5\031\uffd5\032\uffd5\034" + "\uffd5\035\uffd5\041\uffd5\042\uffd5\043\uffd5\044\uffd5\045\uffd5" + "\046\uffd5\047\uffd5\050\uffd5\051\uffd5\052\uffd5\053\uffd5\001" + "\002\000\006\024\111\044\105\001\002\000\062\004\uffd3" + "\005\uffd3\007\uffd3\010\uffd3\024\uffd3\025\uffd3\026\uffd3\027" + "\uffd3\030\uffd3\031\uffd3\032\uffd3\034\uffd3\035\uffd3\041\uffd3" + "\042\uffd3\043\uffd3\044\uffd3\045\uffd3\046\uffd3\047\uffd3\050" + "\uffd3\051\uffd3\052\uffd3\053\uffd3\001\002\000\062\004\uffd2" + "\005\uffd2\007\uffd2\010\uffd2\024\uffd2\025\uffd2\026\uffd2\027" + "\uffd2\030\uffd2\031\uffd2\032\uffd2\034\uffd2\035\uffd2\041\uffd2" + "\042\uffd2\043\uffd2\044\uffd2\045\uffd2\046\uffd2\047\uffd2\050" + "\uffd2\051\uffd2\052\uffd2\053\uffd2\001\002\000\064\004\uffbe" + "\005\uffbe\007\uffbe\010\uffbe\011\uffbe\024\uffbe\025\uffbe\026" + "\uffbe\027\uffbe\030\uffbe\031\uffbe\032\uffbe\034\uffbe\035\uffbe" + "\041\uffbe\042\uffbe\043\uffbe\044\uffbe\045\uffbe\046\uffbe\047" + "\uffbe\050\uffbe\051\uffbe\052\uffbe\053\uffbe\001\002\000\064" + "\004\uffba\005\uffba\007\uffba\010\uffba\011\uffba\024\uffba\025" + "\uffba\026\uffba\027\uffba\030\uffba\031\uffba\032\uffba\034\uffba" + "\035\uffba\041\uffba\042\uffba\043\uffba\044\uffba\045\uffba\046" + "\uffba\047\uffba\050\uffba\051\uffba\052\uffba\053\uffba\001\002" + "\000\052\004\033\005\uffe2\007\uffe2\010\043\024\uffe2\025" + "\023\026\030\027\017\030\041\031\034\032\031\034\uffe2" + "\035\uffe2\044\uffe2\046\021\047\036\050\022\051\020\052" + "\027\053\024\001\002\000\040\004\033\010\043\025\023" + "\026\030\027\017\030\041\031\034\032\031\044\040\046" + "\021\047\036\050\022\051\020\052\027\053\024\001\002" + "\000\064\004\uffbb\005\uffbb\007\uffbb\010\uffbb\011\uffbb\024" + "\uffbb\025\uffbb\026\uffbb\027\uffbb\030\uffbb\031\uffbb\032\uffbb" + "\034\uffbb\035\uffbb\041\uffbb\042\uffbb\043\uffbb\044\uffbb\045" + "\uffbb\046\uffbb\047\uffbb\050\uffbb\051\uffbb\052\uffbb\053\uffbb" + "\001\002\000\062\004\uffd4\005\uffd4\007\uffd4\010\uffd4\024" + "\uffd4\025\uffd4\026\uffd4\027\uffd4\030\uffd4\031\uffd4\032\uffd4" + "\034\uffd4\035\uffd4\041\uffd4\042\uffd4\043\uffd4\044\uffd4\045" + "\uffd4\046\uffd4\047\uffd4\050\uffd4\051\uffd4\052\uffd4\053\uffd4" + "\001\002\000\036\004\033\010\043\025\023\026\030\027" + "\017\030\041\031\034\032\031\046\021\047\036\050\022" + "\051\020\052\027\053\024\001\002\000\052\004\uffdf\005" + "\uffdf\007\uffdf\010\uffdf\024\uffdf\025\uffdf\026\uffdf\027\uffdf" + "\030\uffdf\031\uffdf\032\uffdf\034\uffdf\035\uffdf\044\uffdf\046" + "\uffdf\047\uffdf\050\uffdf\051\uffdf\052\uffdf\053\uffdf\001\002" + "\000\016\005\uffe1\007\uffe1\024\uffe1\034\uffe1\035\uffe1\044" + "\uffe1\001\002\000\064\004\uffbc\005\uffbc\007\uffbc\010\uffbc" + "\011\uffbc\024\uffbc\025\uffbc\026\uffbc\027\uffbc\030\uffbc\031" + "\uffbc\032\uffbc\034\uffbc\035\uffbc\041\uffbc\042\uffbc\043\uffbc" + "\044\uffbc\045\uffbc\046\uffbc\047\uffbc\050\uffbc\051\uffbc\052" + "\uffbc\053\uffbc\001\002\000\062\004\uffde\005\uffde\007\uffde" + "\010\uffde\024\uffde\025\uffde\026\uffde\027\uffde\030\uffde\031" + "\uffde\032\uffde\034\uffde\035\uffde\041\076\042\074\043\075" + "\044\uffde\045\077\046\uffde\047\uffde\050\uffde\051\uffde\052" + "\uffde\053\uffde\001\002\000\032\006\047\011\050\012\046" + "\025\023\026\030\027\017\030\041\031\034\032\031\051" + "\054\052\051\053\053\001\002\000\026\011\uffc6\025\uffc6" + "\026\uffc6\027\uffc6\030\uffc6\031\uffc6\032\uffc6\051\uffc6\052" + "\uffc6\053\uffc6\001\002\000\026\011\uffc8\025\uffc8\026\uffc8" + "\027\uffc8\030\uffc8\031\uffc8\032\uffc8\051\uffc8\052\uffc8\053" + "\uffc8\001\002\000\024\025\023\026\030\027\017\030\041" + "\031\034\032\031\051\054\052\051\053\053\001\002\000" + "\030\011\065\012\064\025\023\026\030\027\017\030\041" + "\031\034\032\031\051\054\052\051\053\053\001\002\000" + "\062\004\uffcf\005\uffcf\007\uffcf\010\uffcf\024\uffcf\025\uffcf" + "\026\uffcf\027\uffcf\030\uffcf\031\uffcf\032\uffcf\034\uffcf\035" + "\uffcf\041\uffcf\042\uffcf\043\uffcf\044\uffcf\045\uffcf\046\uffcf" + "\047\uffcf\050\uffcf\051\uffcf\052\uffcf\053\uffcf\001\002\000" + "\026\011\uffc4\025\uffc4\026\uffc4\027\uffc4\030\uffc4\031\uffc4" + "\032\uffc4\051\uffc4\052\uffc4\053\uffc4\001\002\000\026\011" + "\061\025\023\026\030\027\017\030\041\031\034\032\031" + "\051\054\052\062\053\063\001\002\000\026\011\uffc2\025" + "\uffc2\026\uffc2\027\uffc2\030\uffc2\031\uffc2\032\uffc2\051\uffc2" + "\052\uffc2\053\uffc2\001\002\000\030\011\uffc0\012\055\025" + "\uffc0\026\uffc0\027\uffc0\030\uffc0\031\uffc0\032\uffc0\051\uffc0" + "\052\uffc0\053\uffc0\001\002\000\004\051\056\001\002\000" + "\026\011\uffc1\025\uffc1\026\uffc1\027\uffc1\030\uffc1\031\uffc1" + "\032\uffc1\051\uffc1\052\uffc1\053\uffc1\001\002\000\026\011" + "\uffc7\025\uffc7\026\uffc7\027\uffc7\030\uffc7\031\uffc7\032\uffc7" + "\051\uffc7\052\uffc7\053\uffc7\001\002\000\026\011\uffc9\025" + "\uffc9\026\uffc9\027\uffc9\030\uffc9\031\uffc9\032\uffc9\051\uffc9" + "\052\uffc9\053\uffc9\001\002\000\062\004\uffce\005\uffce\007" + "\uffce\010\uffce\024\uffce\025\uffce\026\uffce\027\uffce\030\uffce" + "\031\uffce\032\uffce\034\uffce\035\uffce\041\uffce\042\uffce\043" + "\uffce\044\uffce\045\uffce\046\uffce\047\uffce\050\uffce\051\uffce" + "\052\uffce\053\uffce\001\002\000\026\011\uffc5\025\uffc5\026" + "\uffc5\027\uffc5\030\uffc5\031\uffc5\032\uffc5\051\uffc5\052\uffc5" + "\053\uffc5\001\002\000\026\011\uffc3\025\uffc3\026\uffc3\027" + "\uffc3\030\uffc3\031\uffc3\032\uffc3\051\uffc3\052\uffc3\053\uffc3" + "\001\002\000\024\025\023\026\030\027\017\030\041\031" + "\034\032\031\051\054\052\051\053\053\001\002\000\062" + "\004\uffcd\005\uffcd\007\uffcd\010\uffcd\024\uffcd\025\uffcd\026" + "\uffcd\027\uffcd\030\uffcd\031\uffcd\032\uffcd\034\uffcd\035\uffcd" + "\041\uffcd\042\uffcd\043\uffcd\044\uffcd\045\uffcd\046\uffcd\047" + "\uffcd\050\uffcd\051\uffcd\052\uffcd\053\uffcd\001\002\000\026" + "\011\067\025\023\026\030\027\017\030\041\031\034\032" + "\031\051\054\052\062\053\063\001\002\000\062\004\uffcc" + "\005\uffcc\007\uffcc\010\uffcc\024\uffcc\025\uffcc\026\uffcc\027" + "\uffcc\030\uffcc\031\uffcc\032\uffcc\034\uffcc\035\uffcc\041\uffcc" + "\042\uffcc\043\uffcc\044\uffcc\045\uffcc\046\uffcc\047\uffcc\050" + "\uffcc\051\uffcc\052\uffcc\053\uffcc\001\002\000\026\011\071" + "\025\023\026\030\027\017\030\041\031\034\032\031\051" + "\054\052\062\053\063\001\002\000\062\004\uffca\005\uffca" + "\007\uffca\010\uffca\024\uffca\025\uffca\026\uffca\027\uffca\030" + "\uffca\031\uffca\032\uffca\034\uffca\035\uffca\041\uffca\042\uffca" + "\043\uffca\044\uffca\045\uffca\046\uffca\047\uffca\050\uffca\051" + "\uffca\052\uffca\053\uffca\001\002\000\026\011\073\025\023" + "\026\030\027\017\030\041\031\034\032\031\051\054\052" + "\062\053\063\001\002\000\062\004\uffcb\005\uffcb\007\uffcb" + "\010\uffcb\024\uffcb\025\uffcb\026\uffcb\027\uffcb\030\uffcb\031" + "\uffcb\032\uffcb\034\uffcb\035\uffcb\041\uffcb\042\uffcb\043\uffcb" + "\044\uffcb\045\uffcb\046\uffcb\047\uffcb\050\uffcb\051\uffcb\052" + "\uffcb\053\uffcb\001\002\000\062\004\uffdb\005\uffdb\007\uffdb" + "\010\uffdb\024\uffdb\025\uffdb\026\uffdb\027\uffdb\030\uffdb\031" + "\uffdb\032\uffdb\034\uffdb\035\uffdb\041\uffdb\042\uffdb\043\uffdb" + "\044\uffdb\045\uffdb\046\uffdb\047\uffdb\050\uffdb\051\uffdb\052" + "\uffdb\053\uffdb\001\002\000\062\004\uffda\005\uffda\007\uffda" + "\010\uffda\024\uffda\025\uffda\026\uffda\027\uffda\030\uffda\031" + "\uffda\032\uffda\034\uffda\035\uffda\041\uffda\042\uffda\043\uffda" + "\044\uffda\045\uffda\046\uffda\047\uffda\050\uffda\051\uffda\052" + "\uffda\053\uffda\001\002\000\006\021\100\041\101\001\002" + "\000\062\004\uffd9\005\uffd9\007\uffd9\010\uffd9\024\uffd9\025" + "\uffd9\026\uffd9\027\uffd9\030\uffd9\031\uffd9\032\uffd9\034\uffd9" + "\035\uffd9\041\uffd9\042\uffd9\043\uffd9\044\uffd9\045\uffd9\046" + "\uffd9\047\uffd9\050\uffd9\051\uffd9\052\uffd9\053\uffd9\001\002" + "\000\062\004\uffd8\005\uffd8\007\uffd8\010\uffd8\024\uffd8\025" + "\uffd8\026\uffd8\027\uffd8\030\uffd8\031\uffd8\032\uffd8\034\uffd8" + "\035\uffd8\041\uffd8\042\uffd8\043\uffd8\044\uffd8\045\uffd8\046" + "\uffd8\047\uffd8\050\uffd8\051\uffd8\052\uffd8\053\uffd8\001\002" + "\000\004\021\102\001\002\000\062\004\uffd7\005\uffd7\007" + "\uffd7\010\uffd7\024\uffd7\025\uffd7\026\uffd7\027\uffd7\030\uffd7" + "\031\uffd7\032\uffd7\034\uffd7\035\uffd7\041\uffd7\042\uffd7\043" + "\uffd7\044\uffd7\045\uffd7\046\uffd7\047\uffd7\050\uffd7\051\uffd7" + "\052\uffd7\053\uffd7\001\002\000\052\004\uffdd\005\uffdd\007" + "\uffdd\010\uffdd\024\uffdd\025\uffdd\026\uffdd\027\uffdd\030\uffdd" + "\031\uffdd\032\uffdd\034\uffdd\035\uffdd\044\uffdd\046\uffdd\047" + "\uffdd\050\uffdd\051\uffdd\052\uffdd\053\uffdd\001\002\000\006" + "\005\106\044\105\001\002\000\036\004\033\010\043\025" + "\023\026\030\027\017\030\041\031\034\032\031\046\021" + "\047\036\050\022\051\020\052\027\053\024\001\002\000" + "\062\004\uffd6\005\uffd6\007\uffd6\010\uffd6\024\uffd6\025\uffd6" + "\026\uffd6\027\uffd6\030\uffd6\031\uffd6\032\uffd6\034\uffd6\035" + "\uffd6\041\uffd6\042\uffd6\043\uffd6\044\uffd6\045\uffd6\046\uffd6" + "\047\uffd6\050\uffd6\051\uffd6\052\uffd6\053\uffd6\001\002\000" + "\052\004\033\005\uffe3\007\uffe3\010\043\024\uffe3\025\023" + "\026\030\027\017\030\041\031\034\032\031\034\uffe3\035" + "\uffe3\044\uffe3\046\021\047\036\050\022\051\020\052\027" + "\053\024\001\002\000\052\004\uffe0\005\uffe0\007\uffe0\010" + "\uffe0\024\uffe0\025\uffe0\026\uffe0\027\uffe0\030\uffe0\031\uffe0" + "\032\uffe0\034\uffe0\035\uffe0\044\uffe0\046\uffe0\047\uffe0\050" + "\uffe0\051\uffe0\052\uffe0\053\uffe0\001\002\000\012\013\ufff9" + "\022\ufff9\023\ufff9\037\ufff9\001\002\000\052\004\uffdc\005" + "\uffdc\007\uffdc\010\uffdc\024\uffdc\025\uffdc\026\uffdc\027\uffdc" + "\030\uffdc\031\uffdc\032\uffdc\034\uffdc\035\uffdc\044\uffdc\046" + "\uffdc\047\uffdc\050\uffdc\051\uffdc\052\uffdc\053\uffdc\001\002" + "\000\054\002\ufff1\003\ufff1\004\ufff1\006\ufff1\010\ufff1\016" + "\ufff1\021\ufff1\025\ufff1\026\ufff1\027\ufff1\030\ufff1\031\ufff1" + "\032\ufff1\033\ufff1\044\ufff1\046\ufff1\047\ufff1\050\ufff1\051" + "\ufff1\052\ufff1\053\ufff1\001\002\000\044\004\uffe4\006\141" + "\010\uffe4\025\uffe4\026\uffe4\027\uffe4\030\uffe4\031\uffe4\032" + "\uffe4\033\137\044\uffe4\046\uffe4\047\uffe4\050\uffe4\051\uffe4" + "\052\uffe4\053\uffe4\001\002\000\004\037\123\001\002\000" + "\054\002\ufff4\003\ufff4\004\ufff4\006\ufff4\010\ufff4\016\ufff4" + "\021\ufff4\025\ufff4\026\ufff4\027\ufff4\030\ufff4\031\ufff4\032" + "\ufff4\033\ufff4\044\ufff4\046\ufff4\047\ufff4\050\ufff4\051\ufff4" + "\052\ufff4\053\ufff4\001\002\000\052\002\000\003\113\004" + "\uffe9\006\uffe9\010\uffe9\016\120\025\uffe9\026\uffe9\027\uffe9" + "\030\uffe9\031\uffe9\032\uffe9\033\uffe9\044\uffe9\046\uffe9\047" + "\uffe9\050\uffe9\051\uffe9\052\uffe9\053\uffe9\001\002\000\004" + "\037\123\001\002\000\054\002\ufff7\003\ufff7\004\ufff7\006" + "\ufff7\010\ufff7\016\ufff7\021\ufff7\025\ufff7\026\ufff7\027\ufff7" + "\030\ufff7\031\ufff7\032\ufff7\033\ufff7\044\ufff7\046\ufff7\047" + "\ufff7\050\ufff7\051\ufff7\052\ufff7\053\ufff7\001\002\000\004" + "\017\126\001\002\000\006\015\124\017\uffe7\001\002\000" + "\006\017\uffe6\037\123\001\002\000\004\017\uffe8\001\002" + "\000\046\004\uffea\006\uffea\010\uffea\020\127\025\uffea\026" + "\uffea\027\uffea\030\uffea\031\uffea\032\uffea\033\uffea\044\uffea" + "\046\uffea\047\uffea\050\uffea\051\uffea\052\uffea\053\uffea\001" + "\002\000\050\003\113\004\uffe9\006\uffe9\010\uffe9\016\115" + "\025\uffe9\026\uffe9\027\uffe9\030\uffe9\031\uffe9\032\uffe9\033" + "\uffe9\044\uffe9\046\uffe9\047\uffe9\050\uffe9\051\uffe9\052\uffe9" + "\053\uffe9\001\002\000\052\003\113\004\uffe9\006\uffe9\010" + "\uffe9\016\120\021\131\025\uffe9\026\uffe9\027\uffe9\030\uffe9" + "\031\uffe9\032\uffe9\033\uffe9\044\uffe9\046\uffe9\047\uffe9\050" + "\uffe9\051\uffe9\052\uffe9\053\uffe9\001\002\000\054\002\ufff6" + "\003\ufff6\004\ufff6\006\ufff6\010\ufff6\016\ufff6\021\ufff6\025" + "\ufff6\026\ufff6\027\ufff6\030\ufff6\031\ufff6\032\ufff6\033\ufff6" + "\044\ufff6\046\ufff6\047\ufff6\050\ufff6\051\ufff6\052\ufff6\053" + "\ufff6\001\002\000\004\017\133\001\002\000\046\004\uffea" + "\006\uffea\010\uffea\020\134\025\uffea\026\uffea\027\uffea\030" + "\uffea\031\uffea\032\uffea\033\uffea\044\uffea\046\uffea\047\uffea" + "\050\uffea\051\uffea\052\uffea\053\uffea\001\002\000\050\003" + "\113\004\uffe9\006\uffe9\010\uffe9\016\115\025\uffe9\026\uffe9" + "\027\uffe9\030\uffe9\031\uffe9\032\uffe9\033\uffe9\044\uffe9\046" + "\uffe9\047\uffe9\050\uffe9\051\uffe9\052\uffe9\053\uffe9\001\002" + "\000\052\003\113\004\uffe9\006\uffe9\010\uffe9\016\120\021" + "\136\025\uffe9\026\uffe9\027\uffe9\030\uffe9\031\uffe9\032\uffe9" + "\033\uffe9\044\uffe9\046\uffe9\047\uffe9\050\uffe9\051\uffe9\052" + "\uffe9\053\uffe9\001\002\000\054\002\ufff5\003\ufff5\004\ufff5" + "\006\ufff5\010\ufff5\016\ufff5\021\ufff5\025\ufff5\026\ufff5\027" + "\ufff5\030\ufff5\031\ufff5\032\ufff5\033\ufff5\044\ufff5\046\ufff5" + "\047\ufff5\050\ufff5\051\ufff5\052\ufff5\053\ufff5\001\002\000" + "\004\036\154\001\002\000\040\004\033\010\043\025\023" + "\026\030\027\017\030\041\031\034\032\031\044\040\046" + "\021\047\036\050\022\051\020\052\027\053\024\001\002" + "\000\040\004\uffe5\010\uffe5\025\uffe5\026\uffe5\027\uffe5\030" + "\uffe5\031\uffe5\032\uffe5\044\uffe5\046\uffe5\047\uffe5\050\uffe5" + "\051\uffe5\052\uffe5\053\uffe5\001\002\000\014\007\145\024" + "\uffee\034\uffee\035\143\044\105\001\002\000\040\004\033" + "\010\043\025\023\026\030\027\017\030\041\031\034\032" + "\031\044\040\046\021\047\036\050\022\051\020\052\027" + "\053\024\001\002\000\006\024\147\034\146\001\002\000" + "\006\024\ufff0\034\ufff0\001\002\000\054\002\uffeb\003\uffeb" + "\004\uffeb\006\uffeb\010\uffeb\016\uffeb\021\uffeb\025\uffeb\026" + "\uffeb\027\uffeb\030\uffeb\031\uffeb\032\uffeb\033\uffeb\044\uffeb" + "\046\uffeb\047\uffeb\050\uffeb\051\uffeb\052\uffeb\053\uffeb\001" + "\002\000\004\036\151\001\002\000\054\002\ufff3\003\ufff3" + "\004\ufff3\006\ufff3\010\ufff3\016\ufff3\021\ufff3\025\ufff3\026" + "\ufff3\027\ufff3\030\ufff3\031\ufff3\032\ufff3\033\ufff3\044\ufff3" + "\046\ufff3\047\ufff3\050\ufff3\051\ufff3\052\ufff3\053\ufff3\001" + "\002\000\054\002\uffec\003\uffec\004\uffec\006\uffec\010\uffec" + "\016\uffec\021\uffec\025\uffec\026\uffec\027\uffec\030\uffec\031" + "\uffec\032\uffec\033\uffec\044\uffec\046\uffec\047\uffec\050\uffec" + "\051\uffec\052\uffec\053\uffec\001\002\000\012\007\153\024" + "\uffef\034\uffef\044\105\001\002\000\006\024\uffed\034\uffed" + "\001\002\000\054\002\ufff2\003\ufff2\004\ufff2\006\ufff2\010" + "\ufff2\016\ufff2\021\ufff2\025\ufff2\026\ufff2\027\ufff2\030\ufff2" + "\031\ufff2\032\ufff2\033\ufff2\044\ufff2\046\ufff2\047\ufff2\050" + "\ufff2\051\ufff2\052\ufff2\053\ufff2\001\002" }); /** Access to parse-action table. */ public short[][] action_table() {return _action_table;} /** <code>reduce_goto</code> table. */ protected static final short[][] _reduce_table = unpackFromStrings(new String[] { "\000\152\000\004\006\004\001\001\000\004\003\007\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + "\000\004\004\011\001\001\000\010\005\115\017\113\022" + "\116\001\001\000\002\001\001\000\002\001\001\000\002" + "\001\001\000\002\001\001\000\016\007\024\010\031\011" + "\036\012\041\013\034\021\025\001\001\000\002\001\001" + "\000\002\001\001\000\002\001\001\000\012\011\111\012" + "\041\013\034\021\025\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\012\011\107" + "\012\041\013\034\021\025\001\001\000\016\007\103\010" + "\031\011\036\012\041\013\034\021\025\001\001\000\002" + "\001\001\000\002\001\001\000\012\011\102\012\041\013" + "\034\021\025\001\001\000\002\001\001\000\002\001\001" + "\000\002\001\001\000\002\001\001\000\010\015\044\020" + "\051\021\043\001\001\000\002\001\001\000\002\001\001" + "\000\010\015\044\020\071\021\043\001\001\000\010\015" + "\044\020\065\021\043\001\001\000\002\001\001\000\002" + "\001\001\000\006\015\057\021\056\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\010\015\044\020\067" + "\021\043\001\001\000\002\001\001\000\006\015\057\021" + "\056\001\001\000\002\001\001\000\006\015\057\021\056" + "\001\001\000\002\001\001\000\006\015\057\021\056\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\014\010\106\011\036\012\041\013\034\021" + "\025\001\001\000\002\001\001\000\012\011\107\012\041" + "\013\034\021\025\001\001\000\002\001\001\000\002\001" + "\001\000\002\001\001\000\002\001\001\000\004\023\137" + "\001\001\000\004\016\131\001\001\000\002\001\001\000" + "\006\005\120\017\113\001\001\000\004\016\121\001\001" + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + "\004\016\124\001\001\000\002\001\001\000\002\001\001" + "\000\010\005\115\017\113\022\127\001\001\000\006\005" + "\120\017\113\001\001\000\002\001\001\000\002\001\001" + "\000\002\001\001\000\010\005\115\017\113\022\134\001" + "\001\000\006\005\120\017\113\001\001\000\002\001\001" + "\000\002\001\001\000\016\007\141\010\031\011\036\012" + "\041\013\034\021\025\001\001\000\002\001\001\000\004" + "\014\143\001\001\000\016\007\151\010\031\011\036\012" + "\041\013\034\021\025\001\001\000\004\024\147\001\001" + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + "\002\001\001\000\002\001\001\000\002\001\001\000\002" + "\001\001\000\002\001\001" }); /** Access to <code>reduce_goto</code> table. */ public short[][] reduce_table() {return _reduce_table;} /** Instance of action encapsulation class. */ protected CUP$LexParse$actions action_obj; /** Action encapsulation object initializer. */ protected void init_actions() { action_obj = new CUP$LexParse$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$LexParse$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 { action_obj.scanner = this.scanner; } public LexScan scanner; public LexParse(LexScan scanner) { super(scanner); this.scanner = scanner; } public CharClasses getCharClasses() { return action_obj.charClasses; } public EOFActions getEOFActions() { return action_obj.eofActions; } public void report_error(String message, Object info) { if ( info instanceof weka.core.parser.java_cup.runtime.Symbol ) { weka.core.parser.java_cup.runtime.Symbol s = (weka.core.parser.java_cup.runtime.Symbol) info; if (s.sym == sym.EOF) Out.error(ErrorMessages.UNEXPECTED_EOF); else Out.error(scanner.file, ErrorMessages.SYNTAX_ERROR, s.left, s.right); } else Out.error(ErrorMessages.UNKNOWN_SYNTAX); } public void report_fatal_error(String message, Object info) { // report_error(message, info); throw new GeneratorException(); } } /** Cup generated class to encapsulate user supplied action code.*/ class CUP$LexParse$actions { LexScan scanner; CharClasses charClasses = new CharClasses(127); RegExps regExps = new RegExps(); Macros macros = new Macros(); Integer stateNumber; Timer t = new Timer(); EOFActions eofActions = new EOFActions(); void fatalError(ErrorMessages message, int line, int col) { syntaxError(message, line, col); throw new GeneratorException(); } void fatalError(ErrorMessages message) { fatalError(message, scanner.currentLine(), -1); throw new GeneratorException(); } void syntaxError(ErrorMessages message) { Out.error(scanner.file, message, scanner.currentLine(), -1); } void syntaxError(ErrorMessages message, int line) { Out.error(scanner.file, message, line, -1); } void syntaxError(ErrorMessages message, int line, int col) { Out.error(scanner.file, message, line, col); } private boolean check(int type, char c) { switch (type) { case sym.JLETTERCLASS: return Character.isJavaIdentifierStart(c); case sym.JLETTERDIGITCLASS: return Character.isJavaIdentifierPart(c); case sym.LETTERCLASS: return Character.isLetter(c); case sym.DIGITCLASS: return Character.isDigit(c); case sym.UPPERCLASS: return Character.isUpperCase(c); case sym.LOWERCLASS: return Character.isLowerCase(c); default: return false; } } private Vector makePreClass(int type) { Vector result = new Vector(); char c = 0; char start = 0; char last = charClasses.getMaxCharCode(); boolean prev, current; prev = check(type,'\u0000'); for (c = 1; c < last; c++) { current = check(type,c); if (!prev && current) start = c; if (prev && !current) { result.addElement(new Interval(start, (char)(c-1))); } prev = current; } // the last iteration is moved out of the loop to // avoid an endless loop if last == maxCharCode and // last+1 == 0 current = check(type,c); if (!prev && current) result.addElement(new Interval(c,c)); if (prev && current) result.addElement(new Interval(start, c)); if (prev && !current) result.addElement(new Interval(start, (char)(c-1))); return result; } private RegExp makeRepeat(RegExp r, int n1, int n2, int line, int col) { if (n1 <= 0 && n2 <= 0) { syntaxError(ErrorMessages.REPEAT_ZERO, line, col); return null; } if (n1 > n2) { syntaxError(ErrorMessages.REPEAT_GREATER, line, col); return null; } int i; RegExp result; if (n1 > 0) { result = r; n1--; n2--; // we need one concatenation less than the number of expressions to match } else { result = new RegExp1(sym.QUESTION,r); n2--; } for (i = 0; i < n1; i++) result = new RegExp2(sym.CONCAT, result, r); n2-= n1; for (i = 0; i < n2; i++) result = new RegExp2(sym.CONCAT, result, new RegExp1(sym.QUESTION,r)); return result; } private RegExp makeNL() { Vector list = new Vector(); list.addElement(new Interval('\n','\r')); list.addElement(new Interval('\u0085','\u0085')); list.addElement(new Interval('\u2028','\u2029')); // assumption: line feeds are caseless charClasses.makeClass(list, false); charClasses.makeClass('\n', false); charClasses.makeClass('\r', false); RegExp1 c = new RegExp1(sym.CCLASS, list); Character n = new Character('\n'); Character r = new Character('\r'); return new RegExp2(sym.BAR, c, new RegExp2(sym.CONCAT, new RegExp1(sym.CHAR, r), new RegExp1(sym.CHAR, n))); } private final LexParse parser; /** Constructor */ CUP$LexParse$actions(LexParse parser) { this.parser = parser; } /** Method with the actual generated action code. */ public final weka.core.parser.java_cup.runtime.Symbol CUP$LexParse$do_action( int CUP$LexParse$act_num, weka.core.parser.java_cup.runtime.lr_parser CUP$LexParse$parser, java.util.Stack CUP$LexParse$stack, int CUP$LexParse$top) throws java.lang.Exception { /* Symbol object for return from actions */ weka.core.parser.java_cup.runtime.Symbol CUP$LexParse$result; /* select the action based on the action number */ switch (CUP$LexParse$act_num) { /*. . . . . . . . . . . . . . . . . . . .*/ case 71: // preclass ::= LOWERCLASS { Vector RESULT = null; RESULT = makePreClass(sym.LOWERCLASS); CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(15/*preclass*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 70: // preclass ::= UPPERCLASS { Vector RESULT = null; RESULT = makePreClass(sym.UPPERCLASS); CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(15/*preclass*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 69: // preclass ::= DIGITCLASS { Vector RESULT = null; RESULT = makePreClass(sym.DIGITCLASS); CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(15/*preclass*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 68: // preclass ::= LETTERCLASS { Vector RESULT = null; RESULT = makePreClass(sym.LETTERCLASS); CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(15/*preclass*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 67: // preclass ::= JLETTERDIGITCLASS { Vector RESULT = null; RESULT = makePreClass(sym.JLETTERDIGITCLASS); CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(15/*preclass*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 66: // preclass ::= JLETTERCLASS { Vector RESULT = null; RESULT = makePreClass(sym.JLETTERCLASS); CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(15/*preclass*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 65: // classcontentelem ::= CHAR { Interval RESULT = null; int cleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; int cright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; Character c = (Character)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; RESULT = new Interval(c.charValue(), c.charValue()); CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(11/*classcontentelem*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 64: // classcontentelem ::= CHAR DASH CHAR { Interval RESULT = null; int c1left = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).left; int c1right = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).right; Character c1 = (Character)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).value; int c2left = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; int c2right = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; Character c2 = (Character)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; RESULT = new Interval(c1.charValue(), c2.charValue()); CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(11/*classcontentelem*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 63: // classcontent ::= MACROUSE { Vector RESULT = null; int identleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; int identright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; String ident = (String)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; syntaxError(ErrorMessages.CHARCLASS_MACRO, identleft, identright); CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(14/*classcontent*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 62: // classcontent ::= classcontent MACROUSE { Vector RESULT = null; int listleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left; int listright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right; Vector list = (Vector)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value; int identleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; int identright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; String ident = (String)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; syntaxError(ErrorMessages.CHARCLASS_MACRO, identleft, identright); CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(14/*classcontent*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 61: // classcontent ::= STRING { Vector RESULT = null; int sleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; int sright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; String s = (String)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; RESULT = new Vector(); for (int i = 0; i < s.length(); i++) RESULT.addElement(new Interval(s.charAt(i),s.charAt(i))); CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(14/*classcontent*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 60: // classcontent ::= classcontent STRING { Vector RESULT = null; int listleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left; int listright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right; Vector list = (Vector)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value; int sleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; int sright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; String s = (String)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; for (int i = 0; i < s.length(); i++) list.addElement(new Interval(s.charAt(i),s.charAt(i))); RESULT = list; CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(14/*classcontent*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 59: // classcontent ::= preclass { Vector RESULT = null; int listleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; int listright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; Vector list = (Vector)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; RESULT = list; CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(14/*classcontent*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 58: // classcontent ::= classcontent preclass { Vector RESULT = null; int listleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left; int listright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right; Vector list = (Vector)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value; int plistleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; int plistright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; Vector plist = (Vector)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; for (Enumeration e = plist.elements(); e.hasMoreElements();) list.addElement(e.nextElement()); RESULT = list; CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(14/*classcontent*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 57: // classcontent ::= classcontentelem { Vector RESULT = null; int elemleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; int elemright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; Interval elem = (Interval)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; Vector list = new Vector(); list.addElement(elem); RESULT = list; CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(14/*classcontent*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 56: // classcontent ::= classcontent classcontentelem { Vector RESULT = null; int listleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left; int listright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right; Vector list = (Vector)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value; int elemleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; int elemright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; Interval elem = (Interval)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; list.addElement(elem); RESULT = list; CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(14/*classcontent*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 55: // charclass ::= OPENCLASS HAT DASH classcontent CLOSECLASS { RegExp RESULT = null; int listleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left; int listright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right; Vector list = (Vector)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value; int closeleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; int closeright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; Object close = (Object)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; try { list.addElement(new Interval('-','-')); charClasses.makeClassNot(list, Options.jlex && scanner.caseless); } catch (CharClassException e) { syntaxError(ErrorMessages.CHARSET_2_SMALL, closeleft, closeright); } RESULT = new RegExp1(sym.CCLASSNOT,list); CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(9/*charclass*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-4)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 54: // charclass ::= OPENCLASS DASH classcontent CLOSECLASS { RegExp RESULT = null; int listleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left; int listright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right; Vector list = (Vector)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value; int closeleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; int closeright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; Object close = (Object)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; try { list.addElement(new Interval('-','-')); charClasses.makeClass(list, Options.jlex && scanner.caseless); } catch (CharClassException e) { syntaxError(ErrorMessages.CHARSET_2_SMALL, closeleft, closeright); } RESULT = new RegExp1(sym.CCLASS,list); CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(9/*charclass*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-3)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 53: // charclass ::= OPENCLASS HAT classcontent CLOSECLASS { RegExp RESULT = null; int listleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left; int listright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right; Vector list = (Vector)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value; int closeleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; int closeright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; Object close = (Object)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; try { charClasses.makeClassNot(list, Options.jlex && scanner.caseless); } catch (CharClassException e) { syntaxError(ErrorMessages.CHARSET_2_SMALL, closeleft, closeright); } RESULT = new RegExp1(sym.CCLASSNOT,list); CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(9/*charclass*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-3)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 52: // charclass ::= OPENCLASS HAT CLOSECLASS { RegExp RESULT = null; int closeleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; int closeright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; Object close = (Object)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; Vector list = new Vector(); list.addElement(new Interval((char)0,CharClasses.maxChar)); try { charClasses.makeClass(list, false); } catch (CharClassException e) { syntaxError(ErrorMessages.CHARSET_2_SMALL, closeleft, closeright); } RESULT = new RegExp1(sym.CCLASS,list); CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(9/*charclass*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 51: // charclass ::= OPENCLASS classcontent CLOSECLASS { RegExp RESULT = null; int listleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left; int listright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right; Vector list = (Vector)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value; int closeleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; int closeright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; Object close = (Object)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; try { charClasses.makeClass(list, Options.jlex && scanner.caseless); } catch (CharClassException e) { syntaxError(ErrorMessages.CHARSET_2_SMALL, closeleft, closeright); } RESULT = new RegExp1(sym.CCLASS,list); CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(9/*charclass*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 50: // charclass ::= OPENCLASS CLOSECLASS { RegExp RESULT = null; RESULT = new RegExp1(sym.CCLASS,null); CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(9/*charclass*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 49: // regexp ::= CHAR { RegExp RESULT = null; int cleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; int cright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; Character c = (Character)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; try { if ( scanner.caseless ) { charClasses.makeClass(c.charValue(), true); RESULT = new RegExp1(sym.CHAR_I, c); } else { charClasses.makeClass(c.charValue(), false); RESULT = new RegExp1(sym.CHAR, c); } } catch (CharClassException e) { syntaxError(ErrorMessages.CS2SMALL_CHAR, cleft, cright); } CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(8/*regexp*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 48: // regexp ::= POINT { RegExp RESULT = null; Vector any = new Vector(); any.addElement(new Interval('\n','\n')); // assumption: there is no upper case for \n charClasses.makeClass('\n', false); RESULT = new RegExp1(sym.CCLASSNOT, any); CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(8/*regexp*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 47: // regexp ::= STRING { RegExp RESULT = null; int strleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; int strright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; String str = (String)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; try { if ( scanner.caseless ) { charClasses.makeClass(str, true); RESULT = new RegExp1(sym.STRING_I, str); } else { charClasses.makeClass(str, false); RESULT = new RegExp1(sym.STRING, str); } } catch (CharClassException e) { syntaxError(ErrorMessages.CS2SMALL_STRING, strleft, strright); } CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(8/*regexp*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 46: // regexp ::= preclass { RegExp RESULT = null; int listleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; int listright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; Vector list = (Vector)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; try { // assumption [correct?]: preclasses are already closed under case charClasses.makeClass(list, false); } catch (CharClassException e) { syntaxError(ErrorMessages.CHARSET_2_SMALL, listleft); } RESULT = new RegExp1(sym.CCLASS, list); CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(8/*regexp*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 45: // regexp ::= charclass { RegExp RESULT = null; int cleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; int cright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; RegExp c = (RegExp)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; RESULT = c; CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(8/*regexp*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 44: // regexp ::= MACROUSE { RegExp RESULT = null; int identleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; int identright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; String ident = (String)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; if ( !scanner.macroDefinition ) { if ( ! macros.markUsed(ident) ) throw new ScannerException(scanner.file, ErrorMessages.MACRO_UNDECL, identleft, identright); } RESULT = new RegExp1(sym.MACROUSE, ident); CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(8/*regexp*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 43: // regexp ::= OPENBRACKET series CLOSEBRACKET { RegExp RESULT = null; int rleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left; int rright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right; RegExp r = (RegExp)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value; RESULT = r; CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(8/*regexp*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 42: // regexp ::= regexp REPEAT REPEAT RBRACE { RegExp RESULT = null; int rleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-3)).left; int rright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-3)).right; RegExp r = (RegExp)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-3)).value; int n1left = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).left; int n1right = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).right; Integer n1 = (Integer)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).value; int n2left = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left; int n2right = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right; Integer n2 = (Integer)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value; RESULT = makeRepeat(r, n1.intValue(), n2.intValue(), n1left, n2right); CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(8/*regexp*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-3)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 41: // regexp ::= regexp REPEAT RBRACE { RegExp RESULT = null; int rleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).left; int rright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).right; RegExp r = (RegExp)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).value; int nleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left; int nright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right; Integer n = (Integer)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value; int bleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; int bright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; Object b = (Object)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; RESULT = makeRepeat(r, n.intValue(), n.intValue(), bleft, bright); CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(8/*regexp*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 40: // regexp ::= regexp QUESTION { RegExp RESULT = null; int rleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left; int rright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right; RegExp r = (RegExp)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value; RESULT = new RegExp1(sym.QUESTION, r); CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(8/*regexp*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 39: // regexp ::= regexp PLUS { RegExp RESULT = null; int rleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left; int rright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right; RegExp r = (RegExp)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value; RESULT = new RegExp1(sym.PLUS, r); CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(8/*regexp*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 38: // regexp ::= regexp STAR { RegExp RESULT = null; int rleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left; int rright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right; RegExp r = (RegExp)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value; RESULT = new RegExp1(sym.STAR, r); CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(8/*regexp*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 37: // nregexp ::= TILDE nregexp { RegExp RESULT = null; int rleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; int rright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; RegExp r = (RegExp)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; RESULT = new RegExp1(sym.TILDE, r); CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(7/*nregexp*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 36: // nregexp ::= BANG nregexp { RegExp RESULT = null; int rleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; int rright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; RegExp r = (RegExp)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; RESULT = new RegExp1(sym.BANG, r); CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(7/*nregexp*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 35: // nregexp ::= regexp { RegExp RESULT = null; int rleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; int rright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; RegExp r = (RegExp)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; RESULT = r; CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(7/*nregexp*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 34: // concs ::= nregexp { RegExp RESULT = null; int rleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; int rright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; RegExp r = (RegExp)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; RESULT = r; CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(6/*concs*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 33: // concs ::= concs nregexp { RegExp RESULT = null; int r1left = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left; int r1right = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right; RegExp r1 = (RegExp)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value; int r2left = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; int r2right = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; RegExp r2 = (RegExp)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; RESULT = new RegExp2(sym.CONCAT, r1, r2); CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(6/*concs*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 32: // series ::= BAR { RegExp RESULT = null; int bleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; int bright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; Object b = (Object)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; syntaxError(ErrorMessages.REGEXP_EXPECTED, bleft, bright); CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(5/*series*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 31: // series ::= concs { RegExp RESULT = null; int rleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; int rright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; RegExp r = (RegExp)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; RESULT = r; CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(5/*series*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 30: // series ::= series BAR concs { RegExp RESULT = null; int r1left = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).left; int r1right = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).right; RegExp r1 = (RegExp)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).value; int r2left = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; int r2right = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; RegExp r2 = (RegExp)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; RESULT = new RegExp2(sym.BAR, r1, r2); CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(5/*series*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 29: // hatOPT ::= { Boolean RESULT = null; RESULT = new Boolean(false); CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(17/*hatOPT*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 28: // hatOPT ::= HAT { Boolean RESULT = null; // assumption: there is no upper case for \n charClasses.makeClass('\n', false); RESULT = new Boolean(true); CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(17/*hatOPT*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 27: // states ::= IDENT COMMA { Vector RESULT = null; int cleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; int cright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; Object c = (Object)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; syntaxError(ErrorMessages.REGEXP_EXPECTED, cleft, cright+1); CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(12/*states*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 26: // states ::= IDENT { Vector RESULT = null; int idleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; int idright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; String id = (String)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; Vector list = new Vector(); stateNumber = scanner.states.getNumber( id ); if ( stateNumber != null ) list.addElement( stateNumber ); else { throw new ScannerException(scanner.file, ErrorMessages.LEXSTATE_UNDECL, idleft, idright); } RESULT = list; CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(12/*states*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 25: // states ::= IDENT COMMA states { Vector RESULT = null; int idleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).left; int idright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).right; String id = (String)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).value; int listleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; int listright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; Vector list = (Vector)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; stateNumber = scanner.states.getNumber( id ); if ( stateNumber != null ) list.addElement( stateNumber ); else { throw new ScannerException(scanner.file, ErrorMessages.LEXSTATE_UNDECL, idleft, idright); } RESULT = list; CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(12/*states*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 24: // statesOPT ::= { Vector RESULT = null; RESULT = new Vector(); CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(13/*statesOPT*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 23: // statesOPT ::= LESSTHAN states MORETHAN { Vector RESULT = null; int listleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left; int listright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right; Vector list = (Vector)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value; RESULT = list; CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(13/*statesOPT*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 22: // actions ::= NOACTION { Action RESULT = null; RESULT = null; CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(18/*actions*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 21: // actions ::= REGEXPEND ACTION { Action RESULT = null; int aleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; int aright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; Action a = (Action)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; RESULT = a; CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(18/*actions*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 20: // lookaheadOPT ::= LOOKAHEAD series DOLLAR { RegExp RESULT = null; int sleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left; int sright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right; RegExp s = (RegExp)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value; RESULT = new RegExp2(sym.CONCAT, s, makeNL()); CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(10/*lookaheadOPT*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 19: // lookaheadOPT ::= { RegExp RESULT = null; RESULT = null; CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(10/*lookaheadOPT*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 18: // lookaheadOPT ::= LOOKAHEAD series { RegExp RESULT = null; int rleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; int rright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; RegExp r = (RegExp)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; RESULT = r; CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(10/*lookaheadOPT*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 17: // lookaheadOPT ::= DOLLAR { RegExp RESULT = null; RESULT = makeNL(); CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(10/*lookaheadOPT*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 16: // rule ::= error { Integer RESULT = null; CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(3/*rule*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 15: // rule ::= statesOPT EOFRULE ACTION { Integer RESULT = null; int sleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).left; int sright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).right; Vector s = (Vector)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).value; int aleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; int aright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; Action a = (Action)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; RESULT = new Integer(regExps.insert(s, a)); CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(3/*rule*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 14: // rule ::= statesOPT hatOPT series lookaheadOPT actions { Integer RESULT = null; int sleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-4)).left; int sright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-4)).right; Vector s = (Vector)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-4)).value; int bolleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-3)).left; int bolright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-3)).right; Boolean bol = (Boolean)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-3)).value; int rleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).left; int rright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).right; RegExp r = (RegExp)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).value; int lleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left; int lright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right; RegExp l = (RegExp)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value; int aleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; int aright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; Action a = (Action)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; RESULT = new Integer(regExps.insert(rleft, s, r, a, bol, l)); CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(3/*rule*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-4)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 13: // rules ::= rule { Vector RESULT = null; int rleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; int rright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; Integer r = (Integer)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; RESULT = new Vector(); RESULT.addElement(r); CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(16/*rules*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 12: // rules ::= LESSTHAN states MORETHAN LBRACE rules RBRACE { Vector RESULT = null; int statesleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-4)).left; int statesright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-4)).right; Vector states = (Vector)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-4)).value; int rlistleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left; int rlistright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right; Vector rlist = (Vector)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value; Enumeration rs = rlist.elements(); while ( rs.hasMoreElements() ) { Integer elem = (Integer) rs.nextElement(); regExps.addStates( elem.intValue(), states ); } RESULT = rlist; CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(16/*rules*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-5)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 11: // rules ::= rules LESSTHAN states MORETHAN LBRACE rules RBRACE { Vector RESULT = null; int rlist1left = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-6)).left; int rlist1right = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-6)).right; Vector rlist1 = (Vector)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-6)).value; int statesleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-4)).left; int statesright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-4)).right; Vector states = (Vector)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-4)).value; int rlist2left = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left; int rlist2right = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right; Vector rlist2 = (Vector)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value; Enumeration rs = rlist2.elements(); while ( rs.hasMoreElements() ) { Integer elem = (Integer) rs.nextElement(); regExps.addStates( elem.intValue(), states ); rlist1.addElement( elem ); } RESULT = rlist1; CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(16/*rules*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-6)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 10: // rules ::= rules rule { Vector RESULT = null; int rlistleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left; int rlistright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right; Vector rlist = (Vector)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value; int rleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; int rright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; Integer r = (Integer)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; rlist.addElement(r); RESULT = rlist; CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(16/*rules*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 9: // macro ::= IDENT EQUALS { Object RESULT = null; int eleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; int eright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; Object e = (Object)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; syntaxError(ErrorMessages.REGEXP_EXPECTED, eleft, eright); CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(2/*macro*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 8: // macro ::= IDENT EQUALS series REGEXPEND { Object RESULT = null; int nameleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-3)).left; int nameright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-3)).right; String name = (String)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-3)).value; int definitionleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left; int definitionright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right; RegExp definition = (RegExp)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value; macros.insert(name, definition); CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(2/*macro*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-3)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 7: // macro ::= UNICODE { Object RESULT = null; charClasses.setMaxCharCode(0xFFFF); CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(2/*macro*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 6: // macro ::= FULL { Object RESULT = null; charClasses.setMaxCharCode(255); CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(2/*macro*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 5: // macros ::= error { Object RESULT = null; CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(1/*macros*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 4: // macros ::= macros macro { Object RESULT = null; CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(1/*macros*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 3: // macros ::= { Object RESULT = null; CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(1/*macros*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 2: // specification ::= { NFA RESULT = null; fatalError(ErrorMessages.NO_LEX_SPEC); CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(4/*specification*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 1: // specification ::= USERCODE macros DELIMITER rules { NFA RESULT = null; scanner.t.stop(); Out.checkErrors(); Out.time(ErrorMessages.PARSING_TOOK, t); macros.expand(); Enumeration unused = macros.unused(); while ( unused.hasMoreElements() ) { Out.warning("Macro \""+unused.nextElement()+"\" has been declared but never used."); } SemCheck.check(regExps, macros, charClasses.getMaxCharCode(), scanner.file); regExps.checkActions(); if (Options.dump) charClasses.dump(); Out.print("Constructing NFA : "); t.start(); int num = regExps.getNum(); RESULT = new NFA(charClasses.getNumClasses(), scanner, regExps, macros, charClasses); eofActions.setNumLexStates(scanner.states.number()); for (int i = 0; i < num; i++) { if (regExps.isEOF(i)) eofActions.add( regExps.getStates(i), regExps.getAction(i) ); else RESULT.addRegExp(i); } if (scanner.standalone) RESULT.addStandaloneRule(); t.stop(); Out.time(""); Out.time(ErrorMessages.NFA_TOOK, t); CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(4/*specification*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-3)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } return CUP$LexParse$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 0: // $START ::= specification EOF { Object RESULT = null; int start_valleft = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left; int start_valright = ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right; NFA start_val = (NFA)((weka.core.parser.java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value; RESULT = start_val; CUP$LexParse$result = new weka.core.parser.java_cup.runtime.Symbol(0/*$START*/, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left, ((weka.core.parser.java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); } /* ACCEPT */ CUP$LexParse$parser.done_parsing(); return CUP$LexParse$result; /* . . . . . .*/ default: throw new Exception( "Invalid action number found in internal parse table"); } } }