package jflex.core;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import jflex.chars.Interval;
import jflex.core.unicode.CharClasses;
import jflex.core.unicode.IntCharSet;
import jflex.core.unicode.UnicodeProperties;
import jflex.exceptions.GeneratorException;
import jflex.l10n.ErrorMessages;
import jflex.logging.Out;
import jflex.option.Options;
import jflex.performance.Timer;
import jflex.scanner.ScannerException;
import java_cup.runtime.Symbol;
import java_cup.runtime.XMLElement;
@SuppressWarnings({"rawtypes"})
public class LexParse extends java_cup.runtime.lr_parser {
public final Class getSymbolContainer() {
return sym.class;
}
@Deprecated
public LexParse() {super();}
@Deprecated
public LexParse(java_cup.runtime.Scanner s) {super(s);}
public LexParse(java_cup.runtime.Scanner s, java_cup.runtime.SymbolFactory sf) {super(s,sf);}
protected static final short _production_table[][] =
unpackFromStrings(new String[] {
"\000\127\000\002\002\004\000\002\005\006\000\002\005" +
"\002\000\002\002\002\000\002\002\004\000\002\002\003" +
"\000\002\003\006\000\002\003\004\000\002\023\004\000" +
"\002\023\011\000\002\023\010\000\002\023\003\000\002" +
"\004\006\000\002\004\007\000\002\004\007\000\002\004" +
"\005\000\002\004\005\000\002\004\003\000\002\013\003" +
"\000\002\013\004\000\002\013\005\000\002\026\004\000" +
"\002\027\003\000\002\027\003\000\002\022\005\000\002" +
"\022\002\000\002\021\005\000\002\021\003\000\002\021" +
"\004\000\002\025\003\000\002\025\002\000\002\006\005" +
"\000\002\006\003\000\002\006\003\000\002\007\004\000" +
"\002\007\003\000\002\010\003\000\002\010\004\000\002" +
"\010\004\000\002\011\004\000\002\011\004\000\002\011" +
"\004\000\002\011\005\000\002\011\006\000\002\011\005" +
"\000\002\011\003\000\002\011\003\000\002\011\003\000" +
"\002\011\003\000\002\011\003\000\002\011\003\000\002" +
"\011\003\000\002\011\003\000\002\011\003\000\002\012" +
"\004\000\002\012\005\000\002\012\005\000\002\012\007" +
"\000\002\012\010\000\002\024\003\000\002\024\003\000" +
"\002\024\003\000\002\014\003\000\002\014\004\000\002" +
"\017\003\000\002\017\004\000\002\020\004\000\002\020" +
"\003\000\002\015\005\000\002\015\003\000\002\015\003" +
"\000\002\015\003\000\002\015\003\000\002\015\003\000" +
"\002\015\003\000\002\015\003\000\002\016\003\000\002" +
"\016\003\000\002\016\003\000\002\016\003\000\002\016" +
"\003\000\002\016\003\000\002\016\003\000\002\016\003" +
"\000\002\016\003\000\002\016\003\000\002\016\003" });
public short[][] production_table() {return _production_table;}
protected static final short[][] _action_table =
unpackFromStrings(new String[] {
"\000\175\000\006\002\uffff\047\004\001\002\000\010\003" +
"\007\013\ufffe\046\ufffe\001\002\000\004\002\006\001\002" +
"\000\004\002\001\001\002\000\006\013\ufffc\046\ufffc\001" +
"\002\000\006\013\011\046\013\001\002\000\070\003\132" +
"\004\uffe8\006\uffe8\010\uffe8\016\134\023\uffe8\024\uffe8\025" +
"\uffe8\026\uffe8\027\uffe8\030\uffe8\031\uffe8\032\uffe8\035\uffe8" +
"\036\uffe8\037\uffe8\040\uffe8\053\uffe8\055\uffe8\056\uffe8\057" +
"\uffe8\060\uffe8\061\uffe8\062\uffe8\063\uffe8\064\uffe8\065\uffe8" +
"\001\002\000\006\013\ufffd\046\ufffd\001\002\000\004\014" +
"\014\001\002\000\064\004\040\010\051\013\ufffa\023\026" +
"\024\034\025\016\026\046\027\021\030\041\031\035\035" +
"\024\036\047\037\022\040\025\046\ufffa\053\045\055\023" +
"\056\036\057\043\060\027\061\020\062\033\063\030\064" +
"\017\065\015\001\002\000\102\004\uffd0\005\uffd0\007\uffd0" +
"\010\uffd0\022\uffd0\023\uffd0\024\uffd0\025\uffd0\026\uffd0\027" +
"\uffd0\030\uffd0\031\uffd0\033\uffd0\034\uffd0\035\uffd0\036\uffd0" +
"\037\uffd0\040\uffd0\050\uffd0\051\uffd0\052\uffd0\053\uffd0\054" +
"\uffd0\055\uffd0\056\uffd0\057\uffd0\060\uffd0\061\uffd0\062\uffd0" +
"\063\uffd0\064\uffd0\065\uffd0\001\002\000\112\004\uffb3\005" +
"\uffb3\007\uffb3\010\uffb3\011\uffb3\022\uffb3\023\uffb3\024\uffb3" +
"\025\uffb3\026\uffb3\027\uffb3\030\uffb3\031\uffb3\033\uffb3\034" +
"\uffb3\035\uffb3\036\uffb3\037\uffb3\040\uffb3\042\uffb3\043\uffb3" +
"\044\uffb3\050\uffb3\051\uffb3\052\uffb3\053\uffb3\054\uffb3\055" +
"\uffb3\056\uffb3\057\uffb3\060\uffb3\061\uffb3\062\uffb3\063\uffb3" +
"\064\uffb3\065\uffb3\001\002\000\102\004\uffd1\005\uffd1\007" +
"\uffd1\010\uffd1\022\uffd1\023\uffd1\024\uffd1\025\uffd1\026\uffd1" +
"\027\uffd1\030\uffd1\031\uffd1\033\uffd1\034\uffd1\035\uffd1\036" +
"\uffd1\037\uffd1\040\uffd1\050\uffd1\051\uffd1\052\uffd1\053\uffd1" +
"\054\uffd1\055\uffd1\056\uffd1\057\uffd1\060\uffd1\061\uffd1\062" +
"\uffd1\063\uffd1\064\uffd1\065\uffd1\001\002\000\102\004\uffcc" +
"\005\uffcc\007\uffcc\010\uffcc\022\uffcc\023\uffcc\024\uffcc\025" +
"\uffcc\026\uffcc\027\uffcc\030\uffcc\031\uffcc\033\uffcc\034\uffcc" +
"\035\uffcc\036\uffcc\037\uffcc\040\uffcc\050\uffcc\051\uffcc\052" +
"\uffcc\053\uffcc\054\uffcc\055\uffcc\056\uffcc\057\uffcc\060\uffcc" +
"\061\uffcc\062\uffcc\063\uffcc\064\uffcc\065\uffcc\001\002\000" +
"\112\004\uffb1\005\uffb1\007\uffb1\010\uffb1\011\uffb1\022\uffb1" +
"\023\uffb1\024\uffb1\025\uffb1\026\uffb1\027\uffb1\030\uffb1\031" +
"\uffb1\033\uffb1\034\uffb1\035\uffb1\036\uffb1\037\uffb1\040\uffb1" +
"\042\uffb1\043\uffb1\044\uffb1\050\uffb1\051\uffb1\052\uffb1\053" +
"\uffb1\054\uffb1\055\uffb1\056\uffb1\057\uffb1\060\uffb1\061\uffb1" +
"\062\uffb1\063\uffb1\064\uffb1\065\uffb1\001\002\000\112\004" +
"\uffac\005\uffac\007\uffac\010\uffac\011\uffac\022\uffac\023\uffac" +
"\024\uffac\025\uffac\026\uffac\027\uffac\030\uffac\031\uffac\033" +
"\uffac\034\uffac\035\uffac\036\uffac\037\uffac\040\uffac\042\uffac" +
"\043\uffac\044\uffac\050\uffac\051\uffac\052\uffac\053\uffac\054" +
"\uffac\055\uffac\056\uffac\057\uffac\060\uffac\061\uffac\062\uffac" +
"\063\uffac\064\uffac\065\uffac\001\002\000\102\004\uffce\005" +
"\uffce\007\uffce\010\uffce\022\uffce\023\uffce\024\uffce\025\uffce" +
"\026\uffce\027\uffce\030\uffce\031\uffce\033\uffce\034\uffce\035" +
"\uffce\036\uffce\037\uffce\040\uffce\050\uffce\051\uffce\052\uffce" +
"\053\uffce\054\uffce\055\uffce\056\uffce\057\uffce\060\uffce\061" +
"\uffce\062\uffce\063\uffce\064\uffce\065\uffce\001\002\000\112" +
"\004\uffae\005\uffae\007\uffae\010\uffae\011\uffae\022\uffae\023" +
"\uffae\024\uffae\025\uffae\026\uffae\027\uffae\030\uffae\031\uffae" +
"\033\uffae\034\uffae\035\uffae\036\uffae\037\uffae\040\uffae\042" +
"\uffae\043\uffae\044\uffae\050\uffae\051\uffae\052\uffae\053\uffae" +
"\054\uffae\055\uffae\056\uffae\057\uffae\060\uffae\061\uffae\062" +
"\uffae\063\uffae\064\uffae\065\uffae\001\002\000\112\004\uffab" +
"\005\uffab\007\uffab\010\uffab\011\uffab\022\uffab\023\uffab\024" +
"\uffab\025\uffab\026\uffab\027\uffab\030\uffab\031\uffab\033\uffab" +
"\034\uffab\035\uffab\036\uffab\037\uffab\040\uffab\042\uffab\043" +
"\uffab\044\uffab\050\uffab\051\uffab\052\uffab\053\uffab\054\uffab" +
"\055\uffab\056\uffab\057\uffab\060\uffab\061\uffab\062\uffab\063" +
"\uffab\064\uffab\065\uffab\001\002\000\112\004\uffb5\005\uffb5" +
"\007\uffb5\010\uffb5\011\uffb5\022\uffb5\023\uffb5\024\uffb5\025" +
"\uffb5\026\uffb5\027\uffb5\030\uffb5\031\uffb5\033\uffb5\034\uffb5" +
"\035\uffb5\036\uffb5\037\uffb5\040\uffb5\042\uffb5\043\uffb5\044" +
"\uffb5\050\uffb5\051\uffb5\052\uffb5\053\uffb5\054\uffb5\055\uffb5" +
"\056\uffb5\057\uffb5\060\uffb5\061\uffb5\062\uffb5\063\uffb5\064" +
"\uffb5\065\uffb5\001\002\000\056\004\040\010\051\023\026" +
"\024\034\025\016\026\046\027\021\030\041\031\035\035" +
"\024\036\047\037\022\040\025\055\023\056\036\057\043" +
"\060\027\061\020\062\033\063\030\064\017\065\015\001" +
"\002\000\102\004\uffd4\005\uffd4\007\uffd4\010\uffd4\022\uffd4" +
"\023\uffd4\024\uffd4\025\uffd4\026\uffd4\027\uffd4\030\uffd4\031" +
"\uffd4\033\uffd4\034\uffd4\035\uffd4\036\uffd4\037\uffd4\040\uffd4" +
"\050\uffd4\051\uffd4\052\uffd4\053\uffd4\054\uffd4\055\uffd4\056" +
"\uffd4\057\uffd4\060\uffd4\061\uffd4\062\uffd4\063\uffd4\064\uffd4" +
"\065\uffd4\001\002\000\006\022\130\053\124\001\002\000" +
"\102\004\uffd2\005\uffd2\007\uffd2\010\uffd2\022\uffd2\023\uffd2" +
"\024\uffd2\025\uffd2\026\uffd2\027\uffd2\030\uffd2\031\uffd2\033" +
"\uffd2\034\uffd2\035\uffd2\036\uffd2\037\uffd2\040\uffd2\050\uffd2" +
"\051\uffd2\052\uffd2\053\uffd2\054\uffd2\055\uffd2\056\uffd2\057" +
"\uffd2\060\uffd2\061\uffd2\062\uffd2\063\uffd2\064\uffd2\065\uffd2" +
"\001\002\000\102\004\uffcf\005\uffcf\007\uffcf\010\uffcf\022" +
"\uffcf\023\uffcf\024\uffcf\025\uffcf\026\uffcf\027\uffcf\030\uffcf" +
"\031\uffcf\033\uffcf\034\uffcf\035\uffcf\036\uffcf\037\uffcf\040" +
"\uffcf\050\uffcf\051\uffcf\052\uffcf\053\uffcf\054\uffcf\055\uffcf" +
"\056\uffcf\057\uffcf\060\uffcf\061\uffcf\062\uffcf\063\uffcf\064" +
"\uffcf\065\uffcf\001\002\000\112\004\uffb4\005\uffb4\007\uffb4" +
"\010\uffb4\011\uffb4\022\uffb4\023\uffb4\024\uffb4\025\uffb4\026" +
"\uffb4\027\uffb4\030\uffb4\031\uffb4\033\uffb4\034\uffb4\035\uffb4" +
"\036\uffb4\037\uffb4\040\uffb4\042\uffb4\043\uffb4\044\uffb4\050" +
"\uffb4\051\uffb4\052\uffb4\053\uffb4\054\uffb4\055\uffb4\056\uffb4" +
"\057\uffb4\060\uffb4\061\uffb4\062\uffb4\063\uffb4\064\uffb4\065" +
"\uffb4\001\002\000\112\004\uffaf\005\uffaf\007\uffaf\010\uffaf" +
"\011\uffaf\022\uffaf\023\uffaf\024\uffaf\025\uffaf\026\uffaf\027" +
"\uffaf\030\uffaf\031\uffaf\033\uffaf\034\uffaf\035\uffaf\036\uffaf" +
"\037\uffaf\040\uffaf\042\uffaf\043\uffaf\044\uffaf\050\uffaf\051" +
"\uffaf\052\uffaf\053\uffaf\054\uffaf\055\uffaf\056\uffaf\057\uffaf" +
"\060\uffaf\061\uffaf\062\uffaf\063\uffaf\064\uffaf\065\uffaf\001" +
"\002\000\102\004\uffcd\005\uffcd\007\uffcd\010\uffcd\022\uffcd" +
"\023\uffcd\024\uffcd\025\uffcd\026\uffcd\027\uffcd\030\uffcd\031" +
"\uffcd\033\uffcd\034\uffcd\035\uffcd\036\uffcd\037\uffcd\040\uffcd" +
"\050\uffcd\051\uffcd\052\uffcd\053\uffcd\054\uffcd\055\uffcd\056" +
"\uffcd\057\uffcd\060\uffcd\061\uffcd\062\uffcd\063\uffcd\064\uffcd" +
"\065\uffcd\001\002\000\072\004\040\005\uffe1\007\uffe1\010" +
"\051\022\uffe1\023\026\024\034\025\016\026\046\027\021" +
"\030\041\031\035\033\uffe1\034\uffe1\035\024\036\047\037" +
"\022\040\025\053\uffe1\055\023\056\036\057\043\060\027" +
"\061\020\062\033\063\030\064\017\065\015\001\002\000" +
"\060\004\040\010\051\023\026\024\034\025\016\026\046" +
"\027\021\030\041\031\035\035\024\036\047\037\022\040" +
"\025\053\045\055\023\056\036\057\043\060\027\061\020" +
"\062\033\063\030\064\017\065\015\001\002\000\112\004" +
"\uffb0\005\uffb0\007\uffb0\010\uffb0\011\uffb0\022\uffb0\023\uffb0" +
"\024\uffb0\025\uffb0\026\uffb0\027\uffb0\030\uffb0\031\uffb0\033" +
"\uffb0\034\uffb0\035\uffb0\036\uffb0\037\uffb0\040\uffb0\042\uffb0" +
"\043\uffb0\044\uffb0\050\uffb0\051\uffb0\052\uffb0\053\uffb0\054" +
"\uffb0\055\uffb0\056\uffb0\057\uffb0\060\uffb0\061\uffb0\062\uffb0" +
"\063\uffb0\064\uffb0\065\uffb0\001\002\000\102\004\uffd3\005" +
"\uffd3\007\uffd3\010\uffd3\022\uffd3\023\uffd3\024\uffd3\025\uffd3" +
"\026\uffd3\027\uffd3\030\uffd3\031\uffd3\033\uffd3\034\uffd3\035" +
"\uffd3\036\uffd3\037\uffd3\040\uffd3\050\uffd3\051\uffd3\052\uffd3" +
"\053\uffd3\054\uffd3\055\uffd3\056\uffd3\057\uffd3\060\uffd3\061" +
"\uffd3\062\uffd3\063\uffd3\064\uffd3\065\uffd3\001\002\000\056" +
"\004\040\010\051\023\026\024\034\025\016\026\046\027" +
"\021\030\041\031\035\035\024\036\047\037\022\040\025" +
"\055\023\056\036\057\043\060\027\061\020\062\033\063" +
"\030\064\017\065\015\001\002\000\072\004\uffde\005\uffde" +
"\007\uffde\010\uffde\022\uffde\023\uffde\024\uffde\025\uffde\026" +
"\uffde\027\uffde\030\uffde\031\uffde\033\uffde\034\uffde\035\uffde" +
"\036\uffde\037\uffde\040\uffde\053\uffde\055\uffde\056\uffde\057" +
"\uffde\060\uffde\061\uffde\062\uffde\063\uffde\064\uffde\065\uffde" +
"\001\002\000\016\005\uffe0\007\uffe0\022\uffe0\033\uffe0\034" +
"\uffe0\053\uffe0\001\002\000\112\004\uffb2\005\uffb2\007\uffb2" +
"\010\uffb2\011\uffb2\022\uffb2\023\uffb2\024\uffb2\025\uffb2\026" +
"\uffb2\027\uffb2\030\uffb2\031\uffb2\033\uffb2\034\uffb2\035\uffb2" +
"\036\uffb2\037\uffb2\040\uffb2\042\uffb2\043\uffb2\044\uffb2\050" +
"\uffb2\051\uffb2\052\uffb2\053\uffb2\054\uffb2\055\uffb2\056\uffb2" +
"\057\uffb2\060\uffb2\061\uffb2\062\uffb2\063\uffb2\064\uffb2\065" +
"\uffb2\001\002\000\112\004\uffad\005\uffad\007\uffad\010\uffad" +
"\011\uffad\022\uffad\023\uffad\024\uffad\025\uffad\026\uffad\027" +
"\uffad\030\uffad\031\uffad\033\uffad\034\uffad\035\uffad\036\uffad" +
"\037\uffad\040\uffad\042\uffad\043\uffad\044\uffad\050\uffad\051" +
"\uffad\052\uffad\053\uffad\054\uffad\055\uffad\056\uffad\057\uffad" +
"\060\uffad\061\uffad\062\uffad\063\uffad\064\uffad\065\uffad\001" +
"\002\000\102\004\uffdd\005\uffdd\007\uffdd\010\uffdd\022\uffdd" +
"\023\uffdd\024\uffdd\025\uffdd\026\uffdd\027\uffdd\030\uffdd\031" +
"\uffdd\033\uffdd\034\uffdd\035\uffdd\036\uffdd\037\uffdd\040\uffdd" +
"\050\115\051\113\052\114\053\uffdd\054\116\055\uffdd\056" +
"\uffdd\057\uffdd\060\uffdd\061\uffdd\062\uffdd\063\uffdd\064\uffdd" +
"\065\uffdd\001\002\000\052\006\055\010\051\011\066\012" +
"\064\023\026\024\034\025\016\026\046\027\021\030\041" +
"\031\035\035\024\036\047\037\022\040\025\061\056\062" +
"\062\063\060\064\053\065\052\001\002\000\054\010\uffb8" +
"\011\uffb8\023\uffb8\024\uffb8\025\uffb8\026\uffb8\027\uffb8\030" +
"\uffb8\031\uffb8\035\uffb8\036\uffb8\037\uffb8\040\uffb8\042\uffb8" +
"\043\uffb8\044\uffb8\061\uffb8\062\uffb8\063\uffb8\064\uffb8\065" +
"\uffb8\001\002\000\054\010\uffb9\011\uffb9\023\uffb9\024\uffb9" +
"\025\uffb9\026\uffb9\027\uffb9\030\uffb9\031\uffb9\035\uffb9\036" +
"\uffb9\037\uffb9\040\uffb9\042\uffb9\043\uffb9\044\uffb9\061\uffb9" +
"\062\uffb9\063\uffb9\064\uffb9\065\uffb9\001\002\000\054\010" +
"\uffbe\011\uffbe\023\uffbe\024\uffbe\025\uffbe\026\uffbe\027\uffbe" +
"\030\uffbe\031\uffbe\035\uffbe\036\uffbe\037\uffbe\040\uffbe\042" +
"\uffbe\043\uffbe\044\uffbe\061\uffbe\062\uffbe\063\uffbe\064\uffbe" +
"\065\uffbe\001\002\000\050\010\051\011\107\012\064\023" +
"\026\024\034\025\016\026\046\027\021\030\041\031\035" +
"\035\024\036\047\037\022\040\025\061\056\062\062\063" +
"\060\064\053\065\052\001\002\000\056\010\uffbc\011\uffbc" +
"\012\104\023\uffbc\024\uffbc\025\uffbc\026\uffbc\027\uffbc\030" +
"\uffbc\031\uffbc\035\uffbc\036\uffbc\037\uffbc\040\uffbc\042\uffbc" +
"\043\uffbc\044\uffbc\061\uffbc\062\uffbc\063\uffbc\064\uffbc\065" +
"\uffbc\001\002\000\004\011\103\001\002\000\054\010\uffb7" +
"\011\uffb7\023\uffb7\024\uffb7\025\uffb7\026\uffb7\027\uffb7\030" +
"\uffb7\031\uffb7\035\uffb7\036\uffb7\037\uffb7\040\uffb7\042\uffb7" +
"\043\uffb7\044\uffb7\061\uffb7\062\uffb7\063\uffb7\064\uffb7\065" +
"\uffb7\001\002\000\054\010\uffba\011\uffba\023\uffba\024\uffba" +
"\025\uffba\026\uffba\027\uffba\030\uffba\031\uffba\035\uffba\036" +
"\uffba\037\uffba\040\uffba\042\uffba\043\uffba\044\uffba\061\uffba" +
"\062\uffba\063\uffba\064\uffba\065\uffba\001\002\000\054\010" +
"\uffbb\011\uffbb\023\uffbb\024\uffbb\025\uffbb\026\uffbb\027\uffbb" +
"\030\uffbb\031\uffbb\035\uffbb\036\uffbb\037\uffbb\040\uffbb\042" +
"\uffbb\043\uffbb\044\uffbb\061\uffbb\062\uffbb\063\uffbb\064\uffbb" +
"\065\uffbb\001\002\000\012\011\uffc3\042\074\043\073\044" +
"\075\001\002\000\044\010\051\023\026\024\034\025\016" +
"\026\046\027\021\030\041\031\035\035\024\036\047\037" +
"\022\040\025\061\056\062\062\063\060\064\053\065\052" +
"\001\002\000\054\010\uffb6\011\uffb6\023\uffb6\024\uffb6\025" +
"\uffb6\026\uffb6\027\uffb6\030\uffb6\031\uffb6\035\uffb6\036\uffb6" +
"\037\uffb6\040\uffb6\042\uffb6\043\uffb6\044\uffb6\061\uffb6\062" +
"\uffb6\063\uffb6\064\uffb6\065\uffb6\001\002\000\112\004\uffcb" +
"\005\uffcb\007\uffcb\010\uffcb\011\uffcb\022\uffcb\023\uffcb\024" +
"\uffcb\025\uffcb\026\uffcb\027\uffcb\030\uffcb\031\uffcb\033\uffcb" +
"\034\uffcb\035\uffcb\036\uffcb\037\uffcb\040\uffcb\042\uffcb\043" +
"\uffcb\044\uffcb\050\uffcb\051\uffcb\052\uffcb\053\uffcb\054\uffcb" +
"\055\uffcb\056\uffcb\057\uffcb\060\uffcb\061\uffcb\062\uffcb\063" +
"\uffcb\064\uffcb\065\uffcb\001\002\000\054\010\051\011\uffc1" +
"\023\026\024\034\025\016\026\046\027\021\030\041\031" +
"\035\035\024\036\047\037\022\040\025\042\uffc1\043\uffc1" +
"\044\uffc1\061\056\062\062\063\060\064\053\065\052\001" +
"\002\000\054\010\uffbf\011\uffbf\023\uffbf\024\uffbf\025\uffbf" +
"\026\uffbf\027\uffbf\030\uffbf\031\uffbf\035\uffbf\036\uffbf\037" +
"\uffbf\040\uffbf\042\uffbf\043\uffbf\044\uffbf\061\uffbf\062\uffbf" +
"\063\uffbf\064\uffbf\065\uffbf\001\002\000\054\010\051\011" +
"\uffc0\023\026\024\034\025\016\026\046\027\021\030\041" +
"\031\035\035\024\036\047\037\022\040\025\042\uffc0\043" +
"\uffc0\044\uffc0\061\056\062\062\063\060\064\053\065\052" +
"\001\002\000\050\006\076\010\051\012\064\023\026\024" +
"\034\025\016\026\046\027\021\030\041\031\035\035\024" +
"\036\047\037\022\040\025\061\056\062\062\063\060\064" +
"\053\065\052\001\002\000\050\006\uffc5\010\uffc5\012\uffc5" +
"\023\uffc5\024\uffc5\025\uffc5\026\uffc5\027\uffc5\030\uffc5\031" +
"\uffc5\035\uffc5\036\uffc5\037\uffc5\040\uffc5\061\uffc5\062\uffc5" +
"\063\uffc5\064\uffc5\065\uffc5\001\002\000\050\006\uffc6\010" +
"\uffc6\012\uffc6\023\uffc6\024\uffc6\025\uffc6\026\uffc6\027\uffc6" +
"\030\uffc6\031\uffc6\035\uffc6\036\uffc6\037\uffc6\040\uffc6\061" +
"\uffc6\062\uffc6\063\uffc6\064\uffc6\065\uffc6\001\002\000\050" +
"\006\uffc4\010\uffc4\012\uffc4\023\uffc4\024\uffc4\025\uffc4\026" +
"\uffc4\027\uffc4\030\uffc4\031\uffc4\035\uffc4\036\uffc4\037\uffc4" +
"\040\uffc4\061\uffc4\062\uffc4\063\uffc4\064\uffc4\065\uffc4\001" +
"\002\000\046\010\051\012\064\023\026\024\034\025\016" +
"\026\046\027\021\030\041\031\035\035\024\036\047\037" +
"\022\040\025\061\056\062\062\063\060\064\053\065\052" +
"\001\002\000\004\011\101\001\002\000\004\011\uffc3\001" +
"\002\000\112\004\uffc8\005\uffc8\007\uffc8\010\uffc8\011\uffc8" +
"\022\uffc8\023\uffc8\024\uffc8\025\uffc8\026\uffc8\027\uffc8\030" +
"\uffc8\031\uffc8\033\uffc8\034\uffc8\035\uffc8\036\uffc8\037\uffc8" +
"\040\uffc8\042\uffc8\043\uffc8\044\uffc8\050\uffc8\051\uffc8\052" +
"\uffc8\053\uffc8\054\uffc8\055\uffc8\056\uffc8\057\uffc8\060\uffc8" +
"\061\uffc8\062\uffc8\063\uffc8\064\uffc8\065\uffc8\001\002\000" +
"\004\011\uffc2\001\002\000\112\004\uffc9\005\uffc9\007\uffc9" +
"\010\uffc9\011\uffc9\022\uffc9\023\uffc9\024\uffc9\025\uffc9\026" +
"\uffc9\027\uffc9\030\uffc9\031\uffc9\033\uffc9\034\uffc9\035\uffc9" +
"\036\uffc9\037\uffc9\040\uffc9\042\uffc9\043\uffc9\044\uffc9\050" +
"\uffc9\051\uffc9\052\uffc9\053\uffc9\054\uffc9\055\uffc9\056\uffc9" +
"\057\uffc9\060\uffc9\061\uffc9\062\uffc9\063\uffc9\064\uffc9\065" +
"\uffc9\001\002\000\004\061\105\001\002\000\054\010\uffbd" +
"\011\uffbd\023\uffbd\024\uffbd\025\uffbd\026\uffbd\027\uffbd\030" +
"\uffbd\031\uffbd\035\uffbd\036\uffbd\037\uffbd\040\uffbd\042\uffbd" +
"\043\uffbd\044\uffbd\061\uffbd\062\uffbd\063\uffbd\064\uffbd\065" +
"\uffbd\001\002\000\012\011\uffc2\042\074\043\073\044\075" +
"\001\002\000\112\004\uffca\005\uffca\007\uffca\010\uffca\011" +
"\uffca\022\uffca\023\uffca\024\uffca\025\uffca\026\uffca\027\uffca" +
"\030\uffca\031\uffca\033\uffca\034\uffca\035\uffca\036\uffca\037" +
"\uffca\040\uffca\042\uffca\043\uffca\044\uffca\050\uffca\051\uffca" +
"\052\uffca\053\uffca\054\uffca\055\uffca\056\uffca\057\uffca\060" +
"\uffca\061\uffca\062\uffca\063\uffca\064\uffca\065\uffca\001\002" +
"\000\050\006\076\010\051\012\064\023\026\024\034\025" +
"\016\026\046\027\021\030\041\031\035\035\024\036\047" +
"\037\022\040\025\061\056\062\062\063\060\064\053\065" +
"\052\001\002\000\004\011\112\001\002\000\112\004\uffc7" +
"\005\uffc7\007\uffc7\010\uffc7\011\uffc7\022\uffc7\023\uffc7\024" +
"\uffc7\025\uffc7\026\uffc7\027\uffc7\030\uffc7\031\uffc7\033\uffc7" +
"\034\uffc7\035\uffc7\036\uffc7\037\uffc7\040\uffc7\042\uffc7\043" +
"\uffc7\044\uffc7\050\uffc7\051\uffc7\052\uffc7\053\uffc7\054\uffc7" +
"\055\uffc7\056\uffc7\057\uffc7\060\uffc7\061\uffc7\062\uffc7\063" +
"\uffc7\064\uffc7\065\uffc7\001\002\000\102\004\uffda\005\uffda" +
"\007\uffda\010\uffda\022\uffda\023\uffda\024\uffda\025\uffda\026" +
"\uffda\027\uffda\030\uffda\031\uffda\033\uffda\034\uffda\035\uffda" +
"\036\uffda\037\uffda\040\uffda\050\uffda\051\uffda\052\uffda\053" +
"\uffda\054\uffda\055\uffda\056\uffda\057\uffda\060\uffda\061\uffda" +
"\062\uffda\063\uffda\064\uffda\065\uffda\001\002\000\102\004" +
"\uffd9\005\uffd9\007\uffd9\010\uffd9\022\uffd9\023\uffd9\024\uffd9" +
"\025\uffd9\026\uffd9\027\uffd9\030\uffd9\031\uffd9\033\uffd9\034" +
"\uffd9\035\uffd9\036\uffd9\037\uffd9\040\uffd9\050\uffd9\051\uffd9" +
"\052\uffd9\053\uffd9\054\uffd9\055\uffd9\056\uffd9\057\uffd9\060" +
"\uffd9\061\uffd9\062\uffd9\063\uffd9\064\uffd9\065\uffd9\001\002" +
"\000\006\021\117\050\120\001\002\000\102\004\uffd8\005" +
"\uffd8\007\uffd8\010\uffd8\022\uffd8\023\uffd8\024\uffd8\025\uffd8" +
"\026\uffd8\027\uffd8\030\uffd8\031\uffd8\033\uffd8\034\uffd8\035" +
"\uffd8\036\uffd8\037\uffd8\040\uffd8\050\uffd8\051\uffd8\052\uffd8" +
"\053\uffd8\054\uffd8\055\uffd8\056\uffd8\057\uffd8\060\uffd8\061" +
"\uffd8\062\uffd8\063\uffd8\064\uffd8\065\uffd8\001\002\000\102" +
"\004\uffd7\005\uffd7\007\uffd7\010\uffd7\022\uffd7\023\uffd7\024" +
"\uffd7\025\uffd7\026\uffd7\027\uffd7\030\uffd7\031\uffd7\033\uffd7" +
"\034\uffd7\035\uffd7\036\uffd7\037\uffd7\040\uffd7\050\uffd7\051" +
"\uffd7\052\uffd7\053\uffd7\054\uffd7\055\uffd7\056\uffd7\057\uffd7" +
"\060\uffd7\061\uffd7\062\uffd7\063\uffd7\064\uffd7\065\uffd7\001" +
"\002\000\004\021\121\001\002\000\102\004\uffd6\005\uffd6" +
"\007\uffd6\010\uffd6\022\uffd6\023\uffd6\024\uffd6\025\uffd6\026" +
"\uffd6\027\uffd6\030\uffd6\031\uffd6\033\uffd6\034\uffd6\035\uffd6" +
"\036\uffd6\037\uffd6\040\uffd6\050\uffd6\051\uffd6\052\uffd6\053" +
"\uffd6\054\uffd6\055\uffd6\056\uffd6\057\uffd6\060\uffd6\061\uffd6" +
"\062\uffd6\063\uffd6\064\uffd6\065\uffd6\001\002\000\072\004" +
"\uffdc\005\uffdc\007\uffdc\010\uffdc\022\uffdc\023\uffdc\024\uffdc" +
"\025\uffdc\026\uffdc\027\uffdc\030\uffdc\031\uffdc\033\uffdc\034" +
"\uffdc\035\uffdc\036\uffdc\037\uffdc\040\uffdc\053\uffdc\055\uffdc" +
"\056\uffdc\057\uffdc\060\uffdc\061\uffdc\062\uffdc\063\uffdc\064" +
"\uffdc\065\uffdc\001\002\000\006\005\125\053\124\001\002" +
"\000\056\004\040\010\051\023\026\024\034\025\016\026" +
"\046\027\021\030\041\031\035\035\024\036\047\037\022" +
"\040\025\055\023\056\036\057\043\060\027\061\020\062" +
"\033\063\030\064\017\065\015\001\002\000\102\004\uffd5" +
"\005\uffd5\007\uffd5\010\uffd5\022\uffd5\023\uffd5\024\uffd5\025" +
"\uffd5\026\uffd5\027\uffd5\030\uffd5\031\uffd5\033\uffd5\034\uffd5" +
"\035\uffd5\036\uffd5\037\uffd5\040\uffd5\050\uffd5\051\uffd5\052" +
"\uffd5\053\uffd5\054\uffd5\055\uffd5\056\uffd5\057\uffd5\060\uffd5" +
"\061\uffd5\062\uffd5\063\uffd5\064\uffd5\065\uffd5\001\002\000" +
"\072\004\040\005\uffe2\007\uffe2\010\051\022\uffe2\023\026" +
"\024\034\025\016\026\046\027\021\030\041\031\035\033" +
"\uffe2\034\uffe2\035\024\036\047\037\022\040\025\053\uffe2" +
"\055\023\056\036\057\043\060\027\061\020\062\033\063" +
"\030\064\017\065\015\001\002\000\072\004\uffdf\005\uffdf" +
"\007\uffdf\010\uffdf\022\uffdf\023\uffdf\024\uffdf\025\uffdf\026" +
"\uffdf\027\uffdf\030\uffdf\031\uffdf\033\uffdf\034\uffdf\035\uffdf" +
"\036\uffdf\037\uffdf\040\uffdf\053\uffdf\055\uffdf\056\uffdf\057" +
"\uffdf\060\uffdf\061\uffdf\062\uffdf\063\uffdf\064\uffdf\065\uffdf" +
"\001\002\000\006\013\ufffb\046\ufffb\001\002\000\072\004" +
"\uffdb\005\uffdb\007\uffdb\010\uffdb\022\uffdb\023\uffdb\024\uffdb" +
"\025\uffdb\026\uffdb\027\uffdb\030\uffdb\031\uffdb\033\uffdb\034" +
"\uffdb\035\uffdb\036\uffdb\037\uffdb\040\uffdb\053\uffdb\055\uffdb" +
"\056\uffdb\057\uffdb\060\uffdb\061\uffdb\062\uffdb\063\uffdb\064" +
"\uffdb\065\uffdb\001\002\000\074\002\ufff0\003\ufff0\004\ufff0" +
"\006\ufff0\010\ufff0\016\ufff0\021\ufff0\023\ufff0\024\ufff0\025" +
"\ufff0\026\ufff0\027\ufff0\030\ufff0\031\ufff0\032\ufff0\035\ufff0" +
"\036\ufff0\037\ufff0\040\ufff0\053\ufff0\055\ufff0\056\ufff0\057" +
"\ufff0\060\ufff0\061\ufff0\062\ufff0\063\ufff0\064\ufff0\065\ufff0" +
"\001\002\000\064\004\uffe3\006\160\010\uffe3\023\uffe3\024" +
"\uffe3\025\uffe3\026\uffe3\027\uffe3\030\uffe3\031\uffe3\032\156" +
"\035\uffe3\036\uffe3\037\uffe3\040\uffe3\053\uffe3\055\uffe3\056" +
"\uffe3\057\uffe3\060\uffe3\061\uffe3\062\uffe3\063\uffe3\064\uffe3" +
"\065\uffe3\001\002\000\004\046\142\001\002\000\074\002" +
"\ufff6\003\ufff6\004\ufff6\006\ufff6\010\ufff6\016\ufff6\021\ufff6" +
"\023\ufff6\024\ufff6\025\ufff6\026\ufff6\027\ufff6\030\ufff6\031" +
"\ufff6\032\ufff6\035\ufff6\036\ufff6\037\ufff6\040\ufff6\053\ufff6" +
"\055\ufff6\056\ufff6\057\ufff6\060\ufff6\061\ufff6\062\ufff6\063" +
"\ufff6\064\ufff6\065\ufff6\001\002\000\072\002\000\003\132" +
"\004\uffe8\006\uffe8\010\uffe8\016\137\023\uffe8\024\uffe8\025" +
"\uffe8\026\uffe8\027\uffe8\030\uffe8\031\uffe8\032\uffe8\035\uffe8" +
"\036\uffe8\037\uffe8\040\uffe8\053\uffe8\055\uffe8\056\uffe8\057" +
"\uffe8\060\uffe8\061\uffe8\062\uffe8\063\uffe8\064\uffe8\065\uffe8" +
"\001\002\000\004\046\142\001\002\000\074\002\ufff9\003" +
"\ufff9\004\ufff9\006\ufff9\010\ufff9\016\ufff9\021\ufff9\023\ufff9" +
"\024\ufff9\025\ufff9\026\ufff9\027\ufff9\030\ufff9\031\ufff9\032" +
"\ufff9\035\ufff9\036\ufff9\037\ufff9\040\ufff9\053\ufff9\055\ufff9" +
"\056\ufff9\057\ufff9\060\ufff9\061\ufff9\062\ufff9\063\ufff9\064" +
"\ufff9\065\ufff9\001\002\000\004\017\145\001\002\000\006" +
"\015\143\017\uffe6\001\002\000\006\017\uffe5\046\142\001" +
"\002\000\004\017\uffe7\001\002\000\066\004\uffe9\006\uffe9" +
"\010\uffe9\020\146\023\uffe9\024\uffe9\025\uffe9\026\uffe9\027" +
"\uffe9\030\uffe9\031\uffe9\032\uffe9\035\uffe9\036\uffe9\037\uffe9" +
"\040\uffe9\053\uffe9\055\uffe9\056\uffe9\057\uffe9\060\uffe9\061" +
"\uffe9\062\uffe9\063\uffe9\064\uffe9\065\uffe9\001\002\000\070" +
"\003\132\004\uffe8\006\uffe8\010\uffe8\016\134\023\uffe8\024" +
"\uffe8\025\uffe8\026\uffe8\027\uffe8\030\uffe8\031\uffe8\032\uffe8" +
"\035\uffe8\036\uffe8\037\uffe8\040\uffe8\053\uffe8\055\uffe8\056" +
"\uffe8\057\uffe8\060\uffe8\061\uffe8\062\uffe8\063\uffe8\064\uffe8" +
"\065\uffe8\001\002\000\072\003\132\004\uffe8\006\uffe8\010" +
"\uffe8\016\137\021\150\023\uffe8\024\uffe8\025\uffe8\026\uffe8" +
"\027\uffe8\030\uffe8\031\uffe8\032\uffe8\035\uffe8\036\uffe8\037" +
"\uffe8\040\uffe8\053\uffe8\055\uffe8\056\uffe8\057\uffe8\060\uffe8" +
"\061\uffe8\062\uffe8\063\uffe8\064\uffe8\065\uffe8\001\002\000" +
"\074\002\ufff8\003\ufff8\004\ufff8\006\ufff8\010\ufff8\016\ufff8" +
"\021\ufff8\023\ufff8\024\ufff8\025\ufff8\026\ufff8\027\ufff8\030" +
"\ufff8\031\ufff8\032\ufff8\035\ufff8\036\ufff8\037\ufff8\040\ufff8" +
"\053\ufff8\055\ufff8\056\ufff8\057\ufff8\060\ufff8\061\ufff8\062" +
"\ufff8\063\ufff8\064\ufff8\065\ufff8\001\002\000\004\017\152" +
"\001\002\000\066\004\uffe9\006\uffe9\010\uffe9\020\153\023" +
"\uffe9\024\uffe9\025\uffe9\026\uffe9\027\uffe9\030\uffe9\031\uffe9" +
"\032\uffe9\035\uffe9\036\uffe9\037\uffe9\040\uffe9\053\uffe9\055" +
"\uffe9\056\uffe9\057\uffe9\060\uffe9\061\uffe9\062\uffe9\063\uffe9" +
"\064\uffe9\065\uffe9\001\002\000\070\003\132\004\uffe8\006" +
"\uffe8\010\uffe8\016\134\023\uffe8\024\uffe8\025\uffe8\026\uffe8" +
"\027\uffe8\030\uffe8\031\uffe8\032\uffe8\035\uffe8\036\uffe8\037" +
"\uffe8\040\uffe8\053\uffe8\055\uffe8\056\uffe8\057\uffe8\060\uffe8" +
"\061\uffe8\062\uffe8\063\uffe8\064\uffe8\065\uffe8\001\002\000" +
"\072\003\132\004\uffe8\006\uffe8\010\uffe8\016\137\021\155" +
"\023\uffe8\024\uffe8\025\uffe8\026\uffe8\027\uffe8\030\uffe8\031" +
"\uffe8\032\uffe8\035\uffe8\036\uffe8\037\uffe8\040\uffe8\053\uffe8" +
"\055\uffe8\056\uffe8\057\uffe8\060\uffe8\061\uffe8\062\uffe8\063" +
"\uffe8\064\uffe8\065\uffe8\001\002\000\074\002\ufff7\003\ufff7" +
"\004\ufff7\006\ufff7\010\ufff7\016\ufff7\021\ufff7\023\ufff7\024" +
"\ufff7\025\ufff7\026\ufff7\027\ufff7\030\ufff7\031\ufff7\032\ufff7" +
"\035\ufff7\036\ufff7\037\ufff7\040\ufff7\053\ufff7\055\ufff7\056" +
"\ufff7\057\ufff7\060\ufff7\061\ufff7\062\ufff7\063\ufff7\064\ufff7" +
"\065\ufff7\001\002\000\006\033\176\045\177\001\002\000" +
"\060\004\040\010\051\023\026\024\034\025\016\026\046" +
"\027\021\030\041\031\035\035\024\036\047\037\022\040" +
"\025\053\045\055\023\056\036\057\043\060\027\061\020" +
"\062\033\063\030\064\017\065\015\001\002\000\060\004" +
"\uffe4\010\uffe4\023\uffe4\024\uffe4\025\uffe4\026\uffe4\027\uffe4" +
"\030\uffe4\031\uffe4\035\uffe4\036\uffe4\037\uffe4\040\uffe4\053" +
"\uffe4\055\uffe4\056\uffe4\057\uffe4\060\uffe4\061\uffe4\062\uffe4" +
"\063\uffe4\064\uffe4\065\uffe4\001\002\000\014\007\167\022" +
"\165\033\162\034\164\053\124\001\002\000\074\002\uffea" +
"\003\uffea\004\uffea\006\uffea\010\uffea\016\uffea\021\uffea\023" +
"\uffea\024\uffea\025\uffea\026\uffea\027\uffea\030\uffea\031\uffea" +
"\032\uffea\035\uffea\036\uffea\037\uffea\040\uffea\053\uffea\055" +
"\uffea\056\uffea\057\uffea\060\uffea\061\uffea\062\uffea\063\uffea" +
"\064\uffea\065\uffea\001\002\000\074\002\uffeb\003\uffeb\004" +
"\uffeb\006\uffeb\010\uffeb\016\uffeb\021\uffeb\023\uffeb\024\uffeb" +
"\025\uffeb\026\uffeb\027\uffeb\030\uffeb\031\uffeb\032\uffeb\035" +
"\uffeb\036\uffeb\037\uffeb\040\uffeb\053\uffeb\055\uffeb\056\uffeb" +
"\057\uffeb\060\uffeb\061\uffeb\062\uffeb\063\uffeb\064\uffeb\065" +
"\uffeb\001\002\000\060\004\040\010\051\023\026\024\034" +
"\025\016\026\046\027\021\030\041\031\035\035\024\036" +
"\047\037\022\040\025\053\045\055\023\056\036\057\043" +
"\060\027\061\020\062\033\063\030\064\017\065\015\001" +
"\002\000\004\045\173\001\002\000\006\022\165\033\171" +
"\001\002\000\006\022\uffef\033\uffef\001\002\000\074\002" +
"\ufff5\003\ufff5\004\ufff5\006\ufff5\010\ufff5\016\ufff5\021\ufff5" +
"\023\ufff5\024\ufff5\025\ufff5\026\ufff5\027\ufff5\030\ufff5\031" +
"\ufff5\032\ufff5\035\ufff5\036\ufff5\037\ufff5\040\ufff5\053\ufff5" +
"\055\ufff5\056\ufff5\057\ufff5\060\ufff5\061\ufff5\062\ufff5\063" +
"\ufff5\064\ufff5\065\ufff5\001\002\000\074\002\ufff3\003\ufff3" +
"\004\ufff3\006\ufff3\010\ufff3\016\ufff3\021\ufff3\023\ufff3\024" +
"\ufff3\025\ufff3\026\ufff3\027\ufff3\030\ufff3\031\ufff3\032\ufff3" +
"\035\ufff3\036\ufff3\037\ufff3\040\ufff3\053\ufff3\055\ufff3\056" +
"\ufff3\057\ufff3\060\ufff3\061\ufff3\062\ufff3\063\ufff3\064\ufff3" +
"\065\ufff3\001\002\000\074\002\ufff4\003\ufff4\004\ufff4\006" +
"\ufff4\010\ufff4\016\ufff4\021\ufff4\023\ufff4\024\ufff4\025\ufff4" +
"\026\ufff4\027\ufff4\030\ufff4\031\ufff4\032\ufff4\035\ufff4\036" +
"\ufff4\037\ufff4\040\ufff4\053\ufff4\055\ufff4\056\ufff4\057\ufff4" +
"\060\ufff4\061\ufff4\062\ufff4\063\ufff4\064\ufff4\065\ufff4\001" +
"\002\000\074\002\uffec\003\uffec\004\uffec\006\uffec\010\uffec" +
"\016\uffec\021\uffec\023\uffec\024\uffec\025\uffec\026\uffec\027" +
"\uffec\030\uffec\031\uffec\032\uffec\035\uffec\036\uffec\037\uffec" +
"\040\uffec\053\uffec\055\uffec\056\uffec\057\uffec\060\uffec\061" +
"\uffec\062\uffec\063\uffec\064\uffec\065\uffec\001\002\000\012" +
"\007\175\022\uffee\033\uffee\053\124\001\002\000\006\022" +
"\uffed\033\uffed\001\002\000\074\002\ufff1\003\ufff1\004\ufff1" +
"\006\ufff1\010\ufff1\016\ufff1\021\ufff1\023\ufff1\024\ufff1\025" +
"\ufff1\026\ufff1\027\ufff1\030\ufff1\031\ufff1\032\ufff1\035\ufff1" +
"\036\ufff1\037\ufff1\040\ufff1\053\ufff1\055\ufff1\056\ufff1\057" +
"\ufff1\060\ufff1\061\ufff1\062\ufff1\063\ufff1\064\ufff1\065\ufff1" +
"\001\002\000\074\002\ufff2\003\ufff2\004\ufff2\006\ufff2\010" +
"\ufff2\016\ufff2\021\ufff2\023\ufff2\024\ufff2\025\ufff2\026\ufff2" +
"\027\ufff2\030\ufff2\031\ufff2\032\ufff2\035\ufff2\036\ufff2\037" +
"\ufff2\040\ufff2\053\ufff2\055\ufff2\056\ufff2\057\ufff2\060\ufff2" +
"\061\ufff2\062\ufff2\063\ufff2\064\ufff2\065\ufff2\001\002" });
public short[][] action_table() {return _action_table;}
protected static final short[][] _reduce_table =
unpackFromStrings(new String[] {
"\000\175\000\004\005\004\001\001\000\004\002\007\001" +
"\001\000\002\001\001\000\002\001\001\000\002\001\001" +
"\000\004\003\011\001\001\000\010\004\134\022\132\023" +
"\135\001\001\000\002\001\001\000\002\001\001\000\016" +
"\006\030\007\036\010\043\011\047\012\041\016\031\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\012\010\130\011\047\012\041\016\031\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\010\126\011\047\012\041\016\031" +
"\001\001\000\016\006\122\007\036\010\043\011\047\012" +
"\041\016\031\001\001\000\002\001\001\000\002\001\001" +
"\000\012\010\121\011\047\012\041\016\031\001\001\000" +
"\002\001\001\000\002\001\001\000\002\001\001\000\002" +
"\001\001\000\002\001\001\000\016\012\064\014\056\015" +
"\053\016\060\017\062\020\066\001\001\000\002\001\001" +
"\000\002\001\001\000\002\001\001\000\014\012\064\015" +
"\053\016\060\017\105\020\066\001\001\000\002\001\001" +
"\000\002\001\001\000\002\001\001\000\002\001\001\000" +
"\002\001\001\000\004\024\071\001\001\000\012\012\064" +
"\015\053\016\060\020\070\001\001\000\002\001\001\000" +
"\002\001\001\000\010\012\064\015\067\016\060\001\001" +
"\000\002\001\001\000\010\012\064\015\067\016\060\001" +
"\001\000\016\012\064\014\076\015\053\016\060\017\077" +
"\020\066\001\001\000\002\001\001\000\002\001\001\000" +
"\002\001\001\000\014\012\064\015\053\016\060\017\101" +
"\020\066\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\024\107\001\001\000" +
"\002\001\001\000\016\012\064\014\110\015\053\016\060" +
"\017\077\020\066\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\014" +
"\007\125\010\043\011\047\012\041\016\031\001\001\000" +
"\002\001\001\000\012\010\126\011\047\012\041\016\031" +
"\001\001\000\002\001\001\000\002\001\001\000\002\001" +
"\001\000\002\001\001\000\004\025\156\001\001\000\004" +
"\021\150\001\001\000\002\001\001\000\006\004\137\022" +
"\132\001\001\000\004\021\140\001\001\000\002\001\001" +
"\000\002\001\001\000\002\001\001\000\004\021\143\001" +
"\001\000\002\001\001\000\002\001\001\000\010\004\134" +
"\022\132\023\146\001\001\000\006\004\137\022\132\001" +
"\001\000\002\001\001\000\002\001\001\000\002\001\001" +
"\000\010\004\134\022\132\023\153\001\001\000\006\004" +
"\137\022\132\001\001\000\002\001\001\000\002\001\001" +
"\000\016\006\160\007\036\010\043\011\047\012\041\016" +
"\031\001\001\000\002\001\001\000\010\013\165\026\162" +
"\027\167\001\001\000\002\001\001\000\002\001\001\000" +
"\016\006\173\007\036\010\043\011\047\012\041\016\031" +
"\001\001\000\002\001\001\000\004\026\171\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" });
public short[][] reduce_table() {return _reduce_table;}
protected CUP$LexParse$actions action_obj;
protected void init_actions()
{
action_obj = new CUP$LexParse$actions(this);
}
public java_cup.runtime.Symbol do_action(
int act_num,
java_cup.runtime.lr_parser parser,
java.util.Stack stack,
int top)
throws java.lang.Exception
{
return action_obj.CUP$LexParse$do_action(act_num, parser, stack, top);
}
public int start_state() {return 0;}
public int start_production() {return 0;}
public int EOF_sym() {return 0;}
public int error_sym() {return 1;}
public void user_init() throws java.lang.Exception
{
action_obj.scanner = scanner;
action_obj.charClasses = scanner.getCharClasses();
}
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 syntax_error(Symbol cur_token) {
report_error(null, cur_token);
}
public void report_error(String message, Object info) {
if (info instanceof Symbol) {
Symbol s = (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) {
throw new GeneratorException();
}
@SuppressWarnings({"rawtypes", "unchecked", "unused"})
class CUP$LexParse$actions {
LexScan scanner;
CharClasses charClasses;
RegExps regExps = new RegExps();
Macros macros = new Macros();
Integer stateNumber;
Timer t = new Timer();
EOFActions eofActions = new EOFActions();
Map<Integer,IntCharSet> preclassCache = new HashMap<Integer,IntCharSet>();
void fatalError(ErrorMessages.ErrorMessage message, int line, int col) {
syntaxError(message, line, col);
throw new GeneratorException();
}
void fatalError(ErrorMessages.ErrorMessage message) {
fatalError(message, scanner.lexLine(), -1);
throw new GeneratorException();
}
void syntaxError(ErrorMessages.ErrorMessage message) {
Out.error(scanner.file, message, scanner.lexLine(), -1);
}
void syntaxError(ErrorMessages.ErrorMessage message, int line) {
Out.error(scanner.file, message, line, -1);
}
void syntaxError(ErrorMessages.ErrorMessage message, int line, int col) {
Out.error(scanner.file, message, line, col);
}
void warning(ErrorMessages.ErrorMessage message, int line, int col) {
Out.warning(scanner.file, message, line, col);
}
private boolean isDotOrNewlinePattern(RegExp r1, RegExp r2) {
return ( r1 instanceof RegExp1 && ((RegExp1)r1).isPoint && isNewline(r2) )
|| ( r2 instanceof RegExp1 && ((RegExp1)r2).isPoint && isNewline(r1) );
}
private boolean isNewline(RegExp r) {
if ( ! (r instanceof RegExp1) || null == ((RegExp1)r).content ) {
return false;
}
RegExp1 r1 = (RegExp1)r;
switch ( r1.type ) {
case sym.STRING:
case sym.STRING_I:
return "\n".equals(r1.content);
case sym.CHAR:
case sym.CHAR_I:
return '\n' == (char)((Integer)r1.content).intValue();
case sym.PRIMCLASS:
return IntCharSet.nlChars().contains((IntCharSet) r1.content);
default:
return false;
}
}
private boolean check(int type, int c) {
switch (type) {
case sym.JLETTERCLASS:
return Character.isJavaIdentifierStart(c);
case sym.JLETTERDIGITCLASS:
return Character.isJavaIdentifierPart(c);
default: return false;
}
}
private IntCharSet getPreClass(int type) {
IntCharSet result = preclassCache.get(type);
if (null == result) {
UnicodeProperties unicodeProperties = scanner.getUnicodeProperties();
switch (type) {
case sym.LETTERCLASS:
result = unicodeProperties.getIntCharSet("L");
preclassCache.put(type, result);
break;
case sym.DIGITCLASS:
result = unicodeProperties.getIntCharSet("Nd");
preclassCache.put(type, result);
break;
case sym.DIGITCLASSNOT:
IntCharSet digits = unicodeProperties.getIntCharSet("Nd");
result = IntCharSet.ofCharacterRange(0, unicodeProperties.getMaximumCodePoint());
result.sub(digits);
preclassCache.put(type, result);
break;
case sym.UPPERCLASS:
result = unicodeProperties.getIntCharSet("Uppercase");
if (null == result) {
result = unicodeProperties.getIntCharSet("Lu");
}
preclassCache.put(type, result);
break;
case sym.LOWERCLASS:
result = unicodeProperties.getIntCharSet("Lowercase");
if (null == result) {
result = unicodeProperties.getIntCharSet("Ll");
}
preclassCache.put(type, result);
break;
case sym.WHITESPACECLASS:
result = unicodeProperties.getIntCharSet("Whitespace");
if (null == result) {
result = unicodeProperties.getIntCharSet("Zs");
}
preclassCache.put(type, result);
break;
case sym.WHITESPACECLASSNOT:
IntCharSet whitespaceClass = unicodeProperties.getIntCharSet("Whitespace");
if (null == whitespaceClass) {
whitespaceClass = unicodeProperties.getIntCharSet("Zs");
}
result = IntCharSet.ofCharacterRange(0, unicodeProperties.getMaximumCodePoint());
result.sub(whitespaceClass);
preclassCache.put(type, result);
break;
case sym.WORDCLASS:
{
IntCharSet alphaClass = unicodeProperties.getIntCharSet("Alphabetic");
if (null == alphaClass) {
alphaClass = unicodeProperties.getIntCharSet("L");
}
IntCharSet markClass = unicodeProperties.getIntCharSet("M");
IntCharSet digitClass = unicodeProperties.getIntCharSet("Nd");
IntCharSet connectorPunctClass = unicodeProperties.getIntCharSet("Pc");
if (null == connectorPunctClass) {
connectorPunctClass = IntCharSet.ofCharacter('_');
}
result = IntCharSet.copyOf(alphaClass);
result.add(markClass);
result.add(digitClass);
result.add(connectorPunctClass);
preclassCache.put(type, result);
break;
}
case sym.WORDCLASSNOT:
{
IntCharSet alphaClass = unicodeProperties.getIntCharSet("Alphabetic");
if (null == alphaClass) {
alphaClass = unicodeProperties.getIntCharSet("L");
}
IntCharSet markClass = unicodeProperties.getIntCharSet("M");
IntCharSet digitClass = unicodeProperties.getIntCharSet("Nd");
IntCharSet connectorPunctClass = unicodeProperties.getIntCharSet("Pc");
if (null == connectorPunctClass) {
connectorPunctClass = IntCharSet.ofCharacter('_');
}
IntCharSet wordClass = IntCharSet.copyOf(alphaClass);
wordClass.add(markClass);
wordClass.add(digitClass);
wordClass.add(connectorPunctClass);
result = IntCharSet.ofCharacterRange(0, unicodeProperties.getMaximumCodePoint());
result.sub(wordClass);
preclassCache.put(type, result);
break;
}
case sym.JLETTERCLASS:
case sym.JLETTERDIGITCLASS:
default:
result = new IntCharSet();
int c = 0;
int start = 0;
int last = charClasses.getMaxCharCode();
boolean prev, current;
prev = check(type, 0);
for (c = 1; c < last; c++) {
current = check(type, c);
if (!prev && current) start = c;
if (prev && !current) {
result.add(new Interval(start, c - 1));
}
prev = current;
}
current = check(type, c);
if (!prev && current) result.add(new Interval(c, c));
if (prev && current) result.add(new Interval(start, c));
if (prev && !current) result.add(new Interval(start, c - 1));
preclassCache.put(type, result);
break;
}
}
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--;
}
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() {
IntCharSet set = IntCharSet.nlChars();
charClasses.makeClass(set, false);
charClasses.makeClass('\n', false);
charClasses.makeClass('\r', false);
RegExp1 c = new RegExp1(sym.PRIMCLASS, set);
Integer n = Integer.valueOf((int)'\n');
Integer r = Integer.valueOf((int)'\r');
return new RegExp2(sym.BAR,
c,
new RegExp2(sym.CONCAT,
new RegExp1(sym.CHAR, r),
new RegExp1(sym.CHAR, n)));
}
private RegExp primClass(int content) {
return primClass(content, content);
}
private RegExp primClass(int start, int end) {
return primClass(IntCharSet.ofCharacterRange(start, end));
}
private RegExp primClass(IntCharSet set) {
return new RegExp1(sym.PRIMCLASS, set);
}
private final LexParse parser;
CUP$LexParse$actions(LexParse parser) {
this.parser = parser;
}
public final java_cup.runtime.Symbol CUP$LexParse$do_action_part00000000(
int CUP$LexParse$act_num,
java_cup.runtime.lr_parser CUP$LexParse$parser,
java.util.Stack CUP$LexParse$stack,
int CUP$LexParse$top)
throws java.lang.Exception
{
java_cup.runtime.Symbol CUP$LexParse$result;
switch (CUP$LexParse$act_num)
{
case 0:
{
Object RESULT =null;
int start_valleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left;
int start_valright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right;
NFA start_val = (NFA)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value;
RESULT = start_val;
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("$START",0, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
CUP$LexParse$parser.done_parsing();
return CUP$LexParse$result;
case 1:
{
NFA RESULT =null;
scanner.t.stop();
Out.checkErrors();
Out.time(ErrorMessages.PARSING_TOOK, t);
macros.expand();
if (Options.unused_warning) {
for (String unusedMacro : macros.unused()) {
Out.warning(String.format(
"Macro \"%s\" has been declared but never used.", unusedMacro));
}
}
regExps.normalise(macros);
regExps.makeCCLs(charClasses, Options.jlex && scanner.caseless);
SemCheck.check(regExps, scanner.file);
regExps.checkActions();
regExps.checkLookAheads();
Out.checkErrors();
charClasses.normalise();
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 = parser.getSymbolFactory().newSymbol("specification",3, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-3)), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 2:
{
NFA RESULT =null;
fatalError(ErrorMessages.NO_LEX_SPEC);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("specification",3, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 3:
{
Object RESULT =null;
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("macros",0, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 4:
{
Object RESULT =null;
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("macros",0, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 5:
{
Object RESULT =null;
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("macros",0, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 6:
{
Object RESULT =null;
int nameleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-3)).left;
int nameright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-3)).right;
String name = (String)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-3)).value;
int definitionleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left;
int definitionright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right;
RegExp definition = (RegExp)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value;
macros.insert(name, definition);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("macro",1, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-3)), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 7:
{
Object RESULT =null;
int eleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).left;
int eright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).right;
Object e = (Object)((java_cup.runtime.Symbol) CUP$LexParse$stack.peek()).value;
syntaxError(ErrorMessages.REGEXP_EXPECTED, eleft, eright);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("macro",1, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 8:
{
List<Integer> RESULT =null;
int rlistleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left;
int rlistright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right;
List<Integer> rlist = (List<Integer>)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value;
int rleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).left;
int rright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).right;
Integer r = (Integer)((java_cup.runtime.Symbol) CUP$LexParse$stack.peek()).value;
rlist.add(r); RESULT = rlist;
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("rules",17, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 9:
{
List<Integer> RESULT =null;
int rlist1left = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-6)).left;
int rlist1right = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-6)).right;
List<Integer> rlist1 = (List<Integer>)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-6)).value;
int statesleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-4)).left;
int statesright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-4)).right;
List<Integer> states = (List<Integer>)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-4)).value;
int rlist2left = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left;
int rlist2right = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right;
List<Integer> rlist2 = (List<Integer>)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value;
for (Integer elem : rlist2) {
if (elem != null) {
regExps.addStates( elem, states );
}
rlist1.add( elem );
}
RESULT = rlist1;
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("rules",17, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-6)), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 10:
{
List<Integer> RESULT =null;
int statesleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-4)).left;
int statesright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-4)).right;
List<Integer> states = (List<Integer>)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-4)).value;
int rlistleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left;
int rlistright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right;
List<Integer> rlist = (List<Integer>)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value;
for (Integer elem : rlist) {
if (elem != null) {
regExps.addStates( elem, states );
}
}
RESULT = rlist;
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("rules",17, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-5)), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 11:
{
List<Integer> RESULT =null;
int rleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).left;
int rright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).right;
Integer r = (Integer)((java_cup.runtime.Symbol) CUP$LexParse$stack.peek()).value;
RESULT = new ArrayList<Integer>(); RESULT.add(r);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("rules",17, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 12:
{
Integer RESULT =null;
int sleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-3)).left;
int sright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-3)).right;
List<Integer> s = (List<Integer>)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-3)).value;
int bolleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).left;
int bolright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).right;
Boolean bol = (Boolean)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).value;
int rleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left;
int rright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right;
RegExp r = (RegExp)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value;
int aleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).left;
int aright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).right;
Action a = (Action)((java_cup.runtime.Symbol) CUP$LexParse$stack.peek()).value;
RESULT = regExps.insert(rleft, s, r, a, bol, null);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("rule",2, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-3)), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 13:
{
Integer RESULT =null;
int sleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-4)).left;
int sright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-4)).right;
List<Integer> s = (List<Integer>)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-4)).value;
int bolleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-3)).left;
int bolright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-3)).right;
Boolean bol = (Boolean)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-3)).value;
int rleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).left;
int rright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).right;
RegExp r = (RegExp)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).value;
int lleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left;
int lright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right;
RegExp l = (RegExp)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value;
int aleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).left;
int aright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).right;
Action a = (Action)((java_cup.runtime.Symbol) CUP$LexParse$stack.peek()).value;
RESULT = regExps.insert(rleft, s, r, a, bol, l);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("rule",2, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-4)), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 14:
{
Integer RESULT =null;
int sleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-4)).left;
int sright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-4)).right;
List<Integer> s = (List<Integer>)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-4)).value;
int bolleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-3)).left;
int bolright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-3)).right;
Boolean bol = (Boolean)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-3)).value;
int rleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).left;
int rright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).right;
RegExp r = (RegExp)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).value;
int lleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left;
int lright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right;
RegExp l = (RegExp)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value;
int aleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).left;
int aright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).right;
Object a = (Object)((java_cup.runtime.Symbol) CUP$LexParse$stack.peek()).value;
syntaxError(ErrorMessages.LOOKAHEAD_NEEDS_ACTION, aleft, aright+1);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("rule",2, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-4)), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 15:
{
Integer RESULT =null;
int sleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).left;
int sright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).right;
List<Integer> s = (List<Integer>)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).value;
int aleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).left;
int aright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).right;
Action a = (Action)((java_cup.runtime.Symbol) CUP$LexParse$stack.peek()).value;
RESULT = regExps.insert(s, a);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("rule",2, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 16:
{
Integer RESULT =null;
int sleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).left;
int sright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).right;
List<Integer> s = (List<Integer>)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).value;
RESULT = regExps.insert(s, null);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("rule",2, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 17:
{
Integer RESULT =null;
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("rule",2, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 18:
{
RegExp RESULT =null;
RESULT = makeNL();
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("lookahead",9, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 19:
{
RegExp RESULT =null;
int rleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).left;
int rright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).right;
RegExp r = (RegExp)((java_cup.runtime.Symbol) CUP$LexParse$stack.peek()).value;
RESULT = r;
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("lookahead",9, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 20:
{
RegExp RESULT =null;
int sleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left;
int sright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right;
RegExp s = (RegExp)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value;
RESULT = new RegExp2(sym.CONCAT, s, makeNL());
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("lookahead",9, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 21:
{
Action RESULT =null;
int aleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).left;
int aright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).right;
Action a = (Action)((java_cup.runtime.Symbol) CUP$LexParse$stack.peek()).value;
RESULT = a;
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("act",20, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 22:
{
Action RESULT =null;
int aleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).left;
int aright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).right;
Action a = (Action)((java_cup.runtime.Symbol) CUP$LexParse$stack.peek()).value;
RESULT = a;
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("actions",21, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 23:
{
Action RESULT =null;
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("actions",21, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 24:
{
List<Integer> RESULT =null;
int listleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left;
int listright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right;
List<Integer> list = (List<Integer>)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value;
RESULT = list;
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("statesOPT",16, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 25:
{
List<Integer> RESULT =null;
RESULT = new ArrayList<Integer>();
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("statesOPT",16, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 26:
{
List<Integer> RESULT =null;
int idleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).left;
int idright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).right;
String id = (String)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).value;
int listleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).left;
int listright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).right;
List<Integer> list = (List<Integer>)((java_cup.runtime.Symbol) CUP$LexParse$stack.peek()).value;
stateNumber = scanner.states.getNumber( id );
if ( stateNumber != null )
list.add( stateNumber );
else {
throw new ScannerException(scanner.file, ErrorMessages.LEXSTATE_UNDECL,
idleft, idright);
}
RESULT = list;
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("states",15, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 27:
{
List<Integer> RESULT =null;
int idleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).left;
int idright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).right;
String id = (String)((java_cup.runtime.Symbol) CUP$LexParse$stack.peek()).value;
List<Integer> list = new ArrayList<Integer>();
stateNumber = scanner.states.getNumber( id );
if ( stateNumber != null )
list.add( stateNumber );
else {
throw new ScannerException(scanner.file, ErrorMessages.LEXSTATE_UNDECL,
idleft, idright);
}
RESULT = list;
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("states",15, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 28:
{
List<Integer> RESULT =null;
int cleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).left;
int cright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).right;
Object c = (Object)((java_cup.runtime.Symbol) CUP$LexParse$stack.peek()).value;
syntaxError(ErrorMessages.REGEXP_EXPECTED, cleft, cright+1);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("states",15, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 29:
{
Boolean RESULT =null;
RESULT = true;
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("hatOPT",19, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 30:
{
Boolean RESULT =null;
RESULT = false;
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("hatOPT",19, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 31:
{
RegExp RESULT =null;
int r1left = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).left;
int r1right = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).right;
RegExp r1 = (RegExp)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).value;
int r2left = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).left;
int r2right = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).right;
RegExp r2 = (RegExp)((java_cup.runtime.Symbol) CUP$LexParse$stack.peek()).value;
if ( ! Options.jlex && ! Options.legacy_dot && isDotOrNewlinePattern(r1, r2) ) {
warning(ErrorMessages.DOT_BAR_NEWLINE_DOES_NOT_MATCH_ALL_CHARS, r1left, r1right);
}
RESULT = new RegExp2(sym.BAR, r1, r2);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("series",4, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 32:
{
RegExp RESULT =null;
int rleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).left;
int rright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).right;
RegExp r = (RegExp)((java_cup.runtime.Symbol) CUP$LexParse$stack.peek()).value;
RESULT = r;
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("series",4, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 33:
{
RegExp RESULT =null;
int bleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).left;
int bright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).right;
Object b = (Object)((java_cup.runtime.Symbol) CUP$LexParse$stack.peek()).value;
syntaxError(ErrorMessages.REGEXP_EXPECTED, bleft, bright);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("series",4, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 34:
{
RegExp RESULT =null;
int r1left = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left;
int r1right = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right;
RegExp r1 = (RegExp)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value;
int r2left = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).left;
int r2right = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).right;
RegExp r2 = (RegExp)((java_cup.runtime.Symbol) CUP$LexParse$stack.peek()).value;
RESULT = new RegExp2(sym.CONCAT, r1, r2);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("concs",5, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 35:
{
RegExp RESULT =null;
int rleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).left;
int rright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).right;
RegExp r = (RegExp)((java_cup.runtime.Symbol) CUP$LexParse$stack.peek()).value;
RESULT = r;
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("concs",5, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 36:
{
RegExp RESULT =null;
int rleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).left;
int rright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).right;
RegExp r = (RegExp)((java_cup.runtime.Symbol) CUP$LexParse$stack.peek()).value;
RESULT = r;
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("nregexp",6, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 37:
{
RegExp RESULT =null;
int rleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).left;
int rright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).right;
RegExp r = (RegExp)((java_cup.runtime.Symbol) CUP$LexParse$stack.peek()).value;
RESULT = new RegExp1(sym.BANG, r);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("nregexp",6, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 38:
{
RegExp RESULT =null;
int rleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).left;
int rright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).right;
RegExp r = (RegExp)((java_cup.runtime.Symbol) CUP$LexParse$stack.peek()).value;
RESULT = new RegExp1(sym.TILDE, r);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("nregexp",6, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 39:
{
RegExp RESULT =null;
int rleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left;
int rright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right;
RegExp r = (RegExp)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value;
RESULT = new RegExp1(sym.STAR, r);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("regexp",7, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 40:
{
RegExp RESULT =null;
int rleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left;
int rright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right;
RegExp r = (RegExp)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value;
RESULT = new RegExp1(sym.PLUS, r);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("regexp",7, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 41:
{
RegExp RESULT =null;
int rleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left;
int rright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right;
RegExp r = (RegExp)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value;
RESULT = new RegExp1(sym.QUESTION, r);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("regexp",7, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 42:
{
RegExp RESULT =null;
int rleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).left;
int rright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).right;
RegExp r = (RegExp)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).value;
int nleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left;
int nright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right;
Integer n = (Integer)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value;
int bleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).left;
int bright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).right;
Object b = (Object)((java_cup.runtime.Symbol) CUP$LexParse$stack.peek()).value;
RESULT = makeRepeat(r, n, n, bleft, bright);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("regexp",7, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 43:
{
RegExp RESULT =null;
int rleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-3)).left;
int rright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-3)).right;
RegExp r = (RegExp)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-3)).value;
int n1left = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).left;
int n1right = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).right;
Integer n1 = (Integer)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).value;
int n2left = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left;
int n2right = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right;
Integer n2 = (Integer)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value;
RESULT = makeRepeat(r, n1, n2, n1left, n2right);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("regexp",7, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-3)), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 44:
{
RegExp RESULT =null;
int rleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left;
int rright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right;
RegExp r = (RegExp)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value;
RESULT = r;
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("regexp",7, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 45:
{
RegExp RESULT =null;
int identleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).left;
int identright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).right;
String ident = (String)((java_cup.runtime.Symbol) CUP$LexParse$stack.peek()).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 = parser.getSymbolFactory().newSymbol("regexp",7, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 46:
{
RegExp RESULT =null;
int cleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).left;
int cright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).right;
RegExp c = (RegExp)((java_cup.runtime.Symbol) CUP$LexParse$stack.peek()).value;
RESULT = c;
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("regexp",7, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 47:
{
RegExp RESULT =null;
int setleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).left;
int setright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).right;
IntCharSet set = (IntCharSet)((java_cup.runtime.Symbol) CUP$LexParse$stack.peek()).value;
charClasses.makeClass(set, false);
RESULT = new RegExp1(sym.PRIMCLASS, set);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("regexp",7, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 48:
{
RegExp RESULT =null;
int intcharsetleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).left;
int intcharsetright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).right;
IntCharSet intcharset = (IntCharSet)((java_cup.runtime.Symbol) CUP$LexParse$stack.peek()).value;
IntCharSet set
= scanner.caseless
? intcharset.getCaseless(scanner.getUnicodeProperties())
: intcharset;
charClasses.makeClass(set, false);
RESULT = new RegExp1(sym.PRIMCLASS, set);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("regexp",7, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 49:
{
RegExp RESULT =null;
int notintcharsetleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).left;
int notintcharsetright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).right;
IntCharSet notintcharset = (IntCharSet)((java_cup.runtime.Symbol) CUP$LexParse$stack.peek()).value;
IntCharSet set
= scanner.caseless
? notintcharset.getCaseless(scanner.getUnicodeProperties())
: notintcharset;
charClasses.makeClass(set, false);
ArrayList<RegExp> l = new ArrayList<RegExp>();
l.add(new RegExp1(sym.PRIMCLASS, set));
RESULT = new RegExp1(sym.CCLASSNOT, l);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("regexp",7, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 50:
{
RegExp RESULT =null;
int strleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).left;
int strright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).right;
String str = (String)((java_cup.runtime.Symbol) CUP$LexParse$stack.peek()).value;
charClasses.makeClass(str, scanner.caseless);
RESULT = new RegExp1(scanner.caseless ? sym.STRING_I : sym.STRING, str);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("regexp",7, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 51:
{
RegExp RESULT =null;
IntCharSet nl;
if ( Options.jlex || Options.legacy_dot ) {
nl = IntCharSet.ofCharacter('\n');
}
else {
nl = IntCharSet.nlChars();
}
nl.add(new Interval(Character.MIN_SURROGATE, Character.MAX_SURROGATE));
charClasses.makeClass(nl, false);
ArrayList<RegExp> l = new ArrayList<RegExp>();
l.add(new RegExp1(sym.PRIMCLASS, nl));
RegExp1 r = new RegExp1(sym.CCLASSNOT, l);
r.isPoint = true;
RESULT = r;
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("regexp",7, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 52:
{
RegExp RESULT =null;
RESULT = makeNL();
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("regexp",7, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 53:
{
RegExp RESULT =null;
int cleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).left;
int cright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).right;
Integer c = (Integer)((java_cup.runtime.Symbol) CUP$LexParse$stack.peek()).value;
if ( scanner.caseless ) {
charClasses.makeClass(c, true);
RESULT = new RegExp1(sym.CHAR_I, c);
}
else {
charClasses.makeClass(c, false);
RESULT = new RegExp1(sym.CHAR, c);
}
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("regexp",7, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 54:
{
RegExp RESULT =null;
RESULT = new RegExp1(sym.CCLASS, new ArrayList<RegExp>());
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("charclass",8, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 55:
{
RegExp RESULT =null;
int closeleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).left;
int closeright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).right;
Object close = (Object)((java_cup.runtime.Symbol) CUP$LexParse$stack.peek()).value;
RESULT = RegExp.anyChar();
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("charclass",8, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 56:
{
RegExp RESULT =null;
int cclleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left;
int cclright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right;
RegExp ccl = (RegExp)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value;
RESULT = ccl;
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("charclass",8, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 57:
{
RegExp RESULT =null;
int cc1left = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-3)).left;
int cc1right = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-3)).right;
List<RegExp> cc1 = (List<RegExp>)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-3)).value;
int opleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).left;
int opright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).right;
Integer op = (Integer)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).value;
int c2left = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left;
int c2right = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right;
RegExp c2 = (RegExp)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value;
RegExp c1 = new RegExp1(sym.CCLASS, cc1);
RESULT = new RegExp1(sym.CCLASSOP, new RegExp2(op.intValue(), c1, c2));
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("charclass",8, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-4)), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 58:
{
RegExp RESULT =null;
int cc1left = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-3)).left;
int cc1right = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-3)).right;
List<RegExp> cc1 = (List<RegExp>)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-3)).value;
int opleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).left;
int opright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).right;
Integer op = (Integer)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).value;
int c2left = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left;
int c2right = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right;
RegExp c2 = (RegExp)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value;
RegExp c1 = new RegExp1(sym.CCLASS, cc1);
List<RegExp> l = new ArrayList<>();
l.add(new RegExp1(sym.CCLASSOP, new RegExp2(op.intValue(), c1, c2)));
RESULT = new RegExp1(sym.CCLASSNOT, l);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("charclass",8, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-5)), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 59:
{
Integer RESULT =null;
RESULT = Integer.valueOf(sym.INTERSECTION);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("charclass_op",18, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 60:
{
Integer RESULT =null;
RESULT = Integer.valueOf(sym.DIFFERENCE);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("charclass_op",18, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 61:
{
Integer RESULT =null;
RESULT = Integer.valueOf(sym.SYMMETRICDIFFERENCE);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("charclass_op",18, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 62:
{
RegExp RESULT =null;
int cleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).left;
int cright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).right;
List<RegExp> c = (List<RegExp>)((java_cup.runtime.Symbol) CUP$LexParse$stack.peek()).value;
RESULT = new RegExp1(sym.CCLASS, c);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("opt_hat_content",10, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 63:
{
RegExp RESULT =null;
int cleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).left;
int cright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).right;
List<RegExp> c = (List<RegExp>)((java_cup.runtime.Symbol) CUP$LexParse$stack.peek()).value;
RESULT = new RegExp1(sym.CCLASSNOT, c);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("opt_hat_content",10, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 64:
{
List<RegExp> RESULT =null;
int cleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).left;
int cright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).right;
List<RegExp> c = (List<RegExp>)((java_cup.runtime.Symbol) CUP$LexParse$stack.peek()).value;
RESULT = c;
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("opt_dash_content",13, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 65:
{
List<RegExp> RESULT =null;
int cleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).left;
int cright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).right;
List<RegExp> c = (List<RegExp>)((java_cup.runtime.Symbol) CUP$LexParse$stack.peek()).value;
c.add(primClass('-'));
RESULT = c;
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("opt_dash_content",13, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 66:
{
List<RegExp> RESULT =null;
int listleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left;
int listright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right;
List<RegExp> list = (List<RegExp>)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value;
int elemleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).left;
int elemright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).right;
RegExp elem = (RegExp)((java_cup.runtime.Symbol) CUP$LexParse$stack.peek()).value;
list.add(elem);
RESULT = list;
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("classcontent",14, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 67:
{
List<RegExp> RESULT =null;
int elemleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).left;
int elemright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).right;
RegExp elem = (RegExp)((java_cup.runtime.Symbol) CUP$LexParse$stack.peek()).value;
RESULT = new ArrayList<RegExp>();
RESULT.add(elem);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("classcontent",14, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 68:
{
RegExp RESULT =null;
int c1left = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).left;
int c1right = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).right;
Integer c1 = (Integer)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).value;
int c2left = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).left;
int c2right = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).right;
Integer c2 = (Integer)((java_cup.runtime.Symbol) CUP$LexParse$stack.peek()).value;
if (c2 < c1) {
syntaxError(ErrorMessages.IMPOSSIBLE_CHARCLASS_RANGE, c1left, c1right);
c2 = c1;
}
RESULT = primClass(c1, c2);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("classcontentelem",11, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 69:
{
RegExp RESULT =null;
int cleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).left;
int cright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).right;
Integer c = (Integer)((java_cup.runtime.Symbol) CUP$LexParse$stack.peek()).value;
RESULT = primClass(c);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("classcontentelem",11, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 70:
{
RegExp RESULT =null;
int sleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).left;
int sright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).right;
String s = (String)((java_cup.runtime.Symbol) CUP$LexParse$stack.peek()).value;
IntCharSet set = new IntCharSet();
for (int i = 0; i < s.length(); ) {
int ch = s.codePointAt(i);
i += Character.charCount(ch);
set.add(ch);
}
RESULT = primClass(set);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("classcontentelem",11, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 71:
{
RegExp RESULT =null;
int setleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).left;
int setright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).right;
IntCharSet set = (IntCharSet)((java_cup.runtime.Symbol) CUP$LexParse$stack.peek()).value;
RESULT = primClass(set);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("classcontentelem",11, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 72:
{
RegExp RESULT =null;
int intcharsetleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).left;
int intcharsetright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).right;
IntCharSet intcharset = (IntCharSet)((java_cup.runtime.Symbol) CUP$LexParse$stack.peek()).value;
RESULT = primClass(intcharset);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("classcontentelem",11, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 73:
{
RegExp RESULT =null;
int notintcharsetleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).left;
int notintcharsetright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).right;
IntCharSet notintcharset = (IntCharSet)((java_cup.runtime.Symbol) CUP$LexParse$stack.peek()).value;
List<RegExp> l = new ArrayList<RegExp>();
l.add(primClass(notintcharset));
RESULT = new RegExp1(sym.CCLASSNOT, l);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("classcontentelem",11, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 74:
{
RegExp RESULT =null;
int identleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).left;
int identright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).right;
String ident = (String)((java_cup.runtime.Symbol) CUP$LexParse$stack.peek()).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 = parser.getSymbolFactory().newSymbol("classcontentelem",11, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 75:
{
RegExp RESULT =null;
int regexleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).left;
int regexright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).right;
RegExp regex = (RegExp)((java_cup.runtime.Symbol) CUP$LexParse$stack.peek()).value;
RESULT = regex;
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("classcontentelem",11, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 76:
{
IntCharSet RESULT =null;
RESULT = getPreClass(sym.JLETTERCLASS);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("preclass",12, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 77:
{
IntCharSet RESULT =null;
RESULT = getPreClass(sym.JLETTERDIGITCLASS);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("preclass",12, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 78:
{
IntCharSet RESULT =null;
RESULT = getPreClass(sym.LETTERCLASS);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("preclass",12, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 79:
{
IntCharSet RESULT =null;
RESULT = getPreClass(sym.DIGITCLASS);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("preclass",12, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 80:
{
IntCharSet RESULT =null;
RESULT = getPreClass(sym.DIGITCLASSNOT);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("preclass",12, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 81:
{
IntCharSet RESULT =null;
RESULT = getPreClass(sym.UPPERCLASS);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("preclass",12, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 82:
{
IntCharSet RESULT =null;
RESULT = getPreClass(sym.LOWERCLASS);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("preclass",12, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 83:
{
IntCharSet RESULT =null;
RESULT = getPreClass(sym.WHITESPACECLASS);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("preclass",12, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 84:
{
IntCharSet RESULT =null;
RESULT = getPreClass(sym.WHITESPACECLASSNOT);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("preclass",12, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 85:
{
IntCharSet RESULT =null;
RESULT = getPreClass(sym.WORDCLASS);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("preclass",12, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
case 86:
{
IntCharSet RESULT =null;
RESULT = getPreClass(sym.WORDCLASSNOT);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("preclass",12, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
default:
throw new Exception(
"Invalid action number "+CUP$LexParse$act_num+"found in internal parse table");
}
}
public final java_cup.runtime.Symbol CUP$LexParse$do_action(
int CUP$LexParse$act_num,
java_cup.runtime.lr_parser CUP$LexParse$parser,
java.util.Stack CUP$LexParse$stack,
int CUP$LexParse$top)
throws java.lang.Exception
{
return CUP$LexParse$do_action_part00000000(
CUP$LexParse$act_num,
CUP$LexParse$parser,
CUP$LexParse$stack,
CUP$LexParse$top);
}
}
}