1 2 7 package JFlex; 8 9 import java.util.*; 10 11 14 public class LexParse extends java_cup.runtime.lr_parser { 15 16 17 public LexParse() {super();} 18 19 20 public LexParse(java_cup.runtime.Scanner s) {super(s);} 21 22 23 protected static final short _production_table[][] = 24 unpackFromStrings(new String [] { 25 "\000\110\000\002\002\004\000\002\006\006\000\002\006" + 26 "\002\000\002\003\002\000\002\003\004\000\002\003\003" + 27 "\000\002\004\003\000\002\004\003\000\002\004\006\000" + 28 "\002\004\004\000\002\022\004\000\002\022\011\000\002" + 29 "\022\010\000\002\022\003\000\002\005\007\000\002\005" + 30 "\005\000\002\005\003\000\002\014\003\000\002\014\004" + 31 "\000\002\014\002\000\002\014\005\000\002\024\004\000" + 32 "\002\024\003\000\002\017\005\000\002\017\002\000\002" + 33 "\016\005\000\002\016\003\000\002\016\004\000\002\023" + 34 "\003\000\002\023\002\000\002\007\005\000\002\007\003" + 35 "\000\002\007\003\000\002\010\004\000\002\010\003\000" + 36 "\002\011\003\000\002\011\004\000\002\011\004\000\002" + 37 "\012\004\000\002\012\004\000\002\012\004\000\002\012" + 38 "\005\000\002\012\006\000\002\012\005\000\002\012\003" + 39 "\000\002\012\003\000\002\012\003\000\002\012\003\000" + 40 "\002\012\003\000\002\012\003\000\002\013\004\000\002" + 41 "\013\005\000\002\013\005\000\002\013\006\000\002\013" + 42 "\006\000\002\013\007\000\002\020\004\000\002\020\003" + 43 "\000\002\020\004\000\002\020\003\000\002\020\004\000" + 44 "\002\020\003\000\002\020\004\000\002\020\003\000\002" + 45 "\015\005\000\002\015\003\000\002\021\003\000\002\021" + 46 "\003\000\002\021\003\000\002\021\003\000\002\021\003" + 47 "\000\002\021\003" }); 48 49 50 public short[][] production_table() {return _production_table;} 51 52 53 protected static final short[][] _action_table = 54 unpackFromStrings(new String [] { 55 "\000\152\000\006\002\uffff\040\004\001\002\000\014\003" + 56 "\007\013\ufffe\022\ufffe\023\ufffe\037\ufffe\001\002\000\004" + 57 "\002\006\001\002\000\004\002\001\001\002\000\012\013" + 58 "\ufffc\022\ufffc\023\ufffc\037\ufffc\001\002\000\012\013\011" + 59 "\022\015\023\014\037\013\001\002\000\050\003\113\004" + 60 "\uffe9\006\uffe9\010\uffe9\016\115\025\uffe9\026\uffe9\027\uffe9" + 61 "\030\uffe9\031\uffe9\032\uffe9\033\uffe9\044\uffe9\046\uffe9\047" + 62 "\uffe9\050\uffe9\051\uffe9\052\uffe9\053\uffe9\001\002\000\012" + 63 "\013\ufffd\022\ufffd\023\ufffd\037\ufffd\001\002\000\004\014" + 64 "\016\001\002\000\012\013\ufffa\022\ufffa\023\ufffa\037\ufffa" + 65 "\001\002\000\012\013\ufffb\022\ufffb\023\ufffb\037\ufffb\001" + 66 "\002\000\050\004\033\010\043\013\ufff8\022\ufff8\023\ufff8" + 67 "\025\023\026\030\027\017\030\041\031\034\032\031\037" + 68 "\ufff8\044\040\046\021\047\036\050\022\051\020\052\027" + 69 "\053\024\001\002\000\064\004\uffbd\005\uffbd\007\uffbd\010" + 70 "\uffbd\011\uffbd\024\uffbd\025\uffbd\026\uffbd\027\uffbd\030\uffbd" + 71 "\031\uffbd\032\uffbd\034\uffbd\035\uffbd\041\uffbd\042\uffbd\043" + 72 "\uffbd\044\uffbd\045\uffbd\046\uffbd\047\uffbd\050\uffbd\051\uffbd" + 73 "\052\uffbd\053\uffbd\001\002\000\062\004\uffd0\005\uffd0\007" + 74 "\uffd0\010\uffd0\024\uffd0\025\uffd0\026\uffd0\027\uffd0\030\uffd0" + 75 "\031\uffd0\032\uffd0\034\uffd0\035\uffd0\041\uffd0\042\uffd0\043" + 76 "\uffd0\044\uffd0\045\uffd0\046\uffd0\047\uffd0\050\uffd0\051\uffd0" + 77 "\052\uffd0\053\uffd0\001\002\000\062\004\uffd1\005\uffd1\007" + 78 "\uffd1\010\uffd1\024\uffd1\025\uffd1\026\uffd1\027\uffd1\030\uffd1" + 79 "\031\uffd1\032\uffd1\034\uffd1\035\uffd1\041\uffd1\042\uffd1\043" + 80 "\uffd1\044\uffd1\045\uffd1\046\uffd1\047\uffd1\050\uffd1\051\uffd1" + 81 "\052\uffd1\053\uffd1\001\002\000\036\004\033\010\043\025" + 82 "\023\026\030\027\017\030\041\031\034\032\031\046\021" + 83 "\047\036\050\022\051\020\052\027\053\024\001\002\000" + 84 "\064\004\uffbf\005\uffbf\007\uffbf\010\uffbf\011\uffbf\024\uffbf" + 85 "\025\uffbf\026\uffbf\027\uffbf\030\uffbf\031\uffbf\032\uffbf\034" + 86 "\uffbf\035\uffbf\041\uffbf\042\uffbf\043\uffbf\044\uffbf\045\uffbf" + 87 "\046\uffbf\047\uffbf\050\uffbf\051\uffbf\052\uffbf\053\uffbf\001" + 88 "\002\000\062\004\uffd5\005\uffd5\007\uffd5\010\uffd5\024\uffd5" + 89 "\025\uffd5\026\uffd5\027\uffd5\030\uffd5\031\uffd5\032\uffd5\034" + 90 "\uffd5\035\uffd5\041\uffd5\042\uffd5\043\uffd5\044\uffd5\045\uffd5" + 91 "\046\uffd5\047\uffd5\050\uffd5\051\uffd5\052\uffd5\053\uffd5\001" + 92 "\002\000\006\024\111\044\105\001\002\000\062\004\uffd3" + 93 "\005\uffd3\007\uffd3\010\uffd3\024\uffd3\025\uffd3\026\uffd3\027" + 94 "\uffd3\030\uffd3\031\uffd3\032\uffd3\034\uffd3\035\uffd3\041\uffd3" + 95 "\042\uffd3\043\uffd3\044\uffd3\045\uffd3\046\uffd3\047\uffd3\050" + 96 "\uffd3\051\uffd3\052\uffd3\053\uffd3\001\002\000\062\004\uffd2" + 97 "\005\uffd2\007\uffd2\010\uffd2\024\uffd2\025\uffd2\026\uffd2\027" + 98 "\uffd2\030\uffd2\031\uffd2\032\uffd2\034\uffd2\035\uffd2\041\uffd2" + 99 "\042\uffd2\043\uffd2\044\uffd2\045\uffd2\046\uffd2\047\uffd2\050" + 100 "\uffd2\051\uffd2\052\uffd2\053\uffd2\001\002\000\064\004\uffbe" + 101 "\005\uffbe\007\uffbe\010\uffbe\011\uffbe\024\uffbe\025\uffbe\026" + 102 "\uffbe\027\uffbe\030\uffbe\031\uffbe\032\uffbe\034\uffbe\035\uffbe" + 103 "\041\uffbe\042\uffbe\043\uffbe\044\uffbe\045\uffbe\046\uffbe\047" + 104 "\uffbe\050\uffbe\051\uffbe\052\uffbe\053\uffbe\001\002\000\064" + 105 "\004\uffba\005\uffba\007\uffba\010\uffba\011\uffba\024\uffba\025" + 106 "\uffba\026\uffba\027\uffba\030\uffba\031\uffba\032\uffba\034\uffba" + 107 "\035\uffba\041\uffba\042\uffba\043\uffba\044\uffba\045\uffba\046" + 108 "\uffba\047\uffba\050\uffba\051\uffba\052\uffba\053\uffba\001\002" + 109 "\000\052\004\033\005\uffe2\007\uffe2\010\043\024\uffe2\025" + 110 "\023\026\030\027\017\030\041\031\034\032\031\034\uffe2" + 111 "\035\uffe2\044\uffe2\046\021\047\036\050\022\051\020\052" + 112 "\027\053\024\001\002\000\040\004\033\010\043\025\023" + 113 "\026\030\027\017\030\041\031\034\032\031\044\040\046" + 114 "\021\047\036\050\022\051\020\052\027\053\024\001\002" + 115 "\000\064\004\uffbb\005\uffbb\007\uffbb\010\uffbb\011\uffbb\024" + 116 "\uffbb\025\uffbb\026\uffbb\027\uffbb\030\uffbb\031\uffbb\032\uffbb" + 117 "\034\uffbb\035\uffbb\041\uffbb\042\uffbb\043\uffbb\044\uffbb\045" + 118 "\uffbb\046\uffbb\047\uffbb\050\uffbb\051\uffbb\052\uffbb\053\uffbb" + 119 "\001\002\000\062\004\uffd4\005\uffd4\007\uffd4\010\uffd4\024" + 120 "\uffd4\025\uffd4\026\uffd4\027\uffd4\030\uffd4\031\uffd4\032\uffd4" + 121 "\034\uffd4\035\uffd4\041\uffd4\042\uffd4\043\uffd4\044\uffd4\045" + 122 "\uffd4\046\uffd4\047\uffd4\050\uffd4\051\uffd4\052\uffd4\053\uffd4" + 123 "\001\002\000\036\004\033\010\043\025\023\026\030\027" + 124 "\017\030\041\031\034\032\031\046\021\047\036\050\022" + 125 "\051\020\052\027\053\024\001\002\000\052\004\uffdf\005" + 126 "\uffdf\007\uffdf\010\uffdf\024\uffdf\025\uffdf\026\uffdf\027\uffdf" + 127 "\030\uffdf\031\uffdf\032\uffdf\034\uffdf\035\uffdf\044\uffdf\046" + 128 "\uffdf\047\uffdf\050\uffdf\051\uffdf\052\uffdf\053\uffdf\001\002" + 129 "\000\016\005\uffe1\007\uffe1\024\uffe1\034\uffe1\035\uffe1\044" + 130 "\uffe1\001\002\000\064\004\uffbc\005\uffbc\007\uffbc\010\uffbc" + 131 "\011\uffbc\024\uffbc\025\uffbc\026\uffbc\027\uffbc\030\uffbc\031" + 132 "\uffbc\032\uffbc\034\uffbc\035\uffbc\041\uffbc\042\uffbc\043\uffbc" + 133 "\044\uffbc\045\uffbc\046\uffbc\047\uffbc\050\uffbc\051\uffbc\052" + 134 "\uffbc\053\uffbc\001\002\000\062\004\uffde\005\uffde\007\uffde" + 135 "\010\uffde\024\uffde\025\uffde\026\uffde\027\uffde\030\uffde\031" + 136 "\uffde\032\uffde\034\uffde\035\uffde\041\076\042\074\043\075" + 137 "\044\uffde\045\077\046\uffde\047\uffde\050\uffde\051\uffde\052" + 138 "\uffde\053\uffde\001\002\000\032\006\047\011\050\012\046" + 139 "\025\023\026\030\027\017\030\041\031\034\032\031\051" + 140 "\054\052\051\053\053\001\002\000\026\011\uffc6\025\uffc6" + 141 "\026\uffc6\027\uffc6\030\uffc6\031\uffc6\032\uffc6\051\uffc6\052" + 142 "\uffc6\053\uffc6\001\002\000\026\011\uffc8\025\uffc8\026\uffc8" + 143 "\027\uffc8\030\uffc8\031\uffc8\032\uffc8\051\uffc8\052\uffc8\053" + 144 "\uffc8\001\002\000\024\025\023\026\030\027\017\030\041" + 145 "\031\034\032\031\051\054\052\051\053\053\001\002\000" + 146 "\030\011\065\012\064\025\023\026\030\027\017\030\041" + 147 "\031\034\032\031\051\054\052\051\053\053\001\002\000" + 148 "\062\004\uffcf\005\uffcf\007\uffcf\010\uffcf\024\uffcf\025\uffcf" + 149 "\026\uffcf\027\uffcf\030\uffcf\031\uffcf\032\uffcf\034\uffcf\035" + 150 "\uffcf\041\uffcf\042\uffcf\043\uffcf\044\uffcf\045\uffcf\046\uffcf" + 151 "\047\uffcf\050\uffcf\051\uffcf\052\uffcf\053\uffcf\001\002\000" + 152 "\026\011\uffc4\025\uffc4\026\uffc4\027\uffc4\030\uffc4\031\uffc4" + 153 "\032\uffc4\051\uffc4\052\uffc4\053\uffc4\001\002\000\026\011" + 154 "\061\025\023\026\030\027\017\030\041\031\034\032\031" + 155 "\051\054\052\062\053\063\001\002\000\026\011\uffc2\025" + 156 "\uffc2\026\uffc2\027\uffc2\030\uffc2\031\uffc2\032\uffc2\051\uffc2" + 157 "\052\uffc2\053\uffc2\001\002\000\030\011\uffc0\012\055\025" + 158 "\uffc0\026\uffc0\027\uffc0\030\uffc0\031\uffc0\032\uffc0\051\uffc0" + 159 "\052\uffc0\053\uffc0\001\002\000\004\051\056\001\002\000" + 160 "\026\011\uffc1\025\uffc1\026\uffc1\027\uffc1\030\uffc1\031\uffc1" + 161 "\032\uffc1\051\uffc1\052\uffc1\053\uffc1\001\002\000\026\011" + 162 "\uffc7\025\uffc7\026\uffc7\027\uffc7\030\uffc7\031\uffc7\032\uffc7" + 163 "\051\uffc7\052\uffc7\053\uffc7\001\002\000\026\011\uffc9\025" + 164 "\uffc9\026\uffc9\027\uffc9\030\uffc9\031\uffc9\032\uffc9\051\uffc9" + 165 "\052\uffc9\053\uffc9\001\002\000\062\004\uffce\005\uffce\007" + 166 "\uffce\010\uffce\024\uffce\025\uffce\026\uffce\027\uffce\030\uffce" + 167 "\031\uffce\032\uffce\034\uffce\035\uffce\041\uffce\042\uffce\043" + 168 "\uffce\044\uffce\045\uffce\046\uffce\047\uffce\050\uffce\051\uffce" + 169 "\052\uffce\053\uffce\001\002\000\026\011\uffc5\025\uffc5\026" + 170 "\uffc5\027\uffc5\030\uffc5\031\uffc5\032\uffc5\051\uffc5\052\uffc5" + 171 "\053\uffc5\001\002\000\026\011\uffc3\025\uffc3\026\uffc3\027" + 172 "\uffc3\030\uffc3\031\uffc3\032\uffc3\051\uffc3\052\uffc3\053\uffc3" + 173 "\001\002\000\024\025\023\026\030\027\017\030\041\031" + 174 "\034\032\031\051\054\052\051\053\053\001\002\000\062" + 175 "\004\uffcd\005\uffcd\007\uffcd\010\uffcd\024\uffcd\025\uffcd\026" + 176 "\uffcd\027\uffcd\030\uffcd\031\uffcd\032\uffcd\034\uffcd\035\uffcd" + 177 "\041\uffcd\042\uffcd\043\uffcd\044\uffcd\045\uffcd\046\uffcd\047" + 178 "\uffcd\050\uffcd\051\uffcd\052\uffcd\053\uffcd\001\002\000\026" + 179 "\011\067\025\023\026\030\027\017\030\041\031\034\032" + 180 "\031\051\054\052\062\053\063\001\002\000\062\004\uffcc" + 181 "\005\uffcc\007\uffcc\010\uffcc\024\uffcc\025\uffcc\026\uffcc\027" + 182 "\uffcc\030\uffcc\031\uffcc\032\uffcc\034\uffcc\035\uffcc\041\uffcc" + 183 "\042\uffcc\043\uffcc\044\uffcc\045\uffcc\046\uffcc\047\uffcc\050" + 184 "\uffcc\051\uffcc\052\uffcc\053\uffcc\001\002\000\026\011\071" + 185 "\025\023\026\030\027\017\030\041\031\034\032\031\051" + 186 "\054\052\062\053\063\001\002\000\062\004\uffca\005\uffca" + 187 "\007\uffca\010\uffca\024\uffca\025\uffca\026\uffca\027\uffca\030" + 188 "\uffca\031\uffca\032\uffca\034\uffca\035\uffca\041\uffca\042\uffca" + 189 "\043\uffca\044\uffca\045\uffca\046\uffca\047\uffca\050\uffca\051" + 190 "\uffca\052\uffca\053\uffca\001\002\000\026\011\073\025\023" + 191 "\026\030\027\017\030\041\031\034\032\031\051\054\052" + 192 "\062\053\063\001\002\000\062\004\uffcb\005\uffcb\007\uffcb" + 193 "\010\uffcb\024\uffcb\025\uffcb\026\uffcb\027\uffcb\030\uffcb\031" + 194 "\uffcb\032\uffcb\034\uffcb\035\uffcb\041\uffcb\042\uffcb\043\uffcb" + 195 "\044\uffcb\045\uffcb\046\uffcb\047\uffcb\050\uffcb\051\uffcb\052" + 196 "\uffcb\053\uffcb\001\002\000\062\004\uffdb\005\uffdb\007\uffdb" + 197 "\010\uffdb\024\uffdb\025\uffdb\026\uffdb\027\uffdb\030\uffdb\031" + 198 "\uffdb\032\uffdb\034\uffdb\035\uffdb\041\uffdb\042\uffdb\043\uffdb" + 199 "\044\uffdb\045\uffdb\046\uffdb\047\uffdb\050\uffdb\051\uffdb\052" + 200 "\uffdb\053\uffdb\001\002\000\062\004\uffda\005\uffda\007\uffda" + 201 "\010\uffda\024\uffda\025\uffda\026\uffda\027\uffda\030\uffda\031" + 202 "\uffda\032\uffda\034\uffda\035\uffda\041\uffda\042\uffda\043\uffda" + 203 "\044\uffda\045\uffda\046\uffda\047\uffda\050\uffda\051\uffda\052" + 204 "\uffda\053\uffda\001\002\000\006\021\100\041\101\001\002" + 205 "\000\062\004\uffd9\005\uffd9\007\uffd9\010\uffd9\024\uffd9\025" + 206 "\uffd9\026\uffd9\027\uffd9\030\uffd9\031\uffd9\032\uffd9\034\uffd9" + 207 "\035\uffd9\041\uffd9\042\uffd9\043\uffd9\044\uffd9\045\uffd9\046" + 208 "\uffd9\047\uffd9\050\uffd9\051\uffd9\052\uffd9\053\uffd9\001\002" + 209 "\000\062\004\uffd8\005\uffd8\007\uffd8\010\uffd8\024\uffd8\025" + 210 "\uffd8\026\uffd8\027\uffd8\030\uffd8\031\uffd8\032\uffd8\034\uffd8" + 211 "\035\uffd8\041\uffd8\042\uffd8\043\uffd8\044\uffd8\045\uffd8\046" + 212 "\uffd8\047\uffd8\050\uffd8\051\uffd8\052\uffd8\053\uffd8\001\002" + 213 "\000\004\021\102\001\002\000\062\004\uffd7\005\uffd7\007" + 214 "\uffd7\010\uffd7\024\uffd7\025\uffd7\026\uffd7\027\uffd7\030\uffd7" + 215 "\031\uffd7\032\uffd7\034\uffd7\035\uffd7\041\uffd7\042\uffd7\043" + 216 "\uffd7\044\uffd7\045\uffd7\046\uffd7\047\uffd7\050\uffd7\051\uffd7" + 217 "\052\uffd7\053\uffd7\001\002\000\052\004\uffdd\005\uffdd\007" + 218 "\uffdd\010\uffdd\024\uffdd\025\uffdd\026\uffdd\027\uffdd\030\uffdd" + 219 "\031\uffdd\032\uffdd\034\uffdd\035\uffdd\044\uffdd\046\uffdd\047" + 220 "\uffdd\050\uffdd\051\uffdd\052\uffdd\053\uffdd\001\002\000\006" + 221 "\005\106\044\105\001\002\000\036\004\033\010\043\025" + 222 "\023\026\030\027\017\030\041\031\034\032\031\046\021" + 223 "\047\036\050\022\051\020\052\027\053\024\001\002\000" + 224 "\062\004\uffd6\005\uffd6\007\uffd6\010\uffd6\024\uffd6\025\uffd6" + 225 "\026\uffd6\027\uffd6\030\uffd6\031\uffd6\032\uffd6\034\uffd6\035" + 226 "\uffd6\041\uffd6\042\uffd6\043\uffd6\044\uffd6\045\uffd6\046\uffd6" + 227 "\047\uffd6\050\uffd6\051\uffd6\052\uffd6\053\uffd6\001\002\000" + 228 "\052\004\033\005\uffe3\007\uffe3\010\043\024\uffe3\025\023" + 229 "\026\030\027\017\030\041\031\034\032\031\034\uffe3\035" + 230 "\uffe3\044\uffe3\046\021\047\036\050\022\051\020\052\027" + 231 "\053\024\001\002\000\052\004\uffe0\005\uffe0\007\uffe0\010" + 232 "\uffe0\024\uffe0\025\uffe0\026\uffe0\027\uffe0\030\uffe0\031\uffe0" + 233 "\032\uffe0\034\uffe0\035\uffe0\044\uffe0\046\uffe0\047\uffe0\050" + 234 "\uffe0\051\uffe0\052\uffe0\053\uffe0\001\002\000\012\013\ufff9" + 235 "\022\ufff9\023\ufff9\037\ufff9\001\002\000\052\004\uffdc\005" + 236 "\uffdc\007\uffdc\010\uffdc\024\uffdc\025\uffdc\026\uffdc\027\uffdc" + 237 "\030\uffdc\031\uffdc\032\uffdc\034\uffdc\035\uffdc\044\uffdc\046" + 238 "\uffdc\047\uffdc\050\uffdc\051\uffdc\052\uffdc\053\uffdc\001\002" + 239 "\000\054\002\ufff1\003\ufff1\004\ufff1\006\ufff1\010\ufff1\016" + 240 "\ufff1\021\ufff1\025\ufff1\026\ufff1\027\ufff1\030\ufff1\031\ufff1" + 241 "\032\ufff1\033\ufff1\044\ufff1\046\ufff1\047\ufff1\050\ufff1\051" + 242 "\ufff1\052\ufff1\053\ufff1\001\002\000\044\004\uffe4\006\141" + 243 "\010\uffe4\025\uffe4\026\uffe4\027\uffe4\030\uffe4\031\uffe4\032" + 244 "\uffe4\033\137\044\uffe4\046\uffe4\047\uffe4\050\uffe4\051\uffe4" + 245 "\052\uffe4\053\uffe4\001\002\000\004\037\123\001\002\000" + 246 "\054\002\ufff4\003\ufff4\004\ufff4\006\ufff4\010\ufff4\016\ufff4" + 247 "\021\ufff4\025\ufff4\026\ufff4\027\ufff4\030\ufff4\031\ufff4\032" + 248 "\ufff4\033\ufff4\044\ufff4\046\ufff4\047\ufff4\050\ufff4\051\ufff4" + 249 "\052\ufff4\053\ufff4\001\002\000\052\002\000\003\113\004" + 250 "\uffe9\006\uffe9\010\uffe9\016\120\025\uffe9\026\uffe9\027\uffe9" + 251 "\030\uffe9\031\uffe9\032\uffe9\033\uffe9\044\uffe9\046\uffe9\047" + 252 "\uffe9\050\uffe9\051\uffe9\052\uffe9\053\uffe9\001\002\000\004" + 253 "\037\123\001\002\000\054\002\ufff7\003\ufff7\004\ufff7\006" + 254 "\ufff7\010\ufff7\016\ufff7\021\ufff7\025\ufff7\026\ufff7\027\ufff7" + 255 "\030\ufff7\031\ufff7\032\ufff7\033\ufff7\044\ufff7\046\ufff7\047" + 256 "\ufff7\050\ufff7\051\ufff7\052\ufff7\053\ufff7\001\002\000\004" + 257 "\017\126\001\002\000\006\015\124\017\uffe7\001\002\000" + 258 "\006\017\uffe6\037\123\001\002\000\004\017\uffe8\001\002" + 259 "\000\046\004\uffea\006\uffea\010\uffea\020\127\025\uffea\026" + 260 "\uffea\027\uffea\030\uffea\031\uffea\032\uffea\033\uffea\044\uffea" + 261 "\046\uffea\047\uffea\050\uffea\051\uffea\052\uffea\053\uffea\001" + 262 "\002\000\050\003\113\004\uffe9\006\uffe9\010\uffe9\016\115" + 263 "\025\uffe9\026\uffe9\027\uffe9\030\uffe9\031\uffe9\032\uffe9\033" + 264 "\uffe9\044\uffe9\046\uffe9\047\uffe9\050\uffe9\051\uffe9\052\uffe9" + 265 "\053\uffe9\001\002\000\052\003\113\004\uffe9\006\uffe9\010" + 266 "\uffe9\016\120\021\131\025\uffe9\026\uffe9\027\uffe9\030\uffe9" + 267 "\031\uffe9\032\uffe9\033\uffe9\044\uffe9\046\uffe9\047\uffe9\050" + 268 "\uffe9\051\uffe9\052\uffe9\053\uffe9\001\002\000\054\002\ufff6" + 269 "\003\ufff6\004\ufff6\006\ufff6\010\ufff6\016\ufff6\021\ufff6\025" + 270 "\ufff6\026\ufff6\027\ufff6\030\ufff6\031\ufff6\032\ufff6\033\ufff6" + 271 "\044\ufff6\046\ufff6\047\ufff6\050\ufff6\051\ufff6\052\ufff6\053" + 272 "\ufff6\001\002\000\004\017\133\001\002\000\046\004\uffea" + 273 "\006\uffea\010\uffea\020\134\025\uffea\026\uffea\027\uffea\030" + 274 "\uffea\031\uffea\032\uffea\033\uffea\044\uffea\046\uffea\047\uffea" + 275 "\050\uffea\051\uffea\052\uffea\053\uffea\001\002\000\050\003" + 276 "\113\004\uffe9\006\uffe9\010\uffe9\016\115\025\uffe9\026\uffe9" + 277 "\027\uffe9\030\uffe9\031\uffe9\032\uffe9\033\uffe9\044\uffe9\046" + 278 "\uffe9\047\uffe9\050\uffe9\051\uffe9\052\uffe9\053\uffe9\001\002" + 279 "\000\052\003\113\004\uffe9\006\uffe9\010\uffe9\016\120\021" + 280 "\136\025\uffe9\026\uffe9\027\uffe9\030\uffe9\031\uffe9\032\uffe9" + 281 "\033\uffe9\044\uffe9\046\uffe9\047\uffe9\050\uffe9\051\uffe9\052" + 282 "\uffe9\053\uffe9\001\002\000\054\002\ufff5\003\ufff5\004\ufff5" + 283 "\006\ufff5\010\ufff5\016\ufff5\021\ufff5\025\ufff5\026\ufff5\027" + 284 "\ufff5\030\ufff5\031\ufff5\032\ufff5\033\ufff5\044\ufff5\046\ufff5" + 285 "\047\ufff5\050\ufff5\051\ufff5\052\ufff5\053\ufff5\001\002\000" + 286 "\004\036\154\001\002\000\040\004\033\010\043\025\023" + 287 "\026\030\027\017\030\041\031\034\032\031\044\040\046" + 288 "\021\047\036\050\022\051\020\052\027\053\024\001\002" + 289 "\000\040\004\uffe5\010\uffe5\025\uffe5\026\uffe5\027\uffe5\030" + 290 "\uffe5\031\uffe5\032\uffe5\044\uffe5\046\uffe5\047\uffe5\050\uffe5" + 291 "\051\uffe5\052\uffe5\053\uffe5\001\002\000\014\007\145\024" + 292 "\uffee\034\uffee\035\143\044\105\001\002\000\040\004\033" + 293 "\010\043\025\023\026\030\027\017\030\041\031\034\032" + 294 "\031\044\040\046\021\047\036\050\022\051\020\052\027" + 295 "\053\024\001\002\000\006\024\147\034\146\001\002\000" + 296 "\006\024\ufff0\034\ufff0\001\002\000\054\002\uffeb\003\uffeb" + 297 "\004\uffeb\006\uffeb\010\uffeb\016\uffeb\021\uffeb\025\uffeb\026" + 298 "\uffeb\027\uffeb\030\uffeb\031\uffeb\032\uffeb\033\uffeb\044\uffeb" + 299 "\046\uffeb\047\uffeb\050\uffeb\051\uffeb\052\uffeb\053\uffeb\001" + 300 "\002\000\004\036\151\001\002\000\054\002\ufff3\003\ufff3" + 301 "\004\ufff3\006\ufff3\010\ufff3\016\ufff3\021\ufff3\025\ufff3\026" + 302 "\ufff3\027\ufff3\030\ufff3\031\ufff3\032\ufff3\033\ufff3\044\ufff3" + 303 "\046\ufff3\047\ufff3\050\ufff3\051\ufff3\052\ufff3\053\ufff3\001" + 304 "\002\000\054\002\uffec\003\uffec\004\uffec\006\uffec\010\uffec" + 305 "\016\uffec\021\uffec\025\uffec\026\uffec\027\uffec\030\uffec\031" + 306 "\uffec\032\uffec\033\uffec\044\uffec\046\uffec\047\uffec\050\uffec" + 307 "\051\uffec\052\uffec\053\uffec\001\002\000\012\007\153\024" + 308 "\uffef\034\uffef\044\105\001\002\000\006\024\uffed\034\uffed" + 309 "\001\002\000\054\002\ufff2\003\ufff2\004\ufff2\006\ufff2\010" + 310 "\ufff2\016\ufff2\021\ufff2\025\ufff2\026\ufff2\027\ufff2\030\ufff2" + 311 "\031\ufff2\032\ufff2\033\ufff2\044\ufff2\046\ufff2\047\ufff2\050" + 312 "\ufff2\051\ufff2\052\ufff2\053\ufff2\001\002" }); 313 314 315 public short[][] action_table() {return _action_table;} 316 317 318 protected static final short[][] _reduce_table = 319 unpackFromStrings(new String [] { 320 "\000\152\000\004\006\004\001\001\000\004\003\007\001" + 321 "\001\000\002\001\001\000\002\001\001\000\002\001\001" + 322 "\000\004\004\011\001\001\000\010\005\115\017\113\022" + 323 "\116\001\001\000\002\001\001\000\002\001\001\000\002" + 324 "\001\001\000\002\001\001\000\016\007\024\010\031\011" + 325 "\036\012\041\013\034\021\025\001\001\000\002\001\001" + 326 "\000\002\001\001\000\002\001\001\000\012\011\111\012" + 327 "\041\013\034\021\025\001\001\000\002\001\001\000\002" + 328 "\001\001\000\002\001\001\000\002\001\001\000\002\001" + 329 "\001\000\002\001\001\000\002\001\001\000\012\011\107" + 330 "\012\041\013\034\021\025\001\001\000\016\007\103\010" + 331 "\031\011\036\012\041\013\034\021\025\001\001\000\002" + 332 "\001\001\000\002\001\001\000\012\011\102\012\041\013" + 333 "\034\021\025\001\001\000\002\001\001\000\002\001\001" + 334 "\000\002\001\001\000\002\001\001\000\010\015\044\020" + 335 "\051\021\043\001\001\000\002\001\001\000\002\001\001" + 336 "\000\010\015\044\020\071\021\043\001\001\000\010\015" + 337 "\044\020\065\021\043\001\001\000\002\001\001\000\002" + 338 "\001\001\000\006\015\057\021\056\001\001\000\002\001" + 339 "\001\000\002\001\001\000\002\001\001\000\002\001\001" + 340 "\000\002\001\001\000\002\001\001\000\002\001\001\000" + 341 "\002\001\001\000\002\001\001\000\010\015\044\020\067" + 342 "\021\043\001\001\000\002\001\001\000\006\015\057\021" + 343 "\056\001\001\000\002\001\001\000\006\015\057\021\056" + 344 "\001\001\000\002\001\001\000\006\015\057\021\056\001" + 345 "\001\000\002\001\001\000\002\001\001\000\002\001\001" + 346 "\000\002\001\001\000\002\001\001\000\002\001\001\000" + 347 "\002\001\001\000\002\001\001\000\002\001\001\000\002" + 348 "\001\001\000\014\010\106\011\036\012\041\013\034\021" + 349 "\025\001\001\000\002\001\001\000\012\011\107\012\041" + 350 "\013\034\021\025\001\001\000\002\001\001\000\002\001" + 351 "\001\000\002\001\001\000\002\001\001\000\004\023\137" + 352 "\001\001\000\004\016\131\001\001\000\002\001\001\000" + 353 "\006\005\120\017\113\001\001\000\004\016\121\001\001" + 354 "\000\002\001\001\000\002\001\001\000\002\001\001\000" + 355 "\004\016\124\001\001\000\002\001\001\000\002\001\001" + 356 "\000\010\005\115\017\113\022\127\001\001\000\006\005" + 357 "\120\017\113\001\001\000\002\001\001\000\002\001\001" + 358 "\000\002\001\001\000\010\005\115\017\113\022\134\001" + 359 "\001\000\006\005\120\017\113\001\001\000\002\001\001" + 360 "\000\002\001\001\000\016\007\141\010\031\011\036\012" + 361 "\041\013\034\021\025\001\001\000\002\001\001\000\004" + 362 "\014\143\001\001\000\016\007\151\010\031\011\036\012" + 363 "\041\013\034\021\025\001\001\000\004\024\147\001\001" + 364 "\000\002\001\001\000\002\001\001\000\002\001\001\000" + 365 "\002\001\001\000\002\001\001\000\002\001\001\000\002" + 366 "\001\001\000\002\001\001" }); 367 368 369 public short[][] reduce_table() {return _reduce_table;} 370 371 372 protected CUP$LexParse$actions action_obj; 373 374 375 protected void init_actions() 376 { 377 action_obj = new CUP$LexParse$actions(this); 378 } 379 380 381 public java_cup.runtime.Symbol do_action( 382 int act_num, 383 java_cup.runtime.lr_parser parser, 384 java.util.Stack stack, 385 int top) 386 throws java.lang.Exception  387 { 388 389 return action_obj.CUP$LexParse$do_action(act_num, parser, stack, top); 390 } 391 392 393 public int start_state() {return 0;} 394 395 public int start_production() {return 0;} 396 397 398 public int EOF_sym() {return 0;} 399 400 401 public int error_sym() {return 1;} 402 403 404 405 public void user_init() throws java.lang.Exception  406 { 407 408 action_obj.scanner = this.scanner; 409 410 } 411 412 413 public LexScan scanner; 414 415 public LexParse(LexScan scanner) { 416 super(scanner); 417 this.scanner = scanner; 418 } 419 420 public CharClasses getCharClasses() { 421 return action_obj.charClasses; 422 } 423 424 public EOFActions getEOFActions() { 425 return action_obj.eofActions; 426 } 427 428 public void report_error(String message, Object info) { 429 if ( info instanceof java_cup.runtime.Symbol ) { 430 java_cup.runtime.Symbol s = (java_cup.runtime.Symbol) info; 431 432 if (s.sym == sym.EOF) 433 Out.error(ErrorMessages.UNEXPECTED_EOF); 434 else 435 Out.error(scanner.file, ErrorMessages.SYNTAX_ERROR, s.left, s.right); 436 } 437 else 438 Out.error(ErrorMessages.UNKNOWN_SYNTAX); 439 } 440 441 public void report_fatal_error(String message, Object info) { 442 throw new GeneratorException(); 444 } 445 446 447 } 448 449 450 class CUP$LexParse$actions { 451 452 453 454 LexScan scanner; 455 CharClasses charClasses = new CharClasses(127); 456 RegExps regExps = new RegExps(); 457 Macros macros = new Macros(); 458 Integer stateNumber; 459 Timer t = new Timer(); 460 EOFActions eofActions = new EOFActions(); 461 462 void fatalError(ErrorMessages message, int line, int col) { 463 syntaxError(message, line, col); 464 throw new GeneratorException(); 465 } 466 467 void fatalError(ErrorMessages message) { 468 fatalError(message, scanner.currentLine(), -1); 469 throw new GeneratorException(); 470 } 471 472 void syntaxError(ErrorMessages message) { 473 Out.error(scanner.file, message, scanner.currentLine(), -1); 474 } 475 476 void syntaxError(ErrorMessages message, int line) { 477 Out.error(scanner.file, message, line, -1); 478 } 479 480 void syntaxError(ErrorMessages message, int line, int col) { 481 Out.error(scanner.file, message, line, col); 482 } 483 484 485 private boolean check(int type, char c) { 486 switch (type) { 487 case sym.JLETTERCLASS: 488 return Character.isJavaIdentifierStart(c); 489 490 case sym.JLETTERDIGITCLASS: 491 return Character.isJavaIdentifierPart(c); 492 493 case sym.LETTERCLASS: 494 return Character.isLetter(c); 495 496 case sym.DIGITCLASS: 497 return Character.isDigit(c); 498 499 case sym.UPPERCLASS: 500 return Character.isUpperCase(c); 501 502 case sym.LOWERCLASS: 503 return Character.isLowerCase(c); 504 505 default: return false; 506 } 507 } 508 509 private Vector makePreClass(int type) { 510 511 Vector result = new Vector(); 512 513 char c = 0; 514 char start = 0; 515 char last = charClasses.getMaxCharCode(); 516 517 boolean prev, current; 518 519 prev = check(type,'\u0000'); 520 521 for (c = 1; c < last; c++) { 522 523 current = check(type,c); 524 525 if (!prev && current) start = c; 526 if (prev && !current) { 527 result.addElement(new Interval(start, (char)(c-1))); 528 } 529 530 prev = current; 531 } 532 533 current = check(type,c); 537 538 if (!prev && current) result.addElement(new Interval(c,c)); 539 if (prev && current) result.addElement(new Interval(start, c)); 540 if (prev && !current) result.addElement(new Interval(start, (char)(c-1))); 541 542 return result; 543 } 544 545 private RegExp makeRepeat(RegExp r, int n1, int n2, int line, int col) { 546 547 if (n1 <= 0 && n2 <= 0) { 548 syntaxError(ErrorMessages.REPEAT_ZERO, line, col); 549 return null; 550 } 551 552 if (n1 > n2) { 553 syntaxError(ErrorMessages.REPEAT_GREATER, line, col); 554 return null; 555 } 556 557 int i; 558 RegExp result; 559 560 if (n1 > 0) { 561 result = r; 562 n1--; n2--; } 564 else { 565 result = new RegExp1(sym.QUESTION,r); 566 n2--; 567 } 568 569 for (i = 0; i < n1; i++) 570 result = new RegExp2(sym.CONCAT, result, r); 571 572 n2-= n1; 573 for (i = 0; i < n2; i++) 574 result = new RegExp2(sym.CONCAT, result, new RegExp1(sym.QUESTION,r)); 575 576 return result; 577 } 578 579 private RegExp makeNL() { 580 Vector list = new Vector(); 581 list.addElement(new Interval('\n','\r')); 582 list.addElement(new Interval('\u0085','\u0085')); 583 list.addElement(new Interval('\u2028','\u2029')); 584 585 charClasses.makeClass(list, false); 587 charClasses.makeClass('\n', false); 588 charClasses.makeClass('\r', false); 589 590 RegExp1 c = new RegExp1(sym.CCLASS, list); 591 Character n = new Character ('\n'); 592 Character r = new Character ('\r'); 593 594 return new RegExp2(sym.BAR, 595 c, 596 new RegExp2(sym.CONCAT, 597 new RegExp1(sym.CHAR, r), 598 new RegExp1(sym.CHAR, n))); 599 } 600 601 602 private final LexParse parser; 603 604 605 CUP$LexParse$actions(LexParse parser) { 606 this.parser = parser; 607 } 608 609 610 public final java_cup.runtime.Symbol CUP$LexParse$do_action( 611 int CUP$LexParse$act_num, 612 java_cup.runtime.lr_parser CUP$LexParse$parser, 613 java.util.Stack CUP$LexParse$stack, 614 int CUP$LexParse$top) 615 throws java.lang.Exception  616 { 617 618 java_cup.runtime.Symbol CUP$LexParse$result; 619 620 621 switch (CUP$LexParse$act_num) 622 { 623 624 case 71: { 626 Vector RESULT = null; 627 RESULT = makePreClass(sym.LOWERCLASS); 628 CUP$LexParse$result = new java_cup.runtime.Symbol(15, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 629 } 630 return CUP$LexParse$result; 631 632 633 case 70: { 635 Vector RESULT = null; 636 RESULT = makePreClass(sym.UPPERCLASS); 637 CUP$LexParse$result = new java_cup.runtime.Symbol(15, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 638 } 639 return CUP$LexParse$result; 640 641 642 case 69: { 644 Vector RESULT = null; 645 RESULT = makePreClass(sym.DIGITCLASS); 646 CUP$LexParse$result = new java_cup.runtime.Symbol(15, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 647 } 648 return CUP$LexParse$result; 649 650 651 case 68: { 653 Vector RESULT = null; 654 RESULT = makePreClass(sym.LETTERCLASS); 655 CUP$LexParse$result = new java_cup.runtime.Symbol(15, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 656 } 657 return CUP$LexParse$result; 658 659 660 case 67: { 662 Vector RESULT = null; 663 RESULT = makePreClass(sym.JLETTERDIGITCLASS); 664 CUP$LexParse$result = new java_cup.runtime.Symbol(15, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 665 } 666 return CUP$LexParse$result; 667 668 669 case 66: { 671 Vector RESULT = null; 672 RESULT = makePreClass(sym.JLETTERCLASS); 673 CUP$LexParse$result = new java_cup.runtime.Symbol(15, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 674 } 675 return CUP$LexParse$result; 676 677 678 case 65: { 680 Interval RESULT = null; 681 int cleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; 682 int cright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; 683 Character c = (Character )((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; 684 RESULT = new Interval(c.charValue(), c.charValue()); 685 CUP$LexParse$result = new java_cup.runtime.Symbol(11, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 686 } 687 return CUP$LexParse$result; 688 689 690 case 64: { 692 Interval RESULT = null; 693 int c1left = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).left; 694 int c1right = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).right; 695 Character c1 = (Character )((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).value; 696 int c2left = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; 697 int c2right = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; 698 Character c2 = (Character )((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; 699 RESULT = new Interval(c1.charValue(), c2.charValue()); 700 CUP$LexParse$result = new java_cup.runtime.Symbol(11, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 701 } 702 return CUP$LexParse$result; 703 704 705 case 63: { 707 Vector RESULT = null; 708 int identleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; 709 int identright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; 710 String ident = (String )((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; 711 712 syntaxError(ErrorMessages.CHARCLASS_MACRO, identleft, identright); 713 714 CUP$LexParse$result = new java_cup.runtime.Symbol(14, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 715 } 716 return CUP$LexParse$result; 717 718 719 case 62: { 721 Vector RESULT = null; 722 int listleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left; 723 int listright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right; 724 Vector list = (Vector)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value; 725 int identleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; 726 int identright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; 727 String ident = (String )((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; 728 729 syntaxError(ErrorMessages.CHARCLASS_MACRO, identleft, identright); 730 731 CUP$LexParse$result = new java_cup.runtime.Symbol(14, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 732 } 733 return CUP$LexParse$result; 734 735 736 case 61: { 738 Vector RESULT = null; 739 int sleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; 740 int sright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; 741 String s = (String )((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; 742 743 RESULT = new Vector(); 744 for (int i = 0; i < s.length(); i++) 745 RESULT.addElement(new Interval(s.charAt(i),s.charAt(i))); 746 747 CUP$LexParse$result = new java_cup.runtime.Symbol(14, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 748 } 749 return CUP$LexParse$result; 750 751 752 case 60: { 754 Vector RESULT = null; 755 int listleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left; 756 int listright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right; 757 Vector list = (Vector)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value; 758 int sleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; 759 int sright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; 760 String s = (String )((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; 761 762 for (int i = 0; i < s.length(); i++) 763 list.addElement(new Interval(s.charAt(i),s.charAt(i))); 764 RESULT = list; 765 766 CUP$LexParse$result = new java_cup.runtime.Symbol(14, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 767 } 768 return CUP$LexParse$result; 769 770 771 case 59: { 773 Vector RESULT = null; 774 int listleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; 775 int listright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; 776 Vector list = (Vector)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; 777 RESULT = list; 778 CUP$LexParse$result = new java_cup.runtime.Symbol(14, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 779 } 780 return CUP$LexParse$result; 781 782 783 case 58: { 785 Vector RESULT = null; 786 int listleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left; 787 int listright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right; 788 Vector list = (Vector)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value; 789 int plistleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; 790 int plistright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; 791 Vector plist = (Vector)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; 792 793 for (Enumeration e = plist.elements(); e.hasMoreElements();) 794 list.addElement(e.nextElement()); 795 RESULT = list; 796 797 CUP$LexParse$result = new java_cup.runtime.Symbol(14, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 798 } 799 return CUP$LexParse$result; 800 801 802 case 57: { 804 Vector RESULT = null; 805 int elemleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; 806 int elemright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; 807 Interval elem = (Interval)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; 808 809 Vector list = new Vector(); 810 list.addElement(elem); 811 RESULT = list; 812 813 CUP$LexParse$result = new java_cup.runtime.Symbol(14, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 814 } 815 return CUP$LexParse$result; 816 817 818 case 56: { 820 Vector RESULT = null; 821 int listleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left; 822 int listright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right; 823 Vector list = (Vector)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value; 824 int elemleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; 825 int elemright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; 826 Interval elem = (Interval)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; 827 828 list.addElement(elem); 829 RESULT = list; 830 831 CUP$LexParse$result = new java_cup.runtime.Symbol(14, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 832 } 833 return CUP$LexParse$result; 834 835 836 case 55: { 838 RegExp RESULT = null; 839 int listleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left; 840 int listright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right; 841 Vector list = (Vector)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value; 842 int closeleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; 843 int closeright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; 844 Object close = (Object )((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; 845 846 try { 847 list.addElement(new Interval('-','-')); 848 charClasses.makeClassNot(list, Options.jlex && scanner.caseless); 849 } 850 catch (CharClassException e) { 851 syntaxError(ErrorMessages.CHARSET_2_SMALL, closeleft, closeright); 852 } 853 RESULT = new RegExp1(sym.CCLASSNOT,list); 854 855 CUP$LexParse$result = new java_cup.runtime.Symbol(9, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-4)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 856 } 857 return CUP$LexParse$result; 858 859 860 case 54: { 862 RegExp RESULT = null; 863 int listleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left; 864 int listright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right; 865 Vector list = (Vector)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value; 866 int closeleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; 867 int closeright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; 868 Object close = (Object )((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; 869 870 try { 871 list.addElement(new Interval('-','-')); 872 charClasses.makeClass(list, Options.jlex && scanner.caseless); 873 } 874 catch (CharClassException e) { 875 syntaxError(ErrorMessages.CHARSET_2_SMALL, closeleft, closeright); 876 } 877 RESULT = new RegExp1(sym.CCLASS,list); 878 879 CUP$LexParse$result = new java_cup.runtime.Symbol(9, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-3)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 880 } 881 return CUP$LexParse$result; 882 883 884 case 53: { 886 RegExp RESULT = null; 887 int listleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left; 888 int listright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right; 889 Vector list = (Vector)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value; 890 int closeleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; 891 int closeright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; 892 Object close = (Object )((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; 893 894 try { 895 charClasses.makeClassNot(list, Options.jlex && scanner.caseless); 896 } 897 catch (CharClassException e) { 898 syntaxError(ErrorMessages.CHARSET_2_SMALL, closeleft, closeright); 899 } 900 RESULT = new RegExp1(sym.CCLASSNOT,list); 901 902 CUP$LexParse$result = new java_cup.runtime.Symbol(9, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-3)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 903 } 904 return CUP$LexParse$result; 905 906 907 case 52: { 909 RegExp RESULT = null; 910 int closeleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; 911 int closeright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; 912 Object close = (Object )((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; 913 914 Vector list = new Vector(); 915 list.addElement(new Interval((char)0,CharClasses.maxChar)); 916 try { 917 charClasses.makeClass(list, false); 918 } 919 catch (CharClassException e) { 920 syntaxError(ErrorMessages.CHARSET_2_SMALL, closeleft, closeright); 921 } 922 RESULT = new RegExp1(sym.CCLASS,list); 923 924 CUP$LexParse$result = new java_cup.runtime.Symbol(9, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 925 } 926 return CUP$LexParse$result; 927 928 929 case 51: { 931 RegExp RESULT = null; 932 int listleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left; 933 int listright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right; 934 Vector list = (Vector)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value; 935 int closeleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; 936 int closeright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; 937 Object close = (Object )((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; 938 939 try { 940 charClasses.makeClass(list, Options.jlex && scanner.caseless); 941 } 942 catch (CharClassException e) { 943 syntaxError(ErrorMessages.CHARSET_2_SMALL, closeleft, closeright); 944 } 945 RESULT = new RegExp1(sym.CCLASS,list); 946 947 CUP$LexParse$result = new java_cup.runtime.Symbol(9, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 948 } 949 return CUP$LexParse$result; 950 951 952 case 50: { 954 RegExp RESULT = null; 955 956 RESULT = new RegExp1(sym.CCLASS,null); 957 958 CUP$LexParse$result = new java_cup.runtime.Symbol(9, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 959 } 960 return CUP$LexParse$result; 961 962 963 case 49: { 965 RegExp RESULT = null; 966 int cleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; 967 int cright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; 968 Character c = (Character )((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; 969 970 try { 971 if ( scanner.caseless ) { 972 charClasses.makeClass(c.charValue(), true); 973 RESULT = new RegExp1(sym.CHAR_I, c); 974 } 975 else { 976 charClasses.makeClass(c.charValue(), false); 977 RESULT = new RegExp1(sym.CHAR, c); 978 } 979 } 980 catch (CharClassException e) { 981 syntaxError(ErrorMessages.CS2SMALL_CHAR, cleft, cright); 982 } 983 984 CUP$LexParse$result = new java_cup.runtime.Symbol(8, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 985 } 986 return CUP$LexParse$result; 987 988 989 case 48: { 991 RegExp RESULT = null; 992 993 Vector any = new Vector(); 994 any.addElement(new Interval('\n','\n')); 995 charClasses.makeClass('\n', false); 997 RESULT = new RegExp1(sym.CCLASSNOT, any); 998 999 CUP$LexParse$result = new java_cup.runtime.Symbol(8, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 1000 } 1001 return CUP$LexParse$result; 1002 1003 1004 case 47: { 1006 RegExp RESULT = null; 1007 int strleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; 1008 int strright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; 1009 String str = (String )((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; 1010 1011 try { 1012 if ( scanner.caseless ) { 1013 charClasses.makeClass(str, true); 1014 RESULT = new RegExp1(sym.STRING_I, str); 1015 } 1016 else { 1017 charClasses.makeClass(str, false); 1018 RESULT = new RegExp1(sym.STRING, str); 1019 } 1020 } 1021 catch (CharClassException e) { 1022 syntaxError(ErrorMessages.CS2SMALL_STRING, strleft, strright); 1023 } 1024 1025 1026 CUP$LexParse$result = new java_cup.runtime.Symbol(8, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 1027 } 1028 return CUP$LexParse$result; 1029 1030 1031 case 46: { 1033 RegExp RESULT = null; 1034 int listleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; 1035 int listright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; 1036 Vector list = (Vector)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; 1037 1038 try { 1039 charClasses.makeClass(list, false); 1041 } 1042 catch (CharClassException e) { 1043 syntaxError(ErrorMessages.CHARSET_2_SMALL, listleft); 1044 } 1045 RESULT = new RegExp1(sym.CCLASS, list); 1046 1047 CUP$LexParse$result = new java_cup.runtime.Symbol(8, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 1048 } 1049 return CUP$LexParse$result; 1050 1051 1052 case 45: { 1054 RegExp RESULT = null; 1055 int cleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; 1056 int cright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; 1057 RegExp c = (RegExp)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; 1058 RESULT = c; 1059 CUP$LexParse$result = new java_cup.runtime.Symbol(8, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 1060 } 1061 return CUP$LexParse$result; 1062 1063 1064 case 44: { 1066 RegExp RESULT = null; 1067 int identleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; 1068 int identright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; 1069 String ident = (String )((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; 1070 1071 if ( !scanner.macroDefinition ) { 1072 if ( ! macros.markUsed(ident) ) 1073 throw new ScannerException(scanner.file, ErrorMessages.MACRO_UNDECL, 1074 identleft, identright); 1075 } 1076 RESULT = new RegExp1(sym.MACROUSE, ident); 1077 1078 CUP$LexParse$result = new java_cup.runtime.Symbol(8, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 1079 } 1080 return CUP$LexParse$result; 1081 1082 1083 case 43: { 1085 RegExp RESULT = null; 1086 int rleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left; 1087 int rright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right; 1088 RegExp r = (RegExp)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value; 1089 RESULT = r; 1090 CUP$LexParse$result = new java_cup.runtime.Symbol(8, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 1091 } 1092 return CUP$LexParse$result; 1093 1094 1095 case 42: { 1097 RegExp RESULT = null; 1098 int rleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-3)).left; 1099 int rright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-3)).right; 1100 RegExp r = (RegExp)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-3)).value; 1101 int n1left = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).left; 1102 int n1right = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).right; 1103 Integer n1 = (Integer )((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).value; 1104 int n2left = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left; 1105 int n2right = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right; 1106 Integer n2 = (Integer )((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value; 1107 RESULT = makeRepeat(r, n1.intValue(), n2.intValue(), n1left, n2right); 1108 CUP$LexParse$result = new java_cup.runtime.Symbol(8, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-3)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 1109 } 1110 return CUP$LexParse$result; 1111 1112 1113 case 41: { 1115 RegExp RESULT = null; 1116 int rleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).left; 1117 int rright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).right; 1118 RegExp r = (RegExp)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).value; 1119 int nleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left; 1120 int nright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right; 1121 Integer n = (Integer )((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value; 1122 int bleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; 1123 int bright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; 1124 Object b = (Object )((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; 1125 RESULT = makeRepeat(r, n.intValue(), n.intValue(), bleft, bright); 1126 CUP$LexParse$result = new java_cup.runtime.Symbol(8, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 1127 } 1128 return CUP$LexParse$result; 1129 1130 1131 case 40: { 1133 RegExp RESULT = null; 1134 int rleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left; 1135 int rright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right; 1136 RegExp r = (RegExp)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value; 1137 RESULT = new RegExp1(sym.QUESTION, r); 1138 CUP$LexParse$result = new java_cup.runtime.Symbol(8, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 1139 } 1140 return CUP$LexParse$result; 1141 1142 1143 case 39: { 1145 RegExp RESULT = null; 1146 int rleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left; 1147 int rright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right; 1148 RegExp r = (RegExp)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value; 1149 RESULT = new RegExp1(sym.PLUS, r); 1150 CUP$LexParse$result = new java_cup.runtime.Symbol(8, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 1151 } 1152 return CUP$LexParse$result; 1153 1154 1155 case 38: { 1157 RegExp RESULT = null; 1158 int rleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left; 1159 int rright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right; 1160 RegExp r = (RegExp)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value; 1161 RESULT = new RegExp1(sym.STAR, r); 1162 CUP$LexParse$result = new java_cup.runtime.Symbol(8, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 1163 } 1164 return CUP$LexParse$result; 1165 1166 1167 case 37: { 1169 RegExp RESULT = null; 1170 int rleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; 1171 int rright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; 1172 RegExp r = (RegExp)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; 1173 RESULT = new RegExp1(sym.TILDE, r); 1174 CUP$LexParse$result = new java_cup.runtime.Symbol(7, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 1175 } 1176 return CUP$LexParse$result; 1177 1178 1179 case 36: { 1181 RegExp RESULT = null; 1182 int rleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; 1183 int rright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; 1184 RegExp r = (RegExp)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; 1185 RESULT = new RegExp1(sym.BANG, r); 1186 CUP$LexParse$result = new java_cup.runtime.Symbol(7, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 1187 } 1188 return CUP$LexParse$result; 1189 1190 1191 case 35: { 1193 RegExp RESULT = null; 1194 int rleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; 1195 int rright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; 1196 RegExp r = (RegExp)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; 1197 RESULT = r; 1198 CUP$LexParse$result = new java_cup.runtime.Symbol(7, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 1199 } 1200 return CUP$LexParse$result; 1201 1202 1203 case 34: { 1205 RegExp RESULT = null; 1206 int rleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; 1207 int rright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; 1208 RegExp r = (RegExp)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; 1209 RESULT = r; 1210 CUP$LexParse$result = new java_cup.runtime.Symbol(6, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 1211 } 1212 return CUP$LexParse$result; 1213 1214 1215 case 33: { 1217 RegExp RESULT = null; 1218 int r1left = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left; 1219 int r1right = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right; 1220 RegExp r1 = (RegExp)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value; 1221 int r2left = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; 1222 int r2right = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; 1223 RegExp r2 = (RegExp)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; 1224 RESULT = new RegExp2(sym.CONCAT, r1, r2); 1225 CUP$LexParse$result = new java_cup.runtime.Symbol(6, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 1226 } 1227 return CUP$LexParse$result; 1228 1229 1230 case 32: { 1232 RegExp RESULT = null; 1233 int bleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; 1234 int bright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; 1235 Object b = (Object )((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; 1236 syntaxError(ErrorMessages.REGEXP_EXPECTED, bleft, bright); 1237 CUP$LexParse$result = new java_cup.runtime.Symbol(5, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 1238 } 1239 return CUP$LexParse$result; 1240 1241 1242 case 31: { 1244 RegExp RESULT = null; 1245 int rleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; 1246 int rright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; 1247 RegExp r = (RegExp)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; 1248 RESULT = r; 1249 CUP$LexParse$result = new java_cup.runtime.Symbol(5, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 1250 } 1251 return CUP$LexParse$result; 1252 1253 1254 case 30: { 1256 RegExp RESULT = null; 1257 int r1left = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).left; 1258 int r1right = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).right; 1259 RegExp r1 = (RegExp)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).value; 1260 int r2left = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; 1261 int r2right = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; 1262 RegExp r2 = (RegExp)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; 1263 RESULT = new RegExp2(sym.BAR, r1, r2); 1264 CUP$LexParse$result = new java_cup.runtime.Symbol(5, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 1265 } 1266 return CUP$LexParse$result; 1267 1268 1269 case 29: { 1271 Boolean RESULT = null; 1272 RESULT = new Boolean (false); 1273 CUP$LexParse$result = new java_cup.runtime.Symbol(17, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 1274 } 1275 return CUP$LexParse$result; 1276 1277 1278 case 28: { 1280 Boolean RESULT = null; 1281 charClasses.makeClass('\n', false); 1283 RESULT = new Boolean (true); 1284 CUP$LexParse$result = new java_cup.runtime.Symbol(17, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 1285 } 1286 return CUP$LexParse$result; 1287 1288 1289 case 27: { 1291 Vector RESULT = null; 1292 int cleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; 1293 int cright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; 1294 Object c = (Object )((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; 1295 syntaxError(ErrorMessages.REGEXP_EXPECTED, cleft, cright+1); 1296 CUP$LexParse$result = new java_cup.runtime.Symbol(12, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 1297 } 1298 return CUP$LexParse$result; 1299 1300 1301 case 26: { 1303 Vector RESULT = null; 1304 int idleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; 1305 int idright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; 1306 String id = (String )((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; 1307 1308 Vector list = new Vector(); 1309 stateNumber = scanner.states.getNumber( id ); 1310 if ( stateNumber != null ) 1311 list.addElement( stateNumber ); 1312 else { 1313 throw new ScannerException(scanner.file, ErrorMessages.LEXSTATE_UNDECL, 1314 idleft, idright); 1315 } 1316 RESULT = list; 1317 1318 CUP$LexParse$result = new java_cup.runtime.Symbol(12, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 1319 } 1320 return CUP$LexParse$result; 1321 1322 1323 case 25: { 1325 Vector RESULT = null; 1326 int idleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).left; 1327 int idright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).right; 1328 String id = (String )((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).value; 1329 int listleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; 1330 int listright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; 1331 Vector list = (Vector)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; 1332 1333 stateNumber = scanner.states.getNumber( id ); 1334 if ( stateNumber != null ) 1335 list.addElement( stateNumber ); 1336 else { 1337 throw new ScannerException(scanner.file, ErrorMessages.LEXSTATE_UNDECL, 1338 idleft, idright); 1339 } 1340 RESULT = list; 1341 1342 CUP$LexParse$result = new java_cup.runtime.Symbol(12, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 1343 } 1344 return CUP$LexParse$result; 1345 1346 1347 case 24: { 1349 Vector RESULT = null; 1350 RESULT = new Vector(); 1351 CUP$LexParse$result = new java_cup.runtime.Symbol(13, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 1352 } 1353 return CUP$LexParse$result; 1354 1355 1356 case 23: { 1358 Vector RESULT = null; 1359 int listleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left; 1360 int listright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right; 1361 Vector list = (Vector)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value; 1362 RESULT = list; 1363 CUP$LexParse$result = new java_cup.runtime.Symbol(13, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 1364 } 1365 return CUP$LexParse$result; 1366 1367 1368 case 22: { 1370 Action RESULT = null; 1371 RESULT = null; 1372 CUP$LexParse$result = new java_cup.runtime.Symbol(18, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 1373 } 1374 return CUP$LexParse$result; 1375 1376 1377 case 21: { 1379 Action RESULT = null; 1380 int aleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; 1381 int aright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; 1382 Action a = (Action)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; 1383 RESULT = a; 1384 CUP$LexParse$result = new java_cup.runtime.Symbol(18, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 1385 } 1386 return CUP$LexParse$result; 1387 1388 1389 case 20: { 1391 RegExp RESULT = null; 1392 int sleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left; 1393 int sright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right; 1394 RegExp s = (RegExp)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value; 1395 RESULT = new RegExp2(sym.CONCAT, s, makeNL()); 1396 CUP$LexParse$result = new java_cup.runtime.Symbol(10, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 1397 } 1398 return CUP$LexParse$result; 1399 1400 1401 case 19: { 1403 RegExp RESULT = null; 1404 RESULT = null; 1405 CUP$LexParse$result = new java_cup.runtime.Symbol(10, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 1406 } 1407 return CUP$LexParse$result; 1408 1409 1410 case 18: { 1412 RegExp RESULT = null; 1413 int rleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; 1414 int rright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; 1415 RegExp r = (RegExp)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; 1416 RESULT = r; 1417 CUP$LexParse$result = new java_cup.runtime.Symbol(10, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 1418 } 1419 return CUP$LexParse$result; 1420 1421 1422 case 17: { 1424 RegExp RESULT = null; 1425 RESULT = makeNL(); 1426 CUP$LexParse$result = new java_cup.runtime.Symbol(10, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 1427 } 1428 return CUP$LexParse$result; 1429 1430 1431 case 16: { 1433 Integer RESULT = null; 1434 1435 CUP$LexParse$result = new java_cup.runtime.Symbol(3, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 1436 } 1437 return CUP$LexParse$result; 1438 1439 1440 case 15: { 1442 Integer RESULT = null; 1443 int sleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).left; 1444 int sright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).right; 1445 Vector s = (Vector)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).value; 1446 int aleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; 1447 int aright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; 1448 Action a = (Action)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; 1449 RESULT = new Integer (regExps.insert(s, a)); 1450 CUP$LexParse$result = new java_cup.runtime.Symbol(3, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 1451 } 1452 return CUP$LexParse$result; 1453 1454 1455 case 14: { 1457 Integer RESULT = null; 1458 int sleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-4)).left; 1459 int sright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-4)).right; 1460 Vector s = (Vector)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-4)).value; 1461 int bolleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-3)).left; 1462 int bolright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-3)).right; 1463 Boolean bol = (Boolean )((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-3)).value; 1464 int rleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).left; 1465 int rright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).right; 1466 RegExp r = (RegExp)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).value; 1467 int lleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left; 1468 int lright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right; 1469 RegExp l = (RegExp)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value; 1470 int aleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; 1471 int aright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; 1472 Action a = (Action)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; 1473 RESULT = new Integer (regExps.insert(rleft, s, r, a, bol, l)); 1474 CUP$LexParse$result = new java_cup.runtime.Symbol(3, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-4)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 1475 } 1476 return CUP$LexParse$result; 1477 1478 1479 case 13: { 1481 Vector RESULT = null; 1482 int rleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; 1483 int rright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; 1484 Integer r = (Integer )((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; 1485 RESULT = new Vector(); RESULT.addElement(r); 1486 CUP$LexParse$result = new java_cup.runtime.Symbol(16, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 1487 } 1488 return CUP$LexParse$result; 1489 1490 1491 case 12: { 1493 Vector RESULT = null; 1494 int statesleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-4)).left; 1495 int statesright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-4)).right; 1496 Vector states = (Vector)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-4)).value; 1497 int rlistleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left; 1498 int rlistright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right; 1499 Vector rlist = (Vector)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value; 1500 1501 Enumeration rs = rlist.elements(); 1502 while ( rs.hasMoreElements() ) { 1503 Integer elem = (Integer ) rs.nextElement(); 1504 regExps.addStates( elem.intValue(), states ); 1505 } 1506 RESULT = rlist; 1507 1508 CUP$LexParse$result = new java_cup.runtime.Symbol(16, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-5)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 1509 } 1510 return CUP$LexParse$result; 1511 1512 1513 case 11: { 1515 Vector RESULT = null; 1516 int rlist1left = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-6)).left; 1517 int rlist1right = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-6)).right; 1518 Vector rlist1 = (Vector)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-6)).value; 1519 int statesleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-4)).left; 1520 int statesright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-4)).right; 1521 Vector states = (Vector)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-4)).value; 1522 int rlist2left = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left; 1523 int rlist2right = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right; 1524 Vector rlist2 = (Vector)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value; 1525 1526 Enumeration rs = rlist2.elements(); 1527 while ( rs.hasMoreElements() ) { 1528 Integer elem = (Integer ) rs.nextElement(); 1529 regExps.addStates( elem.intValue(), states ); 1530 rlist1.addElement( elem ); 1531 } 1532 RESULT = rlist1; 1533 1534 CUP$LexParse$result = new java_cup.runtime.Symbol(16, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-6)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 1535 } 1536 return CUP$LexParse$result; 1537 1538 1539 case 10: { 1541 Vector RESULT = null; 1542 int rlistleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left; 1543 int rlistright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right; 1544 Vector rlist = (Vector)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value; 1545 int rleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; 1546 int rright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; 1547 Integer r = (Integer )((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; 1548 rlist.addElement(r); RESULT = rlist; 1549 CUP$LexParse$result = new java_cup.runtime.Symbol(16, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 1550 } 1551 return CUP$LexParse$result; 1552 1553 1554 case 9: { 1556 Object RESULT = null; 1557 int eleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left; 1558 int eright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right; 1559 Object e = (Object )((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).value; 1560 syntaxError(ErrorMessages.REGEXP_EXPECTED, eleft, eright); 1561 CUP$LexParse$result = new java_cup.runtime.Symbol(2, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 1562 } 1563 return CUP$LexParse$result; 1564 1565 1566 case 8: { 1568 Object RESULT = null; 1569 int nameleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-3)).left; 1570 int nameright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-3)).right; 1571 String name = (String )((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-3)).value; 1572 int definitionleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left; 1573 int definitionright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right; 1574 RegExp definition = (RegExp)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value; 1575 macros.insert(name, definition); 1576 CUP$LexParse$result = new java_cup.runtime.Symbol(2, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-3)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 1577 } 1578 return CUP$LexParse$result; 1579 1580 1581 case 7: { 1583 Object RESULT = null; 1584 charClasses.setMaxCharCode(0xFFFF); 1585 CUP$LexParse$result = new java_cup.runtime.Symbol(2, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 1586 } 1587 return CUP$LexParse$result; 1588 1589 1590 case 6: { 1592 Object RESULT = null; 1593 charClasses.setMaxCharCode(255); 1594 CUP$LexParse$result = new java_cup.runtime.Symbol(2, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 1595 } 1596 return CUP$LexParse$result; 1597 1598 1599 case 5: { 1601 Object RESULT = null; 1602 1603 CUP$LexParse$result = new java_cup.runtime.Symbol(1, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 1604 } 1605 return CUP$LexParse$result; 1606 1607 1608 case 4: { 1610 Object RESULT = null; 1611 1612 CUP$LexParse$result = new java_cup.runtime.Symbol(1, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 1613 } 1614 return CUP$LexParse$result; 1615 1616 1617 case 3: { 1619 Object RESULT = null; 1620 1621 CUP$LexParse$result = new java_cup.runtime.Symbol(1, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 1622 } 1623 return CUP$LexParse$result; 1624 1625 1626 case 2: { 1628 NFA RESULT = null; 1629 1630 fatalError(ErrorMessages.NO_LEX_SPEC); 1631 1632 CUP$LexParse$result = new java_cup.runtime.Symbol(4, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 1633 } 1634 return CUP$LexParse$result; 1635 1636 1637 case 1: { 1639 NFA RESULT = null; 1640 1641 scanner.t.stop(); 1642 1643 Out.checkErrors(); 1644 1645 Out.time(ErrorMessages.PARSING_TOOK, t); 1646 1647 macros.expand(); 1648 Enumeration unused = macros.unused(); 1649 while ( unused.hasMoreElements() ) { 1650 Out.warning("Macro \""+unused.nextElement()+"\" has been declared but never used."); 1651 } 1652 1653 SemCheck.check(regExps, macros, charClasses.getMaxCharCode(), scanner.file); 1654 1655 regExps.checkActions(); 1656 1657 if (Options.dump) charClasses.dump(); 1658 1659 Out.print("Constructing NFA : "); 1660 1661 t.start(); 1662 int num = regExps.getNum(); 1663 1664 RESULT = new NFA(charClasses.getNumClasses(), 1665 scanner, regExps, macros, charClasses); 1666 1667 eofActions.setNumLexStates(scanner.states.number()); 1668 1669 for (int i = 0; i < num; i++) { 1670 if (regExps.isEOF(i)) 1671 eofActions.add( regExps.getStates(i), regExps.getAction(i) ); 1672 else 1673 RESULT.addRegExp(i); 1674 } 1675 1676 if (scanner.standalone) RESULT.addStandaloneRule(); 1677 t.stop(); 1678 1679 Out.time(""); 1680 Out.time(ErrorMessages.NFA_TOOK, t); 1681 1682 1683 CUP$LexParse$result = new java_cup.runtime.Symbol(4, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-3)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 1684 } 1685 return CUP$LexParse$result; 1686 1687 1688 case 0: { 1690 Object RESULT = null; 1691 int start_valleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left; 1692 int start_valright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right; 1693 NFA start_val = (NFA)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value; 1694 RESULT = start_val; 1695 CUP$LexParse$result = new java_cup.runtime.Symbol(0, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-0)).right, RESULT); 1696 } 1697 1698 CUP$LexParse$parser.done_parsing(); 1699 return CUP$LexParse$result; 1700 1701 1702 default: 1703 throw new Exception ( 1704 "Invalid action number found in internal parse table"); 1705 1706 } 1707 } 1708} 1709 1710 | Popular Tags |