| |
| //---------------------------------------------------- |
| // 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"); |
| |
| } |
| } |
| } |
| |