1 2 7 package ro.infoiasi.donald.compiler.parser; 8 9 import ro.infoiasi.donald.compiler.cfg.*; 10 import java.util.*; 11 12 15 public class SpecParser extends java_cup.runtime.lr_parser { 16 17 18 public SpecParser() {super();} 19 20 21 public SpecParser(java_cup.runtime.Scanner s) {super(s);} 22 23 24 protected static final short _production_table[][] = 25 unpackFromStrings(new String [] { 26 "\000\114\000\002\003\011\000\002\002\004\000\002\004" + 27 "\005\000\002\004\003\000\002\005\004\000\002\005\003" + 28 "\000\002\006\005\000\002\007\005\000\002\007\003\000" + 29 "\002\010\004\000\002\010\003\000\002\011\003\000\002" + 30 "\011\003\000\002\011\003\000\002\011\003\000\002\012" + 31 "\006\000\002\013\006\000\002\014\006\000\002\015\006" + 32 "\000\002\016\004\000\002\016\003\000\002\017\004\000" + 33 "\002\017\005\000\002\017\004\000\002\020\004\000\002" + 34 "\052\002\000\002\020\006\000\002\021\004\000\002\053" + 35 "\002\000\002\021\006\000\002\022\003\000\002\022\005" + 36 "\000\002\023\005\000\002\023\003\000\002\024\005\000" + 37 "\002\024\003\000\002\025\003\000\002\025\003\000\002" + 38 "\026\004\000\002\026\003\000\002\054\002\000\002\027" + 39 "\007\000\002\055\002\000\002\027\007\000\002\056\002" + 40 "\000\002\027\007\000\002\030\005\000\002\030\003\000" + 41 "\002\031\006\000\002\031\002\000\002\032\004\000\002" + 42 "\032\003\000\002\057\002\000\002\033\007\000\002\060" + 43 "\002\000\002\034\006\000\002\034\003\000\002\035\005" + 44 "\000\002\035\003\000\002\036\004\000\002\036\003\000" + 45 "\002\037\004\000\002\037\003\000\002\040\004\000\002" + 46 "\040\003\000\002\041\003\000\002\047\005\000\002\047" + 47 "\003\000\002\042\003\000\002\043\003\000\002\044\003" + 48 "\000\002\045\003\000\002\046\003\000\002\050\003\000" + 49 "\002\050\003\000\002\051\002" }); 50 51 52 public short[][] production_table() {return _production_table;} 53 54 55 protected static final short[][] _action_table = 56 unpackFromStrings(new String [] { 57 "\000\205\000\024\004\007\005\uffb6\006\uffb6\007\uffb6\011" + 58 "\uffb6\012\uffb6\014\uffb6\015\uffb6\016\uffb6\001\002\000\022" + 59 "\005\uffb6\006\uffb6\007\uffb6\011\uffb6\012\uffb6\014\uffb6\015" + 60 "\uffb6\016\uffb6\001\002\000\004\002\015\001\002\000\022" + 61 "\005\ufffe\006\ufffe\007\ufffe\011\ufffe\012\ufffe\014\ufffe\015" + 62 "\ufffe\016\ufffe\001\002\000\004\036\010\001\002\000\006" + 63 "\030\uffbe\032\uffbe\001\002\000\006\030\012\032\013\001" + 64 "\002\000\022\005\uffff\006\uffff\007\uffff\011\uffff\012\uffff" + 65 "\014\uffff\015\uffff\016\uffff\001\002\000\004\036\014\001" + 66 "\002\000\012\030\uffbf\032\uffbf\034\uffbf\036\uffbf\001\002" + 67 "\000\004\002\000\001\002\000\022\005\021\006\uffb6\007" + 68 "\uffb6\011\uffb6\012\uffb6\014\uffb6\015\uffb6\016\uffb6\001\002" + 69 "\000\022\005\ufffc\006\ufffc\007\ufffc\011\ufffc\012\ufffc\014" + 70 "\ufffc\015\ufffc\016\ufffc\001\002\000\022\005\ufffd\006\ufffd" + 71 "\007\ufffd\011\ufffd\012\ufffd\014\ufffd\015\ufffd\016\ufffd\001" + 72 "\002\000\004\036\010\001\002\000\020\006\025\007\026" + 73 "\011\037\012\040\014\030\015\034\016\033\001\002\000" + 74 "\020\006\ufff7\007\ufff7\011\ufff7\012\ufff7\014\ufff7\015\ufff7" + 75 "\016\ufff7\001\002\000\020\006\ufff8\007\ufff8\011\ufff8\012" + 76 "\ufff8\014\ufff8\015\ufff8\016\ufff8\001\002\000\004\010\200" + 77 "\001\002\000\004\010\175\001\002\000\020\006\ufff5\007" + 78 "\ufff5\011\ufff5\012\ufff5\014\ufff5\015\ufff5\016\ufff5\001\002" + 79 "\000\004\015\173\001\002\000\016\014\uffed\015\uffed\016" + 80 "\uffed\017\uffed\023\uffed\036\uffed\001\002\000\020\006\ufff3" + 81 "\007\ufff3\011\ufff3\012\ufff3\014\ufff3\015\ufff3\016\ufff3\001" + 82 "\002\000\004\036\160\001\002\000\004\036\140\001\002" + 83 "\000\020\006\ufff6\007\ufff6\011\ufff6\012\ufff6\014\ufff6\015" + 84 "\ufff6\016\ufff6\001\002\000\016\014\030\015\034\016\033" + 85 "\017\054\023\uffb6\036\uffb6\001\002\000\004\013\047\001" + 86 "\002\000\004\013\042\001\002\000\020\006\ufff4\007\ufff4" + 87 "\011\ufff4\012\ufff4\014\ufff4\015\ufff4\016\ufff4\001\002\000" + 88 "\004\037\043\001\002\000\022\006\uffb6\007\uffb6\011\uffb6" + 89 "\012\uffb6\014\uffb6\015\uffb6\016\uffb6\030\045\001\002\000" + 90 "\020\006\uffef\007\uffef\011\uffef\012\uffef\014\uffef\015\uffef" + 91 "\016\uffef\001\002\000\020\006\uffb8\007\uffb8\011\uffb8\012" + 92 "\uffb8\014\uffb8\015\uffb8\016\uffb8\001\002\000\020\006\uffb7" + 93 "\007\uffb7\011\uffb7\012\uffb7\014\uffb7\015\uffb7\016\uffb7\001" + 94 "\002\000\004\037\050\001\002\000\022\006\uffb6\007\uffb6" + 95 "\011\uffb6\012\uffb6\014\uffb6\015\uffb6\016\uffb6\030\045\001" + 96 "\002\000\020\006\ufff0\007\ufff0\011\ufff0\012\ufff0\014\ufff0" + 97 "\015\ufff0\016\ufff0\001\002\000\006\023\102\036\uffd0\001" + 98 "\002\000\010\017\uffda\023\uffda\036\uffda\001\002\000\010" + 99 "\020\061\021\062\022\063\001\002\000\016\014\uffee\015" + 100 "\uffee\016\uffee\017\uffee\023\uffee\036\uffee\001\002\000\006" + 101 "\023\uffdc\036\uffdc\001\002\000\010\017\054\023\uffdd\036" + 102 "\uffdd\001\002\000\010\017\uffdb\023\uffdb\036\uffdb\001\002" + 103 "\000\004\036\uffd9\001\002\000\004\036\uffd7\001\002\000" + 104 "\004\036\uffd5\001\002\000\004\036\065\001\002\000\010" + 105 "\026\uffbb\027\uffbb\030\uffbb\001\002\000\006\027\uffd2\030" + 106 "\uffd2\001\002\000\006\027\070\030\071\001\002\000\004" + 107 "\036\065\001\002\000\010\017\uffd4\023\uffd4\036\uffd4\001" + 108 "\002\000\006\027\uffd3\030\uffd3\001\002\000\004\036\065" + 109 "\001\002\000\006\027\070\030\075\001\002\000\010\017" + 110 "\uffd6\023\uffd6\036\uffd6\001\002\000\004\036\065\001\002" + 111 "\000\006\027\070\030\100\001\002\000\010\017\uffd8\023" + 112 "\uffd8\036\uffd8\001\002\000\004\036\104\001\002\000\004" + 113 "\013\103\001\002\000\004\036\104\001\002\000\006\025" + 114 "\uffba\030\uffba\001\002\000\004\030\106\001\002\000\004" + 115 "\036\uffd1\001\002\000\004\025\113\001\002\000\006\002" + 116 "\001\036\104\001\002\000\006\002\uffce\036\uffce\001\002" + 117 "\000\006\002\uffcf\036\uffcf\001\002\000\014\024\uffcd\026" + 118 "\uffcd\030\uffcd\036\uffcd\037\uffcd\001\002\000\014\024\uffb6" + 119 "\026\uffb6\030\uffb6\036\uffb6\037\uffb6\001\002\000\006\026" + 120 "\134\030\135\001\002\000\014\024\uffc5\026\uffc5\030\uffc5" + 121 "\036\uffc5\037\uffc5\001\002\000\006\026\uffc9\030\uffc9\001" + 122 "\002\000\014\024\124\026\uffc7\030\uffc7\036\121\037\122" + 123 "\001\002\000\016\024\uffb9\026\uffb9\030\uffb9\031\uffb9\036" + 124 "\uffb9\037\uffb9\001\002\000\014\024\uffc3\026\uffc3\030\uffc3" + 125 "\036\uffc3\037\uffc3\001\002\000\016\024\uffb6\026\uffb6\030" + 126 "\uffb6\031\127\036\uffb6\037\uffb6\001\002\000\004\036\065" + 127 "\001\002\000\014\024\uffc6\026\uffc6\030\uffc6\036\uffc6\037" + 128 "\uffc6\001\002\000\006\026\uffc8\030\uffc8\001\002\000\004" + 129 "\036\132\001\002\000\014\024\uffc1\026\uffc1\030\uffc1\036" + 130 "\uffc1\037\uffc1\001\002\000\014\024\uffc4\026\uffc4\030\uffc4" + 131 "\036\uffc4\037\uffc4\001\002\000\014\024\uffc0\026\uffc0\030" + 132 "\uffc0\036\uffc0\037\uffc0\001\002\000\014\024\uffc2\026\uffc2" + 133 "\030\uffc2\036\uffc2\037\uffc2\001\002\000\014\024\uffcb\026" + 134 "\uffcb\030\uffcb\036\uffcb\037\uffcb\001\002\000\006\002\uffcc" + 135 "\036\uffcc\001\002\000\014\024\uffb6\026\uffb6\030\uffb6\036" + 136 "\uffb6\037\uffb6\001\002\000\006\026\uffca\030\uffca\001\002" + 137 "\000\014\027\uffbd\030\uffbd\032\uffbe\034\uffbe\036\uffbe\001" + 138 "\002\000\010\032\013\034\uffe3\036\uffe3\001\002\000\006" + 139 "\027\uffe0\030\uffe0\001\002\000\006\027\153\030\156\001" + 140 "\002\000\016\014\uffec\015\uffec\016\uffec\017\uffec\023\uffec" + 141 "\036\uffec\001\002\000\006\034\147\036\uffe8\001\002\000" + 142 "\004\036\151\001\002\000\004\035\150\001\002\000\006" + 143 "\034\uffe2\036\uffe2\001\002\000\006\027\uffbd\030\uffbd\001" + 144 "\002\000\006\027\153\030\154\001\002\000\004\036\151" + 145 "\001\002\000\016\014\uffe7\015\uffe7\016\uffe7\017\uffe7\023" + 146 "\uffe7\036\uffe7\001\002\000\006\027\uffe1\030\uffe1\001\002" + 147 "\000\016\014\uffe9\015\uffe9\016\uffe9\017\uffe9\023\uffe9\036" + 148 "\uffe9\001\002\000\016\014\uffea\015\uffea\016\uffea\017\uffea" + 149 "\023\uffea\036\uffea\001\002\000\014\027\uffbc\030\uffbc\032" + 150 "\uffbe\034\uffbe\036\uffbe\001\002\000\006\027\uffde\030\uffde" + 151 "\001\002\000\006\027\167\030\172\001\002\000\006\034" + 152 "\147\036\uffe5\001\002\000\004\036\165\001\002\000\006" + 153 "\027\uffbc\030\uffbc\001\002\000\006\027\167\030\170\001" + 154 "\002\000\004\036\165\001\002\000\016\014\uffe4\015\uffe4" + 155 "\016\uffe4\017\uffe4\023\uffe4\036\uffe4\001\002\000\006\027" + 156 "\uffdf\030\uffdf\001\002\000\016\014\uffe6\015\uffe6\016\uffe6" + 157 "\017\uffe6\023\uffe6\036\uffe6\001\002\000\004\036\160\001" + 158 "\002\000\016\014\uffeb\015\uffeb\016\uffeb\017\uffeb\023\uffeb" + 159 "\036\uffeb\001\002\000\004\037\176\001\002\000\022\006" + 160 "\uffb6\007\uffb6\011\uffb6\012\uffb6\014\uffb6\015\uffb6\016\uffb6" + 161 "\030\045\001\002\000\020\006\ufff1\007\ufff1\011\ufff1\012" + 162 "\ufff1\014\ufff1\015\ufff1\016\ufff1\001\002\000\004\037\201" + 163 "\001\002\000\022\006\uffb6\007\uffb6\011\uffb6\012\uffb6\014" + 164 "\uffb6\015\uffb6\016\uffb6\030\045\001\002\000\020\006\ufff2" + 165 "\007\ufff2\011\ufff2\012\ufff2\014\ufff2\015\ufff2\016\ufff2\001" + 166 "\002\000\006\030\ufff9\032\206\001\002\000\004\030\205" + 167 "\001\002\000\022\005\ufffb\006\ufffb\007\ufffb\011\ufffb\012" + 168 "\ufffb\014\ufffb\015\ufffb\016\ufffb\001\002\000\006\033\207" + 169 "\036\014\001\002\000\004\030\ufffa\001\002" }); 170 171 172 public short[][] action_table() {return _action_table;} 173 174 175 protected static final short[][] _reduce_table = 176 unpackFromStrings(new String [] { 177 "\000\205\000\010\003\004\004\003\051\005\001\001\000" + 178 "\006\005\015\051\016\001\001\000\002\001\001\000\002" + 179 "\001\001\000\004\047\010\001\001\000\002\001\001\000" + 180 "\002\001\001\000\002\001\001\000\002\001\001\000\002" + 181 "\001\001\000\002\001\001\000\010\006\017\010\021\051" + 182 "\022\001\001\000\002\001\001\000\002\001\001\000\006" + 183 "\007\203\047\202\001\001\000\020\011\023\012\034\013" + 184 "\026\014\040\015\031\016\035\017\030\001\001\000\002" + 185 "\001\001\000\002\001\001\000\002\001\001\000\002\001" + 186 "\001\000\002\001\001\000\002\001\001\000\002\001\001" + 187 "\000\002\001\001\000\014\021\156\022\162\024\161\043" + 188 "\160\047\140\001\001\000\014\020\143\022\144\023\142" + 189 "\042\141\047\140\001\001\000\002\001\001\000\014\017" + 190 "\054\025\051\026\056\027\052\051\055\001\001\000\002" + 191 "\001\001\000\002\001\001\000\002\001\001\000\002\001" + 192 "\001\000\006\050\043\051\045\001\001\000\002\001\001" + 193 "\000\002\001\001\000\002\001\001\000\002\001\001\000" + 194 "\006\050\050\051\045\001\001\000\002\001\001\000\004" + 195 "\031\100\001\001\000\002\001\001\000\002\001\001\000" + 196 "\002\001\001\000\002\001\001\000\004\027\057\001\001" + 197 "\000\002\001\001\000\004\054\075\001\001\000\004\055" + 198 "\072\001\001\000\004\056\063\001\001\000\006\030\066" + 199 "\044\065\001\001\000\002\001\001\000\002\001\001\000" + 200 "\002\001\001\000\004\044\071\001\001\000\002\001\001" + 201 "\000\002\001\001\000\006\030\073\044\065\001\001\000" + 202 "\002\001\001\000\002\001\001\000\006\030\076\044\065" + 203 "\001\001\000\002\001\001\000\002\001\001\000\010\032" + 204 "\107\033\110\045\106\001\001\000\002\001\001\000\004" + 205 "\045\104\001\001\000\002\001\001\000\002\001\001\000" + 206 "\002\001\001\000\002\001\001\000\006\033\111\045\106" + 207 "\001\001\000\002\001\001\000\002\001\001\000\004\057" + 208 "\113\001\001\000\012\034\114\035\116\036\117\051\115" + 209 "\001\001\000\002\001\001\000\002\001\001\000\002\001" + 210 "\001\000\006\037\124\046\122\001\001\000\002\001\001" + 211 "\000\002\001\001\000\006\040\130\051\127\001\001\000" + 212 "\004\044\125\001\001\000\002\001\001\000\002\001\001" + 213 "\000\004\041\132\001\001\000\002\001\001\000\002\001" + 214 "\001\000\002\001\001\000\002\001\001\000\004\060\135" + 215 "\001\001\000\002\001\001\000\010\035\136\036\117\051" + 216 "\115\001\001\000\002\001\001\000\002\001\001\000\002" + 217 "\001\001\000\002\001\001\000\002\001\001\000\002\001" + 218 "\001\000\004\052\145\001\001\000\006\023\151\042\141" + 219 "\001\001\000\002\001\001\000\002\001\001\000\002\001" + 220 "\001\000\002\001\001\000\004\042\154\001\001\000\002" + 221 "\001\001\000\002\001\001\000\002\001\001\000\002\001" + 222 "\001\000\002\001\001\000\002\001\001\000\002\001\001" + 223 "\000\004\053\163\001\001\000\006\024\165\043\160\001" + 224 "\001\000\002\001\001\000\002\001\001\000\004\043\170" + 225 "\001\001\000\002\001\001\000\002\001\001\000\002\001" + 226 "\001\000\014\021\173\022\162\024\161\043\160\047\140" + 227 "\001\001\000\002\001\001\000\002\001\001\000\006\050" + 228 "\176\051\045\001\001\000\002\001\001\000\002\001\001" + 229 "\000\006\050\201\051\045\001\001\000\002\001\001\000" + 230 "\002\001\001\000\002\001\001\000\002\001\001\000\002" + 231 "\001\001\000\002\001\001" }); 232 233 234 public short[][] reduce_table() {return _reduce_table;} 235 236 237 protected CUP$SpecParser$actions action_obj; 238 239 240 protected void init_actions() 241 { 242 action_obj = new CUP$SpecParser$actions(this); 243 } 244 245 246 public java_cup.runtime.Symbol do_action( 247 int act_num, 248 java_cup.runtime.lr_parser parser, 249 java.util.Stack stack, 250 int top) 251 throws java.lang.Exception 252 { 253 254 return action_obj.CUP$SpecParser$do_action(act_num, parser, stack, top); 255 } 256 257 258 public int start_state() {return 0;} 259 260 public int start_production() {return 1;} 261 262 263 public int EOF_sym() {return 0;} 264 265 266 public int error_sym() {return 1;} 267 268 269 270 public void report_error(String message, Object info) { 272 StringBuffer m = new StringBuffer ("Error"); 273 if (info instanceof java_cup.runtime.Symbol) { 274 java_cup.runtime.Symbol symbol = ((java_cup.runtime.Symbol) info); 275 if (symbol.left >= 0) { 276 m.append(" in line "+(symbol.left+1)); 277 if (symbol.right >= 0) 278 m.append(", column "+(symbol.right+1)); 279 } 280 } 281 m.append(" : "+message); 282 System.err.println(m); 283 } 284 285 public void report_fatal_error(String message, Object info) 286 throws SpecParseException { 287 report_error(message, info); 288 throw new SpecParseException(message); 289 } 290 291 } 292 293 294 class CUP$SpecParser$actions { 295 296 297 class Pair { 298 Object first; 299 Object second; 300 Pair(Object first, Object second) { 301 this.first = first; 302 this.second = second; 303 } 304 } 305 private String packageName = null; 306 private List importsList = new LinkedList(); 307 private String actionCode = null; 308 private String parserCode = null; 309 private String initCode = null; 310 private String scanCode = null; 311 312 private NonTerminals v = new NonTerminals(); 313 private Terminals t = new Terminals(); 314 private NonTerminal s = null; 315 private Productions p = new Productions(); 316 317 318 private String type; 319 320 private int countNewNonTerminals = 0; 321 private int precedence = Terminal.NO_PRECEDENCE; 322 private int associativity; 323 324 private int prodPrecedence; 325 private NonTerminal lhs; 326 private List RHSList; 327 private List prodPartList; 328 private String prodPartLabel; 329 private List prodPartLabels; 330 private SemanticAction action; 331 332 private final SpecParser parser; 333 334 335 CUP$SpecParser$actions(SpecParser parser) { 336 this.parser = parser; 337 } 338 339 340 public final java_cup.runtime.Symbol CUP$SpecParser$do_action( 341 int CUP$SpecParser$act_num, 342 java_cup.runtime.lr_parser CUP$SpecParser$parser, 343 java.util.Stack CUP$SpecParser$stack, 344 int CUP$SpecParser$top) 345 throws java.lang.Exception 346 { 347 348 java_cup.runtime.Symbol CUP$SpecParser$result; 349 350 351 switch (CUP$SpecParser$act_num) 352 { 353 354 case 75: { 356 Object RESULT = null; 357 358 CUP$SpecParser$result = new java_cup.runtime.Symbol(39, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 359 } 360 return CUP$SpecParser$result; 361 362 363 case 74: { 365 Object RESULT = null; 366 367 CUP$SpecParser$result = new java_cup.runtime.Symbol(38, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 368 } 369 return CUP$SpecParser$result; 370 371 372 case 73: { 374 Object RESULT = null; 375 376 CUP$SpecParser$result = new java_cup.runtime.Symbol(38, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 377 } 378 return CUP$SpecParser$result; 379 380 381 case 72: { 383 ro.infoiasi.donald.compiler.cfg.Symbol RESULT = null; 384 int idleft = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).left; 385 int idright = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right; 386 String id = (String )((java_cup.runtime.Symbol) CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).value; 387 388 RESULT = t.find(id); 389 if (RESULT == null) { 390 RESULT = v.find(id); 391 } 392 if (RESULT == null) { 393 parser.report_fatal_error("symbol \""+id+"\" not found", null); 394 } 395 396 CUP$SpecParser$result = new java_cup.runtime.Symbol(36, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 397 } 398 return CUP$SpecParser$result; 399 400 401 case 71: { 403 NonTerminal RESULT = null; 404 int idleft = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).left; 405 int idright = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right; 406 String id = (String )((java_cup.runtime.Symbol) CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).value; 407 408 RESULT = v.find(id); 409 if (RESULT == null) { 410 parser.report_fatal_error("non-terminal \""+id+"\" not found", null); 411 } 412 413 CUP$SpecParser$result = new java_cup.runtime.Symbol(35, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 414 } 415 return CUP$SpecParser$result; 416 417 418 case 70: { 420 Terminal RESULT = null; 421 int idleft = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).left; 422 int idright = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right; 423 String id = (String )((java_cup.runtime.Symbol) CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).value; 424 425 RESULT = t.find(id); 426 if (RESULT == null) { 427 parser.report_fatal_error("terminal \""+id+"\" not found", null); 428 } 429 430 CUP$SpecParser$result = new java_cup.runtime.Symbol(34, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 431 } 432 return CUP$SpecParser$result; 433 434 435 case 69: { 437 Object RESULT = null; 438 int nameleft = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).left; 439 int nameright = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right; 440 String name = (String )((java_cup.runtime.Symbol) CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).value; 441 v.addNew(name, type); 442 CUP$SpecParser$result = new java_cup.runtime.Symbol(33, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 443 } 444 return CUP$SpecParser$result; 445 446 447 case 68: { 449 Object RESULT = null; 450 int nameleft = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).left; 451 int nameright = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right; 452 String name = (String )((java_cup.runtime.Symbol) CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).value; 453 t.addNew(name, type); 454 CUP$SpecParser$result = new java_cup.runtime.Symbol(32, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 455 } 456 return CUP$SpecParser$result; 457 458 459 case 67: { 461 String RESULT = null; 462 int idleft = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).left; 463 int idright = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right; 464 String id = (String )((java_cup.runtime.Symbol) CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).value; 465 466 RESULT = id; 467 468 CUP$SpecParser$result = new java_cup.runtime.Symbol(37, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 469 } 470 return CUP$SpecParser$result; 471 472 473 case 66: { 475 String RESULT = null; 476 int id1left = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-2)).left; 477 int id1right = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-2)).right; 478 String id1 = (String )((java_cup.runtime.Symbol) CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-2)).value; 479 int id2left = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).left; 480 int id2right = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right; 481 String id2 = (String )((java_cup.runtime.Symbol) CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).value; 482 483 RESULT = id1 + "." + id2; 484 485 CUP$SpecParser$result = new java_cup.runtime.Symbol(37, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 486 } 487 return CUP$SpecParser$result; 488 489 490 case 65: { 492 String RESULT = null; 493 int idleft = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).left; 494 int idright = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right; 495 String id = (String )((java_cup.runtime.Symbol) CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).value; 496 497 RESULT = id; 498 499 CUP$SpecParser$result = new java_cup.runtime.Symbol(31, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 500 } 501 return CUP$SpecParser$result; 502 503 504 case 64: { 506 Object RESULT = null; 507 508 prodPartLabel = null; 509 510 CUP$SpecParser$result = new java_cup.runtime.Symbol(30, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 511 } 512 return CUP$SpecParser$result; 513 514 515 case 63: { 517 Object RESULT = null; 518 int idleft = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).left; 519 int idright = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right; 520 String id = (String )((java_cup.runtime.Symbol) CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).value; 521 522 prodPartLabel = id; 523 524 CUP$SpecParser$result = new java_cup.runtime.Symbol(30, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-1)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 525 } 526 return CUP$SpecParser$result; 527 528 529 case 62: { 531 Object RESULT = null; 532 int codeStringleft = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).left; 533 int codeStringright = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right; 534 String codeString = (String )((java_cup.runtime.Symbol) CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).value; 535 536 prodPartList.add(new SemanticAction(lhs.getType(), 537 prodPartLabels, prodPartList.size(), codeString)); 538 539 CUP$SpecParser$result = new java_cup.runtime.Symbol(29, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 540 } 541 return CUP$SpecParser$result; 542 543 544 case 61: { 546 Object RESULT = null; 547 int symleft = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-1)).left; 548 int symright = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-1)).right; 549 ro.infoiasi.donald.compiler.cfg.Symbol sym = (ro.infoiasi.donald.compiler.cfg.Symbol)((java_cup.runtime.Symbol) CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-1)).value; 550 551 if (prodPartLabel != null) { 552 prodPartLabels.add(new Label(prodPartLabel, sym, prodPartList.size())); 553 } 554 prodPartList.add(sym); 555 556 CUP$SpecParser$result = new java_cup.runtime.Symbol(29, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-1)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 557 } 558 return CUP$SpecParser$result; 559 560 561 case 60: { 563 Object RESULT = null; 564 565 CUP$SpecParser$result = new java_cup.runtime.Symbol(28, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 566 } 567 return CUP$SpecParser$result; 568 569 570 case 59: { 572 Object RESULT = null; 573 574 CUP$SpecParser$result = new java_cup.runtime.Symbol(28, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-1)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 575 } 576 return CUP$SpecParser$result; 577 578 579 case 58: { 581 Object RESULT = null; 582 583 prodPrecedence = Production.LAST_TERMINAL_PRECEDENCE; 584 585 CUP$SpecParser$result = new java_cup.runtime.Symbol(27, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 586 } 587 return CUP$SpecParser$result; 588 589 590 case 57: { 592 Object RESULT = null; 593 int termleft = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).left; 594 int termright = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right; 595 Terminal term = (Terminal)((java_cup.runtime.Symbol) CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).value; 596 597 prodPrecedence = term.getPrecedence(); 598 599 CUP$SpecParser$result = new java_cup.runtime.Symbol(27, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 600 } 601 return CUP$SpecParser$result; 602 603 604 case 56: { 606 Object RESULT = null; 607 608 Word w = new Word(); 609 SemanticAction action = null; 610 Iterator it = prodPartList.iterator(); 611 while (it.hasNext()) { 612 Object obj = it.next(); 613 ro.infoiasi.donald.compiler.cfg.Symbol sym; 614 if (obj instanceof SemanticAction) { 615 SemanticAction sa = (SemanticAction)obj; 616 if (it.hasNext()) { 617 NonTerminal nt = v.addNew("$ACTION"+countNewNonTerminals++); 618 p.addNew(nt, new Word(), sa); 619 w.addLast(nt); 620 } else { 621 action = sa; 622 } 623 } else { 624 sym = (ro.infoiasi.donald.compiler.cfg.Symbol)obj; 625 w.addLast(sym); 626 } 627 } 628 RHSList.add(new Pair(w, action)); 629 630 CUP$SpecParser$result = new java_cup.runtime.Symbol(26, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 631 } 632 return CUP$SpecParser$result; 633 634 635 case 55: { 637 Object RESULT = null; 638 if ( ((java_cup.runtime.Symbol) CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-1)).value != null ) 640 RESULT = (Object ) ((java_cup.runtime.Symbol) CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-1)).value; 641 642 Word w = new Word(); 643 SemanticAction action = null; 644 Iterator it = prodPartList.iterator(); 645 while (it.hasNext()) { 646 Object obj = it.next(); 647 ro.infoiasi.donald.compiler.cfg.Symbol sym; 648 if (obj instanceof SemanticAction) { 649 SemanticAction sa = (SemanticAction)obj; 650 if (it.hasNext()) { 651 NonTerminal nt = v.addNew("$ACTION"+countNewNonTerminals++); 652 p.addNew(nt, new Word(), sa); 653 w.addLast(nt); 654 } else { 655 action = sa; 656 } 657 } else { 658 sym = (ro.infoiasi.donald.compiler.cfg.Symbol)obj; 659 w.addLast(sym); 660 } 661 } 662 RHSList.add(new Pair(w, action)); 663 664 CUP$SpecParser$result = new java_cup.runtime.Symbol(26, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-3)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 665 } 666 return CUP$SpecParser$result; 667 668 669 case 54: { 671 Object RESULT = null; 672 673 prodPartList = new LinkedList(); 674 prodPartLabels = new LinkedList(); 675 action = null; 676 677 CUP$SpecParser$result = new java_cup.runtime.Symbol(46, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 678 } 679 return CUP$SpecParser$result; 680 681 682 case 53: { 684 Object RESULT = null; 685 if ( ((java_cup.runtime.Symbol) CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-2)).value != null ) 687 RESULT = (Object ) ((java_cup.runtime.Symbol) CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-2)).value; 688 int ntleft = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-4)).left; 689 int ntright = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-4)).right; 690 NonTerminal nt = (NonTerminal)((java_cup.runtime.Symbol) CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-4)).value; 691 692 Iterator it = RHSList.iterator(); 693 while (it.hasNext()) { 694 Pair pair = (Pair)it.next(); 695 p.addNew(lhs, (Word)pair.first, (SemanticAction)pair.second); 696 } 697 698 CUP$SpecParser$result = new java_cup.runtime.Symbol(25, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-4)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 699 } 700 return CUP$SpecParser$result; 701 702 703 case 52: { 705 Object RESULT = null; 706 int ntleft = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-1)).left; 707 int ntright = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-1)).right; 708 NonTerminal nt = (NonTerminal)((java_cup.runtime.Symbol) CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-1)).value; 709 710 lhs = nt; 711 RHSList = new LinkedList(); 712 prodPartList = new LinkedList(); 713 prodPartLabels = new LinkedList(); 714 715 CUP$SpecParser$result = new java_cup.runtime.Symbol(45, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 716 } 717 return CUP$SpecParser$result; 718 719 720 case 51: { 722 Object RESULT = null; 723 724 CUP$SpecParser$result = new java_cup.runtime.Symbol(24, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 725 } 726 return CUP$SpecParser$result; 727 728 729 case 50: { 731 Object RESULT = null; 732 733 CUP$SpecParser$result = new java_cup.runtime.Symbol(24, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-1)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 734 } 735 return CUP$SpecParser$result; 736 737 738 case 49: { 740 Object RESULT = null; 741 742 CUP$SpecParser$result = new java_cup.runtime.Symbol(23, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 743 } 744 return CUP$SpecParser$result; 745 746 747 case 48: { 749 Object RESULT = null; 750 int ntleft = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-1)).left; 751 int ntright = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-1)).right; 752 NonTerminal nt = (NonTerminal)((java_cup.runtime.Symbol) CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-1)).value; 753 754 s = nt; 755 756 CUP$SpecParser$result = new java_cup.runtime.Symbol(23, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-3)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 757 } 758 return CUP$SpecParser$result; 759 760 761 case 47: { 763 Object RESULT = null; 764 int termleft = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).left; 765 int termright = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right; 766 Terminal term = (Terminal)((java_cup.runtime.Symbol) CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).value; 767 768 term.setPrecedence(precedence, associativity); 769 770 CUP$SpecParser$result = new java_cup.runtime.Symbol(22, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 771 } 772 return CUP$SpecParser$result; 773 774 775 case 46: { 777 Object RESULT = null; 778 int termleft = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).left; 779 int termright = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right; 780 Terminal term = (Terminal)((java_cup.runtime.Symbol) CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).value; 781 782 term.setPrecedence(precedence, associativity); 783 784 CUP$SpecParser$result = new java_cup.runtime.Symbol(22, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 785 } 786 return CUP$SpecParser$result; 787 788 789 case 45: { 791 Object RESULT = null; 792 if ( ((java_cup.runtime.Symbol) CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-2)).value != null ) 794 RESULT = (Object ) ((java_cup.runtime.Symbol) CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-2)).value; 795 796 CUP$SpecParser$result = new java_cup.runtime.Symbol(21, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-4)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 797 } 798 return CUP$SpecParser$result; 799 800 801 case 44: { 803 Object RESULT = null; 804 805 precedence++; 806 associativity = Terminal.NON_ASSOCIATIVE; 807 808 CUP$SpecParser$result = new java_cup.runtime.Symbol(44, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 809 } 810 return CUP$SpecParser$result; 811 812 813 case 43: { 815 Object RESULT = null; 816 if ( ((java_cup.runtime.Symbol) CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-2)).value != null ) 818 RESULT = (Object ) ((java_cup.runtime.Symbol) CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-2)).value; 819 820 CUP$SpecParser$result = new java_cup.runtime.Symbol(21, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-4)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 821 } 822 return CUP$SpecParser$result; 823 824 825 case 42: { 827 Object RESULT = null; 828 829 precedence++; 830 associativity = Terminal.RIGHT_ASSOCIATIVE; 831 832 CUP$SpecParser$result = new java_cup.runtime.Symbol(43, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 833 } 834 return CUP$SpecParser$result; 835 836 837 case 41: { 839 Object RESULT = null; 840 if ( ((java_cup.runtime.Symbol) CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-2)).value != null ) 842 RESULT = (Object ) ((java_cup.runtime.Symbol) CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-2)).value; 843 844 CUP$SpecParser$result = new java_cup.runtime.Symbol(21, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-4)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 845 } 846 return CUP$SpecParser$result; 847 848 849 case 40: { 851 Object RESULT = null; 852 853 precedence++; 854 associativity = Terminal.LEFT_ASSOCIATIVE; 855 856 CUP$SpecParser$result = new java_cup.runtime.Symbol(42, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 857 } 858 return CUP$SpecParser$result; 859 860 861 case 39: { 863 Object RESULT = null; 864 865 CUP$SpecParser$result = new java_cup.runtime.Symbol(20, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 866 } 867 return CUP$SpecParser$result; 868 869 870 case 38: { 872 Object RESULT = null; 873 874 CUP$SpecParser$result = new java_cup.runtime.Symbol(20, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-1)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 875 } 876 return CUP$SpecParser$result; 877 878 879 case 37: { 881 Object RESULT = null; 882 883 CUP$SpecParser$result = new java_cup.runtime.Symbol(19, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 884 } 885 return CUP$SpecParser$result; 886 887 888 case 36: { 890 Object RESULT = null; 891 892 CUP$SpecParser$result = new java_cup.runtime.Symbol(19, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 893 } 894 return CUP$SpecParser$result; 895 896 897 case 35: { 899 Object RESULT = null; 900 901 CUP$SpecParser$result = new java_cup.runtime.Symbol(18, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 902 } 903 return CUP$SpecParser$result; 904 905 906 case 34: { 908 Object RESULT = null; 909 910 CUP$SpecParser$result = new java_cup.runtime.Symbol(18, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 911 } 912 return CUP$SpecParser$result; 913 914 915 case 33: { 917 Object RESULT = null; 918 919 CUP$SpecParser$result = new java_cup.runtime.Symbol(17, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 920 } 921 return CUP$SpecParser$result; 922 923 924 case 32: { 926 Object RESULT = null; 927 928 CUP$SpecParser$result = new java_cup.runtime.Symbol(17, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 929 } 930 return CUP$SpecParser$result; 931 932 933 case 31: { 935 String RESULT = null; 936 int idleft = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-2)).left; 937 int idright = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-2)).right; 938 String id = (String )((java_cup.runtime.Symbol) CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-2)).value; 939 940 RESULT = id+"[]"; 941 942 CUP$SpecParser$result = new java_cup.runtime.Symbol(16, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 943 } 944 return CUP$SpecParser$result; 945 946 947 case 30: { 949 String RESULT = null; 950 int idleft = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).left; 951 int idright = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right; 952 String id = (String )((java_cup.runtime.Symbol) CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).value; 953 954 RESULT = id; 955 956 CUP$SpecParser$result = new java_cup.runtime.Symbol(16, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 957 } 958 return CUP$SpecParser$result; 959 960 961 case 29: { 963 Object RESULT = null; 964 if ( ((java_cup.runtime.Symbol) CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-2)).value != null ) 966 RESULT = (Object ) ((java_cup.runtime.Symbol) CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-2)).value; 967 int type_nameleft = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-3)).left; 968 int type_nameright = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-3)).right; 969 String type_name = (String )((java_cup.runtime.Symbol) CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-3)).value; 970 971 type = null; 972 973 CUP$SpecParser$result = new java_cup.runtime.Symbol(15, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-3)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 974 } 975 return CUP$SpecParser$result; 976 977 978 case 28: { 980 Object RESULT = null; 981 int type_nameleft = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).left; 982 int type_nameright = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right; 983 String type_name = (String )((java_cup.runtime.Symbol) CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).value; 984 985 type = type_name; 986 987 CUP$SpecParser$result = new java_cup.runtime.Symbol(41, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 988 } 989 return CUP$SpecParser$result; 990 991 992 case 27: { 994 Object RESULT = null; 995 996 CUP$SpecParser$result = new java_cup.runtime.Symbol(15, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-1)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 997 } 998 return CUP$SpecParser$result; 999 1000 1001 case 26: { 1003 Object RESULT = null; 1004 if ( ((java_cup.runtime.Symbol) CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-2)).value != null ) 1006 RESULT = (Object ) ((java_cup.runtime.Symbol) CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-2)).value; 1007 int type_nameleft = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-3)).left; 1008 int type_nameright = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-3)).right; 1009 String type_name = (String )((java_cup.runtime.Symbol) CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-3)).value; 1010 1011 type = null; 1012 1013 CUP$SpecParser$result = new java_cup.runtime.Symbol(14, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-3)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 1014 } 1015 return CUP$SpecParser$result; 1016 1017 1018 case 25: { 1020 Object RESULT = null; 1021 int type_nameleft = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).left; 1022 int type_nameright = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right; 1023 String type_name = (String )((java_cup.runtime.Symbol) CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).value; 1024 1025 type = type_name; 1026 1027 CUP$SpecParser$result = new java_cup.runtime.Symbol(40, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 1028 } 1029 return CUP$SpecParser$result; 1030 1031 1032 case 24: { 1034 Object RESULT = null; 1035 1036 CUP$SpecParser$result = new java_cup.runtime.Symbol(14, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-1)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 1037 } 1038 return CUP$SpecParser$result; 1039 1040 1041 case 23: { 1043 Object RESULT = null; 1044 1045 CUP$SpecParser$result = new java_cup.runtime.Symbol(13, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-1)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 1046 } 1047 return CUP$SpecParser$result; 1048 1049 1050 case 22: { 1052 Object RESULT = null; 1053 1054 CUP$SpecParser$result = new java_cup.runtime.Symbol(13, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 1055 } 1056 return CUP$SpecParser$result; 1057 1058 1059 case 21: { 1061 Object RESULT = null; 1062 1063 CUP$SpecParser$result = new java_cup.runtime.Symbol(13, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-1)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 1064 } 1065 return CUP$SpecParser$result; 1066 1067 1068 case 20: { 1070 Object RESULT = null; 1071 1072 CUP$SpecParser$result = new java_cup.runtime.Symbol(12, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 1073 } 1074 return CUP$SpecParser$result; 1075 1076 1077 case 19: { 1079 Object RESULT = null; 1080 1081 CUP$SpecParser$result = new java_cup.runtime.Symbol(12, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-1)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 1082 } 1083 return CUP$SpecParser$result; 1084 1085 1086 case 18: { 1088 Object RESULT = null; 1089 int codeStringleft = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-1)).left; 1090 int codeStringright = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-1)).right; 1091 String codeString = (String )((java_cup.runtime.Symbol) CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-1)).value; 1092 1093 if (scanCode == null) { 1094 scanCode = codeString; 1095 } else { 1096 parser.report_error("Redundant scan code (skipping)", null); 1097 } 1098 1099 CUP$SpecParser$result = new java_cup.runtime.Symbol(11, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-3)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 1100 } 1101 return CUP$SpecParser$result; 1102 1103 1104 case 17: { 1106 Object RESULT = null; 1107 int codeStringleft = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-1)).left; 1108 int codeStringright = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-1)).right; 1109 String codeString = (String )((java_cup.runtime.Symbol) CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-1)).value; 1110 1111 if (initCode == null) { 1112 initCode = codeString; 1113 } else { 1114 parser.report_error("Redundant init code (skipping)", null); 1115 } 1116 1117 CUP$SpecParser$result = new java_cup.runtime.Symbol(10, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-3)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 1118 } 1119 return CUP$SpecParser$result; 1120 1121 1122 case 16: { 1124 Object RESULT = null; 1125 int codeStringleft = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-1)).left; 1126 int codeStringright = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-1)).right; 1127 String codeString = (String )((java_cup.runtime.Symbol) CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-1)).value; 1128 1129 if (parserCode == null) { 1130 parserCode = codeString; 1131 } else { 1132 parser.report_error("Redundant parser code (skipping)", null); 1133 } 1134 1135 CUP$SpecParser$result = new java_cup.runtime.Symbol(9, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-3)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 1136 } 1137 return CUP$SpecParser$result; 1138 1139 1140 case 15: { 1142 Object RESULT = null; 1143 int codeStringleft = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-1)).left; 1144 int codeStringright = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-1)).right; 1145 String codeString = (String )((java_cup.runtime.Symbol) CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-1)).value; 1146 1147 if (actionCode == null) { 1148 actionCode = codeString; 1149 } else { 1150 parser.report_error("Redundant action code (skipping)", null); 1151 } 1152 1153 CUP$SpecParser$result = new java_cup.runtime.Symbol(8, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-3)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 1154 } 1155 return CUP$SpecParser$result; 1156 1157 1158 case 14: { 1160 Object RESULT = null; 1161 1162 CUP$SpecParser$result = new java_cup.runtime.Symbol(7, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 1163 } 1164 return CUP$SpecParser$result; 1165 1166 1167 case 13: { 1169 Object RESULT = null; 1170 1171 CUP$SpecParser$result = new java_cup.runtime.Symbol(7, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 1172 } 1173 return CUP$SpecParser$result; 1174 1175 1176 case 12: { 1178 Object RESULT = null; 1179 1180 CUP$SpecParser$result = new java_cup.runtime.Symbol(7, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 1181 } 1182 return CUP$SpecParser$result; 1183 1184 1185 case 11: { 1187 Object RESULT = null; 1188 1189 CUP$SpecParser$result = new java_cup.runtime.Symbol(7, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 1190 } 1191 return CUP$SpecParser$result; 1192 1193 1194 case 10: { 1196 Object RESULT = null; 1197 1198 CUP$SpecParser$result = new java_cup.runtime.Symbol(6, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 1199 } 1200 return CUP$SpecParser$result; 1201 1202 1203 case 9: { 1205 Object RESULT = null; 1206 1207 CUP$SpecParser$result = new java_cup.runtime.Symbol(6, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-1)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 1208 } 1209 return CUP$SpecParser$result; 1210 1211 1212 case 8: { 1214 String RESULT = null; 1215 int idleft = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).left; 1216 int idright = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right; 1217 String id = (String )((java_cup.runtime.Symbol) CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).value; 1218 1219 RESULT = id; 1220 1221 CUP$SpecParser$result = new java_cup.runtime.Symbol(5, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 1222 } 1223 return CUP$SpecParser$result; 1224 1225 1226 case 7: { 1228 String RESULT = null; 1229 int idleft = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-2)).left; 1230 int idright = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-2)).right; 1231 String id = (String )((java_cup.runtime.Symbol) CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-2)).value; 1232 1233 RESULT = id + ".*"; 1234 1235 CUP$SpecParser$result = new java_cup.runtime.Symbol(5, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 1236 } 1237 return CUP$SpecParser$result; 1238 1239 1240 case 6: { 1242 Object RESULT = null; 1243 int idleft = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-1)).left; 1244 int idright = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-1)).right; 1245 String id = (String )((java_cup.runtime.Symbol) CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-1)).value; 1246 1247 importsList.add(id); 1248 1249 CUP$SpecParser$result = new java_cup.runtime.Symbol(4, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 1250 } 1251 return CUP$SpecParser$result; 1252 1253 1254 case 5: { 1256 Object RESULT = null; 1257 1258 CUP$SpecParser$result = new java_cup.runtime.Symbol(3, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 1259 } 1260 return CUP$SpecParser$result; 1261 1262 1263 case 4: { 1265 Object RESULT = null; 1266 1267 CUP$SpecParser$result = new java_cup.runtime.Symbol(3, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-1)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 1268 } 1269 return CUP$SpecParser$result; 1270 1271 1272 case 3: { 1274 Object RESULT = null; 1275 1276 CUP$SpecParser$result = new java_cup.runtime.Symbol(2, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 1277 } 1278 return CUP$SpecParser$result; 1279 1280 1281 case 2: { 1283 Object RESULT = null; 1284 int idleft = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-1)).left; 1285 int idright = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-1)).right; 1286 String id = (String )((java_cup.runtime.Symbol) CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-1)).value; 1287 1288 packageName = id; 1289 1290 CUP$SpecParser$result = new java_cup.runtime.Symbol(2, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 1291 } 1292 return CUP$SpecParser$result; 1293 1294 1295 case 1: { 1297 Object RESULT = null; 1298 int start_valleft = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-1)).left; 1299 int start_valright = ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-1)).right; 1300 ParserSpec start_val = (ParserSpec)((java_cup.runtime.Symbol) CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-1)).value; 1301 RESULT = start_val; 1302 CUP$SpecParser$result = new java_cup.runtime.Symbol(0, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-1)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 1303 } 1304 1305 CUP$SpecParser$parser.done_parsing(); 1306 return CUP$SpecParser$result; 1307 1308 1309 case 0: { 1311 ParserSpec RESULT = null; 1312 1313 RESULT = new ParserSpec(packageName, importsList, actionCode, 1314 parserCode, initCode, scanCode, new CFG(v, t, s, p)); 1315 1316 CUP$SpecParser$result = new java_cup.runtime.Symbol(1, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-6)).left, ((java_cup.runtime.Symbol)CUP$SpecParser$stack.elementAt(CUP$SpecParser$top-0)).right, RESULT); 1317 } 1318 return CUP$SpecParser$result; 1319 1320 1321 default: 1322 throw new Exception ( 1323 "Invalid action number found in internal parse table"); 1324 1325 } 1326 } 1327} 1328 1329 | Popular Tags |