LET 2 TYPE 8 ID(intarr) 13 EQ 19 ARRAY 20 OF 26 ID(int) 29 VAR 35 ID(y) 39 ASSIGN 40 INT(4) 42 VAR 46 ID(x) 50 ASSIGN 51 INT(3) 53 FUNCTION 57 ID(foo) 66 LPAREN 69 ID(n) 70 COLON 71 ID(int) 73 RPAREN 76 EQ 78 FOR 84 ID(i) 88 ASSIGN 90 INT(1) 93 TO 95 INT(10) 98 DO 101 LET 110 FUNCTION 114 ID(bb) 123 LPAREN 125 ID(z) 126 COLON 127 ID(int) 128 RPAREN 131 COLON 132 ID(int) 133 EQ 137 IF 139 ID(z) 142 THEN 144 LPAREN 149 ID(n) 150 SEMICOLON 151 ID(y) 152 RPAREN 153 ELSE 155 ID(i) 160 VAR 172 ID(y) 176 ASSIGN 177 INT(3) 179 VAR 191 ID(a) 195 ASSIGN 196 ID(intarr) 198 LBRACK 205 INT(10) 206 RBRACK 208 OF 210 INT(0) 213 IN 221 IF 232 LPAREN 235 ID(n) 236 EQ 238 INT(0) 240 RPAREN 241 THEN 243 ID(y) 248 ASSIGN 249 ID(bb) 251 LPAREN 253 ID(n) 254 RPAREN 255 ELSE 265 ID(a) 270 LBRACK 271 ID(i) 272 RBRACK 273 ASSIGN 274 ID(i) 276 PLUS 277 ID(x) 278 END 286 IN 290 ID(foo) 295 LPAREN 298 INT(10) 299 RPAREN 301 END 303 EOF 306