blob: e11c63203c91d900218dcedc226a67c9c886f297 [file] [log] [blame]
//----------------------------------------------------
// The following code was generated by CUP v0.11a beta 20060608
// Mon Dec 03 16:12:49 MSK 2012
//----------------------------------------------------
package JFlex;
import java.util.*;
/** CUP v0.11a beta 20060608 generated parser.
* @version Mon Dec 03 16:12:49 MSK 2012
*/
public class LexParse extends java_cup.runtime.lr_parser {
/** Default constructor. */
public LexParse() {super();}
/** Constructor which sets the default scanner. */
public LexParse(java_cup.runtime.Scanner s) {super(s);}
/** Constructor which sets the default scanner. */
public LexParse(java_cup.runtime.Scanner s, java_cup.runtime.SymbolFactory sf) {super(s,sf);}
/** Production table. */
protected static final short _production_table[][] =
unpackFromStrings(new String[] {
"\000\151\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\003\000\002\003\003\000\002\003\003\000" +
"\002\003\006\000\002\003\004\000\002\021\004\000\002" +
"\021\011\000\002\021\010\000\002\021\003\000\002\004" +
"\006\000\002\004\007\000\002\004\007\000\002\004\005" +
"\000\002\004\003\000\002\013\003\000\002\013\004\000" +
"\002\013\005\000\002\023\004\000\002\024\003\000\002" +
"\024\003\000\002\016\005\000\002\016\002\000\002\015" +
"\005\000\002\015\003\000\002\015\004\000\002\022\003" +
"\000\002\022\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\012\004\000\002\012" +
"\005\000\002\012\005\000\002\012\006\000\002\012\006" +
"\000\002\012\007\000\002\017\004\000\002\017\003\000" +
"\002\017\004\000\002\017\003\000\002\017\004\000\002" +
"\017\003\000\002\017\004\000\002\017\003\000\002\014" +
"\005\000\002\014\003\000\002\020\003\000\002\020\003" +
"\000\002\020\003\000\002\020\003\000\002\020\003\000" +
"\002\020\003\000\002\020\003\000\002\020\003\000\002" +
"\020\003\000\002\020\003\000\002\020\003\000\002\020" +
"\003\000\002\020\003\000\002\020\003\000\002\020\003" +
"\000\002\020\003\000\002\020\003\000\002\020\003\000" +
"\002\020\003\000\002\020\003\000\002\020\003\000\002" +
"\020\003\000\002\020\003\000\002\020\003\000\002\020" +
"\003\000\002\020\003\000\002\020\003\000\002\020\003" +
"\000\002\020\003\000\002\020\003\000\002\020\003\000" +
"\002\020\003\000\002\020\003\000\002\020\003\000\002" +
"\020\003\000\002\020\003" });
/** Access to production table. */
public short[][] production_table() {return _production_table;}
/** Parse-action table. */
protected static final short[][] _action_table =
unpackFromStrings(new String[] {
"\000\214\000\006\002\uffff\077\004\001\002\000\016\003" +
"\007\013\ufffe\022\ufffe\023\ufffe\024\ufffe\076\ufffe\001\002" +
"\000\004\002\006\001\002\000\004\002\001\001\002\000" +
"\014\013\ufffc\022\ufffc\023\ufffc\024\ufffc\076\ufffc\001\002" +
"\000\014\013\012\022\011\023\016\024\015\076\014\001" +
"\002\000\014\013\ufffb\022\ufffb\023\ufffb\024\ufffb\076\ufffb" +
"\001\002\000\144\003\152\004\uffe6\006\uffe6\010\uffe6\016" +
"\154\026\uffe6\027\uffe6\030\uffe6\031\uffe6\032\uffe6\033\uffe6" +
"\034\uffe6\037\uffe6\040\uffe6\041\uffe6\042\uffe6\043\uffe6\044" +
"\uffe6\045\uffe6\046\uffe6\047\uffe6\050\uffe6\051\uffe6\052\uffe6" +
"\053\uffe6\054\uffe6\055\uffe6\056\uffe6\057\uffe6\060\uffe6\061" +
"\uffe6\062\uffe6\063\uffe6\064\uffe6\065\uffe6\066\uffe6\067\uffe6" +
"\070\uffe6\071\uffe6\072\uffe6\073\uffe6\074\uffe6\103\uffe6\105" +
"\uffe6\106\uffe6\107\uffe6\110\uffe6\111\uffe6\112\uffe6\001\002" +
"\000\014\013\ufffd\022\ufffd\023\ufffd\024\ufffd\076\ufffd\001" +
"\002\000\004\014\017\001\002\000\014\013\ufff9\022\ufff9" +
"\023\ufff9\024\ufff9\076\ufff9\001\002\000\014\013\ufffa\022" +
"\ufffa\023\ufffa\024\ufffa\076\ufffa\001\002\000\146\004\066" +
"\010\064\013\ufff7\022\ufff7\023\ufff7\024\ufff7\026\056\027" +
"\043\030\072\031\060\032\076\033\023\037\061\040\033" +
"\041\021\042\074\043\063\044\062\045\073\046\071\047" +
"\036\050\050\051\101\052\053\053\052\054\047\055\055" +
"\056\054\057\044\060\042\061\067\062\040\063\102\064" +
"\032\065\051\066\031\067\034\070\020\071\075\072\100" +
"\073\025\074\026\076\ufff7\103\037\105\070\106\041\107" +
"\035\110\022\111\077\112\024\001\002\000\160\004\uff9d" +
"\005\uff9d\007\uff9d\010\uff9d\011\uff9d\025\uff9d\026\uff9d\027" +
"\uff9d\030\uff9d\031\uff9d\032\uff9d\033\uff9d\035\uff9d\036\uff9d" +
"\037\uff9d\040\uff9d\041\uff9d\042\uff9d\043\uff9d\044\uff9d\045" +
"\uff9d\046\uff9d\047\uff9d\050\uff9d\051\uff9d\052\uff9d\053\uff9d" +
"\054\uff9d\055\uff9d\056\uff9d\057\uff9d\060\uff9d\061\uff9d\062" +
"\uff9d\063\uff9d\064\uff9d\065\uff9d\066\uff9d\067\uff9d\070\uff9d" +
"\071\uff9d\072\uff9d\073\uff9d\074\uff9d\100\uff9d\101\uff9d\102" +
"\uff9d\103\uff9d\104\uff9d\105\uff9d\106\uff9d\107\uff9d\110\uff9d" +
"\111\uff9d\112\uff9d\001\002\000\160\004\uffb4\005\uffb4\007" +
"\uffb4\010\uffb4\011\uffb4\025\uffb4\026\uffb4\027\uffb4\030\uffb4" +
"\031\uffb4\032\uffb4\033\uffb4\035\uffb4\036\uffb4\037\uffb4\040" +
"\uffb4\041\uffb4\042\uffb4\043\uffb4\044\uffb4\045\uffb4\046\uffb4" +
"\047\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\066\uffb4\067\uffb4\070\uffb4\071\uffb4\072" +
"\uffb4\073\uffb4\074\uffb4\100\uffb4\101\uffb4\102\uffb4\103\uffb4" +
"\104\uffb4\105\uffb4\106\uffb4\107\uffb4\110\uffb4\111\uffb4\112" +
"\uffb4\001\002\000\156\004\uffcd\005\uffcd\007\uffcd\010\uffcd" +
"\025\uffcd\026\uffcd\027\uffcd\030\uffcd\031\uffcd\032\uffcd\033" +
"\uffcd\035\uffcd\036\uffcd\037\uffcd\040\uffcd\041\uffcd\042\uffcd" +
"\043\uffcd\044\uffcd\045\uffcd\046\uffcd\047\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\066" +
"\uffcd\067\uffcd\070\uffcd\071\uffcd\072\uffcd\073\uffcd\074\uffcd" +
"\100\uffcd\101\uffcd\102\uffcd\103\uffcd\104\uffcd\105\uffcd\106" +
"\uffcd\107\uffcd\110\uffcd\111\uffcd\112\uffcd\001\002\000\160" +
"\004\uffb7\005\uffb7\007\uffb7\010\uffb7\011\uffb7\025\uffb7\026" +
"\uffb7\027\uffb7\030\uffb7\031\uffb7\032\uffb7\033\uffb7\035\uffb7" +
"\036\uffb7\037\uffb7\040\uffb7\041\uffb7\042\uffb7\043\uffb7\044" +
"\uffb7\045\uffb7\046\uffb7\047\uffb7\050\uffb7\051\uffb7\052\uffb7" +
"\053\uffb7\054\uffb7\055\uffb7\056\uffb7\057\uffb7\060\uffb7\061" +
"\uffb7\062\uffb7\063\uffb7\064\uffb7\065\uffb7\066\uffb7\067\uffb7" +
"\070\uffb7\071\uffb7\072\uffb7\073\uffb7\074\uffb7\100\uffb7\101" +
"\uffb7\102\uffb7\103\uffb7\104\uffb7\105\uffb7\106\uffb7\107\uffb7" +
"\110\uffb7\111\uffb7\112\uffb7\001\002\000\156\004\uffd2\005" +
"\uffd2\007\uffd2\010\uffd2\025\uffd2\026\uffd2\027\uffd2\030\uffd2" +
"\031\uffd2\032\uffd2\033\uffd2\035\uffd2\036\uffd2\037\uffd2\040" +
"\uffd2\041\uffd2\042\uffd2\043\uffd2\044\uffd2\045\uffd2\046\uffd2" +
"\047\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\066\uffd2\067\uffd2\070\uffd2\071\uffd2\072" +
"\uffd2\073\uffd2\074\uffd2\100\uffd2\101\uffd2\102\uffd2\103\uffd2" +
"\104\uffd2\105\uffd2\106\uffd2\107\uffd2\110\uffd2\111\uffd2\112" +
"\uffd2\001\002\000\160\004\uff9a\005\uff9a\007\uff9a\010\uff9a" +
"\011\uff9a\025\uff9a\026\uff9a\027\uff9a\030\uff9a\031\uff9a\032" +
"\uff9a\033\uff9a\035\uff9a\036\uff9a\037\uff9a\040\uff9a\041\uff9a" +
"\042\uff9a\043\uff9a\044\uff9a\045\uff9a\046\uff9a\047\uff9a\050" +
"\uff9a\051\uff9a\052\uff9a\053\uff9a\054\uff9a\055\uff9a\056\uff9a" +
"\057\uff9a\060\uff9a\061\uff9a\062\uff9a\063\uff9a\064\uff9a\065" +
"\uff9a\066\uff9a\067\uff9a\070\uff9a\071\uff9a\072\uff9a\073\uff9a" +
"\074\uff9a\100\uff9a\101\uff9a\102\uff9a\103\uff9a\104\uff9a\105" +
"\uff9a\106\uff9a\107\uff9a\110\uff9a\111\uff9a\112\uff9a\001\002" +
"\000\160\004\uff99\005\uff99\007\uff99\010\uff99\011\uff99\025" +
"\uff99\026\uff99\027\uff99\030\uff99\031\uff99\032\uff99\033\uff99" +
"\035\uff99\036\uff99\037\uff99\040\uff99\041\uff99\042\uff99\043" +
"\uff99\044\uff99\045\uff99\046\uff99\047\uff99\050\uff99\051\uff99" +
"\052\uff99\053\uff99\054\uff99\055\uff99\056\uff99\057\uff99\060" +
"\uff99\061\uff99\062\uff99\063\uff99\064\uff99\065\uff99\066\uff99" +
"\067\uff99\070\uff99\071\uff99\072\uff99\073\uff99\074\uff99\100" +
"\uff99\101\uff99\102\uff99\103\uff99\104\uff99\105\uff99\106\uff99" +
"\107\uff99\110\uff99\111\uff99\112\uff99\001\002\000\006\025" +
"\151\103\104\001\002\000\146\004\066\005\uffdf\007\uffdf" +
"\010\064\025\uffdf\026\056\027\043\030\072\031\060\032" +
"\076\033\023\035\uffdf\036\uffdf\037\061\040\033\041\021" +
"\042\074\043\063\044\062\045\073\046\071\047\036\050" +
"\050\051\101\052\053\053\052\054\047\055\055\056\054" +
"\057\044\060\042\061\067\062\040\063\102\064\032\065" +
"\051\066\031\067\034\070\020\071\075\072\100\073\025" +
"\074\026\103\uffdf\105\070\106\041\107\035\110\022\111" +
"\077\112\024\001\002\000\160\004\uff9f\005\uff9f\007\uff9f" +
"\010\uff9f\011\uff9f\025\uff9f\026\uff9f\027\uff9f\030\uff9f\031" +
"\uff9f\032\uff9f\033\uff9f\035\uff9f\036\uff9f\037\uff9f\040\uff9f" +
"\041\uff9f\042\uff9f\043\uff9f\044\uff9f\045\uff9f\046\uff9f\047" +
"\uff9f\050\uff9f\051\uff9f\052\uff9f\053\uff9f\054\uff9f\055\uff9f" +
"\056\uff9f\057\uff9f\060\uff9f\061\uff9f\062\uff9f\063\uff9f\064" +
"\uff9f\065\uff9f\066\uff9f\067\uff9f\070\uff9f\071\uff9f\072\uff9f" +
"\073\uff9f\074\uff9f\100\uff9f\101\uff9f\102\uff9f\103\uff9f\104" +
"\uff9f\105\uff9f\106\uff9f\107\uff9f\110\uff9f\111\uff9f\112\uff9f" +
"\001\002\000\160\004\uffa1\005\uffa1\007\uffa1\010\uffa1\011" +
"\uffa1\025\uffa1\026\uffa1\027\uffa1\030\uffa1\031\uffa1\032\uffa1" +
"\033\uffa1\035\uffa1\036\uffa1\037\uffa1\040\uffa1\041\uffa1\042" +
"\uffa1\043\uffa1\044\uffa1\045\uffa1\046\uffa1\047\uffa1\050\uffa1" +
"\051\uffa1\052\uffa1\053\uffa1\054\uffa1\055\uffa1\056\uffa1\057" +
"\uffa1\060\uffa1\061\uffa1\062\uffa1\063\uffa1\064\uffa1\065\uffa1" +
"\066\uffa1\067\uffa1\070\uffa1\071\uffa1\072\uffa1\073\uffa1\074" +
"\uffa1\100\uffa1\101\uffa1\102\uffa1\103\uffa1\104\uffa1\105\uffa1" +
"\106\uffa1\107\uffa1\110\uffa1\111\uffa1\112\uffa1\001\002\000" +
"\160\004\uffb5\005\uffb5\007\uffb5\010\uffb5\011\uffb5\025\uffb5" +
"\026\uffb5\027\uffb5\030\uffb5\031\uffb5\032\uffb5\033\uffb5\035" +
"\uffb5\036\uffb5\037\uffb5\040\uffb5\041\uffb5\042\uffb5\043\uffb5" +
"\044\uffb5\045\uffb5\046\uffb5\047\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\066\uffb5\067" +
"\uffb5\070\uffb5\071\uffb5\072\uffb5\073\uffb5\074\uffb5\100\uffb5" +
"\101\uffb5\102\uffb5\103\uffb5\104\uffb5\105\uffb5\106\uffb5\107" +
"\uffb5\110\uffb5\111\uffb5\112\uffb5\001\002\000\160\004\uff9e" +
"\005\uff9e\007\uff9e\010\uff9e\011\uff9e\025\uff9e\026\uff9e\027" +
"\uff9e\030\uff9e\031\uff9e\032\uff9e\033\uff9e\035\uff9e\036\uff9e" +
"\037\uff9e\040\uff9e\041\uff9e\042\uff9e\043\uff9e\044\uff9e\045" +
"\uff9e\046\uff9e\047\uff9e\050\uff9e\051\uff9e\052\uff9e\053\uff9e" +
"\054\uff9e\055\uff9e\056\uff9e\057\uff9e\060\uff9e\061\uff9e\062" +
"\uff9e\063\uff9e\064\uff9e\065\uff9e\066\uff9e\067\uff9e\070\uff9e" +
"\071\uff9e\072\uff9e\073\uff9e\074\uff9e\100\uff9e\101\uff9e\102" +
"\uff9e\103\uff9e\104\uff9e\105\uff9e\106\uff9e\107\uff9e\110\uff9e" +
"\111\uff9e\112\uff9e\001\002\000\132\004\066\010\064\026" +
"\056\027\043\030\072\031\060\032\076\033\023\037\061" +
"\040\033\041\021\042\074\043\063\044\062\045\073\046" +
"\071\047\036\050\050\051\101\052\053\053\052\054\047" +
"\055\055\056\054\057\044\060\042\061\067\062\040\063" +
"\102\064\032\065\051\066\031\067\034\070\020\071\075" +
"\072\100\073\025\074\026\105\070\106\041\107\035\110" +
"\022\111\077\112\024\001\002\000\160\004\uffae\005\uffae" +
"\007\uffae\010\uffae\011\uffae\025\uffae\026\uffae\027\uffae\030" +
"\uffae\031\uffae\032\uffae\033\uffae\035\uffae\036\uffae\037\uffae" +
"\040\uffae\041\uffae\042\uffae\043\uffae\044\uffae\045\uffae\046" +
"\uffae\047\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\066\uffae\067\uffae\070\uffae\071\uffae" +
"\072\uffae\073\uffae\074\uffae\100\uffae\101\uffae\102\uffae\103" +
"\uffae\104\uffae\105\uffae\106\uffae\107\uffae\110\uffae\111\uffae" +
"\112\uffae\001\002\000\016\005\uffde\007\uffde\025\uffde\035" +
"\uffde\036\uffde\103\uffde\001\002\000\160\004\uffa3\005\uffa3" +
"\007\uffa3\010\uffa3\011\uffa3\025\uffa3\026\uffa3\027\uffa3\030" +
"\uffa3\031\uffa3\032\uffa3\033\uffa3\035\uffa3\036\uffa3\037\uffa3" +
"\040\uffa3\041\uffa3\042\uffa3\043\uffa3\044\uffa3\045\uffa3\046" +
"\uffa3\047\uffa3\050\uffa3\051\uffa3\052\uffa3\053\uffa3\054\uffa3" +
"\055\uffa3\056\uffa3\057\uffa3\060\uffa3\061\uffa3\062\uffa3\063" +
"\uffa3\064\uffa3\065\uffa3\066\uffa3\067\uffa3\070\uffa3\071\uffa3" +
"\072\uffa3\073\uffa3\074\uffa3\100\uffa3\101\uffa3\102\uffa3\103" +
"\uffa3\104\uffa3\105\uffa3\106\uffa3\107\uffa3\110\uffa3\111\uffa3" +
"\112\uffa3\001\002\000\132\004\066\010\064\026\056\027" +
"\043\030\072\031\060\032\076\033\023\037\061\040\033" +
"\041\021\042\074\043\063\044\062\045\073\046\071\047" +
"\036\050\050\051\101\052\053\053\052\054\047\055\055" +
"\056\054\057\044\060\042\061\067\062\040\063\102\064" +
"\032\065\051\066\031\067\034\070\020\071\075\072\100" +
"\073\025\074\026\105\070\106\041\107\035\110\022\111" +
"\077\112\024\001\002\000\160\004\uffa5\005\uffa5\007\uffa5" +
"\010\uffa5\011\uffa5\025\uffa5\026\uffa5\027\uffa5\030\uffa5\031" +
"\uffa5\032\uffa5\033\uffa5\035\uffa5\036\uffa5\037\uffa5\040\uffa5" +
"\041\uffa5\042\uffa5\043\uffa5\044\uffa5\045\uffa5\046\uffa5\047" +
"\uffa5\050\uffa5\051\uffa5\052\uffa5\053\uffa5\054\uffa5\055\uffa5" +
"\056\uffa5\057\uffa5\060\uffa5\061\uffa5\062\uffa5\063\uffa5\064" +
"\uffa5\065\uffa5\066\uffa5\067\uffa5\070\uffa5\071\uffa5\072\uffa5" +
"\073\uffa5\074\uffa5\100\uffa5\101\uffa5\102\uffa5\103\uffa5\104" +
"\uffa5\105\uffa5\106\uffa5\107\uffa5\110\uffa5\111\uffa5\112\uffa5" +
"\001\002\000\160\004\uffbb\005\uffbb\007\uffbb\010\uffbb\011" +
"\uffbb\025\uffbb\026\uffbb\027\uffbb\030\uffbb\031\uffbb\032\uffbb" +
"\033\uffbb\035\uffbb\036\uffbb\037\uffbb\040\uffbb\041\uffbb\042" +
"\uffbb\043\uffbb\044\uffbb\045\uffbb\046\uffbb\047\uffbb\050\uffbb" +
"\051\uffbb\052\uffbb\053\uffbb\054\uffbb\055\uffbb\056\uffbb\057" +
"\uffbb\060\uffbb\061\uffbb\062\uffbb\063\uffbb\064\uffbb\065\uffbb" +
"\066\uffbb\067\uffbb\070\uffbb\071\uffbb\072\uffbb\073\uffbb\074" +
"\uffbb\100\uffbb\101\uffbb\102\uffbb\103\uffbb\104\uffbb\105\uffbb" +
"\106\uffbb\107\uffbb\110\uffbb\111\uffbb\112\uffbb\001\002\000" +
"\160\004\uffa6\005\uffa6\007\uffa6\010\uffa6\011\uffa6\025\uffa6" +
"\026\uffa6\027\uffa6\030\uffa6\031\uffa6\032\uffa6\033\uffa6\035" +
"\uffa6\036\uffa6\037\uffa6\040\uffa6\041\uffa6\042\uffa6\043\uffa6" +
"\044\uffa6\045\uffa6\046\uffa6\047\uffa6\050\uffa6\051\uffa6\052" +
"\uffa6\053\uffa6\054\uffa6\055\uffa6\056\uffa6\057\uffa6\060\uffa6" +
"\061\uffa6\062\uffa6\063\uffa6\064\uffa6\065\uffa6\066\uffa6\067" +
"\uffa6\070\uffa6\071\uffa6\072\uffa6\073\uffa6\074\uffa6\100\uffa6" +
"\101\uffa6\102\uffa6\103\uffa6\104\uffa6\105\uffa6\106\uffa6\107" +
"\uffa6\110\uffa6\111\uffa6\112\uffa6\001\002\000\156\004\uffdb" +
"\005\uffdb\007\uffdb\010\uffdb\025\uffdb\026\uffdb\027\uffdb\030" +
"\uffdb\031\uffdb\032\uffdb\033\uffdb\035\uffdb\036\uffdb\037\uffdb" +
"\040\uffdb\041\uffdb\042\uffdb\043\uffdb\044\uffdb\045\uffdb\046" +
"\uffdb\047\uffdb\050\uffdb\051\uffdb\052\uffdb\053\uffdb\054\uffdb" +
"\055\uffdb\056\uffdb\057\uffdb\060\uffdb\061\uffdb\062\uffdb\063" +
"\uffdb\064\uffdb\065\uffdb\066\uffdb\067\uffdb\070\uffdb\071\uffdb" +
"\072\uffdb\073\uffdb\074\uffdb\100\142\101\140\102\141\103" +
"\uffdb\104\143\105\uffdb\106\uffdb\107\uffdb\110\uffdb\111\uffdb" +
"\112\uffdb\001\002\000\156\004\uffd0\005\uffd0\007\uffd0\010" +
"\uffd0\025\uffd0\026\uffd0\027\uffd0\030\uffd0\031\uffd0\032\uffd0" +
"\033\uffd0\035\uffd0\036\uffd0\037\uffd0\040\uffd0\041\uffd0\042" +
"\uffd0\043\uffd0\044\uffd0\045\uffd0\046\uffd0\047\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" +
"\066\uffd0\067\uffd0\070\uffd0\071\uffd0\072\uffd0\073\uffd0\074" +
"\uffd0\100\uffd0\101\uffd0\102\uffd0\103\uffd0\104\uffd0\105\uffd0" +
"\106\uffd0\107\uffd0\110\uffd0\111\uffd0\112\uffd0\001\002\000" +
"\160\004\uffa9\005\uffa9\007\uffa9\010\uffa9\011\uffa9\025\uffa9" +
"\026\uffa9\027\uffa9\030\uffa9\031\uffa9\032\uffa9\033\uffa9\035" +
"\uffa9\036\uffa9\037\uffa9\040\uffa9\041\uffa9\042\uffa9\043\uffa9" +
"\044\uffa9\045\uffa9\046\uffa9\047\uffa9\050\uffa9\051\uffa9\052" +
"\uffa9\053\uffa9\054\uffa9\055\uffa9\056\uffa9\057\uffa9\060\uffa9" +
"\061\uffa9\062\uffa9\063\uffa9\064\uffa9\065\uffa9\066\uffa9\067" +
"\uffa9\070\uffa9\071\uffa9\072\uffa9\073\uffa9\074\uffa9\100\uffa9" +
"\101\uffa9\102\uffa9\103\uffa9\104\uffa9\105\uffa9\106\uffa9\107" +
"\uffa9\110\uffa9\111\uffa9\112\uffa9\001\002\000\160\004\uffad" +
"\005\uffad\007\uffad\010\uffad\011\uffad\025\uffad\026\uffad\027" +
"\uffad\030\uffad\031\uffad\032\uffad\033\uffad\035\uffad\036\uffad" +
"\037\uffad\040\uffad\041\uffad\042\uffad\043\uffad\044\uffad\045" +
"\uffad\046\uffad\047\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\066\uffad\067\uffad\070\uffad" +
"\071\uffad\072\uffad\073\uffad\074\uffad\100\uffad\101\uffad\102" +
"\uffad\103\uffad\104\uffad\105\uffad\106\uffad\107\uffad\110\uffad" +
"\111\uffad\112\uffad\001\002\000\160\004\uffa0\005\uffa0\007" +
"\uffa0\010\uffa0\011\uffa0\025\uffa0\026\uffa0\027\uffa0\030\uffa0" +
"\031\uffa0\032\uffa0\033\uffa0\035\uffa0\036\uffa0\037\uffa0\040" +
"\uffa0\041\uffa0\042\uffa0\043\uffa0\044\uffa0\045\uffa0\046\uffa0" +
"\047\uffa0\050\uffa0\051\uffa0\052\uffa0\053\uffa0\054\uffa0\055" +
"\uffa0\056\uffa0\057\uffa0\060\uffa0\061\uffa0\062\uffa0\063\uffa0" +
"\064\uffa0\065\uffa0\066\uffa0\067\uffa0\070\uffa0\071\uffa0\072" +
"\uffa0\073\uffa0\074\uffa0\100\uffa0\101\uffa0\102\uffa0\103\uffa0" +
"\104\uffa0\105\uffa0\106\uffa0\107\uffa0\110\uffa0\111\uffa0\112" +
"\uffa0\001\002\000\160\004\uffaa\005\uffaa\007\uffaa\010\uffaa" +
"\011\uffaa\025\uffaa\026\uffaa\027\uffaa\030\uffaa\031\uffaa\032" +
"\uffaa\033\uffaa\035\uffaa\036\uffaa\037\uffaa\040\uffaa\041\uffaa" +
"\042\uffaa\043\uffaa\044\uffaa\045\uffaa\046\uffaa\047\uffaa\050" +
"\uffaa\051\uffaa\052\uffaa\053\uffaa\054\uffaa\055\uffaa\056\uffaa" +
"\057\uffaa\060\uffaa\061\uffaa\062\uffaa\063\uffaa\064\uffaa\065" +
"\uffaa\066\uffaa\067\uffaa\070\uffaa\071\uffaa\072\uffaa\073\uffaa" +
"\074\uffaa\100\uffaa\101\uffaa\102\uffaa\103\uffaa\104\uffaa\105" +
"\uffaa\106\uffaa\107\uffaa\110\uffaa\111\uffaa\112\uffaa\001\002" +
"\000\160\004\uffab\005\uffab\007\uffab\010\uffab\011\uffab\025" +
"\uffab\026\uffab\027\uffab\030\uffab\031\uffab\032\uffab\033\uffab" +
"\035\uffab\036\uffab\037\uffab\040\uffab\041\uffab\042\uffab\043" +
"\uffab\044\uffab\045\uffab\046\uffab\047\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\066\uffab" +
"\067\uffab\070\uffab\071\uffab\072\uffab\073\uffab\074\uffab\100" +
"\uffab\101\uffab\102\uffab\103\uffab\104\uffab\105\uffab\106\uffab" +
"\107\uffab\110\uffab\111\uffab\112\uffab\001\002\000\160\004" +
"\uffa7\005\uffa7\007\uffa7\010\uffa7\011\uffa7\025\uffa7\026\uffa7" +
"\027\uffa7\030\uffa7\031\uffa7\032\uffa7\033\uffa7\035\uffa7\036" +
"\uffa7\037\uffa7\040\uffa7\041\uffa7\042\uffa7\043\uffa7\044\uffa7" +
"\045\uffa7\046\uffa7\047\uffa7\050\uffa7\051\uffa7\052\uffa7\053" +
"\uffa7\054\uffa7\055\uffa7\056\uffa7\057\uffa7\060\uffa7\061\uffa7" +
"\062\uffa7\063\uffa7\064\uffa7\065\uffa7\066\uffa7\067\uffa7\070" +
"\uffa7\071\uffa7\072\uffa7\073\uffa7\074\uffa7\100\uffa7\101\uffa7" +
"\102\uffa7\103\uffa7\104\uffa7\105\uffa7\106\uffa7\107\uffa7\110" +
"\uffa7\111\uffa7\112\uffa7\001\002\000\160\004\uffa8\005\uffa8" +
"\007\uffa8\010\uffa8\011\uffa8\025\uffa8\026\uffa8\027\uffa8\030" +
"\uffa8\031\uffa8\032\uffa8\033\uffa8\035\uffa8\036\uffa8\037\uffa8" +
"\040\uffa8\041\uffa8\042\uffa8\043\uffa8\044\uffa8\045\uffa8\046" +
"\uffa8\047\uffa8\050\uffa8\051\uffa8\052\uffa8\053\uffa8\054\uffa8" +
"\055\uffa8\056\uffa8\057\uffa8\060\uffa8\061\uffa8\062\uffa8\063" +
"\uffa8\064\uffa8\065\uffa8\066\uffa8\067\uffa8\070\uffa8\071\uffa8" +
"\072\uffa8\073\uffa8\074\uffa8\100\uffa8\101\uffa8\102\uffa8\103" +
"\uffa8\104\uffa8\105\uffa8\106\uffa8\107\uffa8\110\uffa8\111\uffa8" +
"\112\uffa8\001\002\000\160\004\uffbc\005\uffbc\007\uffbc\010" +
"\uffbc\011\uffbc\025\uffbc\026\uffbc\027\uffbc\030\uffbc\031\uffbc" +
"\032\uffbc\033\uffbc\035\uffbc\036\uffbc\037\uffbc\040\uffbc\041" +
"\uffbc\042\uffbc\043\uffbc\044\uffbc\045\uffbc\046\uffbc\047\uffbc" +
"\050\uffbc\051\uffbc\052\uffbc\053\uffbc\054\uffbc\055\uffbc\056" +
"\uffbc\057\uffbc\060\uffbc\061\uffbc\062\uffbc\063\uffbc\064\uffbc" +
"\065\uffbc\066\uffbc\067\uffbc\070\uffbc\071\uffbc\072\uffbc\073" +
"\uffbc\074\uffbc\100\uffbc\101\uffbc\102\uffbc\103\uffbc\104\uffbc" +
"\105\uffbc\106\uffbc\107\uffbc\110\uffbc\111\uffbc\112\uffbc\001" +
"\002\000\156\004\uffd1\005\uffd1\007\uffd1\010\uffd1\025\uffd1" +
"\026\uffd1\027\uffd1\030\uffd1\031\uffd1\032\uffd1\033\uffd1\035" +
"\uffd1\036\uffd1\037\uffd1\040\uffd1\041\uffd1\042\uffd1\043\uffd1" +
"\044\uffd1\045\uffd1\046\uffd1\047\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\066\uffd1\067" +
"\uffd1\070\uffd1\071\uffd1\072\uffd1\073\uffd1\074\uffd1\100\uffd1" +
"\101\uffd1\102\uffd1\103\uffd1\104\uffd1\105\uffd1\106\uffd1\107" +
"\uffd1\110\uffd1\111\uffd1\112\uffd1\001\002\000\160\004\uffb9" +
"\005\uffb9\007\uffb9\010\uffb9\011\uffb9\025\uffb9\026\uffb9\027" +
"\uffb9\030\uffb9\031\uffb9\032\uffb9\033\uffb9\035\uffb9\036\uffb9" +
"\037\uffb9\040\uffb9\041\uffb9\042\uffb9\043\uffb9\044\uffb9\045" +
"\uffb9\046\uffb9\047\uffb9\050\uffb9\051\uffb9\052\uffb9\053\uffb9" +
"\054\uffb9\055\uffb9\056\uffb9\057\uffb9\060\uffb9\061\uffb9\062" +
"\uffb9\063\uffb9\064\uffb9\065\uffb9\066\uffb9\067\uffb9\070\uffb9" +
"\071\uffb9\072\uffb9\073\uffb9\074\uffb9\100\uffb9\101\uffb9\102" +
"\uffb9\103\uffb9\104\uffb9\105\uffb9\106\uffb9\107\uffb9\110\uffb9" +
"\111\uffb9\112\uffb9\001\002\000\160\004\uffb6\005\uffb6\007" +
"\uffb6\010\uffb6\011\uffb6\025\uffb6\026\uffb6\027\uffb6\030\uffb6" +
"\031\uffb6\032\uffb6\033\uffb6\035\uffb6\036\uffb6\037\uffb6\040" +
"\uffb6\041\uffb6\042\uffb6\043\uffb6\044\uffb6\045\uffb6\046\uffb6" +
"\047\uffb6\050\uffb6\051\uffb6\052\uffb6\053\uffb6\054\uffb6\055" +
"\uffb6\056\uffb6\057\uffb6\060\uffb6\061\uffb6\062\uffb6\063\uffb6" +
"\064\uffb6\065\uffb6\066\uffb6\067\uffb6\070\uffb6\071\uffb6\072" +
"\uffb6\073\uffb6\074\uffb6\100\uffb6\101\uffb6\102\uffb6\103\uffb6" +
"\104\uffb6\105\uffb6\106\uffb6\107\uffb6\110\uffb6\111\uffb6\112" +
"\uffb6\001\002\000\160\004\uffb1\005\uffb1\007\uffb1\010\uffb1" +
"\011\uffb1\025\uffb1\026\uffb1\027\uffb1\030\uffb1\031\uffb1\032" +
"\uffb1\033\uffb1\035\uffb1\036\uffb1\037\uffb1\040\uffb1\041\uffb1" +
"\042\uffb1\043\uffb1\044\uffb1\045\uffb1\046\uffb1\047\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\066\uffb1\067\uffb1\070\uffb1\071\uffb1\072\uffb1\073\uffb1" +
"\074\uffb1\100\uffb1\101\uffb1\102\uffb1\103\uffb1\104\uffb1\105" +
"\uffb1\106\uffb1\107\uffb1\110\uffb1\111\uffb1\112\uffb1\001\002" +
"\000\160\004\uffb2\005\uffb2\007\uffb2\010\uffb2\011\uffb2\025" +
"\uffb2\026\uffb2\027\uffb2\030\uffb2\031\uffb2\032\uffb2\033\uffb2" +
"\035\uffb2\036\uffb2\037\uffb2\040\uffb2\041\uffb2\042\uffb2\043" +
"\uffb2\044\uffb2\045\uffb2\046\uffb2\047\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\066\uffb2" +
"\067\uffb2\070\uffb2\071\uffb2\072\uffb2\073\uffb2\074\uffb2\100" +
"\uffb2\101\uffb2\102\uffb2\103\uffb2\104\uffb2\105\uffb2\106\uffb2" +
"\107\uffb2\110\uffb2\111\uffb2\112\uffb2\001\002\000\126\006" +
"\114\011\115\012\113\026\056\027\043\030\072\031\060" +
"\032\076\033\023\037\061\040\033\041\021\042\074\043" +
"\063\044\062\045\073\046\071\047\036\050\050\051\101" +
"\052\053\053\052\054\047\055\055\056\054\057\044\060" +
"\042\061\067\062\040\063\102\064\032\065\051\066\031" +
"\067\034\070\020\071\075\072\100\073\025\074\026\110" +
"\110\111\116\112\111\001\002\000\146\004\uffdc\005\uffdc" +
"\007\uffdc\010\uffdc\025\uffdc\026\uffdc\027\uffdc\030\uffdc\031" +
"\uffdc\032\uffdc\033\uffdc\035\uffdc\036\uffdc\037\uffdc\040\uffdc" +
"\041\uffdc\042\uffdc\043\uffdc\044\uffdc\045\uffdc\046\uffdc\047" +
"\uffdc\050\uffdc\051\uffdc\052\uffdc\053\uffdc\054\uffdc\055\uffdc" +
"\056\uffdc\057\uffdc\060\uffdc\061\uffdc\062\uffdc\063\uffdc\064" +
"\uffdc\065\uffdc\066\uffdc\067\uffdc\070\uffdc\071\uffdc\072\uffdc" +
"\073\uffdc\074\uffdc\103\uffdc\105\uffdc\106\uffdc\107\uffdc\110" +
"\uffdc\111\uffdc\112\uffdc\001\002\000\134\004\066\010\064" +
"\026\056\027\043\030\072\031\060\032\076\033\023\037" +
"\061\040\033\041\021\042\074\043\063\044\062\045\073" +
"\046\071\047\036\050\050\051\101\052\053\053\052\054" +
"\047\055\055\056\054\057\044\060\042\061\067\062\040" +
"\063\102\064\032\065\051\066\031\067\034\070\020\071" +
"\075\072\100\073\025\074\026\103\037\105\070\106\041" +
"\107\035\110\022\111\077\112\024\001\002\000\160\004" +
"\uffa4\005\uffa4\007\uffa4\010\uffa4\011\uffa4\025\uffa4\026\uffa4" +
"\027\uffa4\030\uffa4\031\uffa4\032\uffa4\033\uffa4\035\uffa4\036" +
"\uffa4\037\uffa4\040\uffa4\041\uffa4\042\uffa4\043\uffa4\044\uffa4" +
"\045\uffa4\046\uffa4\047\uffa4\050\uffa4\051\uffa4\052\uffa4\053" +
"\uffa4\054\uffa4\055\uffa4\056\uffa4\057\uffa4\060\uffa4\061\uffa4" +
"\062\uffa4\063\uffa4\064\uffa4\065\uffa4\066\uffa4\067\uffa4\070" +
"\uffa4\071\uffa4\072\uffa4\073\uffa4\074\uffa4\100\uffa4\101\uffa4" +
"\102\uffa4\103\uffa4\104\uffa4\105\uffa4\106\uffa4\107\uffa4\110" +
"\uffa4\111\uffa4\112\uffa4\001\002\000\156\004\uffce\005\uffce" +
"\007\uffce\010\uffce\025\uffce\026\uffce\027\uffce\030\uffce\031" +
"\uffce\032\uffce\033\uffce\035\uffce\036\uffce\037\uffce\040\uffce" +
"\041\uffce\042\uffce\043\uffce\044\uffce\045\uffce\046\uffce\047" +
"\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\066\uffce\067\uffce\070\uffce\071\uffce\072\uffce" +
"\073\uffce\074\uffce\100\uffce\101\uffce\102\uffce\103\uffce\104" +
"\uffce\105\uffce\106\uffce\107\uffce\110\uffce\111\uffce\112\uffce" +
"\001\002\000\160\004\uffaf\005\uffaf\007\uffaf\010\uffaf\011" +
"\uffaf\025\uffaf\026\uffaf\027\uffaf\030\uffaf\031\uffaf\032\uffaf" +
"\033\uffaf\035\uffaf\036\uffaf\037\uffaf\040\uffaf\041\uffaf\042" +
"\uffaf\043\uffaf\044\uffaf\045\uffaf\046\uffaf\047\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" +
"\066\uffaf\067\uffaf\070\uffaf\071\uffaf\072\uffaf\073\uffaf\074" +
"\uffaf\100\uffaf\101\uffaf\102\uffaf\103\uffaf\104\uffaf\105\uffaf" +
"\106\uffaf\107\uffaf\110\uffaf\111\uffaf\112\uffaf\001\002\000" +
"\160\004\uffba\005\uffba\007\uffba\010\uffba\011\uffba\025\uffba" +
"\026\uffba\027\uffba\030\uffba\031\uffba\032\uffba\033\uffba\035" +
"\uffba\036\uffba\037\uffba\040\uffba\041\uffba\042\uffba\043\uffba" +
"\044\uffba\045\uffba\046\uffba\047\uffba\050\uffba\051\uffba\052" +
"\uffba\053\uffba\054\uffba\055\uffba\056\uffba\057\uffba\060\uffba" +
"\061\uffba\062\uffba\063\uffba\064\uffba\065\uffba\066\uffba\067" +
"\uffba\070\uffba\071\uffba\072\uffba\073\uffba\074\uffba\100\uffba" +
"\101\uffba\102\uffba\103\uffba\104\uffba\105\uffba\106\uffba\107" +
"\uffba\110\uffba\111\uffba\112\uffba\001\002\000\160\004\uffb0" +
"\005\uffb0\007\uffb0\010\uffb0\011\uffb0\025\uffb0\026\uffb0\027" +
"\uffb0\030\uffb0\031\uffb0\032\uffb0\033\uffb0\035\uffb0\036\uffb0" +
"\037\uffb0\040\uffb0\041\uffb0\042\uffb0\043\uffb0\044\uffb0\045" +
"\uffb0\046\uffb0\047\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\066\uffb0\067\uffb0\070\uffb0" +
"\071\uffb0\072\uffb0\073\uffb0\074\uffb0\100\uffb0\101\uffb0\102" +
"\uffb0\103\uffb0\104\uffb0\105\uffb0\106\uffb0\107\uffb0\110\uffb0" +
"\111\uffb0\112\uffb0\001\002\000\160\004\uffb3\005\uffb3\007" +
"\uffb3\010\uffb3\011\uffb3\025\uffb3\026\uffb3\027\uffb3\030\uffb3" +
"\031\uffb3\032\uffb3\033\uffb3\035\uffb3\036\uffb3\037\uffb3\040" +
"\uffb3\041\uffb3\042\uffb3\043\uffb3\044\uffb3\045\uffb3\046\uffb3" +
"\047\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\066\uffb3\067\uffb3\070\uffb3\071\uffb3\072" +
"\uffb3\073\uffb3\074\uffb3\100\uffb3\101\uffb3\102\uffb3\103\uffb3" +
"\104\uffb3\105\uffb3\106\uffb3\107\uffb3\110\uffb3\111\uffb3\112" +
"\uffb3\001\002\000\160\004\uff9c\005\uff9c\007\uff9c\010\uff9c" +
"\011\uff9c\025\uff9c\026\uff9c\027\uff9c\030\uff9c\031\uff9c\032" +
"\uff9c\033\uff9c\035\uff9c\036\uff9c\037\uff9c\040\uff9c\041\uff9c" +
"\042\uff9c\043\uff9c\044\uff9c\045\uff9c\046\uff9c\047\uff9c\050" +
"\uff9c\051\uff9c\052\uff9c\053\uff9c\054\uff9c\055\uff9c\056\uff9c" +
"\057\uff9c\060\uff9c\061\uff9c\062\uff9c\063\uff9c\064\uff9c\065" +
"\uff9c\066\uff9c\067\uff9c\070\uff9c\071\uff9c\072\uff9c\073\uff9c" +
"\074\uff9c\100\uff9c\101\uff9c\102\uff9c\103\uff9c\104\uff9c\105" +
"\uff9c\106\uff9c\107\uff9c\110\uff9c\111\uff9c\112\uff9c\001\002" +
"\000\160\004\uffb8\005\uffb8\007\uffb8\010\uffb8\011\uffb8\025" +
"\uffb8\026\uffb8\027\uffb8\030\uffb8\031\uffb8\032\uffb8\033\uffb8" +
"\035\uffb8\036\uffb8\037\uffb8\040\uffb8\041\uffb8\042\uffb8\043" +
"\uffb8\044\uffb8\045\uffb8\046\uffb8\047\uffb8\050\uffb8\051\uffb8" +
"\052\uffb8\053\uffb8\054\uffb8\055\uffb8\056\uffb8\057\uffb8\060" +
"\uffb8\061\uffb8\062\uffb8\063\uffb8\064\uffb8\065\uffb8\066\uffb8" +
"\067\uffb8\070\uffb8\071\uffb8\072\uffb8\073\uffb8\074\uffb8\100" +
"\uffb8\101\uffb8\102\uffb8\103\uffb8\104\uffb8\105\uffb8\106\uffb8" +
"\107\uffb8\110\uffb8\111\uffb8\112\uffb8\001\002\000\156\004" +
"\uffcf\005\uffcf\007\uffcf\010\uffcf\025\uffcf\026\uffcf\027\uffcf" +
"\030\uffcf\031\uffcf\032\uffcf\033\uffcf\035\uffcf\036\uffcf\037" +
"\uffcf\040\uffcf\041\uffcf\042\uffcf\043\uffcf\044\uffcf\045\uffcf" +
"\046\uffcf\047\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\066\uffcf\067\uffcf\070\uffcf\071" +
"\uffcf\072\uffcf\073\uffcf\074\uffcf\100\uffcf\101\uffcf\102\uffcf" +
"\103\uffcf\104\uffcf\105\uffcf\106\uffcf\107\uffcf\110\uffcf\111" +
"\uffcf\112\uffcf\001\002\000\160\004\uff9b\005\uff9b\007\uff9b" +
"\010\uff9b\011\uff9b\025\uff9b\026\uff9b\027\uff9b\030\uff9b\031" +
"\uff9b\032\uff9b\033\uff9b\035\uff9b\036\uff9b\037\uff9b\040\uff9b" +
"\041\uff9b\042\uff9b\043\uff9b\044\uff9b\045\uff9b\046\uff9b\047" +
"\uff9b\050\uff9b\051\uff9b\052\uff9b\053\uff9b\054\uff9b\055\uff9b" +
"\056\uff9b\057\uff9b\060\uff9b\061\uff9b\062\uff9b\063\uff9b\064" +
"\uff9b\065\uff9b\066\uff9b\067\uff9b\070\uff9b\071\uff9b\072\uff9b" +
"\073\uff9b\074\uff9b\100\uff9b\101\uff9b\102\uff9b\103\uff9b\104" +
"\uff9b\105\uff9b\106\uff9b\107\uff9b\110\uff9b\111\uff9b\112\uff9b" +
"\001\002\000\160\004\uffac\005\uffac\007\uffac\010\uffac\011" +
"\uffac\025\uffac\026\uffac\027\uffac\030\uffac\031\uffac\032\uffac" +
"\033\uffac\035\uffac\036\uffac\037\uffac\040\uffac\041\uffac\042" +
"\uffac\043\uffac\044\uffac\045\uffac\046\uffac\047\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" +
"\066\uffac\067\uffac\070\uffac\071\uffac\072\uffac\073\uffac\074" +
"\uffac\100\uffac\101\uffac\102\uffac\103\uffac\104\uffac\105\uffac" +
"\106\uffac\107\uffac\110\uffac\111\uffac\112\uffac\001\002\000" +
"\160\004\uffa2\005\uffa2\007\uffa2\010\uffa2\011\uffa2\025\uffa2" +
"\026\uffa2\027\uffa2\030\uffa2\031\uffa2\032\uffa2\033\uffa2\035" +
"\uffa2\036\uffa2\037\uffa2\040\uffa2\041\uffa2\042\uffa2\043\uffa2" +
"\044\uffa2\045\uffa2\046\uffa2\047\uffa2\050\uffa2\051\uffa2\052" +
"\uffa2\053\uffa2\054\uffa2\055\uffa2\056\uffa2\057\uffa2\060\uffa2" +
"\061\uffa2\062\uffa2\063\uffa2\064\uffa2\065\uffa2\066\uffa2\067" +
"\uffa2\070\uffa2\071\uffa2\072\uffa2\073\uffa2\074\uffa2\100\uffa2" +
"\101\uffa2\102\uffa2\103\uffa2\104\uffa2\105\uffa2\106\uffa2\107" +
"\uffa2\110\uffa2\111\uffa2\112\uffa2\001\002\000\006\005\105" +
"\103\104\001\002\000\132\004\066\010\064\026\056\027" +
"\043\030\072\031\060\032\076\033\023\037\061\040\033" +
"\041\021\042\074\043\063\044\062\045\073\046\071\047" +
"\036\050\050\051\101\052\053\053\052\054\047\055\055" +
"\056\054\057\044\060\042\061\067\062\040\063\102\064" +
"\032\065\051\066\031\067\034\070\020\071\075\072\100" +
"\073\025\074\026\105\070\106\041\107\035\110\022\111" +
"\077\112\024\001\002\000\156\004\uffd3\005\uffd3\007\uffd3" +
"\010\uffd3\025\uffd3\026\uffd3\027\uffd3\030\uffd3\031\uffd3\032" +
"\uffd3\033\uffd3\035\uffd3\036\uffd3\037\uffd3\040\uffd3\041\uffd3" +
"\042\uffd3\043\uffd3\044\uffd3\045\uffd3\046\uffd3\047\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\066\uffd3\067\uffd3\070\uffd3\071\uffd3\072\uffd3\073\uffd3" +
"\074\uffd3\100\uffd3\101\uffd3\102\uffd3\103\uffd3\104\uffd3\105" +
"\uffd3\106\uffd3\107\uffd3\110\uffd3\111\uffd3\112\uffd3\001\002" +
"\000\146\004\066\005\uffe0\007\uffe0\010\064\025\uffe0\026" +
"\056\027\043\030\072\031\060\032\076\033\023\035\uffe0" +
"\036\uffe0\037\061\040\033\041\021\042\074\043\063\044" +
"\062\045\073\046\071\047\036\050\050\051\101\052\053" +
"\053\052\054\047\055\055\056\054\057\044\060\042\061" +
"\067\062\040\063\102\064\032\065\051\066\031\067\034" +
"\070\020\071\075\072\100\073\025\074\026\103\uffe0\105" +
"\070\106\041\107\035\110\022\111\077\112\024\001\002" +
"\000\146\004\uffdd\005\uffdd\007\uffdd\010\uffdd\025\uffdd\026" +
"\uffdd\027\uffdd\030\uffdd\031\uffdd\032\uffdd\033\uffdd\035\uffdd" +
"\036\uffdd\037\uffdd\040\uffdd\041\uffdd\042\uffdd\043\uffdd\044" +
"\uffdd\045\uffdd\046\uffdd\047\uffdd\050\uffdd\051\uffdd\052\uffdd" +
"\053\uffdd\054\uffdd\055\uffdd\056\uffdd\057\uffdd\060\uffdd\061" +
"\uffdd\062\uffdd\063\uffdd\064\uffdd\065\uffdd\066\uffdd\067\uffdd" +
"\070\uffdd\071\uffdd\072\uffdd\073\uffdd\074\uffdd\103\uffdd\105" +
"\uffdd\106\uffdd\107\uffdd\110\uffdd\111\uffdd\112\uffdd\001\002" +
"\000\124\011\uffbd\012\136\026\uffbd\027\uffbd\030\uffbd\031" +
"\uffbd\032\uffbd\033\uffbd\037\uffbd\040\uffbd\041\uffbd\042\uffbd" +
"\043\uffbd\044\uffbd\045\uffbd\046\uffbd\047\uffbd\050\uffbd\051" +
"\uffbd\052\uffbd\053\uffbd\054\uffbd\055\uffbd\056\uffbd\057\uffbd" +
"\060\uffbd\061\uffbd\062\uffbd\063\uffbd\064\uffbd\065\uffbd\066" +
"\uffbd\067\uffbd\070\uffbd\071\uffbd\072\uffbd\073\uffbd\074\uffbd" +
"\110\uffbd\111\uffbd\112\uffbd\001\002\000\122\011\uffbf\026" +
"\uffbf\027\uffbf\030\uffbf\031\uffbf\032\uffbf\033\uffbf\037\uffbf" +
"\040\uffbf\041\uffbf\042\uffbf\043\uffbf\044\uffbf\045\uffbf\046" +
"\uffbf\047\uffbf\050\uffbf\051\uffbf\052\uffbf\053\uffbf\054\uffbf" +
"\055\uffbf\056\uffbf\057\uffbf\060\uffbf\061\uffbf\062\uffbf\063" +
"\uffbf\064\uffbf\065\uffbf\066\uffbf\067\uffbf\070\uffbf\071\uffbf" +
"\072\uffbf\073\uffbf\074\uffbf\110\uffbf\111\uffbf\112\uffbf\001" +
"\002\000\122\011\uffc3\026\uffc3\027\uffc3\030\uffc3\031\uffc3" +
"\032\uffc3\033\uffc3\037\uffc3\040\uffc3\041\uffc3\042\uffc3\043" +
"\uffc3\044\uffc3\045\uffc3\046\uffc3\047\uffc3\050\uffc3\051\uffc3" +
"\052\uffc3\053\uffc3\054\uffc3\055\uffc3\056\uffc3\057\uffc3\060" +
"\uffc3\061\uffc3\062\uffc3\063\uffc3\064\uffc3\065\uffc3\066\uffc3" +
"\067\uffc3\070\uffc3\071\uffc3\072\uffc3\073\uffc3\074\uffc3\110" +
"\uffc3\111\uffc3\112\uffc3\001\002\000\120\026\056\027\043" +
"\030\072\031\060\032\076\033\023\037\061\040\033\041" +
"\021\042\074\043\063\044\062\045\073\046\071\047\036" +
"\050\050\051\101\052\053\053\052\054\047\055\055\056" +
"\054\057\044\060\042\061\067\062\040\063\102\064\032" +
"\065\051\066\031\067\034\070\020\071\075\072\100\073" +
"\025\074\026\110\110\111\116\112\111\001\002\000\124" +
"\011\127\012\126\026\056\027\043\030\072\031\060\032" +
"\076\033\023\037\061\040\033\041\021\042\074\043\063" +
"\044\062\045\073\046\071\047\036\050\050\051\101\052" +
"\053\053\052\054\047\055\055\056\054\057\044\060\042" +
"\061\067\062\040\063\102\064\032\065\051\066\031\067" +
"\034\070\020\071\075\072\100\073\025\074\026\110\110" +
"\111\116\112\111\001\002\000\156\004\uffcc\005\uffcc\007" +
"\uffcc\010\uffcc\025\uffcc\026\uffcc\027\uffcc\030\uffcc\031\uffcc" +
"\032\uffcc\033\uffcc\035\uffcc\036\uffcc\037\uffcc\040\uffcc\041" +
"\uffcc\042\uffcc\043\uffcc\044\uffcc\045\uffcc\046\uffcc\047\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\066\uffcc\067\uffcc\070\uffcc\071\uffcc\072\uffcc\073" +
"\uffcc\074\uffcc\100\uffcc\101\uffcc\102\uffcc\103\uffcc\104\uffcc" +
"\105\uffcc\106\uffcc\107\uffcc\110\uffcc\111\uffcc\112\uffcc\001" +
"\002\000\122\011\uffc1\026\uffc1\027\uffc1\030\uffc1\031\uffc1" +
"\032\uffc1\033\uffc1\037\uffc1\040\uffc1\041\uffc1\042\uffc1\043" +
"\uffc1\044\uffc1\045\uffc1\046\uffc1\047\uffc1\050\uffc1\051\uffc1" +
"\052\uffc1\053\uffc1\054\uffc1\055\uffc1\056\uffc1\057\uffc1\060" +
"\uffc1\061\uffc1\062\uffc1\063\uffc1\064\uffc1\065\uffc1\066\uffc1" +
"\067\uffc1\070\uffc1\071\uffc1\072\uffc1\073\uffc1\074\uffc1\110" +
"\uffc1\111\uffc1\112\uffc1\001\002\000\122\011\uffc5\026\uffc5" +
"\027\uffc5\030\uffc5\031\uffc5\032\uffc5\033\uffc5\037\uffc5\040" +
"\uffc5\041\uffc5\042\uffc5\043\uffc5\044\uffc5\045\uffc5\046\uffc5" +
"\047\uffc5\050\uffc5\051\uffc5\052\uffc5\053\uffc5\054\uffc5\055" +
"\uffc5\056\uffc5\057\uffc5\060\uffc5\061\uffc5\062\uffc5\063\uffc5" +
"\064\uffc5\065\uffc5\066\uffc5\067\uffc5\070\uffc5\071\uffc5\072" +
"\uffc5\073\uffc5\074\uffc5\110\uffc5\111\uffc5\112\uffc5\001\002" +
"\000\122\011\123\026\056\027\043\030\072\031\060\032" +
"\076\033\023\037\061\040\033\041\021\042\074\043\063" +
"\044\062\045\073\046\071\047\036\050\050\051\101\052" +
"\053\053\052\054\047\055\055\056\054\057\044\060\042" +
"\061\067\062\040\063\102\064\032\065\051\066\031\067" +
"\034\070\020\071\075\072\100\073\025\074\026\110\110" +
"\111\124\112\121\001\002\000\122\011\uffc0\026\uffc0\027" +
"\uffc0\030\uffc0\031\uffc0\032\uffc0\033\uffc0\037\uffc0\040\uffc0" +
"\041\uffc0\042\uffc0\043\uffc0\044\uffc0\045\uffc0\046\uffc0\047" +
"\uffc0\050\uffc0\051\uffc0\052\uffc0\053\uffc0\054\uffc0\055\uffc0" +
"\056\uffc0\057\uffc0\060\uffc0\061\uffc0\062\uffc0\063\uffc0\064" +
"\uffc0\065\uffc0\066\uffc0\067\uffc0\070\uffc0\071\uffc0\072\uffc0" +
"\073\uffc0\074\uffc0\110\uffc0\111\uffc0\112\uffc0\001\002\000" +
"\122\011\uffc4\026\uffc4\027\uffc4\030\uffc4\031\uffc4\032\uffc4" +
"\033\uffc4\037\uffc4\040\uffc4\041\uffc4\042\uffc4\043\uffc4\044" +
"\uffc4\045\uffc4\046\uffc4\047\uffc4\050\uffc4\051\uffc4\052\uffc4" +
"\053\uffc4\054\uffc4\055\uffc4\056\uffc4\057\uffc4\060\uffc4\061" +
"\uffc4\062\uffc4\063\uffc4\064\uffc4\065\uffc4\066\uffc4\067\uffc4" +
"\070\uffc4\071\uffc4\072\uffc4\073\uffc4\074\uffc4\110\uffc4\111" +
"\uffc4\112\uffc4\001\002\000\156\004\uffcb\005\uffcb\007\uffcb" +
"\010\uffcb\025\uffcb\026\uffcb\027\uffcb\030\uffcb\031\uffcb\032" +
"\uffcb\033\uffcb\035\uffcb\036\uffcb\037\uffcb\040\uffcb\041\uffcb" +
"\042\uffcb\043\uffcb\044\uffcb\045\uffcb\046\uffcb\047\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\066\uffcb\067\uffcb\070\uffcb\071\uffcb\072\uffcb\073\uffcb" +
"\074\uffcb\100\uffcb\101\uffcb\102\uffcb\103\uffcb\104\uffcb\105" +
"\uffcb\106\uffcb\107\uffcb\110\uffcb\111\uffcb\112\uffcb\001\002" +
"\000\122\011\uffc2\026\uffc2\027\uffc2\030\uffc2\031\uffc2\032" +
"\uffc2\033\uffc2\037\uffc2\040\uffc2\041\uffc2\042\uffc2\043\uffc2" +
"\044\uffc2\045\uffc2\046\uffc2\047\uffc2\050\uffc2\051\uffc2\052" +
"\uffc2\053\uffc2\054\uffc2\055\uffc2\056\uffc2\057\uffc2\060\uffc2" +
"\061\uffc2\062\uffc2\063\uffc2\064\uffc2\065\uffc2\066\uffc2\067" +
"\uffc2\070\uffc2\071\uffc2\072\uffc2\073\uffc2\074\uffc2\110\uffc2" +
"\111\uffc2\112\uffc2\001\002\000\122\011\uffc6\026\uffc6\027" +
"\uffc6\030\uffc6\031\uffc6\032\uffc6\033\uffc6\037\uffc6\040\uffc6" +
"\041\uffc6\042\uffc6\043\uffc6\044\uffc6\045\uffc6\046\uffc6\047" +
"\uffc6\050\uffc6\051\uffc6\052\uffc6\053\uffc6\054\uffc6\055\uffc6" +
"\056\uffc6\057\uffc6\060\uffc6\061\uffc6\062\uffc6\063\uffc6\064" +
"\uffc6\065\uffc6\066\uffc6\067\uffc6\070\uffc6\071\uffc6\072\uffc6" +
"\073\uffc6\074\uffc6\110\uffc6\111\uffc6\112\uffc6\001\002\000" +
"\120\026\056\027\043\030\072\031\060\032\076\033\023" +
"\037\061\040\033\041\021\042\074\043\063\044\062\045" +
"\073\046\071\047\036\050\050\051\101\052\053\053\052" +
"\054\047\055\055\056\054\057\044\060\042\061\067\062" +
"\040\063\102\064\032\065\051\066\031\067\034\070\020" +
"\071\075\072\100\073\025\074\026\110\110\111\116\112" +
"\111\001\002\000\156\004\uffca\005\uffca\007\uffca\010\uffca" +
"\025\uffca\026\uffca\027\uffca\030\uffca\031\uffca\032\uffca\033" +
"\uffca\035\uffca\036\uffca\037\uffca\040\uffca\041\uffca\042\uffca" +
"\043\uffca\044\uffca\045\uffca\046\uffca\047\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\066" +
"\uffca\067\uffca\070\uffca\071\uffca\072\uffca\073\uffca\074\uffca" +
"\100\uffca\101\uffca\102\uffca\103\uffca\104\uffca\105\uffca\106" +
"\uffca\107\uffca\110\uffca\111\uffca\112\uffca\001\002\000\122" +
"\011\131\026\056\027\043\030\072\031\060\032\076\033" +
"\023\037\061\040\033\041\021\042\074\043\063\044\062" +
"\045\073\046\071\047\036\050\050\051\101\052\053\053" +
"\052\054\047\055\055\056\054\057\044\060\042\061\067" +
"\062\040\063\102\064\032\065\051\066\031\067\034\070" +
"\020\071\075\072\100\073\025\074\026\110\110\111\124" +
"\112\121\001\002\000\156\004\uffc9\005\uffc9\007\uffc9\010" +
"\uffc9\025\uffc9\026\uffc9\027\uffc9\030\uffc9\031\uffc9\032\uffc9" +
"\033\uffc9\035\uffc9\036\uffc9\037\uffc9\040\uffc9\041\uffc9\042" +
"\uffc9\043\uffc9\044\uffc9\045\uffc9\046\uffc9\047\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" +
"\066\uffc9\067\uffc9\070\uffc9\071\uffc9\072\uffc9\073\uffc9\074" +
"\uffc9\100\uffc9\101\uffc9\102\uffc9\103\uffc9\104\uffc9\105\uffc9" +
"\106\uffc9\107\uffc9\110\uffc9\111\uffc9\112\uffc9\001\002\000" +
"\122\011\133\026\056\027\043\030\072\031\060\032\076" +
"\033\023\037\061\040\033\041\021\042\074\043\063\044" +
"\062\045\073\046\071\047\036\050\050\051\101\052\053" +
"\053\052\054\047\055\055\056\054\057\044\060\042\061" +
"\067\062\040\063\102\064\032\065\051\066\031\067\034" +
"\070\020\071\075\072\100\073\025\074\026\110\110\111" +
"\124\112\121\001\002\000\156\004\uffc7\005\uffc7\007\uffc7" +
"\010\uffc7\025\uffc7\026\uffc7\027\uffc7\030\uffc7\031\uffc7\032" +
"\uffc7\033\uffc7\035\uffc7\036\uffc7\037\uffc7\040\uffc7\041\uffc7" +
"\042\uffc7\043\uffc7\044\uffc7\045\uffc7\046\uffc7\047\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\066\uffc7\067\uffc7\070\uffc7\071\uffc7\072\uffc7\073\uffc7" +
"\074\uffc7\100\uffc7\101\uffc7\102\uffc7\103\uffc7\104\uffc7\105" +
"\uffc7\106\uffc7\107\uffc7\110\uffc7\111\uffc7\112\uffc7\001\002" +
"\000\122\011\135\026\056\027\043\030\072\031\060\032" +
"\076\033\023\037\061\040\033\041\021\042\074\043\063" +
"\044\062\045\073\046\071\047\036\050\050\051\101\052" +
"\053\053\052\054\047\055\055\056\054\057\044\060\042" +
"\061\067\062\040\063\102\064\032\065\051\066\031\067" +
"\034\070\020\071\075\072\100\073\025\074\026\110\110" +
"\111\124\112\121\001\002\000\156\004\uffc8\005\uffc8\007" +
"\uffc8\010\uffc8\025\uffc8\026\uffc8\027\uffc8\030\uffc8\031\uffc8" +
"\032\uffc8\033\uffc8\035\uffc8\036\uffc8\037\uffc8\040\uffc8\041" +
"\uffc8\042\uffc8\043\uffc8\044\uffc8\045\uffc8\046\uffc8\047\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\066\uffc8\067\uffc8\070\uffc8\071\uffc8\072\uffc8\073" +
"\uffc8\074\uffc8\100\uffc8\101\uffc8\102\uffc8\103\uffc8\104\uffc8" +
"\105\uffc8\106\uffc8\107\uffc8\110\uffc8\111\uffc8\112\uffc8\001" +
"\002\000\004\110\137\001\002\000\122\011\uffbe\026\uffbe" +
"\027\uffbe\030\uffbe\031\uffbe\032\uffbe\033\uffbe\037\uffbe\040" +
"\uffbe\041\uffbe\042\uffbe\043\uffbe\044\uffbe\045\uffbe\046\uffbe" +
"\047\uffbe\050\uffbe\051\uffbe\052\uffbe\053\uffbe\054\uffbe\055" +
"\uffbe\056\uffbe\057\uffbe\060\uffbe\061\uffbe\062\uffbe\063\uffbe" +
"\064\uffbe\065\uffbe\066\uffbe\067\uffbe\070\uffbe\071\uffbe\072" +
"\uffbe\073\uffbe\074\uffbe\110\uffbe\111\uffbe\112\uffbe\001\002" +
"\000\156\004\uffd8\005\uffd8\007\uffd8\010\uffd8\025\uffd8\026" +
"\uffd8\027\uffd8\030\uffd8\031\uffd8\032\uffd8\033\uffd8\035\uffd8" +
"\036\uffd8\037\uffd8\040\uffd8\041\uffd8\042\uffd8\043\uffd8\044" +
"\uffd8\045\uffd8\046\uffd8\047\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\066\uffd8\067\uffd8" +
"\070\uffd8\071\uffd8\072\uffd8\073\uffd8\074\uffd8\100\uffd8\101" +
"\uffd8\102\uffd8\103\uffd8\104\uffd8\105\uffd8\106\uffd8\107\uffd8" +
"\110\uffd8\111\uffd8\112\uffd8\001\002\000\156\004\uffd7\005" +
"\uffd7\007\uffd7\010\uffd7\025\uffd7\026\uffd7\027\uffd7\030\uffd7" +
"\031\uffd7\032\uffd7\033\uffd7\035\uffd7\036\uffd7\037\uffd7\040" +
"\uffd7\041\uffd7\042\uffd7\043\uffd7\044\uffd7\045\uffd7\046\uffd7" +
"\047\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\066\uffd7\067\uffd7\070\uffd7\071\uffd7\072" +
"\uffd7\073\uffd7\074\uffd7\100\uffd7\101\uffd7\102\uffd7\103\uffd7" +
"\104\uffd7\105\uffd7\106\uffd7\107\uffd7\110\uffd7\111\uffd7\112" +
"\uffd7\001\002\000\006\021\144\100\145\001\002\000\156" +
"\004\uffd6\005\uffd6\007\uffd6\010\uffd6\025\uffd6\026\uffd6\027" +
"\uffd6\030\uffd6\031\uffd6\032\uffd6\033\uffd6\035\uffd6\036\uffd6" +
"\037\uffd6\040\uffd6\041\uffd6\042\uffd6\043\uffd6\044\uffd6\045" +
"\uffd6\046\uffd6\047\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\066\uffd6\067\uffd6\070\uffd6" +
"\071\uffd6\072\uffd6\073\uffd6\074\uffd6\100\uffd6\101\uffd6\102" +
"\uffd6\103\uffd6\104\uffd6\105\uffd6\106\uffd6\107\uffd6\110\uffd6" +
"\111\uffd6\112\uffd6\001\002\000\156\004\uffd5\005\uffd5\007" +
"\uffd5\010\uffd5\025\uffd5\026\uffd5\027\uffd5\030\uffd5\031\uffd5" +
"\032\uffd5\033\uffd5\035\uffd5\036\uffd5\037\uffd5\040\uffd5\041" +
"\uffd5\042\uffd5\043\uffd5\044\uffd5\045\uffd5\046\uffd5\047\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\066\uffd5\067\uffd5\070\uffd5\071\uffd5\072\uffd5\073" +
"\uffd5\074\uffd5\100\uffd5\101\uffd5\102\uffd5\103\uffd5\104\uffd5" +
"\105\uffd5\106\uffd5\107\uffd5\110\uffd5\111\uffd5\112\uffd5\001" +
"\002\000\004\021\146\001\002\000\156\004\uffd4\005\uffd4" +
"\007\uffd4\010\uffd4\025\uffd4\026\uffd4\027\uffd4\030\uffd4\031" +
"\uffd4\032\uffd4\033\uffd4\035\uffd4\036\uffd4\037\uffd4\040\uffd4" +
"\041\uffd4\042\uffd4\043\uffd4\044\uffd4\045\uffd4\046\uffd4\047" +
"\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\066\uffd4\067\uffd4\070\uffd4\071\uffd4\072\uffd4" +
"\073\uffd4\074\uffd4\100\uffd4\101\uffd4\102\uffd4\103\uffd4\104" +
"\uffd4\105\uffd4\106\uffd4\107\uffd4\110\uffd4\111\uffd4\112\uffd4" +
"\001\002\000\146\004\uffda\005\uffda\007\uffda\010\uffda\025" +
"\uffda\026\uffda\027\uffda\030\uffda\031\uffda\032\uffda\033\uffda" +
"\035\uffda\036\uffda\037\uffda\040\uffda\041\uffda\042\uffda\043" +
"\uffda\044\uffda\045\uffda\046\uffda\047\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\066\uffda" +
"\067\uffda\070\uffda\071\uffda\072\uffda\073\uffda\074\uffda\103" +
"\uffda\105\uffda\106\uffda\107\uffda\110\uffda\111\uffda\112\uffda" +
"\001\002\000\146\004\uffd9\005\uffd9\007\uffd9\010\uffd9\025" +
"\uffd9\026\uffd9\027\uffd9\030\uffd9\031\uffd9\032\uffd9\033\uffd9" +
"\035\uffd9\036\uffd9\037\uffd9\040\uffd9\041\uffd9\042\uffd9\043" +
"\uffd9\044\uffd9\045\uffd9\046\uffd9\047\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\066\uffd9" +
"\067\uffd9\070\uffd9\071\uffd9\072\uffd9\073\uffd9\074\uffd9\103" +
"\uffd9\105\uffd9\106\uffd9\107\uffd9\110\uffd9\111\uffd9\112\uffd9" +
"\001\002\000\014\013\ufff8\022\ufff8\023\ufff8\024\ufff8\076" +
"\ufff8\001\002\000\150\002\uffee\003\uffee\004\uffee\006\uffee" +
"\010\uffee\016\uffee\021\uffee\026\uffee\027\uffee\030\uffee\031" +
"\uffee\032\uffee\033\uffee\034\uffee\037\uffee\040\uffee\041\uffee" +
"\042\uffee\043\uffee\044\uffee\045\uffee\046\uffee\047\uffee\050" +
"\uffee\051\uffee\052\uffee\053\uffee\054\uffee\055\uffee\056\uffee" +
"\057\uffee\060\uffee\061\uffee\062\uffee\063\uffee\064\uffee\065" +
"\uffee\066\uffee\067\uffee\070\uffee\071\uffee\072\uffee\073\uffee" +
"\074\uffee\103\uffee\105\uffee\106\uffee\107\uffee\110\uffee\111" +
"\uffee\112\uffee\001\002\000\140\004\uffe1\006\200\010\uffe1" +
"\026\uffe1\027\uffe1\030\uffe1\031\uffe1\032\uffe1\033\uffe1\034" +
"\176\037\uffe1\040\uffe1\041\uffe1\042\uffe1\043\uffe1\044\uffe1" +
"\045\uffe1\046\uffe1\047\uffe1\050\uffe1\051\uffe1\052\uffe1\053" +
"\uffe1\054\uffe1\055\uffe1\056\uffe1\057\uffe1\060\uffe1\061\uffe1" +
"\062\uffe1\063\uffe1\064\uffe1\065\uffe1\066\uffe1\067\uffe1\070" +
"\uffe1\071\uffe1\072\uffe1\073\uffe1\074\uffe1\103\uffe1\105\uffe1" +
"\106\uffe1\107\uffe1\110\uffe1\111\uffe1\112\uffe1\001\002\000" +
"\004\076\162\001\002\000\150\002\ufff3\003\ufff3\004\ufff3" +
"\006\ufff3\010\ufff3\016\ufff3\021\ufff3\026\ufff3\027\ufff3\030" +
"\ufff3\031\ufff3\032\ufff3\033\ufff3\034\ufff3\037\ufff3\040\ufff3" +
"\041\ufff3\042\ufff3\043\ufff3\044\ufff3\045\ufff3\046\ufff3\047" +
"\ufff3\050\ufff3\051\ufff3\052\ufff3\053\ufff3\054\ufff3\055\ufff3" +
"\056\ufff3\057\ufff3\060\ufff3\061\ufff3\062\ufff3\063\ufff3\064" +
"\ufff3\065\ufff3\066\ufff3\067\ufff3\070\ufff3\071\ufff3\072\ufff3" +
"\073\ufff3\074\ufff3\103\ufff3\105\ufff3\106\ufff3\107\ufff3\110" +
"\ufff3\111\ufff3\112\ufff3\001\002\000\146\002\000\003\152" +
"\004\uffe6\006\uffe6\010\uffe6\016\157\026\uffe6\027\uffe6\030" +
"\uffe6\031\uffe6\032\uffe6\033\uffe6\034\uffe6\037\uffe6\040\uffe6" +
"\041\uffe6\042\uffe6\043\uffe6\044\uffe6\045\uffe6\046\uffe6\047" +
"\uffe6\050\uffe6\051\uffe6\052\uffe6\053\uffe6\054\uffe6\055\uffe6" +
"\056\uffe6\057\uffe6\060\uffe6\061\uffe6\062\uffe6\063\uffe6\064" +
"\uffe6\065\uffe6\066\uffe6\067\uffe6\070\uffe6\071\uffe6\072\uffe6" +
"\073\uffe6\074\uffe6\103\uffe6\105\uffe6\106\uffe6\107\uffe6\110" +
"\uffe6\111\uffe6\112\uffe6\001\002\000\004\076\162\001\002" +
"\000\150\002\ufff6\003\ufff6\004\ufff6\006\ufff6\010\ufff6\016" +
"\ufff6\021\ufff6\026\ufff6\027\ufff6\030\ufff6\031\ufff6\032\ufff6" +
"\033\ufff6\034\ufff6\037\ufff6\040\ufff6\041\ufff6\042\ufff6\043" +
"\ufff6\044\ufff6\045\ufff6\046\ufff6\047\ufff6\050\ufff6\051\ufff6" +
"\052\ufff6\053\ufff6\054\ufff6\055\ufff6\056\ufff6\057\ufff6\060" +
"\ufff6\061\ufff6\062\ufff6\063\ufff6\064\ufff6\065\ufff6\066\ufff6" +
"\067\ufff6\070\ufff6\071\ufff6\072\ufff6\073\ufff6\074\ufff6\103" +
"\ufff6\105\ufff6\106\ufff6\107\ufff6\110\ufff6\111\ufff6\112\ufff6" +
"\001\002\000\004\017\165\001\002\000\006\015\163\017" +
"\uffe4\001\002\000\006\017\uffe3\076\162\001\002\000\004" +
"\017\uffe5\001\002\000\142\004\uffe7\006\uffe7\010\uffe7\020" +
"\166\026\uffe7\027\uffe7\030\uffe7\031\uffe7\032\uffe7\033\uffe7" +
"\034\uffe7\037\uffe7\040\uffe7\041\uffe7\042\uffe7\043\uffe7\044" +
"\uffe7\045\uffe7\046\uffe7\047\uffe7\050\uffe7\051\uffe7\052\uffe7" +
"\053\uffe7\054\uffe7\055\uffe7\056\uffe7\057\uffe7\060\uffe7\061" +
"\uffe7\062\uffe7\063\uffe7\064\uffe7\065\uffe7\066\uffe7\067\uffe7" +
"\070\uffe7\071\uffe7\072\uffe7\073\uffe7\074\uffe7\103\uffe7\105" +
"\uffe7\106\uffe7\107\uffe7\110\uffe7\111\uffe7\112\uffe7\001\002" +
"\000\144\003\152\004\uffe6\006\uffe6\010\uffe6\016\154\026" +
"\uffe6\027\uffe6\030\uffe6\031\uffe6\032\uffe6\033\uffe6\034\uffe6" +
"\037\uffe6\040\uffe6\041\uffe6\042\uffe6\043\uffe6\044\uffe6\045" +
"\uffe6\046\uffe6\047\uffe6\050\uffe6\051\uffe6\052\uffe6\053\uffe6" +
"\054\uffe6\055\uffe6\056\uffe6\057\uffe6\060\uffe6\061\uffe6\062" +
"\uffe6\063\uffe6\064\uffe6\065\uffe6\066\uffe6\067\uffe6\070\uffe6" +
"\071\uffe6\072\uffe6\073\uffe6\074\uffe6\103\uffe6\105\uffe6\106" +
"\uffe6\107\uffe6\110\uffe6\111\uffe6\112\uffe6\001\002\000\146" +
"\003\152\004\uffe6\006\uffe6\010\uffe6\016\157\021\170\026" +
"\uffe6\027\uffe6\030\uffe6\031\uffe6\032\uffe6\033\uffe6\034\uffe6" +
"\037\uffe6\040\uffe6\041\uffe6\042\uffe6\043\uffe6\044\uffe6\045" +
"\uffe6\046\uffe6\047\uffe6\050\uffe6\051\uffe6\052\uffe6\053\uffe6" +
"\054\uffe6\055\uffe6\056\uffe6\057\uffe6\060\uffe6\061\uffe6\062" +
"\uffe6\063\uffe6\064\uffe6\065\uffe6\066\uffe6\067\uffe6\070\uffe6" +
"\071\uffe6\072\uffe6\073\uffe6\074\uffe6\103\uffe6\105\uffe6\106" +
"\uffe6\107\uffe6\110\uffe6\111\uffe6\112\uffe6\001\002\000\150" +
"\002\ufff5\003\ufff5\004\ufff5\006\ufff5\010\ufff5\016\ufff5\021" +
"\ufff5\026\ufff5\027\ufff5\030\ufff5\031\ufff5\032\ufff5\033\ufff5" +
"\034\ufff5\037\ufff5\040\ufff5\041\ufff5\042\ufff5\043\ufff5\044" +
"\ufff5\045\ufff5\046\ufff5\047\ufff5\050\ufff5\051\ufff5\052\ufff5" +
"\053\ufff5\054\ufff5\055\ufff5\056\ufff5\057\ufff5\060\ufff5\061" +
"\ufff5\062\ufff5\063\ufff5\064\ufff5\065\ufff5\066\ufff5\067\ufff5" +
"\070\ufff5\071\ufff5\072\ufff5\073\ufff5\074\ufff5\103\ufff5\105" +
"\ufff5\106\ufff5\107\ufff5\110\ufff5\111\ufff5\112\ufff5\001\002" +
"\000\004\017\172\001\002\000\142\004\uffe7\006\uffe7\010" +
"\uffe7\020\173\026\uffe7\027\uffe7\030\uffe7\031\uffe7\032\uffe7" +
"\033\uffe7\034\uffe7\037\uffe7\040\uffe7\041\uffe7\042\uffe7\043" +
"\uffe7\044\uffe7\045\uffe7\046\uffe7\047\uffe7\050\uffe7\051\uffe7" +
"\052\uffe7\053\uffe7\054\uffe7\055\uffe7\056\uffe7\057\uffe7\060" +
"\uffe7\061\uffe7\062\uffe7\063\uffe7\064\uffe7\065\uffe7\066\uffe7" +
"\067\uffe7\070\uffe7\071\uffe7\072\uffe7\073\uffe7\074\uffe7\103" +
"\uffe7\105\uffe7\106\uffe7\107\uffe7\110\uffe7\111\uffe7\112\uffe7" +
"\001\002\000\144\003\152\004\uffe6\006\uffe6\010\uffe6\016" +
"\154\026\uffe6\027\uffe6\030\uffe6\031\uffe6\032\uffe6\033\uffe6" +
"\034\uffe6\037\uffe6\040\uffe6\041\uffe6\042\uffe6\043\uffe6\044" +
"\uffe6\045\uffe6\046\uffe6\047\uffe6\050\uffe6\051\uffe6\052\uffe6" +
"\053\uffe6\054\uffe6\055\uffe6\056\uffe6\057\uffe6\060\uffe6\061" +
"\uffe6\062\uffe6\063\uffe6\064\uffe6\065\uffe6\066\uffe6\067\uffe6" +
"\070\uffe6\071\uffe6\072\uffe6\073\uffe6\074\uffe6\103\uffe6\105" +
"\uffe6\106\uffe6\107\uffe6\110\uffe6\111\uffe6\112\uffe6\001\002" +
"\000\146\003\152\004\uffe6\006\uffe6\010\uffe6\016\157\021" +
"\175\026\uffe6\027\uffe6\030\uffe6\031\uffe6\032\uffe6\033\uffe6" +
"\034\uffe6\037\uffe6\040\uffe6\041\uffe6\042\uffe6\043\uffe6\044" +
"\uffe6\045\uffe6\046\uffe6\047\uffe6\050\uffe6\051\uffe6\052\uffe6" +
"\053\uffe6\054\uffe6\055\uffe6\056\uffe6\057\uffe6\060\uffe6\061" +
"\uffe6\062\uffe6\063\uffe6\064\uffe6\065\uffe6\066\uffe6\067\uffe6" +
"\070\uffe6\071\uffe6\072\uffe6\073\uffe6\074\uffe6\103\uffe6\105" +
"\uffe6\106\uffe6\107\uffe6\110\uffe6\111\uffe6\112\uffe6\001\002" +
"\000\150\002\ufff4\003\ufff4\004\ufff4\006\ufff4\010\ufff4\016" +
"\ufff4\021\ufff4\026\ufff4\027\ufff4\030\ufff4\031\ufff4\032\ufff4" +
"\033\ufff4\034\ufff4\037\ufff4\040\ufff4\041\ufff4\042\ufff4\043" +
"\ufff4\044\ufff4\045\ufff4\046\ufff4\047\ufff4\050\ufff4\051\ufff4" +
"\052\ufff4\053\ufff4\054\ufff4\055\ufff4\056\ufff4\057\ufff4\060" +
"\ufff4\061\ufff4\062\ufff4\063\ufff4\064\ufff4\065\ufff4\066\ufff4" +
"\067\ufff4\070\ufff4\071\ufff4\072\ufff4\073\ufff4\074\ufff4\103" +
"\ufff4\105\ufff4\106\ufff4\107\ufff4\110\ufff4\111\ufff4\112\ufff4" +
"\001\002\000\004\075\216\001\002\000\134\004\066\010" +
"\064\026\056\027\043\030\072\031\060\032\076\033\023" +
"\037\061\040\033\041\021\042\074\043\063\044\062\045" +
"\073\046\071\047\036\050\050\051\101\052\053\053\052" +
"\054\047\055\055\056\054\057\044\060\042\061\067\062" +
"\040\063\102\064\032\065\051\066\031\067\034\070\020" +
"\071\075\072\100\073\025\074\026\103\037\105\070\106" +
"\041\107\035\110\022\111\077\112\024\001\002\000\134" +
"\004\uffe2\010\uffe2\026\uffe2\027\uffe2\030\uffe2\031\uffe2\032" +
"\uffe2\033\uffe2\037\uffe2\040\uffe2\041\uffe2\042\uffe2\043\uffe2" +
"\044\uffe2\045\uffe2\046\uffe2\047\uffe2\050\uffe2\051\uffe2\052" +
"\uffe2\053\uffe2\054\uffe2\055\uffe2\056\uffe2\057\uffe2\060\uffe2" +
"\061\uffe2\062\uffe2\063\uffe2\064\uffe2\065\uffe2\066\uffe2\067" +
"\uffe2\070\uffe2\071\uffe2\072\uffe2\073\uffe2\074\uffe2\103\uffe2" +
"\105\uffe2\106\uffe2\107\uffe2\110\uffe2\111\uffe2\112\uffe2\001" +
"\002\000\014\007\210\025\205\035\202\036\204\103\104" +
"\001\002\000\150\002\uffe8\003\uffe8\004\uffe8\006\uffe8\010" +
"\uffe8\016\uffe8\021\uffe8\026\uffe8\027\uffe8\030\uffe8\031\uffe8" +
"\032\uffe8\033\uffe8\034\uffe8\037\uffe8\040\uffe8\041\uffe8\042" +
"\uffe8\043\uffe8\044\uffe8\045\uffe8\046\uffe8\047\uffe8\050\uffe8" +
"\051\uffe8\052\uffe8\053\uffe8\054\uffe8\055\uffe8\056\uffe8\057" +
"\uffe8\060\uffe8\061\uffe8\062\uffe8\063\uffe8\064\uffe8\065\uffe8" +
"\066\uffe8\067\uffe8\070\uffe8\071\uffe8\072\uffe8\073\uffe8\074" +
"\uffe8\103\uffe8\105\uffe8\106\uffe8\107\uffe8\110\uffe8\111\uffe8" +
"\112\uffe8\001\002\000\150\002\uffe9\003\uffe9\004\uffe9\006" +
"\uffe9\010\uffe9\016\uffe9\021\uffe9\026\uffe9\027\uffe9\030\uffe9" +
"\031\uffe9\032\uffe9\033\uffe9\034\uffe9\037\uffe9\040\uffe9\041" +
"\uffe9\042\uffe9\043\uffe9\044\uffe9\045\uffe9\046\uffe9\047\uffe9" +
"\050\uffe9\051\uffe9\052\uffe9\053\uffe9\054\uffe9\055\uffe9\056" +
"\uffe9\057\uffe9\060\uffe9\061\uffe9\062\uffe9\063\uffe9\064\uffe9" +
"\065\uffe9\066\uffe9\067\uffe9\070\uffe9\071\uffe9\072\uffe9\073" +
"\uffe9\074\uffe9\103\uffe9\105\uffe9\106\uffe9\107\uffe9\110\uffe9" +
"\111\uffe9\112\uffe9\001\002\000\134\004\066\010\064\026" +
"\056\027\043\030\072\031\060\032\076\033\023\037\061" +
"\040\033\041\021\042\074\043\063\044\062\045\073\046" +
"\071\047\036\050\050\051\101\052\053\053\052\054\047" +
"\055\055\056\054\057\044\060\042\061\067\062\040\063" +
"\102\064\032\065\051\066\031\067\034\070\020\071\075" +
"\072\100\073\025\074\026\103\037\105\070\106\041\107" +
"\035\110\022\111\077\112\024\001\002\000\004\075\213" +
"\001\002\000\006\025\205\035\211\001\002\000\150\002" +
"\ufff2\003\ufff2\004\ufff2\006\ufff2\010\ufff2\016\ufff2\021\ufff2" +
"\026\ufff2\027\ufff2\030\ufff2\031\ufff2\032\ufff2\033\ufff2\034" +
"\ufff2\037\ufff2\040\ufff2\041\ufff2\042\ufff2\043\ufff2\044\ufff2" +
"\045\ufff2\046\ufff2\047\ufff2\050\ufff2\051\ufff2\052\ufff2\053" +
"\ufff2\054\ufff2\055\ufff2\056\ufff2\057\ufff2\060\ufff2\061\ufff2" +
"\062\ufff2\063\ufff2\064\ufff2\065\ufff2\066\ufff2\067\ufff2\070" +
"\ufff2\071\ufff2\072\ufff2\073\ufff2\074\ufff2\103\ufff2\105\ufff2" +
"\106\ufff2\107\ufff2\110\ufff2\111\ufff2\112\ufff2\001\002\000" +
"\006\025\uffed\035\uffed\001\002\000\150\002\ufff0\003\ufff0" +
"\004\ufff0\006\ufff0\010\ufff0\016\ufff0\021\ufff0\026\ufff0\027" +
"\ufff0\030\ufff0\031\ufff0\032\ufff0\033\ufff0\034\ufff0\037\ufff0" +
"\040\ufff0\041\ufff0\042\ufff0\043\ufff0\044\ufff0\045\ufff0\046" +
"\ufff0\047\ufff0\050\ufff0\051\ufff0\052\ufff0\053\ufff0\054\ufff0" +
"\055\ufff0\056\ufff0\057\ufff0\060\ufff0\061\ufff0\062\ufff0\063" +
"\ufff0\064\ufff0\065\ufff0\066\ufff0\067\ufff0\070\ufff0\071\ufff0" +
"\072\ufff0\073\ufff0\074\ufff0\103\ufff0\105\ufff0\106\ufff0\107" +
"\ufff0\110\ufff0\111\ufff0\112\ufff0\001\002\000\150\002\ufff1" +
"\003\ufff1\004\ufff1\006\ufff1\010\ufff1\016\ufff1\021\ufff1\026" +
"\ufff1\027\ufff1\030\ufff1\031\ufff1\032\ufff1\033\ufff1\034\ufff1" +
"\037\ufff1\040\ufff1\041\ufff1\042\ufff1\043\ufff1\044\ufff1\045" +
"\ufff1\046\ufff1\047\ufff1\050\ufff1\051\ufff1\052\ufff1\053\ufff1" +
"\054\ufff1\055\ufff1\056\ufff1\057\ufff1\060\ufff1\061\ufff1\062" +
"\ufff1\063\ufff1\064\ufff1\065\ufff1\066\ufff1\067\ufff1\070\ufff1" +
"\071\ufff1\072\ufff1\073\ufff1\074\ufff1\103\ufff1\105\ufff1\106" +
"\ufff1\107\ufff1\110\ufff1\111\ufff1\112\ufff1\001\002\000\150" +
"\002\uffea\003\uffea\004\uffea\006\uffea\010\uffea\016\uffea\021" +
"\uffea\026\uffea\027\uffea\030\uffea\031\uffea\032\uffea\033\uffea" +
"\034\uffea\037\uffea\040\uffea\041\uffea\042\uffea\043\uffea\044" +
"\uffea\045\uffea\046\uffea\047\uffea\050\uffea\051\uffea\052\uffea" +
"\053\uffea\054\uffea\055\uffea\056\uffea\057\uffea\060\uffea\061" +
"\uffea\062\uffea\063\uffea\064\uffea\065\uffea\066\uffea\067\uffea" +
"\070\uffea\071\uffea\072\uffea\073\uffea\074\uffea\103\uffea\105" +
"\uffea\106\uffea\107\uffea\110\uffea\111\uffea\112\uffea\001\002" +
"\000\012\007\215\025\uffec\035\uffec\103\104\001\002\000" +
"\006\025\uffeb\035\uffeb\001\002\000\150\002\uffef\003\uffef" +
"\004\uffef\006\uffef\010\uffef\016\uffef\021\uffef\026\uffef\027" +
"\uffef\030\uffef\031\uffef\032\uffef\033\uffef\034\uffef\037\uffef" +
"\040\uffef\041\uffef\042\uffef\043\uffef\044\uffef\045\uffef\046" +
"\uffef\047\uffef\050\uffef\051\uffef\052\uffef\053\uffef\054\uffef" +
"\055\uffef\056\uffef\057\uffef\060\uffef\061\uffef\062\uffef\063" +
"\uffef\064\uffef\065\uffef\066\uffef\067\uffef\070\uffef\071\uffef" +
"\072\uffef\073\uffef\074\uffef\103\uffef\105\uffef\106\uffef\107" +
"\uffef\110\uffef\111\uffef\112\uffef\001\002" });
/** Access to parse-action table. */
public short[][] action_table() {return _action_table;}
/** <code>reduce_goto</code> table. */
protected static final short[][] _reduce_table =
unpackFromStrings(new String[] {
"\000\214\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\012\001\001\000\002\001\001\000\010\004" +
"\154\016\152\021\155\001\001\000\002\001\001\000\002" +
"\001\001\000\002\001\001\000\002\001\001\000\016\006" +
"\026\007\027\010\064\011\044\012\056\020\045\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\106\011\044\012" +
"\056\020\045\001\001\000\002\001\001\000\002\001\001" +
"\000\002\001\001\000\002\001\001\000\012\010\147\011" +
"\044\012\056\020\045\001\001\000\002\001\001\000\002" +
"\001\001\000\002\001\001\000\012\010\146\011\044\012" +
"\056\020\045\001\001\000\002\001\001\000\002\001\001" +
"\000\002\001\001\000\002\001\001\000\002\001\001\000" +
"\002\001\001\000\002\001\001\000\002\001\001\000\002" +
"\001\001\000\002\001\001\000\002\001\001\000\002\001" +
"\001\000\002\001\001\000\002\001\001\000\002\001\001" +
"\000\002\001\001\000\002\001\001\000\002\001\001\000" +
"\010\014\116\017\117\020\111\001\001\000\002\001\001" +
"\000\016\006\102\007\027\010\064\011\044\012\056\020" +
"\045\001\001\000\002\001\001\000\002\001\001\000\002" +
"\001\001\000\002\001\001\000\002\001\001\000\002\001" +
"\001\000\002\001\001\000\002\001\001\000\002\001\001" +
"\000\002\001\001\000\002\001\001\000\002\001\001\000" +
"\002\001\001\000\014\007\105\010\064\011\044\012\056" +
"\020\045\001\001\000\002\001\001\000\012\010\106\011" +
"\044\012\056\020\045\001\001\000\002\001\001\000\002" +
"\001\001\000\002\001\001\000\002\001\001\000\010\014" +
"\116\017\133\020\111\001\001\000\010\014\116\017\127" +
"\020\111\001\001\000\002\001\001\000\002\001\001\000" +
"\002\001\001\000\006\014\124\020\121\001\001\000\002" +
"\001\001\000\002\001\001\000\002\001\001\000\002\001" +
"\001\000\002\001\001\000\010\014\116\017\131\020\111" +
"\001\001\000\002\001\001\000\006\014\124\020\121\001" +
"\001\000\002\001\001\000\006\014\124\020\121\001\001" +
"\000\002\001\001\000\006\014\124\020\121\001\001\000" +
"\002\001\001\000\002\001\001\000\002\001\001\000\002" +
"\001\001\000\002\001\001\000\002\001\001\000\002\001" +
"\001\000\002\001\001\000\002\001\001\000\002\001\001" +
"\000\002\001\001\000\002\001\001\000\002\001\001\000" +
"\002\001\001\000\004\022\176\001\001\000\004\015\170" +
"\001\001\000\002\001\001\000\006\004\157\016\152\001" +
"\001\000\004\015\160\001\001\000\002\001\001\000\002" +
"\001\001\000\002\001\001\000\004\015\163\001\001\000" +
"\002\001\001\000\002\001\001\000\010\004\154\016\152" +
"\021\166\001\001\000\006\004\157\016\152\001\001\000" +
"\002\001\001\000\002\001\001\000\002\001\001\000\010" +
"\004\154\016\152\021\173\001\001\000\006\004\157\016" +
"\152\001\001\000\002\001\001\000\002\001\001\000\016" +
"\006\200\007\027\010\064\011\044\012\056\020\045\001" +
"\001\000\002\001\001\000\010\013\205\023\202\024\206" +
"\001\001\000\002\001\001\000\002\001\001\000\016\006" +
"\213\007\027\010\064\011\044\012\056\020\045\001\001" +
"\000\002\001\001\000\004\023\211\001\001\000\002\001" +
"\001\000\002\001\001\000\002\001\001\000\002\001\001" +
"\000\002\001\001\000\002\001\001\000\002\001\001\000" +
"\002\001\001" });
/** Access to <code>reduce_goto</code> table. */
public short[][] reduce_table() {return _reduce_table;}
/** Instance of action encapsulation class. */
protected CUP$LexParse$actions action_obj;
/** Action encapsulation object initializer. */
protected void init_actions()
{
action_obj = new CUP$LexParse$actions(this);
}
/** Invoke a user supplied parse action. */
public java_cup.runtime.Symbol do_action(
int act_num,
java_cup.runtime.lr_parser parser,
java.util.Stack stack,
int top)
throws java.lang.Exception
{
/* call code in generated class */
return action_obj.CUP$LexParse$do_action(act_num, parser, stack, top);
}
/** Indicates start state. */
public int start_state() {return 0;}
/** Indicates start production. */
public int start_production() {return 0;}
/** <code>EOF</code> Symbol index. */
public int EOF_sym() {return 0;}
/** <code>error</code> Symbol index. */
public int error_sym() {return 1;}
/** User initialization code. */
public void user_init() throws java.lang.Exception
{
action_obj.scanner = this.scanner;
}
public LexScan scanner;
public LexParse(LexScan scanner) {
super(scanner);
this.scanner = scanner;
}
public CharClasses getCharClasses() {
return action_obj.charClasses;
}
public EOFActions getEOFActions() {
return action_obj.eofActions;
}
public void report_error(String message, Object info) {
if ( info instanceof java_cup.runtime.Symbol ) {
java_cup.runtime.Symbol s = (java_cup.runtime.Symbol) info;
if (s.sym == sym.EOF)
Out.error(ErrorMessages.UNEXPECTED_EOF);
else
Out.error(scanner.file, ErrorMessages.SYNTAX_ERROR, s.left, s.right);
}
else
Out.error(ErrorMessages.UNKNOWN_SYNTAX);
}
public void report_fatal_error(String message, Object info) {
// report_error(message, info);
throw new GeneratorException();
}
}
/** Cup generated class to encapsulate user supplied action code.*/
class CUP$LexParse$actions {
LexScan scanner;
CharClasses charClasses = new CharClasses(Options.jlex ? 127 : 0xFFFF);
RegExps regExps = new RegExps();
Macros macros = new Macros();
Integer stateNumber;
Timer t = new Timer();
EOFActions eofActions = new EOFActions();
void fatalError(ErrorMessages message, int line, int col) {
syntaxError(message, line, col);
throw new GeneratorException();
}
void fatalError(ErrorMessages message) {
fatalError(message, scanner.currentLine(), -1);
throw new GeneratorException();
}
void syntaxError(ErrorMessages message) {
Out.error(scanner.file, message, scanner.currentLine(), -1);
}
void syntaxError(ErrorMessages message, int line) {
Out.error(scanner.file, message, line, -1);
}
void syntaxError(ErrorMessages message, int line, int col) {
Out.error(scanner.file, message, line, col);
}
private boolean check(int type, char c) {
switch (type) {
case sym.JLETTERCLASS:
return Character.isJavaIdentifierStart(c);
case sym.JLETTERDIGITCLASS:
return Character.isJavaIdentifierPart(c);
case sym.LETTERCLASS:
return Character.isLetter(c);
case sym.DIGITCLASS:
return Character.isDigit(c);
case sym.UPPERCLASS:
return Character.isUpperCase(c);
case sym.LOWERCLASS:
return Character.isLowerCase(c);
case sym.UNICODE_UNASSIGNED:
return Character.getType(c) == Character.UNASSIGNED;
case sym.UNICODE_UPPERCASE_LETTER:
return Character.getType(c) == Character.UPPERCASE_LETTER;
case sym.UNICODE_LOWERCASE_LETTER:
return Character.getType(c) == Character.LOWERCASE_LETTER;
case sym.UNICODE_TITLECASE_LETTER:
return Character.getType(c) == Character.TITLECASE_LETTER;
case sym.UNICODE_MODIFIER_LETTER:
return Character.getType(c) == Character.MODIFIER_LETTER;
case sym.UNICODE_OTHER_LETTER:
return Character.getType(c) == Character.OTHER_LETTER;
case sym.UNICODE_NON_SPACING_MARK:
return Character.getType(c) == Character.NON_SPACING_MARK;
case sym.UNICODE_ENCLOSING_MARK:
return Character.getType(c) == Character.ENCLOSING_MARK;
case sym.UNICODE_COMBINING_SPACING_MARK:
return Character.getType(c) == Character.COMBINING_SPACING_MARK;
case sym.UNICODE_DECIMAL_DIGIT_NUMBER:
return Character.getType(c) == Character.DECIMAL_DIGIT_NUMBER;
case sym.UNICODE_LETTER_NUMBER:
return Character.getType(c) == Character.LETTER_NUMBER;
case sym.UNICODE_OTHER_NUMBER:
return Character.getType(c) == Character.OTHER_NUMBER;
case sym.UNICODE_SPACE_SEPARATOR:
return Character.getType(c) == Character.SPACE_SEPARATOR;
case sym.UNICODE_LINE_SEPARATOR:
return Character.getType(c) == Character.LINE_SEPARATOR;
case sym.UNICODE_PARAGRAPH_SEPARATOR:
return Character.getType(c) == Character.PARAGRAPH_SEPARATOR;
case sym.UNICODE_CONTROL:
return Character.getType(c) == Character.CONTROL;
case sym.UNICODE_FORMAT:
return Character.getType(c) == Character.FORMAT;
case sym.UNICODE_PRIVATE_USE:
return Character.getType(c) == Character.PRIVATE_USE;
case sym.UNICODE_SURROGATE:
return Character.getType(c) == Character.SURROGATE;
case sym.UNICODE_DASH_PUNCTUATION:
return Character.getType(c) == Character.DASH_PUNCTUATION;
case sym.UNICODE_START_PUNCTUATION:
return Character.getType(c) == Character.START_PUNCTUATION;
case sym.UNICODE_END_PUNCTUATION:
return Character.getType(c) == Character.END_PUNCTUATION;
case sym.UNICODE_CONNECTOR_PUNCTUATION:
return Character.getType(c) == Character.CONNECTOR_PUNCTUATION;
case sym.UNICODE_OTHER_PUNCTUATION:
return Character.getType(c) == Character.OTHER_PUNCTUATION;
case sym.UNICODE_MATH_SYMBOL:
return Character.getType(c) == Character.MATH_SYMBOL;
case sym.UNICODE_CURRENCY_SYMBOL:
return Character.getType(c) == Character.CURRENCY_SYMBOL;
case sym.UNICODE_MODIFIER_SYMBOL:
return Character.getType(c) == Character.MODIFIER_SYMBOL;
case sym.UNICODE_OTHER_SYMBOL:
return Character.getType(c) == Character.OTHER_SYMBOL;
case sym.UNICODE_INITIAL_QUOTE_PUNCTUATION:
return Character.getType(c) == Character.INITIAL_QUOTE_PUNCTUATION;
case sym.UNICODE_FINAL_QUOTE_PUNCTUATION:
return Character.getType(c) == Character.FINAL_QUOTE_PUNCTUATION;
default: return false;
}
}
private Vector makePreClass(int type) {
Vector result = new Vector();
char c = 0;
char start = 0;
char last = charClasses.getMaxCharCode();
boolean prev, current;
prev = check(type,'\u0000');
for (c = 1; c < last; c++) {
current = check(type,c);
if (!prev && current) start = c;
if (prev && !current) {
result.addElement(new Interval(start, (char)(c-1)));
}
prev = current;
}
// the last iteration is moved out of the loop to
// avoid an endless loop if last == maxCharCode and
// last+1 == 0
current = check(type,c);
if (!prev && current) result.addElement(new Interval(c,c));
if (prev && current) result.addElement(new Interval(start, c));
if (prev && !current) result.addElement(new Interval(start, (char)(c-1)));
return result;
}
private RegExp makeRepeat(RegExp r, int n1, int n2, int line, int col) {
if (n1 <= 0 && n2 <= 0) {
syntaxError(ErrorMessages.REPEAT_ZERO, line, col);
return null;
}
if (n1 > n2) {
syntaxError(ErrorMessages.REPEAT_GREATER, line, col);
return null;
}
int i;
RegExp result;
if (n1 > 0) {
result = r;
n1--; n2--; // we need one concatenation less than the number of expressions to match
}
else {
result = new RegExp1(sym.QUESTION,r);
n2--;
}
for (i = 0; i < n1; i++)
result = new RegExp2(sym.CONCAT, result, r);
n2-= n1;
for (i = 0; i < n2; i++)
result = new RegExp2(sym.CONCAT, result, new RegExp1(sym.QUESTION,r));
return result;
}
private RegExp makeNL() {
Vector list = new Vector();
list.addElement(new Interval('\n','\r'));
list.addElement(new Interval('\u0085','\u0085'));
list.addElement(new Interval('\u2028','\u2029'));
// assumption: line feeds are caseless
charClasses.makeClass(list, false);
charClasses.makeClass('\n', false);
charClasses.makeClass('\r', false);
RegExp1 c = new RegExp1(sym.CCLASS, list);
Character n = new Character('\n');
Character r = new Character('\r');
return new RegExp2(sym.BAR,
c,
new RegExp2(sym.CONCAT,
new RegExp1(sym.CHAR, r),
new RegExp1(sym.CHAR, n)));
}
private final LexParse parser;
/** Constructor */
CUP$LexParse$actions(LexParse parser) {
this.parser = parser;
}
/** Method with the actual generated action code. */
public final 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
{
/* Symbol object for return from actions */
java_cup.runtime.Symbol CUP$LexParse$result;
/* select the action based on the action number */
switch (CUP$LexParse$act_num)
{
/*. . . . . . . . . . . . . . . . . . . .*/
case 104: // preclass ::= UNICODE_FINAL_QUOTE_PUNCTUATION
{
Vector RESULT =null;
RESULT = makePreClass(sym.UNICODE_FINAL_QUOTE_PUNCTUATION);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("preclass",14, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 103: // preclass ::= UNICODE_INITIAL_QUOTE_PUNCTUATION
{
Vector RESULT =null;
RESULT = makePreClass(sym.UNICODE_INITIAL_QUOTE_PUNCTUATION);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("preclass",14, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 102: // preclass ::= UNICODE_OTHER_SYMBOL
{
Vector RESULT =null;
RESULT = makePreClass(sym.UNICODE_OTHER_SYMBOL);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("preclass",14, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 101: // preclass ::= UNICODE_MODIFIER_SYMBOL
{
Vector RESULT =null;
RESULT = makePreClass(sym.UNICODE_MODIFIER_SYMBOL);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("preclass",14, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 100: // preclass ::= UNICODE_CURRENCY_SYMBOL
{
Vector RESULT =null;
RESULT = makePreClass(sym.UNICODE_CURRENCY_SYMBOL);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("preclass",14, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 99: // preclass ::= UNICODE_MATH_SYMBOL
{
Vector RESULT =null;
RESULT = makePreClass(sym.UNICODE_MATH_SYMBOL);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("preclass",14, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 98: // preclass ::= UNICODE_OTHER_PUNCTUATION
{
Vector RESULT =null;
RESULT = makePreClass(sym.UNICODE_OTHER_PUNCTUATION);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("preclass",14, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 97: // preclass ::= UNICODE_CONNECTOR_PUNCTUATION
{
Vector RESULT =null;
RESULT = makePreClass(sym.UNICODE_CONNECTOR_PUNCTUATION);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("preclass",14, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 96: // preclass ::= UNICODE_END_PUNCTUATION
{
Vector RESULT =null;
RESULT = makePreClass(sym.UNICODE_END_PUNCTUATION);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("preclass",14, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 95: // preclass ::= UNICODE_START_PUNCTUATION
{
Vector RESULT =null;
RESULT = makePreClass(sym.UNICODE_START_PUNCTUATION);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("preclass",14, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 94: // preclass ::= UNICODE_DASH_PUNCTUATION
{
Vector RESULT =null;
RESULT = makePreClass(sym.UNICODE_DASH_PUNCTUATION);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("preclass",14, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 93: // preclass ::= UNICODE_SURROGATE
{
Vector RESULT =null;
RESULT = makePreClass(sym.UNICODE_SURROGATE);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("preclass",14, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 92: // preclass ::= UNICODE_PRIVATE_USE
{
Vector RESULT =null;
RESULT = makePreClass(sym.UNICODE_PRIVATE_USE);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("preclass",14, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 91: // preclass ::= UNICODE_FORMAT
{
Vector RESULT =null;
RESULT = makePreClass(sym.UNICODE_FORMAT);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("preclass",14, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 90: // preclass ::= UNICODE_CONTROL
{
Vector RESULT =null;
RESULT = makePreClass(sym.UNICODE_CONTROL);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("preclass",14, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 89: // preclass ::= UNICODE_PARAGRAPH_SEPARATOR
{
Vector RESULT =null;
RESULT = makePreClass(sym.UNICODE_PARAGRAPH_SEPARATOR);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("preclass",14, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 88: // preclass ::= UNICODE_LINE_SEPARATOR
{
Vector RESULT =null;
RESULT = makePreClass(sym.UNICODE_LINE_SEPARATOR);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("preclass",14, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 87: // preclass ::= UNICODE_SPACE_SEPARATOR
{
Vector RESULT =null;
RESULT = makePreClass(sym.UNICODE_SPACE_SEPARATOR);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("preclass",14, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 86: // preclass ::= UNICODE_OTHER_NUMBER
{
Vector RESULT =null;
RESULT = makePreClass(sym.UNICODE_OTHER_NUMBER);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("preclass",14, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 85: // preclass ::= UNICODE_LETTER_NUMBER
{
Vector RESULT =null;
RESULT = makePreClass(sym.UNICODE_LETTER_NUMBER);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("preclass",14, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 84: // preclass ::= UNICODE_DECIMAL_DIGIT_NUMBER
{
Vector RESULT =null;
RESULT = makePreClass(sym.UNICODE_DECIMAL_DIGIT_NUMBER);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("preclass",14, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 83: // preclass ::= UNICODE_COMBINING_SPACING_MARK
{
Vector RESULT =null;
RESULT = makePreClass(sym.UNICODE_COMBINING_SPACING_MARK);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("preclass",14, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 82: // preclass ::= UNICODE_ENCLOSING_MARK
{
Vector RESULT =null;
RESULT = makePreClass(sym.UNICODE_ENCLOSING_MARK);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("preclass",14, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 81: // preclass ::= UNICODE_NON_SPACING_MARK
{
Vector RESULT =null;
RESULT = makePreClass(sym.UNICODE_NON_SPACING_MARK);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("preclass",14, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 80: // preclass ::= UNICODE_OTHER_LETTER
{
Vector RESULT =null;
RESULT = makePreClass(sym.UNICODE_OTHER_LETTER);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("preclass",14, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 79: // preclass ::= UNICODE_MODIFIER_LETTER
{
Vector RESULT =null;
RESULT = makePreClass(sym.UNICODE_MODIFIER_LETTER);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("preclass",14, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 78: // preclass ::= UNICODE_TITLECASE_LETTER
{
Vector RESULT =null;
RESULT = makePreClass(sym.UNICODE_TITLECASE_LETTER);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("preclass",14, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 77: // preclass ::= UNICODE_LOWERCASE_LETTER
{
Vector RESULT =null;
RESULT = makePreClass(sym.UNICODE_LOWERCASE_LETTER);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("preclass",14, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 76: // preclass ::= UNICODE_UPPERCASE_LETTER
{
Vector RESULT =null;
RESULT = makePreClass(sym.UNICODE_UPPERCASE_LETTER);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("preclass",14, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 75: // preclass ::= UNICODE_UNASSIGNED
{
Vector RESULT =null;
RESULT = makePreClass(sym.UNICODE_UNASSIGNED);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("preclass",14, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 74: // preclass ::= LOWERCLASS
{
Vector RESULT =null;
RESULT = makePreClass(sym.LOWERCLASS);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("preclass",14, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 73: // preclass ::= UPPERCLASS
{
Vector RESULT =null;
RESULT = makePreClass(sym.UPPERCLASS);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("preclass",14, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 72: // preclass ::= DIGITCLASS
{
Vector RESULT =null;
RESULT = makePreClass(sym.DIGITCLASS);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("preclass",14, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 71: // preclass ::= LETTERCLASS
{
Vector RESULT =null;
RESULT = makePreClass(sym.LETTERCLASS);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("preclass",14, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 70: // preclass ::= JLETTERDIGITCLASS
{
Vector RESULT =null;
RESULT = makePreClass(sym.JLETTERDIGITCLASS);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("preclass",14, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 69: // preclass ::= JLETTERCLASS
{
Vector RESULT =null;
RESULT = makePreClass(sym.JLETTERCLASS);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("preclass",14, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 68: // classcontentelem ::= CHAR
{
Interval RESULT =null;
int cleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).left;
int cright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).right;
Character c = (Character)((java_cup.runtime.Symbol) CUP$LexParse$stack.peek()).value;
RESULT = new Interval(c.charValue(), c.charValue());
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("classcontentelem",10, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 67: // classcontentelem ::= CHAR DASH CHAR
{
Interval 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;
Character c1 = (Character)((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;
Character c2 = (Character)((java_cup.runtime.Symbol) CUP$LexParse$stack.peek()).value;
RESULT = new Interval(c1.charValue(), c2.charValue());
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("classcontentelem",10, ((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 66: // classcontent ::= MACROUSE
{
Vector 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;
syntaxError(ErrorMessages.CHARCLASS_MACRO, identleft, identright);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("classcontent",13, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 65: // classcontent ::= classcontent MACROUSE
{
Vector 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;
Vector list = (Vector)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value;
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;
syntaxError(ErrorMessages.CHARCLASS_MACRO, identleft, identright);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("classcontent",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 64: // classcontent ::= STRING
{
Vector 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;
RESULT = new Vector();
for (int i = 0; i < s.length(); i++)
RESULT.addElement(new Interval(s.charAt(i),s.charAt(i)));
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("classcontent",13, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 63: // classcontent ::= classcontent STRING
{
Vector 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;
Vector list = (Vector)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value;
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;
for (int i = 0; i < s.length(); i++)
list.addElement(new Interval(s.charAt(i),s.charAt(i)));
RESULT = list;
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("classcontent",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 62: // classcontent ::= preclass
{
Vector RESULT =null;
int listleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).left;
int listright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).right;
Vector list = (Vector)((java_cup.runtime.Symbol) CUP$LexParse$stack.peek()).value;
RESULT = list;
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("classcontent",13, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 61: // classcontent ::= classcontent preclass
{
Vector 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;
Vector list = (Vector)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value;
int plistleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).left;
int plistright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).right;
Vector plist = (Vector)((java_cup.runtime.Symbol) CUP$LexParse$stack.peek()).value;
for (Enumeration e = plist.elements(); e.hasMoreElements();)
list.addElement(e.nextElement());
RESULT = list;
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("classcontent",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 60: // classcontent ::= classcontentelem
{
Vector RESULT =null;
int elemleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).left;
int elemright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).right;
Interval elem = (Interval)((java_cup.runtime.Symbol) CUP$LexParse$stack.peek()).value;
Vector list = new Vector();
list.addElement(elem);
RESULT = list;
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("classcontent",13, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 59: // classcontent ::= classcontent classcontentelem
{
Vector 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;
Vector list = (Vector)((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;
Interval elem = (Interval)((java_cup.runtime.Symbol) CUP$LexParse$stack.peek()).value;
list.addElement(elem);
RESULT = list;
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("classcontent",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 58: // charclass ::= OPENCLASS HAT DASH classcontent CLOSECLASS
{
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;
Vector list = (Vector)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value;
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;
try {
list.addElement(new Interval('-','-'));
charClasses.makeClassNot(list, Options.jlex && scanner.caseless);
}
catch (CharClassException e) {
syntaxError(ErrorMessages.CHARSET_2_SMALL, closeleft, closeright);
}
RESULT = new RegExp1(sym.CCLASSNOT,list);
CUP$LexParse$result = 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 57: // charclass ::= OPENCLASS DASH classcontent CLOSECLASS
{
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;
Vector list = (Vector)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value;
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;
try {
list.addElement(new Interval('-','-'));
charClasses.makeClass(list, Options.jlex && scanner.caseless);
}
catch (CharClassException e) {
syntaxError(ErrorMessages.CHARSET_2_SMALL, closeleft, closeright);
}
RESULT = new RegExp1(sym.CCLASS,list);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("charclass",8, ((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 56: // charclass ::= OPENCLASS HAT classcontent CLOSECLASS
{
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;
Vector list = (Vector)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value;
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;
try {
charClasses.makeClassNot(list, Options.jlex && scanner.caseless);
}
catch (CharClassException e) {
syntaxError(ErrorMessages.CHARSET_2_SMALL, closeleft, closeright);
}
RESULT = new RegExp1(sym.CCLASSNOT,list);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("charclass",8, ((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 55: // charclass ::= OPENCLASS HAT CLOSECLASS
{
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;
Vector list = new Vector();
list.addElement(new Interval((char)0,CharClasses.maxChar));
try {
charClasses.makeClass(list, false);
}
catch (CharClassException e) {
syntaxError(ErrorMessages.CHARSET_2_SMALL, closeleft, closeright);
}
RESULT = new RegExp1(sym.CCLASS,list);
CUP$LexParse$result = 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 54: // charclass ::= OPENCLASS classcontent CLOSECLASS
{
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;
Vector list = (Vector)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value;
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;
try {
charClasses.makeClass(list, Options.jlex && scanner.caseless);
}
catch (CharClassException e) {
syntaxError(ErrorMessages.CHARSET_2_SMALL, closeleft, closeright);
}
RESULT = new RegExp1(sym.CCLASS,list);
CUP$LexParse$result = 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 53: // charclass ::= OPENCLASS CLOSECLASS
{
RegExp RESULT =null;
RESULT = new RegExp1(sym.CCLASS,null);
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 52: // regexp ::= CHAR
{
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;
Character c = (Character)((java_cup.runtime.Symbol) CUP$LexParse$stack.peek()).value;
try {
if ( scanner.caseless ) {
charClasses.makeClass(c.charValue(), true);
RESULT = new RegExp1(sym.CHAR_I, c);
}
else {
charClasses.makeClass(c.charValue(), false);
RESULT = new RegExp1(sym.CHAR, c);
}
}
catch (CharClassException e) {
syntaxError(ErrorMessages.CS2SMALL_CHAR, cleft, cright);
}
CUP$LexParse$result = 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 ::= POINT
{
RegExp RESULT =null;
Vector any = new Vector();
any.addElement(new Interval('\n','\n'));
// assumption: there is no upper case for \n
charClasses.makeClass('\n', false);
RESULT = new RegExp1(sym.CCLASSNOT, any);
CUP$LexParse$result = 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 ::= STRING
{
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;
try {
if ( scanner.caseless ) {
charClasses.makeClass(str, true);
RESULT = new RegExp1(sym.STRING_I, str);
}
else {
charClasses.makeClass(str, false);
RESULT = new RegExp1(sym.STRING, str);
}
}
catch (CharClassException e) {
syntaxError(ErrorMessages.CS2SMALL_STRING, strleft, strright);
}
CUP$LexParse$result = 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 ::= preclass
{
RegExp RESULT =null;
int listleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).left;
int listright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).right;
Vector list = (Vector)((java_cup.runtime.Symbol) CUP$LexParse$stack.peek()).value;
try {
// assumption [correct?]: preclasses are already closed under case
charClasses.makeClass(list, false);
}
catch (CharClassException e) {
syntaxError(ErrorMessages.CHARSET_2_SMALL, listleft);
}
RESULT = new RegExp1(sym.CCLASS, list);
CUP$LexParse$result = 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 ::= charclass
{
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 ::= MACROUSE
{
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 ::= OPENBRACKET series CLOSEBRACKET
{
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 ::= regexp REPEAT REPEAT RBRACE
{
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.intValue(), n2.intValue(), 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 ::= regexp REPEAT RBRACE
{
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.intValue(), n.intValue(), 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 ::= regexp QUESTION
{
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 ::= regexp PLUS
{
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 ::= regexp STAR
{
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: // nregexp ::= TILDE nregexp
{
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: // nregexp ::= BANG nregexp
{
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: // nregexp ::= regexp
{
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: // concs ::= nregexp
{
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: // concs ::= concs nregexp
{
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: // series ::= BAR
{
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: // series ::= concs
{
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: // series ::= series BAR concs
{
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;
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: // hatOPT ::=
{
Boolean RESULT =null;
RESULT = new Boolean(false);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("hatOPT",16, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 31: // hatOPT ::= HAT
{
Boolean RESULT =null;
// assumption: there is no upper case for \n
charClasses.makeClass('\n', false);
RESULT = new Boolean(true);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("hatOPT",16, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 30: // states ::= IDENT COMMA
{
Vector 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",11, ((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: // states ::= IDENT
{
Vector 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;
Vector list = new Vector();
stateNumber = scanner.states.getNumber( id );
if ( stateNumber != null )
list.addElement( stateNumber );
else {
throw new ScannerException(scanner.file, ErrorMessages.LEXSTATE_UNDECL,
idleft, idright);
}
RESULT = list;
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("states",11, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 28: // states ::= IDENT COMMA states
{
Vector 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;
Vector list = (Vector)((java_cup.runtime.Symbol) CUP$LexParse$stack.peek()).value;
stateNumber = scanner.states.getNumber( id );
if ( stateNumber != null )
list.addElement( stateNumber );
else {
throw new ScannerException(scanner.file, ErrorMessages.LEXSTATE_UNDECL,
idleft, idright);
}
RESULT = list;
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("states",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 27: // statesOPT ::=
{
Vector RESULT =null;
RESULT = new Vector();
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("statesOPT",12, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 26: // statesOPT ::= LESSTHAN states MORETHAN
{
Vector 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;
Vector list = (Vector)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value;
RESULT = list;
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("statesOPT",12, ((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: // actions ::= NOACTION
{
Action RESULT =null;
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("actions",18, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 24: // actions ::= act
{
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",18, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 23: // act ::= REGEXPEND ACTION
{
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",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 22: // lookahead ::= LOOKAHEAD series DOLLAR
{
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: // lookahead ::= LOOKAHEAD series
{
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: // lookahead ::= DOLLAR
{
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: // rule ::= error
{
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: // rule ::= statesOPT EOFRULE ACTION
{
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;
Vector s = (Vector)((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 = new Integer(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 17: // rule ::= statesOPT hatOPT series lookahead NOACTION
{
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;
Vector s = (Vector)((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 16: // rule ::= statesOPT hatOPT series lookahead act
{
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;
Vector s = (Vector)((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 = new Integer(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 15: // rule ::= statesOPT hatOPT series actions
{
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;
Vector s = (Vector)((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 = new Integer(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 14: // rules ::= rule
{
Vector 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 Vector(); RESULT.addElement(r);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("rules",15, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 13: // rules ::= LESSTHAN states MORETHAN LBRACE rules RBRACE
{
Vector 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;
Vector states = (Vector)((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;
Vector rlist = (Vector)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value;
Enumeration rs = rlist.elements();
while ( rs.hasMoreElements() ) {
Integer elem = (Integer) rs.nextElement();
// might be null for error case of "rule"
if (elem != null) {
regExps.addStates( elem.intValue(), states );
}
}
RESULT = rlist;
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("rules",15, ((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 12: // rules ::= rules LESSTHAN states MORETHAN LBRACE rules RBRACE
{
Vector 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;
Vector rlist1 = (Vector)((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;
Vector states = (Vector)((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;
Vector rlist2 = (Vector)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value;
Enumeration rs = rlist2.elements();
while ( rs.hasMoreElements() ) {
Integer elem = (Integer) rs.nextElement();
// might be null for error case of "rule"
if (elem != null) {
regExps.addStates( elem.intValue(), states );
}
rlist1.addElement( elem );
}
RESULT = rlist1;
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("rules",15, ((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 11: // rules ::= rules rule
{
Vector 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;
Vector rlist = (Vector)((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.addElement(r); RESULT = rlist;
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("rules",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 10: // macro ::= IDENT EQUALS
{
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 9: // macro ::= IDENT EQUALS series REGEXPEND
{
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 8: // macro ::= UNICODE
{
Object RESULT =null;
charClasses.setMaxCharCode(0xFFFF);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("macro",1, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 7: // macro ::= FULL
{
Object RESULT =null;
charClasses.setMaxCharCode(255);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("macro",1, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 6: // macro ::= ASCII
{
Object RESULT =null;
charClasses.setMaxCharCode(127);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("macro",1, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 5: // macros ::= error
{
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 4: // macros ::= macros macro
{
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 3: // macros ::=
{
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 2: // specification ::=
{
NFA RESULT =null;
fatalError(ErrorMessages.NO_LEX_SPEC);
CUP$LexParse$result = parser.getSymbolFactory().newSymbol("specification",3, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);
}
return CUP$LexParse$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 1: // specification ::= USERCODE macros DELIMITER rules
{
NFA RESULT =null;
scanner.t.stop();
Out.checkErrors();
Out.time(ErrorMessages.PARSING_TOOK, t);
macros.expand();
Enumeration unused = macros.unused();
while ( unused.hasMoreElements() ) {
Out.warning("Macro \""+unused.nextElement()+"\" has been declared but never used.");
}
SemCheck.check(regExps, macros, scanner.file);
regExps.checkActions();
regExps.checkLookAheads();
Out.checkErrors();
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 0: // $START ::= specification EOF
{
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);
}
/* ACCEPT */
CUP$LexParse$parser.done_parsing();
return CUP$LexParse$result;
/* . . . . . .*/
default:
throw new Exception(
"Invalid action number found in internal parse table");
}
}
}