001 002 //---------------------------------------------------- 003 // The following code was generated by CUP v0.10i 004 // Tue Apr 27 08:54:22 EDT 1999 005 //---------------------------------------------------- 006 007 package com.croftsoft.apps.compiler.mini.parse; 008 009 import java_cup.runtime.*; 010 import com.croftsoft.apps.compiler.mini.node.*; 011 012 public class MiniParser extends java_cup.runtime.lr_parser { 013 014 /** constructor */ 015 public MiniParser() {super();} 016 017 /** production table */ 018 protected static final short _production_table[][] = 019 unpackFromStrings(new String[] { 020 "\000\063\000\002\002\004\000\002\026\003\000\002\004" + 021 "\006\000\002\004\005\000\002\010\003\000\002\010\004" + 022 "\000\002\031\003\000\002\031\004\000\002\007\005\000" + 023 "\002\007\006\000\002\007\011\000\002\030\003\000\002" + 024 "\030\003\000\002\030\003\000\002\030\003\000\002\030" + 025 "\003\000\002\030\003\000\002\030\003\000\002\016\007" + 026 "\000\002\023\007\000\002\003\006\000\002\006\010\000" + 027 "\002\006\011\000\002\011\010\000\002\015\010\000\002" + 028 "\025\005\000\002\025\010\000\002\024\003\000\002\020" + 029 "\003\000\002\020\005\000\002\014\003\000\002\014\005" + 030 "\000\002\005\005\000\002\013\003\000\002\013\005\000" + 031 "\002\032\003\000\002\032\005\000\002\012\003\000\002" + 032 "\012\003\000\002\012\005\000\002\017\003\000\002\027" + 033 "\003\000\002\027\003\000\002\027\003\000\002\027\003" + 034 "\000\002\027\003\000\002\027\003\000\002\021\003\000" + 035 "\002\021\003\000\002\022\003\000\002\022\003" }); 036 037 /** access to production table */ 038 public short[][] production_table() {return _production_table;} 039 040 /** parse action table */ 041 protected static final short[][] _action_table = 042 unpackFromStrings(new String[] { 043 "\000\153\000\004\004\005\001\002\000\004\002\155\001" + 044 "\002\000\024\005\016\011\020\012\030\014\010\015\011" + 045 "\017\031\020\015\021\021\045\017\001\002\000\004\002" + 046 "\000\001\002\000\024\005\ufffd\011\ufffd\012\ufffd\014\ufffd" + 047 "\015\ufffd\017\ufffd\020\ufffd\021\ufffd\045\ufffd\001\002\000" + 048 "\004\045\017\001\002\000\004\041\140\001\002\000\026" + 049 "\005\ufff0\007\ufff0\010\ufff0\011\ufff0\013\ufff0\015\ufff0\017" + 050 "\ufff0\020\ufff0\021\ufff0\045\ufff0\001\002\000\026\005\ufffb" + 051 "\007\ufffb\010\ufffb\011\ufffb\013\ufffb\015\ufffb\017\ufffb\020" + 052 "\ufffb\021\ufffb\045\ufffb\001\002\000\026\005\ufff4\007\ufff4" + 053 "\010\ufff4\011\ufff4\013\ufff4\015\ufff4\017\ufff4\020\ufff4\021" + 054 "\ufff4\045\ufff4\001\002\000\010\041\041\044\035\045\017" + 055 "\001\002\000\004\045\017\001\002\000\046\004\uffd9\006" + 056 "\uffd9\016\uffd9\022\uffd9\023\uffd9\024\uffd9\025\uffd9\026\uffd9" + 057 "\032\uffd9\033\uffd9\034\uffd9\035\uffd9\036\uffd9\037\uffd9\040" + 058 "\uffd9\041\uffd9\042\uffd9\043\uffd9\001\002\000\010\041\041" + 059 "\044\035\045\017\001\002\000\004\041\075\001\002\000" + 060 "\026\005\ufff3\007\ufff3\010\ufff3\011\ufff3\013\ufff3\015\ufff3" + 061 "\017\ufff3\020\ufff3\021\ufff3\045\ufff3\001\002\000\024\005" + 062 "\016\011\020\012\030\014\010\015\011\017\031\020\015" + 063 "\021\021\045\017\001\002\000\026\005\ufff6\007\ufff6\010" + 064 "\ufff6\011\ufff6\013\ufff6\015\ufff6\017\ufff6\020\ufff6\021\ufff6" + 065 "\045\ufff6\001\002\000\026\005\ufff5\007\ufff5\010\ufff5\011" + 066 "\ufff5\013\ufff5\015\ufff5\017\ufff5\020\ufff5\021\ufff5\045\ufff5" + 067 "\001\002\000\026\005\ufff2\007\ufff2\010\ufff2\011\ufff2\013" + 068 "\ufff2\015\ufff2\017\ufff2\020\ufff2\021\ufff2\045\ufff2\001\002" + 069 "\000\022\005\016\010\071\011\020\015\011\017\031\020" + 070 "\015\021\021\045\017\001\002\000\004\045\017\001\002" + 071 "\000\010\041\041\044\035\045\017\001\002\000\026\005" + 072 "\ufff1\007\ufff1\010\ufff1\011\ufff1\013\ufff1\015\ufff1\017\ufff1" + 073 "\020\ufff1\021\ufff1\045\ufff1\001\002\000\004\022\034\001" + 074 "\002\000\010\041\041\044\035\045\017\001\002\000\040" + 075 "\006\uffdc\016\uffdc\023\uffdc\024\uffdc\025\uffdc\026\uffdc\032" + 076 "\uffdc\033\uffdc\034\uffdc\035\uffdc\036\uffdc\037\uffdc\040\uffdc" + 077 "\042\uffdc\043\uffdc\001\002\000\040\006\uffde\016\uffde\023" + 078 "\uffde\024\uffde\025\uffde\026\uffde\032\uffde\033\uffde\034\uffde" + 079 "\035\uffde\036\uffde\037\uffde\040\uffde\042\uffde\043\uffde\001" + 080 "\002\000\040\006\uffe0\016\uffe0\023\uffe0\024\uffe0\025\052" + 081 "\026\051\032\uffe0\033\uffe0\034\uffe0\035\uffe0\036\uffe0\037" + 082 "\uffe0\040\uffe0\042\uffe0\043\uffe0\001\002\000\040\006\uffdb" + 083 "\016\uffdb\023\uffdb\024\uffdb\025\uffdb\026\uffdb\032\uffdb\033" + 084 "\uffdb\034\uffdb\035\uffdb\036\uffdb\037\uffdb\040\uffdb\042\uffdb" + 085 "\043\uffdb\001\002\000\010\041\041\044\035\045\017\001" + 086 "\002\000\010\023\045\024\046\040\044\001\002\000\010" + 087 "\041\041\044\035\045\017\001\002\000\026\005\uffed\007" + 088 "\uffed\010\uffed\011\uffed\013\uffed\015\uffed\017\uffed\020\uffed" + 089 "\021\uffed\045\uffed\001\002\000\010\041\uffd2\044\uffd2\045" + 090 "\uffd2\001\002\000\010\041\uffd1\044\uffd1\045\uffd1\001\002" + 091 "\000\040\006\uffdf\016\uffdf\023\uffdf\024\uffdf\025\052\026" + 092 "\051\032\uffdf\033\uffdf\034\uffdf\035\uffdf\036\uffdf\037\uffdf" + 093 "\040\uffdf\042\uffdf\043\uffdf\001\002\000\010\041\041\044" + 094 "\035\045\017\001\002\000\010\041\uffcf\044\uffcf\045\uffcf" + 095 "\001\002\000\010\041\uffd0\044\uffd0\045\uffd0\001\002\000" + 096 "\040\006\uffdd\016\uffdd\023\uffdd\024\uffdd\025\uffdd\026\uffdd" + 097 "\032\uffdd\033\uffdd\034\uffdd\035\uffdd\036\uffdd\037\uffdd\040" + 098 "\uffdd\042\uffdd\043\uffdd\001\002\000\010\023\045\024\046" + 099 "\042\055\001\002\000\040\006\uffda\016\uffda\023\uffda\024" + 100 "\uffda\025\uffda\026\uffda\032\uffda\033\uffda\034\uffda\035\uffda" + 101 "\036\uffda\037\uffda\040\uffda\042\uffda\043\uffda\001\002\000" + 102 "\010\006\057\023\045\024\046\001\002\000\020\005\016" + 103 "\011\020\015\011\017\031\020\015\021\021\045\017\001" + 104 "\002\000\022\005\016\010\062\011\020\015\011\017\031" + 105 "\020\015\021\021\045\017\001\002\000\026\005\ufffa\007" + 106 "\ufffa\010\ufffa\011\ufffa\013\ufffa\015\ufffa\017\ufffa\020\ufffa" + 107 "\021\ufffa\045\ufffa\001\002\000\004\040\063\001\002\000" + 108 "\026\005\uffea\007\uffea\010\uffea\011\uffea\013\uffea\015\uffea" + 109 "\017\uffea\020\uffea\021\uffea\045\uffea\001\002\000\010\040" + 110 "\uffe5\042\uffe5\043\uffe5\001\002\000\006\040\067\043\066" + 111 "\001\002\000\004\045\017\001\002\000\024\005\ufff9\011" + 112 "\ufff9\012\ufff9\014\ufff9\015\ufff9\017\ufff9\020\ufff9\021\ufff9" + 113 "\045\ufff9\001\002\000\010\040\uffe4\042\uffe4\043\uffe4\001" + 114 "\002\000\006\002\ufffe\040\ufffe\001\002\000\024\005\ufffc" + 115 "\011\ufffc\012\ufffc\014\ufffc\015\ufffc\017\ufffc\020\ufffc\021" + 116 "\ufffc\045\ufffc\001\002\000\022\005\016\010\074\011\020" + 117 "\015\011\017\031\020\015\021\021\045\017\001\002\000" + 118 "\006\002\uffff\040\uffff\001\002\000\010\041\041\044\035" + 119 "\045\017\001\002\000\006\042\101\043\100\001\002\000" + 120 "\012\023\045\024\046\042\uffe3\043\uffe3\001\002\000\010" + 121 "\041\041\044\035\045\017\001\002\000\004\040\102\001" + 122 "\002\000\026\005\uffee\007\uffee\010\uffee\011\uffee\013\uffee" + 123 "\015\uffee\017\uffee\020\uffee\021\uffee\045\uffee\001\002\000" + 124 "\012\023\045\024\046\042\uffe2\043\uffe2\001\002\000\004" + 125 "\016\116\001\002\000\022\023\045\024\046\032\110\033" + 126 "\113\034\112\035\114\036\107\037\111\001\002\000\010" + 127 "\041\041\044\035\045\017\001\002\000\010\041\uffd4\044" + 128 "\uffd4\045\uffd4\001\002\000\010\041\uffd8\044\uffd8\045\uffd8" + 129 "\001\002\000\010\041\uffd7\044\uffd7\045\uffd7\001\002\000" + 130 "\010\041\uffd5\044\uffd5\045\uffd5\001\002\000\010\041\uffd3" + 131 "\044\uffd3\045\uffd3\001\002\000\010\041\uffd6\044\uffd6\045" + 132 "\uffd6\001\002\000\012\006\uffe1\016\uffe1\023\045\024\046" + 133 "\001\002\000\020\005\016\011\020\015\011\017\031\020" + 134 "\015\021\021\045\017\001\002\000\024\005\016\007\120" + 135 "\011\020\013\121\015\011\017\031\020\015\021\021\045" + 136 "\017\001\002\000\020\005\016\011\020\015\011\017\031" + 137 "\020\015\021\021\045\017\001\002\000\004\040\122\001" + 138 "\002\000\026\005\uffec\007\uffec\010\uffec\011\uffec\013\uffec" + 139 "\015\uffec\017\uffec\020\uffec\021\uffec\045\uffec\001\002\000" + 140 "\022\005\016\011\020\013\124\015\011\017\031\020\015" + 141 "\021\021\045\017\001\002\000\026\005\uffeb\007\uffeb\010" + 142 "\uffeb\011\uffeb\013\uffeb\015\uffeb\017\uffeb\020\uffeb\021\uffeb" + 143 "\045\uffeb\001\002\000\006\040\126\041\127\001\002\000" + 144 "\026\005\uffe8\007\uffe8\010\uffe8\011\uffe8\013\uffe8\015\uffe8" + 145 "\017\uffe8\020\uffe8\021\uffe8\045\uffe8\001\002\000\010\041" + 146 "\041\044\035\045\017\001\002\000\006\042\131\043\100" + 147 "\001\002\000\004\040\132\001\002\000\026\005\uffe7\007" + 148 "\uffe7\010\uffe7\011\uffe7\013\uffe7\015\uffe7\017\uffe7\020\uffe7" + 149 "\021\uffe7\045\uffe7\001\002\000\004\006\134\001\002\000" + 150 "\020\005\016\011\020\015\011\017\031\020\015\021\021" + 151 "\045\017\001\002\000\022\005\016\010\136\011\020\015" + 152 "\011\017\031\020\015\021\021\045\017\001\002\000\004" + 153 "\040\137\001\002\000\026\005\uffe9\007\uffe9\010\uffe9\011" + 154 "\uffe9\013\uffe9\015\uffe9\017\uffe9\020\uffe9\021\uffe9\045\uffe9" + 155 "\001\002\000\004\045\017\001\002\000\006\042\142\043" + 156 "\066\001\002\000\004\040\143\001\002\000\026\005\uffef" + 157 "\007\uffef\010\uffef\011\uffef\013\uffef\015\uffef\017\uffef\020" + 158 "\uffef\021\uffef\045\uffef\001\002\000\006\004\005\041\145" + 159 "\001\002\000\004\045\017\001\002\000\004\040\147\001" + 160 "\002\000\024\005\ufff8\011\ufff8\012\ufff8\014\ufff8\015\ufff8" + 161 "\017\ufff8\020\ufff8\021\ufff8\045\ufff8\001\002\000\004\042" + 162 "\152\001\002\000\006\042\uffe6\043\066\001\002\000\004" + 163 "\004\005\001\002\000\004\040\154\001\002\000\024\005" + 164 "\ufff7\011\ufff7\012\ufff7\014\ufff7\015\ufff7\017\ufff7\020\ufff7" + 165 "\021\ufff7\045\ufff7\001\002\000\004\002\001\001\002" }); 166 167 /** access to parse action table */ 168 public short[][] action_table() {return _action_table;} 169 170 /** reduce_goto table */ 171 protected static final short[][] _reduce_table = 172 unpackFromStrings(new String[] { 173 "\000\153\000\006\004\005\026\003\001\001\000\002\001" + 174 "\001\000\032\003\013\006\021\007\006\010\022\011\025" + 175 "\015\031\016\023\017\032\023\024\025\011\030\012\031" + 176 "\026\001\001\000\002\001\001\000\002\001\001\000\004" + 177 "\017\143\001\001\000\002\001\001\000\002\001\001\000" + 178 "\002\001\001\000\002\001\001\000\014\005\132\012\035" + 179 "\013\104\017\037\032\036\001\001\000\004\017\124\001" + 180 "\001\000\002\001\001\000\014\005\103\012\035\013\104" + 181 "\017\037\032\036\001\001\000\002\001\001\000\002\001" + 182 "\001\000\030\003\013\006\021\007\071\011\025\015\031" + 183 "\016\023\017\032\023\024\025\011\030\012\031\072\001" + 184 "\001\000\002\001\001\000\002\001\001\000\002\001\001" + 185 "\000\024\003\013\006\021\011\025\015\031\016\023\017" + 186 "\032\023\024\025\011\030\060\001\001\000\006\017\063" + 187 "\020\064\001\001\000\012\012\035\013\055\017\037\032" + 188 "\036\001\001\000\002\001\001\000\002\001\001\000\012" + 189 "\012\035\013\041\017\037\032\036\001\001\000\002\001" + 190 "\001\000\002\001\001\000\004\022\047\001\001\000\002" + 191 "\001\001\000\012\012\035\013\053\017\037\032\036\001" + 192 "\001\000\004\021\042\001\001\000\010\012\035\017\037" + 193 "\032\046\001\001\000\002\001\001\000\002\001\001\000" + 194 "\002\001\001\000\004\022\047\001\001\000\006\012\052" + 195 "\017\037\001\001\000\002\001\001\000\002\001\001\000" + 196 "\002\001\001\000\004\021\042\001\001\000\002\001\001" + 197 "\000\004\021\042\001\001\000\026\003\013\006\021\011" + 198 "\025\015\031\016\023\017\032\023\024\025\011\030\012" + 199 "\031\057\001\001\000\024\003\013\006\021\011\025\015" + 200 "\031\016\023\017\032\023\024\025\011\030\060\001\001" + 201 "\000\002\001\001\000\002\001\001\000\002\001\001\000" + 202 "\002\001\001\000\002\001\001\000\004\017\067\001\001" + 203 "\000\002\001\001\000\002\001\001\000\002\001\001\000" + 204 "\002\001\001\000\024\003\013\006\021\011\025\015\031" + 205 "\016\023\017\032\023\024\025\011\030\060\001\001\000" + 206 "\002\001\001\000\014\012\035\013\076\014\075\017\037" + 207 "\032\036\001\001\000\002\001\001\000\004\021\042\001" + 208 "\001\000\012\012\035\013\102\017\037\032\036\001\001" + 209 "\000\002\001\001\000\002\001\001\000\004\021\042\001" + 210 "\001\000\002\001\001\000\006\021\042\027\105\001\001" + 211 "\000\012\012\035\013\114\017\037\032\036\001\001\000" + 212 "\002\001\001\000\002\001\001\000\002\001\001\000\002" + 213 "\001\001\000\002\001\001\000\002\001\001\000\004\021" + 214 "\042\001\001\000\026\003\013\006\021\011\025\015\031" + 215 "\016\023\017\032\023\024\025\011\030\012\031\116\001" + 216 "\001\000\024\003\013\006\021\011\025\015\031\016\023" + 217 "\017\032\023\024\025\011\030\060\001\001\000\026\003" + 218 "\013\006\021\011\025\015\031\016\023\017\032\023\024" + 219 "\025\011\030\012\031\122\001\001\000\002\001\001\000" + 220 "\002\001\001\000\024\003\013\006\021\011\025\015\031" + 221 "\016\023\017\032\023\024\025\011\030\060\001\001\000" + 222 "\002\001\001\000\002\001\001\000\002\001\001\000\014" + 223 "\012\035\013\076\014\127\017\037\032\036\001\001\000" + 224 "\002\001\001\000\002\001\001\000\002\001\001\000\002" + 225 "\001\001\000\026\003\013\006\021\011\025\015\031\016" + 226 "\023\017\032\023\024\025\011\030\012\031\134\001\001" + 227 "\000\024\003\013\006\021\011\025\015\031\016\023\017" + 228 "\032\023\024\025\011\030\060\001\001\000\002\001\001" + 229 "\000\002\001\001\000\006\017\063\020\140\001\001\000" + 230 "\002\001\001\000\002\001\001\000\002\001\001\000\004" + 231 "\004\145\001\001\000\010\017\063\020\150\024\147\001" + 232 "\001\000\002\001\001\000\002\001\001\000\002\001\001" + 233 "\000\002\001\001\000\004\004\152\001\001\000\002\001" + 234 "\001\000\002\001\001\000\002\001\001" }); 235 236 /** access to reduce_goto table */ 237 public short[][] reduce_table() {return _reduce_table;} 238 239 /** instance of action encapsulation class */ 240 protected CUP$MiniParser$actions action_obj; 241 242 /** action encapsulation object initializer */ 243 protected void init_actions() 244 { 245 action_obj = new CUP$MiniParser$actions(this); 246 } 247 248 /** invoke a user supplied parse action */ 249 public java_cup.runtime.Symbol do_action( 250 int act_num, 251 java_cup.runtime.lr_parser parser, 252 java.util.Stack stack, 253 int top) 254 throws java.lang.Exception 255 { 256 /* call code in generated class */ 257 return action_obj.CUP$MiniParser$do_action(act_num, parser, stack, top); 258 } 259 260 /** start state */ 261 public int start_state() {return 0;} 262 /** start production */ 263 public int start_production() {return 0;} 264 265 /** EOF Symbol index */ 266 public int EOF_sym() {return 0;} 267 268 /** error Symbol index */ 269 public int error_sym() {return 1;} 270 271 272 /** user initialization */ 273 public void user_init() throws java.lang.Exception 274 { 275 276 } 277 278 /** scan to get the next Symbol */ 279 public java_cup.runtime.Symbol scan() 280 throws java.lang.Exception 281 { 282 return cupTokenScanner.nextToken ( ); 283 } 284 285 286 287 protected CUPTokenScanner cupTokenScanner; 288 289 public MiniParser ( CUPTokenScanner cupTokenScanner ) 290 ////////////////////////////////////////////////////////////////////// 291 { 292 this.cupTokenScanner = cupTokenScanner; 293 } 294 295 296 } 297 298 /** Cup generated class to encapsulate user supplied action code.*/ 299 class CUP$MiniParser$actions { 300 301 302 ////////////////////////////////////////////////////////////////////// 303 // Action Code 304 ////////////////////////////////////////////////////////////////////// 305 306 private final MiniParser parser; 307 308 /** Constructor */ 309 CUP$MiniParser$actions(MiniParser parser) { 310 this.parser = parser; 311 } 312 313 /** Method with the actual generated action code. */ 314 public final java_cup.runtime.Symbol CUP$MiniParser$do_action( 315 int CUP$MiniParser$act_num, 316 java_cup.runtime.lr_parser CUP$MiniParser$parser, 317 java.util.Stack CUP$MiniParser$stack, 318 int CUP$MiniParser$top) 319 throws java.lang.Exception 320 { 321 /* Symbol object for return from actions */ 322 java_cup.runtime.Symbol CUP$MiniParser$result; 323 324 /* select the action based on the action number */ 325 switch (CUP$MiniParser$act_num) 326 { 327 /*. . . . . . . . . . . . . . . . . . . .*/ 328 case 50: // strongOperator ::= DIVIDE 329 { 330 OperatorMiniNode RESULT = null; 331 RESULT = new OperatorMiniNode ( MiniSymbols.DIVIDE ); 332 CUP$MiniParser$result = new java_cup.runtime.Symbol(16/*strongOperator*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); 333 } 334 return CUP$MiniParser$result; 335 336 /*. . . . . . . . . . . . . . . . . . . .*/ 337 case 49: // strongOperator ::= TIMES 338 { 339 OperatorMiniNode RESULT = null; 340 RESULT = new OperatorMiniNode ( MiniSymbols.TIMES ); 341 CUP$MiniParser$result = new java_cup.runtime.Symbol(16/*strongOperator*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); 342 } 343 return CUP$MiniParser$result; 344 345 /*. . . . . . . . . . . . . . . . . . . .*/ 346 case 48: // weakOperator ::= MINUS 347 { 348 OperatorMiniNode RESULT = null; 349 RESULT = new OperatorMiniNode ( MiniSymbols.MINUS ); 350 CUP$MiniParser$result = new java_cup.runtime.Symbol(15/*weakOperator*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); 351 } 352 return CUP$MiniParser$result; 353 354 /*. . . . . . . . . . . . . . . . . . . .*/ 355 case 47: // weakOperator ::= PLUS 356 { 357 OperatorMiniNode RESULT = null; 358 RESULT = new OperatorMiniNode ( MiniSymbols.PLUS ); 359 CUP$MiniParser$result = new java_cup.runtime.Symbol(15/*weakOperator*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); 360 } 361 return CUP$MiniParser$result; 362 363 /*. . . . . . . . . . . . . . . . . . . .*/ 364 case 46: // relation ::= NE 365 { 366 RelationMiniNode RESULT = null; 367 RESULT = new RelationMiniNode ( MiniSymbols.NE ); 368 CUP$MiniParser$result = new java_cup.runtime.Symbol(21/*relation*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); 369 } 370 return CUP$MiniParser$result; 371 372 /*. . . . . . . . . . . . . . . . . . . .*/ 373 case 45: // relation ::= GE 374 { 375 RelationMiniNode RESULT = null; 376 RESULT = new RelationMiniNode ( MiniSymbols.GE ); 377 CUP$MiniParser$result = new java_cup.runtime.Symbol(21/*relation*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); 378 } 379 return CUP$MiniParser$result; 380 381 /*. . . . . . . . . . . . . . . . . . . .*/ 382 case 44: // relation ::= GT 383 { 384 RelationMiniNode RESULT = null; 385 RESULT = new RelationMiniNode ( MiniSymbols.GT ); 386 CUP$MiniParser$result = new java_cup.runtime.Symbol(21/*relation*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); 387 } 388 return CUP$MiniParser$result; 389 390 /*. . . . . . . . . . . . . . . . . . . .*/ 391 case 43: // relation ::= LT 392 { 393 RelationMiniNode RESULT = null; 394 RESULT = new RelationMiniNode ( MiniSymbols.LT ); 395 CUP$MiniParser$result = new java_cup.runtime.Symbol(21/*relation*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); 396 } 397 return CUP$MiniParser$result; 398 399 /*. . . . . . . . . . . . . . . . . . . .*/ 400 case 42: // relation ::= LE 401 { 402 RelationMiniNode RESULT = null; 403 RESULT = new RelationMiniNode ( MiniSymbols.LE ); 404 CUP$MiniParser$result = new java_cup.runtime.Symbol(21/*relation*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); 405 } 406 return CUP$MiniParser$result; 407 408 /*. . . . . . . . . . . . . . . . . . . .*/ 409 case 41: // relation ::= EQ 410 { 411 RelationMiniNode RESULT = null; 412 RESULT = new RelationMiniNode ( MiniSymbols.EQ ); 413 CUP$MiniParser$result = new java_cup.runtime.Symbol(21/*relation*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); 414 } 415 return CUP$MiniParser$result; 416 417 /*. . . . . . . . . . . . . . . . . . . .*/ 418 case 40: // name1 ::= NAME 419 { 420 NameMiniNode RESULT = null; 421 int nleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left; 422 int nright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right; 423 String n = (String)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value; 424 RESULT = new NameMiniNode ( n ); 425 CUP$MiniParser$result = new java_cup.runtime.Symbol(13/*name1*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); 426 } 427 return CUP$MiniParser$result; 428 429 /*. . . . . . . . . . . . . . . . . . . .*/ 430 case 39: // element ::= LPAREN expression RPAREN 431 { 432 ElementMiniNode RESULT = null; 433 int eleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).left; 434 int eright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).right; 435 ExpressionMiniNode e = (ExpressionMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).value; 436 RESULT = new ExpressionElementMiniNode ( e ); 437 CUP$MiniParser$result = new java_cup.runtime.Symbol(8/*element*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); 438 } 439 return CUP$MiniParser$result; 440 441 /*. . . . . . . . . . . . . . . . . . . .*/ 442 case 38: // element ::= name1 443 { 444 ElementMiniNode RESULT = null; 445 int nleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left; 446 int nright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right; 447 NameMiniNode n = (NameMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value; 448 RESULT = n; 449 CUP$MiniParser$result = new java_cup.runtime.Symbol(8/*element*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); 450 } 451 return CUP$MiniParser$result; 452 453 /*. . . . . . . . . . . . . . . . . . . .*/ 454 case 37: // element ::= CONSTANT 455 { 456 ElementMiniNode RESULT = null; 457 int cleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left; 458 int cright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right; 459 Integer c = (Integer)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value; 460 RESULT = new ConstantMiniNode ( c.intValue ( ) ); 461 CUP$MiniParser$result = new java_cup.runtime.Symbol(8/*element*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); 462 } 463 return CUP$MiniParser$result; 464 465 /*. . . . . . . . . . . . . . . . . . . .*/ 466 case 36: // term ::= term strongOperator element 467 { 468 TermMiniNode RESULT = null; 469 int tleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left; 470 int tright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).right; 471 TermMiniNode t = (TermMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).value; 472 int oleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).left; 473 int oright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).right; 474 OperatorMiniNode o = (OperatorMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).value; 475 int eleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left; 476 int eright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right; 477 ElementMiniNode e = (ElementMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value; 478 RESULT = new TermMiniNode ( t, o, e ); 479 CUP$MiniParser$result = new java_cup.runtime.Symbol(24/*term*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); 480 } 481 return CUP$MiniParser$result; 482 483 /*. . . . . . . . . . . . . . . . . . . .*/ 484 case 35: // term ::= element 485 { 486 TermMiniNode RESULT = null; 487 int eleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left; 488 int eright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right; 489 ElementMiniNode e = (ElementMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value; 490 RESULT = new TermMiniNode ( e ); 491 CUP$MiniParser$result = new java_cup.runtime.Symbol(24/*term*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); 492 } 493 return CUP$MiniParser$result; 494 495 /*. . . . . . . . . . . . . . . . . . . .*/ 496 case 34: // expression ::= expression weakOperator term 497 { 498 ExpressionMiniNode RESULT = null; 499 int eleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left; 500 int eright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).right; 501 ExpressionMiniNode e = (ExpressionMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).value; 502 int oleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).left; 503 int oright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).right; 504 OperatorMiniNode o = (OperatorMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).value; 505 int tleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left; 506 int tright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right; 507 TermMiniNode t = (TermMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value; 508 RESULT = new ExpressionMiniNode ( e, o, t ); 509 CUP$MiniParser$result = new java_cup.runtime.Symbol(9/*expression*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); 510 } 511 return CUP$MiniParser$result; 512 513 /*. . . . . . . . . . . . . . . . . . . .*/ 514 case 33: // expression ::= term 515 { 516 ExpressionMiniNode RESULT = null; 517 int tleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left; 518 int tright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right; 519 TermMiniNode t = (TermMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value; 520 RESULT = new ExpressionMiniNode ( t ); 521 CUP$MiniParser$result = new java_cup.runtime.Symbol(9/*expression*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); 522 } 523 return CUP$MiniParser$result; 524 525 /*. . . . . . . . . . . . . . . . . . . .*/ 526 case 32: // comparison ::= expression relation expression 527 { 528 ComparisonMiniNode RESULT = null; 529 int eLleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left; 530 int eLright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).right; 531 ExpressionMiniNode eL = (ExpressionMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).value; 532 int rleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).left; 533 int rright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).right; 534 RelationMiniNode r = (RelationMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).value; 535 int eRleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left; 536 int eRright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right; 537 ExpressionMiniNode eR = (ExpressionMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value; 538 RESULT = new ComparisonMiniNode ( eL, r, eR ); 539 CUP$MiniParser$result = new java_cup.runtime.Symbol(3/*comparison*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); 540 } 541 return CUP$MiniParser$result; 542 543 /*. . . . . . . . . . . . . . . . . . . .*/ 544 case 31: // expressionList ::= expressionList COMMA expression 545 { 546 ExpressionSequenceMiniNode RESULT = null; 547 int eLleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left; 548 int eLright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).right; 549 ExpressionSequenceMiniNode eL = (ExpressionSequenceMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).value; 550 int eleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left; 551 int eright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right; 552 ExpressionMiniNode e = (ExpressionMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value; 553 RESULT = new ExpressionSequenceMiniNode ( eL, e ); 554 CUP$MiniParser$result = new java_cup.runtime.Symbol(10/*expressionList*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); 555 } 556 return CUP$MiniParser$result; 557 558 /*. . . . . . . . . . . . . . . . . . . .*/ 559 case 30: // expressionList ::= expression 560 { 561 ExpressionSequenceMiniNode RESULT = null; 562 int eleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left; 563 int eright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right; 564 ExpressionMiniNode e = (ExpressionMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value; 565 RESULT = new ExpressionSequenceMiniNode ( null, e ); 566 CUP$MiniParser$result = new java_cup.runtime.Symbol(10/*expressionList*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); 567 } 568 return CUP$MiniParser$result; 569 570 /*. . . . . . . . . . . . . . . . . . . .*/ 571 case 29: // nameList ::= nameList COMMA name1 572 { 573 NameSequenceMiniNode RESULT = null; 574 int nLleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left; 575 int nLright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).right; 576 NameSequenceMiniNode nL = (NameSequenceMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).value; 577 int nleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left; 578 int nright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right; 579 NameMiniNode n = (NameMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value; 580 RESULT = new NameSequenceMiniNode ( nL, n ); 581 CUP$MiniParser$result = new java_cup.runtime.Symbol(14/*nameList*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); 582 } 583 return CUP$MiniParser$result; 584 585 /*. . . . . . . . . . . . . . . . . . . .*/ 586 case 28: // nameList ::= name1 587 { 588 NameSequenceMiniNode RESULT = null; 589 int nleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left; 590 int nright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right; 591 NameMiniNode n = (NameMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value; 592 RESULT = new NameSequenceMiniNode ( n ); 593 CUP$MiniParser$result = new java_cup.runtime.Symbol(14/*nameList*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); 594 } 595 return CUP$MiniParser$result; 596 597 /*. . . . . . . . . . . . . . . . . . . .*/ 598 case 27: // parameterList ::= nameList 599 { 600 ParameterSequenceMiniNode RESULT = null; 601 int nLleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left; 602 int nLright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right; 603 NameSequenceMiniNode nL = (NameSequenceMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value; 604 605 try 606 { 607 RESULT = new ParameterSequenceMiniNode ( nL ); 608 } 609 catch ( SemanticErrorException ex ) 610 { 611 System.err.println ( ex.getMessage ( ) ); 612 // RESULT = error; 613 throw ex; 614 } 615 616 CUP$MiniParser$result = new java_cup.runtime.Symbol(18/*parameterList*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); 617 } 618 return CUP$MiniParser$result; 619 620 /*. . . . . . . . . . . . . . . . . . . .*/ 621 case 26: // procedureCall ::= CALL name1 LPAREN expressionList RPAREN SEMICOLON 622 { 623 ProcedureCallStatementMiniNode RESULT = null; 624 int nleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-4)).left; 625 int nright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-4)).right; 626 NameMiniNode n = (NameMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-4)).value; 627 int eLleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left; 628 int eLright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).right; 629 ExpressionSequenceMiniNode eL = (ExpressionSequenceMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).value; 630 RESULT = new ProcedureCallStatementMiniNode ( n, eL ); 631 CUP$MiniParser$result = new java_cup.runtime.Symbol(19/*procedureCall*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-5)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); 632 } 633 return CUP$MiniParser$result; 634 635 /*. . . . . . . . . . . . . . . . . . . .*/ 636 case 25: // procedureCall ::= CALL name1 SEMICOLON 637 { 638 ProcedureCallStatementMiniNode RESULT = null; 639 int nleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).left; 640 int nright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).right; 641 NameMiniNode n = (NameMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).value; 642 RESULT = new ProcedureCallStatementMiniNode ( n ); 643 CUP$MiniParser$result = new java_cup.runtime.Symbol(19/*procedureCall*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); 644 } 645 return CUP$MiniParser$result; 646 647 /*. . . . . . . . . . . . . . . . . . . .*/ 648 case 24: // indefiniteLoop ::= WHILE comparison DO statementSequence END SEMICOLON 649 { 650 IndefiniteLoopStatementMiniNode RESULT = null; 651 int cleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-4)).left; 652 int cright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-4)).right; 653 ComparisonMiniNode c = (ComparisonMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-4)).value; 654 int ssleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left; 655 int ssright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).right; 656 StatementSequenceMiniNode ss = (StatementSequenceMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).value; 657 RESULT = new IndefiniteLoopStatementMiniNode ( c, ss ); 658 CUP$MiniParser$result = new java_cup.runtime.Symbol(11/*indefiniteLoop*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-5)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); 659 } 660 return CUP$MiniParser$result; 661 662 /*. . . . . . . . . . . . . . . . . . . .*/ 663 case 23: // definiteLoop ::= TO expression DO statementSequence END SEMICOLON 664 { 665 DefiniteLoopStatementMiniNode RESULT = null; 666 int eleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-4)).left; 667 int eright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-4)).right; 668 ExpressionMiniNode e = (ExpressionMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-4)).value; 669 int ssleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left; 670 int ssright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).right; 671 StatementSequenceMiniNode ss = (StatementSequenceMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).value; 672 RESULT = new DefiniteLoopStatementMiniNode ( e, ss ); 673 CUP$MiniParser$result = new java_cup.runtime.Symbol(7/*definiteLoop*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-5)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); 674 } 675 return CUP$MiniParser$result; 676 677 /*. . . . . . . . . . . . . . . . . . . .*/ 678 case 22: // conditionalStatement ::= IF comparison THEN statementSequence ELSE statementSequence FI 679 { 680 ConditionalStatementMiniNode RESULT = null; 681 int cleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-5)).left; 682 int cright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-5)).right; 683 ComparisonMiniNode c = (ComparisonMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-5)).value; 684 int sleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-3)).left; 685 int sright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-3)).right; 686 StatementSequenceMiniNode s = (StatementSequenceMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-3)).value; 687 int eleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).left; 688 int eright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).right; 689 StatementSequenceMiniNode e = (StatementSequenceMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).value; 690 RESULT = new ConditionalStatementMiniNode ( c, s, e ); 691 CUP$MiniParser$result = new java_cup.runtime.Symbol(4/*conditionalStatement*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-6)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); 692 } 693 return CUP$MiniParser$result; 694 695 /*. . . . . . . . . . . . . . . . . . . .*/ 696 case 21: // conditionalStatement ::= IF comparison THEN statementSequence FI SEMICOLON 697 { 698 ConditionalStatementMiniNode RESULT = null; 699 int cleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-4)).left; 700 int cright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-4)).right; 701 ComparisonMiniNode c = (ComparisonMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-4)).value; 702 int ssleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left; 703 int ssright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).right; 704 StatementSequenceMiniNode ss = (StatementSequenceMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).value; 705 RESULT = new ConditionalStatementMiniNode ( c, ss, null ); 706 CUP$MiniParser$result = new java_cup.runtime.Symbol(4/*conditionalStatement*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-5)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); 707 } 708 return CUP$MiniParser$result; 709 710 /*. . . . . . . . . . . . . . . . . . . .*/ 711 case 20: // assignmentStatement ::= name1 ASSIGN expression SEMICOLON 712 { 713 AssignmentStatementMiniNode RESULT = null; 714 int nleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-3)).left; 715 int nright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-3)).right; 716 NameMiniNode n = (NameMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-3)).value; 717 int eleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).left; 718 int eright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).right; 719 ExpressionMiniNode e = (ExpressionMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).value; 720 RESULT = new AssignmentStatementMiniNode ( n, e ); 721 CUP$MiniParser$result = new java_cup.runtime.Symbol(1/*assignmentStatement*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-3)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); 722 } 723 return CUP$MiniParser$result; 724 725 /*. . . . . . . . . . . . . . . . . . . .*/ 726 case 19: // outputStatement ::= WRITE LPAREN expressionList RPAREN SEMICOLON 727 { 728 OutputStatementMiniNode RESULT = null; 729 int eLleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left; 730 int eLright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).right; 731 ExpressionSequenceMiniNode eL = (ExpressionSequenceMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).value; 732 RESULT = new OutputStatementMiniNode ( eL ); 733 CUP$MiniParser$result = new java_cup.runtime.Symbol(17/*outputStatement*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-4)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); 734 } 735 return CUP$MiniParser$result; 736 737 /*. . . . . . . . . . . . . . . . . . . .*/ 738 case 18: // inputStatement ::= READ LPAREN nameList RPAREN SEMICOLON 739 { 740 InputStatementMiniNode RESULT = null; 741 int nLleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left; 742 int nLright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).right; 743 NameSequenceMiniNode nL = (NameSequenceMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).value; 744 RESULT = new InputStatementMiniNode ( nL ); 745 CUP$MiniParser$result = new java_cup.runtime.Symbol(12/*inputStatement*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-4)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); 746 } 747 return CUP$MiniParser$result; 748 749 /*. . . . . . . . . . . . . . . . . . . .*/ 750 case 17: // statement ::= procedureCall 751 { 752 StatementMiniNode RESULT = null; 753 int sleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left; 754 int sright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right; 755 ProcedureCallStatementMiniNode s = (ProcedureCallStatementMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value; 756 RESULT = s; 757 CUP$MiniParser$result = new java_cup.runtime.Symbol(22/*statement*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); 758 } 759 return CUP$MiniParser$result; 760 761 /*. . . . . . . . . . . . . . . . . . . .*/ 762 case 16: // statement ::= indefiniteLoop 763 { 764 StatementMiniNode RESULT = null; 765 int sleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left; 766 int sright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right; 767 IndefiniteLoopStatementMiniNode s = (IndefiniteLoopStatementMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value; 768 RESULT = s; 769 CUP$MiniParser$result = new java_cup.runtime.Symbol(22/*statement*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); 770 } 771 return CUP$MiniParser$result; 772 773 /*. . . . . . . . . . . . . . . . . . . .*/ 774 case 15: // statement ::= definiteLoop 775 { 776 StatementMiniNode RESULT = null; 777 int sleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left; 778 int sright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right; 779 DefiniteLoopStatementMiniNode s = (DefiniteLoopStatementMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value; 780 RESULT = s; 781 CUP$MiniParser$result = new java_cup.runtime.Symbol(22/*statement*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); 782 } 783 return CUP$MiniParser$result; 784 785 /*. . . . . . . . . . . . . . . . . . . .*/ 786 case 14: // statement ::= conditionalStatement 787 { 788 StatementMiniNode RESULT = null; 789 int sleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left; 790 int sright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right; 791 ConditionalStatementMiniNode s = (ConditionalStatementMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value; 792 RESULT = s; 793 CUP$MiniParser$result = new java_cup.runtime.Symbol(22/*statement*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); 794 } 795 return CUP$MiniParser$result; 796 797 /*. . . . . . . . . . . . . . . . . . . .*/ 798 case 13: // statement ::= assignmentStatement 799 { 800 StatementMiniNode RESULT = null; 801 int sleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left; 802 int sright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right; 803 AssignmentStatementMiniNode s = (AssignmentStatementMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value; 804 RESULT = s; 805 CUP$MiniParser$result = new java_cup.runtime.Symbol(22/*statement*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); 806 } 807 return CUP$MiniParser$result; 808 809 /*. . . . . . . . . . . . . . . . . . . .*/ 810 case 12: // statement ::= outputStatement 811 { 812 StatementMiniNode RESULT = null; 813 int sleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left; 814 int sright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right; 815 OutputStatementMiniNode s = (OutputStatementMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value; 816 RESULT = s; 817 CUP$MiniParser$result = new java_cup.runtime.Symbol(22/*statement*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); 818 } 819 return CUP$MiniParser$result; 820 821 /*. . . . . . . . . . . . . . . . . . . .*/ 822 case 11: // statement ::= inputStatement 823 { 824 StatementMiniNode RESULT = null; 825 int sleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left; 826 int sright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right; 827 InputStatementMiniNode s = (InputStatementMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value; 828 RESULT = s; 829 CUP$MiniParser$result = new java_cup.runtime.Symbol(22/*statement*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); 830 } 831 return CUP$MiniParser$result; 832 833 /*. . . . . . . . . . . . . . . . . . . .*/ 834 case 10: // declaration ::= PROCEDURE name1 LPAREN parameterList RPAREN block SEMICOLON 835 { 836 DeclarationMiniNode RESULT = null; 837 int nleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-5)).left; 838 int nright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-5)).right; 839 NameMiniNode n = (NameMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-5)).value; 840 int pLleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-3)).left; 841 int pLright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-3)).right; 842 ParameterSequenceMiniNode pL = (ParameterSequenceMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-3)).value; 843 int bleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).left; 844 int bright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).right; 845 BlockMiniNode b = (BlockMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).value; 846 RESULT = new ProcedureDeclarationMiniNode ( n, pL, b ); 847 CUP$MiniParser$result = new java_cup.runtime.Symbol(5/*declaration*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-6)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); 848 } 849 return CUP$MiniParser$result; 850 851 /*. . . . . . . . . . . . . . . . . . . .*/ 852 case 9: // declaration ::= PROCEDURE name1 block SEMICOLON 853 { 854 DeclarationMiniNode RESULT = null; 855 int nleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left; 856 int nright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).right; 857 NameMiniNode n = (NameMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).value; 858 int bleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).left; 859 int bright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).right; 860 BlockMiniNode b = (BlockMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).value; 861 RESULT = new ProcedureDeclarationMiniNode ( n, null, b ); 862 CUP$MiniParser$result = new java_cup.runtime.Symbol(5/*declaration*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-3)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); 863 } 864 return CUP$MiniParser$result; 865 866 /*. . . . . . . . . . . . . . . . . . . .*/ 867 case 8: // declaration ::= INTEGER nameList SEMICOLON 868 { 869 DeclarationMiniNode RESULT = null; 870 int nLleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).left; 871 int nLright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).right; 872 NameSequenceMiniNode nL = (NameSequenceMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).value; 873 RESULT = new IntegerDeclarationMiniNode ( nL ); 874 CUP$MiniParser$result = new java_cup.runtime.Symbol(5/*declaration*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); 875 } 876 return CUP$MiniParser$result; 877 878 /*. . . . . . . . . . . . . . . . . . . .*/ 879 case 7: // statementSequence ::= statementSequence statement 880 { 881 StatementSequenceMiniNode RESULT = null; 882 int ssleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).left; 883 int ssright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).right; 884 StatementSequenceMiniNode ss = (StatementSequenceMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).value; 885 int sleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left; 886 int sright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right; 887 StatementMiniNode s = (StatementMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value; 888 RESULT = new StatementSequenceMiniNode ( ss, s ); 889 CUP$MiniParser$result = new java_cup.runtime.Symbol(23/*statementSequence*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); 890 } 891 return CUP$MiniParser$result; 892 893 /*. . . . . . . . . . . . . . . . . . . .*/ 894 case 6: // statementSequence ::= statement 895 { 896 StatementSequenceMiniNode RESULT = null; 897 int sleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left; 898 int sright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right; 899 StatementMiniNode s = (StatementMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value; 900 RESULT = new StatementSequenceMiniNode ( s ); 901 CUP$MiniParser$result = new java_cup.runtime.Symbol(23/*statementSequence*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); 902 } 903 return CUP$MiniParser$result; 904 905 /*. . . . . . . . . . . . . . . . . . . .*/ 906 case 5: // declarationSequence ::= declarationSequence declaration 907 { 908 DeclarationSequenceMiniNode RESULT = null; 909 int dsleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).left; 910 int dsright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).right; 911 DeclarationSequenceMiniNode ds = (DeclarationSequenceMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).value; 912 int dleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left; 913 int dright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right; 914 DeclarationMiniNode d = (DeclarationMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value; 915 RESULT = new DeclarationSequenceMiniNode ( ds, d ); 916 CUP$MiniParser$result = new java_cup.runtime.Symbol(6/*declarationSequence*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); 917 } 918 return CUP$MiniParser$result; 919 920 /*. . . . . . . . . . . . . . . . . . . .*/ 921 case 4: // declarationSequence ::= declaration 922 { 923 DeclarationSequenceMiniNode RESULT = null; 924 int dleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left; 925 int dright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right; 926 DeclarationMiniNode d = (DeclarationMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value; 927 RESULT = new DeclarationSequenceMiniNode ( d ); 928 CUP$MiniParser$result = new java_cup.runtime.Symbol(6/*declarationSequence*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); 929 } 930 return CUP$MiniParser$result; 931 932 /*. . . . . . . . . . . . . . . . . . . .*/ 933 case 3: // block ::= BEGIN statementSequence END 934 { 935 BlockMiniNode RESULT = null; 936 int ssleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).left; 937 int ssright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).right; 938 StatementSequenceMiniNode ss = (StatementSequenceMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).value; 939 RESULT = new BlockMiniNode ( ss ); 940 CUP$MiniParser$result = new java_cup.runtime.Symbol(2/*block*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); 941 } 942 return CUP$MiniParser$result; 943 944 /*. . . . . . . . . . . . . . . . . . . .*/ 945 case 2: // block ::= BEGIN declarationSequence statementSequence END 946 { 947 BlockMiniNode RESULT = null; 948 int dsleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).left; 949 int dsright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).right; 950 DeclarationSequenceMiniNode ds = (DeclarationSequenceMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-2)).value; 951 int ssleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).left; 952 int ssright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).right; 953 StatementSequenceMiniNode ss = (StatementSequenceMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).value; 954 RESULT = new BlockMiniNode ( ds, ss ); 955 CUP$MiniParser$result = new java_cup.runtime.Symbol(2/*block*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-3)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); 956 } 957 return CUP$MiniParser$result; 958 959 /*. . . . . . . . . . . . . . . . . . . .*/ 960 case 1: // program ::= block 961 { 962 ProgramMiniNode RESULT = null; 963 int bleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left; 964 int bright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right; 965 BlockMiniNode b = (BlockMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).value; 966 967 try 968 { 969 RESULT = new ProgramMiniNode ( b ); 970 } 971 catch ( SemanticErrorException ex ) 972 { 973 System.err.println ( ex.getMessage ( ) ); 974 // RESULT = error; 975 throw ex; 976 } 977 978 CUP$MiniParser$result = new java_cup.runtime.Symbol(20/*program*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); 979 } 980 return CUP$MiniParser$result; 981 982 /*. . . . . . . . . . . . . . . . . . . .*/ 983 case 0: // $START ::= program EOF 984 { 985 Object RESULT = null; 986 int start_valleft = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).left; 987 int start_valright = ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).right; 988 ProgramMiniNode start_val = (ProgramMiniNode)((java_cup.runtime.Symbol) CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).value; 989 RESULT = start_val; 990 CUP$MiniParser$result = new java_cup.runtime.Symbol(0/*$START*/, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-1)).left, ((java_cup.runtime.Symbol)CUP$MiniParser$stack.elementAt(CUP$MiniParser$top-0)).right, RESULT); 991 } 992 /* ACCEPT */ 993 CUP$MiniParser$parser.done_parsing(); 994 return CUP$MiniParser$result; 995 996 /* . . . . . .*/ 997 default: 998 throw new Exception( 999 "Invalid action number found in internal parse table"); 1000 1001 } 1002 } 1003 } 1004