001 002 //---------------------------------------------------- 003 // The following code was generated by CUP v0.10k 004 // Tue Apr 20 12:09:58 CEST 2004 005 //---------------------------------------------------- 006 007 package org.objectweb.jac.core.parsers.acc; 008 009 import java_cup.runtime.*; 010 import java.util.Vector; 011 import java.util.Arrays; 012 import org.objectweb.jac.core.ConfigMethod; 013 import org.objectweb.jac.core.ImportStatement; 014 import org.objectweb.jac.util.ExtArrays; 015 016 /** CUP v0.10k generated parser. 017 * @version Tue Apr 20 12:09:58 CEST 2004 018 */ 019 public class AccParser extends java_cup.runtime.lr_parser { 020 021 /** Default constructor. */ 022 public AccParser() {super();} 023 024 /** Constructor which sets the default scanner. */ 025 public AccParser(java_cup.runtime.Scanner s) {super(s);} 026 027 /** Production table. */ 028 protected static final short _production_table[][] = 029 unpackFromStrings(new String[] { 030 "\000\027\000\002\003\002\000\002\002\004\000\002\003" + 031 "\003\000\002\004\004\000\002\004\003\000\002\007\003" + 032 "\000\002\007\003\000\002\007\003\000\002\010\007\000" + 033 "\002\011\005\000\002\011\003\000\002\014\005\000\002" + 034 "\014\004\000\002\014\005\000\002\015\005\000\002\005" + 035 "\004\000\002\005\003\000\002\013\003\000\002\013\003" + 036 "\000\002\012\005\000\002\012\004\000\002\006\005\000" + 037 "\002\006\003" }); 038 039 /** Access to production table. */ 040 public short[][] production_table() {return _production_table;} 041 042 /** Parse-action table. */ 043 protected static final short[][] _action_table = 044 unpackFromStrings(new String[] { 045 "\000\045\000\012\002\001\010\014\011\013\012\005\001" + 046 "\002\000\014\002\uffff\005\uffff\010\uffff\011\uffff\012\uffff" + 047 "\001\002\000\012\003\032\004\030\007\031\012\036\001" + 048 "\002\000\014\002\ufffa\005\ufffa\010\ufffa\011\ufffa\012\ufffa" + 049 "\001\002\000\014\002\ufffd\005\ufffd\010\ufffd\011\ufffd\012" + 050 "\ufffd\001\002\000\012\002\027\010\014\011\013\012\005" + 051 "\001\002\000\014\002\ufffb\005\ufffb\010\ufffb\011\ufffb\012" + 052 "\ufffb\001\002\000\014\002\ufffc\005\ufffc\010\ufffc\011\ufffc" + 053 "\012\ufffc\001\002\000\004\012\025\001\002\000\004\012" + 054 "\016\001\002\000\006\004\020\006\017\001\002\000\006" + 055 "\004\ufff7\006\ufff7\001\002\000\004\012\024\001\002\000" + 056 "\012\005\001\010\014\011\013\012\005\001\002\000\012" + 057 "\005\022\010\014\011\013\012\005\001\002\000\014\002" + 058 "\ufff9\005\ufff9\010\ufff9\011\ufff9\012\ufff9\001\002\000\014" + 059 "\002\ufffe\005\ufffe\010\ufffe\011\ufffe\012\ufffe\001\002\000" + 060 "\006\004\ufff8\006\ufff8\001\002\000\004\007\026\001\002" + 061 "\000\014\002\ufff3\005\ufff3\010\ufff3\011\ufff3\012\ufff3\001" + 062 "\002\000\004\002\000\001\002\000\010\004\030\005\043" + 063 "\012\036\001\002\000\014\002\ufff5\005\ufff5\010\ufff5\011" + 064 "\ufff5\012\ufff5\001\002\000\004\007\041\001\002\000\004" + 065 "\007\040\001\002\000\014\004\uffef\005\uffef\006\uffef\007" + 066 "\uffef\012\uffef\001\002\000\010\004\030\007\ufff1\012\036" + 067 "\001\002\000\014\004\ufff0\005\ufff0\006\ufff0\007\ufff0\012" + 068 "\ufff0\001\002\000\004\007\ufff2\001\002\000\014\002\ufff6" + 069 "\005\ufff6\010\ufff6\011\ufff6\012\ufff6\001\002\000\014\002" + 070 "\ufff4\005\ufff4\010\ufff4\011\ufff4\012\ufff4\001\002\000\006" + 071 "\005\046\006\045\001\002\000\014\004\uffed\005\uffed\006" + 072 "\uffed\007\uffed\012\uffed\001\002\000\006\005\uffeb\006\uffeb" + 073 "\001\002\000\006\004\030\012\036\001\002\000\014\004" + 074 "\uffee\005\uffee\006\uffee\007\uffee\012\uffee\001\002\000\006" + 075 "\005\uffec\006\uffec\001\002" }); 076 077 /** Access to parse-action table. */ 078 public short[][] action_table() {return _action_table;} 079 080 /** <code>reduce_goto</code> table. */ 081 protected static final short[][] _reduce_table = 082 unpackFromStrings(new String[] { 083 "\000\045\000\016\003\007\004\003\007\006\010\011\014" + 084 "\010\015\005\001\001\000\002\001\001\000\010\005\032" + 085 "\012\033\013\034\001\001\000\002\001\001\000\002\001" + 086 "\001\000\012\007\022\010\011\014\010\015\005\001\001" + 087 "\000\002\001\001\000\002\001\001\000\002\001\001\000" + 088 "\004\011\014\001\001\000\002\001\001\000\002\001\001" + 089 "\000\002\001\001\000\016\003\020\004\003\007\006\010" + 090 "\011\014\010\015\005\001\001\000\012\007\022\010\011" + 091 "\014\010\015\005\001\001\000\002\001\001\000\002\001" + 092 "\001\000\002\001\001\000\002\001\001\000\002\001\001" + 093 "\000\002\001\001\000\010\006\041\012\033\013\043\001" + 094 "\001\000\002\001\001\000\002\001\001\000\002\001\001" + 095 "\000\002\001\001\000\010\005\036\012\033\013\034\001" + 096 "\001\000\002\001\001\000\002\001\001\000\002\001\001" + 097 "\000\002\001\001\000\002\001\001\000\002\001\001\000" + 098 "\002\001\001\000\006\012\033\013\046\001\001\000\002" + 099 "\001\001\000\002\001\001" }); 100 101 /** Access to <code>reduce_goto</code> table. */ 102 public short[][] reduce_table() {return _reduce_table;} 103 104 /** Instance of action encapsulation class. */ 105 protected CUP$AccParser$actions action_obj; 106 107 /** Action encapsulation object initializer. */ 108 protected void init_actions() 109 { 110 action_obj = new CUP$AccParser$actions(this); 111 } 112 113 /** Invoke a user supplied parse action. */ 114 public java_cup.runtime.Symbol do_action( 115 int act_num, 116 java_cup.runtime.lr_parser parser, 117 java.util.Stack stack, 118 int top) 119 throws java.lang.Exception 120 { 121 /* call code in generated class */ 122 return action_obj.CUP$AccParser$do_action(act_num, parser, stack, top); 123 } 124 125 /** Indicates start state. */ 126 public int start_state() {return 0;} 127 /** Indicates start production. */ 128 public int start_production() {return 1;} 129 130 /** <code>EOF</code> Symbol index. */ 131 public int EOF_sym() {return 0;} 132 133 /** <code>error</code> Symbol index. */ 134 public int error_sym() {return 1;} 135 136 } 137 138 /** Cup generated class to encapsulate user supplied action code.*/ 139 class CUP$AccParser$actions { 140 private final AccParser parser; 141 142 /** Constructor */ 143 CUP$AccParser$actions(AccParser parser) { 144 this.parser = parser; 145 } 146 147 /** Method with the actual generated action code. */ 148 public final java_cup.runtime.Symbol CUP$AccParser$do_action( 149 int CUP$AccParser$act_num, 150 java_cup.runtime.lr_parser CUP$AccParser$parser, 151 java.util.Stack CUP$AccParser$stack, 152 int CUP$AccParser$top) 153 throws java.lang.Exception 154 { 155 /* Symbol object for return from actions */ 156 java_cup.runtime.Symbol CUP$AccParser$result; 157 158 /* select the action based on the action number */ 159 switch (CUP$AccParser$act_num) 160 { 161 /*. . . . . . . . . . . . . . . . . . . .*/ 162 case 22: // value_list ::= value 163 { 164 Vector RESULT = null; 165 int vleft = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).left; 166 int vright = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right; 167 Object v = (Object)((java_cup.runtime.Symbol) CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).value; 168 RESULT = new Vector(); RESULT.add(v); 169 CUP$AccParser$result = new java_cup.runtime.Symbol(4/*value_list*/, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right, RESULT); 170 } 171 return CUP$AccParser$result; 172 173 /*. . . . . . . . . . . . . . . . . . . .*/ 174 case 21: // value_list ::= value_list COMMA value 175 { 176 Vector RESULT = null; 177 int lleft = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-2)).left; 178 int lright = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-2)).right; 179 Vector l = (Vector)((java_cup.runtime.Symbol) CUP$AccParser$stack.elementAt(CUP$AccParser$top-2)).value; 180 int vleft = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).left; 181 int vright = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right; 182 Object v = (Object)((java_cup.runtime.Symbol) CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).value; 183 l.add(v); RESULT = l; 184 CUP$AccParser$result = new java_cup.runtime.Symbol(4/*value_list*/, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right, RESULT); 185 } 186 return CUP$AccParser$result; 187 188 /*. . . . . . . . . . . . . . . . . . . .*/ 189 case 20: // array_value ::= LBRACE RBRACE 190 { 191 Object[] RESULT = null; 192 RESULT = ExtArrays.emptyObjectArray; 193 CUP$AccParser$result = new java_cup.runtime.Symbol(8/*array_value*/, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-1)).left, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right, RESULT); 194 } 195 return CUP$AccParser$result; 196 197 /*. . . . . . . . . . . . . . . . . . . .*/ 198 case 19: // array_value ::= LBRACE value_list RBRACE 199 { 200 Object[] RESULT = null; 201 int lleft = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-1)).left; 202 int lright = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-1)).right; 203 Vector l = (Vector)((java_cup.runtime.Symbol) CUP$AccParser$stack.elementAt(CUP$AccParser$top-1)).value; 204 RESULT = l.toArray(); 205 CUP$AccParser$result = new java_cup.runtime.Symbol(8/*array_value*/, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right, RESULT); 206 } 207 return CUP$AccParser$result; 208 209 /*. . . . . . . . . . . . . . . . . . . .*/ 210 case 18: // value ::= array_value 211 { 212 Object RESULT = null; 213 int vleft = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).left; 214 int vright = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right; 215 Object[] v = (Object[])((java_cup.runtime.Symbol) CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).value; 216 RESULT = v; 217 CUP$AccParser$result = new java_cup.runtime.Symbol(9/*value*/, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right, RESULT); 218 } 219 return CUP$AccParser$result; 220 221 /*. . . . . . . . . . . . . . . . . . . .*/ 222 case 17: // value ::= ATOMIC_VALUE 223 { 224 Object RESULT = null; 225 int vleft = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).left; 226 int vright = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right; 227 String v = (String)((java_cup.runtime.Symbol) CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).value; 228 RESULT = v; 229 CUP$AccParser$result = new java_cup.runtime.Symbol(9/*value*/, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right, RESULT); 230 } 231 return CUP$AccParser$result; 232 233 /*. . . . . . . . . . . . . . . . . . . .*/ 234 case 16: // args ::= value 235 { 236 Vector RESULT = null; 237 int vleft = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).left; 238 int vright = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right; 239 Object v = (Object)((java_cup.runtime.Symbol) CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).value; 240 RESULT = new Vector(); RESULT.add(v); 241 CUP$AccParser$result = new java_cup.runtime.Symbol(3/*args*/, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right, RESULT); 242 } 243 return CUP$AccParser$result; 244 245 /*. . . . . . . . . . . . . . . . . . . .*/ 246 case 15: // args ::= value args 247 { 248 Vector RESULT = null; 249 int vleft = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-1)).left; 250 int vright = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-1)).right; 251 Object v = (Object)((java_cup.runtime.Symbol) CUP$AccParser$stack.elementAt(CUP$AccParser$top-1)).value; 252 int lleft = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).left; 253 int lright = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right; 254 Vector l = (Vector)((java_cup.runtime.Symbol) CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).value; 255 l.add(0,v); RESULT = l; 256 CUP$AccParser$result = new java_cup.runtime.Symbol(3/*args*/, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-1)).left, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right, RESULT); 257 } 258 return CUP$AccParser$result; 259 260 /*. . . . . . . . . . . . . . . . . . . .*/ 261 case 14: // import_statement ::= IMPORT ATOMIC_VALUE EOL 262 { 263 ImportStatement RESULT = null; 264 int mleft = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-1)).left; 265 int mright = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-1)).right; 266 String m = (String)((java_cup.runtime.Symbol) CUP$AccParser$stack.elementAt(CUP$AccParser$top-1)).value; 267 RESULT = new ImportStatement(m,((AccScanner)parser.getScanner()).getLine()); 268 CUP$AccParser$result = new java_cup.runtime.Symbol(11/*import_statement*/, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right, RESULT); 269 } 270 return CUP$AccParser$result; 271 272 /*. . . . . . . . . . . . . . . . . . . .*/ 273 case 13: // conf_method ::= ATOMIC_VALUE error EOL 274 { 275 ConfigMethod RESULT = null; 276 int mleft = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-2)).left; 277 int mright = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-2)).right; 278 String m = (String)((java_cup.runtime.Symbol) CUP$AccParser$stack.elementAt(CUP$AccParser$top-2)).value; 279 int errleft = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-1)).left; 280 int errright = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-1)).right; 281 Object err = (Object)((java_cup.runtime.Symbol) CUP$AccParser$stack.elementAt(CUP$AccParser$top-1)).value; 282 int eleft = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).left; 283 int eright = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right; 284 Object e = (Object)((java_cup.runtime.Symbol) CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).value; 285 286 RESULT = null; 287 288 CUP$AccParser$result = new java_cup.runtime.Symbol(10/*conf_method*/, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right, RESULT); 289 } 290 return CUP$AccParser$result; 291 292 /*. . . . . . . . . . . . . . . . . . . .*/ 293 case 12: // conf_method ::= ATOMIC_VALUE EOL 294 { 295 ConfigMethod RESULT = null; 296 int mleft = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-1)).left; 297 int mright = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-1)).right; 298 String m = (String)((java_cup.runtime.Symbol) CUP$AccParser$stack.elementAt(CUP$AccParser$top-1)).value; 299 300 AccScanner scanner = (AccScanner)parser.getScanner(); 301 RESULT = new ConfigMethod(m,ExtArrays.emptyObjectArray, 302 scanner.getLine()); 303 304 CUP$AccParser$result = new java_cup.runtime.Symbol(10/*conf_method*/, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-1)).left, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right, RESULT); 305 } 306 return CUP$AccParser$result; 307 308 /*. . . . . . . . . . . . . . . . . . . .*/ 309 case 11: // conf_method ::= ATOMIC_VALUE args EOL 310 { 311 ConfigMethod RESULT = null; 312 int mleft = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-2)).left; 313 int mright = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-2)).right; 314 String m = (String)((java_cup.runtime.Symbol) CUP$AccParser$stack.elementAt(CUP$AccParser$top-2)).value; 315 int aleft = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-1)).left; 316 int aright = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-1)).right; 317 Vector a = (Vector)((java_cup.runtime.Symbol) CUP$AccParser$stack.elementAt(CUP$AccParser$top-1)).value; 318 319 AccScanner scanner = (AccScanner)parser.getScanner(); 320 RESULT = new ConfigMethod(m,a.toArray(), 321 scanner.getLine()); 322 323 CUP$AccParser$result = new java_cup.runtime.Symbol(10/*conf_method*/, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right, RESULT); 324 } 325 return CUP$AccParser$result; 326 327 /*. . . . . . . . . . . . . . . . . . . .*/ 328 case 10: // block_params ::= ATOMIC_VALUE 329 { 330 Vector RESULT = null; 331 int vleft = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).left; 332 int vright = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right; 333 String v = (String)((java_cup.runtime.Symbol) CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).value; 334 RESULT = new Vector(); RESULT.add(v); 335 CUP$AccParser$result = new java_cup.runtime.Symbol(7/*block_params*/, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right, RESULT); 336 } 337 return CUP$AccParser$result; 338 339 /*. . . . . . . . . . . . . . . . . . . .*/ 340 case 9: // block_params ::= block_params COMMA ATOMIC_VALUE 341 { 342 Vector RESULT = null; 343 int lleft = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-2)).left; 344 int lright = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-2)).right; 345 Vector l = (Vector)((java_cup.runtime.Symbol) CUP$AccParser$stack.elementAt(CUP$AccParser$top-2)).value; 346 int vleft = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).left; 347 int vright = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right; 348 String v = (String)((java_cup.runtime.Symbol) CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).value; 349 l.add(v); RESULT = l; 350 CUP$AccParser$result = new java_cup.runtime.Symbol(7/*block_params*/, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right, RESULT); 351 } 352 return CUP$AccParser$result; 353 354 /*. . . . . . . . . . . . . . . . . . . .*/ 355 case 8: // class_block ::= CLASS block_params LBRACE acc RBRACE 356 { 357 Vector RESULT = null; 358 int cleft = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-3)).left; 359 int cright = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-3)).right; 360 Vector c = (Vector)((java_cup.runtime.Symbol) CUP$AccParser$stack.elementAt(CUP$AccParser$top-3)).value; 361 int lleft = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-1)).left; 362 int lright = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-1)).right; 363 Vector l = (Vector)((java_cup.runtime.Symbol) CUP$AccParser$stack.elementAt(CUP$AccParser$top-1)).value; 364 365 RESULT = new Vector(); 366 for(int i=0; i<l.size(); i++) { 367 Object[] args = ((ConfigMethod)l.get(i)).getArgs(); 368 for (int k=0; k<c.size(); k++) { 369 ConfigMethod cm = (ConfigMethod)((ConfigMethod)l.get(i)).clone(); 370 Object[] new_args = new Object[args.length+1]; 371 new_args[0] = c.get(k); 372 for(int j=0; j<args.length; j++) { 373 new_args[j+1] = args[j]; 374 } 375 cm.setArgs(new_args); 376 RESULT.add(cm); 377 } 378 } 379 380 CUP$AccParser$result = new java_cup.runtime.Symbol(6/*class_block*/, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-4)).left, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right, RESULT); 381 } 382 return CUP$AccParser$result; 383 384 /*. . . . . . . . . . . . . . . . . . . .*/ 385 case 7: // block ::= import_statement 386 { 387 Vector RESULT = null; 388 int ileft = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).left; 389 int iright = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right; 390 ImportStatement i = (ImportStatement)((java_cup.runtime.Symbol) CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).value; 391 RESULT = new Vector(); RESULT.add(i); 392 CUP$AccParser$result = new java_cup.runtime.Symbol(5/*block*/, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right, RESULT); 393 } 394 return CUP$AccParser$result; 395 396 /*. . . . . . . . . . . . . . . . . . . .*/ 397 case 6: // block ::= conf_method 398 { 399 Vector RESULT = null; 400 int mleft = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).left; 401 int mright = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right; 402 ConfigMethod m = (ConfigMethod)((java_cup.runtime.Symbol) CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).value; 403 RESULT = new Vector(); RESULT.add(m); 404 CUP$AccParser$result = new java_cup.runtime.Symbol(5/*block*/, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right, RESULT); 405 } 406 return CUP$AccParser$result; 407 408 /*. . . . . . . . . . . . . . . . . . . .*/ 409 case 5: // block ::= class_block 410 { 411 Vector RESULT = null; 412 int cleft = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).left; 413 int cright = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right; 414 Vector c = (Vector)((java_cup.runtime.Symbol) CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).value; 415 RESULT = c; 416 CUP$AccParser$result = new java_cup.runtime.Symbol(5/*block*/, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right, RESULT); 417 } 418 return CUP$AccParser$result; 419 420 /*. . . . . . . . . . . . . . . . . . . .*/ 421 case 4: // acc_real ::= block 422 { 423 Vector RESULT = null; 424 int bleft = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).left; 425 int bright = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right; 426 Vector b = (Vector)((java_cup.runtime.Symbol) CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).value; 427 RESULT = b; 428 CUP$AccParser$result = new java_cup.runtime.Symbol(2/*acc_real*/, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right, RESULT); 429 } 430 return CUP$AccParser$result; 431 432 /*. . . . . . . . . . . . . . . . . . . .*/ 433 case 3: // acc_real ::= acc block 434 { 435 Vector RESULT = null; 436 int lleft = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-1)).left; 437 int lright = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-1)).right; 438 Vector l = (Vector)((java_cup.runtime.Symbol) CUP$AccParser$stack.elementAt(CUP$AccParser$top-1)).value; 439 int bleft = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).left; 440 int bright = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right; 441 Vector b = (Vector)((java_cup.runtime.Symbol) CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).value; 442 if (b!=null) l.addAll(b); RESULT = l; 443 CUP$AccParser$result = new java_cup.runtime.Symbol(2/*acc_real*/, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-1)).left, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right, RESULT); 444 } 445 return CUP$AccParser$result; 446 447 /*. . . . . . . . . . . . . . . . . . . .*/ 448 case 2: // acc ::= acc_real 449 { 450 Vector RESULT = null; 451 int lleft = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).left; 452 int lright = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right; 453 Vector l = (Vector)((java_cup.runtime.Symbol) CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).value; 454 RESULT = l; 455 CUP$AccParser$result = new java_cup.runtime.Symbol(1/*acc*/, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right, RESULT); 456 } 457 return CUP$AccParser$result; 458 459 /*. . . . . . . . . . . . . . . . . . . .*/ 460 case 1: // $START ::= acc EOF 461 { 462 Object RESULT = null; 463 int start_valleft = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-1)).left; 464 int start_valright = ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-1)).right; 465 Vector start_val = (Vector)((java_cup.runtime.Symbol) CUP$AccParser$stack.elementAt(CUP$AccParser$top-1)).value; 466 RESULT = start_val; 467 CUP$AccParser$result = new java_cup.runtime.Symbol(0/*$START*/, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-1)).left, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right, RESULT); 468 } 469 /* ACCEPT */ 470 CUP$AccParser$parser.done_parsing(); 471 return CUP$AccParser$result; 472 473 /*. . . . . . . . . . . . . . . . . . . .*/ 474 case 0: // acc ::= 475 { 476 Vector RESULT = null; 477 RESULT = new Vector(); 478 CUP$AccParser$result = new java_cup.runtime.Symbol(1/*acc*/, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right, ((java_cup.runtime.Symbol)CUP$AccParser$stack.elementAt(CUP$AccParser$top-0)).right, RESULT); 479 } 480 return CUP$AccParser$result; 481 482 /* . . . . . .*/ 483 default: 484 throw new Exception( 485 "Invalid action number found in internal parse table"); 486 487 } 488 } 489 } 490