mbed I/F binding for mruby

Dependents:   mruby_mbed_web mirb_mbed

mbed-mruby

How to use

Class

Committer:
mzta
Date:
Mon Apr 13 05:20:15 2015 +0000
Revision:
1:8ccd1d494a4b
Parent:
0:158c61bb030f
- code refactoring.; - add SPI, SPISlave, I2C class to mruby-mbed (Incomplete).

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mzta 0:158c61bb030f 1 /* A Bison parser, made by GNU Bison 2.4.2. */
mzta 0:158c61bb030f 2
mzta 0:158c61bb030f 3 /* Skeleton implementation for Bison's Yacc-like parsers in C
mzta 0:158c61bb030f 4
mzta 0:158c61bb030f 5 Copyright (C) 1984, 1989-1990, 2000-2006, 2009-2010 Free Software
mzta 0:158c61bb030f 6 Foundation, Inc.
mzta 0:158c61bb030f 7
mzta 0:158c61bb030f 8 This program is free software: you can redistribute it and/or modify
mzta 0:158c61bb030f 9 it under the terms of the GNU General Public License as published by
mzta 0:158c61bb030f 10 the Free Software Foundation, either version 3 of the License, or
mzta 0:158c61bb030f 11 (at your option) any later version.
mzta 0:158c61bb030f 12
mzta 0:158c61bb030f 13 This program is distributed in the hope that it will be useful,
mzta 0:158c61bb030f 14 but WITHOUT ANY WARRANTY; without even the implied warranty of
mzta 0:158c61bb030f 15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
mzta 0:158c61bb030f 16 GNU General Public License for more details.
mzta 0:158c61bb030f 17
mzta 0:158c61bb030f 18 You should have received a copy of the GNU General Public License
mzta 0:158c61bb030f 19 along with this program. If not, see <http://www.gnu.org/licenses/>. */
mzta 0:158c61bb030f 20
mzta 0:158c61bb030f 21 /* As a special exception, you may create a larger work that contains
mzta 0:158c61bb030f 22 part or all of the Bison parser skeleton and distribute that work
mzta 0:158c61bb030f 23 under terms of your choice, so long as that work isn't itself a
mzta 0:158c61bb030f 24 parser generator using the skeleton or a modified version thereof
mzta 0:158c61bb030f 25 as a parser skeleton. Alternatively, if you modify or redistribute
mzta 0:158c61bb030f 26 the parser skeleton itself, you may (at your option) remove this
mzta 0:158c61bb030f 27 special exception, which will cause the skeleton and the resulting
mzta 0:158c61bb030f 28 Bison output files to be licensed under the GNU General Public
mzta 0:158c61bb030f 29 License without this special exception.
mzta 0:158c61bb030f 30
mzta 0:158c61bb030f 31 This special exception was added by the Free Software Foundation in
mzta 0:158c61bb030f 32 version 2.2 of Bison. */
mzta 0:158c61bb030f 33
mzta 0:158c61bb030f 34 /* C LALR(1) parser skeleton written by Richard Stallman, by
mzta 0:158c61bb030f 35 simplifying the original so-called "semantic" parser. */
mzta 0:158c61bb030f 36
mzta 0:158c61bb030f 37 /* All symbols defined below should begin with yy or YY, to avoid
mzta 0:158c61bb030f 38 infringing on user name space. This should be done even for local
mzta 0:158c61bb030f 39 variables, as they might otherwise be expanded by user macros.
mzta 0:158c61bb030f 40 There are some unavoidable exceptions within include files to
mzta 0:158c61bb030f 41 define necessary library symbols; they are noted "INFRINGES ON
mzta 0:158c61bb030f 42 USER NAME SPACE" below. */
mzta 0:158c61bb030f 43
mzta 0:158c61bb030f 44 /* Identify Bison output. */
mzta 0:158c61bb030f 45 #define YYBISON 1
mzta 0:158c61bb030f 46
mzta 0:158c61bb030f 47 /* Bison version. */
mzta 0:158c61bb030f 48 #define YYBISON_VERSION "2.4.2"
mzta 0:158c61bb030f 49
mzta 0:158c61bb030f 50 /* Skeleton name. */
mzta 0:158c61bb030f 51 #define YYSKELETON_NAME "yacc.c"
mzta 0:158c61bb030f 52
mzta 0:158c61bb030f 53 /* Pure parsers. */
mzta 0:158c61bb030f 54 #define YYPURE 1
mzta 0:158c61bb030f 55
mzta 0:158c61bb030f 56 /* Push parsers. */
mzta 0:158c61bb030f 57 #define YYPUSH 0
mzta 0:158c61bb030f 58
mzta 0:158c61bb030f 59 /* Pull parsers. */
mzta 0:158c61bb030f 60 #define YYPULL 1
mzta 0:158c61bb030f 61
mzta 0:158c61bb030f 62 /* Using locations. */
mzta 0:158c61bb030f 63 #define YYLSP_NEEDED 0
mzta 0:158c61bb030f 64
mzta 0:158c61bb030f 65
mzta 0:158c61bb030f 66
mzta 0:158c61bb030f 67 /* Copy the first part of user declarations. */
mzta 0:158c61bb030f 68
mzta 0:158c61bb030f 69 /* Line 189 of yacc.c */
mzta 0:158c61bb030f 70 #line 7 "src/parse.y"
mzta 0:158c61bb030f 71
mzta 0:158c61bb030f 72 #undef PARSER_DEBUG
mzta 0:158c61bb030f 73
mzta 0:158c61bb030f 74 #define YYDEBUG 1
mzta 0:158c61bb030f 75 #define YYERROR_VERBOSE 1
mzta 0:158c61bb030f 76 /*
mzta 0:158c61bb030f 77 * Force yacc to use our memory management. This is a little evil because
mzta 0:158c61bb030f 78 * the macros assume that "parser_state *p" is in scope
mzta 0:158c61bb030f 79 */
mzta 0:158c61bb030f 80 #define YYMALLOC(n) mrb_malloc(p->mrb, (n))
mzta 0:158c61bb030f 81 #define YYFREE(o) mrb_free(p->mrb, (o))
mzta 0:158c61bb030f 82 #define YYSTACK_USE_ALLOCA 0
mzta 0:158c61bb030f 83
mzta 0:158c61bb030f 84 #include <ctype.h>
mzta 0:158c61bb030f 85 #include <errno.h>
mzta 0:158c61bb030f 86 #include <stdlib.h>
mzta 0:158c61bb030f 87 #include <string.h>
mzta 0:158c61bb030f 88 #include "mruby.h"
mzta 0:158c61bb030f 89 #include "mruby/compile.h"
mzta 0:158c61bb030f 90 #include "mruby/proc.h"
mzta 0:158c61bb030f 91 #include "mruby/error.h"
mzta 0:158c61bb030f 92 #include "node.h"
mzta 0:158c61bb030f 93 #include "mrb_throw.h"
mzta 0:158c61bb030f 94
mzta 0:158c61bb030f 95 #define YYLEX_PARAM p
mzta 0:158c61bb030f 96
mzta 0:158c61bb030f 97 typedef mrb_ast_node node;
mzta 0:158c61bb030f 98 typedef struct mrb_parser_state parser_state;
mzta 0:158c61bb030f 99 typedef struct mrb_parser_heredoc_info parser_heredoc_info;
mzta 0:158c61bb030f 100
mzta 0:158c61bb030f 101 static int yyparse(parser_state *p);
mzta 0:158c61bb030f 102 static int yylex(void *lval, parser_state *p);
mzta 0:158c61bb030f 103 static void yyerror(parser_state *p, const char *s);
mzta 0:158c61bb030f 104 static void yywarn(parser_state *p, const char *s);
mzta 0:158c61bb030f 105 static void yywarning(parser_state *p, const char *s);
mzta 0:158c61bb030f 106 static void backref_error(parser_state *p, node *n);
mzta 0:158c61bb030f 107 static void tokadd(parser_state *p, int32_t c);
mzta 0:158c61bb030f 108
mzta 0:158c61bb030f 109 #define identchar(c) (ISALNUM(c) || (c) == '_' || !ISASCII(c))
mzta 0:158c61bb030f 110
mzta 0:158c61bb030f 111 typedef unsigned int stack_type;
mzta 0:158c61bb030f 112
mzta 0:158c61bb030f 113 #define BITSTACK_PUSH(stack, n) ((stack) = ((stack)<<1)|((n)&1))
mzta 0:158c61bb030f 114 #define BITSTACK_POP(stack) ((stack) = (stack) >> 1)
mzta 0:158c61bb030f 115 #define BITSTACK_LEXPOP(stack) ((stack) = ((stack) >> 1) | ((stack) & 1))
mzta 0:158c61bb030f 116 #define BITSTACK_SET_P(stack) ((stack)&1)
mzta 0:158c61bb030f 117
mzta 0:158c61bb030f 118 #define COND_PUSH(n) BITSTACK_PUSH(p->cond_stack, (n))
mzta 0:158c61bb030f 119 #define COND_POP() BITSTACK_POP(p->cond_stack)
mzta 0:158c61bb030f 120 #define COND_LEXPOP() BITSTACK_LEXPOP(p->cond_stack)
mzta 0:158c61bb030f 121 #define COND_P() BITSTACK_SET_P(p->cond_stack)
mzta 0:158c61bb030f 122
mzta 0:158c61bb030f 123 #define CMDARG_PUSH(n) BITSTACK_PUSH(p->cmdarg_stack, (n))
mzta 0:158c61bb030f 124 #define CMDARG_POP() BITSTACK_POP(p->cmdarg_stack)
mzta 0:158c61bb030f 125 #define CMDARG_LEXPOP() BITSTACK_LEXPOP(p->cmdarg_stack)
mzta 0:158c61bb030f 126 #define CMDARG_P() BITSTACK_SET_P(p->cmdarg_stack)
mzta 0:158c61bb030f 127
mzta 0:158c61bb030f 128 #define SET_LINENO(c,n) ((c)->lineno = (n))
mzta 0:158c61bb030f 129 #define NODE_LINENO(c,n) do {\
mzta 0:158c61bb030f 130 if (n) {\
mzta 0:158c61bb030f 131 (c)->filename_index = (n)->filename_index;\
mzta 0:158c61bb030f 132 (c)->lineno = (n)->lineno;\
mzta 0:158c61bb030f 133 }\
mzta 0:158c61bb030f 134 } while (0)
mzta 0:158c61bb030f 135
mzta 0:158c61bb030f 136 #define sym(x) ((mrb_sym)(intptr_t)(x))
mzta 0:158c61bb030f 137 #define nsym(x) ((node*)(intptr_t)(x))
mzta 0:158c61bb030f 138
mzta 0:158c61bb030f 139 static inline mrb_sym
mzta 0:158c61bb030f 140 intern_cstr_gen(parser_state *p, const char *s)
mzta 0:158c61bb030f 141 {
mzta 0:158c61bb030f 142 return mrb_intern_cstr(p->mrb, s);
mzta 0:158c61bb030f 143 }
mzta 0:158c61bb030f 144 #define intern_cstr(s) intern_cstr_gen(p,(s))
mzta 0:158c61bb030f 145
mzta 0:158c61bb030f 146 static inline mrb_sym
mzta 0:158c61bb030f 147 intern_gen(parser_state *p, const char *s, size_t len)
mzta 0:158c61bb030f 148 {
mzta 0:158c61bb030f 149 return mrb_intern(p->mrb, s, len);
mzta 0:158c61bb030f 150 }
mzta 0:158c61bb030f 151 #define intern(s,len) intern_gen(p,(s),(len))
mzta 0:158c61bb030f 152
mzta 0:158c61bb030f 153 static inline mrb_sym
mzta 0:158c61bb030f 154 intern_gen_c(parser_state *p, const char c)
mzta 0:158c61bb030f 155 {
mzta 0:158c61bb030f 156 return mrb_intern(p->mrb, &c, 1);
mzta 0:158c61bb030f 157 }
mzta 0:158c61bb030f 158 #define intern_c(c) intern_gen_c(p,(c))
mzta 0:158c61bb030f 159
mzta 0:158c61bb030f 160 static void
mzta 0:158c61bb030f 161 cons_free_gen(parser_state *p, node *cons)
mzta 0:158c61bb030f 162 {
mzta 0:158c61bb030f 163 cons->cdr = p->cells;
mzta 0:158c61bb030f 164 p->cells = cons;
mzta 0:158c61bb030f 165 }
mzta 0:158c61bb030f 166 #define cons_free(c) cons_free_gen(p, (c))
mzta 0:158c61bb030f 167
mzta 0:158c61bb030f 168 static void*
mzta 0:158c61bb030f 169 parser_palloc(parser_state *p, size_t size)
mzta 0:158c61bb030f 170 {
mzta 0:158c61bb030f 171 void *m = mrb_pool_alloc(p->pool, size);
mzta 0:158c61bb030f 172
mzta 0:158c61bb030f 173 if (!m) {
mzta 0:158c61bb030f 174 MRB_THROW(p->jmp);
mzta 0:158c61bb030f 175 }
mzta 0:158c61bb030f 176 return m;
mzta 0:158c61bb030f 177 }
mzta 0:158c61bb030f 178
mzta 0:158c61bb030f 179 static node*
mzta 0:158c61bb030f 180 cons_gen(parser_state *p, node *car, node *cdr)
mzta 0:158c61bb030f 181 {
mzta 0:158c61bb030f 182 node *c;
mzta 0:158c61bb030f 183
mzta 0:158c61bb030f 184 if (p->cells) {
mzta 0:158c61bb030f 185 c = p->cells;
mzta 0:158c61bb030f 186 p->cells = p->cells->cdr;
mzta 0:158c61bb030f 187 }
mzta 0:158c61bb030f 188 else {
mzta 0:158c61bb030f 189 c = (node *)parser_palloc(p, sizeof(mrb_ast_node));
mzta 0:158c61bb030f 190 }
mzta 0:158c61bb030f 191
mzta 0:158c61bb030f 192 c->car = car;
mzta 0:158c61bb030f 193 c->cdr = cdr;
mzta 0:158c61bb030f 194 c->lineno = p->lineno;
mzta 0:158c61bb030f 195 c->filename_index = p->current_filename_index;
mzta 0:158c61bb030f 196 return c;
mzta 0:158c61bb030f 197 }
mzta 0:158c61bb030f 198 #define cons(a,b) cons_gen(p,(a),(b))
mzta 0:158c61bb030f 199
mzta 0:158c61bb030f 200 static node*
mzta 0:158c61bb030f 201 list1_gen(parser_state *p, node *a)
mzta 0:158c61bb030f 202 {
mzta 0:158c61bb030f 203 return cons(a, 0);
mzta 0:158c61bb030f 204 }
mzta 0:158c61bb030f 205 #define list1(a) list1_gen(p, (a))
mzta 0:158c61bb030f 206
mzta 0:158c61bb030f 207 static node*
mzta 0:158c61bb030f 208 list2_gen(parser_state *p, node *a, node *b)
mzta 0:158c61bb030f 209 {
mzta 0:158c61bb030f 210 return cons(a, cons(b,0));
mzta 0:158c61bb030f 211 }
mzta 0:158c61bb030f 212 #define list2(a,b) list2_gen(p, (a),(b))
mzta 0:158c61bb030f 213
mzta 0:158c61bb030f 214 static node*
mzta 0:158c61bb030f 215 list3_gen(parser_state *p, node *a, node *b, node *c)
mzta 0:158c61bb030f 216 {
mzta 0:158c61bb030f 217 return cons(a, cons(b, cons(c,0)));
mzta 0:158c61bb030f 218 }
mzta 0:158c61bb030f 219 #define list3(a,b,c) list3_gen(p, (a),(b),(c))
mzta 0:158c61bb030f 220
mzta 0:158c61bb030f 221 static node*
mzta 0:158c61bb030f 222 list4_gen(parser_state *p, node *a, node *b, node *c, node *d)
mzta 0:158c61bb030f 223 {
mzta 0:158c61bb030f 224 return cons(a, cons(b, cons(c, cons(d, 0))));
mzta 0:158c61bb030f 225 }
mzta 0:158c61bb030f 226 #define list4(a,b,c,d) list4_gen(p, (a),(b),(c),(d))
mzta 0:158c61bb030f 227
mzta 0:158c61bb030f 228 static node*
mzta 0:158c61bb030f 229 list5_gen(parser_state *p, node *a, node *b, node *c, node *d, node *e)
mzta 0:158c61bb030f 230 {
mzta 0:158c61bb030f 231 return cons(a, cons(b, cons(c, cons(d, cons(e, 0)))));
mzta 0:158c61bb030f 232 }
mzta 0:158c61bb030f 233 #define list5(a,b,c,d,e) list5_gen(p, (a),(b),(c),(d),(e))
mzta 0:158c61bb030f 234
mzta 0:158c61bb030f 235 static node*
mzta 0:158c61bb030f 236 list6_gen(parser_state *p, node *a, node *b, node *c, node *d, node *e, node *f)
mzta 0:158c61bb030f 237 {
mzta 0:158c61bb030f 238 return cons(a, cons(b, cons(c, cons(d, cons(e, cons(f, 0))))));
mzta 0:158c61bb030f 239 }
mzta 0:158c61bb030f 240 #define list6(a,b,c,d,e,f) list6_gen(p, (a),(b),(c),(d),(e),(f))
mzta 0:158c61bb030f 241
mzta 0:158c61bb030f 242 static node*
mzta 0:158c61bb030f 243 append_gen(parser_state *p, node *a, node *b)
mzta 0:158c61bb030f 244 {
mzta 0:158c61bb030f 245 node *c = a;
mzta 0:158c61bb030f 246
mzta 0:158c61bb030f 247 if (!a) return b;
mzta 0:158c61bb030f 248 while (c->cdr) {
mzta 0:158c61bb030f 249 c = c->cdr;
mzta 0:158c61bb030f 250 }
mzta 0:158c61bb030f 251 if (b) {
mzta 0:158c61bb030f 252 c->cdr = b;
mzta 0:158c61bb030f 253 }
mzta 0:158c61bb030f 254 return a;
mzta 0:158c61bb030f 255 }
mzta 0:158c61bb030f 256 #define append(a,b) append_gen(p,(a),(b))
mzta 0:158c61bb030f 257 #define push(a,b) append_gen(p,(a),list1(b))
mzta 0:158c61bb030f 258
mzta 0:158c61bb030f 259 static char*
mzta 0:158c61bb030f 260 parser_strndup(parser_state *p, const char *s, size_t len)
mzta 0:158c61bb030f 261 {
mzta 0:158c61bb030f 262 char *b = (char *)parser_palloc(p, len+1);
mzta 0:158c61bb030f 263
mzta 0:158c61bb030f 264 memcpy(b, s, len);
mzta 0:158c61bb030f 265 b[len] = '\0';
mzta 0:158c61bb030f 266 return b;
mzta 0:158c61bb030f 267 }
mzta 0:158c61bb030f 268 #define strndup(s,len) parser_strndup(p, s, len)
mzta 0:158c61bb030f 269
mzta 0:158c61bb030f 270 static char*
mzta 0:158c61bb030f 271 parser_strdup(parser_state *p, const char *s)
mzta 0:158c61bb030f 272 {
mzta 0:158c61bb030f 273 return parser_strndup(p, s, strlen(s));
mzta 0:158c61bb030f 274 }
mzta 0:158c61bb030f 275 #undef strdup
mzta 0:158c61bb030f 276 #define strdup(s) parser_strdup(p, s)
mzta 0:158c61bb030f 277
mzta 0:158c61bb030f 278 /* xxx ----------------------------- */
mzta 0:158c61bb030f 279
mzta 0:158c61bb030f 280 static node*
mzta 0:158c61bb030f 281 local_switch(parser_state *p)
mzta 0:158c61bb030f 282 {
mzta 0:158c61bb030f 283 node *prev = p->locals;
mzta 0:158c61bb030f 284
mzta 0:158c61bb030f 285 p->locals = cons(0, 0);
mzta 0:158c61bb030f 286 return prev;
mzta 0:158c61bb030f 287 }
mzta 0:158c61bb030f 288
mzta 0:158c61bb030f 289 static void
mzta 0:158c61bb030f 290 local_resume(parser_state *p, node *prev)
mzta 0:158c61bb030f 291 {
mzta 0:158c61bb030f 292 p->locals = prev;
mzta 0:158c61bb030f 293 }
mzta 0:158c61bb030f 294
mzta 0:158c61bb030f 295 static void
mzta 0:158c61bb030f 296 local_nest(parser_state *p)
mzta 0:158c61bb030f 297 {
mzta 0:158c61bb030f 298 p->locals = cons(0, p->locals);
mzta 0:158c61bb030f 299 }
mzta 0:158c61bb030f 300
mzta 0:158c61bb030f 301 static void
mzta 0:158c61bb030f 302 local_unnest(parser_state *p)
mzta 0:158c61bb030f 303 {
mzta 0:158c61bb030f 304 p->locals = p->locals->cdr;
mzta 0:158c61bb030f 305 }
mzta 0:158c61bb030f 306
mzta 0:158c61bb030f 307 static mrb_bool
mzta 0:158c61bb030f 308 local_var_p(parser_state *p, mrb_sym sym)
mzta 0:158c61bb030f 309 {
mzta 0:158c61bb030f 310 node *l = p->locals;
mzta 0:158c61bb030f 311
mzta 0:158c61bb030f 312 while (l) {
mzta 0:158c61bb030f 313 node *n = l->car;
mzta 0:158c61bb030f 314 while (n) {
mzta 0:158c61bb030f 315 if (sym(n->car) == sym) return TRUE;
mzta 0:158c61bb030f 316 n = n->cdr;
mzta 0:158c61bb030f 317 }
mzta 0:158c61bb030f 318 l = l->cdr;
mzta 0:158c61bb030f 319 }
mzta 0:158c61bb030f 320 return FALSE;
mzta 0:158c61bb030f 321 }
mzta 0:158c61bb030f 322
mzta 0:158c61bb030f 323 static void
mzta 0:158c61bb030f 324 local_add_f(parser_state *p, mrb_sym sym)
mzta 0:158c61bb030f 325 {
mzta 0:158c61bb030f 326 p->locals->car = push(p->locals->car, nsym(sym));
mzta 0:158c61bb030f 327 }
mzta 0:158c61bb030f 328
mzta 0:158c61bb030f 329 static void
mzta 0:158c61bb030f 330 local_add(parser_state *p, mrb_sym sym)
mzta 0:158c61bb030f 331 {
mzta 0:158c61bb030f 332 if (!local_var_p(p, sym)) {
mzta 0:158c61bb030f 333 local_add_f(p, sym);
mzta 0:158c61bb030f 334 }
mzta 0:158c61bb030f 335 }
mzta 0:158c61bb030f 336
mzta 0:158c61bb030f 337 /* (:scope (vars..) (prog...)) */
mzta 0:158c61bb030f 338 static node*
mzta 0:158c61bb030f 339 new_scope(parser_state *p, node *body)
mzta 0:158c61bb030f 340 {
mzta 0:158c61bb030f 341 return cons((node*)NODE_SCOPE, cons(p->locals->car, body));
mzta 0:158c61bb030f 342 }
mzta 0:158c61bb030f 343
mzta 0:158c61bb030f 344 /* (:begin prog...) */
mzta 0:158c61bb030f 345 static node*
mzta 0:158c61bb030f 346 new_begin(parser_state *p, node *body)
mzta 0:158c61bb030f 347 {
mzta 0:158c61bb030f 348 if (body) {
mzta 0:158c61bb030f 349 return list2((node*)NODE_BEGIN, body);
mzta 0:158c61bb030f 350 }
mzta 0:158c61bb030f 351 return cons((node*)NODE_BEGIN, 0);
mzta 0:158c61bb030f 352 }
mzta 0:158c61bb030f 353
mzta 0:158c61bb030f 354 #define newline_node(n) (n)
mzta 0:158c61bb030f 355
mzta 0:158c61bb030f 356 /* (:rescue body rescue else) */
mzta 0:158c61bb030f 357 static node*
mzta 0:158c61bb030f 358 new_rescue(parser_state *p, node *body, node *resq, node *els)
mzta 0:158c61bb030f 359 {
mzta 0:158c61bb030f 360 return list4((node*)NODE_RESCUE, body, resq, els);
mzta 0:158c61bb030f 361 }
mzta 0:158c61bb030f 362
mzta 0:158c61bb030f 363 /* (:ensure body ensure) */
mzta 0:158c61bb030f 364 static node*
mzta 0:158c61bb030f 365 new_ensure(parser_state *p, node *a, node *b)
mzta 0:158c61bb030f 366 {
mzta 0:158c61bb030f 367 return cons((node*)NODE_ENSURE, cons(a, cons(0, b)));
mzta 0:158c61bb030f 368 }
mzta 0:158c61bb030f 369
mzta 0:158c61bb030f 370 /* (:nil) */
mzta 0:158c61bb030f 371 static node*
mzta 0:158c61bb030f 372 new_nil(parser_state *p)
mzta 0:158c61bb030f 373 {
mzta 0:158c61bb030f 374 return list1((node*)NODE_NIL);
mzta 0:158c61bb030f 375 }
mzta 0:158c61bb030f 376
mzta 0:158c61bb030f 377 /* (:true) */
mzta 0:158c61bb030f 378 static node*
mzta 0:158c61bb030f 379 new_true(parser_state *p)
mzta 0:158c61bb030f 380 {
mzta 0:158c61bb030f 381 return list1((node*)NODE_TRUE);
mzta 0:158c61bb030f 382 }
mzta 0:158c61bb030f 383
mzta 0:158c61bb030f 384 /* (:false) */
mzta 0:158c61bb030f 385 static node*
mzta 0:158c61bb030f 386 new_false(parser_state *p)
mzta 0:158c61bb030f 387 {
mzta 0:158c61bb030f 388 return list1((node*)NODE_FALSE);
mzta 0:158c61bb030f 389 }
mzta 0:158c61bb030f 390
mzta 0:158c61bb030f 391 /* (:alias new old) */
mzta 0:158c61bb030f 392 static node*
mzta 0:158c61bb030f 393 new_alias(parser_state *p, mrb_sym a, mrb_sym b)
mzta 0:158c61bb030f 394 {
mzta 0:158c61bb030f 395 return cons((node*)NODE_ALIAS, cons(nsym(a), nsym(b)));
mzta 0:158c61bb030f 396 }
mzta 0:158c61bb030f 397
mzta 0:158c61bb030f 398 /* (:if cond then else) */
mzta 0:158c61bb030f 399 static node*
mzta 0:158c61bb030f 400 new_if(parser_state *p, node *a, node *b, node *c)
mzta 0:158c61bb030f 401 {
mzta 0:158c61bb030f 402 return list4((node*)NODE_IF, a, b, c);
mzta 0:158c61bb030f 403 }
mzta 0:158c61bb030f 404
mzta 0:158c61bb030f 405 /* (:unless cond then else) */
mzta 0:158c61bb030f 406 static node*
mzta 0:158c61bb030f 407 new_unless(parser_state *p, node *a, node *b, node *c)
mzta 0:158c61bb030f 408 {
mzta 0:158c61bb030f 409 return list4((node*)NODE_IF, a, c, b);
mzta 0:158c61bb030f 410 }
mzta 0:158c61bb030f 411
mzta 0:158c61bb030f 412 /* (:while cond body) */
mzta 0:158c61bb030f 413 static node*
mzta 0:158c61bb030f 414 new_while(parser_state *p, node *a, node *b)
mzta 0:158c61bb030f 415 {
mzta 0:158c61bb030f 416 return cons((node*)NODE_WHILE, cons(a, b));
mzta 0:158c61bb030f 417 }
mzta 0:158c61bb030f 418
mzta 0:158c61bb030f 419 /* (:until cond body) */
mzta 0:158c61bb030f 420 static node*
mzta 0:158c61bb030f 421 new_until(parser_state *p, node *a, node *b)
mzta 0:158c61bb030f 422 {
mzta 0:158c61bb030f 423 return cons((node*)NODE_UNTIL, cons(a, b));
mzta 0:158c61bb030f 424 }
mzta 0:158c61bb030f 425
mzta 0:158c61bb030f 426 /* (:for var obj body) */
mzta 0:158c61bb030f 427 static node*
mzta 0:158c61bb030f 428 new_for(parser_state *p, node *v, node *o, node *b)
mzta 0:158c61bb030f 429 {
mzta 0:158c61bb030f 430 return list4((node*)NODE_FOR, v, o, b);
mzta 0:158c61bb030f 431 }
mzta 0:158c61bb030f 432
mzta 0:158c61bb030f 433 /* (:case a ((when ...) body) ((when...) body)) */
mzta 0:158c61bb030f 434 static node*
mzta 0:158c61bb030f 435 new_case(parser_state *p, node *a, node *b)
mzta 0:158c61bb030f 436 {
mzta 0:158c61bb030f 437 node *n = list2((node*)NODE_CASE, a);
mzta 0:158c61bb030f 438 node *n2 = n;
mzta 0:158c61bb030f 439
mzta 0:158c61bb030f 440 while (n2->cdr) {
mzta 0:158c61bb030f 441 n2 = n2->cdr;
mzta 0:158c61bb030f 442 }
mzta 0:158c61bb030f 443 n2->cdr = b;
mzta 0:158c61bb030f 444 return n;
mzta 0:158c61bb030f 445 }
mzta 0:158c61bb030f 446
mzta 0:158c61bb030f 447 /* (:postexe a) */
mzta 0:158c61bb030f 448 static node*
mzta 0:158c61bb030f 449 new_postexe(parser_state *p, node *a)
mzta 0:158c61bb030f 450 {
mzta 0:158c61bb030f 451 return cons((node*)NODE_POSTEXE, a);
mzta 0:158c61bb030f 452 }
mzta 0:158c61bb030f 453
mzta 0:158c61bb030f 454 /* (:self) */
mzta 0:158c61bb030f 455 static node*
mzta 0:158c61bb030f 456 new_self(parser_state *p)
mzta 0:158c61bb030f 457 {
mzta 0:158c61bb030f 458 return list1((node*)NODE_SELF);
mzta 0:158c61bb030f 459 }
mzta 0:158c61bb030f 460
mzta 0:158c61bb030f 461 /* (:call a b c) */
mzta 0:158c61bb030f 462 static node*
mzta 0:158c61bb030f 463 new_call(parser_state *p, node *a, mrb_sym b, node *c)
mzta 0:158c61bb030f 464 {
mzta 0:158c61bb030f 465 node *n = list4((node*)NODE_CALL, a, nsym(b), c);
mzta 0:158c61bb030f 466 NODE_LINENO(n, a);
mzta 0:158c61bb030f 467 return n;
mzta 0:158c61bb030f 468 }
mzta 0:158c61bb030f 469
mzta 0:158c61bb030f 470 /* (:fcall self mid args) */
mzta 0:158c61bb030f 471 static node*
mzta 0:158c61bb030f 472 new_fcall(parser_state *p, mrb_sym b, node *c)
mzta 0:158c61bb030f 473 {
mzta 0:158c61bb030f 474 node *n = new_self(p);
mzta 0:158c61bb030f 475 NODE_LINENO(n, c);
mzta 0:158c61bb030f 476 n = list4((node*)NODE_FCALL, n, nsym(b), c);
mzta 0:158c61bb030f 477 NODE_LINENO(n, c);
mzta 0:158c61bb030f 478 return n;
mzta 0:158c61bb030f 479 }
mzta 0:158c61bb030f 480
mzta 0:158c61bb030f 481 /* (:super . c) */
mzta 0:158c61bb030f 482 static node*
mzta 0:158c61bb030f 483 new_super(parser_state *p, node *c)
mzta 0:158c61bb030f 484 {
mzta 0:158c61bb030f 485 return cons((node*)NODE_SUPER, c);
mzta 0:158c61bb030f 486 }
mzta 0:158c61bb030f 487
mzta 0:158c61bb030f 488 /* (:zsuper) */
mzta 0:158c61bb030f 489 static node*
mzta 0:158c61bb030f 490 new_zsuper(parser_state *p)
mzta 0:158c61bb030f 491 {
mzta 0:158c61bb030f 492 return list1((node*)NODE_ZSUPER);
mzta 0:158c61bb030f 493 }
mzta 0:158c61bb030f 494
mzta 0:158c61bb030f 495 /* (:yield . c) */
mzta 0:158c61bb030f 496 static node*
mzta 0:158c61bb030f 497 new_yield(parser_state *p, node *c)
mzta 0:158c61bb030f 498 {
mzta 0:158c61bb030f 499 if (c) {
mzta 0:158c61bb030f 500 if (c->cdr) {
mzta 0:158c61bb030f 501 yyerror(p, "both block arg and actual block given");
mzta 0:158c61bb030f 502 }
mzta 0:158c61bb030f 503 return cons((node*)NODE_YIELD, c->car);
mzta 0:158c61bb030f 504 }
mzta 0:158c61bb030f 505 return cons((node*)NODE_YIELD, 0);
mzta 0:158c61bb030f 506 }
mzta 0:158c61bb030f 507
mzta 0:158c61bb030f 508 /* (:return . c) */
mzta 0:158c61bb030f 509 static node*
mzta 0:158c61bb030f 510 new_return(parser_state *p, node *c)
mzta 0:158c61bb030f 511 {
mzta 0:158c61bb030f 512 return cons((node*)NODE_RETURN, c);
mzta 0:158c61bb030f 513 }
mzta 0:158c61bb030f 514
mzta 0:158c61bb030f 515 /* (:break . c) */
mzta 0:158c61bb030f 516 static node*
mzta 0:158c61bb030f 517 new_break(parser_state *p, node *c)
mzta 0:158c61bb030f 518 {
mzta 0:158c61bb030f 519 return cons((node*)NODE_BREAK, c);
mzta 0:158c61bb030f 520 }
mzta 0:158c61bb030f 521
mzta 0:158c61bb030f 522 /* (:next . c) */
mzta 0:158c61bb030f 523 static node*
mzta 0:158c61bb030f 524 new_next(parser_state *p, node *c)
mzta 0:158c61bb030f 525 {
mzta 0:158c61bb030f 526 return cons((node*)NODE_NEXT, c);
mzta 0:158c61bb030f 527 }
mzta 0:158c61bb030f 528
mzta 0:158c61bb030f 529 /* (:redo) */
mzta 0:158c61bb030f 530 static node*
mzta 0:158c61bb030f 531 new_redo(parser_state *p)
mzta 0:158c61bb030f 532 {
mzta 0:158c61bb030f 533 return list1((node*)NODE_REDO);
mzta 0:158c61bb030f 534 }
mzta 0:158c61bb030f 535
mzta 0:158c61bb030f 536 /* (:retry) */
mzta 0:158c61bb030f 537 static node*
mzta 0:158c61bb030f 538 new_retry(parser_state *p)
mzta 0:158c61bb030f 539 {
mzta 0:158c61bb030f 540 return list1((node*)NODE_RETRY);
mzta 0:158c61bb030f 541 }
mzta 0:158c61bb030f 542
mzta 0:158c61bb030f 543 /* (:dot2 a b) */
mzta 0:158c61bb030f 544 static node*
mzta 0:158c61bb030f 545 new_dot2(parser_state *p, node *a, node *b)
mzta 0:158c61bb030f 546 {
mzta 0:158c61bb030f 547 return cons((node*)NODE_DOT2, cons(a, b));
mzta 0:158c61bb030f 548 }
mzta 0:158c61bb030f 549
mzta 0:158c61bb030f 550 /* (:dot3 a b) */
mzta 0:158c61bb030f 551 static node*
mzta 0:158c61bb030f 552 new_dot3(parser_state *p, node *a, node *b)
mzta 0:158c61bb030f 553 {
mzta 0:158c61bb030f 554 return cons((node*)NODE_DOT3, cons(a, b));
mzta 0:158c61bb030f 555 }
mzta 0:158c61bb030f 556
mzta 0:158c61bb030f 557 /* (:colon2 b c) */
mzta 0:158c61bb030f 558 static node*
mzta 0:158c61bb030f 559 new_colon2(parser_state *p, node *b, mrb_sym c)
mzta 0:158c61bb030f 560 {
mzta 0:158c61bb030f 561 return cons((node*)NODE_COLON2, cons(b, nsym(c)));
mzta 0:158c61bb030f 562 }
mzta 0:158c61bb030f 563
mzta 0:158c61bb030f 564 /* (:colon3 . c) */
mzta 0:158c61bb030f 565 static node*
mzta 0:158c61bb030f 566 new_colon3(parser_state *p, mrb_sym c)
mzta 0:158c61bb030f 567 {
mzta 0:158c61bb030f 568 return cons((node*)NODE_COLON3, nsym(c));
mzta 0:158c61bb030f 569 }
mzta 0:158c61bb030f 570
mzta 0:158c61bb030f 571 /* (:and a b) */
mzta 0:158c61bb030f 572 static node*
mzta 0:158c61bb030f 573 new_and(parser_state *p, node *a, node *b)
mzta 0:158c61bb030f 574 {
mzta 0:158c61bb030f 575 return cons((node*)NODE_AND, cons(a, b));
mzta 0:158c61bb030f 576 }
mzta 0:158c61bb030f 577
mzta 0:158c61bb030f 578 /* (:or a b) */
mzta 0:158c61bb030f 579 static node*
mzta 0:158c61bb030f 580 new_or(parser_state *p, node *a, node *b)
mzta 0:158c61bb030f 581 {
mzta 0:158c61bb030f 582 return cons((node*)NODE_OR, cons(a, b));
mzta 0:158c61bb030f 583 }
mzta 0:158c61bb030f 584
mzta 0:158c61bb030f 585 /* (:array a...) */
mzta 0:158c61bb030f 586 static node*
mzta 0:158c61bb030f 587 new_array(parser_state *p, node *a)
mzta 0:158c61bb030f 588 {
mzta 0:158c61bb030f 589 return cons((node*)NODE_ARRAY, a);
mzta 0:158c61bb030f 590 }
mzta 0:158c61bb030f 591
mzta 0:158c61bb030f 592 /* (:splat . a) */
mzta 0:158c61bb030f 593 static node*
mzta 0:158c61bb030f 594 new_splat(parser_state *p, node *a)
mzta 0:158c61bb030f 595 {
mzta 0:158c61bb030f 596 return cons((node*)NODE_SPLAT, a);
mzta 0:158c61bb030f 597 }
mzta 0:158c61bb030f 598
mzta 0:158c61bb030f 599 /* (:hash (k . v) (k . v)...) */
mzta 0:158c61bb030f 600 static node*
mzta 0:158c61bb030f 601 new_hash(parser_state *p, node *a)
mzta 0:158c61bb030f 602 {
mzta 0:158c61bb030f 603 return cons((node*)NODE_HASH, a);
mzta 0:158c61bb030f 604 }
mzta 0:158c61bb030f 605
mzta 0:158c61bb030f 606 /* (:sym . a) */
mzta 0:158c61bb030f 607 static node*
mzta 0:158c61bb030f 608 new_sym(parser_state *p, mrb_sym sym)
mzta 0:158c61bb030f 609 {
mzta 0:158c61bb030f 610 return cons((node*)NODE_SYM, nsym(sym));
mzta 0:158c61bb030f 611 }
mzta 0:158c61bb030f 612
mzta 0:158c61bb030f 613 static mrb_sym
mzta 0:158c61bb030f 614 new_strsym(parser_state *p, node* str)
mzta 0:158c61bb030f 615 {
mzta 0:158c61bb030f 616 const char *s = (const char*)str->cdr->car;
mzta 0:158c61bb030f 617 size_t len = (size_t)str->cdr->cdr;
mzta 0:158c61bb030f 618
mzta 0:158c61bb030f 619 return mrb_intern(p->mrb, s, len);
mzta 0:158c61bb030f 620 }
mzta 0:158c61bb030f 621
mzta 0:158c61bb030f 622 /* (:lvar . a) */
mzta 0:158c61bb030f 623 static node*
mzta 0:158c61bb030f 624 new_lvar(parser_state *p, mrb_sym sym)
mzta 0:158c61bb030f 625 {
mzta 0:158c61bb030f 626 return cons((node*)NODE_LVAR, nsym(sym));
mzta 0:158c61bb030f 627 }
mzta 0:158c61bb030f 628
mzta 0:158c61bb030f 629 /* (:gvar . a) */
mzta 0:158c61bb030f 630 static node*
mzta 0:158c61bb030f 631 new_gvar(parser_state *p, mrb_sym sym)
mzta 0:158c61bb030f 632 {
mzta 0:158c61bb030f 633 return cons((node*)NODE_GVAR, nsym(sym));
mzta 0:158c61bb030f 634 }
mzta 0:158c61bb030f 635
mzta 0:158c61bb030f 636 /* (:ivar . a) */
mzta 0:158c61bb030f 637 static node*
mzta 0:158c61bb030f 638 new_ivar(parser_state *p, mrb_sym sym)
mzta 0:158c61bb030f 639 {
mzta 0:158c61bb030f 640 return cons((node*)NODE_IVAR, nsym(sym));
mzta 0:158c61bb030f 641 }
mzta 0:158c61bb030f 642
mzta 0:158c61bb030f 643 /* (:cvar . a) */
mzta 0:158c61bb030f 644 static node*
mzta 0:158c61bb030f 645 new_cvar(parser_state *p, mrb_sym sym)
mzta 0:158c61bb030f 646 {
mzta 0:158c61bb030f 647 return cons((node*)NODE_CVAR, nsym(sym));
mzta 0:158c61bb030f 648 }
mzta 0:158c61bb030f 649
mzta 0:158c61bb030f 650 /* (:const . a) */
mzta 0:158c61bb030f 651 static node*
mzta 0:158c61bb030f 652 new_const(parser_state *p, mrb_sym sym)
mzta 0:158c61bb030f 653 {
mzta 0:158c61bb030f 654 return cons((node*)NODE_CONST, nsym(sym));
mzta 0:158c61bb030f 655 }
mzta 0:158c61bb030f 656
mzta 0:158c61bb030f 657 /* (:undef a...) */
mzta 0:158c61bb030f 658 static node*
mzta 0:158c61bb030f 659 new_undef(parser_state *p, mrb_sym sym)
mzta 0:158c61bb030f 660 {
mzta 0:158c61bb030f 661 return list2((node*)NODE_UNDEF, nsym(sym));
mzta 0:158c61bb030f 662 }
mzta 0:158c61bb030f 663
mzta 0:158c61bb030f 664 /* (:class class super body) */
mzta 0:158c61bb030f 665 static node*
mzta 0:158c61bb030f 666 new_class(parser_state *p, node *c, node *s, node *b)
mzta 0:158c61bb030f 667 {
mzta 0:158c61bb030f 668 return list4((node*)NODE_CLASS, c, s, cons(p->locals->car, b));
mzta 0:158c61bb030f 669 }
mzta 0:158c61bb030f 670
mzta 0:158c61bb030f 671 /* (:sclass obj body) */
mzta 0:158c61bb030f 672 static node*
mzta 0:158c61bb030f 673 new_sclass(parser_state *p, node *o, node *b)
mzta 0:158c61bb030f 674 {
mzta 0:158c61bb030f 675 return list3((node*)NODE_SCLASS, o, cons(p->locals->car, b));
mzta 0:158c61bb030f 676 }
mzta 0:158c61bb030f 677
mzta 0:158c61bb030f 678 /* (:module module body) */
mzta 0:158c61bb030f 679 static node*
mzta 0:158c61bb030f 680 new_module(parser_state *p, node *m, node *b)
mzta 0:158c61bb030f 681 {
mzta 0:158c61bb030f 682 return list3((node*)NODE_MODULE, m, cons(p->locals->car, b));
mzta 0:158c61bb030f 683 }
mzta 0:158c61bb030f 684
mzta 0:158c61bb030f 685 /* (:def m lv (arg . body)) */
mzta 0:158c61bb030f 686 static node*
mzta 0:158c61bb030f 687 new_def(parser_state *p, mrb_sym m, node *a, node *b)
mzta 0:158c61bb030f 688 {
mzta 0:158c61bb030f 689 return list5((node*)NODE_DEF, nsym(m), p->locals->car, a, b);
mzta 0:158c61bb030f 690 }
mzta 0:158c61bb030f 691
mzta 0:158c61bb030f 692 /* (:sdef obj m lv (arg . body)) */
mzta 0:158c61bb030f 693 static node*
mzta 0:158c61bb030f 694 new_sdef(parser_state *p, node *o, mrb_sym m, node *a, node *b)
mzta 0:158c61bb030f 695 {
mzta 0:158c61bb030f 696 return list6((node*)NODE_SDEF, o, nsym(m), p->locals->car, a, b);
mzta 0:158c61bb030f 697 }
mzta 0:158c61bb030f 698
mzta 0:158c61bb030f 699 /* (:arg . sym) */
mzta 0:158c61bb030f 700 static node*
mzta 0:158c61bb030f 701 new_arg(parser_state *p, mrb_sym sym)
mzta 0:158c61bb030f 702 {
mzta 0:158c61bb030f 703 return cons((node*)NODE_ARG, nsym(sym));
mzta 0:158c61bb030f 704 }
mzta 0:158c61bb030f 705
mzta 0:158c61bb030f 706 /* (m o r m2 b) */
mzta 0:158c61bb030f 707 /* m: (a b c) */
mzta 0:158c61bb030f 708 /* o: ((a . e1) (b . e2)) */
mzta 0:158c61bb030f 709 /* r: a */
mzta 0:158c61bb030f 710 /* m2: (a b c) */
mzta 0:158c61bb030f 711 /* b: a */
mzta 0:158c61bb030f 712 static node*
mzta 0:158c61bb030f 713 new_args(parser_state *p, node *m, node *opt, mrb_sym rest, node *m2, mrb_sym blk)
mzta 0:158c61bb030f 714 {
mzta 0:158c61bb030f 715 node *n;
mzta 0:158c61bb030f 716
mzta 0:158c61bb030f 717 n = cons(m2, nsym(blk));
mzta 0:158c61bb030f 718 n = cons(nsym(rest), n);
mzta 0:158c61bb030f 719 n = cons(opt, n);
mzta 0:158c61bb030f 720 return cons(m, n);
mzta 0:158c61bb030f 721 }
mzta 0:158c61bb030f 722
mzta 0:158c61bb030f 723 /* (:block_arg . a) */
mzta 0:158c61bb030f 724 static node*
mzta 0:158c61bb030f 725 new_block_arg(parser_state *p, node *a)
mzta 0:158c61bb030f 726 {
mzta 0:158c61bb030f 727 return cons((node*)NODE_BLOCK_ARG, a);
mzta 0:158c61bb030f 728 }
mzta 0:158c61bb030f 729
mzta 0:158c61bb030f 730 /* (:block arg body) */
mzta 0:158c61bb030f 731 static node*
mzta 0:158c61bb030f 732 new_block(parser_state *p, node *a, node *b)
mzta 0:158c61bb030f 733 {
mzta 0:158c61bb030f 734 return list4((node*)NODE_BLOCK, p->locals->car, a, b);
mzta 0:158c61bb030f 735 }
mzta 0:158c61bb030f 736
mzta 0:158c61bb030f 737 /* (:lambda arg body) */
mzta 0:158c61bb030f 738 static node*
mzta 0:158c61bb030f 739 new_lambda(parser_state *p, node *a, node *b)
mzta 0:158c61bb030f 740 {
mzta 0:158c61bb030f 741 return list4((node*)NODE_LAMBDA, p->locals->car, a, b);
mzta 0:158c61bb030f 742 }
mzta 0:158c61bb030f 743
mzta 0:158c61bb030f 744 /* (:asgn lhs rhs) */
mzta 0:158c61bb030f 745 static node*
mzta 0:158c61bb030f 746 new_asgn(parser_state *p, node *a, node *b)
mzta 0:158c61bb030f 747 {
mzta 0:158c61bb030f 748 return cons((node*)NODE_ASGN, cons(a, b));
mzta 0:158c61bb030f 749 }
mzta 0:158c61bb030f 750
mzta 0:158c61bb030f 751 /* (:masgn mlhs=(pre rest post) mrhs) */
mzta 0:158c61bb030f 752 static node*
mzta 0:158c61bb030f 753 new_masgn(parser_state *p, node *a, node *b)
mzta 0:158c61bb030f 754 {
mzta 0:158c61bb030f 755 return cons((node*)NODE_MASGN, cons(a, b));
mzta 0:158c61bb030f 756 }
mzta 0:158c61bb030f 757
mzta 0:158c61bb030f 758 /* (:asgn lhs rhs) */
mzta 0:158c61bb030f 759 static node*
mzta 0:158c61bb030f 760 new_op_asgn(parser_state *p, node *a, mrb_sym op, node *b)
mzta 0:158c61bb030f 761 {
mzta 0:158c61bb030f 762 return list4((node*)NODE_OP_ASGN, a, nsym(op), b);
mzta 0:158c61bb030f 763 }
mzta 0:158c61bb030f 764
mzta 0:158c61bb030f 765 /* (:int . i) */
mzta 0:158c61bb030f 766 static node*
mzta 0:158c61bb030f 767 new_int(parser_state *p, const char *s, int base)
mzta 0:158c61bb030f 768 {
mzta 0:158c61bb030f 769 return list3((node*)NODE_INT, (node*)strdup(s), (node*)(intptr_t)base);
mzta 0:158c61bb030f 770 }
mzta 0:158c61bb030f 771
mzta 0:158c61bb030f 772 /* (:float . i) */
mzta 0:158c61bb030f 773 static node*
mzta 0:158c61bb030f 774 new_float(parser_state *p, const char *s)
mzta 0:158c61bb030f 775 {
mzta 0:158c61bb030f 776 return cons((node*)NODE_FLOAT, (node*)strdup(s));
mzta 0:158c61bb030f 777 }
mzta 0:158c61bb030f 778
mzta 0:158c61bb030f 779 /* (:str . (s . len)) */
mzta 0:158c61bb030f 780 static node*
mzta 0:158c61bb030f 781 new_str(parser_state *p, const char *s, int len)
mzta 0:158c61bb030f 782 {
mzta 0:158c61bb030f 783 return cons((node*)NODE_STR, cons((node*)strndup(s, len), (node*)(intptr_t)len));
mzta 0:158c61bb030f 784 }
mzta 0:158c61bb030f 785
mzta 0:158c61bb030f 786 /* (:dstr . a) */
mzta 0:158c61bb030f 787 static node*
mzta 0:158c61bb030f 788 new_dstr(parser_state *p, node *a)
mzta 0:158c61bb030f 789 {
mzta 0:158c61bb030f 790 return cons((node*)NODE_DSTR, a);
mzta 0:158c61bb030f 791 }
mzta 0:158c61bb030f 792
mzta 0:158c61bb030f 793 /* (:str . (s . len)) */
mzta 0:158c61bb030f 794 static node*
mzta 0:158c61bb030f 795 new_xstr(parser_state *p, const char *s, int len)
mzta 0:158c61bb030f 796 {
mzta 0:158c61bb030f 797 return cons((node*)NODE_XSTR, cons((node*)strndup(s, len), (node*)(intptr_t)len));
mzta 0:158c61bb030f 798 }
mzta 0:158c61bb030f 799
mzta 0:158c61bb030f 800 /* (:xstr . a) */
mzta 0:158c61bb030f 801 static node*
mzta 0:158c61bb030f 802 new_dxstr(parser_state *p, node *a)
mzta 0:158c61bb030f 803 {
mzta 0:158c61bb030f 804 return cons((node*)NODE_DXSTR, a);
mzta 0:158c61bb030f 805 }
mzta 0:158c61bb030f 806
mzta 0:158c61bb030f 807 /* (:dsym . a) */
mzta 0:158c61bb030f 808 static node*
mzta 0:158c61bb030f 809 new_dsym(parser_state *p, node *a)
mzta 0:158c61bb030f 810 {
mzta 0:158c61bb030f 811 return cons((node*)NODE_DSYM, new_dstr(p, a));
mzta 0:158c61bb030f 812 }
mzta 0:158c61bb030f 813
mzta 0:158c61bb030f 814 /* (:str . (a . a)) */
mzta 0:158c61bb030f 815 static node*
mzta 0:158c61bb030f 816 new_regx(parser_state *p, const char *p1, const char* p2)
mzta 0:158c61bb030f 817 {
mzta 0:158c61bb030f 818 return cons((node*)NODE_REGX, cons((node*)p1, (node*)p2));
mzta 0:158c61bb030f 819 }
mzta 0:158c61bb030f 820
mzta 0:158c61bb030f 821 /* (:dregx . a) */
mzta 0:158c61bb030f 822 static node*
mzta 0:158c61bb030f 823 new_dregx(parser_state *p, node *a, node *b)
mzta 0:158c61bb030f 824 {
mzta 0:158c61bb030f 825 return cons((node*)NODE_DREGX, cons(a, b));
mzta 0:158c61bb030f 826 }
mzta 0:158c61bb030f 827
mzta 0:158c61bb030f 828 /* (:backref . n) */
mzta 0:158c61bb030f 829 static node*
mzta 0:158c61bb030f 830 new_back_ref(parser_state *p, int n)
mzta 0:158c61bb030f 831 {
mzta 0:158c61bb030f 832 return cons((node*)NODE_BACK_REF, (node*)(intptr_t)n);
mzta 0:158c61bb030f 833 }
mzta 0:158c61bb030f 834
mzta 0:158c61bb030f 835 /* (:nthref . n) */
mzta 0:158c61bb030f 836 static node*
mzta 0:158c61bb030f 837 new_nth_ref(parser_state *p, int n)
mzta 0:158c61bb030f 838 {
mzta 0:158c61bb030f 839 return cons((node*)NODE_NTH_REF, (node*)(intptr_t)n);
mzta 0:158c61bb030f 840 }
mzta 0:158c61bb030f 841
mzta 0:158c61bb030f 842 /* (:heredoc . a) */
mzta 0:158c61bb030f 843 static node*
mzta 0:158c61bb030f 844 new_heredoc(parser_state *p)
mzta 0:158c61bb030f 845 {
mzta 0:158c61bb030f 846 parser_heredoc_info *inf = (parser_heredoc_info *)parser_palloc(p, sizeof(parser_heredoc_info));
mzta 0:158c61bb030f 847 return cons((node*)NODE_HEREDOC, (node*)inf);
mzta 0:158c61bb030f 848 }
mzta 0:158c61bb030f 849
mzta 0:158c61bb030f 850 static void
mzta 0:158c61bb030f 851 new_bv(parser_state *p, mrb_sym id)
mzta 0:158c61bb030f 852 {
mzta 0:158c61bb030f 853 }
mzta 0:158c61bb030f 854
mzta 0:158c61bb030f 855 static node*
mzta 0:158c61bb030f 856 new_literal_delim(parser_state *p)
mzta 0:158c61bb030f 857 {
mzta 0:158c61bb030f 858 return cons((node*)NODE_LITERAL_DELIM, 0);
mzta 0:158c61bb030f 859 }
mzta 0:158c61bb030f 860
mzta 0:158c61bb030f 861 /* (:words . a) */
mzta 0:158c61bb030f 862 static node*
mzta 0:158c61bb030f 863 new_words(parser_state *p, node *a)
mzta 0:158c61bb030f 864 {
mzta 0:158c61bb030f 865 return cons((node*)NODE_WORDS, a);
mzta 0:158c61bb030f 866 }
mzta 0:158c61bb030f 867
mzta 0:158c61bb030f 868 /* (:symbols . a) */
mzta 0:158c61bb030f 869 static node*
mzta 0:158c61bb030f 870 new_symbols(parser_state *p, node *a)
mzta 0:158c61bb030f 871 {
mzta 0:158c61bb030f 872 return cons((node*)NODE_SYMBOLS, a);
mzta 0:158c61bb030f 873 }
mzta 0:158c61bb030f 874
mzta 0:158c61bb030f 875 /* xxx ----------------------------- */
mzta 0:158c61bb030f 876
mzta 0:158c61bb030f 877 /* (:call a op) */
mzta 0:158c61bb030f 878 static node*
mzta 0:158c61bb030f 879 call_uni_op(parser_state *p, node *recv, const char *m)
mzta 0:158c61bb030f 880 {
mzta 0:158c61bb030f 881 return new_call(p, recv, intern_cstr(m), 0);
mzta 0:158c61bb030f 882 }
mzta 0:158c61bb030f 883
mzta 0:158c61bb030f 884 /* (:call a op b) */
mzta 0:158c61bb030f 885 static node*
mzta 0:158c61bb030f 886 call_bin_op(parser_state *p, node *recv, const char *m, node *arg1)
mzta 0:158c61bb030f 887 {
mzta 0:158c61bb030f 888 return new_call(p, recv, intern_cstr(m), list1(list1(arg1)));
mzta 0:158c61bb030f 889 }
mzta 0:158c61bb030f 890
mzta 0:158c61bb030f 891 static void
mzta 0:158c61bb030f 892 args_with_block(parser_state *p, node *a, node *b)
mzta 0:158c61bb030f 893 {
mzta 0:158c61bb030f 894 if (b) {
mzta 0:158c61bb030f 895 if (a->cdr) {
mzta 0:158c61bb030f 896 yyerror(p, "both block arg and actual block given");
mzta 0:158c61bb030f 897 }
mzta 0:158c61bb030f 898 a->cdr = b;
mzta 0:158c61bb030f 899 }
mzta 0:158c61bb030f 900 }
mzta 0:158c61bb030f 901
mzta 0:158c61bb030f 902 static void
mzta 0:158c61bb030f 903 call_with_block(parser_state *p, node *a, node *b)
mzta 0:158c61bb030f 904 {
mzta 0:158c61bb030f 905 node *n;
mzta 0:158c61bb030f 906
mzta 0:158c61bb030f 907 if (a->car == (node*)NODE_SUPER ||
mzta 0:158c61bb030f 908 a->car == (node*)NODE_ZSUPER) {
mzta 0:158c61bb030f 909 if (!a->cdr) a->cdr = cons(0, b);
mzta 0:158c61bb030f 910 else {
mzta 0:158c61bb030f 911 args_with_block(p, a->cdr, b);
mzta 0:158c61bb030f 912 }
mzta 0:158c61bb030f 913 }
mzta 0:158c61bb030f 914 else {
mzta 0:158c61bb030f 915 n = a->cdr->cdr->cdr;
mzta 0:158c61bb030f 916 if (!n->car) n->car = cons(0, b);
mzta 0:158c61bb030f 917 else {
mzta 0:158c61bb030f 918 args_with_block(p, n->car, b);
mzta 0:158c61bb030f 919 }
mzta 0:158c61bb030f 920 }
mzta 0:158c61bb030f 921 }
mzta 0:158c61bb030f 922
mzta 0:158c61bb030f 923 static node*
mzta 0:158c61bb030f 924 negate_lit(parser_state *p, node *n)
mzta 0:158c61bb030f 925 {
mzta 0:158c61bb030f 926 return cons((node*)NODE_NEGATE, n);
mzta 0:158c61bb030f 927 }
mzta 0:158c61bb030f 928
mzta 0:158c61bb030f 929 static node*
mzta 0:158c61bb030f 930 cond(node *n)
mzta 0:158c61bb030f 931 {
mzta 0:158c61bb030f 932 return n;
mzta 0:158c61bb030f 933 }
mzta 0:158c61bb030f 934
mzta 0:158c61bb030f 935 static node*
mzta 0:158c61bb030f 936 ret_args(parser_state *p, node *n)
mzta 0:158c61bb030f 937 {
mzta 0:158c61bb030f 938 if (n->cdr) {
mzta 0:158c61bb030f 939 yyerror(p, "block argument should not be given");
mzta 0:158c61bb030f 940 return NULL;
mzta 0:158c61bb030f 941 }
mzta 0:158c61bb030f 942 if (!n->car->cdr) return n->car->car;
mzta 0:158c61bb030f 943 return new_array(p, n->car);
mzta 0:158c61bb030f 944 }
mzta 0:158c61bb030f 945
mzta 0:158c61bb030f 946 static void
mzta 0:158c61bb030f 947 assignable(parser_state *p, node *lhs)
mzta 0:158c61bb030f 948 {
mzta 0:158c61bb030f 949 if ((int)(intptr_t)lhs->car == NODE_LVAR) {
mzta 0:158c61bb030f 950 local_add(p, sym(lhs->cdr));
mzta 0:158c61bb030f 951 }
mzta 0:158c61bb030f 952 }
mzta 0:158c61bb030f 953
mzta 0:158c61bb030f 954 static node*
mzta 0:158c61bb030f 955 var_reference(parser_state *p, node *lhs)
mzta 0:158c61bb030f 956 {
mzta 0:158c61bb030f 957 node *n;
mzta 0:158c61bb030f 958
mzta 0:158c61bb030f 959 if ((int)(intptr_t)lhs->car == NODE_LVAR) {
mzta 0:158c61bb030f 960 if (!local_var_p(p, sym(lhs->cdr))) {
mzta 0:158c61bb030f 961 n = new_fcall(p, sym(lhs->cdr), 0);
mzta 0:158c61bb030f 962 cons_free(lhs);
mzta 0:158c61bb030f 963 return n;
mzta 0:158c61bb030f 964 }
mzta 0:158c61bb030f 965 }
mzta 0:158c61bb030f 966
mzta 0:158c61bb030f 967 return lhs;
mzta 0:158c61bb030f 968 }
mzta 0:158c61bb030f 969
mzta 0:158c61bb030f 970 typedef enum mrb_string_type string_type;
mzta 0:158c61bb030f 971
mzta 0:158c61bb030f 972 static node*
mzta 0:158c61bb030f 973 new_strterm(parser_state *p, string_type type, int term, int paren)
mzta 0:158c61bb030f 974 {
mzta 0:158c61bb030f 975 return cons((node*)(intptr_t)type, cons((node*)0, cons((node*)(intptr_t)paren, (node*)(intptr_t)term)));
mzta 0:158c61bb030f 976 }
mzta 0:158c61bb030f 977
mzta 0:158c61bb030f 978 static void
mzta 0:158c61bb030f 979 end_strterm(parser_state *p)
mzta 0:158c61bb030f 980 {
mzta 0:158c61bb030f 981 cons_free(p->lex_strterm->cdr->cdr);
mzta 0:158c61bb030f 982 cons_free(p->lex_strterm->cdr);
mzta 0:158c61bb030f 983 cons_free(p->lex_strterm);
mzta 0:158c61bb030f 984 p->lex_strterm = NULL;
mzta 0:158c61bb030f 985 }
mzta 0:158c61bb030f 986
mzta 0:158c61bb030f 987 static parser_heredoc_info *
mzta 0:158c61bb030f 988 parsing_heredoc_inf(parser_state *p)
mzta 0:158c61bb030f 989 {
mzta 0:158c61bb030f 990 node *nd = p->parsing_heredoc;
mzta 0:158c61bb030f 991 if (nd == NULL)
mzta 0:158c61bb030f 992 return NULL;
mzta 0:158c61bb030f 993 /* mrb_assert(nd->car->car == NODE_HEREDOC); */
mzta 0:158c61bb030f 994 return (parser_heredoc_info*)nd->car->cdr;
mzta 0:158c61bb030f 995 }
mzta 0:158c61bb030f 996
mzta 0:158c61bb030f 997 static void
mzta 0:158c61bb030f 998 heredoc_treat_nextline(parser_state *p)
mzta 0:158c61bb030f 999 {
mzta 0:158c61bb030f 1000 if (p->heredocs_from_nextline == NULL)
mzta 0:158c61bb030f 1001 return;
mzta 0:158c61bb030f 1002 if (p->parsing_heredoc == NULL) {
mzta 0:158c61bb030f 1003 node *n;
mzta 0:158c61bb030f 1004 p->parsing_heredoc = p->heredocs_from_nextline;
mzta 0:158c61bb030f 1005 p->lex_strterm_before_heredoc = p->lex_strterm;
mzta 0:158c61bb030f 1006 p->lex_strterm = new_strterm(p, parsing_heredoc_inf(p)->type, 0, 0);
mzta 0:158c61bb030f 1007 n = p->all_heredocs;
mzta 0:158c61bb030f 1008 if (n) {
mzta 0:158c61bb030f 1009 while (n->cdr)
mzta 0:158c61bb030f 1010 n = n->cdr;
mzta 0:158c61bb030f 1011 n->cdr = p->parsing_heredoc;
mzta 0:158c61bb030f 1012 }
mzta 0:158c61bb030f 1013 else {
mzta 0:158c61bb030f 1014 p->all_heredocs = p->parsing_heredoc;
mzta 0:158c61bb030f 1015 }
mzta 0:158c61bb030f 1016 }
mzta 0:158c61bb030f 1017 else {
mzta 0:158c61bb030f 1018 node *n, *m;
mzta 0:158c61bb030f 1019 m = p->heredocs_from_nextline;
mzta 0:158c61bb030f 1020 while (m->cdr)
mzta 0:158c61bb030f 1021 m = m->cdr;
mzta 0:158c61bb030f 1022 n = p->all_heredocs;
mzta 0:158c61bb030f 1023 mrb_assert(n != NULL);
mzta 0:158c61bb030f 1024 if (n == p->parsing_heredoc) {
mzta 0:158c61bb030f 1025 m->cdr = n;
mzta 0:158c61bb030f 1026 p->all_heredocs = p->heredocs_from_nextline;
mzta 0:158c61bb030f 1027 p->parsing_heredoc = p->heredocs_from_nextline;
mzta 0:158c61bb030f 1028 }
mzta 0:158c61bb030f 1029 else {
mzta 0:158c61bb030f 1030 while (n->cdr != p->parsing_heredoc) {
mzta 0:158c61bb030f 1031 n = n->cdr;
mzta 0:158c61bb030f 1032 mrb_assert(n != NULL);
mzta 0:158c61bb030f 1033 }
mzta 0:158c61bb030f 1034 m->cdr = n->cdr;
mzta 0:158c61bb030f 1035 n->cdr = p->heredocs_from_nextline;
mzta 0:158c61bb030f 1036 p->parsing_heredoc = p->heredocs_from_nextline;
mzta 0:158c61bb030f 1037 }
mzta 0:158c61bb030f 1038 }
mzta 0:158c61bb030f 1039 p->heredocs_from_nextline = NULL;
mzta 0:158c61bb030f 1040 }
mzta 0:158c61bb030f 1041
mzta 0:158c61bb030f 1042 static void
mzta 0:158c61bb030f 1043 heredoc_end(parser_state *p)
mzta 0:158c61bb030f 1044 {
mzta 0:158c61bb030f 1045 p->parsing_heredoc = p->parsing_heredoc->cdr;
mzta 0:158c61bb030f 1046 if (p->parsing_heredoc == NULL) {
mzta 0:158c61bb030f 1047 p->lstate = EXPR_BEG;
mzta 0:158c61bb030f 1048 p->cmd_start = TRUE;
mzta 0:158c61bb030f 1049 end_strterm(p);
mzta 0:158c61bb030f 1050 p->lex_strterm = p->lex_strterm_before_heredoc;
mzta 0:158c61bb030f 1051 p->lex_strterm_before_heredoc = NULL;
mzta 0:158c61bb030f 1052 p->heredoc_end_now = TRUE;
mzta 0:158c61bb030f 1053 }
mzta 0:158c61bb030f 1054 else {
mzta 0:158c61bb030f 1055 /* next heredoc */
mzta 0:158c61bb030f 1056 p->lex_strterm->car = (node*)(intptr_t)parsing_heredoc_inf(p)->type;
mzta 0:158c61bb030f 1057 }
mzta 0:158c61bb030f 1058 }
mzta 0:158c61bb030f 1059 #define is_strterm_type(p,str_func) ((int)(intptr_t)((p)->lex_strterm->car) & (str_func))
mzta 0:158c61bb030f 1060
mzta 0:158c61bb030f 1061 /* xxx ----------------------------- */
mzta 0:158c61bb030f 1062
mzta 0:158c61bb030f 1063
mzta 0:158c61bb030f 1064
mzta 0:158c61bb030f 1065 /* Line 189 of yacc.c */
mzta 0:158c61bb030f 1066 #line 1067 "C:/Users/matsuzaki.takuya/work/daily/20150106/mruby-1.1.0/build/ARMCA9/src/y.tab.c"
mzta 0:158c61bb030f 1067
mzta 0:158c61bb030f 1068 /* Enabling traces. */
mzta 0:158c61bb030f 1069 #ifndef YYDEBUG
mzta 0:158c61bb030f 1070 # define YYDEBUG 0
mzta 0:158c61bb030f 1071 #endif
mzta 0:158c61bb030f 1072
mzta 0:158c61bb030f 1073 /* Enabling verbose error messages. */
mzta 0:158c61bb030f 1074 #ifdef YYERROR_VERBOSE
mzta 0:158c61bb030f 1075 # undef YYERROR_VERBOSE
mzta 0:158c61bb030f 1076 # define YYERROR_VERBOSE 1
mzta 0:158c61bb030f 1077 #else
mzta 0:158c61bb030f 1078 # define YYERROR_VERBOSE 0
mzta 0:158c61bb030f 1079 #endif
mzta 0:158c61bb030f 1080
mzta 0:158c61bb030f 1081 /* Enabling the token table. */
mzta 0:158c61bb030f 1082 #ifndef YYTOKEN_TABLE
mzta 0:158c61bb030f 1083 # define YYTOKEN_TABLE 0
mzta 0:158c61bb030f 1084 #endif
mzta 0:158c61bb030f 1085
mzta 0:158c61bb030f 1086
mzta 0:158c61bb030f 1087 /* Tokens. */
mzta 0:158c61bb030f 1088 #ifndef YYTOKENTYPE
mzta 0:158c61bb030f 1089 # define YYTOKENTYPE
mzta 0:158c61bb030f 1090 /* Put the tokens into the symbol table, so that GDB and other debuggers
mzta 0:158c61bb030f 1091 know about them. */
mzta 0:158c61bb030f 1092 enum yytokentype {
mzta 0:158c61bb030f 1093 keyword_class = 258,
mzta 0:158c61bb030f 1094 keyword_module = 259,
mzta 0:158c61bb030f 1095 keyword_def = 260,
mzta 0:158c61bb030f 1096 keyword_begin = 261,
mzta 0:158c61bb030f 1097 keyword_if = 262,
mzta 0:158c61bb030f 1098 keyword_unless = 263,
mzta 0:158c61bb030f 1099 keyword_while = 264,
mzta 0:158c61bb030f 1100 keyword_until = 265,
mzta 0:158c61bb030f 1101 keyword_for = 266,
mzta 0:158c61bb030f 1102 keyword_undef = 267,
mzta 0:158c61bb030f 1103 keyword_rescue = 268,
mzta 0:158c61bb030f 1104 keyword_ensure = 269,
mzta 0:158c61bb030f 1105 keyword_end = 270,
mzta 0:158c61bb030f 1106 keyword_then = 271,
mzta 0:158c61bb030f 1107 keyword_elsif = 272,
mzta 0:158c61bb030f 1108 keyword_else = 273,
mzta 0:158c61bb030f 1109 keyword_case = 274,
mzta 0:158c61bb030f 1110 keyword_when = 275,
mzta 0:158c61bb030f 1111 keyword_break = 276,
mzta 0:158c61bb030f 1112 keyword_next = 277,
mzta 0:158c61bb030f 1113 keyword_redo = 278,
mzta 0:158c61bb030f 1114 keyword_retry = 279,
mzta 0:158c61bb030f 1115 keyword_in = 280,
mzta 0:158c61bb030f 1116 keyword_do = 281,
mzta 0:158c61bb030f 1117 keyword_do_cond = 282,
mzta 0:158c61bb030f 1118 keyword_do_block = 283,
mzta 0:158c61bb030f 1119 keyword_do_LAMBDA = 284,
mzta 0:158c61bb030f 1120 keyword_return = 285,
mzta 0:158c61bb030f 1121 keyword_yield = 286,
mzta 0:158c61bb030f 1122 keyword_super = 287,
mzta 0:158c61bb030f 1123 keyword_self = 288,
mzta 0:158c61bb030f 1124 keyword_nil = 289,
mzta 0:158c61bb030f 1125 keyword_true = 290,
mzta 0:158c61bb030f 1126 keyword_false = 291,
mzta 0:158c61bb030f 1127 keyword_and = 292,
mzta 0:158c61bb030f 1128 keyword_or = 293,
mzta 0:158c61bb030f 1129 keyword_not = 294,
mzta 0:158c61bb030f 1130 modifier_if = 295,
mzta 0:158c61bb030f 1131 modifier_unless = 296,
mzta 0:158c61bb030f 1132 modifier_while = 297,
mzta 0:158c61bb030f 1133 modifier_until = 298,
mzta 0:158c61bb030f 1134 modifier_rescue = 299,
mzta 0:158c61bb030f 1135 keyword_alias = 300,
mzta 0:158c61bb030f 1136 keyword_BEGIN = 301,
mzta 0:158c61bb030f 1137 keyword_END = 302,
mzta 0:158c61bb030f 1138 keyword__LINE__ = 303,
mzta 0:158c61bb030f 1139 keyword__FILE__ = 304,
mzta 0:158c61bb030f 1140 keyword__ENCODING__ = 305,
mzta 0:158c61bb030f 1141 tIDENTIFIER = 306,
mzta 0:158c61bb030f 1142 tFID = 307,
mzta 0:158c61bb030f 1143 tGVAR = 308,
mzta 0:158c61bb030f 1144 tIVAR = 309,
mzta 0:158c61bb030f 1145 tCONSTANT = 310,
mzta 0:158c61bb030f 1146 tCVAR = 311,
mzta 0:158c61bb030f 1147 tLABEL = 312,
mzta 0:158c61bb030f 1148 tINTEGER = 313,
mzta 0:158c61bb030f 1149 tFLOAT = 314,
mzta 0:158c61bb030f 1150 tCHAR = 315,
mzta 0:158c61bb030f 1151 tXSTRING = 316,
mzta 0:158c61bb030f 1152 tREGEXP = 317,
mzta 0:158c61bb030f 1153 tSTRING = 318,
mzta 0:158c61bb030f 1154 tSTRING_PART = 319,
mzta 0:158c61bb030f 1155 tSTRING_MID = 320,
mzta 0:158c61bb030f 1156 tNTH_REF = 321,
mzta 0:158c61bb030f 1157 tBACK_REF = 322,
mzta 0:158c61bb030f 1158 tREGEXP_END = 323,
mzta 0:158c61bb030f 1159 tUPLUS = 324,
mzta 0:158c61bb030f 1160 tUMINUS = 325,
mzta 0:158c61bb030f 1161 tPOW = 326,
mzta 0:158c61bb030f 1162 tCMP = 327,
mzta 0:158c61bb030f 1163 tEQ = 328,
mzta 0:158c61bb030f 1164 tEQQ = 329,
mzta 0:158c61bb030f 1165 tNEQ = 330,
mzta 0:158c61bb030f 1166 tGEQ = 331,
mzta 0:158c61bb030f 1167 tLEQ = 332,
mzta 0:158c61bb030f 1168 tANDOP = 333,
mzta 0:158c61bb030f 1169 tOROP = 334,
mzta 0:158c61bb030f 1170 tMATCH = 335,
mzta 0:158c61bb030f 1171 tNMATCH = 336,
mzta 0:158c61bb030f 1172 tDOT2 = 337,
mzta 0:158c61bb030f 1173 tDOT3 = 338,
mzta 0:158c61bb030f 1174 tAREF = 339,
mzta 0:158c61bb030f 1175 tASET = 340,
mzta 0:158c61bb030f 1176 tLSHFT = 341,
mzta 0:158c61bb030f 1177 tRSHFT = 342,
mzta 0:158c61bb030f 1178 tCOLON2 = 343,
mzta 0:158c61bb030f 1179 tCOLON3 = 344,
mzta 0:158c61bb030f 1180 tOP_ASGN = 345,
mzta 0:158c61bb030f 1181 tASSOC = 346,
mzta 0:158c61bb030f 1182 tLPAREN = 347,
mzta 0:158c61bb030f 1183 tLPAREN_ARG = 348,
mzta 0:158c61bb030f 1184 tRPAREN = 349,
mzta 0:158c61bb030f 1185 tLBRACK = 350,
mzta 0:158c61bb030f 1186 tLBRACE = 351,
mzta 0:158c61bb030f 1187 tLBRACE_ARG = 352,
mzta 0:158c61bb030f 1188 tSTAR = 353,
mzta 0:158c61bb030f 1189 tAMPER = 354,
mzta 0:158c61bb030f 1190 tLAMBDA = 355,
mzta 0:158c61bb030f 1191 tSYMBEG = 356,
mzta 0:158c61bb030f 1192 tREGEXP_BEG = 357,
mzta 0:158c61bb030f 1193 tWORDS_BEG = 358,
mzta 0:158c61bb030f 1194 tSYMBOLS_BEG = 359,
mzta 0:158c61bb030f 1195 tSTRING_BEG = 360,
mzta 0:158c61bb030f 1196 tXSTRING_BEG = 361,
mzta 0:158c61bb030f 1197 tSTRING_DVAR = 362,
mzta 0:158c61bb030f 1198 tLAMBEG = 363,
mzta 0:158c61bb030f 1199 tHEREDOC_BEG = 364,
mzta 0:158c61bb030f 1200 tHEREDOC_END = 365,
mzta 0:158c61bb030f 1201 tLITERAL_DELIM = 366,
mzta 0:158c61bb030f 1202 tHD_LITERAL_DELIM = 367,
mzta 0:158c61bb030f 1203 tHD_STRING_PART = 368,
mzta 0:158c61bb030f 1204 tHD_STRING_MID = 369,
mzta 0:158c61bb030f 1205 tLOWEST = 370,
mzta 0:158c61bb030f 1206 tUMINUS_NUM = 371,
mzta 0:158c61bb030f 1207 idNULL = 372,
mzta 0:158c61bb030f 1208 idRespond_to = 373,
mzta 0:158c61bb030f 1209 idIFUNC = 374,
mzta 0:158c61bb030f 1210 idCFUNC = 375,
mzta 0:158c61bb030f 1211 id_core_set_method_alias = 376,
mzta 0:158c61bb030f 1212 id_core_set_variable_alias = 377,
mzta 0:158c61bb030f 1213 id_core_undef_method = 378,
mzta 0:158c61bb030f 1214 id_core_define_method = 379,
mzta 0:158c61bb030f 1215 id_core_define_singleton_method = 380,
mzta 0:158c61bb030f 1216 id_core_set_postexe = 381,
mzta 0:158c61bb030f 1217 tLAST_TOKEN = 382
mzta 0:158c61bb030f 1218 };
mzta 0:158c61bb030f 1219 #endif
mzta 0:158c61bb030f 1220
mzta 0:158c61bb030f 1221
mzta 0:158c61bb030f 1222
mzta 0:158c61bb030f 1223 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
mzta 0:158c61bb030f 1224 typedef union YYSTYPE
mzta 0:158c61bb030f 1225 {
mzta 0:158c61bb030f 1226
mzta 0:158c61bb030f 1227 /* Line 214 of yacc.c */
mzta 0:158c61bb030f 1228 #line 1005 "src/parse.y"
mzta 0:158c61bb030f 1229
mzta 0:158c61bb030f 1230 node *nd;
mzta 0:158c61bb030f 1231 mrb_sym id;
mzta 0:158c61bb030f 1232 int num;
mzta 0:158c61bb030f 1233 stack_type stack;
mzta 0:158c61bb030f 1234 const struct vtable *vars;
mzta 0:158c61bb030f 1235
mzta 0:158c61bb030f 1236
mzta 0:158c61bb030f 1237
mzta 0:158c61bb030f 1238 /* Line 214 of yacc.c */
mzta 0:158c61bb030f 1239 #line 1240 "C:/Users/matsuzaki.takuya/work/daily/20150106/mruby-1.1.0/build/ARMCA9/src/y.tab.c"
mzta 0:158c61bb030f 1240 } YYSTYPE;
mzta 0:158c61bb030f 1241 # define YYSTYPE_IS_TRIVIAL 1
mzta 0:158c61bb030f 1242 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
mzta 0:158c61bb030f 1243 # define YYSTYPE_IS_DECLARED 1
mzta 0:158c61bb030f 1244 #endif
mzta 0:158c61bb030f 1245
mzta 0:158c61bb030f 1246
mzta 0:158c61bb030f 1247 /* Copy the second part of user declarations. */
mzta 0:158c61bb030f 1248
mzta 0:158c61bb030f 1249
mzta 0:158c61bb030f 1250 /* Line 264 of yacc.c */
mzta 0:158c61bb030f 1251 #line 1252 "C:/Users/matsuzaki.takuya/work/daily/20150106/mruby-1.1.0/build/ARMCA9/src/y.tab.c"
mzta 0:158c61bb030f 1252
mzta 0:158c61bb030f 1253 #ifdef short
mzta 0:158c61bb030f 1254 # undef short
mzta 0:158c61bb030f 1255 #endif
mzta 0:158c61bb030f 1256
mzta 0:158c61bb030f 1257 #ifdef YYTYPE_UINT8
mzta 0:158c61bb030f 1258 typedef YYTYPE_UINT8 yytype_uint8;
mzta 0:158c61bb030f 1259 #else
mzta 0:158c61bb030f 1260 typedef unsigned char yytype_uint8;
mzta 0:158c61bb030f 1261 #endif
mzta 0:158c61bb030f 1262
mzta 0:158c61bb030f 1263 #ifdef YYTYPE_INT8
mzta 0:158c61bb030f 1264 typedef YYTYPE_INT8 yytype_int8;
mzta 0:158c61bb030f 1265 #elif (defined __STDC__ || defined __C99__FUNC__ \
mzta 0:158c61bb030f 1266 || defined __cplusplus || defined _MSC_VER)
mzta 0:158c61bb030f 1267 typedef signed char yytype_int8;
mzta 0:158c61bb030f 1268 #else
mzta 0:158c61bb030f 1269 typedef short int yytype_int8;
mzta 0:158c61bb030f 1270 #endif
mzta 0:158c61bb030f 1271
mzta 0:158c61bb030f 1272 #ifdef YYTYPE_UINT16
mzta 0:158c61bb030f 1273 typedef YYTYPE_UINT16 yytype_uint16;
mzta 0:158c61bb030f 1274 #else
mzta 0:158c61bb030f 1275 typedef unsigned short int yytype_uint16;
mzta 0:158c61bb030f 1276 #endif
mzta 0:158c61bb030f 1277
mzta 0:158c61bb030f 1278 #ifdef YYTYPE_INT16
mzta 0:158c61bb030f 1279 typedef YYTYPE_INT16 yytype_int16;
mzta 0:158c61bb030f 1280 #else
mzta 0:158c61bb030f 1281 typedef short int yytype_int16;
mzta 0:158c61bb030f 1282 #endif
mzta 0:158c61bb030f 1283
mzta 0:158c61bb030f 1284 #ifndef YYSIZE_T
mzta 0:158c61bb030f 1285 # ifdef __SIZE_TYPE__
mzta 0:158c61bb030f 1286 # define YYSIZE_T __SIZE_TYPE__
mzta 0:158c61bb030f 1287 # elif defined size_t
mzta 0:158c61bb030f 1288 # define YYSIZE_T size_t
mzta 0:158c61bb030f 1289 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
mzta 0:158c61bb030f 1290 || defined __cplusplus || defined _MSC_VER)
mzta 0:158c61bb030f 1291 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
mzta 0:158c61bb030f 1292 # define YYSIZE_T size_t
mzta 0:158c61bb030f 1293 # else
mzta 0:158c61bb030f 1294 # define YYSIZE_T unsigned int
mzta 0:158c61bb030f 1295 # endif
mzta 0:158c61bb030f 1296 #endif
mzta 0:158c61bb030f 1297
mzta 0:158c61bb030f 1298 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
mzta 0:158c61bb030f 1299
mzta 0:158c61bb030f 1300 #ifndef YY_
mzta 0:158c61bb030f 1301 # if defined YYENABLE_NLS && YYENABLE_NLS
mzta 0:158c61bb030f 1302 # if ENABLE_NLS
mzta 0:158c61bb030f 1303 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
mzta 0:158c61bb030f 1304 # define YY_(msgid) dgettext ("bison-runtime", msgid)
mzta 0:158c61bb030f 1305 # endif
mzta 0:158c61bb030f 1306 # endif
mzta 0:158c61bb030f 1307 # ifndef YY_
mzta 0:158c61bb030f 1308 # define YY_(msgid) msgid
mzta 0:158c61bb030f 1309 # endif
mzta 0:158c61bb030f 1310 #endif
mzta 0:158c61bb030f 1311
mzta 0:158c61bb030f 1312 /* Suppress unused-variable warnings by "using" E. */
mzta 0:158c61bb030f 1313 #if ! defined lint || defined __GNUC__
mzta 0:158c61bb030f 1314 # define YYUSE(e) ((void) (e))
mzta 0:158c61bb030f 1315 #else
mzta 0:158c61bb030f 1316 # define YYUSE(e) /* empty */
mzta 0:158c61bb030f 1317 #endif
mzta 0:158c61bb030f 1318
mzta 0:158c61bb030f 1319 /* Identity function, used to suppress warnings about constant conditions. */
mzta 0:158c61bb030f 1320 #ifndef lint
mzta 0:158c61bb030f 1321 # define YYID(n) (n)
mzta 0:158c61bb030f 1322 #else
mzta 0:158c61bb030f 1323 #if (defined __STDC__ || defined __C99__FUNC__ \
mzta 0:158c61bb030f 1324 || defined __cplusplus || defined _MSC_VER)
mzta 0:158c61bb030f 1325 static int
mzta 0:158c61bb030f 1326 YYID (int yyi)
mzta 0:158c61bb030f 1327 #else
mzta 0:158c61bb030f 1328 static int
mzta 0:158c61bb030f 1329 YYID (yyi)
mzta 0:158c61bb030f 1330 int yyi;
mzta 0:158c61bb030f 1331 #endif
mzta 0:158c61bb030f 1332 {
mzta 0:158c61bb030f 1333 return yyi;
mzta 0:158c61bb030f 1334 }
mzta 0:158c61bb030f 1335 #endif
mzta 0:158c61bb030f 1336
mzta 0:158c61bb030f 1337 #if ! defined yyoverflow || YYERROR_VERBOSE
mzta 0:158c61bb030f 1338
mzta 0:158c61bb030f 1339 /* The parser invokes alloca or malloc; define the necessary symbols. */
mzta 0:158c61bb030f 1340
mzta 0:158c61bb030f 1341 # ifdef YYSTACK_USE_ALLOCA
mzta 0:158c61bb030f 1342 # if YYSTACK_USE_ALLOCA
mzta 0:158c61bb030f 1343 # ifdef __GNUC__
mzta 0:158c61bb030f 1344 # define YYSTACK_ALLOC __builtin_alloca
mzta 0:158c61bb030f 1345 # elif defined __BUILTIN_VA_ARG_INCR
mzta 0:158c61bb030f 1346 # include <alloca.h> /* INFRINGES ON USER NAME SPACE */
mzta 0:158c61bb030f 1347 # elif defined _AIX
mzta 0:158c61bb030f 1348 # define YYSTACK_ALLOC __alloca
mzta 0:158c61bb030f 1349 # elif defined _MSC_VER
mzta 0:158c61bb030f 1350 # include <malloc.h> /* INFRINGES ON USER NAME SPACE */
mzta 0:158c61bb030f 1351 # define alloca _alloca
mzta 0:158c61bb030f 1352 # else
mzta 0:158c61bb030f 1353 # define YYSTACK_ALLOC alloca
mzta 0:158c61bb030f 1354 # if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
mzta 0:158c61bb030f 1355 || defined __cplusplus || defined _MSC_VER)
mzta 0:158c61bb030f 1356 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
mzta 0:158c61bb030f 1357 # ifndef _STDLIB_H
mzta 0:158c61bb030f 1358 # define _STDLIB_H 1
mzta 0:158c61bb030f 1359 # endif
mzta 0:158c61bb030f 1360 # endif
mzta 0:158c61bb030f 1361 # endif
mzta 0:158c61bb030f 1362 # endif
mzta 0:158c61bb030f 1363 # endif
mzta 0:158c61bb030f 1364
mzta 0:158c61bb030f 1365 # ifdef YYSTACK_ALLOC
mzta 0:158c61bb030f 1366 /* Pacify GCC's `empty if-body' warning. */
mzta 0:158c61bb030f 1367 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
mzta 0:158c61bb030f 1368 # ifndef YYSTACK_ALLOC_MAXIMUM
mzta 0:158c61bb030f 1369 /* The OS might guarantee only one guard page at the bottom of the stack,
mzta 0:158c61bb030f 1370 and a page size can be as small as 4096 bytes. So we cannot safely
mzta 0:158c61bb030f 1371 invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
mzta 0:158c61bb030f 1372 to allow for a few compiler-allocated temporary stack slots. */
mzta 0:158c61bb030f 1373 # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
mzta 0:158c61bb030f 1374 # endif
mzta 0:158c61bb030f 1375 # else
mzta 0:158c61bb030f 1376 # define YYSTACK_ALLOC YYMALLOC
mzta 0:158c61bb030f 1377 # define YYSTACK_FREE YYFREE
mzta 0:158c61bb030f 1378 # ifndef YYSTACK_ALLOC_MAXIMUM
mzta 0:158c61bb030f 1379 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
mzta 0:158c61bb030f 1380 # endif
mzta 0:158c61bb030f 1381 # if (defined __cplusplus && ! defined _STDLIB_H \
mzta 0:158c61bb030f 1382 && ! ((defined YYMALLOC || defined malloc) \
mzta 0:158c61bb030f 1383 && (defined YYFREE || defined free)))
mzta 0:158c61bb030f 1384 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
mzta 0:158c61bb030f 1385 # ifndef _STDLIB_H
mzta 0:158c61bb030f 1386 # define _STDLIB_H 1
mzta 0:158c61bb030f 1387 # endif
mzta 0:158c61bb030f 1388 # endif
mzta 0:158c61bb030f 1389 # ifndef YYMALLOC
mzta 0:158c61bb030f 1390 # define YYMALLOC malloc
mzta 0:158c61bb030f 1391 # if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
mzta 0:158c61bb030f 1392 || defined __cplusplus || defined _MSC_VER)
mzta 0:158c61bb030f 1393 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
mzta 0:158c61bb030f 1394 # endif
mzta 0:158c61bb030f 1395 # endif
mzta 0:158c61bb030f 1396 # ifndef YYFREE
mzta 0:158c61bb030f 1397 # define YYFREE free
mzta 0:158c61bb030f 1398 # if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
mzta 0:158c61bb030f 1399 || defined __cplusplus || defined _MSC_VER)
mzta 0:158c61bb030f 1400 void free (void *); /* INFRINGES ON USER NAME SPACE */
mzta 0:158c61bb030f 1401 # endif
mzta 0:158c61bb030f 1402 # endif
mzta 0:158c61bb030f 1403 # endif
mzta 0:158c61bb030f 1404 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
mzta 0:158c61bb030f 1405
mzta 0:158c61bb030f 1406
mzta 0:158c61bb030f 1407 #if (! defined yyoverflow \
mzta 0:158c61bb030f 1408 && (! defined __cplusplus \
mzta 0:158c61bb030f 1409 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
mzta 0:158c61bb030f 1410
mzta 0:158c61bb030f 1411 /* A type that is properly aligned for any stack member. */
mzta 0:158c61bb030f 1412 union yyalloc
mzta 0:158c61bb030f 1413 {
mzta 0:158c61bb030f 1414 yytype_int16 yyss_alloc;
mzta 0:158c61bb030f 1415 YYSTYPE yyvs_alloc;
mzta 0:158c61bb030f 1416 };
mzta 0:158c61bb030f 1417
mzta 0:158c61bb030f 1418 /* The size of the maximum gap between one aligned stack and the next. */
mzta 0:158c61bb030f 1419 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
mzta 0:158c61bb030f 1420
mzta 0:158c61bb030f 1421 /* The size of an array large to enough to hold all stacks, each with
mzta 0:158c61bb030f 1422 N elements. */
mzta 0:158c61bb030f 1423 # define YYSTACK_BYTES(N) \
mzta 0:158c61bb030f 1424 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
mzta 0:158c61bb030f 1425 + YYSTACK_GAP_MAXIMUM)
mzta 0:158c61bb030f 1426
mzta 0:158c61bb030f 1427 /* Copy COUNT objects from FROM to TO. The source and destination do
mzta 0:158c61bb030f 1428 not overlap. */
mzta 0:158c61bb030f 1429 # ifndef YYCOPY
mzta 0:158c61bb030f 1430 # if defined __GNUC__ && 1 < __GNUC__
mzta 0:158c61bb030f 1431 # define YYCOPY(To, From, Count) \
mzta 0:158c61bb030f 1432 __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
mzta 0:158c61bb030f 1433 # else
mzta 0:158c61bb030f 1434 # define YYCOPY(To, From, Count) \
mzta 0:158c61bb030f 1435 do \
mzta 0:158c61bb030f 1436 { \
mzta 0:158c61bb030f 1437 YYSIZE_T yyi; \
mzta 0:158c61bb030f 1438 for (yyi = 0; yyi < (Count); yyi++) \
mzta 0:158c61bb030f 1439 (To)[yyi] = (From)[yyi]; \
mzta 0:158c61bb030f 1440 } \
mzta 0:158c61bb030f 1441 while (YYID (0))
mzta 0:158c61bb030f 1442 # endif
mzta 0:158c61bb030f 1443 # endif
mzta 0:158c61bb030f 1444
mzta 0:158c61bb030f 1445 /* Relocate STACK from its old location to the new one. The
mzta 0:158c61bb030f 1446 local variables YYSIZE and YYSTACKSIZE give the old and new number of
mzta 0:158c61bb030f 1447 elements in the stack, and YYPTR gives the new location of the
mzta 0:158c61bb030f 1448 stack. Advance YYPTR to a properly aligned location for the next
mzta 0:158c61bb030f 1449 stack. */
mzta 0:158c61bb030f 1450 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \
mzta 0:158c61bb030f 1451 do \
mzta 0:158c61bb030f 1452 { \
mzta 0:158c61bb030f 1453 YYSIZE_T yynewbytes; \
mzta 0:158c61bb030f 1454 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
mzta 0:158c61bb030f 1455 Stack = &yyptr->Stack_alloc; \
mzta 0:158c61bb030f 1456 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
mzta 0:158c61bb030f 1457 yyptr += yynewbytes / sizeof (*yyptr); \
mzta 0:158c61bb030f 1458 } \
mzta 0:158c61bb030f 1459 while (YYID (0))
mzta 0:158c61bb030f 1460
mzta 0:158c61bb030f 1461 #endif
mzta 0:158c61bb030f 1462
mzta 0:158c61bb030f 1463 /* YYFINAL -- State number of the termination state. */
mzta 0:158c61bb030f 1464 #define YYFINAL 3
mzta 0:158c61bb030f 1465 /* YYLAST -- Last index in YYTABLE. */
mzta 0:158c61bb030f 1466 #define YYLAST 10941
mzta 0:158c61bb030f 1467
mzta 0:158c61bb030f 1468 /* YYNTOKENS -- Number of terminals. */
mzta 0:158c61bb030f 1469 #define YYNTOKENS 154
mzta 0:158c61bb030f 1470 /* YYNNTS -- Number of nonterminals. */
mzta 0:158c61bb030f 1471 #define YYNNTS 160
mzta 0:158c61bb030f 1472 /* YYNRULES -- Number of rules. */
mzta 0:158c61bb030f 1473 #define YYNRULES 555
mzta 0:158c61bb030f 1474 /* YYNRULES -- Number of states. */
mzta 0:158c61bb030f 1475 #define YYNSTATES 970
mzta 0:158c61bb030f 1476
mzta 0:158c61bb030f 1477 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
mzta 0:158c61bb030f 1478 #define YYUNDEFTOK 2
mzta 0:158c61bb030f 1479 #define YYMAXUTOK 382
mzta 0:158c61bb030f 1480
mzta 0:158c61bb030f 1481 #define YYTRANSLATE(YYX) \
mzta 0:158c61bb030f 1482 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
mzta 0:158c61bb030f 1483
mzta 0:158c61bb030f 1484 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
mzta 0:158c61bb030f 1485 static const yytype_uint8 yytranslate[] =
mzta 0:158c61bb030f 1486 {
mzta 0:158c61bb030f 1487 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
mzta 0:158c61bb030f 1488 153, 2, 2, 2, 2, 2, 2, 2, 2, 2,
mzta 0:158c61bb030f 1489 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
mzta 0:158c61bb030f 1490 2, 2, 2, 130, 2, 2, 2, 128, 123, 2,
mzta 0:158c61bb030f 1491 149, 150, 126, 124, 147, 125, 146, 127, 2, 2,
mzta 0:158c61bb030f 1492 2, 2, 2, 2, 2, 2, 2, 2, 118, 152,
mzta 0:158c61bb030f 1493 120, 116, 119, 117, 2, 2, 2, 2, 2, 2,
mzta 0:158c61bb030f 1494 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
mzta 0:158c61bb030f 1495 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
mzta 0:158c61bb030f 1496 2, 145, 2, 151, 122, 2, 148, 2, 2, 2,
mzta 0:158c61bb030f 1497 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
mzta 0:158c61bb030f 1498 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
mzta 0:158c61bb030f 1499 2, 2, 2, 143, 121, 144, 131, 2, 2, 2,
mzta 0:158c61bb030f 1500 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
mzta 0:158c61bb030f 1501 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
mzta 0:158c61bb030f 1502 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
mzta 0:158c61bb030f 1503 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
mzta 0:158c61bb030f 1504 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
mzta 0:158c61bb030f 1505 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
mzta 0:158c61bb030f 1506 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
mzta 0:158c61bb030f 1507 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
mzta 0:158c61bb030f 1508 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
mzta 0:158c61bb030f 1509 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
mzta 0:158c61bb030f 1510 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
mzta 0:158c61bb030f 1511 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
mzta 0:158c61bb030f 1512 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
mzta 0:158c61bb030f 1513 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
mzta 0:158c61bb030f 1514 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
mzta 0:158c61bb030f 1515 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
mzta 0:158c61bb030f 1516 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
mzta 0:158c61bb030f 1517 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
mzta 0:158c61bb030f 1518 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
mzta 0:158c61bb030f 1519 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
mzta 0:158c61bb030f 1520 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
mzta 0:158c61bb030f 1521 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
mzta 0:158c61bb030f 1522 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
mzta 0:158c61bb030f 1523 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
mzta 0:158c61bb030f 1524 115, 129, 132, 133, 134, 135, 136, 137, 138, 139,
mzta 0:158c61bb030f 1525 140, 141, 142
mzta 0:158c61bb030f 1526 };
mzta 0:158c61bb030f 1527
mzta 0:158c61bb030f 1528 #if YYDEBUG
mzta 0:158c61bb030f 1529 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
mzta 0:158c61bb030f 1530 YYRHS. */
mzta 0:158c61bb030f 1531 static const yytype_uint16 yyprhs[] =
mzta 0:158c61bb030f 1532 {
mzta 0:158c61bb030f 1533 0, 0, 3, 4, 7, 10, 12, 14, 18, 21,
mzta 0:158c61bb030f 1534 23, 24, 30, 35, 38, 40, 42, 46, 49, 50,
mzta 0:158c61bb030f 1535 55, 58, 62, 66, 70, 74, 78, 83, 85, 89,
mzta 0:158c61bb030f 1536 93, 100, 106, 112, 118, 124, 128, 132, 136, 140,
mzta 0:158c61bb030f 1537 142, 146, 150, 152, 156, 160, 164, 167, 169, 171,
mzta 0:158c61bb030f 1538 173, 175, 177, 182, 183, 189, 192, 196, 201, 207,
mzta 0:158c61bb030f 1539 212, 218, 221, 224, 227, 230, 233, 235, 239, 241,
mzta 0:158c61bb030f 1540 245, 247, 250, 254, 260, 263, 268, 271, 276, 278,
mzta 0:158c61bb030f 1541 282, 284, 288, 291, 295, 297, 300, 302, 307, 311,
mzta 0:158c61bb030f 1542 315, 319, 323, 326, 328, 330, 335, 339, 343, 347,
mzta 0:158c61bb030f 1543 351, 354, 356, 358, 360, 363, 365, 369, 371, 373,
mzta 0:158c61bb030f 1544 375, 377, 379, 381, 383, 385, 386, 391, 393, 395,
mzta 0:158c61bb030f 1545 397, 399, 401, 403, 405, 407, 409, 411, 413, 415,
mzta 0:158c61bb030f 1546 417, 419, 421, 423, 425, 427, 429, 431, 433, 435,
mzta 0:158c61bb030f 1547 437, 439, 441, 443, 445, 447, 449, 451, 453, 455,
mzta 0:158c61bb030f 1548 457, 459, 461, 463, 465, 467, 469, 471, 473, 475,
mzta 0:158c61bb030f 1549 477, 479, 481, 483, 485, 487, 489, 491, 493, 495,
mzta 0:158c61bb030f 1550 497, 499, 501, 503, 505, 507, 509, 511, 513, 515,
mzta 0:158c61bb030f 1551 517, 519, 521, 523, 525, 527, 529, 533, 539, 543,
mzta 0:158c61bb030f 1552 549, 556, 562, 568, 574, 580, 585, 589, 593, 597,
mzta 0:158c61bb030f 1553 601, 605, 609, 613, 617, 621, 626, 631, 634, 637,
mzta 0:158c61bb030f 1554 641, 645, 649, 653, 657, 661, 665, 669, 673, 677,
mzta 0:158c61bb030f 1555 681, 685, 689, 692, 695, 699, 703, 707, 711, 718,
mzta 0:158c61bb030f 1556 720, 722, 724, 727, 732, 735, 739, 741, 743, 745,
mzta 0:158c61bb030f 1557 747, 750, 755, 758, 760, 763, 766, 771, 773, 774,
mzta 0:158c61bb030f 1558 777, 780, 783, 785, 787, 790, 794, 799, 804, 810,
mzta 0:158c61bb030f 1559 814, 819, 822, 824, 826, 828, 830, 832, 834, 836,
mzta 0:158c61bb030f 1560 838, 839, 844, 845, 846, 852, 853, 857, 861, 865,
mzta 0:158c61bb030f 1561 868, 872, 876, 878, 883, 887, 889, 894, 898, 901,
mzta 0:158c61bb030f 1562 903, 906, 907, 912, 919, 926, 927, 928, 936, 937,
mzta 0:158c61bb030f 1563 938, 946, 952, 957, 958, 959, 969, 970, 977, 978,
mzta 0:158c61bb030f 1564 979, 988, 989, 995, 996, 997, 1005, 1006, 1007, 1017,
mzta 0:158c61bb030f 1565 1019, 1021, 1023, 1025, 1027, 1029, 1031, 1034, 1036, 1038,
mzta 0:158c61bb030f 1566 1040, 1046, 1048, 1051, 1053, 1055, 1057, 1061, 1063, 1067,
mzta 0:158c61bb030f 1567 1069, 1074, 1081, 1085, 1091, 1094, 1099, 1101, 1105, 1112,
mzta 0:158c61bb030f 1568 1121, 1126, 1133, 1138, 1141, 1148, 1151, 1156, 1163, 1166,
mzta 0:158c61bb030f 1569 1171, 1174, 1179, 1181, 1183, 1185, 1189, 1191, 1196, 1198,
mzta 0:158c61bb030f 1570 1203, 1205, 1209, 1211, 1213, 1218, 1220, 1224, 1228, 1229,
mzta 0:158c61bb030f 1571 1235, 1238, 1243, 1249, 1255, 1258, 1263, 1268, 1272, 1276,
mzta 0:158c61bb030f 1572 1280, 1283, 1285, 1290, 1291, 1297, 1298, 1304, 1310, 1312,
mzta 0:158c61bb030f 1573 1314, 1321, 1323, 1325, 1327, 1329, 1332, 1334, 1337, 1339,
mzta 0:158c61bb030f 1574 1341, 1343, 1345, 1347, 1349, 1351, 1354, 1358, 1360, 1363,
mzta 0:158c61bb030f 1575 1365, 1366, 1371, 1373, 1376, 1379, 1383, 1386, 1390, 1392,
mzta 0:158c61bb030f 1576 1393, 1395, 1397, 1400, 1402, 1405, 1407, 1410, 1412, 1413,
mzta 0:158c61bb030f 1577 1418, 1421, 1425, 1427, 1432, 1435, 1437, 1439, 1441, 1443,
mzta 0:158c61bb030f 1578 1445, 1448, 1451, 1455, 1457, 1459, 1462, 1465, 1467, 1469,
mzta 0:158c61bb030f 1579 1471, 1473, 1475, 1477, 1479, 1481, 1483, 1485, 1487, 1489,
mzta 0:158c61bb030f 1580 1491, 1493, 1495, 1497, 1498, 1503, 1506, 1510, 1513, 1520,
mzta 0:158c61bb030f 1581 1529, 1534, 1541, 1546, 1553, 1556, 1561, 1568, 1571, 1576,
mzta 0:158c61bb030f 1582 1579, 1584, 1586, 1587, 1589, 1591, 1593, 1595, 1597, 1599,
mzta 0:158c61bb030f 1583 1601, 1605, 1607, 1611, 1614, 1617, 1620, 1622, 1626, 1628,
mzta 0:158c61bb030f 1584 1632, 1634, 1636, 1639, 1641, 1643, 1645, 1648, 1651, 1653,
mzta 0:158c61bb030f 1585 1655, 1656, 1661, 1663, 1666, 1668, 1672, 1676, 1679, 1681,
mzta 0:158c61bb030f 1586 1683, 1685, 1687, 1689, 1691, 1693, 1695, 1697, 1699, 1701,
mzta 0:158c61bb030f 1587 1703, 1704, 1706, 1707, 1709, 1712, 1715, 1716, 1718, 1720,
mzta 0:158c61bb030f 1588 1722, 1724, 1725, 1729, 1731, 1734
mzta 0:158c61bb030f 1589 };
mzta 0:158c61bb030f 1590
mzta 0:158c61bb030f 1591 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
mzta 0:158c61bb030f 1592 static const yytype_int16 yyrhs[] =
mzta 0:158c61bb030f 1593 {
mzta 0:158c61bb030f 1594 155, 0, -1, -1, 156, 157, -1, 158, 304, -1,
mzta 0:158c61bb030f 1595 313, -1, 159, -1, 158, 312, 159, -1, 1, 159,
mzta 0:158c61bb030f 1596 -1, 164, -1, -1, 46, 160, 143, 157, 144, -1,
mzta 0:158c61bb030f 1597 162, 249, 227, 252, -1, 163, 304, -1, 313, -1,
mzta 0:158c61bb030f 1598 164, -1, 163, 312, 164, -1, 1, 164, -1, -1,
mzta 0:158c61bb030f 1599 45, 185, 165, 185, -1, 12, 186, -1, 164, 40,
mzta 0:158c61bb030f 1600 168, -1, 164, 41, 168, -1, 164, 42, 168, -1,
mzta 0:158c61bb030f 1601 164, 43, 168, -1, 164, 44, 164, -1, 47, 143,
mzta 0:158c61bb030f 1602 162, 144, -1, 166, -1, 174, 116, 169, -1, 274,
mzta 0:158c61bb030f 1603 90, 169, -1, 223, 145, 195, 307, 90, 169, -1,
mzta 0:158c61bb030f 1604 223, 146, 51, 90, 169, -1, 223, 146, 55, 90,
mzta 0:158c61bb030f 1605 169, -1, 223, 88, 55, 90, 169, -1, 223, 88,
mzta 0:158c61bb030f 1606 51, 90, 169, -1, 276, 90, 169, -1, 181, 116,
mzta 0:158c61bb030f 1607 202, -1, 174, 116, 191, -1, 174, 116, 202, -1,
mzta 0:158c61bb030f 1608 167, -1, 181, 116, 169, -1, 181, 116, 166, -1,
mzta 0:158c61bb030f 1609 169, -1, 167, 37, 167, -1, 167, 38, 167, -1,
mzta 0:158c61bb030f 1610 39, 305, 167, -1, 130, 169, -1, 190, -1, 167,
mzta 0:158c61bb030f 1611 -1, 173, -1, 170, -1, 242, -1, 242, 303, 301,
mzta 0:158c61bb030f 1612 197, -1, -1, 97, 172, 233, 162, 144, -1, 300,
mzta 0:158c61bb030f 1613 197, -1, 300, 197, 171, -1, 223, 146, 301, 197,
mzta 0:158c61bb030f 1614 -1, 223, 146, 301, 197, 171, -1, 223, 88, 301,
mzta 0:158c61bb030f 1615 197, -1, 223, 88, 301, 197, 171, -1, 32, 197,
mzta 0:158c61bb030f 1616 -1, 31, 197, -1, 30, 196, -1, 21, 196, -1,
mzta 0:158c61bb030f 1617 22, 196, -1, 176, -1, 92, 175, 306, -1, 176,
mzta 0:158c61bb030f 1618 -1, 92, 175, 306, -1, 178, -1, 178, 177, -1,
mzta 0:158c61bb030f 1619 178, 98, 180, -1, 178, 98, 180, 147, 179, -1,
mzta 0:158c61bb030f 1620 178, 98, -1, 178, 98, 147, 179, -1, 98, 180,
mzta 0:158c61bb030f 1621 -1, 98, 180, 147, 179, -1, 98, -1, 98, 147,
mzta 0:158c61bb030f 1622 179, -1, 180, -1, 92, 175, 306, -1, 177, 147,
mzta 0:158c61bb030f 1623 -1, 178, 177, 147, -1, 177, -1, 178, 177, -1,
mzta 0:158c61bb030f 1624 273, -1, 223, 145, 195, 307, -1, 223, 146, 51,
mzta 0:158c61bb030f 1625 -1, 223, 88, 51, -1, 223, 146, 55, -1, 223,
mzta 0:158c61bb030f 1626 88, 55, -1, 89, 55, -1, 276, -1, 273, -1,
mzta 0:158c61bb030f 1627 223, 145, 195, 307, -1, 223, 146, 51, -1, 223,
mzta 0:158c61bb030f 1628 88, 51, -1, 223, 146, 55, -1, 223, 88, 55,
mzta 0:158c61bb030f 1629 -1, 89, 55, -1, 276, -1, 51, -1, 55, -1,
mzta 0:158c61bb030f 1630 89, 182, -1, 182, -1, 223, 88, 182, -1, 51,
mzta 0:158c61bb030f 1631 -1, 55, -1, 52, -1, 188, -1, 189, -1, 184,
mzta 0:158c61bb030f 1632 -1, 269, -1, 185, -1, -1, 186, 147, 187, 185,
mzta 0:158c61bb030f 1633 -1, 121, -1, 122, -1, 123, -1, 72, -1, 73,
mzta 0:158c61bb030f 1634 -1, 74, -1, 80, -1, 81, -1, 119, -1, 76,
mzta 0:158c61bb030f 1635 -1, 120, -1, 77, -1, 75, -1, 86, -1, 87,
mzta 0:158c61bb030f 1636 -1, 124, -1, 125, -1, 126, -1, 98, -1, 127,
mzta 0:158c61bb030f 1637 -1, 128, -1, 71, -1, 130, -1, 131, -1, 69,
mzta 0:158c61bb030f 1638 -1, 70, -1, 84, -1, 85, -1, 148, -1, 48,
mzta 0:158c61bb030f 1639 -1, 49, -1, 50, -1, 46, -1, 47, -1, 45,
mzta 0:158c61bb030f 1640 -1, 37, -1, 6, -1, 21, -1, 19, -1, 3,
mzta 0:158c61bb030f 1641 -1, 5, -1, 26, -1, 18, -1, 17, -1, 15,
mzta 0:158c61bb030f 1642 -1, 14, -1, 36, -1, 11, -1, 25, -1, 4,
mzta 0:158c61bb030f 1643 -1, 22, -1, 34, -1, 39, -1, 38, -1, 23,
mzta 0:158c61bb030f 1644 -1, 13, -1, 24, -1, 30, -1, 33, -1, 32,
mzta 0:158c61bb030f 1645 -1, 16, -1, 35, -1, 12, -1, 20, -1, 31,
mzta 0:158c61bb030f 1646 -1, 7, -1, 8, -1, 9, -1, 10, -1, 181,
mzta 0:158c61bb030f 1647 116, 190, -1, 181, 116, 190, 44, 190, -1, 274,
mzta 0:158c61bb030f 1648 90, 190, -1, 274, 90, 190, 44, 190, -1, 223,
mzta 0:158c61bb030f 1649 145, 195, 307, 90, 190, -1, 223, 146, 51, 90,
mzta 0:158c61bb030f 1650 190, -1, 223, 146, 55, 90, 190, -1, 223, 88,
mzta 0:158c61bb030f 1651 51, 90, 190, -1, 223, 88, 55, 90, 190, -1,
mzta 0:158c61bb030f 1652 89, 55, 90, 190, -1, 276, 90, 190, -1, 190,
mzta 0:158c61bb030f 1653 82, 190, -1, 190, 83, 190, -1, 190, 124, 190,
mzta 0:158c61bb030f 1654 -1, 190, 125, 190, -1, 190, 126, 190, -1, 190,
mzta 0:158c61bb030f 1655 127, 190, -1, 190, 128, 190, -1, 190, 71, 190,
mzta 0:158c61bb030f 1656 -1, 129, 58, 71, 190, -1, 129, 59, 71, 190,
mzta 0:158c61bb030f 1657 -1, 69, 190, -1, 70, 190, -1, 190, 121, 190,
mzta 0:158c61bb030f 1658 -1, 190, 122, 190, -1, 190, 123, 190, -1, 190,
mzta 0:158c61bb030f 1659 72, 190, -1, 190, 119, 190, -1, 190, 76, 190,
mzta 0:158c61bb030f 1660 -1, 190, 120, 190, -1, 190, 77, 190, -1, 190,
mzta 0:158c61bb030f 1661 73, 190, -1, 190, 74, 190, -1, 190, 75, 190,
mzta 0:158c61bb030f 1662 -1, 190, 80, 190, -1, 190, 81, 190, -1, 130,
mzta 0:158c61bb030f 1663 190, -1, 131, 190, -1, 190, 86, 190, -1, 190,
mzta 0:158c61bb030f 1664 87, 190, -1, 190, 78, 190, -1, 190, 79, 190,
mzta 0:158c61bb030f 1665 -1, 190, 117, 190, 305, 118, 190, -1, 203, -1,
mzta 0:158c61bb030f 1666 190, -1, 313, -1, 201, 308, -1, 201, 147, 298,
mzta 0:158c61bb030f 1667 308, -1, 298, 308, -1, 149, 195, 306, -1, 313,
mzta 0:158c61bb030f 1668 -1, 193, -1, 313, -1, 196, -1, 201, 147, -1,
mzta 0:158c61bb030f 1669 201, 147, 298, 147, -1, 298, 147, -1, 173, -1,
mzta 0:158c61bb030f 1670 201, 200, -1, 298, 200, -1, 201, 147, 298, 200,
mzta 0:158c61bb030f 1671 -1, 199, -1, -1, 198, 196, -1, 99, 191, -1,
mzta 0:158c61bb030f 1672 147, 199, -1, 313, -1, 191, -1, 98, 191, -1,
mzta 0:158c61bb030f 1673 201, 147, 191, -1, 201, 147, 98, 191, -1, 201,
mzta 0:158c61bb030f 1674 147, 262, 191, -1, 201, 147, 262, 98, 191, -1,
mzta 0:158c61bb030f 1675 201, 147, 191, -1, 201, 147, 98, 191, -1, 98,
mzta 0:158c61bb030f 1676 191, -1, 253, -1, 254, -1, 258, -1, 259, -1,
mzta 0:158c61bb030f 1677 260, -1, 275, -1, 276, -1, 52, -1, -1, 6,
mzta 0:158c61bb030f 1678 204, 161, 15, -1, -1, -1, 93, 205, 167, 206,
mzta 0:158c61bb030f 1679 306, -1, -1, 93, 207, 306, -1, 92, 162, 150,
mzta 0:158c61bb030f 1680 -1, 223, 88, 55, -1, 89, 55, -1, 95, 192,
mzta 0:158c61bb030f 1681 151, -1, 96, 297, 144, -1, 30, -1, 31, 149,
mzta 0:158c61bb030f 1682 196, 306, -1, 31, 149, 306, -1, 31, -1, 39,
mzta 0:158c61bb030f 1683 149, 167, 306, -1, 39, 149, 306, -1, 300, 244,
mzta 0:158c61bb030f 1684 -1, 243, -1, 243, 244, -1, -1, 100, 208, 238,
mzta 0:158c61bb030f 1685 239, -1, 7, 168, 224, 162, 226, 15, -1, 8,
mzta 0:158c61bb030f 1686 168, 224, 162, 227, 15, -1, -1, -1, 9, 209,
mzta 0:158c61bb030f 1687 168, 225, 210, 162, 15, -1, -1, -1, 10, 211,
mzta 0:158c61bb030f 1688 168, 225, 212, 162, 15, -1, 19, 168, 304, 247,
mzta 0:158c61bb030f 1689 15, -1, 19, 304, 247, 15, -1, -1, -1, 11,
mzta 0:158c61bb030f 1690 228, 25, 213, 168, 225, 214, 162, 15, -1, -1,
mzta 0:158c61bb030f 1691 3, 183, 277, 215, 161, 15, -1, -1, -1, 3,
mzta 0:158c61bb030f 1692 86, 167, 216, 309, 217, 161, 15, -1, -1, 4,
mzta 0:158c61bb030f 1693 183, 218, 161, 15, -1, -1, -1, 5, 184, 219,
mzta 0:158c61bb030f 1694 220, 279, 161, 15, -1, -1, -1, 5, 295, 303,
mzta 0:158c61bb030f 1695 221, 184, 222, 279, 161, 15, -1, 21, -1, 22,
mzta 0:158c61bb030f 1696 -1, 23, -1, 24, -1, 203, -1, 309, -1, 16,
mzta 0:158c61bb030f 1697 -1, 309, 16, -1, 309, -1, 27, -1, 227, -1,
mzta 0:158c61bb030f 1698 17, 168, 224, 162, 226, -1, 313, -1, 18, 162,
mzta 0:158c61bb030f 1699 -1, 181, -1, 174, -1, 282, -1, 92, 231, 306,
mzta 0:158c61bb030f 1700 -1, 229, -1, 230, 147, 229, -1, 230, -1, 230,
mzta 0:158c61bb030f 1701 147, 98, 282, -1, 230, 147, 98, 282, 147, 230,
mzta 0:158c61bb030f 1702 -1, 230, 147, 98, -1, 230, 147, 98, 147, 230,
mzta 0:158c61bb030f 1703 -1, 98, 282, -1, 98, 282, 147, 230, -1, 98,
mzta 0:158c61bb030f 1704 -1, 98, 147, 230, -1, 284, 147, 288, 147, 291,
mzta 0:158c61bb030f 1705 294, -1, 284, 147, 288, 147, 291, 147, 284, 294,
mzta 0:158c61bb030f 1706 -1, 284, 147, 288, 294, -1, 284, 147, 288, 147,
mzta 0:158c61bb030f 1707 284, 294, -1, 284, 147, 291, 294, -1, 284, 147,
mzta 0:158c61bb030f 1708 -1, 284, 147, 291, 147, 284, 294, -1, 284, 294,
mzta 0:158c61bb030f 1709 -1, 288, 147, 291, 294, -1, 288, 147, 291, 147,
mzta 0:158c61bb030f 1710 284, 294, -1, 288, 294, -1, 288, 147, 284, 294,
mzta 0:158c61bb030f 1711 -1, 291, 294, -1, 291, 147, 284, 294, -1, 293,
mzta 0:158c61bb030f 1712 -1, 313, -1, 234, -1, 121, 235, 121, -1, 79,
mzta 0:158c61bb030f 1713 -1, 121, 232, 235, 121, -1, 305, -1, 305, 152,
mzta 0:158c61bb030f 1714 236, 305, -1, 237, -1, 236, 147, 237, -1, 51,
mzta 0:158c61bb030f 1715 -1, 281, -1, 149, 280, 235, 150, -1, 280, -1,
mzta 0:158c61bb030f 1716 108, 162, 144, -1, 29, 162, 15, -1, -1, 28,
mzta 0:158c61bb030f 1717 241, 233, 162, 15, -1, 173, 240, -1, 242, 303,
mzta 0:158c61bb030f 1718 301, 194, -1, 242, 303, 301, 194, 244, -1, 242,
mzta 0:158c61bb030f 1719 303, 301, 197, 240, -1, 300, 193, -1, 223, 146,
mzta 0:158c61bb030f 1720 301, 194, -1, 223, 88, 301, 193, -1, 223, 88,
mzta 0:158c61bb030f 1721 302, -1, 223, 146, 193, -1, 223, 88, 193, -1,
mzta 0:158c61bb030f 1722 32, 193, -1, 32, -1, 223, 145, 195, 307, -1,
mzta 0:158c61bb030f 1723 -1, 143, 245, 233, 162, 144, -1, -1, 26, 246,
mzta 0:158c61bb030f 1724 233, 162, 15, -1, 20, 201, 224, 162, 248, -1,
mzta 0:158c61bb030f 1725 227, -1, 247, -1, 13, 250, 251, 224, 162, 249,
mzta 0:158c61bb030f 1726 -1, 313, -1, 191, -1, 202, -1, 313, -1, 91,
mzta 0:158c61bb030f 1727 181, -1, 313, -1, 14, 162, -1, 313, -1, 272,
mzta 0:158c61bb030f 1728 -1, 268, -1, 267, -1, 271, -1, 60, -1, 63,
mzta 0:158c61bb030f 1729 -1, 105, 63, -1, 105, 255, 63, -1, 256, -1,
mzta 0:158c61bb030f 1730 255, 256, -1, 65, -1, -1, 64, 257, 162, 144,
mzta 0:158c61bb030f 1731 -1, 111, -1, 112, 262, -1, 106, 61, -1, 106,
mzta 0:158c61bb030f 1732 255, 61, -1, 102, 62, -1, 102, 255, 62, -1,
mzta 0:158c61bb030f 1733 109, -1, -1, 262, -1, 263, -1, 262, 263, -1,
mzta 0:158c61bb030f 1734 110, -1, 264, 110, -1, 265, -1, 264, 265, -1,
mzta 0:158c61bb030f 1735 114, -1, -1, 113, 266, 162, 144, -1, 103, 63,
mzta 0:158c61bb030f 1736 -1, 103, 255, 63, -1, 269, -1, 101, 105, 256,
mzta 0:158c61bb030f 1737 63, -1, 101, 270, -1, 184, -1, 54, -1, 53,
mzta 0:158c61bb030f 1738 -1, 56, -1, 63, -1, 105, 63, -1, 104, 63,
mzta 0:158c61bb030f 1739 -1, 104, 255, 63, -1, 58, -1, 59, -1, 129,
mzta 0:158c61bb030f 1740 58, -1, 129, 59, -1, 51, -1, 54, -1, 53,
mzta 0:158c61bb030f 1741 -1, 56, -1, 55, -1, 273, -1, 273, -1, 34,
mzta 0:158c61bb030f 1742 -1, 33, -1, 35, -1, 36, -1, 49, -1, 48,
mzta 0:158c61bb030f 1743 -1, 66, -1, 67, -1, 309, -1, -1, 120, 278,
mzta 0:158c61bb030f 1744 168, 309, -1, 1, 309, -1, 149, 280, 306, -1,
mzta 0:158c61bb030f 1745 280, 309, -1, 284, 147, 289, 147, 291, 294, -1,
mzta 0:158c61bb030f 1746 284, 147, 289, 147, 291, 147, 284, 294, -1, 284,
mzta 0:158c61bb030f 1747 147, 289, 294, -1, 284, 147, 289, 147, 284, 294,
mzta 0:158c61bb030f 1748 -1, 284, 147, 291, 294, -1, 284, 147, 291, 147,
mzta 0:158c61bb030f 1749 284, 294, -1, 284, 294, -1, 289, 147, 291, 294,
mzta 0:158c61bb030f 1750 -1, 289, 147, 291, 147, 284, 294, -1, 289, 294,
mzta 0:158c61bb030f 1751 -1, 289, 147, 284, 294, -1, 291, 294, -1, 291,
mzta 0:158c61bb030f 1752 147, 284, 294, -1, 293, -1, -1, 55, -1, 54,
mzta 0:158c61bb030f 1753 -1, 53, -1, 56, -1, 281, -1, 51, -1, 282,
mzta 0:158c61bb030f 1754 -1, 92, 231, 306, -1, 283, -1, 284, 147, 283,
mzta 0:158c61bb030f 1755 -1, 51, 116, -1, 285, 191, -1, 285, 223, -1,
mzta 0:158c61bb030f 1756 287, -1, 288, 147, 287, -1, 286, -1, 289, 147,
mzta 0:158c61bb030f 1757 286, -1, 126, -1, 98, -1, 290, 51, -1, 290,
mzta 0:158c61bb030f 1758 -1, 123, -1, 99, -1, 292, 51, -1, 147, 293,
mzta 0:158c61bb030f 1759 -1, 313, -1, 275, -1, -1, 149, 296, 167, 306,
mzta 0:158c61bb030f 1760 -1, 313, -1, 298, 308, -1, 299, -1, 298, 147,
mzta 0:158c61bb030f 1761 299, -1, 191, 91, 191, -1, 57, 191, -1, 51,
mzta 0:158c61bb030f 1762 -1, 55, -1, 52, -1, 51, -1, 55, -1, 52,
mzta 0:158c61bb030f 1763 -1, 188, -1, 51, -1, 52, -1, 188, -1, 146,
mzta 0:158c61bb030f 1764 -1, 88, -1, -1, 312, -1, -1, 310, -1, 305,
mzta 0:158c61bb030f 1765 150, -1, 305, 151, -1, -1, 310, -1, 147, -1,
mzta 0:158c61bb030f 1766 152, -1, 310, -1, -1, 153, 311, 261, -1, 309,
mzta 0:158c61bb030f 1767 -1, 312, 152, -1, -1
mzta 0:158c61bb030f 1768 };
mzta 0:158c61bb030f 1769
mzta 0:158c61bb030f 1770 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
mzta 0:158c61bb030f 1771 static const yytype_uint16 yyrline[] =
mzta 0:158c61bb030f 1772 {
mzta 0:158c61bb030f 1773 0, 1166, 1166, 1166, 1177, 1183, 1187, 1192, 1196, 1202,
mzta 0:158c61bb030f 1774 1204, 1203, 1215, 1242, 1248, 1252, 1257, 1261, 1267, 1267,
mzta 0:158c61bb030f 1775 1271, 1275, 1279, 1283, 1287, 1291, 1295, 1300, 1301, 1305,
mzta 0:158c61bb030f 1776 1309, 1313, 1317, 1321, 1326, 1330, 1335, 1339, 1343, 1347,
mzta 0:158c61bb030f 1777 1350, 1354, 1361, 1362, 1366, 1370, 1374, 1378, 1381, 1388,
mzta 0:158c61bb030f 1778 1389, 1392, 1393, 1397, 1396, 1409, 1413, 1418, 1422, 1427,
mzta 0:158c61bb030f 1779 1431, 1436, 1440, 1444, 1448, 1452, 1458, 1462, 1468, 1469,
mzta 0:158c61bb030f 1780 1475, 1479, 1483, 1487, 1491, 1495, 1499, 1503, 1507, 1511,
mzta 0:158c61bb030f 1781 1517, 1518, 1524, 1528, 1534, 1538, 1544, 1548, 1552, 1556,
mzta 0:158c61bb030f 1782 1560, 1564, 1570, 1576, 1583, 1587, 1591, 1595, 1599, 1603,
mzta 0:158c61bb030f 1783 1609, 1615, 1622, 1626, 1629, 1633, 1637, 1643, 1644, 1645,
mzta 0:158c61bb030f 1784 1646, 1651, 1658, 1659, 1662, 1666, 1666, 1672, 1673, 1674,
mzta 0:158c61bb030f 1785 1675, 1676, 1677, 1678, 1679, 1680, 1681, 1682, 1683, 1684,
mzta 0:158c61bb030f 1786 1685, 1686, 1687, 1688, 1689, 1690, 1691, 1692, 1693, 1694,
mzta 0:158c61bb030f 1787 1695, 1696, 1697, 1698, 1699, 1700, 1703, 1703, 1703, 1704,
mzta 0:158c61bb030f 1788 1704, 1705, 1705, 1705, 1706, 1706, 1706, 1706, 1707, 1707,
mzta 0:158c61bb030f 1789 1707, 1708, 1708, 1708, 1709, 1709, 1709, 1709, 1710, 1710,
mzta 0:158c61bb030f 1790 1710, 1710, 1711, 1711, 1711, 1711, 1712, 1712, 1712, 1712,
mzta 0:158c61bb030f 1791 1713, 1713, 1713, 1713, 1714, 1714, 1717, 1721, 1725, 1729,
mzta 0:158c61bb030f 1792 1733, 1737, 1741, 1745, 1749, 1754, 1759, 1764, 1768, 1772,
mzta 0:158c61bb030f 1793 1776, 1780, 1784, 1788, 1792, 1796, 1800, 1804, 1808, 1812,
mzta 0:158c61bb030f 1794 1816, 1820, 1824, 1828, 1832, 1836, 1840, 1844, 1848, 1852,
mzta 0:158c61bb030f 1795 1856, 1860, 1864, 1868, 1872, 1876, 1880, 1884, 1888, 1892,
mzta 0:158c61bb030f 1796 1898, 1905, 1906, 1911, 1915, 1922, 1928, 1929, 1932, 1933,
mzta 0:158c61bb030f 1797 1934, 1939, 1944, 1951, 1956, 1961, 1966, 1971, 1978, 1978,
mzta 0:158c61bb030f 1798 1989, 1995, 1999, 2005, 2010, 2015, 2019, 2023, 2027, 2033,
mzta 0:158c61bb030f 1799 2037, 2041, 2047, 2048, 2049, 2050, 2051, 2052, 2053, 2054,
mzta 0:158c61bb030f 1800 2059, 2058, 2070, 2074, 2069, 2079, 2079, 2083, 2087, 2091,
mzta 0:158c61bb030f 1801 2095, 2100, 2105, 2109, 2113, 2117, 2121, 2125, 2129, 2133,
mzta 0:158c61bb030f 1802 2134, 2140, 2139, 2152, 2160, 2168, 2168, 2168, 2175, 2175,
mzta 0:158c61bb030f 1803 2175, 2182, 2188, 2193, 2195, 2192, 2204, 2202, 2218, 2223,
mzta 0:158c61bb030f 1804 2216, 2238, 2236, 2251, 2255, 2250, 2270, 2276, 2269, 2291,
mzta 0:158c61bb030f 1805 2295, 2299, 2303, 2309, 2316, 2317, 2318, 2321, 2322, 2325,
mzta 0:158c61bb030f 1806 2326, 2334, 2335, 2341, 2345, 2348, 2352, 2358, 2362, 2368,
mzta 0:158c61bb030f 1807 2372, 2376, 2380, 2384, 2388, 2392, 2396, 2400, 2406, 2410,
mzta 0:158c61bb030f 1808 2414, 2418, 2422, 2426, 2430, 2434, 2438, 2442, 2446, 2450,
mzta 0:158c61bb030f 1809 2454, 2458, 2462, 2468, 2469, 2476, 2480, 2484, 2491, 2495,
mzta 0:158c61bb030f 1810 2501, 2502, 2505, 2510, 2513, 2517, 2523, 2527, 2534, 2533,
mzta 0:158c61bb030f 1811 2546, 2556, 2560, 2565, 2572, 2576, 2580, 2584, 2588, 2592,
mzta 0:158c61bb030f 1812 2596, 2600, 2604, 2611, 2610, 2623, 2622, 2636, 2644, 2653,
mzta 0:158c61bb030f 1813 2656, 2663, 2666, 2670, 2671, 2674, 2678, 2681, 2685, 2688,
mzta 0:158c61bb030f 1814 2689, 2690, 2691, 2694, 2695, 2696, 2700, 2706, 2707, 2713,
mzta 0:158c61bb030f 1815 2718, 2717, 2728, 2732, 2738, 2742, 2748, 2752, 2758, 2761,
mzta 0:158c61bb030f 1816 2762, 2765, 2766, 2769, 2775, 2781, 2782, 2785, 2792, 2791,
mzta 0:158c61bb030f 1817 2805, 2809, 2816, 2820, 2827, 2834, 2835, 2836, 2837, 2838,
mzta 0:158c61bb030f 1818 2842, 2848, 2852, 2858, 2859, 2860, 2864, 2870, 2874, 2878,
mzta 0:158c61bb030f 1819 2882, 2886, 2892, 2898, 2902, 2906, 2910, 2914, 2918, 2925,
mzta 0:158c61bb030f 1820 2934, 2935, 2938, 2943, 2942, 2951, 2958, 2964, 2970, 2974,
mzta 0:158c61bb030f 1821 2978, 2982, 2986, 2990, 2994, 2998, 3002, 3006, 3010, 3014,
mzta 0:158c61bb030f 1822 3018, 3022, 3027, 3033, 3038, 3043, 3048, 3055, 3059, 3066,
mzta 0:158c61bb030f 1823 3070, 3076, 3080, 3086, 3093, 3099, 3105, 3109, 3115, 3119,
mzta 0:158c61bb030f 1824 3125, 3126, 3129, 3134, 3141, 3142, 3145, 3152, 3156, 3163,
mzta 0:158c61bb030f 1825 3168, 3168, 3193, 3194, 3200, 3205, 3211, 3215, 3221, 3222,
mzta 0:158c61bb030f 1826 3223, 3226, 3227, 3228, 3229, 3232, 3233, 3234, 3237, 3238,
mzta 0:158c61bb030f 1827 3241, 3242, 3245, 3246, 3249, 3252, 3255, 3256, 3257, 3260,
mzta 0:158c61bb030f 1828 3261, 3265, 3264, 3271, 3272, 3276
mzta 0:158c61bb030f 1829 };
mzta 0:158c61bb030f 1830 #endif
mzta 0:158c61bb030f 1831
mzta 0:158c61bb030f 1832 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
mzta 0:158c61bb030f 1833 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
mzta 0:158c61bb030f 1834 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
mzta 0:158c61bb030f 1835 static const char *const yytname[] =
mzta 0:158c61bb030f 1836 {
mzta 0:158c61bb030f 1837 "$end", "error", "$undefined", "keyword_class", "keyword_module",
mzta 0:158c61bb030f 1838 "keyword_def", "keyword_begin", "keyword_if", "keyword_unless",
mzta 0:158c61bb030f 1839 "keyword_while", "keyword_until", "keyword_for", "keyword_undef",
mzta 0:158c61bb030f 1840 "keyword_rescue", "keyword_ensure", "keyword_end", "keyword_then",
mzta 0:158c61bb030f 1841 "keyword_elsif", "keyword_else", "keyword_case", "keyword_when",
mzta 0:158c61bb030f 1842 "keyword_break", "keyword_next", "keyword_redo", "keyword_retry",
mzta 0:158c61bb030f 1843 "keyword_in", "keyword_do", "keyword_do_cond", "keyword_do_block",
mzta 0:158c61bb030f 1844 "keyword_do_LAMBDA", "keyword_return", "keyword_yield", "keyword_super",
mzta 0:158c61bb030f 1845 "keyword_self", "keyword_nil", "keyword_true", "keyword_false",
mzta 0:158c61bb030f 1846 "keyword_and", "keyword_or", "keyword_not", "modifier_if",
mzta 0:158c61bb030f 1847 "modifier_unless", "modifier_while", "modifier_until", "modifier_rescue",
mzta 0:158c61bb030f 1848 "keyword_alias", "keyword_BEGIN", "keyword_END", "keyword__LINE__",
mzta 0:158c61bb030f 1849 "keyword__FILE__", "keyword__ENCODING__", "tIDENTIFIER", "tFID", "tGVAR",
mzta 0:158c61bb030f 1850 "tIVAR", "tCONSTANT", "tCVAR", "tLABEL", "tINTEGER", "tFLOAT", "tCHAR",
mzta 0:158c61bb030f 1851 "tXSTRING", "tREGEXP", "tSTRING", "tSTRING_PART", "tSTRING_MID",
mzta 0:158c61bb030f 1852 "tNTH_REF", "tBACK_REF", "tREGEXP_END", "tUPLUS", "tUMINUS", "tPOW",
mzta 0:158c61bb030f 1853 "tCMP", "tEQ", "tEQQ", "tNEQ", "tGEQ", "tLEQ", "tANDOP", "tOROP",
mzta 0:158c61bb030f 1854 "tMATCH", "tNMATCH", "tDOT2", "tDOT3", "tAREF", "tASET", "tLSHFT",
mzta 0:158c61bb030f 1855 "tRSHFT", "tCOLON2", "tCOLON3", "tOP_ASGN", "tASSOC", "tLPAREN",
mzta 0:158c61bb030f 1856 "tLPAREN_ARG", "tRPAREN", "tLBRACK", "tLBRACE", "tLBRACE_ARG", "tSTAR",
mzta 0:158c61bb030f 1857 "tAMPER", "tLAMBDA", "tSYMBEG", "tREGEXP_BEG", "tWORDS_BEG",
mzta 0:158c61bb030f 1858 "tSYMBOLS_BEG", "tSTRING_BEG", "tXSTRING_BEG", "tSTRING_DVAR", "tLAMBEG",
mzta 0:158c61bb030f 1859 "tHEREDOC_BEG", "tHEREDOC_END", "tLITERAL_DELIM", "tHD_LITERAL_DELIM",
mzta 0:158c61bb030f 1860 "tHD_STRING_PART", "tHD_STRING_MID", "tLOWEST", "'='", "'?'", "':'",
mzta 0:158c61bb030f 1861 "'>'", "'<'", "'|'", "'^'", "'&'", "'+'", "'-'", "'*'", "'/'", "'%'",
mzta 0:158c61bb030f 1862 "tUMINUS_NUM", "'!'", "'~'", "idNULL", "idRespond_to", "idIFUNC",
mzta 0:158c61bb030f 1863 "idCFUNC", "id_core_set_method_alias", "id_core_set_variable_alias",
mzta 0:158c61bb030f 1864 "id_core_undef_method", "id_core_define_method",
mzta 0:158c61bb030f 1865 "id_core_define_singleton_method", "id_core_set_postexe", "tLAST_TOKEN",
mzta 0:158c61bb030f 1866 "'{'", "'}'", "'['", "'.'", "','", "'`'", "'('", "')'", "']'", "';'",
mzta 0:158c61bb030f 1867 "'\\n'", "$accept", "program", "$@1", "top_compstmt", "top_stmts",
mzta 0:158c61bb030f 1868 "top_stmt", "@2", "bodystmt", "compstmt", "stmts", "stmt", "$@3",
mzta 0:158c61bb030f 1869 "command_asgn", "expr", "expr_value", "command_call", "block_command",
mzta 0:158c61bb030f 1870 "cmd_brace_block", "$@4", "command", "mlhs", "mlhs_inner", "mlhs_basic",
mzta 0:158c61bb030f 1871 "mlhs_item", "mlhs_list", "mlhs_post", "mlhs_node", "lhs", "cname",
mzta 0:158c61bb030f 1872 "cpath", "fname", "fsym", "undef_list", "$@5", "op", "reswords", "arg",
mzta 0:158c61bb030f 1873 "arg_value", "aref_args", "paren_args", "opt_paren_args",
mzta 0:158c61bb030f 1874 "opt_call_args", "call_args", "command_args", "@6", "block_arg",
mzta 0:158c61bb030f 1875 "opt_block_arg", "args", "mrhs", "primary", "@7", "@8", "$@9", "$@10",
mzta 0:158c61bb030f 1876 "@11", "$@12", "$@13", "$@14", "$@15", "$@16", "$@17", "@18", "@19",
mzta 0:158c61bb030f 1877 "@20", "@21", "@22", "@23", "@24", "@25", "primary_value", "then", "do",
mzta 0:158c61bb030f 1878 "if_tail", "opt_else", "for_var", "f_marg", "f_marg_list", "f_margs",
mzta 0:158c61bb030f 1879 "block_param", "opt_block_param", "block_param_def", "opt_bv_decl",
mzta 0:158c61bb030f 1880 "bv_decls", "bvar", "f_larglist", "lambda_body", "do_block", "$@26",
mzta 0:158c61bb030f 1881 "block_call", "method_call", "brace_block", "@27", "@28", "case_body",
mzta 0:158c61bb030f 1882 "cases", "opt_rescue", "exc_list", "exc_var", "opt_ensure", "literal",
mzta 0:158c61bb030f 1883 "string", "string_rep", "string_interp", "@29", "xstring", "regexp",
mzta 0:158c61bb030f 1884 "heredoc", "opt_heredoc_bodies", "heredoc_bodies", "heredoc_body",
mzta 0:158c61bb030f 1885 "heredoc_string_rep", "heredoc_string_interp", "@30", "words", "symbol",
mzta 0:158c61bb030f 1886 "basic_symbol", "sym", "symbols", "numeric", "variable", "var_lhs",
mzta 0:158c61bb030f 1887 "var_ref", "backref", "superclass", "$@31", "f_arglist", "f_args",
mzta 0:158c61bb030f 1888 "f_bad_arg", "f_norm_arg", "f_arg_item", "f_arg", "f_opt_asgn", "f_opt",
mzta 0:158c61bb030f 1889 "f_block_opt", "f_block_optarg", "f_optarg", "restarg_mark",
mzta 0:158c61bb030f 1890 "f_rest_arg", "blkarg_mark", "f_block_arg", "opt_f_block_arg",
mzta 0:158c61bb030f 1891 "singleton", "$@32", "assoc_list", "assocs", "assoc", "operation",
mzta 0:158c61bb030f 1892 "operation2", "operation3", "dot_or_colon", "opt_terms", "opt_nl",
mzta 0:158c61bb030f 1893 "rparen", "rbracket", "trailer", "term", "nl", "$@33", "terms", "none", 0
mzta 0:158c61bb030f 1894 };
mzta 0:158c61bb030f 1895 #endif
mzta 0:158c61bb030f 1896
mzta 0:158c61bb030f 1897 # ifdef YYPRINT
mzta 0:158c61bb030f 1898 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
mzta 0:158c61bb030f 1899 token YYLEX-NUM. */
mzta 0:158c61bb030f 1900 static const yytype_uint16 yytoknum[] =
mzta 0:158c61bb030f 1901 {
mzta 0:158c61bb030f 1902 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
mzta 0:158c61bb030f 1903 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
mzta 0:158c61bb030f 1904 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
mzta 0:158c61bb030f 1905 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
mzta 0:158c61bb030f 1906 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
mzta 0:158c61bb030f 1907 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
mzta 0:158c61bb030f 1908 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
mzta 0:158c61bb030f 1909 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
mzta 0:158c61bb030f 1910 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
mzta 0:158c61bb030f 1911 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
mzta 0:158c61bb030f 1912 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
mzta 0:158c61bb030f 1913 365, 366, 367, 368, 369, 370, 61, 63, 58, 62,
mzta 0:158c61bb030f 1914 60, 124, 94, 38, 43, 45, 42, 47, 37, 371,
mzta 0:158c61bb030f 1915 33, 126, 372, 373, 374, 375, 376, 377, 378, 379,
mzta 0:158c61bb030f 1916 380, 381, 382, 123, 125, 91, 46, 44, 96, 40,
mzta 0:158c61bb030f 1917 41, 93, 59, 10
mzta 0:158c61bb030f 1918 };
mzta 0:158c61bb030f 1919 # endif
mzta 0:158c61bb030f 1920
mzta 0:158c61bb030f 1921 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
mzta 0:158c61bb030f 1922 static const yytype_uint16 yyr1[] =
mzta 0:158c61bb030f 1923 {
mzta 0:158c61bb030f 1924 0, 154, 156, 155, 157, 158, 158, 158, 158, 159,
mzta 0:158c61bb030f 1925 160, 159, 161, 162, 163, 163, 163, 163, 165, 164,
mzta 0:158c61bb030f 1926 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
mzta 0:158c61bb030f 1927 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
mzta 0:158c61bb030f 1928 166, 166, 167, 167, 167, 167, 167, 167, 168, 169,
mzta 0:158c61bb030f 1929 169, 170, 170, 172, 171, 173, 173, 173, 173, 173,
mzta 0:158c61bb030f 1930 173, 173, 173, 173, 173, 173, 174, 174, 175, 175,
mzta 0:158c61bb030f 1931 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
mzta 0:158c61bb030f 1932 177, 177, 178, 178, 179, 179, 180, 180, 180, 180,
mzta 0:158c61bb030f 1933 180, 180, 180, 180, 181, 181, 181, 181, 181, 181,
mzta 0:158c61bb030f 1934 181, 181, 182, 182, 183, 183, 183, 184, 184, 184,
mzta 0:158c61bb030f 1935 184, 184, 185, 185, 186, 187, 186, 188, 188, 188,
mzta 0:158c61bb030f 1936 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
mzta 0:158c61bb030f 1937 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
mzta 0:158c61bb030f 1938 188, 188, 188, 188, 188, 188, 189, 189, 189, 189,
mzta 0:158c61bb030f 1939 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
mzta 0:158c61bb030f 1940 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
mzta 0:158c61bb030f 1941 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
mzta 0:158c61bb030f 1942 189, 189, 189, 189, 189, 189, 190, 190, 190, 190,
mzta 0:158c61bb030f 1943 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
mzta 0:158c61bb030f 1944 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
mzta 0:158c61bb030f 1945 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
mzta 0:158c61bb030f 1946 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
mzta 0:158c61bb030f 1947 191, 192, 192, 192, 192, 193, 194, 194, 195, 195,
mzta 0:158c61bb030f 1948 195, 195, 195, 196, 196, 196, 196, 196, 198, 197,
mzta 0:158c61bb030f 1949 199, 200, 200, 201, 201, 201, 201, 201, 201, 202,
mzta 0:158c61bb030f 1950 202, 202, 203, 203, 203, 203, 203, 203, 203, 203,
mzta 0:158c61bb030f 1951 204, 203, 205, 206, 203, 207, 203, 203, 203, 203,
mzta 0:158c61bb030f 1952 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
mzta 0:158c61bb030f 1953 203, 208, 203, 203, 203, 209, 210, 203, 211, 212,
mzta 0:158c61bb030f 1954 203, 203, 203, 213, 214, 203, 215, 203, 216, 217,
mzta 0:158c61bb030f 1955 203, 218, 203, 219, 220, 203, 221, 222, 203, 203,
mzta 0:158c61bb030f 1956 203, 203, 203, 223, 224, 224, 224, 225, 225, 226,
mzta 0:158c61bb030f 1957 226, 227, 227, 228, 228, 229, 229, 230, 230, 231,
mzta 0:158c61bb030f 1958 231, 231, 231, 231, 231, 231, 231, 231, 232, 232,
mzta 0:158c61bb030f 1959 232, 232, 232, 232, 232, 232, 232, 232, 232, 232,
mzta 0:158c61bb030f 1960 232, 232, 232, 233, 233, 234, 234, 234, 235, 235,
mzta 0:158c61bb030f 1961 236, 236, 237, 237, 238, 238, 239, 239, 241, 240,
mzta 0:158c61bb030f 1962 242, 242, 242, 242, 243, 243, 243, 243, 243, 243,
mzta 0:158c61bb030f 1963 243, 243, 243, 245, 244, 246, 244, 247, 248, 248,
mzta 0:158c61bb030f 1964 249, 249, 250, 250, 250, 251, 251, 252, 252, 253,
mzta 0:158c61bb030f 1965 253, 253, 253, 254, 254, 254, 254, 255, 255, 256,
mzta 0:158c61bb030f 1966 257, 256, 256, 256, 258, 258, 259, 259, 260, 261,
mzta 0:158c61bb030f 1967 261, 262, 262, 263, 263, 264, 264, 265, 266, 265,
mzta 0:158c61bb030f 1968 267, 267, 268, 268, 269, 270, 270, 270, 270, 270,
mzta 0:158c61bb030f 1969 270, 271, 271, 272, 272, 272, 272, 273, 273, 273,
mzta 0:158c61bb030f 1970 273, 273, 274, 275, 275, 275, 275, 275, 275, 275,
mzta 0:158c61bb030f 1971 276, 276, 277, 278, 277, 277, 279, 279, 280, 280,
mzta 0:158c61bb030f 1972 280, 280, 280, 280, 280, 280, 280, 280, 280, 280,
mzta 0:158c61bb030f 1973 280, 280, 280, 281, 281, 281, 281, 282, 282, 283,
mzta 0:158c61bb030f 1974 283, 284, 284, 285, 286, 287, 288, 288, 289, 289,
mzta 0:158c61bb030f 1975 290, 290, 291, 291, 292, 292, 293, 294, 294, 295,
mzta 0:158c61bb030f 1976 296, 295, 297, 297, 298, 298, 299, 299, 300, 300,
mzta 0:158c61bb030f 1977 300, 301, 301, 301, 301, 302, 302, 302, 303, 303,
mzta 0:158c61bb030f 1978 304, 304, 305, 305, 306, 307, 308, 308, 308, 309,
mzta 0:158c61bb030f 1979 309, 311, 310, 312, 312, 313
mzta 0:158c61bb030f 1980 };
mzta 0:158c61bb030f 1981
mzta 0:158c61bb030f 1982 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
mzta 0:158c61bb030f 1983 static const yytype_uint8 yyr2[] =
mzta 0:158c61bb030f 1984 {
mzta 0:158c61bb030f 1985 0, 2, 0, 2, 2, 1, 1, 3, 2, 1,
mzta 0:158c61bb030f 1986 0, 5, 4, 2, 1, 1, 3, 2, 0, 4,
mzta 0:158c61bb030f 1987 2, 3, 3, 3, 3, 3, 4, 1, 3, 3,
mzta 0:158c61bb030f 1988 6, 5, 5, 5, 5, 3, 3, 3, 3, 1,
mzta 0:158c61bb030f 1989 3, 3, 1, 3, 3, 3, 2, 1, 1, 1,
mzta 0:158c61bb030f 1990 1, 1, 4, 0, 5, 2, 3, 4, 5, 4,
mzta 0:158c61bb030f 1991 5, 2, 2, 2, 2, 2, 1, 3, 1, 3,
mzta 0:158c61bb030f 1992 1, 2, 3, 5, 2, 4, 2, 4, 1, 3,
mzta 0:158c61bb030f 1993 1, 3, 2, 3, 1, 2, 1, 4, 3, 3,
mzta 0:158c61bb030f 1994 3, 3, 2, 1, 1, 4, 3, 3, 3, 3,
mzta 0:158c61bb030f 1995 2, 1, 1, 1, 2, 1, 3, 1, 1, 1,
mzta 0:158c61bb030f 1996 1, 1, 1, 1, 1, 0, 4, 1, 1, 1,
mzta 0:158c61bb030f 1997 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
mzta 0:158c61bb030f 1998 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
mzta 0:158c61bb030f 1999 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
mzta 0:158c61bb030f 2000 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
mzta 0:158c61bb030f 2001 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
mzta 0:158c61bb030f 2002 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
mzta 0:158c61bb030f 2003 1, 1, 1, 1, 1, 1, 3, 5, 3, 5,
mzta 0:158c61bb030f 2004 6, 5, 5, 5, 5, 4, 3, 3, 3, 3,
mzta 0:158c61bb030f 2005 3, 3, 3, 3, 3, 4, 4, 2, 2, 3,
mzta 0:158c61bb030f 2006 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
mzta 0:158c61bb030f 2007 3, 3, 2, 2, 3, 3, 3, 3, 6, 1,
mzta 0:158c61bb030f 2008 1, 1, 2, 4, 2, 3, 1, 1, 1, 1,
mzta 0:158c61bb030f 2009 2, 4, 2, 1, 2, 2, 4, 1, 0, 2,
mzta 0:158c61bb030f 2010 2, 2, 1, 1, 2, 3, 4, 4, 5, 3,
mzta 0:158c61bb030f 2011 4, 2, 1, 1, 1, 1, 1, 1, 1, 1,
mzta 0:158c61bb030f 2012 0, 4, 0, 0, 5, 0, 3, 3, 3, 2,
mzta 0:158c61bb030f 2013 3, 3, 1, 4, 3, 1, 4, 3, 2, 1,
mzta 0:158c61bb030f 2014 2, 0, 4, 6, 6, 0, 0, 7, 0, 0,
mzta 0:158c61bb030f 2015 7, 5, 4, 0, 0, 9, 0, 6, 0, 0,
mzta 0:158c61bb030f 2016 8, 0, 5, 0, 0, 7, 0, 0, 9, 1,
mzta 0:158c61bb030f 2017 1, 1, 1, 1, 1, 1, 2, 1, 1, 1,
mzta 0:158c61bb030f 2018 5, 1, 2, 1, 1, 1, 3, 1, 3, 1,
mzta 0:158c61bb030f 2019 4, 6, 3, 5, 2, 4, 1, 3, 6, 8,
mzta 0:158c61bb030f 2020 4, 6, 4, 2, 6, 2, 4, 6, 2, 4,
mzta 0:158c61bb030f 2021 2, 4, 1, 1, 1, 3, 1, 4, 1, 4,
mzta 0:158c61bb030f 2022 1, 3, 1, 1, 4, 1, 3, 3, 0, 5,
mzta 0:158c61bb030f 2023 2, 4, 5, 5, 2, 4, 4, 3, 3, 3,
mzta 0:158c61bb030f 2024 2, 1, 4, 0, 5, 0, 5, 5, 1, 1,
mzta 0:158c61bb030f 2025 6, 1, 1, 1, 1, 2, 1, 2, 1, 1,
mzta 0:158c61bb030f 2026 1, 1, 1, 1, 1, 2, 3, 1, 2, 1,
mzta 0:158c61bb030f 2027 0, 4, 1, 2, 2, 3, 2, 3, 1, 0,
mzta 0:158c61bb030f 2028 1, 1, 2, 1, 2, 1, 2, 1, 0, 4,
mzta 0:158c61bb030f 2029 2, 3, 1, 4, 2, 1, 1, 1, 1, 1,
mzta 0:158c61bb030f 2030 2, 2, 3, 1, 1, 2, 2, 1, 1, 1,
mzta 0:158c61bb030f 2031 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
mzta 0:158c61bb030f 2032 1, 1, 1, 0, 4, 2, 3, 2, 6, 8,
mzta 0:158c61bb030f 2033 4, 6, 4, 6, 2, 4, 6, 2, 4, 2,
mzta 0:158c61bb030f 2034 4, 1, 0, 1, 1, 1, 1, 1, 1, 1,
mzta 0:158c61bb030f 2035 3, 1, 3, 2, 2, 2, 1, 3, 1, 3,
mzta 0:158c61bb030f 2036 1, 1, 2, 1, 1, 1, 2, 2, 1, 1,
mzta 0:158c61bb030f 2037 0, 4, 1, 2, 1, 3, 3, 2, 1, 1,
mzta 0:158c61bb030f 2038 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
mzta 0:158c61bb030f 2039 0, 1, 0, 1, 2, 2, 0, 1, 1, 1,
mzta 0:158c61bb030f 2040 1, 0, 3, 1, 2, 0
mzta 0:158c61bb030f 2041 };
mzta 0:158c61bb030f 2042
mzta 0:158c61bb030f 2043 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
mzta 0:158c61bb030f 2044 STATE-NUM when YYTABLE doesn't specify something else to do. Zero
mzta 0:158c61bb030f 2045 means the default is an error. */
mzta 0:158c61bb030f 2046 static const yytype_uint16 yydefact[] =
mzta 0:158c61bb030f 2047 {
mzta 0:158c61bb030f 2048 2, 0, 0, 1, 0, 0, 0, 0, 270, 0,
mzta 0:158c61bb030f 2049 0, 295, 298, 0, 0, 540, 319, 320, 321, 322,
mzta 0:158c61bb030f 2050 282, 248, 248, 465, 464, 466, 467, 542, 0, 10,
mzta 0:158c61bb030f 2051 0, 469, 468, 457, 530, 459, 458, 461, 460, 453,
mzta 0:158c61bb030f 2052 454, 413, 414, 470, 471, 0, 0, 0, 0, 272,
mzta 0:158c61bb030f 2053 555, 555, 78, 291, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2054 428, 0, 0, 0, 3, 540, 6, 9, 27, 39,
mzta 0:158c61bb030f 2055 42, 50, 49, 0, 66, 0, 70, 80, 0, 47,
mzta 0:158c61bb030f 2056 229, 0, 51, 289, 262, 263, 264, 265, 266, 411,
mzta 0:158c61bb030f 2057 410, 442, 412, 409, 463, 0, 267, 268, 248, 5,
mzta 0:158c61bb030f 2058 8, 319, 320, 282, 285, 391, 0, 102, 103, 0,
mzta 0:158c61bb030f 2059 0, 0, 0, 105, 0, 323, 0, 463, 268, 0,
mzta 0:158c61bb030f 2060 311, 156, 166, 157, 153, 182, 183, 184, 185, 164,
mzta 0:158c61bb030f 2061 179, 172, 162, 161, 177, 160, 159, 155, 180, 154,
mzta 0:158c61bb030f 2062 167, 171, 173, 165, 158, 174, 181, 176, 175, 168,
mzta 0:158c61bb030f 2063 178, 163, 152, 170, 169, 151, 149, 150, 146, 147,
mzta 0:158c61bb030f 2064 148, 107, 109, 108, 141, 142, 138, 120, 121, 122,
mzta 0:158c61bb030f 2065 129, 126, 128, 123, 124, 143, 144, 130, 131, 135,
mzta 0:158c61bb030f 2066 125, 127, 117, 118, 119, 132, 133, 134, 136, 137,
mzta 0:158c61bb030f 2067 139, 140, 145, 520, 313, 110, 111, 519, 0, 0,
mzta 0:158c61bb030f 2068 0, 48, 0, 0, 0, 463, 0, 268, 0, 0,
mzta 0:158c61bb030f 2069 0, 0, 334, 333, 0, 0, 463, 268, 175, 168,
mzta 0:158c61bb030f 2070 178, 163, 146, 147, 107, 108, 0, 112, 114, 20,
mzta 0:158c61bb030f 2071 113, 549, 551, 540, 0, 553, 550, 541, 0, 0,
mzta 0:158c61bb030f 2072 0, 0, 243, 230, 253, 64, 247, 555, 555, 524,
mzta 0:158c61bb030f 2073 65, 63, 542, 62, 0, 555, 390, 61, 542, 0,
mzta 0:158c61bb030f 2074 543, 18, 0, 0, 207, 0, 208, 279, 0, 0,
mzta 0:158c61bb030f 2075 0, 540, 15, 542, 68, 14, 0, 542, 0, 546,
mzta 0:158c61bb030f 2076 546, 231, 0, 0, 546, 522, 0, 0, 76, 0,
mzta 0:158c61bb030f 2077 86, 93, 492, 447, 446, 448, 449, 0, 445, 444,
mzta 0:158c61bb030f 2078 426, 420, 419, 422, 0, 0, 417, 440, 0, 451,
mzta 0:158c61bb030f 2079 0, 415, 0, 424, 0, 455, 456, 46, 222, 223,
mzta 0:158c61bb030f 2080 4, 541, 0, 0, 0, 0, 0, 0, 0, 378,
mzta 0:158c61bb030f 2081 380, 0, 82, 0, 74, 71, 0, 0, 0, 0,
mzta 0:158c61bb030f 2082 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2083 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2084 0, 0, 0, 0, 555, 0, 539, 538, 0, 395,
mzta 0:158c61bb030f 2085 393, 290, 0, 0, 384, 55, 288, 308, 102, 103,
mzta 0:158c61bb030f 2086 104, 455, 456, 0, 473, 306, 472, 0, 555, 0,
mzta 0:158c61bb030f 2087 0, 0, 314, 316, 0, 555, 279, 325, 0, 324,
mzta 0:158c61bb030f 2088 0, 0, 555, 0, 0, 0, 0, 0, 0, 279,
mzta 0:158c61bb030f 2089 0, 555, 0, 303, 0, 115, 429, 0, 0, 0,
mzta 0:158c61bb030f 2090 554, 527, 254, 250, 0, 0, 244, 252, 0, 245,
mzta 0:158c61bb030f 2091 542, 0, 284, 249, 542, 239, 555, 555, 238, 542,
mzta 0:158c61bb030f 2092 287, 45, 0, 0, 0, 0, 0, 0, 17, 542,
mzta 0:158c61bb030f 2093 277, 13, 541, 67, 273, 276, 280, 548, 232, 547,
mzta 0:158c61bb030f 2094 548, 234, 281, 523, 92, 84, 0, 79, 0, 0,
mzta 0:158c61bb030f 2095 555, 0, 498, 495, 494, 493, 496, 0, 511, 515,
mzta 0:158c61bb030f 2096 514, 510, 492, 0, 375, 497, 499, 501, 555, 0,
mzta 0:158c61bb030f 2097 508, 555, 513, 555, 0, 491, 450, 0, 0, 433,
mzta 0:158c61bb030f 2098 438, 437, 423, 431, 0, 435, 427, 418, 441, 452,
mzta 0:158c61bb030f 2099 416, 425, 0, 0, 7, 21, 22, 23, 24, 25,
mzta 0:158c61bb030f 2100 43, 44, 555, 0, 28, 37, 0, 38, 542, 0,
mzta 0:158c61bb030f 2101 72, 83, 41, 40, 0, 186, 253, 36, 204, 212,
mzta 0:158c61bb030f 2102 217, 218, 219, 214, 216, 226, 227, 220, 221, 197,
mzta 0:158c61bb030f 2103 198, 224, 225, 542, 213, 215, 209, 210, 211, 199,
mzta 0:158c61bb030f 2104 200, 201, 202, 203, 531, 536, 532, 537, 389, 248,
mzta 0:158c61bb030f 2105 387, 542, 531, 533, 532, 534, 388, 248, 531, 532,
mzta 0:158c61bb030f 2106 248, 555, 555, 29, 188, 35, 196, 53, 56, 0,
mzta 0:158c61bb030f 2107 475, 0, 0, 102, 103, 106, 0, 542, 555, 0,
mzta 0:158c61bb030f 2108 542, 492, 0, 271, 555, 555, 401, 555, 326, 186,
mzta 0:158c61bb030f 2109 535, 532, 542, 531, 532, 555, 328, 296, 327, 299,
mzta 0:158c61bb030f 2110 535, 278, 542, 531, 532, 0, 0, 552, 430, 0,
mzta 0:158c61bb030f 2111 0, 302, 526, 0, 255, 251, 0, 555, 525, 283,
mzta 0:158c61bb030f 2112 544, 235, 240, 242, 286, 19, 0, 26, 195, 69,
mzta 0:158c61bb030f 2113 16, 542, 546, 85, 77, 89, 91, 542, 531, 532,
mzta 0:158c61bb030f 2114 503, 498, 0, 346, 337, 339, 542, 335, 542, 0,
mzta 0:158c61bb030f 2115 0, 292, 0, 484, 518, 504, 0, 487, 512, 0,
mzta 0:158c61bb030f 2116 489, 516, 443, 0, 0, 432, 434, 436, 205, 206,
mzta 0:158c61bb030f 2117 366, 542, 0, 364, 363, 261, 0, 81, 75, 0,
mzta 0:158c61bb030f 2118 0, 0, 0, 0, 0, 386, 59, 0, 392, 0,
mzta 0:158c61bb030f 2119 0, 237, 385, 57, 236, 381, 52, 0, 0, 0,
mzta 0:158c61bb030f 2120 555, 309, 0, 0, 392, 312, 521, 492, 0, 0,
mzta 0:158c61bb030f 2121 317, 402, 403, 555, 404, 0, 555, 331, 0, 0,
mzta 0:158c61bb030f 2122 329, 0, 0, 392, 0, 0, 0, 0, 0, 392,
mzta 0:158c61bb030f 2123 0, 116, 301, 0, 0, 256, 0, 257, 246, 555,
mzta 0:158c61bb030f 2124 11, 274, 233, 87, 542, 0, 344, 0, 500, 0,
mzta 0:158c61bb030f 2125 368, 0, 0, 502, 555, 555, 517, 555, 509, 555,
mzta 0:158c61bb030f 2126 555, 421, 0, 542, 0, 555, 0, 506, 555, 555,
mzta 0:158c61bb030f 2127 362, 0, 0, 259, 73, 187, 0, 34, 193, 33,
mzta 0:158c61bb030f 2128 194, 60, 545, 0, 31, 191, 32, 192, 58, 382,
mzta 0:158c61bb030f 2129 383, 0, 0, 189, 0, 0, 474, 307, 542, 0,
mzta 0:158c61bb030f 2130 477, 492, 0, 0, 406, 332, 0, 12, 408, 0,
mzta 0:158c61bb030f 2131 293, 0, 294, 0, 0, 304, 255, 555, 258, 241,
mzta 0:158c61bb030f 2132 336, 347, 0, 342, 338, 374, 0, 377, 376, 0,
mzta 0:158c61bb030f 2133 480, 0, 482, 0, 488, 0, 485, 490, 439, 0,
mzta 0:158c61bb030f 2134 365, 353, 355, 0, 505, 0, 358, 0, 360, 379,
mzta 0:158c61bb030f 2135 260, 228, 30, 190, 396, 394, 0, 0, 476, 315,
mzta 0:158c61bb030f 2136 0, 0, 405, 0, 94, 101, 0, 407, 0, 297,
mzta 0:158c61bb030f 2137 300, 0, 398, 399, 397, 0, 345, 0, 340, 372,
mzta 0:158c61bb030f 2138 542, 370, 373, 555, 555, 555, 555, 367, 555, 555,
mzta 0:158c61bb030f 2139 279, 0, 555, 507, 555, 555, 54, 310, 0, 100,
mzta 0:158c61bb030f 2140 0, 555, 0, 555, 555, 0, 343, 0, 0, 369,
mzta 0:158c61bb030f 2141 481, 0, 478, 483, 486, 0, 350, 0, 352, 535,
mzta 0:158c61bb030f 2142 278, 359, 0, 356, 361, 318, 535, 99, 542, 531,
mzta 0:158c61bb030f 2143 532, 400, 330, 305, 341, 371, 555, 555, 555, 555,
mzta 0:158c61bb030f 2144 555, 392, 479, 351, 0, 348, 354, 357, 555, 349
mzta 0:158c61bb030f 2145 };
mzta 0:158c61bb030f 2146
mzta 0:158c61bb030f 2147 /* YYDEFGOTO[NTERM-NUM]. */
mzta 0:158c61bb030f 2148 static const yytype_int16 yydefgoto[] =
mzta 0:158c61bb030f 2149 {
mzta 0:158c61bb030f 2150 -1, 1, 2, 64, 65, 66, 262, 394, 395, 271,
mzta 0:158c61bb030f 2151 272, 442, 68, 69, 202, 70, 71, 588, 720, 72,
mzta 0:158c61bb030f 2152 73, 273, 74, 75, 76, 467, 77, 203, 113, 114,
mzta 0:158c61bb030f 2153 227, 228, 229, 626, 195, 196, 79, 244, 278, 568,
mzta 0:158c61bb030f 2154 712, 434, 435, 253, 254, 246, 426, 436, 527, 80,
mzta 0:158c61bb030f 2155 199, 276, 651, 277, 292, 209, 747, 210, 748, 625,
mzta 0:158c61bb030f 2156 891, 592, 589, 815, 390, 392, 601, 602, 821, 265,
mzta 0:158c61bb030f 2157 398, 617, 739, 740, 215, 664, 665, 666, 783, 692,
mzta 0:158c61bb030f 2158 693, 769, 900, 901, 483, 671, 330, 522, 82, 83,
mzta 0:158c61bb030f 2159 376, 582, 581, 419, 894, 605, 733, 823, 827, 84,
mzta 0:158c61bb030f 2160 85, 305, 306, 498, 86, 87, 88, 627, 636, 503,
mzta 0:158c61bb030f 2161 504, 505, 684, 89, 90, 91, 299, 92, 93, 205,
mzta 0:158c61bb030f 2162 206, 96, 207, 385, 591, 728, 729, 485, 486, 487,
mzta 0:158c61bb030f 2163 488, 489, 490, 787, 788, 491, 492, 493, 494, 776,
mzta 0:158c61bb030f 2164 673, 198, 391, 283, 437, 249, 119, 596, 570, 368,
mzta 0:158c61bb030f 2165 234, 431, 432, 708, 458, 399, 260, 416, 237, 275
mzta 0:158c61bb030f 2166 };
mzta 0:158c61bb030f 2167
mzta 0:158c61bb030f 2168 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
mzta 0:158c61bb030f 2169 STATE-NUM. */
mzta 0:158c61bb030f 2170 #define YYPACT_NINF -763
mzta 0:158c61bb030f 2171 static const yytype_int16 yypact[] =
mzta 0:158c61bb030f 2172 {
mzta 0:158c61bb030f 2173 -763, 120, 2670, -763, 7298, 9106, 9433, 5605, -763, 8767,
mzta 0:158c61bb030f 2174 8767, -763, -763, 9215, 6691, 5113, 7976, 7976, -763, -763,
mzta 0:158c61bb030f 2175 7976, 3331, 2908, -763, -763, -763, -763, 26, 6691, -763,
mzta 0:158c61bb030f 2176 9, -763, -763, 5736, 3049, -763, -763, 5865, -763, -763,
mzta 0:158c61bb030f 2177 -763, -763, -763, -763, -763, 8880, 8880, 90, 4462, -22,
mzta 0:158c61bb030f 2178 8089, 8315, 6967, -763, 6399, 584, 717, 907, 943, 659,
mzta 0:158c61bb030f 2179 -763, 272, 8993, 8880, -763, 197, -763, 1023, -763, 519,
mzta 0:158c61bb030f 2180 -763, -763, 119, 45, -763, 11, 9324, -763, 115, 3169,
mzta 0:158c61bb030f 2181 173, 228, 28, 81, -763, -763, -763, -763, -763, -763,
mzta 0:158c61bb030f 2182 -763, -763, -763, -763, 398, 87, -763, 439, 44, -763,
mzta 0:158c61bb030f 2183 -763, -763, -763, -763, 21, 85, 100, 350, 394, 8767,
mzta 0:158c61bb030f 2184 278, 4597, 540, -763, 58, -763, 271, -763, -763, 44,
mzta 0:158c61bb030f 2185 -763, -763, -763, -763, -763, -763, -763, -763, -763, -763,
mzta 0:158c61bb030f 2186 -763, -763, -763, -763, -763, -763, -763, -763, -763, -763,
mzta 0:158c61bb030f 2187 -763, -763, -763, -763, -763, -763, -763, -763, 38, 49,
mzta 0:158c61bb030f 2188 54, 61, -763, -763, -763, -763, -763, -763, 97, 198,
mzta 0:158c61bb030f 2189 -763, 218, -763, 232, -763, -763, -763, -763, -763, -763,
mzta 0:158c61bb030f 2190 -763, -763, -763, -763, -763, -763, -763, -763, -763, -763,
mzta 0:158c61bb030f 2191 -763, -763, -763, -763, -763, -763, -763, -763, -763, -763,
mzta 0:158c61bb030f 2192 -763, -763, -763, -763, -763, -763, -763, -763, 28, 3668,
mzta 0:158c61bb030f 2193 99, 519, 74, 138, 320, 24, 203, 40, 74, 8767,
mzta 0:158c61bb030f 2194 8767, 262, -763, -763, 331, 317, 52, 68, -763, -763,
mzta 0:158c61bb030f 2195 -763, -763, -763, -763, -763, -763, 6545, -763, -763, 225,
mzta 0:158c61bb030f 2196 -763, -763, -763, 197, 325, -763, -763, 229, 8880, 8880,
mzta 0:158c61bb030f 2197 8880, 8880, -763, 3169, 292, -763, -763, 243, 250, -763,
mzta 0:158c61bb030f 2198 -763, -763, 5000, -763, 7976, 7976, -763, -763, 5228, 8767,
mzta 0:158c61bb030f 2199 -763, -763, 256, 4732, -763, 361, 330, 445, 7524, 4462,
mzta 0:158c61bb030f 2200 280, 197, 1023, 268, 326, -763, 8767, 268, 304, 174,
mzta 0:158c61bb030f 2201 179, -763, 292, 319, 179, -763, 415, 9542, 334, 363,
mzta 0:158c61bb030f 2202 366, 379, 748, -763, -763, -763, -763, 971, -763, -763,
mzta 0:158c61bb030f 2203 -763, -763, -763, -763, 370, 625, -763, -763, 975, -763,
mzta 0:158c61bb030f 2204 982, -763, 1039, -763, 733, 419, 421, -763, -763, -763,
mzta 0:158c61bb030f 2205 -763, 5341, 8767, 8767, 8767, 8767, 7524, 8767, 8767, -763,
mzta 0:158c61bb030f 2206 -763, 8428, -763, 4462, 7076, 338, 8428, 8880, 8880, 8880,
mzta 0:158c61bb030f 2207 8880, 8880, 8880, 8880, 8880, 8880, 8880, 8880, 8880, 8880,
mzta 0:158c61bb030f 2208 8880, 8880, 8880, 8880, 8880, 8880, 8880, 8880, 8880, 8880,
mzta 0:158c61bb030f 2209 8880, 8880, 8880, 2210, 7976, 9821, -763, -763, 10793, -763,
mzta 0:158c61bb030f 2210 -763, -763, 8993, 8993, -763, 400, -763, 519, -763, 387,
mzta 0:158c61bb030f 2211 -763, -763, -763, 197, -763, -763, -763, 9902, 7976, 9983,
mzta 0:158c61bb030f 2212 3668, 8767, -763, -763, 486, 490, 65, -763, 3807, 497,
mzta 0:158c61bb030f 2213 8880, 10064, 7976, 10145, 8880, 8880, 4079, 60, 60, 104,
mzta 0:158c61bb030f 2214 10226, 7976, 10307, -763, 452, -763, 370, 325, 8541, 503,
mzta 0:158c61bb030f 2215 -763, -763, -763, -763, 8880, 7185, -763, -763, 8202, -763,
mzta 0:158c61bb030f 2216 268, 371, -763, -763, 268, -763, 376, 389, -763, 129,
mzta 0:158c61bb030f 2217 -763, -763, 6691, 4194, 382, 10064, 10145, 8880, 1023, 268,
mzta 0:158c61bb030f 2218 -763, -763, 5455, 391, 519, -763, -763, 7411, -763, -763,
mzta 0:158c61bb030f 2219 8315, -763, -763, -763, 387, 11, 9542, -763, 9542, 10388,
mzta 0:158c61bb030f 2220 7976, 10469, 425, -763, -763, -763, -763, 797, -763, -763,
mzta 0:158c61bb030f 2221 -763, -763, 757, 80, -763, -763, -763, -763, 397, 8880,
mzta 0:158c61bb030f 2222 -763, 401, 514, 429, 518, -763, -763, 525, 4732, -763,
mzta 0:158c61bb030f 2223 -763, -763, 370, -763, 480, -763, -763, -763, -763, -763,
mzta 0:158c61bb030f 2224 -763, -763, 8880, 8880, -763, -763, -763, -763, -763, -763,
mzta 0:158c61bb030f 2225 -763, -763, 29, 8880, -763, 434, 448, -763, 268, 9542,
mzta 0:158c61bb030f 2226 453, -763, -763, -763, 509, 2107, -763, -763, 330, 1778,
mzta 0:158c61bb030f 2227 1778, 1778, 1778, 1278, 1278, 6710, 1338, 1778, 1778, 9758,
mzta 0:158c61bb030f 2228 9758, 583, 583, 2455, 1278, 1278, 735, 735, 813, 64,
mzta 0:158c61bb030f 2229 64, 330, 330, 330, 3423, 6123, 3515, 6252, -763, 85,
mzta 0:158c61bb030f 2230 -763, 268, 524, -763, 537, -763, -763, 3190, -763, -763,
mzta 0:158c61bb030f 2231 1238, 29, 29, -763, 2887, -763, 3169, -763, -763, 197,
mzta 0:158c61bb030f 2232 -763, 8767, 3668, 496, 37, -763, 85, 268, 85, 632,
mzta 0:158c61bb030f 2233 129, 997, 6837, -763, 8654, 618, -763, 674, -763, 3028,
mzta 0:158c61bb030f 2234 5994, 2767, 268, 279, 294, 618, -763, -763, -763, -763,
mzta 0:158c61bb030f 2235 140, 147, 268, 132, 151, 8767, 6691, -763, 370, 643,
mzta 0:158c61bb030f 2236 67, -763, -763, 8880, 292, -763, 7637, 250, -763, -763,
mzta 0:158c61bb030f 2237 -763, -763, 7185, 8202, -763, -763, 516, -763, 3169, -6,
mzta 0:158c61bb030f 2238 1023, 268, 179, 338, -763, 496, 37, 268, 238, 309,
mzta 0:158c61bb030f 2239 -763, -763, 797, 556, -763, 517, 268, -763, 268, 4885,
mzta 0:158c61bb030f 2240 4732, -763, 757, -763, -763, -763, 757, -763, -763, 877,
mzta 0:158c61bb030f 2241 -763, -763, -763, 534, 4732, -763, -763, -763, 330, 330,
mzta 0:158c61bb030f 2242 -763, 837, 4885, -763, -763, 522, 7750, -763, -763, 9542,
mzta 0:158c61bb030f 2243 8993, 8880, 562, 8993, 8993, -763, 400, 531, 547, 8993,
mzta 0:158c61bb030f 2244 8993, -763, -763, 400, -763, 81, 119, 4885, 4732, 8880,
mzta 0:158c61bb030f 2245 29, -763, 197, 673, -763, -763, -763, 757, 3668, 197,
mzta 0:158c61bb030f 2246 -763, 434, -763, 609, -763, 4347, 688, -763, 8767, 702,
mzta 0:158c61bb030f 2247 -763, 8880, 8880, 353, 8880, 8880, 704, 4885, 4885, 155,
mzta 0:158c61bb030f 2248 60, -763, -763, 7863, 3943, -763, 8880, -763, -763, 574,
mzta 0:158c61bb030f 2249 -763, -763, -763, 315, 268, 896, 575, 1139, -763, 576,
mzta 0:158c61bb030f 2250 573, 712, 586, -763, 585, 592, -763, 593, -763, 595,
mzta 0:158c61bb030f 2251 593, -763, 601, 268, 629, 599, 9651, -763, 605, 606,
mzta 0:158c61bb030f 2252 -763, 739, 8880, 612, -763, 3169, 8880, -763, 3169, -763,
mzta 0:158c61bb030f 2253 3169, -763, -763, 8993, -763, 3169, -763, 3169, -763, -763,
mzta 0:158c61bb030f 2254 -763, 741, 616, 3169, 4732, 3668, -763, -763, 268, 747,
mzta 0:158c61bb030f 2255 -763, 997, 9760, 74, -763, -763, 4885, -763, -763, 74,
mzta 0:158c61bb030f 2256 -763, 8880, -763, 749, 751, -763, -763, 93, -763, 8202,
mzta 0:158c61bb030f 2257 -763, 620, 896, 621, -763, -763, 1073, -763, -763, 757,
mzta 0:158c61bb030f 2258 -763, 877, -763, 877, -763, 877, -763, -763, -763, 655,
mzta 0:158c61bb030f 2259 -763, 757, -763, 724, 414, 757, -763, 877, -763, -763,
mzta 0:158c61bb030f 2260 637, 3169, -763, 3169, -763, -763, 641, 773, -763, -763,
mzta 0:158c61bb030f 2261 3668, 737, -763, 422, 366, 379, 3668, -763, 3807, -763,
mzta 0:158c61bb030f 2262 -763, 4885, -763, -763, -763, 896, 620, 896, 642, -763,
mzta 0:158c61bb030f 2263 213, -763, -763, 593, 653, 593, 593, -763, 658, 662,
mzta 0:158c61bb030f 2264 -763, 10550, 593, -763, 667, 593, -763, -763, 775, 387,
mzta 0:158c61bb030f 2265 10631, 7976, 10712, 490, 674, 800, 620, 896, 1073, -763,
mzta 0:158c61bb030f 2266 -763, 877, -763, -763, -763, 757, -763, 877, -763, 668,
mzta 0:158c61bb030f 2267 670, -763, 877, -763, -763, -763, 128, 37, 268, 84,
mzta 0:158c61bb030f 2268 103, -763, -763, -763, 620, -763, 593, 593, 669, 593,
mzta 0:158c61bb030f 2269 593, 118, -763, -763, 877, -763, -763, -763, 593, -763
mzta 0:158c61bb030f 2270 };
mzta 0:158c61bb030f 2271
mzta 0:158c61bb030f 2272 /* YYPGOTO[NTERM-NUM]. */
mzta 0:158c61bb030f 2273 static const yytype_int16 yypgoto[] =
mzta 0:158c61bb030f 2274 {
mzta 0:158c61bb030f 2275 -763, -763, -763, 380, -763, 42, -763, -363, -19, -763,
mzta 0:158c61bb030f 2276 35, -763, -293, 734, 13, -48, -763, -570, -763, -13,
mzta 0:158c61bb030f 2277 817, -170, 7, -55, -270, -414, -11, 1771, -59, 828,
mzta 0:158c61bb030f 2278 -1, -20, -763, -763, -241, -763, 1317, 894, -763, -7,
mzta 0:158c61bb030f 2279 257, -338, 55, -3, -763, -395, -243, 101, -291, 5,
mzta 0:158c61bb030f 2280 -763, -763, -763, -763, -763, -763, -763, -763, -763, -763,
mzta 0:158c61bb030f 2281 -763, -763, -763, -763, -763, -763, -763, -763, -763, 295,
mzta 0:158c61bb030f 2282 -199, -370, -86, -553, -763, -699, -689, 177, -763, -480,
mzta 0:158c61bb030f 2283 -763, -594, -763, -87, -763, -763, 126, -763, -763, -763,
mzta 0:158c61bb030f 2284 -82, -763, -763, -401, -763, -69, -763, -763, -763, -763,
mzta 0:158c61bb030f 2285 -763, 656, 903, -763, -763, -763, -763, -763, -198, -364,
mzta 0:158c61bb030f 2286 -763, 364, -763, -763, -763, 8, -763, -763, -763, 1109,
mzta 0:158c61bb030f 2287 1870, 850, 1678, -763, -763, 56, -280, -760, -397, -593,
mzta 0:158c61bb030f 2288 305, -644, -616, -762, 48, 193, -763, -587, -763, -279,
mzta 0:158c61bb030f 2289 388, -763, -763, -763, 15, -386, 816, -307, -763, 672,
mzta 0:158c61bb030f 2290 2, -25, -233, -534, -260, 19, 144, -763, 4, -2
mzta 0:158c61bb030f 2291 };
mzta 0:158c61bb030f 2292
mzta 0:158c61bb030f 2293 /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
mzta 0:158c61bb030f 2294 positive, shift that token. If negative, reduce the rule which
mzta 0:158c61bb030f 2295 number is the opposite. If zero, do what YYDEFACT says.
mzta 0:158c61bb030f 2296 If YYTABLE_NINF, syntax error. */
mzta 0:158c61bb030f 2297 #define YYTABLE_NINF -556
mzta 0:158c61bb030f 2298 static const yytype_int16 yytable[] =
mzta 0:158c61bb030f 2299 {
mzta 0:158c61bb030f 2300 99, 371, 259, 242, 242, 429, 194, 242, 261, 406,
mzta 0:158c61bb030f 2301 115, 115, 484, 495, 317, 256, 629, 466, 115, 257,
mzta 0:158c61bb030f 2302 461, 335, 230, 208, 463, 440, 571, 599, 233, 270,
mzta 0:158c61bb030f 2303 635, 248, 248, 635, 235, 248, 230, 67, 619, 67,
mzta 0:158c61bb030f 2304 453, 288, 638, 532, 455, 537, 100, 786, 281, 285,
mzta 0:158c61bb030f 2305 597, 380, 736, 298, 654, 274, 569, 115, 577, 383,
mzta 0:158c61bb030f 2306 778, 580, 746, 724, 612, 280, 284, 320, 844, 321,
mzta 0:158c61bb030f 2307 369, 245, 250, 622, 638, 251, 841, -94, 743, 773,
mzta 0:158c61bb030f 2308 667, 115, 598, 397, 235, 775, 902, 616, 749, 779,
mzta 0:158c61bb030f 2309 397, 374, 270, -101, 569, 375, 577, 784, 256, 449,
mzta 0:158c61bb030f 2310 -96, 717, 718, 913, 789, 598, 502, 369, 690, 669,
mzta 0:158c61bb030f 2311 -67, 735, 374, 418, -462, 698, 366, 247, 247, -98,
mzta 0:158c61bb030f 2312 3, 247, 567, 763, 575, -278, -465, 575, -275, -100,
mzta 0:158c61bb030f 2313 405, -275, 657, 386, -95, 337, 801, -464, 685, 598,
mzta 0:158c61bb030f 2314 -94, -81, -466, 808, -97, 267, 567, 329, 575, -467,
mzta 0:158c61bb030f 2315 691, 279, 263, 896, 396, 447, -101, -96, 332, 236,
mzta 0:158c61bb030f 2316 567, 331, 575, 528, 598, -97, 327, 328, 902, 567,
mzta 0:158c61bb030f 2317 252, 575, -99, 913, 367, 258, -98, 372, 384, 232,
mzta 0:158c61bb030f 2318 -95, -100, -278, -278, -465, -469, -532, 370, 670, 859,
mzta 0:158c61bb030f 2319 360, 361, 362, 255, 429, -464, 844, 639, 466, -86,
mzta 0:158c61bb030f 2320 -466, 641, 668, 495, 567, 575, 644, -467, 926, 236,
mzta 0:158c61bb030f 2321 231, 232, 231, 232, 753, -93, 649, 786, 628, 231,
mzta 0:158c61bb030f 2322 232, 786, 407, 408, 370, 298, 231, 232, 567, 723,
mzta 0:158c61bb030f 2323 575, 336, 465, 778, 255, 417, -96, -96, 954, 242,
mzta 0:158c61bb030f 2324 814, 242, 242, -469, 444, 427, 427, 635, 635, 258,
mzta 0:158c61bb030f 2325 270, -92, 235, 438, 400, -98, -98, 638, 236, 466,
mzta 0:158c61bb030f 2326 773, -323, 904, -88, 685, 667, 766, 248, 773, 248,
mzta 0:158c61bb030f 2327 -95, -95, 685, 451, 909, 452, 274, -531, 914, -88,
mzta 0:158c61bb030f 2328 -97, -97, 232, 524, 892, 794, -468, -89, 533, -531,
mzta 0:158c61bb030f 2329 235, 786, 115, 404, -91, 697, -532, 81, -90, 81,
mzta 0:158c61bb030f 2330 116, 116, -87, 448, 204, 204, -457, 430, 214, 433,
mzta 0:158c61bb030f 2331 204, 204, 204, 732, 270, 204, 363, 409, -323, -323,
mzta 0:158c61bb030f 2332 -461, 457, 495, 530, 583, 585, 460, 232, 595, 378,
mzta 0:158c61bb030f 2333 315, 316, 232, 379, -90, 515, 516, 517, 518, 115,
mzta 0:158c61bb030f 2334 274, -392, 413, 81, -468, 418, 236, 289, 958, 231,
mzta 0:158c61bb030f 2335 232, 242, 236, 247, -88, 247, 67, 204, 576, 387,
mzta 0:158c61bb030f 2336 928, 519, 438, 514, -457, 819, 232, 726, 667, 744,
mzta 0:158c61bb030f 2337 667, 289, 415, 364, 365, 242, -528, 236, -461, 607,
mzta 0:158c61bb030f 2338 835, 420, 576, 424, 745, -88, 438, 615, -88, 242,
mzta 0:158c61bb030f 2339 425, -88, 762, 606, 758, -96, 576, 428, 242, 443,
mzta 0:158c61bb030f 2340 438, 337, 590, -392, 204, 576, 81, 532, 401, 438,
mzta 0:158c61bb030f 2341 -98, 653, 790, 465, 961, 236, 388, 389, 761, 410,
mzta 0:158c61bb030f 2342 -529, 232, 645, 459, 459, -90, 618, 618, 459, 466,
mzta 0:158c61bb030f 2343 450, 754, 526, 768, 427, 427, 893, 526, -457, 576,
mzta 0:158c61bb030f 2344 637, 99, -66, 831, 635, 667, 898, 818, 495, 445,
mzta 0:158c61bb030f 2345 230, 469, 877, 638, -463, 456, -90, 242, -392, -90,
mzta 0:158c61bb030f 2346 -392, -392, -90, 462, 576, 402, 403, -268, 438, -95,
mzta 0:158c61bb030f 2347 464, 115, 652, 115, 465, -279, 411, 412, 67, 683,
mzta 0:158c61bb030f 2348 499, 468, -461, 500, 501, 531, 674, 650, -462, 674,
mzta 0:158c61bb030f 2349 512, 674, 513, -528, 81, -457, -457, 587, 667, -528,
mzta 0:158c61bb030f 2350 667, 603, 911, 604, 204, 204, 402, 446, 470, 471,
mzta 0:158c61bb030f 2351 920, -463, -463, 608, -94, 496, 758, 918, 631, 630,
mzta 0:158c61bb030f 2352 694, 640, -535, 642, -268, -268, 647, 236, 702, 373,
mzta 0:158c61bb030f 2353 667, 840, -279, -279, 115, 447, 643, -529, -81, -461,
mzta 0:158c61bb030f 2354 -461, 660, 495, -529, 672, -86, 707, 204, 676, 204,
mzta 0:158c61bb030f 2355 204, 236, 236, 204, 204, -101, 327, 328, 81, 388,
mzta 0:158c61bb030f 2356 389, -100, 705, 81, 81, 678, 706, 921, 922, 681,
mzta 0:158c61bb030f 2357 711, 204, 707, 711, 713, 714, 679, 716, 714, 694,
mzta 0:158c61bb030f 2358 694, -253, 289, 948, -535, 878, -93, 707, 682, 705,
mzta 0:158c61bb030f 2359 686, 711, -92, 500, 501, 696, 714, 707, 381, 382,
mzta 0:158c61bb030f 2360 699, 730, 734, 737, 722, 737, 751, 661, 721, 473,
mzta 0:158c61bb030f 2361 474, 475, 476, 737, 709, 598, 81, 204, 204, 204,
mzta 0:158c61bb030f 2362 204, 81, 204, 204, 886, 700, 204, 710, 81, 289,
mzta 0:158c61bb030f 2363 888, 204, 707, 809, 230, 427, 735, 803, 750, -535,
mzta 0:158c61bb030f 2364 -96, -535, -535, 770, 465, -531, 300, 725, 301, 302,
mzta 0:158c61bb030f 2365 771, 772, 533, -98, 337, 797, 799, 759, 752, 204,
mzta 0:158c61bb030f 2366 760, 804, 806, -95, 767, 782, 770, 204, 204, -254,
mzta 0:158c61bb030f 2367 567, -88, 661, 791, 473, 474, 475, 476, 781, 567,
mzta 0:158c61bb030f 2368 796, 575, 802, 204, -90, 81, 204, 506, 817, 301,
mzta 0:158c61bb030f 2369 302, 738, 735, 81, -87, 303, 304, 204, 811, 812,
mzta 0:158c61bb030f 2370 822, 81, 826, 765, 115, 526, 204, 358, 359, 360,
mzta 0:158c61bb030f 2371 361, 362, 308, 310, 312, 314, 825, 830, 694, 832,
mzta 0:158c61bb030f 2372 313, 839, 842, 301, 302, 846, 845, 847, 833, 834,
mzta 0:158c61bb030f 2373 848, 824, 849, 236, 828, 837, 303, 304, 81, 851,
mzta 0:158c61bb030f 2374 853, 816, 855, 201, 201, 858, 861, 81, 820, 201,
mzta 0:158c61bb030f 2375 860, 829, 865, 867, 869, 872, 874, 427, 770, -255,
mzta 0:158c61bb030f 2376 875, 289, 879, 289, 889, 204, 890, 895, 897, 618,
mzta 0:158c61bb030f 2377 303, 304, 674, 674, 236, 674, 907, 674, 674, 910,
mzta 0:158c61bb030f 2378 307, 301, 302, 674, -256, 916, 674, 674, 917, 927,
mzta 0:158c61bb030f 2379 945, 115, 919, 81, 511, 876, 459, 301, 302, 472,
mzta 0:158c61bb030f 2380 931, 473, 474, 475, 476, 935, 337, 887, 472, 937,
mzta 0:158c61bb030f 2381 473, 474, 475, 476, 942, 953, 964, -531, 98, -532,
mzta 0:158c61bb030f 2382 98, 350, 351, 646, 289, 98, 98, 115, 303, 304,
mzta 0:158c61bb030f 2383 212, 98, 98, 98, 120, 737, 98, 715, 952, 764,
mzta 0:158c61bb030f 2384 477, 955, 810, 377, 303, 304, 478, 479, 661, 477,
mzta 0:158c61bb030f 2385 473, 474, 475, 476, 951, 478, 479, 197, 357, 358,
mzta 0:158c61bb030f 2386 359, 360, 361, 362, 98, 774, 236, 923, 687, 924,
mzta 0:158c61bb030f 2387 393, 480, 925, 236, 481, 929, 0, 880, 98, 677,
mzta 0:158c61bb030f 2388 480, 680, 0, 481, 337, 0, 204, 81, 472, 662,
mzta 0:158c61bb030f 2389 473, 474, 475, 476, 236, 663, 0, 482, 0, 350,
mzta 0:158c61bb030f 2390 351, 674, 674, 674, 674, 0, 674, 674, 242, 908,
mzta 0:158c61bb030f 2391 674, 0, 674, 674, 0, 576, 0, 0, 0, 438,
mzta 0:158c61bb030f 2392 204, 606, 737, 707, 0, 98, 0, 98, 661, 477,
mzta 0:158c61bb030f 2393 473, 474, 475, 476, 0, 478, 479, 358, 359, 360,
mzta 0:158c61bb030f 2394 361, 362, 0, 201, 201, 282, 0, 661, 0, 473,
mzta 0:158c61bb030f 2395 474, 475, 476, 0, 674, 674, 674, 674, 674, 0,
mzta 0:158c61bb030f 2396 480, 0, 0, 481, 81, 81, 674, 236, 0, 477,
mzta 0:158c61bb030f 2397 309, 301, 302, 236, 0, 0, 479, 0, 0, 81,
mzta 0:158c61bb030f 2398 0, 777, 0, 0, 780, 0, 0, 81, 662, 0,
mzta 0:158c61bb030f 2399 232, 0, 439, 441, 289, 204, 785, 0, 204, 204,
mzta 0:158c61bb030f 2400 480, 0, 0, 0, 204, 204, 311, 301, 302, 0,
mzta 0:158c61bb030f 2401 454, 0, 81, 81, 0, 98, 0, 0, 303, 304,
mzta 0:158c61bb030f 2402 0, 0, 0, 81, 0, 98, 98, 0, 0, 0,
mzta 0:158c61bb030f 2403 81, 0, 0, 204, 496, 301, 302, 0, 508, 301,
mzta 0:158c61bb030f 2404 302, 0, 81, 81, 0, 509, 301, 302, 472, 81,
mzta 0:158c61bb030f 2405 473, 474, 475, 476, 303, 304, 201, 201, 201, 201,
mzta 0:158c61bb030f 2406 0, 520, 521, 322, 323, 324, 325, 326, 98, 0,
mzta 0:158c61bb030f 2407 98, 98, 0, 0, 98, 98, 0, 0, 0, 98,
mzta 0:158c61bb030f 2408 0, 864, 303, 304, 98, 98, 303, 304, 0, 477,
mzta 0:158c61bb030f 2409 0, 0, 98, 303, 304, 478, 479, 0, 204, 0,
mzta 0:158c61bb030f 2410 0, 0, 510, 301, 302, 0, 0, 0, 0, 81,
mzta 0:158c61bb030f 2411 81, 94, 0, 94, 117, 117, 117, 883, 0, 0,
mzta 0:158c61bb030f 2412 480, 81, 216, 481, 899, 600, 473, 474, 475, 476,
mzta 0:158c61bb030f 2413 0, 0, 421, 422, 423, 0, 0, 98, 98, 98,
mzta 0:158c61bb030f 2414 98, 98, 98, 98, 98, 0, 727, 98, 0, 98,
mzta 0:158c61bb030f 2415 303, 304, 98, 0, 903, 0, 905, 94, 0, 0,
mzta 0:158c61bb030f 2416 906, 290, 850, 852, 0, 854, 0, 856, 857, 0,
mzta 0:158c61bb030f 2417 912, 0, 915, 862, 0, 81, 866, 868, 0, 0,
mzta 0:158c61bb030f 2418 98, 81, 0, 81, 0, 290, 81, 0, 98, 98,
mzta 0:158c61bb030f 2419 661, 0, 473, 474, 475, 476, 0, 0, 0, 0,
mzta 0:158c61bb030f 2420 497, 0, 0, 0, 98, 0, 98, 98, 507, 0,
mzta 0:158c61bb030f 2421 0, 507, 0, 507, 98, 507, 204, 507, 98, 0,
mzta 0:158c61bb030f 2422 94, 0, 98, 0, 0, 525, 0, 98, 0, 0,
mzta 0:158c61bb030f 2423 536, 662, 0, 0, 0, 0, 956, 843, -555, 0,
mzta 0:158c61bb030f 2424 957, 0, 959, 0, 0, 0, 0, 960, 0, 0,
mzta 0:158c61bb030f 2425 0, -555, -555, -555, -555, -555, -555, 0, -555, 98,
mzta 0:158c61bb030f 2426 0, 0, 0, 0, -555, -555, 0, 0, 98, 968,
mzta 0:158c61bb030f 2427 0, 0, 0, 0, 0, -555, -555, 0, -555, -555,
mzta 0:158c61bb030f 2428 -555, -555, -555, 0, 0, 0, 98, 0, 0, 0,
mzta 0:158c61bb030f 2429 0, 930, 932, 933, 934, 0, 936, 938, 0, 0,
mzta 0:158c61bb030f 2430 941, 0, 943, 944, 0, 0, 0, 0, 94, 0,
mzta 0:158c61bb030f 2431 0, 0, 536, 0, 98, 0, 0, 0, 632, 634,
mzta 0:158c61bb030f 2432 0, 0, 282, 0, 0, 201, -555, 0, 0, 0,
mzta 0:158c61bb030f 2433 0, 0, 0, 243, 243, 0, 0, 243, 0, 0,
mzta 0:158c61bb030f 2434 0, 0, 0, 0, 962, 963, 965, 966, 967, 337,
mzta 0:158c61bb030f 2435 0, 634, 0, 0, 282, 0, 969, 0, 0, 201,
mzta 0:158c61bb030f 2436 0, 0, 264, 266, 350, 351, 0, 243, 243, 0,
mzta 0:158c61bb030f 2437 0, 0, 94, 0, 0, 0, 0, 94, 94, 318,
mzta 0:158c61bb030f 2438 319, -555, -555, 675, -555, 0, 0, 255, -555, 0,
mzta 0:158c61bb030f 2439 -555, -555, 0, 0, 0, 0, 290, 0, 0, 355,
mzta 0:158c61bb030f 2440 356, 357, 358, 359, 360, 361, 362, 98, 98, 337,
mzta 0:158c61bb030f 2441 338, 339, 340, 341, 342, 343, 344, 695, 346, 347,
mzta 0:158c61bb030f 2442 0, 0, 0, 0, 350, 351, 0, 0, 0, 0,
mzta 0:158c61bb030f 2443 94, 0, 0, 0, 0, 94, 0, 0, 0, 0,
mzta 0:158c61bb030f 2444 0, 98, 94, 290, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2445 0, 0, 0, 0, 0, 0, 0, 353, 354, 355,
mzta 0:158c61bb030f 2446 356, 357, 358, 359, 360, 361, 362, 0, 0, 0,
mzta 0:158c61bb030f 2447 0, 0, 201, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2448 0, 0, 0, 0, 0, 98, 98, 0, 0, 0,
mzta 0:158c61bb030f 2449 0, 0, 0, 0, 0, 0, 0, 0, 731, 94,
mzta 0:158c61bb030f 2450 98, 0, 0, 0, 0, 0, 0, 94, 98, 0,
mzta 0:158c61bb030f 2451 0, 0, 0, 0, 0, 94, 98, 0, 0, 98,
mzta 0:158c61bb030f 2452 98, 0, 0, 0, 0, 98, 98, 755, 0, 0,
mzta 0:158c61bb030f 2453 757, 0, 0, 98, 98, 0, 634, 282, 0, 0,
mzta 0:158c61bb030f 2454 0, 0, 0, 0, 98, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2455 0, 98, 94, 0, 98, 243, 243, 243, 318, 0,
mzta 0:158c61bb030f 2456 0, 94, 0, 98, 98, 0, 0, 0, 0, 243,
mzta 0:158c61bb030f 2457 98, 243, 243, 0, 0, 290, 0, 290, 0, 0,
mzta 0:158c61bb030f 2458 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2459 793, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2460 0, 0, 0, 0, 0, 0, 0, 94, 0, 0,
mzta 0:158c61bb030f 2461 0, 0, 0, 0, 0, 0, 0, 0, 0, 98,
mzta 0:158c61bb030f 2462 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2463 98, 98, 0, 0, 0, 0, 0, 0, 290, 0,
mzta 0:158c61bb030f 2464 0, 0, 98, 0, 0, 0, 0, 836, 243, 0,
mzta 0:158c61bb030f 2465 838, 0, 0, 535, 538, 539, 540, 541, 542, 543,
mzta 0:158c61bb030f 2466 544, 545, 546, 547, 548, 549, 550, 551, 552, 553,
mzta 0:158c61bb030f 2467 554, 555, 556, 557, 558, 559, 560, 561, 562, 563,
mzta 0:158c61bb030f 2468 97, 243, 97, 118, 118, 0, 870, 0, 0, 584,
mzta 0:158c61bb030f 2469 586, 217, 0, 0, 0, 0, 98, 0, 0, 0,
mzta 0:158c61bb030f 2470 0, 94, 98, 0, 98, 243, 0, 98, 0, 0,
mzta 0:158c61bb030f 2471 0, 0, 0, 0, 0, 0, 0, 609, 0, 243,
mzta 0:158c61bb030f 2472 0, 584, 586, 0, 0, 0, 97, 0, 243, 0,
mzta 0:158c61bb030f 2473 291, 0, 0, 282, 0, 243, 0, 98, 0, 0,
mzta 0:158c61bb030f 2474 0, 243, 243, 0, 0, 243, 0, 0, 0, 0,
mzta 0:158c61bb030f 2475 0, 0, 0, 0, 291, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2476 0, 0, 0, 0, 648, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2477 0, 0, 0, 78, 243, 78, 0, 243, 94, 94,
mzta 0:158c61bb030f 2478 0, 0, 0, 0, 213, 0, 0, 243, 0, 97,
mzta 0:158c61bb030f 2479 0, 0, 0, 94, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2480 0, 94, 0, 0, 0, 0, 243, 0, 290, 0,
mzta 0:158c61bb030f 2481 0, 0, 0, 0, 0, 0, 0, 0, 0, 78,
mzta 0:158c61bb030f 2482 0, 0, 0, 0, 0, 0, 94, 94, 0, 688,
mzta 0:158c61bb030f 2483 689, 0, 0, 0, 0, 0, 0, 94, 0, 0,
mzta 0:158c61bb030f 2484 243, 0, 0, 0, 94, 0, 0, 0, 0, 337,
mzta 0:158c61bb030f 2485 -556, -556, -556, -556, 342, 343, 94, 94, -556, -556,
mzta 0:158c61bb030f 2486 0, 0, 0, 94, 350, 351, 0, 0, 0, 0,
mzta 0:158c61bb030f 2487 0, 0, 95, 0, 95, 0, 0, 97, 0, 0,
mzta 0:158c61bb030f 2488 0, 0, 78, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2489 0, 0, 0, 0, 0, 117, 0, 353, 354, 355,
mzta 0:158c61bb030f 2490 356, 357, 358, 359, 360, 361, 362, 0, 0, 0,
mzta 0:158c61bb030f 2491 0, 0, 0, 0, 0, 0, 0, 0, 95, 0,
mzta 0:158c61bb030f 2492 0, 243, 0, 94, 94, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2493 0, 884, 0, 0, 0, 94, 0, 0, 0, 0,
mzta 0:158c61bb030f 2494 0, 97, 0, 0, 0, 0, 97, 97, 0, 0,
mzta 0:158c61bb030f 2495 243, 0, 0, 243, 0, 0, 0, 0, 0, 243,
mzta 0:158c61bb030f 2496 243, 0, 0, 0, 0, 291, 0, 0, 0, 0,
mzta 0:158c61bb030f 2497 78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2498 0, 95, 0, 0, 0, 0, 0, 0, 0, 94,
mzta 0:158c61bb030f 2499 0, 0, 0, 0, 0, 94, 0, 94, 0, 97,
mzta 0:158c61bb030f 2500 94, 0, 0, 0, 97, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2501 0, 97, 291, 243, 0, 0, 0, 609, 795, 0,
mzta 0:158c61bb030f 2502 798, 800, 0, 0, 0, 0, 805, 807, 0, 0,
mzta 0:158c61bb030f 2503 0, 0, 0, 0, 78, 0, 813, 0, 0, 78,
mzta 0:158c61bb030f 2504 78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2505 0, 0, 0, 0, 0, 0, 0, 0, 798, 800,
mzta 0:158c61bb030f 2506 0, 805, 807, 0, 0, 0, 0, 0, 97, 95,
mzta 0:158c61bb030f 2507 243, 0, 0, 243, 0, 0, 97, 0, 0, 0,
mzta 0:158c61bb030f 2508 0, 0, 0, 0, 97, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2509 0, 0, 78, 0, 0, 0, 0, 78, 0, 0,
mzta 0:158c61bb030f 2510 0, 0, 0, 0, 78, 0, 0, 534, 0, 243,
mzta 0:158c61bb030f 2511 0, 0, 0, 871, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2512 873, 97, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2513 97, 0, 0, 95, 0, 0, 0, 0, 95, 95,
mzta 0:158c61bb030f 2514 0, 0, 0, 0, 291, 0, 291, 0, 873, 0,
mzta 0:158c61bb030f 2515 0, 701, 0, 0, 0, 0, 243, 0, 0, 0,
mzta 0:158c61bb030f 2516 0, 78, 0, 0, 0, 0, 0, 0, 0, 78,
mzta 0:158c61bb030f 2517 0, 0, 0, 0, 0, 0, 97, 78, 337, 338,
mzta 0:158c61bb030f 2518 339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
mzta 0:158c61bb030f 2519 349, 95, 0, 350, 351, 0, 95, 0, 0, 0,
mzta 0:158c61bb030f 2520 0, 0, 0, 95, 0, 0, 0, 291, 0, 0,
mzta 0:158c61bb030f 2521 0, 0, 0, 0, 78, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2522 0, 0, 0, 78, 352, 0, 353, 354, 355, 356,
mzta 0:158c61bb030f 2523 357, 358, 359, 360, 361, 362, 0, 0, 243, 0,
mzta 0:158c61bb030f 2524 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2525 0, 0, 0, 0, -230, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2526 95, 564, 565, 0, 0, 566, 0, 0, 95, 78,
mzta 0:158c61bb030f 2527 97, 0, 0, 0, 0, 0, 95, 0, 0, 164,
mzta 0:158c61bb030f 2528 165, 166, 167, 168, 169, 170, 171, 172, 0, 0,
mzta 0:158c61bb030f 2529 173, 174, 0, 0, 175, 176, 177, 178, 0, 0,
mzta 0:158c61bb030f 2530 0, 0, 0, 0, 0, 0, 0, 0, 179, 0,
mzta 0:158c61bb030f 2531 0, 0, 0, 95, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2532 0, 0, 95, 0, 0, 0, 0, 0, 0, 180,
mzta 0:158c61bb030f 2533 181, 182, 183, 184, 185, 186, 187, 188, 189, 0,
mzta 0:158c61bb030f 2534 190, 191, 0, 0, 0, 0, 0, 97, 97, 0,
mzta 0:158c61bb030f 2535 0, 0, 0, 0, 0, 0, 0, 0, 192, 255,
mzta 0:158c61bb030f 2536 0, 0, 97, 78, 0, 0, 0, 0, 95, 0,
mzta 0:158c61bb030f 2537 97, 0, 0, 0, 0, 0, 0, 291, 0, 0,
mzta 0:158c61bb030f 2538 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2539 0, 0, 0, 0, 0, 97, 97, 0, 0, 0,
mzta 0:158c61bb030f 2540 0, 0, 0, 0, 0, 0, 97, 0, 0, 0,
mzta 0:158c61bb030f 2541 0, 0, 0, 97, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2542 0, 0, 0, 0, 0, 97, 97, 0, 0, 0,
mzta 0:158c61bb030f 2543 0, 0, 97, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2544 78, 78, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2545 0, 0, 0, 0, 0, 78, 0, 0, 0, 0,
mzta 0:158c61bb030f 2546 0, 0, 95, 78, 118, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2547 0, 534, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2548 0, 0, 0, 0, 0, 0, 0, 0, 78, 78,
mzta 0:158c61bb030f 2549 0, 0, 97, 97, 0, 0, 0, 0, 0, 78,
mzta 0:158c61bb030f 2550 885, 0, 0, 0, 97, 0, 78, 0, 0, 0,
mzta 0:158c61bb030f 2551 0, 0, 0, 0, 0, 0, 0, 0, 78, 78,
mzta 0:158c61bb030f 2552 0, 0, 0, 0, 0, 78, 337, 338, 339, 340,
mzta 0:158c61bb030f 2553 341, 342, 343, 344, 345, 346, 347, 348, 349, 95,
mzta 0:158c61bb030f 2554 95, 350, 351, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2555 0, 0, 0, 0, 95, 0, 0, 0, 97, 0,
mzta 0:158c61bb030f 2556 0, 0, 95, 0, 97, 0, 97, 0, 0, 97,
mzta 0:158c61bb030f 2557 0, 0, 352, 0, 353, 354, 355, 356, 357, 358,
mzta 0:158c61bb030f 2558 359, 360, 361, 362, 0, 78, 78, 95, 95, 0,
mzta 0:158c61bb030f 2559 0, 0, 0, 882, 0, 0, 0, 78, 95, 0,
mzta 0:158c61bb030f 2560 0, 0, 0, 0, 0, 95, 0, 0, 232, 0,
mzta 0:158c61bb030f 2561 0, 0, 0, 0, 0, 0, 0, 95, 95, 0,
mzta 0:158c61bb030f 2562 0, 0, 0, 0, 95, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2563 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2564 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2565 0, 78, 0, 0, 0, 0, 0, 78, 0, 78,
mzta 0:158c61bb030f 2566 0, 0, 78, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2567 -555, 4, 0, 5, 6, 7, 8, 9, 10, 11,
mzta 0:158c61bb030f 2568 12, 13, 14, 0, 95, 95, 0, 0, 0, 15,
mzta 0:158c61bb030f 2569 0, 16, 17, 18, 19, 0, 95, 0, 0, 0,
mzta 0:158c61bb030f 2570 20, 21, 22, 23, 24, 25, 26, 0, 0, 27,
mzta 0:158c61bb030f 2571 0, 0, 0, 0, 0, 28, 29, 30, 31, 32,
mzta 0:158c61bb030f 2572 0, 33, 34, 35, 36, 37, 38, 0, 39, 40,
mzta 0:158c61bb030f 2573 41, 0, 0, 42, 0, 0, 43, 44, 0, 45,
mzta 0:158c61bb030f 2574 46, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2575 95, 0, 0, 0, 0, 0, 95, 0, 95, 47,
mzta 0:158c61bb030f 2576 0, 95, 48, 49, 0, 50, 51, -278, 52, 0,
mzta 0:158c61bb030f 2577 53, 54, 55, 56, 57, 58, 59, 0, 0, 60,
mzta 0:158c61bb030f 2578 -278, -278, -278, -278, -278, -278, 0, -278, 0, 0,
mzta 0:158c61bb030f 2579 0, 0, 0, 0, -278, -278, -278, 0, 0, 61,
mzta 0:158c61bb030f 2580 62, 63, 0, 0, -278, -278, 0, -278, -278, -278,
mzta 0:158c61bb030f 2581 -278, -278, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2582 0, 0, -555, -555, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2583 0, 0, 0, 0, 0, 0, 0, 0, -278, -278,
mzta 0:158c61bb030f 2584 -278, -278, -278, -278, -278, -278, -278, -278, -278, -278,
mzta 0:158c61bb030f 2585 -278, 0, 0, -278, -278, -278, 0, 742, -278, 0,
mzta 0:158c61bb030f 2586 0, 0, 0, 0, -278, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2587 0, 0, 0, 0, 0, -278, 0, 0, 0, 0,
mzta 0:158c61bb030f 2588 0, 0, 0, -99, -278, -278, -278, -278, -278, -278,
mzta 0:158c61bb030f 2589 -278, -278, -278, -278, -278, -278, 0, 0, 0, 0,
mzta 0:158c61bb030f 2590 0, 0, 0, 0, 0, 0, 0, 0, -391, 0,
mzta 0:158c61bb030f 2591 0, -278, -278, -278, -278, 0, 0, -278, -278, -278,
mzta 0:158c61bb030f 2592 -278, -391, -391, -391, -391, -391, -391, 0, -391, 0,
mzta 0:158c61bb030f 2593 0, 719, 0, 0, -391, -391, -391, 0, 0, 0,
mzta 0:158c61bb030f 2594 0, 0, 0, 0, 0, -391, -391, 0, -391, -391,
mzta 0:158c61bb030f 2595 -391, -391, -391, 0, 0, 0, 0, 0, 337, 338,
mzta 0:158c61bb030f 2596 339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
mzta 0:158c61bb030f 2597 349, 0, 0, 350, 351, 0, 0, 0, 0, -391,
mzta 0:158c61bb030f 2598 -391, -391, -391, -391, -391, -391, -391, -391, -391, -391,
mzta 0:158c61bb030f 2599 -391, -391, 0, 0, -391, -391, -391, 0, 0, -391,
mzta 0:158c61bb030f 2600 0, 0, 0, 0, 352, -391, 353, 354, 355, 356,
mzta 0:158c61bb030f 2601 357, 358, 359, 360, 361, 362, 0, 0, 0, 0,
mzta 0:158c61bb030f 2602 0, 0, 0, 0, 0, -391, 0, -391, -391, -391,
mzta 0:158c61bb030f 2603 -391, -391, -391, -391, -391, -391, -391, 0, 0, 0,
mzta 0:158c61bb030f 2604 0, 0, 0, 0, 0, 0, 0, 0, 0, -269,
mzta 0:158c61bb030f 2605 0, -391, -391, -391, -391, -391, 0, 255, -391, -391,
mzta 0:158c61bb030f 2606 -391, -391, -269, -269, -269, -269, -269, -269, 0, -269,
mzta 0:158c61bb030f 2607 0, 0, 701, 0, 0, 0, -269, -269, -269, 0,
mzta 0:158c61bb030f 2608 0, 0, 0, 0, 0, 0, -269, -269, 0, -269,
mzta 0:158c61bb030f 2609 -269, -269, -269, -269, 0, 0, 0, 0, 0, 337,
mzta 0:158c61bb030f 2610 338, 339, 340, 341, 342, 343, 344, 345, 346, 347,
mzta 0:158c61bb030f 2611 348, 349, 0, 0, 350, 351, 0, 0, 0, 0,
mzta 0:158c61bb030f 2612 -269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
mzta 0:158c61bb030f 2613 -269, -269, -269, 0, 0, -269, -269, -269, 0, 0,
mzta 0:158c61bb030f 2614 -269, 0, 0, 0, 0, 352, -269, 353, 354, 355,
mzta 0:158c61bb030f 2615 356, 357, 358, 359, 360, 361, 362, -269, 0, 0,
mzta 0:158c61bb030f 2616 0, 0, 0, 0, 0, 0, -269, -269, -269, -269,
mzta 0:158c61bb030f 2617 -269, -269, -269, -269, -269, -269, -269, -269, 0, 0,
mzta 0:158c61bb030f 2618 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2619 -555, 0, 0, -269, -269, -269, -269, 0, 0, -269,
mzta 0:158c61bb030f 2620 -269, -269, -269, -555, -555, -555, -555, -555, -555, 0,
mzta 0:158c61bb030f 2621 -555, 0, 0, 0, 0, 0, -555, -555, -555, 0,
mzta 0:158c61bb030f 2622 0, 0, 0, 0, 0, 0, 0, -555, -555, 0,
mzta 0:158c61bb030f 2623 -555, -555, -555, -555, -555, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2624 337, 338, 339, 340, 341, 342, 343, 344, 345, 346,
mzta 0:158c61bb030f 2625 347, 348, 349, 0, 0, 350, 351, 0, 0, 0,
mzta 0:158c61bb030f 2626 0, -555, -555, -555, -555, -555, -555, -555, -555, -555,
mzta 0:158c61bb030f 2627 -555, -555, -555, -555, 0, 0, -555, -555, -555, 0,
mzta 0:158c61bb030f 2628 0, -555, 0, 0, 0, 0, 352, -555, 353, 354,
mzta 0:158c61bb030f 2629 355, 356, 357, 358, 359, 360, 361, 362, 0, 0,
mzta 0:158c61bb030f 2630 0, 0, 0, 0, 0, 0, 0, -555, 0, -555,
mzta 0:158c61bb030f 2631 -555, -555, -555, -555, -555, -555, -555, -555, -555, 0,
mzta 0:158c61bb030f 2632 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2633 0, -285, 0, -555, -555, -555, -555, -555, 0, 255,
mzta 0:158c61bb030f 2634 -555, -555, -555, -555, -285, -285, -285, -285, -285, -285,
mzta 0:158c61bb030f 2635 0, -285, 0, 0, 0, 0, 0, 0, -285, -285,
mzta 0:158c61bb030f 2636 0, 0, 0, 0, 0, 0, 0, 0, -285, -285,
mzta 0:158c61bb030f 2637 0, -285, -285, -285, -285, -285, 0, 0, 0, 0,
mzta 0:158c61bb030f 2638 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2639 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2640 0, 0, -285, -285, -285, -285, -285, -285, -285, -285,
mzta 0:158c61bb030f 2641 -285, -285, -285, -285, -285, 0, 0, -285, -285, -285,
mzta 0:158c61bb030f 2642 0, 0, -285, -535, 0, 0, 0, 0, -285, 0,
mzta 0:158c61bb030f 2643 0, 0, 0, 0, 0, 0, -535, -535, -535, 0,
mzta 0:158c61bb030f 2644 -535, -535, 0, -535, 0, 0, 0, 0, -285, -535,
mzta 0:158c61bb030f 2645 -285, -285, -285, -285, -285, -285, -285, -285, -285, -285,
mzta 0:158c61bb030f 2646 -535, -535, 0, -535, -535, -535, -535, -535, 0, 0,
mzta 0:158c61bb030f 2647 0, 0, 0, 0, 0, -285, -285, -285, -285, 0,
mzta 0:158c61bb030f 2648 252, -285, -285, -285, -285, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2649 0, 0, 0, 0, -535, -535, -535, -535, -535, -535,
mzta 0:158c61bb030f 2650 -535, -535, -535, -535, -535, -535, -535, 0, 0, -535,
mzta 0:158c61bb030f 2651 -535, -535, 0, 703, 0, -278, 0, 0, 0, 0,
mzta 0:158c61bb030f 2652 0, 0, 0, 0, 0, 0, 0, 0, -278, -278,
mzta 0:158c61bb030f 2653 -278, 0, -278, -278, 0, -278, 0, 0, 0, -97,
mzta 0:158c61bb030f 2654 -535, 0, -535, -535, -535, -535, -535, -535, -535, -535,
mzta 0:158c61bb030f 2655 -535, -535, -278, -278, 0, -278, -278, -278, -278, -278,
mzta 0:158c61bb030f 2656 0, 0, 0, 0, 0, 0, -535, -535, -535, -535,
mzta 0:158c61bb030f 2657 -89, 0, 0, -535, 0, -535, -535, 0, 0, 0,
mzta 0:158c61bb030f 2658 0, 0, 0, 0, 0, 0, -278, -278, -278, -278,
mzta 0:158c61bb030f 2659 -278, -278, -278, -278, -278, -278, -278, -278, -278, 0,
mzta 0:158c61bb030f 2660 0, -278, -278, -278, 0, 704, 0, 0, 0, 0,
mzta 0:158c61bb030f 2661 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2662 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2663 0, -99, -278, 0, -278, -278, -278, -278, -278, -278,
mzta 0:158c61bb030f 2664 -278, -278, -278, -278, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2665 0, 0, 0, 0, 0, 0, 0, 0, 0, -278,
mzta 0:158c61bb030f 2666 -278, -278, -91, 0, 0, -278, 0, -278, -278, 268,
mzta 0:158c61bb030f 2667 0, 5, 6, 7, 8, 9, 10, 11, 12, 13,
mzta 0:158c61bb030f 2668 14, -555, -555, -555, 0, 0, -555, 15, 0, 16,
mzta 0:158c61bb030f 2669 17, 18, 19, 0, 0, 0, 0, 0, 20, 21,
mzta 0:158c61bb030f 2670 22, 23, 24, 25, 26, 0, 0, 27, 0, 0,
mzta 0:158c61bb030f 2671 0, 0, 0, 28, 0, 30, 31, 32, 0, 33,
mzta 0:158c61bb030f 2672 34, 35, 36, 37, 38, 0, 39, 40, 41, 0,
mzta 0:158c61bb030f 2673 0, 42, 0, 0, 43, 44, 0, 45, 46, 0,
mzta 0:158c61bb030f 2674 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2675 0, 0, 0, 0, 0, 0, 0, 47, 0, 0,
mzta 0:158c61bb030f 2676 48, 49, 0, 50, 51, 0, 52, 0, 53, 54,
mzta 0:158c61bb030f 2677 55, 56, 57, 58, 59, 0, 0, 60, 0, 0,
mzta 0:158c61bb030f 2678 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2679 0, 0, 0, 0, 0, 0, 0, 61, 62, 63,
mzta 0:158c61bb030f 2680 0, 0, 0, 0, 0, 0, 0, 0, 268, 0,
mzta 0:158c61bb030f 2681 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
mzta 0:158c61bb030f 2682 -555, -555, -555, 0, -555, -555, 15, 0, 16, 17,
mzta 0:158c61bb030f 2683 18, 19, 0, 0, 0, 0, 0, 20, 21, 22,
mzta 0:158c61bb030f 2684 23, 24, 25, 26, 0, 0, 27, 0, 0, 0,
mzta 0:158c61bb030f 2685 0, 0, 28, 0, 30, 31, 32, 0, 33, 34,
mzta 0:158c61bb030f 2686 35, 36, 37, 38, 0, 39, 40, 41, 0, 0,
mzta 0:158c61bb030f 2687 42, 0, 0, 43, 44, 0, 45, 46, 0, 0,
mzta 0:158c61bb030f 2688 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2689 0, 0, 0, 0, 0, 0, 47, 0, 0, 48,
mzta 0:158c61bb030f 2690 49, 0, 50, 51, 0, 52, 0, 53, 54, 55,
mzta 0:158c61bb030f 2691 56, 57, 58, 59, 0, 0, 60, 0, 0, 0,
mzta 0:158c61bb030f 2692 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2693 0, 0, 0, 0, 0, 0, 61, 62, 63, 0,
mzta 0:158c61bb030f 2694 0, 0, 0, 0, 268, 0, 5, 6, 7, 8,
mzta 0:158c61bb030f 2695 9, 10, 11, 12, 13, 14, 0, 0, -555, -555,
mzta 0:158c61bb030f 2696 -555, -555, 15, -555, 16, 17, 18, 19, 0, 0,
mzta 0:158c61bb030f 2697 0, 0, 0, 20, 21, 22, 23, 24, 25, 26,
mzta 0:158c61bb030f 2698 0, 0, 27, 0, 0, 0, 0, 0, 28, 0,
mzta 0:158c61bb030f 2699 30, 31, 32, 0, 33, 34, 35, 36, 37, 38,
mzta 0:158c61bb030f 2700 0, 39, 40, 41, 0, 0, 42, 0, 0, 43,
mzta 0:158c61bb030f 2701 44, 0, 45, 46, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2702 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2703 0, 0, 47, 0, 0, 48, 49, 0, 50, 51,
mzta 0:158c61bb030f 2704 0, 52, 0, 53, 54, 55, 56, 57, 58, 59,
mzta 0:158c61bb030f 2705 0, 0, 60, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2706 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2707 0, 0, 61, 62, 63, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2708 268, 0, 5, 6, 7, 8, 9, 10, 11, 12,
mzta 0:158c61bb030f 2709 13, 14, 0, 0, -555, -555, -555, -555, 15, 0,
mzta 0:158c61bb030f 2710 16, 17, 18, 19, 0, 0, 0, 0, 0, 20,
mzta 0:158c61bb030f 2711 21, 22, 23, 24, 25, 26, 0, 0, 27, 0,
mzta 0:158c61bb030f 2712 0, 0, 0, 0, 28, 0, 30, 31, 32, 0,
mzta 0:158c61bb030f 2713 33, 34, 35, 36, 37, 38, 0, 39, 40, 41,
mzta 0:158c61bb030f 2714 0, 0, 42, 0, 0, 43, 44, 0, 45, 46,
mzta 0:158c61bb030f 2715 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2716 0, 0, 0, 0, 0, 0, 0, 0, 47, 0,
mzta 0:158c61bb030f 2717 0, 48, 49, 0, 50, 51, 0, 52, 0, 53,
mzta 0:158c61bb030f 2718 54, 55, 56, 57, 58, 59, 0, 0, 60, 0,
mzta 0:158c61bb030f 2719 0, 0, 0, 0, 0, 4, 0, 5, 6, 7,
mzta 0:158c61bb030f 2720 8, 9, 10, 11, 12, 13, 14, 0, 61, 62,
mzta 0:158c61bb030f 2721 63, 0, 0, 15, 0, 16, 17, 18, 19, 0,
mzta 0:158c61bb030f 2722 0, 0, 0, 0, 20, 21, 22, 23, 24, 25,
mzta 0:158c61bb030f 2723 26, -555, -555, 27, 0, 0, 0, 0, 0, 28,
mzta 0:158c61bb030f 2724 29, 30, 31, 32, 0, 33, 34, 35, 36, 37,
mzta 0:158c61bb030f 2725 38, 0, 39, 40, 41, 0, 0, 42, 0, 0,
mzta 0:158c61bb030f 2726 43, 44, 0, 45, 46, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2727 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2728 0, 0, 0, 47, 0, 0, 48, 49, 0, 50,
mzta 0:158c61bb030f 2729 51, 0, 52, 0, 53, 54, 55, 56, 57, 58,
mzta 0:158c61bb030f 2730 59, 0, 0, 60, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2731 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2732 0, 0, 0, 61, 62, 63, 0, 0, 0, 0,
mzta 0:158c61bb030f 2733 0, 0, 0, 0, 0, 0, 0, 0, -555, 0,
mzta 0:158c61bb030f 2734 0, 0, 0, 0, 0, 0, -555, -555, 268, 0,
mzta 0:158c61bb030f 2735 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
mzta 0:158c61bb030f 2736 0, -555, -555, 0, 0, 0, 15, 0, 16, 17,
mzta 0:158c61bb030f 2737 18, 19, 0, 0, 0, 0, 0, 20, 21, 22,
mzta 0:158c61bb030f 2738 23, 24, 25, 26, 0, 0, 27, 0, 0, 0,
mzta 0:158c61bb030f 2739 0, 0, 28, 0, 30, 31, 32, 0, 33, 34,
mzta 0:158c61bb030f 2740 35, 36, 37, 38, 0, 39, 40, 41, 0, 0,
mzta 0:158c61bb030f 2741 42, 0, 0, 43, 44, 0, 45, 46, 0, 0,
mzta 0:158c61bb030f 2742 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2743 0, 0, 0, 0, 0, 0, 47, 0, 0, 48,
mzta 0:158c61bb030f 2744 49, 0, 50, 51, 0, 52, 0, 53, 54, 55,
mzta 0:158c61bb030f 2745 56, 57, 58, 59, 0, 0, 60, 0, 0, 0,
mzta 0:158c61bb030f 2746 0, 0, 0, 268, 0, 5, 6, 7, 8, 9,
mzta 0:158c61bb030f 2747 10, 11, 12, 13, 14, 0, 61, 62, 63, 0,
mzta 0:158c61bb030f 2748 0, 15, 0, 16, 17, 18, 19, 0, 0, 0,
mzta 0:158c61bb030f 2749 0, 0, 20, 21, 22, 23, 24, 25, 26, -555,
mzta 0:158c61bb030f 2750 -555, 27, 0, 0, 0, 0, 0, 28, 0, 30,
mzta 0:158c61bb030f 2751 31, 32, 0, 33, 34, 35, 36, 37, 38, 0,
mzta 0:158c61bb030f 2752 39, 40, 41, 0, 0, 42, 0, 0, 43, 44,
mzta 0:158c61bb030f 2753 0, 45, 46, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2754 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2755 0, 47, 0, 0, 269, 49, 0, 50, 51, 0,
mzta 0:158c61bb030f 2756 52, 0, 53, 54, 55, 56, 57, 58, 59, 0,
mzta 0:158c61bb030f 2757 0, 60, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2758 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2759 0, 61, 62, 63, 0, 0, 0, 0, 268, 0,
mzta 0:158c61bb030f 2760 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
mzta 0:158c61bb030f 2761 0, 0, -555, 0, -555, -555, 15, 0, 16, 17,
mzta 0:158c61bb030f 2762 18, 19, 0, 0, 0, 0, 0, 20, 21, 22,
mzta 0:158c61bb030f 2763 23, 24, 25, 26, 0, 0, 27, 0, 0, 0,
mzta 0:158c61bb030f 2764 0, 0, 28, 0, 30, 31, 32, 0, 33, 34,
mzta 0:158c61bb030f 2765 35, 36, 37, 38, 0, 39, 40, 41, 0, 0,
mzta 0:158c61bb030f 2766 42, 0, 0, 43, 44, 0, 45, 46, 0, 0,
mzta 0:158c61bb030f 2767 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2768 0, 0, 0, 0, 0, 0, 47, 0, 0, 48,
mzta 0:158c61bb030f 2769 49, 0, 50, 51, 0, 52, 0, 53, 54, 55,
mzta 0:158c61bb030f 2770 56, 57, 58, 59, 0, 0, 60, 0, 0, 0,
mzta 0:158c61bb030f 2771 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2772 0, 0, 0, 0, 0, 0, 61, 62, 63, 0,
mzta 0:158c61bb030f 2773 0, 0, 0, 268, 0, 5, 6, 7, 8, 9,
mzta 0:158c61bb030f 2774 10, 11, 12, 13, 14, 0, 0, -555, 0, -555,
mzta 0:158c61bb030f 2775 -555, 15, 0, 16, 17, 18, 19, 0, 0, 0,
mzta 0:158c61bb030f 2776 0, 0, 20, 21, 22, 23, 24, 25, 26, 0,
mzta 0:158c61bb030f 2777 0, 27, 0, 0, 0, 0, 0, 28, 0, 30,
mzta 0:158c61bb030f 2778 31, 32, 0, 33, 34, 35, 36, 37, 38, 0,
mzta 0:158c61bb030f 2779 39, 40, 41, 0, 0, 42, 0, 0, 43, 44,
mzta 0:158c61bb030f 2780 0, 45, 46, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2781 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2782 0, 47, 0, 0, 48, 49, 0, 50, 51, 0,
mzta 0:158c61bb030f 2783 52, 0, 53, 54, 55, 56, 57, 58, 59, 0,
mzta 0:158c61bb030f 2784 0, 60, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2785 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2786 0, 61, 62, 63, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2787 0, 0, 0, 0, 0, 0, -555, 0, 0, 0,
mzta 0:158c61bb030f 2788 0, 0, 0, 0, -555, -555, 268, 0, 5, 6,
mzta 0:158c61bb030f 2789 7, 8, 9, 10, 11, 12, 13, 14, 0, 0,
mzta 0:158c61bb030f 2790 -555, 0, 0, 0, 15, 0, 16, 17, 18, 19,
mzta 0:158c61bb030f 2791 0, 0, 0, 0, 0, 20, 21, 22, 23, 24,
mzta 0:158c61bb030f 2792 25, 26, 0, 0, 27, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2793 28, 0, 30, 31, 32, 0, 33, 34, 35, 36,
mzta 0:158c61bb030f 2794 37, 38, 0, 39, 40, 41, 0, 0, 42, 0,
mzta 0:158c61bb030f 2795 0, 43, 44, 0, 45, 46, 0, 0, 0, 0,
mzta 0:158c61bb030f 2796 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2797 0, 0, 0, 0, 47, 0, 0, 48, 49, 0,
mzta 0:158c61bb030f 2798 50, 51, 0, 52, 0, 53, 54, 55, 56, 57,
mzta 0:158c61bb030f 2799 58, 59, 0, 0, 60, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2800 0, 0, 0, 5, 6, 7, 8, 9, 10, 11,
mzta 0:158c61bb030f 2801 12, 13, 0, 0, 61, 62, 63, 0, 0, 15,
mzta 0:158c61bb030f 2802 0, 16, 17, 18, 19, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2803 20, 21, 22, 23, 24, 25, 26, -555, -555, 106,
mzta 0:158c61bb030f 2804 0, 0, 0, 0, 0, 0, 0, 0, 31, 32,
mzta 0:158c61bb030f 2805 0, 33, 34, 35, 36, 37, 38, 238, 39, 40,
mzta 0:158c61bb030f 2806 41, 0, 0, 42, 0, 0, 43, 44, 0, 45,
mzta 0:158c61bb030f 2807 46, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2808 0, 0, 0, 0, 0, 0, 0, 0, 0, 200,
mzta 0:158c61bb030f 2809 0, 0, 111, 49, 0, 50, 51, 0, 239, 240,
mzta 0:158c61bb030f 2810 53, 54, 55, 56, 57, 58, 59, 0, 0, 60,
mzta 0:158c61bb030f 2811 0, 0, 0, 0, 0, 0, 5, 6, 7, 8,
mzta 0:158c61bb030f 2812 9, 10, 11, 12, 13, 0, 0, 0, 0, 61,
mzta 0:158c61bb030f 2813 241, 63, 15, 0, 16, 17, 18, 19, 0, 0,
mzta 0:158c61bb030f 2814 0, 0, 0, 20, 21, 22, 23, 24, 25, 26,
mzta 0:158c61bb030f 2815 0, 0, 27, 232, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2816 0, 31, 32, 0, 33, 34, 35, 36, 37, 38,
mzta 0:158c61bb030f 2817 0, 39, 40, 41, 0, 0, 42, 0, 0, 43,
mzta 0:158c61bb030f 2818 44, 0, 45, 46, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2819 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2820 0, 0, 200, 0, 0, 111, 49, 0, 50, 51,
mzta 0:158c61bb030f 2821 0, 0, 0, 53, 54, 55, 56, 57, 58, 59,
mzta 0:158c61bb030f 2822 0, 0, 60, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2823 0, 5, 6, 7, 8, 9, 10, 11, 12, 13,
mzta 0:158c61bb030f 2824 0, 0, 61, 62, 63, 0, 0, 15, 0, 16,
mzta 0:158c61bb030f 2825 17, 18, 19, 0, 0, 0, 0, 0, 20, 21,
mzta 0:158c61bb030f 2826 22, 23, 24, 25, 26, 231, 232, 27, 0, 0,
mzta 0:158c61bb030f 2827 0, 0, 0, 0, 0, 0, 31, 32, 0, 33,
mzta 0:158c61bb030f 2828 34, 35, 36, 37, 38, 0, 39, 40, 41, 0,
mzta 0:158c61bb030f 2829 0, 42, 0, 0, 43, 44, 0, 45, 46, 0,
mzta 0:158c61bb030f 2830 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2831 0, 0, 0, 0, 0, 0, 0, 200, 0, 0,
mzta 0:158c61bb030f 2832 111, 49, 0, 50, 51, 0, 0, 0, 53, 54,
mzta 0:158c61bb030f 2833 55, 56, 57, 58, 59, 0, 0, 60, 0, 0,
mzta 0:158c61bb030f 2834 0, 0, 0, 0, 5, 6, 7, 8, 9, 10,
mzta 0:158c61bb030f 2835 11, 12, 13, 14, 0, 0, 0, 61, 62, 63,
mzta 0:158c61bb030f 2836 15, 0, 16, 17, 18, 19, 0, 0, 0, 0,
mzta 0:158c61bb030f 2837 0, 20, 21, 22, 23, 24, 25, 26, 0, 0,
mzta 0:158c61bb030f 2838 27, 232, 0, 0, 0, 0, 28, 29, 30, 31,
mzta 0:158c61bb030f 2839 32, 0, 33, 34, 35, 36, 37, 38, 0, 39,
mzta 0:158c61bb030f 2840 40, 41, 0, 0, 42, 0, 0, 43, 44, 0,
mzta 0:158c61bb030f 2841 45, 46, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2842 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2843 47, 0, 0, 48, 49, 0, 50, 51, 0, 52,
mzta 0:158c61bb030f 2844 0, 53, 54, 55, 56, 57, 58, 59, 0, 0,
mzta 0:158c61bb030f 2845 60, 0, 0, 0, 0, 0, 0, 0, 5, 6,
mzta 0:158c61bb030f 2846 7, 8, 9, 10, 11, 12, 13, 14, 0, 0,
mzta 0:158c61bb030f 2847 61, 62, 63, 0, 15, 0, 16, 17, 18, 19,
mzta 0:158c61bb030f 2848 0, 0, 0, 0, 0, 20, 21, 22, 23, 24,
mzta 0:158c61bb030f 2849 25, 26, 0, 420, 27, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2850 28, 0, 30, 31, 32, 0, 33, 34, 35, 36,
mzta 0:158c61bb030f 2851 37, 38, 0, 39, 40, 41, 0, 0, 42, 0,
mzta 0:158c61bb030f 2852 0, 43, 44, 0, 45, 46, 0, 0, 0, 0,
mzta 0:158c61bb030f 2853 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2854 0, 0, 0, 0, 47, 0, 0, 48, 49, 0,
mzta 0:158c61bb030f 2855 50, 51, 0, 52, 0, 53, 54, 55, 56, 57,
mzta 0:158c61bb030f 2856 58, 59, 0, 0, 60, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2857 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2858 0, 0, 0, 0, 61, 62, 63, 0, 0, 0,
mzta 0:158c61bb030f 2859 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2860 0, 0, 0, 0, 0, 0, 0, 420, 121, 122,
mzta 0:158c61bb030f 2861 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
mzta 0:158c61bb030f 2862 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
mzta 0:158c61bb030f 2863 143, 144, 0, 0, 0, 145, 146, 147, 148, 149,
mzta 0:158c61bb030f 2864 150, 151, 152, 153, 154, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2865 155, 156, 157, 158, 159, 160, 161, 162, 35, 36,
mzta 0:158c61bb030f 2866 163, 38, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2867 0, 0, 0, 0, 164, 165, 166, 167, 168, 169,
mzta 0:158c61bb030f 2868 170, 171, 172, 0, 0, 173, 174, 0, 0, 175,
mzta 0:158c61bb030f 2869 176, 177, 178, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2870 0, 0, 0, 179, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2871 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2872 0, 0, 0, 0, 180, 181, 182, 183, 184, 185,
mzta 0:158c61bb030f 2873 186, 187, 188, 189, 0, 190, 191, 0, 0, -528,
mzta 0:158c61bb030f 2874 -528, -528, -528, -528, -528, -528, -528, -528, 0, 0,
mzta 0:158c61bb030f 2875 0, 0, 0, 192, 193, -528, 0, -528, -528, -528,
mzta 0:158c61bb030f 2876 -528, 0, -528, 0, 0, 0, -528, -528, -528, -528,
mzta 0:158c61bb030f 2877 -528, -528, -528, 0, 0, -528, 0, 0, 0, 0,
mzta 0:158c61bb030f 2878 0, 0, 0, 0, -528, -528, 0, -528, -528, -528,
mzta 0:158c61bb030f 2879 -528, -528, -528, -528, -528, -528, -528, 0, 0, -528,
mzta 0:158c61bb030f 2880 0, 0, -528, -528, 0, -528, -528, 0, 0, 0,
mzta 0:158c61bb030f 2881 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2882 0, 0, 0, 0, 0, -528, 0, 0, -528, -528,
mzta 0:158c61bb030f 2883 0, -528, -528, 0, -528, -528, -528, -528, -528, -528,
mzta 0:158c61bb030f 2884 -528, -528, -528, 0, 0, -528, 0, 0, 0, 0,
mzta 0:158c61bb030f 2885 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2886 0, 0, 0, 0, 0, -528, -528, -528, -529, -529,
mzta 0:158c61bb030f 2887 -529, -529, -529, -529, -529, -529, -529, 0, 0, -528,
mzta 0:158c61bb030f 2888 0, 0, 0, 0, -529, -528, -529, -529, -529, -529,
mzta 0:158c61bb030f 2889 0, -529, 0, 0, 0, -529, -529, -529, -529, -529,
mzta 0:158c61bb030f 2890 -529, -529, 0, 0, -529, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2891 0, 0, 0, -529, -529, 0, -529, -529, -529, -529,
mzta 0:158c61bb030f 2892 -529, -529, -529, -529, -529, -529, 0, 0, -529, 0,
mzta 0:158c61bb030f 2893 0, -529, -529, 0, -529, -529, 0, 0, 0, 0,
mzta 0:158c61bb030f 2894 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2895 0, 0, 0, 0, -529, 0, 0, -529, -529, 0,
mzta 0:158c61bb030f 2896 -529, -529, 0, -529, -529, -529, -529, -529, -529, -529,
mzta 0:158c61bb030f 2897 -529, -529, 0, 0, -529, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2898 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2899 0, 0, 0, 0, -529, -529, -529, -531, -531, -531,
mzta 0:158c61bb030f 2900 -531, -531, -531, -531, -531, -531, 0, 0, -529, 0,
mzta 0:158c61bb030f 2901 0, 0, 0, -531, -529, -531, -531, -531, -531, 0,
mzta 0:158c61bb030f 2902 0, 0, 0, 0, -531, -531, -531, -531, -531, -531,
mzta 0:158c61bb030f 2903 -531, 0, 0, -531, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2904 0, 0, -531, -531, 0, -531, -531, -531, -531, -531,
mzta 0:158c61bb030f 2905 -531, -531, -531, -531, -531, 0, 0, -531, 0, 0,
mzta 0:158c61bb030f 2906 -531, -531, 0, -531, -531, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2907 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2908 0, 0, 0, -531, 741, 0, -531, -531, 0, -531,
mzta 0:158c61bb030f 2909 -531, 0, -531, -531, -531, -531, -531, -531, -531, -531,
mzta 0:158c61bb030f 2910 -531, 0, 0, -531, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2911 -97, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2912 0, 0, 0, -531, -531, -531, -533, -533, -533, -533,
mzta 0:158c61bb030f 2913 -533, -533, -533, -533, -533, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2914 0, 0, -533, -531, -533, -533, -533, -533, 0, 0,
mzta 0:158c61bb030f 2915 0, 0, 0, -533, -533, -533, -533, -533, -533, -533,
mzta 0:158c61bb030f 2916 0, 0, -533, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2917 0, -533, -533, 0, -533, -533, -533, -533, -533, -533,
mzta 0:158c61bb030f 2918 -533, -533, -533, -533, 0, 0, -533, 0, 0, -533,
mzta 0:158c61bb030f 2919 -533, 0, -533, -533, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2920 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2921 0, 0, -533, 0, 0, -533, -533, 0, -533, -533,
mzta 0:158c61bb030f 2922 0, -533, -533, -533, -533, -533, -533, -533, -533, -533,
mzta 0:158c61bb030f 2923 0, 0, -533, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2924 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2925 0, 0, -533, -533, -533, -534, -534, -534, -534, -534,
mzta 0:158c61bb030f 2926 -534, -534, -534, -534, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2927 0, -534, -533, -534, -534, -534, -534, 0, 0, 0,
mzta 0:158c61bb030f 2928 0, 0, -534, -534, -534, -534, -534, -534, -534, 0,
mzta 0:158c61bb030f 2929 0, -534, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2930 -534, -534, 0, -534, -534, -534, -534, -534, -534, -534,
mzta 0:158c61bb030f 2931 -534, -534, -534, 0, 0, -534, 0, 0, -534, -534,
mzta 0:158c61bb030f 2932 0, -534, -534, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2933 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2934 0, -534, 0, 0, -534, -534, 0, -534, -534, 0,
mzta 0:158c61bb030f 2935 -534, -534, -534, -534, -534, -534, -534, -534, -534, 0,
mzta 0:158c61bb030f 2936 0, -534, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2937 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2938 0, -534, -534, -534, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2939 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2940 0, -534, 121, 122, 123, 124, 125, 126, 127, 128,
mzta 0:158c61bb030f 2941 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
mzta 0:158c61bb030f 2942 139, 140, 141, 142, 143, 144, 0, 0, 0, 145,
mzta 0:158c61bb030f 2943 146, 147, 218, 219, 220, 221, 152, 153, 154, 0,
mzta 0:158c61bb030f 2944 0, 0, 0, 0, 155, 156, 157, 222, 223, 160,
mzta 0:158c61bb030f 2945 224, 162, 293, 294, 225, 295, 0, 0, 0, 0,
mzta 0:158c61bb030f 2946 0, 0, 296, 0, 0, 0, 0, 0, 164, 165,
mzta 0:158c61bb030f 2947 166, 167, 168, 169, 170, 171, 172, 0, 0, 173,
mzta 0:158c61bb030f 2948 174, 0, 0, 175, 176, 177, 178, 0, 0, 0,
mzta 0:158c61bb030f 2949 0, 0, 0, 0, 0, 0, 0, 179, 0, 0,
mzta 0:158c61bb030f 2950 0, 0, 0, 0, 297, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2951 0, 0, 0, 0, 0, 0, 0, 0, 180, 181,
mzta 0:158c61bb030f 2952 182, 183, 184, 185, 186, 187, 188, 189, 0, 190,
mzta 0:158c61bb030f 2953 191, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2954 0, 0, 0, 0, 0, 0, 0, 192, 121, 122,
mzta 0:158c61bb030f 2955 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
mzta 0:158c61bb030f 2956 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
mzta 0:158c61bb030f 2957 143, 144, 0, 0, 0, 145, 146, 147, 218, 219,
mzta 0:158c61bb030f 2958 220, 221, 152, 153, 154, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2959 155, 156, 157, 222, 223, 160, 224, 162, 293, 294,
mzta 0:158c61bb030f 2960 225, 295, 0, 0, 0, 0, 0, 0, 296, 0,
mzta 0:158c61bb030f 2961 0, 0, 0, 0, 164, 165, 166, 167, 168, 169,
mzta 0:158c61bb030f 2962 170, 171, 172, 0, 0, 173, 174, 0, 0, 175,
mzta 0:158c61bb030f 2963 176, 177, 178, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2964 0, 0, 0, 179, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2965 414, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2966 0, 0, 0, 0, 180, 181, 182, 183, 184, 185,
mzta 0:158c61bb030f 2967 186, 187, 188, 189, 0, 190, 191, 0, 0, 0,
mzta 0:158c61bb030f 2968 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2969 0, 0, 0, 192, 121, 122, 123, 124, 125, 126,
mzta 0:158c61bb030f 2970 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
mzta 0:158c61bb030f 2971 137, 138, 139, 140, 141, 142, 143, 144, 0, 0,
mzta 0:158c61bb030f 2972 0, 145, 146, 147, 218, 219, 220, 221, 152, 153,
mzta 0:158c61bb030f 2973 154, 0, 0, 0, 0, 0, 155, 156, 157, 222,
mzta 0:158c61bb030f 2974 223, 160, 224, 162, 0, 0, 225, 0, 0, 0,
mzta 0:158c61bb030f 2975 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2976 164, 165, 166, 167, 168, 169, 170, 171, 172, 0,
mzta 0:158c61bb030f 2977 0, 173, 174, 0, 0, 175, 176, 177, 178, 0,
mzta 0:158c61bb030f 2978 0, 337, 338, 339, 340, 341, 342, 343, 0, 179,
mzta 0:158c61bb030f 2979 346, 347, 226, 0, 0, 0, 350, 351, 0, 0,
mzta 0:158c61bb030f 2980 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2981 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
mzta 0:158c61bb030f 2982 0, 190, 191, 0, 0, 0, 0, 0, 0, 353,
mzta 0:158c61bb030f 2983 354, 355, 356, 357, 358, 359, 360, 361, 362, 192,
mzta 0:158c61bb030f 2984 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
mzta 0:158c61bb030f 2985 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
mzta 0:158c61bb030f 2986 141, 142, 143, 144, 0, 0, 0, 145, 146, 147,
mzta 0:158c61bb030f 2987 218, 219, 220, 221, 152, 153, 154, 0, 0, 0,
mzta 0:158c61bb030f 2988 0, 0, 155, 156, 157, 222, 223, 160, 224, 162,
mzta 0:158c61bb030f 2989 0, 0, 225, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2990 0, 0, 0, 0, 0, 0, 164, 165, 166, 167,
mzta 0:158c61bb030f 2991 168, 169, 170, 171, 172, 0, 0, 173, 174, 0,
mzta 0:158c61bb030f 2992 0, 175, 176, 177, 178, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2993 0, 0, 0, 0, 0, 179, 0, 0, 0, 0,
mzta 0:158c61bb030f 2994 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 2995 0, 0, 0, 0, 0, 0, 180, 181, 182, 183,
mzta 0:158c61bb030f 2996 184, 185, 186, 187, 188, 189, 0, 190, 191, 0,
mzta 0:158c61bb030f 2997 5, 6, 7, 8, 9, 10, 11, 12, 13, 0,
mzta 0:158c61bb030f 2998 0, 0, 0, 0, 0, 192, 15, 0, 101, 102,
mzta 0:158c61bb030f 2999 18, 19, 0, 0, 0, 0, 0, 103, 104, 105,
mzta 0:158c61bb030f 3000 23, 24, 25, 26, 0, 0, 106, 0, 0, 0,
mzta 0:158c61bb030f 3001 0, 0, 0, 0, 0, 31, 32, 0, 33, 34,
mzta 0:158c61bb030f 3002 35, 36, 37, 38, 0, 39, 40, 41, 0, 0,
mzta 0:158c61bb030f 3003 42, 0, 0, 43, 44, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3004 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3005 0, 0, 0, 0, 0, 0, 286, 0, 0, 111,
mzta 0:158c61bb030f 3006 49, 0, 50, 51, 0, 0, 0, 53, 54, 55,
mzta 0:158c61bb030f 3007 56, 57, 58, 59, 0, 0, 60, 0, 0, 5,
mzta 0:158c61bb030f 3008 6, 7, 8, 9, 10, 11, 12, 13, 0, 0,
mzta 0:158c61bb030f 3009 0, 0, 0, 0, 0, 15, 112, 101, 102, 18,
mzta 0:158c61bb030f 3010 19, 0, 0, 0, 0, 0, 103, 104, 105, 23,
mzta 0:158c61bb030f 3011 24, 25, 26, 0, 287, 106, 0, 0, 0, 0,
mzta 0:158c61bb030f 3012 0, 0, 0, 0, 31, 32, 0, 33, 34, 35,
mzta 0:158c61bb030f 3013 36, 37, 38, 0, 39, 40, 41, 0, 0, 42,
mzta 0:158c61bb030f 3014 0, 0, 43, 44, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3015 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3016 0, 0, 0, 0, 0, 286, 0, 0, 111, 49,
mzta 0:158c61bb030f 3017 0, 50, 51, 0, 0, 0, 53, 54, 55, 56,
mzta 0:158c61bb030f 3018 57, 58, 59, 0, 0, 60, 0, 0, 5, 6,
mzta 0:158c61bb030f 3019 7, 8, 9, 10, 11, 12, 13, 0, 0, 0,
mzta 0:158c61bb030f 3020 0, 0, 0, 0, 15, 112, 101, 102, 18, 19,
mzta 0:158c61bb030f 3021 0, 0, 0, 0, 0, 103, 104, 105, 23, 24,
mzta 0:158c61bb030f 3022 25, 26, 0, 529, 106, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3023 0, 0, 0, 31, 32, 0, 33, 34, 35, 36,
mzta 0:158c61bb030f 3024 37, 38, 238, 39, 40, 41, 0, 0, 42, 0,
mzta 0:158c61bb030f 3025 0, 43, 44, 0, 45, 46, 0, 0, 0, 0,
mzta 0:158c61bb030f 3026 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3027 0, 0, 0, 0, 200, 0, 0, 111, 49, 0,
mzta 0:158c61bb030f 3028 50, 51, 0, 633, 240, 53, 54, 55, 56, 57,
mzta 0:158c61bb030f 3029 58, 59, 0, 0, 60, 499, 0, 0, 500, 501,
mzta 0:158c61bb030f 3030 0, 5, 6, 7, 8, 9, 10, 11, 12, 13,
mzta 0:158c61bb030f 3031 14, 0, 0, 0, 61, 241, 63, 15, 0, 16,
mzta 0:158c61bb030f 3032 17, 18, 19, 0, 0, 0, 0, 0, 20, 21,
mzta 0:158c61bb030f 3033 22, 23, 24, 25, 26, 0, 0, 27, 0, 0,
mzta 0:158c61bb030f 3034 0, 0, 0, 28, 29, 30, 31, 32, 0, 33,
mzta 0:158c61bb030f 3035 34, 35, 36, 37, 38, 0, 39, 40, 41, 0,
mzta 0:158c61bb030f 3036 0, 42, 0, 0, 43, 44, 0, 45, 46, 0,
mzta 0:158c61bb030f 3037 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3038 0, 0, 0, 0, 0, 0, 0, 47, 0, 0,
mzta 0:158c61bb030f 3039 48, 49, 0, 50, 51, 0, 52, 0, 53, 54,
mzta 0:158c61bb030f 3040 55, 56, 57, 58, 59, 0, 0, 60, 0, 0,
mzta 0:158c61bb030f 3041 0, 0, 0, 0, 5, 6, 7, 8, 9, 10,
mzta 0:158c61bb030f 3042 11, 12, 13, 0, 0, 0, 0, 61, 62, 63,
mzta 0:158c61bb030f 3043 15, 0, 101, 102, 18, 19, 0, 0, 0, 0,
mzta 0:158c61bb030f 3044 0, 103, 104, 105, 23, 24, 25, 26, 0, 0,
mzta 0:158c61bb030f 3045 106, 0, 0, 0, 0, 0, 0, 0, 0, 31,
mzta 0:158c61bb030f 3046 32, 0, 33, 34, 35, 36, 37, 38, 238, 39,
mzta 0:158c61bb030f 3047 40, 41, 0, 0, 42, 0, 0, 43, 44, 0,
mzta 0:158c61bb030f 3048 45, 46, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3049 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3050 200, 0, 0, 111, 49, 0, 50, 51, 0, 633,
mzta 0:158c61bb030f 3051 0, 53, 54, 55, 56, 57, 58, 59, 0, 0,
mzta 0:158c61bb030f 3052 60, 499, 0, 0, 500, 501, 0, 5, 6, 7,
mzta 0:158c61bb030f 3053 8, 9, 10, 11, 12, 13, 14, 0, 0, 0,
mzta 0:158c61bb030f 3054 61, 241, 63, 15, 0, 16, 17, 18, 19, 0,
mzta 0:158c61bb030f 3055 0, 0, 0, 0, 20, 21, 22, 23, 24, 25,
mzta 0:158c61bb030f 3056 26, 0, 0, 27, 0, 0, 0, 0, 0, 28,
mzta 0:158c61bb030f 3057 0, 30, 31, 32, 0, 33, 34, 35, 36, 37,
mzta 0:158c61bb030f 3058 38, 0, 39, 40, 41, 0, 0, 42, 0, 0,
mzta 0:158c61bb030f 3059 43, 44, 0, 45, 46, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3060 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3061 0, 0, 0, 47, 0, 0, 48, 49, 0, 50,
mzta 0:158c61bb030f 3062 51, 0, 52, 0, 53, 54, 55, 56, 57, 58,
mzta 0:158c61bb030f 3063 59, 0, 0, 60, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3064 5, 6, 7, 8, 9, 10, 11, 12, 13, 0,
mzta 0:158c61bb030f 3065 0, 0, 0, 61, 62, 63, 15, 0, 101, 102,
mzta 0:158c61bb030f 3066 18, 19, 0, 0, 0, 0, 0, 103, 104, 105,
mzta 0:158c61bb030f 3067 23, 24, 25, 26, 0, 0, 106, 0, 0, 0,
mzta 0:158c61bb030f 3068 0, 0, 0, 0, 0, 31, 32, 0, 33, 34,
mzta 0:158c61bb030f 3069 35, 36, 37, 38, 0, 39, 40, 41, 0, 0,
mzta 0:158c61bb030f 3070 42, 0, 0, 43, 44, 0, 45, 46, 0, 0,
mzta 0:158c61bb030f 3071 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3072 0, 0, 0, 0, 0, 0, 200, 0, 0, 111,
mzta 0:158c61bb030f 3073 49, 0, 50, 51, 0, 756, 0, 53, 54, 55,
mzta 0:158c61bb030f 3074 56, 57, 58, 59, 0, 0, 60, 499, 0, 0,
mzta 0:158c61bb030f 3075 500, 501, 0, 5, 6, 7, 8, 9, 10, 11,
mzta 0:158c61bb030f 3076 12, 13, 0, 0, 0, 0, 61, 241, 63, 15,
mzta 0:158c61bb030f 3077 0, 101, 102, 18, 19, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3078 103, 104, 105, 23, 24, 25, 26, 0, 0, 106,
mzta 0:158c61bb030f 3079 0, 0, 0, 0, 0, 0, 0, 0, 31, 32,
mzta 0:158c61bb030f 3080 0, 33, 34, 35, 36, 37, 38, 0, 39, 40,
mzta 0:158c61bb030f 3081 41, 0, 0, 42, 0, 0, 43, 44, 0, 45,
mzta 0:158c61bb030f 3082 46, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3083 0, 0, 0, 0, 0, 0, 0, 0, 0, 200,
mzta 0:158c61bb030f 3084 0, 0, 111, 49, 0, 50, 51, 0, 792, 0,
mzta 0:158c61bb030f 3085 53, 54, 55, 56, 57, 58, 59, 0, 0, 60,
mzta 0:158c61bb030f 3086 499, 0, 0, 500, 501, 0, 5, 6, 7, 8,
mzta 0:158c61bb030f 3087 9, 10, 11, 12, 13, 0, 0, 0, 0, 61,
mzta 0:158c61bb030f 3088 241, 63, 15, 0, 101, 102, 18, 19, 0, 0,
mzta 0:158c61bb030f 3089 0, 0, 0, 103, 104, 105, 23, 24, 25, 26,
mzta 0:158c61bb030f 3090 0, 0, 106, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3091 0, 31, 32, 0, 33, 34, 35, 36, 37, 38,
mzta 0:158c61bb030f 3092 0, 39, 40, 41, 0, 0, 42, 0, 0, 43,
mzta 0:158c61bb030f 3093 44, 0, 45, 46, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3094 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3095 0, 0, 200, 0, 0, 111, 49, 0, 50, 51,
mzta 0:158c61bb030f 3096 0, 633, 0, 53, 54, 55, 56, 57, 58, 59,
mzta 0:158c61bb030f 3097 0, 0, 60, 499, 0, 0, 500, 501, 0, 5,
mzta 0:158c61bb030f 3098 6, 7, 8, 9, 10, 11, 12, 13, 0, 0,
mzta 0:158c61bb030f 3099 0, 0, 61, 241, 63, 15, 0, 16, 17, 18,
mzta 0:158c61bb030f 3100 19, 0, 0, 0, 0, 0, 20, 21, 22, 23,
mzta 0:158c61bb030f 3101 24, 25, 26, 0, 0, 106, 0, 0, 0, 0,
mzta 0:158c61bb030f 3102 0, 0, 0, 0, 31, 32, 0, 33, 34, 35,
mzta 0:158c61bb030f 3103 36, 37, 38, 238, 39, 40, 41, 0, 0, 42,
mzta 0:158c61bb030f 3104 0, 0, 43, 44, 0, 45, 46, 0, 0, 0,
mzta 0:158c61bb030f 3105 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3106 0, 0, 0, 0, 0, 200, 0, 0, 111, 49,
mzta 0:158c61bb030f 3107 0, 50, 51, 0, 239, 240, 53, 54, 55, 56,
mzta 0:158c61bb030f 3108 57, 58, 59, 0, 0, 60, 0, 0, 0, 0,
mzta 0:158c61bb030f 3109 0, 0, 5, 6, 7, 8, 9, 10, 11, 12,
mzta 0:158c61bb030f 3110 13, 0, 0, 0, 0, 61, 241, 63, 15, 0,
mzta 0:158c61bb030f 3111 101, 102, 18, 19, 0, 0, 0, 0, 0, 103,
mzta 0:158c61bb030f 3112 104, 105, 23, 24, 25, 26, 0, 0, 106, 0,
mzta 0:158c61bb030f 3113 0, 0, 0, 0, 0, 0, 0, 31, 32, 0,
mzta 0:158c61bb030f 3114 33, 34, 35, 36, 37, 38, 238, 39, 40, 41,
mzta 0:158c61bb030f 3115 0, 0, 42, 0, 0, 43, 44, 0, 45, 46,
mzta 0:158c61bb030f 3116 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3117 0, 0, 0, 0, 0, 0, 0, 0, 200, 0,
mzta 0:158c61bb030f 3118 0, 111, 49, 0, 50, 51, 0, 239, 0, 53,
mzta 0:158c61bb030f 3119 54, 55, 56, 57, 58, 59, 0, 0, 60, 0,
mzta 0:158c61bb030f 3120 0, 0, 0, 0, 0, 5, 6, 7, 8, 9,
mzta 0:158c61bb030f 3121 10, 11, 12, 13, 0, 0, 0, 0, 61, 241,
mzta 0:158c61bb030f 3122 63, 15, 0, 101, 102, 18, 19, 0, 0, 0,
mzta 0:158c61bb030f 3123 0, 0, 103, 104, 105, 23, 24, 25, 26, 0,
mzta 0:158c61bb030f 3124 0, 106, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3125 31, 32, 0, 33, 34, 35, 36, 37, 38, 238,
mzta 0:158c61bb030f 3126 39, 40, 41, 0, 0, 42, 0, 0, 43, 44,
mzta 0:158c61bb030f 3127 0, 45, 46, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3128 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3129 0, 200, 0, 0, 111, 49, 0, 50, 51, 0,
mzta 0:158c61bb030f 3130 0, 240, 53, 54, 55, 56, 57, 58, 59, 0,
mzta 0:158c61bb030f 3131 0, 60, 0, 0, 0, 0, 0, 0, 5, 6,
mzta 0:158c61bb030f 3132 7, 8, 9, 10, 11, 12, 13, 0, 0, 0,
mzta 0:158c61bb030f 3133 0, 61, 241, 63, 15, 0, 101, 102, 18, 19,
mzta 0:158c61bb030f 3134 0, 0, 0, 0, 0, 103, 104, 105, 23, 24,
mzta 0:158c61bb030f 3135 25, 26, 0, 0, 106, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3136 0, 0, 0, 31, 32, 0, 33, 34, 35, 36,
mzta 0:158c61bb030f 3137 37, 38, 238, 39, 40, 41, 0, 0, 42, 0,
mzta 0:158c61bb030f 3138 0, 43, 44, 0, 45, 46, 0, 0, 0, 0,
mzta 0:158c61bb030f 3139 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3140 0, 0, 0, 0, 200, 0, 0, 111, 49, 0,
mzta 0:158c61bb030f 3141 50, 51, 0, 0, 0, 53, 54, 55, 56, 57,
mzta 0:158c61bb030f 3142 58, 59, 0, 0, 60, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3143 0, 5, 6, 7, 8, 9, 10, 11, 12, 13,
mzta 0:158c61bb030f 3144 0, 0, 0, 0, 61, 241, 63, 15, 0, 16,
mzta 0:158c61bb030f 3145 17, 18, 19, 0, 0, 0, 0, 0, 20, 21,
mzta 0:158c61bb030f 3146 22, 23, 24, 25, 26, 0, 0, 106, 0, 0,
mzta 0:158c61bb030f 3147 0, 0, 0, 0, 0, 0, 31, 32, 0, 33,
mzta 0:158c61bb030f 3148 34, 35, 36, 37, 38, 0, 39, 40, 41, 0,
mzta 0:158c61bb030f 3149 0, 42, 0, 0, 43, 44, 0, 45, 46, 0,
mzta 0:158c61bb030f 3150 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3151 0, 0, 0, 0, 0, 0, 0, 200, 0, 0,
mzta 0:158c61bb030f 3152 111, 49, 0, 50, 51, 0, 523, 0, 53, 54,
mzta 0:158c61bb030f 3153 55, 56, 57, 58, 59, 0, 0, 60, 0, 0,
mzta 0:158c61bb030f 3154 0, 0, 0, 0, 5, 6, 7, 8, 9, 10,
mzta 0:158c61bb030f 3155 11, 12, 13, 0, 0, 0, 0, 61, 241, 63,
mzta 0:158c61bb030f 3156 15, 0, 101, 102, 18, 19, 0, 0, 0, 0,
mzta 0:158c61bb030f 3157 0, 103, 104, 105, 23, 24, 25, 26, 0, 0,
mzta 0:158c61bb030f 3158 106, 0, 0, 0, 0, 0, 0, 0, 0, 31,
mzta 0:158c61bb030f 3159 32, 0, 33, 34, 35, 36, 37, 38, 0, 39,
mzta 0:158c61bb030f 3160 40, 41, 0, 0, 42, 0, 0, 43, 44, 0,
mzta 0:158c61bb030f 3161 45, 46, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3162 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3163 200, 0, 0, 111, 49, 0, 50, 51, 0, 239,
mzta 0:158c61bb030f 3164 0, 53, 54, 55, 56, 57, 58, 59, 0, 0,
mzta 0:158c61bb030f 3165 60, 0, 0, 0, 0, 0, 0, 5, 6, 7,
mzta 0:158c61bb030f 3166 8, 9, 10, 11, 12, 13, 0, 0, 0, 0,
mzta 0:158c61bb030f 3167 61, 241, 63, 15, 0, 101, 102, 18, 19, 0,
mzta 0:158c61bb030f 3168 0, 0, 0, 0, 103, 104, 105, 23, 24, 25,
mzta 0:158c61bb030f 3169 26, 0, 0, 106, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3170 0, 0, 31, 32, 0, 33, 34, 35, 36, 37,
mzta 0:158c61bb030f 3171 38, 0, 39, 40, 41, 0, 0, 42, 0, 0,
mzta 0:158c61bb030f 3172 43, 44, 0, 45, 46, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3173 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3174 0, 0, 0, 200, 0, 0, 111, 49, 0, 50,
mzta 0:158c61bb030f 3175 51, 0, 523, 0, 53, 54, 55, 56, 57, 58,
mzta 0:158c61bb030f 3176 59, 0, 0, 60, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3177 5, 6, 7, 8, 9, 10, 11, 12, 13, 0,
mzta 0:158c61bb030f 3178 0, 0, 0, 61, 241, 63, 15, 0, 16, 17,
mzta 0:158c61bb030f 3179 18, 19, 0, 0, 0, 0, 0, 20, 21, 22,
mzta 0:158c61bb030f 3180 23, 24, 25, 26, 0, 0, 27, 0, 0, 0,
mzta 0:158c61bb030f 3181 0, 0, 0, 0, 0, 31, 32, 0, 33, 34,
mzta 0:158c61bb030f 3182 35, 36, 37, 38, 0, 39, 40, 41, 0, 0,
mzta 0:158c61bb030f 3183 42, 0, 0, 43, 44, 0, 45, 46, 0, 0,
mzta 0:158c61bb030f 3184 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3185 0, 0, 0, 0, 0, 0, 200, 0, 0, 111,
mzta 0:158c61bb030f 3186 49, 0, 50, 51, 0, 0, 0, 53, 54, 55,
mzta 0:158c61bb030f 3187 56, 57, 58, 59, 0, 0, 60, 0, 0, 0,
mzta 0:158c61bb030f 3188 0, 0, 0, 5, 6, 7, 8, 9, 10, 11,
mzta 0:158c61bb030f 3189 12, 13, 0, 0, 0, 0, 61, 62, 63, 15,
mzta 0:158c61bb030f 3190 0, 101, 102, 18, 19, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3191 103, 104, 105, 23, 24, 25, 26, 0, 0, 106,
mzta 0:158c61bb030f 3192 0, 0, 0, 0, 0, 0, 0, 0, 31, 32,
mzta 0:158c61bb030f 3193 0, 33, 34, 35, 36, 37, 38, 0, 39, 40,
mzta 0:158c61bb030f 3194 41, 0, 0, 42, 0, 0, 43, 44, 0, 45,
mzta 0:158c61bb030f 3195 46, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3196 0, 0, 0, 0, 0, 0, 0, 0, 0, 200,
mzta 0:158c61bb030f 3197 0, 0, 111, 49, 0, 50, 51, 0, 0, 0,
mzta 0:158c61bb030f 3198 53, 54, 55, 56, 57, 58, 59, 0, 0, 60,
mzta 0:158c61bb030f 3199 0, 0, 0, 0, 0, 0, 5, 6, 7, 8,
mzta 0:158c61bb030f 3200 9, 10, 11, 12, 13, 0, 0, 0, 0, 61,
mzta 0:158c61bb030f 3201 241, 63, 15, 0, 16, 17, 18, 19, 0, 0,
mzta 0:158c61bb030f 3202 0, 0, 0, 20, 21, 22, 23, 24, 25, 26,
mzta 0:158c61bb030f 3203 0, 0, 106, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3204 0, 31, 32, 0, 33, 34, 35, 36, 37, 38,
mzta 0:158c61bb030f 3205 0, 39, 40, 41, 0, 0, 42, 0, 0, 43,
mzta 0:158c61bb030f 3206 44, 0, 45, 46, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3207 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3208 0, 0, 200, 0, 0, 111, 49, 0, 50, 51,
mzta 0:158c61bb030f 3209 0, 0, 0, 53, 54, 55, 56, 57, 58, 59,
mzta 0:158c61bb030f 3210 0, 0, 60, 0, 0, 0, 0, 0, 0, 5,
mzta 0:158c61bb030f 3211 6, 7, 8, 9, 10, 11, 12, 13, 0, 0,
mzta 0:158c61bb030f 3212 0, 0, 61, 241, 63, 15, 0, 101, 102, 18,
mzta 0:158c61bb030f 3213 19, 0, 0, 0, 0, 0, 103, 104, 105, 23,
mzta 0:158c61bb030f 3214 24, 25, 26, 0, 0, 106, 0, 0, 0, 0,
mzta 0:158c61bb030f 3215 0, 0, 0, 0, 31, 32, 0, 107, 34, 35,
mzta 0:158c61bb030f 3216 36, 108, 38, 0, 39, 40, 41, 0, 0, 42,
mzta 0:158c61bb030f 3217 0, 0, 43, 44, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3218 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3219 0, 0, 109, 0, 0, 110, 0, 0, 111, 49,
mzta 0:158c61bb030f 3220 0, 50, 51, 0, 0, 0, 53, 54, 55, 56,
mzta 0:158c61bb030f 3221 57, 58, 59, 0, 0, 60, 0, 0, 5, 6,
mzta 0:158c61bb030f 3222 7, 8, 9, 10, 11, 12, 13, 0, 0, 0,
mzta 0:158c61bb030f 3223 0, 0, 0, 0, 15, 112, 101, 102, 18, 19,
mzta 0:158c61bb030f 3224 0, 0, 0, 0, 0, 103, 104, 105, 23, 24,
mzta 0:158c61bb030f 3225 25, 26, 0, 0, 106, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3226 0, 0, 0, 31, 32, 0, 33, 34, 35, 36,
mzta 0:158c61bb030f 3227 37, 38, 0, 39, 40, 41, 0, 0, 42, 0,
mzta 0:158c61bb030f 3228 0, 43, 44, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3229 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3230 0, 0, 0, 0, 211, 0, 0, 48, 49, 0,
mzta 0:158c61bb030f 3231 50, 51, 0, 52, 0, 53, 54, 55, 56, 57,
mzta 0:158c61bb030f 3232 58, 59, 0, 0, 60, 0, 0, 5, 6, 7,
mzta 0:158c61bb030f 3233 8, 9, 10, 11, 12, 13, 0, 0, 0, 0,
mzta 0:158c61bb030f 3234 0, 0, 0, 15, 112, 101, 102, 18, 19, 0,
mzta 0:158c61bb030f 3235 0, 0, 0, 0, 103, 104, 105, 23, 24, 25,
mzta 0:158c61bb030f 3236 26, 0, 0, 106, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3237 0, 0, 31, 32, 0, 33, 34, 35, 36, 37,
mzta 0:158c61bb030f 3238 38, 0, 39, 40, 41, 0, 0, 42, 0, 0,
mzta 0:158c61bb030f 3239 43, 44, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3240 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3241 0, 0, 0, 286, 0, 0, 333, 49, 0, 50,
mzta 0:158c61bb030f 3242 51, 0, 334, 0, 53, 54, 55, 56, 57, 58,
mzta 0:158c61bb030f 3243 59, 0, 0, 60, 0, 0, 5, 6, 7, 8,
mzta 0:158c61bb030f 3244 9, 10, 11, 12, 13, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3245 0, 0, 15, 112, 101, 102, 18, 19, 0, 0,
mzta 0:158c61bb030f 3246 0, 0, 0, 103, 104, 105, 23, 24, 25, 26,
mzta 0:158c61bb030f 3247 0, 0, 106, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3248 0, 31, 32, 0, 107, 34, 35, 36, 108, 38,
mzta 0:158c61bb030f 3249 0, 39, 40, 41, 0, 0, 42, 0, 0, 43,
mzta 0:158c61bb030f 3250 44, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3251 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3252 0, 0, 110, 0, 0, 111, 49, 0, 50, 51,
mzta 0:158c61bb030f 3253 0, 0, 0, 53, 54, 55, 56, 57, 58, 59,
mzta 0:158c61bb030f 3254 0, 0, 60, 0, 0, 5, 6, 7, 8, 9,
mzta 0:158c61bb030f 3255 10, 11, 12, 13, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3256 0, 15, 112, 101, 102, 18, 19, 0, 0, 0,
mzta 0:158c61bb030f 3257 0, 0, 103, 104, 105, 23, 24, 25, 26, 0,
mzta 0:158c61bb030f 3258 0, 106, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3259 31, 32, 0, 33, 34, 35, 36, 37, 38, 0,
mzta 0:158c61bb030f 3260 39, 40, 41, 0, 0, 42, 0, 0, 43, 44,
mzta 0:158c61bb030f 3261 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3262 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3263 0, 286, 0, 0, 333, 49, 0, 50, 51, 0,
mzta 0:158c61bb030f 3264 0, 0, 53, 54, 55, 56, 57, 58, 59, 0,
mzta 0:158c61bb030f 3265 0, 60, 0, 0, 5, 6, 7, 8, 9, 10,
mzta 0:158c61bb030f 3266 11, 12, 13, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3267 15, 112, 101, 102, 18, 19, 0, 0, 0, 0,
mzta 0:158c61bb030f 3268 0, 103, 104, 105, 23, 24, 25, 26, 0, 0,
mzta 0:158c61bb030f 3269 106, 0, 0, 0, 0, 0, 0, 0, 0, 31,
mzta 0:158c61bb030f 3270 32, 0, 33, 34, 35, 36, 37, 38, 0, 39,
mzta 0:158c61bb030f 3271 40, 41, 0, 0, 42, 0, 0, 43, 44, 0,
mzta 0:158c61bb030f 3272 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3273 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3274 863, 0, 0, 111, 49, 0, 50, 51, 0, 0,
mzta 0:158c61bb030f 3275 0, 53, 54, 55, 56, 57, 58, 59, 0, 0,
mzta 0:158c61bb030f 3276 60, 0, 0, 5, 6, 7, 8, 9, 10, 11,
mzta 0:158c61bb030f 3277 12, 13, 0, 0, 0, 0, 0, 0, 0, 15,
mzta 0:158c61bb030f 3278 112, 101, 102, 18, 19, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3279 103, 104, 105, 23, 24, 25, 26, 0, 0, 106,
mzta 0:158c61bb030f 3280 0, 0, 0, 0, 0, 0, 0, 0, 31, 32,
mzta 0:158c61bb030f 3281 0, 33, 34, 35, 36, 37, 38, 0, 39, 40,
mzta 0:158c61bb030f 3282 41, 0, 0, 42, 0, 0, 43, 44, 0, 337,
mzta 0:158c61bb030f 3283 338, 339, 340, 341, 342, 343, 344, 345, 346, 347,
mzta 0:158c61bb030f 3284 -556, -556, 0, 0, 350, 351, 0, 0, 0, 881,
mzta 0:158c61bb030f 3285 0, 0, 111, 49, 0, 50, 51, 0, 0, 0,
mzta 0:158c61bb030f 3286 53, 54, 55, 56, 57, 58, 59, 0, 0, 60,
mzta 0:158c61bb030f 3287 0, 0, 572, 573, 0, 0, 574, 353, 354, 355,
mzta 0:158c61bb030f 3288 356, 357, 358, 359, 360, 361, 362, 0, 0, 112,
mzta 0:158c61bb030f 3289 164, 165, 166, 167, 168, 169, 170, 171, 172, 0,
mzta 0:158c61bb030f 3290 0, 173, 174, 0, 0, 175, 176, 177, 178, 0,
mzta 0:158c61bb030f 3291 0, 0, 0, 0, 0, 0, 0, 0, 0, 179,
mzta 0:158c61bb030f 3292 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3293 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3294 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
mzta 0:158c61bb030f 3295 0, 190, 191, 593, 565, 0, 0, 594, 0, 0,
mzta 0:158c61bb030f 3296 0, 0, 0, 0, 0, 0, 0, 0, 0, 192,
mzta 0:158c61bb030f 3297 255, 164, 165, 166, 167, 168, 169, 170, 171, 172,
mzta 0:158c61bb030f 3298 0, 0, 173, 174, 0, 0, 175, 176, 177, 178,
mzta 0:158c61bb030f 3299 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3300 179, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3301 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3302 0, 180, 181, 182, 183, 184, 185, 186, 187, 188,
mzta 0:158c61bb030f 3303 189, 0, 190, 191, 578, 573, 0, 0, 579, 0,
mzta 0:158c61bb030f 3304 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3305 192, 255, 164, 165, 166, 167, 168, 169, 170, 171,
mzta 0:158c61bb030f 3306 172, 0, 0, 173, 174, 0, 0, 175, 176, 177,
mzta 0:158c61bb030f 3307 178, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3308 0, 179, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3309 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3310 0, 0, 180, 181, 182, 183, 184, 185, 186, 187,
mzta 0:158c61bb030f 3311 188, 189, 0, 190, 191, 610, 565, 0, 0, 611,
mzta 0:158c61bb030f 3312 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3313 0, 192, 255, 164, 165, 166, 167, 168, 169, 170,
mzta 0:158c61bb030f 3314 171, 172, 0, 0, 173, 174, 0, 0, 175, 176,
mzta 0:158c61bb030f 3315 177, 178, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3316 0, 0, 179, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3317 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3318 0, 0, 0, 180, 181, 182, 183, 184, 185, 186,
mzta 0:158c61bb030f 3319 187, 188, 189, 0, 190, 191, 613, 573, 0, 0,
mzta 0:158c61bb030f 3320 614, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3321 0, 0, 192, 255, 164, 165, 166, 167, 168, 169,
mzta 0:158c61bb030f 3322 170, 171, 172, 0, 0, 173, 174, 0, 0, 175,
mzta 0:158c61bb030f 3323 176, 177, 178, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3324 0, 0, 0, 179, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3325 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3326 0, 0, 0, 0, 180, 181, 182, 183, 184, 185,
mzta 0:158c61bb030f 3327 186, 187, 188, 189, 0, 190, 191, 620, 565, 0,
mzta 0:158c61bb030f 3328 0, 621, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3329 0, 0, 0, 192, 255, 164, 165, 166, 167, 168,
mzta 0:158c61bb030f 3330 169, 170, 171, 172, 0, 0, 173, 174, 0, 0,
mzta 0:158c61bb030f 3331 175, 176, 177, 178, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3332 0, 0, 0, 0, 179, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3333 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3334 0, 0, 0, 0, 0, 180, 181, 182, 183, 184,
mzta 0:158c61bb030f 3335 185, 186, 187, 188, 189, 0, 190, 191, 623, 573,
mzta 0:158c61bb030f 3336 0, 0, 624, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3337 0, 0, 0, 0, 192, 255, 164, 165, 166, 167,
mzta 0:158c61bb030f 3338 168, 169, 170, 171, 172, 0, 0, 173, 174, 0,
mzta 0:158c61bb030f 3339 0, 175, 176, 177, 178, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3340 0, 0, 0, 0, 0, 179, 0, 0, 0, 0,
mzta 0:158c61bb030f 3341 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3342 0, 0, 0, 0, 0, 0, 180, 181, 182, 183,
mzta 0:158c61bb030f 3343 184, 185, 186, 187, 188, 189, 0, 190, 191, 655,
mzta 0:158c61bb030f 3344 565, 0, 0, 656, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3345 0, 0, 0, 0, 0, 192, 255, 164, 165, 166,
mzta 0:158c61bb030f 3346 167, 168, 169, 170, 171, 172, 0, 0, 173, 174,
mzta 0:158c61bb030f 3347 0, 0, 175, 176, 177, 178, 0, 0, 0, 0,
mzta 0:158c61bb030f 3348 0, 0, 0, 0, 0, 0, 179, 0, 0, 0,
mzta 0:158c61bb030f 3349 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3350 0, 0, 0, 0, 0, 0, 0, 180, 181, 182,
mzta 0:158c61bb030f 3351 183, 184, 185, 186, 187, 188, 189, 0, 190, 191,
mzta 0:158c61bb030f 3352 658, 573, 0, 0, 659, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3353 0, 0, 0, 0, 0, 0, 192, 255, 164, 165,
mzta 0:158c61bb030f 3354 166, 167, 168, 169, 170, 171, 172, 0, 0, 173,
mzta 0:158c61bb030f 3355 174, 0, 0, 175, 176, 177, 178, 0, 0, 0,
mzta 0:158c61bb030f 3356 0, 0, 0, 0, 0, 0, 0, 179, 0, 0,
mzta 0:158c61bb030f 3357 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3358 0, 0, 0, 0, 0, 0, 0, 0, 180, 181,
mzta 0:158c61bb030f 3359 182, 183, 184, 185, 186, 187, 188, 189, 0, 190,
mzta 0:158c61bb030f 3360 191, 939, 565, 0, 0, 940, 0, 0, 0, 0,
mzta 0:158c61bb030f 3361 0, 0, 0, 0, 0, 0, 0, 192, 255, 164,
mzta 0:158c61bb030f 3362 165, 166, 167, 168, 169, 170, 171, 172, 0, 0,
mzta 0:158c61bb030f 3363 173, 174, 0, 0, 175, 176, 177, 178, 0, 0,
mzta 0:158c61bb030f 3364 0, 0, 0, 0, 0, 0, 0, 0, 179, 0,
mzta 0:158c61bb030f 3365 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3366 0, 0, 0, 0, 0, 0, 0, 0, 0, 180,
mzta 0:158c61bb030f 3367 181, 182, 183, 184, 185, 186, 187, 188, 189, 0,
mzta 0:158c61bb030f 3368 190, 191, 946, 565, 0, 0, 947, 0, 0, 0,
mzta 0:158c61bb030f 3369 0, 0, 0, 0, 0, 0, 0, 0, 192, 255,
mzta 0:158c61bb030f 3370 164, 165, 166, 167, 168, 169, 170, 171, 172, 0,
mzta 0:158c61bb030f 3371 0, 173, 174, 0, 0, 175, 176, 177, 178, 0,
mzta 0:158c61bb030f 3372 0, 0, 0, 0, 0, 0, 0, 0, 0, 179,
mzta 0:158c61bb030f 3373 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3374 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3375 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
mzta 0:158c61bb030f 3376 0, 190, 191, 949, 573, 0, 0, 950, 0, 0,
mzta 0:158c61bb030f 3377 0, 0, 0, 0, 0, 0, 0, 0, 0, 192,
mzta 0:158c61bb030f 3378 255, 164, 165, 166, 167, 168, 169, 170, 171, 172,
mzta 0:158c61bb030f 3379 0, 0, 173, 174, 0, 0, 175, 176, 177, 178,
mzta 0:158c61bb030f 3380 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3381 179, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3382 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3383 0, 180, 181, 182, 183, 184, 185, 186, 187, 188,
mzta 0:158c61bb030f 3384 189, 0, 190, 191, 578, 573, 0, 0, 579, 0,
mzta 0:158c61bb030f 3385 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3386 192, 255, 164, 165, 166, 167, 168, 169, 170, 171,
mzta 0:158c61bb030f 3387 172, 0, 0, 173, 174, 0, 0, 175, 176, 177,
mzta 0:158c61bb030f 3388 178, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3389 0, 179, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3390 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3391 0, 0, 180, 181, 182, 183, 184, 185, 186, 187,
mzta 0:158c61bb030f 3392 188, 189, 0, 190, 191, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3393 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
mzta 0:158c61bb030f 3394 0, 192
mzta 0:158c61bb030f 3395 };
mzta 0:158c61bb030f 3396
mzta 0:158c61bb030f 3397 static const yytype_int16 yycheck[] =
mzta 0:158c61bb030f 3398 {
mzta 0:158c61bb030f 3399 2, 83, 27, 16, 17, 248, 7, 20, 28, 208,
mzta 0:158c61bb030f 3400 5, 6, 292, 292, 62, 22, 417, 287, 13, 22,
mzta 0:158c61bb030f 3401 280, 76, 14, 10, 284, 258, 364, 390, 15, 48,
mzta 0:158c61bb030f 3402 425, 16, 17, 428, 15, 20, 28, 2, 408, 4,
mzta 0:158c61bb030f 3403 273, 52, 428, 336, 277, 336, 4, 691, 50, 51,
mzta 0:158c61bb030f 3404 388, 110, 605, 54, 468, 48, 363, 52, 365, 1,
mzta 0:158c61bb030f 3405 676, 368, 615, 597, 402, 50, 51, 65, 767, 65,
mzta 0:158c61bb030f 3406 26, 16, 17, 411, 460, 20, 765, 25, 612, 672,
mzta 0:158c61bb030f 3407 477, 76, 389, 16, 65, 672, 846, 27, 622, 676,
mzta 0:158c61bb030f 3408 16, 98, 111, 25, 401, 98, 403, 691, 105, 269,
mzta 0:158c61bb030f 3409 16, 581, 582, 865, 691, 412, 304, 26, 79, 29,
mzta 0:158c61bb030f 3410 116, 18, 119, 20, 90, 529, 88, 16, 17, 16,
mzta 0:158c61bb030f 3411 0, 20, 363, 657, 365, 88, 88, 368, 150, 25,
mzta 0:158c61bb030f 3412 90, 153, 470, 114, 16, 71, 706, 88, 502, 446,
mzta 0:158c61bb030f 3413 116, 147, 88, 713, 16, 55, 387, 28, 389, 88,
mzta 0:158c61bb030f 3414 121, 50, 143, 842, 55, 90, 116, 25, 147, 15,
mzta 0:158c61bb030f 3415 401, 116, 403, 333, 471, 25, 37, 38, 928, 410,
mzta 0:158c61bb030f 3416 149, 412, 25, 935, 146, 149, 25, 90, 120, 153,
mzta 0:158c61bb030f 3417 25, 116, 145, 146, 146, 88, 149, 143, 108, 783,
mzta 0:158c61bb030f 3418 126, 127, 128, 149, 437, 146, 895, 430, 468, 147,
mzta 0:158c61bb030f 3419 146, 434, 482, 482, 445, 446, 439, 146, 897, 65,
mzta 0:158c61bb030f 3420 152, 153, 152, 153, 147, 147, 449, 861, 416, 152,
mzta 0:158c61bb030f 3421 153, 865, 209, 210, 143, 226, 152, 153, 469, 592,
mzta 0:158c61bb030f 3422 471, 116, 287, 849, 149, 233, 152, 153, 927, 252,
mzta 0:158c61bb030f 3423 720, 254, 255, 146, 263, 247, 248, 642, 643, 149,
mzta 0:158c61bb030f 3424 269, 147, 233, 255, 116, 152, 153, 643, 114, 529,
mzta 0:158c61bb030f 3425 853, 88, 849, 25, 628, 662, 663, 252, 861, 254,
mzta 0:158c61bb030f 3426 152, 153, 636, 271, 861, 271, 269, 149, 865, 147,
mzta 0:158c61bb030f 3427 152, 153, 153, 331, 837, 699, 88, 147, 336, 149,
mzta 0:158c61bb030f 3428 271, 935, 287, 90, 147, 528, 149, 2, 147, 4,
mzta 0:158c61bb030f 3429 5, 6, 147, 268, 9, 10, 88, 252, 13, 254,
mzta 0:158c61bb030f 3430 15, 16, 17, 604, 333, 20, 88, 55, 145, 146,
mzta 0:158c61bb030f 3431 88, 147, 601, 334, 372, 373, 147, 153, 387, 51,
mzta 0:158c61bb030f 3432 58, 59, 153, 55, 25, 322, 323, 324, 325, 334,
mzta 0:158c61bb030f 3433 333, 26, 25, 48, 146, 20, 202, 52, 935, 152,
mzta 0:158c61bb030f 3434 153, 364, 208, 252, 116, 254, 321, 62, 365, 88,
mzta 0:158c61bb030f 3435 147, 326, 364, 321, 146, 728, 153, 600, 765, 90,
mzta 0:158c61bb030f 3436 767, 76, 147, 145, 146, 388, 26, 233, 146, 398,
mzta 0:158c61bb030f 3437 750, 152, 389, 91, 90, 147, 388, 406, 150, 402,
mzta 0:158c61bb030f 3438 147, 153, 652, 395, 637, 116, 403, 147, 411, 143,
mzta 0:158c61bb030f 3439 402, 71, 383, 88, 109, 412, 111, 700, 88, 411,
mzta 0:158c61bb030f 3440 116, 466, 691, 468, 948, 271, 145, 146, 651, 88,
mzta 0:158c61bb030f 3441 26, 153, 442, 279, 280, 116, 407, 408, 284, 699,
mzta 0:158c61bb030f 3442 150, 630, 331, 666, 436, 437, 837, 336, 88, 446,
mzta 0:158c61bb030f 3443 425, 443, 116, 90, 839, 842, 843, 727, 727, 88,
mzta 0:158c61bb030f 3444 442, 88, 815, 839, 88, 151, 147, 470, 143, 150,
mzta 0:158c61bb030f 3445 145, 146, 153, 144, 471, 145, 146, 88, 470, 116,
mzta 0:158c61bb030f 3446 55, 466, 457, 468, 529, 88, 145, 146, 443, 498,
mzta 0:158c61bb030f 3447 110, 147, 88, 113, 114, 147, 488, 452, 90, 491,
mzta 0:158c61bb030f 3448 71, 493, 71, 143, 199, 145, 146, 97, 895, 149,
mzta 0:158c61bb030f 3449 897, 15, 88, 13, 209, 210, 145, 146, 145, 146,
mzta 0:158c61bb030f 3450 88, 145, 146, 16, 116, 63, 759, 880, 15, 418,
mzta 0:158c61bb030f 3451 522, 150, 26, 147, 145, 146, 144, 383, 553, 90,
mzta 0:158c61bb030f 3452 927, 764, 145, 146, 529, 90, 147, 143, 147, 145,
mzta 0:158c61bb030f 3453 146, 116, 821, 149, 147, 147, 571, 252, 147, 254,
mzta 0:158c61bb030f 3454 255, 407, 408, 258, 259, 116, 37, 38, 263, 145,
mzta 0:158c61bb030f 3455 146, 116, 569, 268, 269, 51, 569, 145, 146, 51,
mzta 0:158c61bb030f 3456 577, 276, 597, 580, 577, 577, 147, 580, 580, 581,
mzta 0:158c61bb030f 3457 582, 147, 287, 921, 88, 818, 147, 612, 63, 596,
mzta 0:158c61bb030f 3458 110, 598, 147, 113, 114, 147, 598, 622, 58, 59,
mzta 0:158c61bb030f 3459 147, 602, 604, 605, 591, 607, 626, 51, 589, 53,
mzta 0:158c61bb030f 3460 54, 55, 56, 615, 90, 922, 321, 322, 323, 324,
mzta 0:158c61bb030f 3461 325, 326, 327, 328, 823, 116, 331, 90, 333, 334,
mzta 0:158c61bb030f 3462 829, 336, 657, 715, 626, 637, 18, 90, 625, 143,
mzta 0:158c61bb030f 3463 116, 145, 146, 668, 699, 149, 62, 15, 64, 65,
mzta 0:158c61bb030f 3464 669, 670, 700, 116, 71, 703, 704, 642, 15, 364,
mzta 0:158c61bb030f 3465 144, 709, 710, 116, 147, 684, 691, 372, 373, 147,
mzta 0:158c61bb030f 3466 911, 147, 51, 692, 53, 54, 55, 56, 144, 920,
mzta 0:158c61bb030f 3467 118, 922, 151, 388, 147, 390, 391, 62, 15, 64,
mzta 0:158c61bb030f 3468 65, 17, 18, 398, 147, 111, 112, 402, 717, 718,
mzta 0:158c61bb030f 3469 91, 406, 14, 147, 699, 604, 411, 124, 125, 126,
mzta 0:158c61bb030f 3470 127, 128, 56, 57, 58, 59, 735, 15, 720, 15,
mzta 0:158c61bb030f 3471 61, 147, 147, 64, 65, 152, 150, 15, 747, 748,
mzta 0:158c61bb030f 3472 144, 733, 147, 589, 736, 754, 111, 112, 443, 147,
mzta 0:158c61bb030f 3473 147, 722, 147, 9, 10, 144, 147, 452, 729, 15,
mzta 0:158c61bb030f 3474 121, 738, 147, 147, 15, 803, 15, 759, 783, 147,
mzta 0:158c61bb030f 3475 144, 466, 15, 468, 15, 470, 15, 147, 147, 750,
mzta 0:158c61bb030f 3476 111, 112, 774, 775, 630, 777, 121, 779, 780, 55,
mzta 0:158c61bb030f 3477 63, 64, 65, 785, 147, 144, 788, 789, 15, 147,
mzta 0:158c61bb030f 3478 15, 786, 55, 498, 61, 814, 652, 64, 65, 51,
mzta 0:158c61bb030f 3479 147, 53, 54, 55, 56, 147, 71, 826, 51, 147,
mzta 0:158c61bb030f 3480 53, 54, 55, 56, 147, 15, 147, 149, 2, 149,
mzta 0:158c61bb030f 3481 4, 86, 87, 443, 529, 9, 10, 822, 111, 112,
mzta 0:158c61bb030f 3482 13, 15, 16, 17, 6, 837, 20, 580, 924, 662,
mzta 0:158c61bb030f 3483 92, 928, 716, 109, 111, 112, 98, 99, 51, 92,
mzta 0:158c61bb030f 3484 53, 54, 55, 56, 923, 98, 99, 7, 123, 124,
mzta 0:158c61bb030f 3485 125, 126, 127, 128, 48, 672, 722, 886, 504, 888,
mzta 0:158c61bb030f 3486 198, 123, 891, 729, 126, 900, -1, 821, 62, 491,
mzta 0:158c61bb030f 3487 123, 493, -1, 126, 71, -1, 591, 592, 51, 92,
mzta 0:158c61bb030f 3488 53, 54, 55, 56, 750, 98, -1, 149, -1, 86,
mzta 0:158c61bb030f 3489 87, 903, 904, 905, 906, -1, 908, 909, 921, 861,
mzta 0:158c61bb030f 3490 912, -1, 914, 915, -1, 922, -1, -1, -1, 921,
mzta 0:158c61bb030f 3491 625, 923, 924, 948, -1, 109, -1, 111, 51, 92,
mzta 0:158c61bb030f 3492 53, 54, 55, 56, -1, 98, 99, 124, 125, 126,
mzta 0:158c61bb030f 3493 127, 128, -1, 209, 210, 51, -1, 51, -1, 53,
mzta 0:158c61bb030f 3494 54, 55, 56, -1, 956, 957, 958, 959, 960, -1,
mzta 0:158c61bb030f 3495 123, -1, -1, 126, 669, 670, 968, 823, -1, 92,
mzta 0:158c61bb030f 3496 63, 64, 65, 829, -1, -1, 99, -1, -1, 684,
mzta 0:158c61bb030f 3497 -1, 676, -1, -1, 679, -1, -1, 692, 92, -1,
mzta 0:158c61bb030f 3498 153, -1, 258, 259, 699, 700, 691, -1, 703, 704,
mzta 0:158c61bb030f 3499 123, -1, -1, -1, 709, 710, 63, 64, 65, -1,
mzta 0:158c61bb030f 3500 276, -1, 717, 718, -1, 199, -1, -1, 111, 112,
mzta 0:158c61bb030f 3501 -1, -1, -1, 728, -1, 209, 210, -1, -1, -1,
mzta 0:158c61bb030f 3502 735, -1, -1, 738, 63, 64, 65, -1, 63, 64,
mzta 0:158c61bb030f 3503 65, -1, 747, 748, -1, 63, 64, 65, 51, 754,
mzta 0:158c61bb030f 3504 53, 54, 55, 56, 111, 112, 322, 323, 324, 325,
mzta 0:158c61bb030f 3505 -1, 327, 328, 40, 41, 42, 43, 44, 252, -1,
mzta 0:158c61bb030f 3506 254, 255, -1, -1, 258, 259, -1, -1, -1, 263,
mzta 0:158c61bb030f 3507 -1, 786, 111, 112, 268, 269, 111, 112, -1, 92,
mzta 0:158c61bb030f 3508 -1, -1, 276, 111, 112, 98, 99, -1, 803, -1,
mzta 0:158c61bb030f 3509 -1, -1, 63, 64, 65, -1, -1, -1, -1, 814,
mzta 0:158c61bb030f 3510 815, 2, -1, 4, 5, 6, 7, 822, -1, -1,
mzta 0:158c61bb030f 3511 123, 826, 13, 126, 51, 391, 53, 54, 55, 56,
mzta 0:158c61bb030f 3512 -1, -1, 238, 239, 240, -1, -1, 321, 322, 323,
mzta 0:158c61bb030f 3513 324, 325, 326, 327, 328, -1, 149, 331, -1, 333,
mzta 0:158c61bb030f 3514 111, 112, 336, -1, 849, -1, 851, 48, -1, -1,
mzta 0:158c61bb030f 3515 855, 52, 774, 775, -1, 777, -1, 779, 780, -1,
mzta 0:158c61bb030f 3516 865, -1, 867, 785, -1, 880, 788, 789, -1, -1,
mzta 0:158c61bb030f 3517 364, 886, -1, 888, -1, 76, 891, -1, 372, 373,
mzta 0:158c61bb030f 3518 51, -1, 53, 54, 55, 56, -1, -1, -1, -1,
mzta 0:158c61bb030f 3519 297, -1, -1, -1, 388, -1, 390, 391, 305, -1,
mzta 0:158c61bb030f 3520 -1, 308, -1, 310, 398, 312, 921, 314, 402, -1,
mzta 0:158c61bb030f 3521 111, -1, 406, -1, -1, 331, -1, 411, -1, -1,
mzta 0:158c61bb030f 3522 336, 92, -1, -1, -1, -1, 931, 98, 0, -1,
mzta 0:158c61bb030f 3523 935, -1, 937, -1, -1, -1, -1, 942, -1, -1,
mzta 0:158c61bb030f 3524 -1, 13, 14, 15, 16, 17, 18, -1, 20, 443,
mzta 0:158c61bb030f 3525 -1, -1, -1, -1, 26, 27, -1, -1, 452, 964,
mzta 0:158c61bb030f 3526 -1, -1, -1, -1, -1, 37, 38, -1, 40, 41,
mzta 0:158c61bb030f 3527 42, 43, 44, -1, -1, -1, 470, -1, -1, -1,
mzta 0:158c61bb030f 3528 -1, 903, 904, 905, 906, -1, 908, 909, -1, -1,
mzta 0:158c61bb030f 3529 912, -1, 914, 915, -1, -1, -1, -1, 199, -1,
mzta 0:158c61bb030f 3530 -1, -1, 418, -1, 498, -1, -1, -1, 424, 425,
mzta 0:158c61bb030f 3531 -1, -1, 428, -1, -1, 591, 88, -1, -1, -1,
mzta 0:158c61bb030f 3532 -1, -1, -1, 16, 17, -1, -1, 20, -1, -1,
mzta 0:158c61bb030f 3533 -1, -1, -1, -1, 956, 957, 958, 959, 960, 71,
mzta 0:158c61bb030f 3534 -1, 457, -1, -1, 460, -1, 968, -1, -1, 625,
mzta 0:158c61bb030f 3535 -1, -1, 45, 46, 86, 87, -1, 50, 51, -1,
mzta 0:158c61bb030f 3536 -1, -1, 263, -1, -1, -1, -1, 268, 269, 62,
mzta 0:158c61bb030f 3537 63, 143, 144, 489, 146, -1, -1, 149, 150, -1,
mzta 0:158c61bb030f 3538 152, 153, -1, -1, -1, -1, 287, -1, -1, 121,
mzta 0:158c61bb030f 3539 122, 123, 124, 125, 126, 127, 128, 591, 592, 71,
mzta 0:158c61bb030f 3540 72, 73, 74, 75, 76, 77, 78, 523, 80, 81,
mzta 0:158c61bb030f 3541 -1, -1, -1, -1, 86, 87, -1, -1, -1, -1,
mzta 0:158c61bb030f 3542 321, -1, -1, -1, -1, 326, -1, -1, -1, -1,
mzta 0:158c61bb030f 3543 -1, 625, 333, 334, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3544 -1, -1, -1, -1, -1, -1, -1, 119, 120, 121,
mzta 0:158c61bb030f 3545 122, 123, 124, 125, 126, 127, 128, -1, -1, -1,
mzta 0:158c61bb030f 3546 -1, -1, 738, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3547 -1, -1, -1, -1, -1, 669, 670, -1, -1, -1,
mzta 0:158c61bb030f 3548 -1, -1, -1, -1, -1, -1, -1, -1, 604, 390,
mzta 0:158c61bb030f 3549 684, -1, -1, -1, -1, -1, -1, 398, 692, -1,
mzta 0:158c61bb030f 3550 -1, -1, -1, -1, -1, 406, 700, -1, -1, 703,
mzta 0:158c61bb030f 3551 704, -1, -1, -1, -1, 709, 710, 633, -1, -1,
mzta 0:158c61bb030f 3552 636, -1, -1, 717, 718, -1, 642, 643, -1, -1,
mzta 0:158c61bb030f 3553 -1, -1, -1, -1, 728, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3554 -1, 735, 443, -1, 738, 238, 239, 240, 241, -1,
mzta 0:158c61bb030f 3555 -1, 452, -1, 747, 748, -1, -1, -1, -1, 252,
mzta 0:158c61bb030f 3556 754, 254, 255, -1, -1, 466, -1, 468, -1, -1,
mzta 0:158c61bb030f 3557 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3558 696, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3559 -1, -1, -1, -1, -1, -1, -1, 498, -1, -1,
mzta 0:158c61bb030f 3560 -1, -1, -1, -1, -1, -1, -1, -1, -1, 803,
mzta 0:158c61bb030f 3561 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3562 814, 815, -1, -1, -1, -1, -1, -1, 529, -1,
mzta 0:158c61bb030f 3563 -1, -1, 826, -1, -1, -1, -1, 753, 331, -1,
mzta 0:158c61bb030f 3564 756, -1, -1, 336, 337, 338, 339, 340, 341, 342,
mzta 0:158c61bb030f 3565 343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
mzta 0:158c61bb030f 3566 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
mzta 0:158c61bb030f 3567 2, 364, 4, 5, 6, -1, 792, -1, -1, 372,
mzta 0:158c61bb030f 3568 373, 13, -1, -1, -1, -1, 880, -1, -1, -1,
mzta 0:158c61bb030f 3569 -1, 592, 886, -1, 888, 388, -1, 891, -1, -1,
mzta 0:158c61bb030f 3570 -1, -1, -1, -1, -1, -1, -1, 400, -1, 402,
mzta 0:158c61bb030f 3571 -1, 404, 405, -1, -1, -1, 48, -1, 411, -1,
mzta 0:158c61bb030f 3572 52, -1, -1, 839, -1, 418, -1, 921, -1, -1,
mzta 0:158c61bb030f 3573 -1, 424, 425, -1, -1, 428, -1, -1, -1, -1,
mzta 0:158c61bb030f 3574 -1, -1, -1, -1, 76, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3575 -1, -1, -1, -1, 447, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3576 -1, -1, -1, 2, 457, 4, -1, 460, 669, 670,
mzta 0:158c61bb030f 3577 -1, -1, -1, -1, 13, -1, -1, 470, -1, 111,
mzta 0:158c61bb030f 3578 -1, -1, -1, 684, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3579 -1, 692, -1, -1, -1, -1, 489, -1, 699, -1,
mzta 0:158c61bb030f 3580 -1, -1, -1, -1, -1, -1, -1, -1, -1, 48,
mzta 0:158c61bb030f 3581 -1, -1, -1, -1, -1, -1, 717, 718, -1, 512,
mzta 0:158c61bb030f 3582 513, -1, -1, -1, -1, -1, -1, 728, -1, -1,
mzta 0:158c61bb030f 3583 523, -1, -1, -1, 735, -1, -1, -1, -1, 71,
mzta 0:158c61bb030f 3584 72, 73, 74, 75, 76, 77, 747, 748, 80, 81,
mzta 0:158c61bb030f 3585 -1, -1, -1, 754, 86, 87, -1, -1, -1, -1,
mzta 0:158c61bb030f 3586 -1, -1, 2, -1, 4, -1, -1, 199, -1, -1,
mzta 0:158c61bb030f 3587 -1, -1, 111, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3588 -1, -1, -1, -1, -1, 786, -1, 119, 120, 121,
mzta 0:158c61bb030f 3589 122, 123, 124, 125, 126, 127, 128, -1, -1, -1,
mzta 0:158c61bb030f 3590 -1, -1, -1, -1, -1, -1, -1, -1, 48, -1,
mzta 0:158c61bb030f 3591 -1, 604, -1, 814, 815, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3592 -1, 822, -1, -1, -1, 826, -1, -1, -1, -1,
mzta 0:158c61bb030f 3593 -1, 263, -1, -1, -1, -1, 268, 269, -1, -1,
mzta 0:158c61bb030f 3594 633, -1, -1, 636, -1, -1, -1, -1, -1, 642,
mzta 0:158c61bb030f 3595 643, -1, -1, -1, -1, 287, -1, -1, -1, -1,
mzta 0:158c61bb030f 3596 199, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3597 -1, 111, -1, -1, -1, -1, -1, -1, -1, 880,
mzta 0:158c61bb030f 3598 -1, -1, -1, -1, -1, 886, -1, 888, -1, 321,
mzta 0:158c61bb030f 3599 891, -1, -1, -1, 326, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3600 -1, 333, 334, 696, -1, -1, -1, 700, 701, -1,
mzta 0:158c61bb030f 3601 703, 704, -1, -1, -1, -1, 709, 710, -1, -1,
mzta 0:158c61bb030f 3602 -1, -1, -1, -1, 263, -1, 719, -1, -1, 268,
mzta 0:158c61bb030f 3603 269, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3604 -1, -1, -1, -1, -1, -1, -1, -1, 741, 742,
mzta 0:158c61bb030f 3605 -1, 744, 745, -1, -1, -1, -1, -1, 390, 199,
mzta 0:158c61bb030f 3606 753, -1, -1, 756, -1, -1, 398, -1, -1, -1,
mzta 0:158c61bb030f 3607 -1, -1, -1, -1, 406, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3608 -1, -1, 321, -1, -1, -1, -1, 326, -1, -1,
mzta 0:158c61bb030f 3609 -1, -1, -1, -1, 333, -1, -1, 336, -1, 792,
mzta 0:158c61bb030f 3610 -1, -1, -1, 796, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3611 803, 443, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3612 452, -1, -1, 263, -1, -1, -1, -1, 268, 269,
mzta 0:158c61bb030f 3613 -1, -1, -1, -1, 466, -1, 468, -1, 831, -1,
mzta 0:158c61bb030f 3614 -1, 44, -1, -1, -1, -1, 839, -1, -1, -1,
mzta 0:158c61bb030f 3615 -1, 390, -1, -1, -1, -1, -1, -1, -1, 398,
mzta 0:158c61bb030f 3616 -1, -1, -1, -1, -1, -1, 498, 406, 71, 72,
mzta 0:158c61bb030f 3617 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
mzta 0:158c61bb030f 3618 83, 321, -1, 86, 87, -1, 326, -1, -1, -1,
mzta 0:158c61bb030f 3619 -1, -1, -1, 333, -1, -1, -1, 529, -1, -1,
mzta 0:158c61bb030f 3620 -1, -1, -1, -1, 443, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3621 -1, -1, -1, 452, 117, -1, 119, 120, 121, 122,
mzta 0:158c61bb030f 3622 123, 124, 125, 126, 127, 128, -1, -1, 921, -1,
mzta 0:158c61bb030f 3623 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3624 -1, -1, -1, -1, 147, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3625 390, 51, 52, -1, -1, 55, -1, -1, 398, 498,
mzta 0:158c61bb030f 3626 592, -1, -1, -1, -1, -1, 406, -1, -1, 69,
mzta 0:158c61bb030f 3627 70, 71, 72, 73, 74, 75, 76, 77, -1, -1,
mzta 0:158c61bb030f 3628 80, 81, -1, -1, 84, 85, 86, 87, -1, -1,
mzta 0:158c61bb030f 3629 -1, -1, -1, -1, -1, -1, -1, -1, 98, -1,
mzta 0:158c61bb030f 3630 -1, -1, -1, 443, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3631 -1, -1, 452, -1, -1, -1, -1, -1, -1, 119,
mzta 0:158c61bb030f 3632 120, 121, 122, 123, 124, 125, 126, 127, 128, -1,
mzta 0:158c61bb030f 3633 130, 131, -1, -1, -1, -1, -1, 669, 670, -1,
mzta 0:158c61bb030f 3634 -1, -1, -1, -1, -1, -1, -1, -1, 148, 149,
mzta 0:158c61bb030f 3635 -1, -1, 684, 592, -1, -1, -1, -1, 498, -1,
mzta 0:158c61bb030f 3636 692, -1, -1, -1, -1, -1, -1, 699, -1, -1,
mzta 0:158c61bb030f 3637 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3638 -1, -1, -1, -1, -1, 717, 718, -1, -1, -1,
mzta 0:158c61bb030f 3639 -1, -1, -1, -1, -1, -1, 728, -1, -1, -1,
mzta 0:158c61bb030f 3640 -1, -1, -1, 735, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3641 -1, -1, -1, -1, -1, 747, 748, -1, -1, -1,
mzta 0:158c61bb030f 3642 -1, -1, 754, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3643 669, 670, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3644 -1, -1, -1, -1, -1, 684, -1, -1, -1, -1,
mzta 0:158c61bb030f 3645 -1, -1, 592, 692, 786, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3646 -1, 700, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3647 -1, -1, -1, -1, -1, -1, -1, -1, 717, 718,
mzta 0:158c61bb030f 3648 -1, -1, 814, 815, -1, -1, -1, -1, -1, 728,
mzta 0:158c61bb030f 3649 822, -1, -1, -1, 826, -1, 735, -1, -1, -1,
mzta 0:158c61bb030f 3650 -1, -1, -1, -1, -1, -1, -1, -1, 747, 748,
mzta 0:158c61bb030f 3651 -1, -1, -1, -1, -1, 754, 71, 72, 73, 74,
mzta 0:158c61bb030f 3652 75, 76, 77, 78, 79, 80, 81, 82, 83, 669,
mzta 0:158c61bb030f 3653 670, 86, 87, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3654 -1, -1, -1, -1, 684, -1, -1, -1, 880, -1,
mzta 0:158c61bb030f 3655 -1, -1, 692, -1, 886, -1, 888, -1, -1, 891,
mzta 0:158c61bb030f 3656 -1, -1, 117, -1, 119, 120, 121, 122, 123, 124,
mzta 0:158c61bb030f 3657 125, 126, 127, 128, -1, 814, 815, 717, 718, -1,
mzta 0:158c61bb030f 3658 -1, -1, -1, 822, -1, -1, -1, 826, 728, -1,
mzta 0:158c61bb030f 3659 -1, -1, -1, -1, -1, 735, -1, -1, 153, -1,
mzta 0:158c61bb030f 3660 -1, -1, -1, -1, -1, -1, -1, 747, 748, -1,
mzta 0:158c61bb030f 3661 -1, -1, -1, -1, 754, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3662 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3663 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3664 -1, 880, -1, -1, -1, -1, -1, 886, -1, 888,
mzta 0:158c61bb030f 3665 -1, -1, 891, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3666 0, 1, -1, 3, 4, 5, 6, 7, 8, 9,
mzta 0:158c61bb030f 3667 10, 11, 12, -1, 814, 815, -1, -1, -1, 19,
mzta 0:158c61bb030f 3668 -1, 21, 22, 23, 24, -1, 826, -1, -1, -1,
mzta 0:158c61bb030f 3669 30, 31, 32, 33, 34, 35, 36, -1, -1, 39,
mzta 0:158c61bb030f 3670 -1, -1, -1, -1, -1, 45, 46, 47, 48, 49,
mzta 0:158c61bb030f 3671 -1, 51, 52, 53, 54, 55, 56, -1, 58, 59,
mzta 0:158c61bb030f 3672 60, -1, -1, 63, -1, -1, 66, 67, -1, 69,
mzta 0:158c61bb030f 3673 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3674 880, -1, -1, -1, -1, -1, 886, -1, 888, 89,
mzta 0:158c61bb030f 3675 -1, 891, 92, 93, -1, 95, 96, 0, 98, -1,
mzta 0:158c61bb030f 3676 100, 101, 102, 103, 104, 105, 106, -1, -1, 109,
mzta 0:158c61bb030f 3677 13, 14, 15, 16, 17, 18, -1, 20, -1, -1,
mzta 0:158c61bb030f 3678 -1, -1, -1, -1, 27, 28, 29, -1, -1, 129,
mzta 0:158c61bb030f 3679 130, 131, -1, -1, 37, 38, -1, 40, 41, 42,
mzta 0:158c61bb030f 3680 43, 44, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3681 -1, -1, 152, 153, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3682 -1, -1, -1, -1, -1, -1, -1, -1, 71, 72,
mzta 0:158c61bb030f 3683 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
mzta 0:158c61bb030f 3684 83, -1, -1, 86, 87, 88, -1, 90, 91, -1,
mzta 0:158c61bb030f 3685 -1, -1, -1, -1, 97, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3686 -1, -1, -1, -1, -1, 108, -1, -1, -1, -1,
mzta 0:158c61bb030f 3687 -1, -1, -1, 116, 117, 118, 119, 120, 121, 122,
mzta 0:158c61bb030f 3688 123, 124, 125, 126, 127, 128, -1, -1, -1, -1,
mzta 0:158c61bb030f 3689 -1, -1, -1, -1, -1, -1, -1, -1, 0, -1,
mzta 0:158c61bb030f 3690 -1, 144, 145, 146, 147, -1, -1, 150, 151, 152,
mzta 0:158c61bb030f 3691 153, 13, 14, 15, 16, 17, 18, -1, 20, -1,
mzta 0:158c61bb030f 3692 -1, 44, -1, -1, 26, 27, 28, -1, -1, -1,
mzta 0:158c61bb030f 3693 -1, -1, -1, -1, -1, 37, 38, -1, 40, 41,
mzta 0:158c61bb030f 3694 42, 43, 44, -1, -1, -1, -1, -1, 71, 72,
mzta 0:158c61bb030f 3695 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
mzta 0:158c61bb030f 3696 83, -1, -1, 86, 87, -1, -1, -1, -1, 71,
mzta 0:158c61bb030f 3697 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
mzta 0:158c61bb030f 3698 82, 83, -1, -1, 86, 87, 88, -1, -1, 91,
mzta 0:158c61bb030f 3699 -1, -1, -1, -1, 117, 97, 119, 120, 121, 122,
mzta 0:158c61bb030f 3700 123, 124, 125, 126, 127, 128, -1, -1, -1, -1,
mzta 0:158c61bb030f 3701 -1, -1, -1, -1, -1, 117, -1, 119, 120, 121,
mzta 0:158c61bb030f 3702 122, 123, 124, 125, 126, 127, 128, -1, -1, -1,
mzta 0:158c61bb030f 3703 -1, -1, -1, -1, -1, -1, -1, -1, -1, 0,
mzta 0:158c61bb030f 3704 -1, 143, 144, 145, 146, 147, -1, 149, 150, 151,
mzta 0:158c61bb030f 3705 152, 153, 13, 14, 15, 16, 17, 18, -1, 20,
mzta 0:158c61bb030f 3706 -1, -1, 44, -1, -1, -1, 27, 28, 29, -1,
mzta 0:158c61bb030f 3707 -1, -1, -1, -1, -1, -1, 37, 38, -1, 40,
mzta 0:158c61bb030f 3708 41, 42, 43, 44, -1, -1, -1, -1, -1, 71,
mzta 0:158c61bb030f 3709 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
mzta 0:158c61bb030f 3710 82, 83, -1, -1, 86, 87, -1, -1, -1, -1,
mzta 0:158c61bb030f 3711 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
mzta 0:158c61bb030f 3712 81, 82, 83, -1, -1, 86, 87, 88, -1, -1,
mzta 0:158c61bb030f 3713 91, -1, -1, -1, -1, 117, 97, 119, 120, 121,
mzta 0:158c61bb030f 3714 122, 123, 124, 125, 126, 127, 128, 108, -1, -1,
mzta 0:158c61bb030f 3715 -1, -1, -1, -1, -1, -1, 117, 118, 119, 120,
mzta 0:158c61bb030f 3716 121, 122, 123, 124, 125, 126, 127, 128, -1, -1,
mzta 0:158c61bb030f 3717 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3718 0, -1, -1, 144, 145, 146, 147, -1, -1, 150,
mzta 0:158c61bb030f 3719 151, 152, 153, 13, 14, 15, 16, 17, 18, -1,
mzta 0:158c61bb030f 3720 20, -1, -1, -1, -1, -1, 26, 27, 28, -1,
mzta 0:158c61bb030f 3721 -1, -1, -1, -1, -1, -1, -1, 37, 38, -1,
mzta 0:158c61bb030f 3722 40, 41, 42, 43, 44, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3723 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
mzta 0:158c61bb030f 3724 81, 82, 83, -1, -1, 86, 87, -1, -1, -1,
mzta 0:158c61bb030f 3725 -1, 71, 72, 73, 74, 75, 76, 77, 78, 79,
mzta 0:158c61bb030f 3726 80, 81, 82, 83, -1, -1, 86, 87, 88, -1,
mzta 0:158c61bb030f 3727 -1, 91, -1, -1, -1, -1, 117, 97, 119, 120,
mzta 0:158c61bb030f 3728 121, 122, 123, 124, 125, 126, 127, 128, -1, -1,
mzta 0:158c61bb030f 3729 -1, -1, -1, -1, -1, -1, -1, 117, -1, 119,
mzta 0:158c61bb030f 3730 120, 121, 122, 123, 124, 125, 126, 127, 128, -1,
mzta 0:158c61bb030f 3731 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3732 -1, 0, -1, 143, 144, 145, 146, 147, -1, 149,
mzta 0:158c61bb030f 3733 150, 151, 152, 153, 13, 14, 15, 16, 17, 18,
mzta 0:158c61bb030f 3734 -1, 20, -1, -1, -1, -1, -1, -1, 27, 28,
mzta 0:158c61bb030f 3735 -1, -1, -1, -1, -1, -1, -1, -1, 37, 38,
mzta 0:158c61bb030f 3736 -1, 40, 41, 42, 43, 44, -1, -1, -1, -1,
mzta 0:158c61bb030f 3737 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3738 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3739 -1, -1, 71, 72, 73, 74, 75, 76, 77, 78,
mzta 0:158c61bb030f 3740 79, 80, 81, 82, 83, -1, -1, 86, 87, 88,
mzta 0:158c61bb030f 3741 -1, -1, 91, 0, -1, -1, -1, -1, 97, -1,
mzta 0:158c61bb030f 3742 -1, -1, -1, -1, -1, -1, 13, 14, 15, -1,
mzta 0:158c61bb030f 3743 17, 18, -1, 20, -1, -1, -1, -1, 117, 26,
mzta 0:158c61bb030f 3744 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
mzta 0:158c61bb030f 3745 37, 38, -1, 40, 41, 42, 43, 44, -1, -1,
mzta 0:158c61bb030f 3746 -1, -1, -1, -1, -1, 144, 145, 146, 147, -1,
mzta 0:158c61bb030f 3747 149, 150, 151, 152, 153, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3748 -1, -1, -1, -1, 71, 72, 73, 74, 75, 76,
mzta 0:158c61bb030f 3749 77, 78, 79, 80, 81, 82, 83, -1, -1, 86,
mzta 0:158c61bb030f 3750 87, 88, -1, 90, -1, 0, -1, -1, -1, -1,
mzta 0:158c61bb030f 3751 -1, -1, -1, -1, -1, -1, -1, -1, 13, 14,
mzta 0:158c61bb030f 3752 15, -1, 17, 18, -1, 20, -1, -1, -1, 116,
mzta 0:158c61bb030f 3753 117, -1, 119, 120, 121, 122, 123, 124, 125, 126,
mzta 0:158c61bb030f 3754 127, 128, 37, 38, -1, 40, 41, 42, 43, 44,
mzta 0:158c61bb030f 3755 -1, -1, -1, -1, -1, -1, 143, 144, 145, 146,
mzta 0:158c61bb030f 3756 147, -1, -1, 150, -1, 152, 153, -1, -1, -1,
mzta 0:158c61bb030f 3757 -1, -1, -1, -1, -1, -1, 71, 72, 73, 74,
mzta 0:158c61bb030f 3758 75, 76, 77, 78, 79, 80, 81, 82, 83, -1,
mzta 0:158c61bb030f 3759 -1, 86, 87, 88, -1, 90, -1, -1, -1, -1,
mzta 0:158c61bb030f 3760 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3761 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3762 -1, 116, 117, -1, 119, 120, 121, 122, 123, 124,
mzta 0:158c61bb030f 3763 125, 126, 127, 128, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3764 -1, -1, -1, -1, -1, -1, -1, -1, -1, 144,
mzta 0:158c61bb030f 3765 145, 146, 147, -1, -1, 150, -1, 152, 153, 1,
mzta 0:158c61bb030f 3766 -1, 3, 4, 5, 6, 7, 8, 9, 10, 11,
mzta 0:158c61bb030f 3767 12, 13, 14, 15, -1, -1, 18, 19, -1, 21,
mzta 0:158c61bb030f 3768 22, 23, 24, -1, -1, -1, -1, -1, 30, 31,
mzta 0:158c61bb030f 3769 32, 33, 34, 35, 36, -1, -1, 39, -1, -1,
mzta 0:158c61bb030f 3770 -1, -1, -1, 45, -1, 47, 48, 49, -1, 51,
mzta 0:158c61bb030f 3771 52, 53, 54, 55, 56, -1, 58, 59, 60, -1,
mzta 0:158c61bb030f 3772 -1, 63, -1, -1, 66, 67, -1, 69, 70, -1,
mzta 0:158c61bb030f 3773 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3774 -1, -1, -1, -1, -1, -1, -1, 89, -1, -1,
mzta 0:158c61bb030f 3775 92, 93, -1, 95, 96, -1, 98, -1, 100, 101,
mzta 0:158c61bb030f 3776 102, 103, 104, 105, 106, -1, -1, 109, -1, -1,
mzta 0:158c61bb030f 3777 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3778 -1, -1, -1, -1, -1, -1, -1, 129, 130, 131,
mzta 0:158c61bb030f 3779 -1, -1, -1, -1, -1, -1, -1, -1, 1, -1,
mzta 0:158c61bb030f 3780 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
mzta 0:158c61bb030f 3781 152, 153, 15, -1, 17, 18, 19, -1, 21, 22,
mzta 0:158c61bb030f 3782 23, 24, -1, -1, -1, -1, -1, 30, 31, 32,
mzta 0:158c61bb030f 3783 33, 34, 35, 36, -1, -1, 39, -1, -1, -1,
mzta 0:158c61bb030f 3784 -1, -1, 45, -1, 47, 48, 49, -1, 51, 52,
mzta 0:158c61bb030f 3785 53, 54, 55, 56, -1, 58, 59, 60, -1, -1,
mzta 0:158c61bb030f 3786 63, -1, -1, 66, 67, -1, 69, 70, -1, -1,
mzta 0:158c61bb030f 3787 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3788 -1, -1, -1, -1, -1, -1, 89, -1, -1, 92,
mzta 0:158c61bb030f 3789 93, -1, 95, 96, -1, 98, -1, 100, 101, 102,
mzta 0:158c61bb030f 3790 103, 104, 105, 106, -1, -1, 109, -1, -1, -1,
mzta 0:158c61bb030f 3791 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3792 -1, -1, -1, -1, -1, -1, 129, 130, 131, -1,
mzta 0:158c61bb030f 3793 -1, -1, -1, -1, 1, -1, 3, 4, 5, 6,
mzta 0:158c61bb030f 3794 7, 8, 9, 10, 11, 12, -1, -1, 15, 152,
mzta 0:158c61bb030f 3795 153, 18, 19, 20, 21, 22, 23, 24, -1, -1,
mzta 0:158c61bb030f 3796 -1, -1, -1, 30, 31, 32, 33, 34, 35, 36,
mzta 0:158c61bb030f 3797 -1, -1, 39, -1, -1, -1, -1, -1, 45, -1,
mzta 0:158c61bb030f 3798 47, 48, 49, -1, 51, 52, 53, 54, 55, 56,
mzta 0:158c61bb030f 3799 -1, 58, 59, 60, -1, -1, 63, -1, -1, 66,
mzta 0:158c61bb030f 3800 67, -1, 69, 70, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3801 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3802 -1, -1, 89, -1, -1, 92, 93, -1, 95, 96,
mzta 0:158c61bb030f 3803 -1, 98, -1, 100, 101, 102, 103, 104, 105, 106,
mzta 0:158c61bb030f 3804 -1, -1, 109, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3805 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3806 -1, -1, 129, 130, 131, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3807 1, -1, 3, 4, 5, 6, 7, 8, 9, 10,
mzta 0:158c61bb030f 3808 11, 12, -1, -1, 15, 152, 153, 18, 19, -1,
mzta 0:158c61bb030f 3809 21, 22, 23, 24, -1, -1, -1, -1, -1, 30,
mzta 0:158c61bb030f 3810 31, 32, 33, 34, 35, 36, -1, -1, 39, -1,
mzta 0:158c61bb030f 3811 -1, -1, -1, -1, 45, -1, 47, 48, 49, -1,
mzta 0:158c61bb030f 3812 51, 52, 53, 54, 55, 56, -1, 58, 59, 60,
mzta 0:158c61bb030f 3813 -1, -1, 63, -1, -1, 66, 67, -1, 69, 70,
mzta 0:158c61bb030f 3814 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3815 -1, -1, -1, -1, -1, -1, -1, -1, 89, -1,
mzta 0:158c61bb030f 3816 -1, 92, 93, -1, 95, 96, -1, 98, -1, 100,
mzta 0:158c61bb030f 3817 101, 102, 103, 104, 105, 106, -1, -1, 109, -1,
mzta 0:158c61bb030f 3818 -1, -1, -1, -1, -1, 1, -1, 3, 4, 5,
mzta 0:158c61bb030f 3819 6, 7, 8, 9, 10, 11, 12, -1, 129, 130,
mzta 0:158c61bb030f 3820 131, -1, -1, 19, -1, 21, 22, 23, 24, -1,
mzta 0:158c61bb030f 3821 -1, -1, -1, -1, 30, 31, 32, 33, 34, 35,
mzta 0:158c61bb030f 3822 36, 152, 153, 39, -1, -1, -1, -1, -1, 45,
mzta 0:158c61bb030f 3823 46, 47, 48, 49, -1, 51, 52, 53, 54, 55,
mzta 0:158c61bb030f 3824 56, -1, 58, 59, 60, -1, -1, 63, -1, -1,
mzta 0:158c61bb030f 3825 66, 67, -1, 69, 70, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3826 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3827 -1, -1, -1, 89, -1, -1, 92, 93, -1, 95,
mzta 0:158c61bb030f 3828 96, -1, 98, -1, 100, 101, 102, 103, 104, 105,
mzta 0:158c61bb030f 3829 106, -1, -1, 109, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3830 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3831 -1, -1, -1, 129, 130, 131, -1, -1, -1, -1,
mzta 0:158c61bb030f 3832 -1, -1, -1, -1, -1, -1, -1, -1, 144, -1,
mzta 0:158c61bb030f 3833 -1, -1, -1, -1, -1, -1, 152, 153, 1, -1,
mzta 0:158c61bb030f 3834 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
mzta 0:158c61bb030f 3835 -1, 14, 15, -1, -1, -1, 19, -1, 21, 22,
mzta 0:158c61bb030f 3836 23, 24, -1, -1, -1, -1, -1, 30, 31, 32,
mzta 0:158c61bb030f 3837 33, 34, 35, 36, -1, -1, 39, -1, -1, -1,
mzta 0:158c61bb030f 3838 -1, -1, 45, -1, 47, 48, 49, -1, 51, 52,
mzta 0:158c61bb030f 3839 53, 54, 55, 56, -1, 58, 59, 60, -1, -1,
mzta 0:158c61bb030f 3840 63, -1, -1, 66, 67, -1, 69, 70, -1, -1,
mzta 0:158c61bb030f 3841 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3842 -1, -1, -1, -1, -1, -1, 89, -1, -1, 92,
mzta 0:158c61bb030f 3843 93, -1, 95, 96, -1, 98, -1, 100, 101, 102,
mzta 0:158c61bb030f 3844 103, 104, 105, 106, -1, -1, 109, -1, -1, -1,
mzta 0:158c61bb030f 3845 -1, -1, -1, 1, -1, 3, 4, 5, 6, 7,
mzta 0:158c61bb030f 3846 8, 9, 10, 11, 12, -1, 129, 130, 131, -1,
mzta 0:158c61bb030f 3847 -1, 19, -1, 21, 22, 23, 24, -1, -1, -1,
mzta 0:158c61bb030f 3848 -1, -1, 30, 31, 32, 33, 34, 35, 36, 152,
mzta 0:158c61bb030f 3849 153, 39, -1, -1, -1, -1, -1, 45, -1, 47,
mzta 0:158c61bb030f 3850 48, 49, -1, 51, 52, 53, 54, 55, 56, -1,
mzta 0:158c61bb030f 3851 58, 59, 60, -1, -1, 63, -1, -1, 66, 67,
mzta 0:158c61bb030f 3852 -1, 69, 70, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3853 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3854 -1, 89, -1, -1, 92, 93, -1, 95, 96, -1,
mzta 0:158c61bb030f 3855 98, -1, 100, 101, 102, 103, 104, 105, 106, -1,
mzta 0:158c61bb030f 3856 -1, 109, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3857 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3858 -1, 129, 130, 131, -1, -1, -1, -1, 1, -1,
mzta 0:158c61bb030f 3859 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
mzta 0:158c61bb030f 3860 -1, -1, 150, -1, 152, 153, 19, -1, 21, 22,
mzta 0:158c61bb030f 3861 23, 24, -1, -1, -1, -1, -1, 30, 31, 32,
mzta 0:158c61bb030f 3862 33, 34, 35, 36, -1, -1, 39, -1, -1, -1,
mzta 0:158c61bb030f 3863 -1, -1, 45, -1, 47, 48, 49, -1, 51, 52,
mzta 0:158c61bb030f 3864 53, 54, 55, 56, -1, 58, 59, 60, -1, -1,
mzta 0:158c61bb030f 3865 63, -1, -1, 66, 67, -1, 69, 70, -1, -1,
mzta 0:158c61bb030f 3866 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3867 -1, -1, -1, -1, -1, -1, 89, -1, -1, 92,
mzta 0:158c61bb030f 3868 93, -1, 95, 96, -1, 98, -1, 100, 101, 102,
mzta 0:158c61bb030f 3869 103, 104, 105, 106, -1, -1, 109, -1, -1, -1,
mzta 0:158c61bb030f 3870 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3871 -1, -1, -1, -1, -1, -1, 129, 130, 131, -1,
mzta 0:158c61bb030f 3872 -1, -1, -1, 1, -1, 3, 4, 5, 6, 7,
mzta 0:158c61bb030f 3873 8, 9, 10, 11, 12, -1, -1, 150, -1, 152,
mzta 0:158c61bb030f 3874 153, 19, -1, 21, 22, 23, 24, -1, -1, -1,
mzta 0:158c61bb030f 3875 -1, -1, 30, 31, 32, 33, 34, 35, 36, -1,
mzta 0:158c61bb030f 3876 -1, 39, -1, -1, -1, -1, -1, 45, -1, 47,
mzta 0:158c61bb030f 3877 48, 49, -1, 51, 52, 53, 54, 55, 56, -1,
mzta 0:158c61bb030f 3878 58, 59, 60, -1, -1, 63, -1, -1, 66, 67,
mzta 0:158c61bb030f 3879 -1, 69, 70, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3880 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3881 -1, 89, -1, -1, 92, 93, -1, 95, 96, -1,
mzta 0:158c61bb030f 3882 98, -1, 100, 101, 102, 103, 104, 105, 106, -1,
mzta 0:158c61bb030f 3883 -1, 109, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3884 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3885 -1, 129, 130, 131, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3886 -1, -1, -1, -1, -1, -1, 144, -1, -1, -1,
mzta 0:158c61bb030f 3887 -1, -1, -1, -1, 152, 153, 1, -1, 3, 4,
mzta 0:158c61bb030f 3888 5, 6, 7, 8, 9, 10, 11, 12, -1, -1,
mzta 0:158c61bb030f 3889 15, -1, -1, -1, 19, -1, 21, 22, 23, 24,
mzta 0:158c61bb030f 3890 -1, -1, -1, -1, -1, 30, 31, 32, 33, 34,
mzta 0:158c61bb030f 3891 35, 36, -1, -1, 39, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3892 45, -1, 47, 48, 49, -1, 51, 52, 53, 54,
mzta 0:158c61bb030f 3893 55, 56, -1, 58, 59, 60, -1, -1, 63, -1,
mzta 0:158c61bb030f 3894 -1, 66, 67, -1, 69, 70, -1, -1, -1, -1,
mzta 0:158c61bb030f 3895 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3896 -1, -1, -1, -1, 89, -1, -1, 92, 93, -1,
mzta 0:158c61bb030f 3897 95, 96, -1, 98, -1, 100, 101, 102, 103, 104,
mzta 0:158c61bb030f 3898 105, 106, -1, -1, 109, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3899 -1, -1, -1, 3, 4, 5, 6, 7, 8, 9,
mzta 0:158c61bb030f 3900 10, 11, -1, -1, 129, 130, 131, -1, -1, 19,
mzta 0:158c61bb030f 3901 -1, 21, 22, 23, 24, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3902 30, 31, 32, 33, 34, 35, 36, 152, 153, 39,
mzta 0:158c61bb030f 3903 -1, -1, -1, -1, -1, -1, -1, -1, 48, 49,
mzta 0:158c61bb030f 3904 -1, 51, 52, 53, 54, 55, 56, 57, 58, 59,
mzta 0:158c61bb030f 3905 60, -1, -1, 63, -1, -1, 66, 67, -1, 69,
mzta 0:158c61bb030f 3906 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3907 -1, -1, -1, -1, -1, -1, -1, -1, -1, 89,
mzta 0:158c61bb030f 3908 -1, -1, 92, 93, -1, 95, 96, -1, 98, 99,
mzta 0:158c61bb030f 3909 100, 101, 102, 103, 104, 105, 106, -1, -1, 109,
mzta 0:158c61bb030f 3910 -1, -1, -1, -1, -1, -1, 3, 4, 5, 6,
mzta 0:158c61bb030f 3911 7, 8, 9, 10, 11, -1, -1, -1, -1, 129,
mzta 0:158c61bb030f 3912 130, 131, 19, -1, 21, 22, 23, 24, -1, -1,
mzta 0:158c61bb030f 3913 -1, -1, -1, 30, 31, 32, 33, 34, 35, 36,
mzta 0:158c61bb030f 3914 -1, -1, 39, 153, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3915 -1, 48, 49, -1, 51, 52, 53, 54, 55, 56,
mzta 0:158c61bb030f 3916 -1, 58, 59, 60, -1, -1, 63, -1, -1, 66,
mzta 0:158c61bb030f 3917 67, -1, 69, 70, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3918 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3919 -1, -1, 89, -1, -1, 92, 93, -1, 95, 96,
mzta 0:158c61bb030f 3920 -1, -1, -1, 100, 101, 102, 103, 104, 105, 106,
mzta 0:158c61bb030f 3921 -1, -1, 109, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3922 -1, 3, 4, 5, 6, 7, 8, 9, 10, 11,
mzta 0:158c61bb030f 3923 -1, -1, 129, 130, 131, -1, -1, 19, -1, 21,
mzta 0:158c61bb030f 3924 22, 23, 24, -1, -1, -1, -1, -1, 30, 31,
mzta 0:158c61bb030f 3925 32, 33, 34, 35, 36, 152, 153, 39, -1, -1,
mzta 0:158c61bb030f 3926 -1, -1, -1, -1, -1, -1, 48, 49, -1, 51,
mzta 0:158c61bb030f 3927 52, 53, 54, 55, 56, -1, 58, 59, 60, -1,
mzta 0:158c61bb030f 3928 -1, 63, -1, -1, 66, 67, -1, 69, 70, -1,
mzta 0:158c61bb030f 3929 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3930 -1, -1, -1, -1, -1, -1, -1, 89, -1, -1,
mzta 0:158c61bb030f 3931 92, 93, -1, 95, 96, -1, -1, -1, 100, 101,
mzta 0:158c61bb030f 3932 102, 103, 104, 105, 106, -1, -1, 109, -1, -1,
mzta 0:158c61bb030f 3933 -1, -1, -1, -1, 3, 4, 5, 6, 7, 8,
mzta 0:158c61bb030f 3934 9, 10, 11, 12, -1, -1, -1, 129, 130, 131,
mzta 0:158c61bb030f 3935 19, -1, 21, 22, 23, 24, -1, -1, -1, -1,
mzta 0:158c61bb030f 3936 -1, 30, 31, 32, 33, 34, 35, 36, -1, -1,
mzta 0:158c61bb030f 3937 39, 153, -1, -1, -1, -1, 45, 46, 47, 48,
mzta 0:158c61bb030f 3938 49, -1, 51, 52, 53, 54, 55, 56, -1, 58,
mzta 0:158c61bb030f 3939 59, 60, -1, -1, 63, -1, -1, 66, 67, -1,
mzta 0:158c61bb030f 3940 69, 70, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3941 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3942 89, -1, -1, 92, 93, -1, 95, 96, -1, 98,
mzta 0:158c61bb030f 3943 -1, 100, 101, 102, 103, 104, 105, 106, -1, -1,
mzta 0:158c61bb030f 3944 109, -1, -1, -1, -1, -1, -1, -1, 3, 4,
mzta 0:158c61bb030f 3945 5, 6, 7, 8, 9, 10, 11, 12, -1, -1,
mzta 0:158c61bb030f 3946 129, 130, 131, -1, 19, -1, 21, 22, 23, 24,
mzta 0:158c61bb030f 3947 -1, -1, -1, -1, -1, 30, 31, 32, 33, 34,
mzta 0:158c61bb030f 3948 35, 36, -1, 152, 39, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3949 45, -1, 47, 48, 49, -1, 51, 52, 53, 54,
mzta 0:158c61bb030f 3950 55, 56, -1, 58, 59, 60, -1, -1, 63, -1,
mzta 0:158c61bb030f 3951 -1, 66, 67, -1, 69, 70, -1, -1, -1, -1,
mzta 0:158c61bb030f 3952 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3953 -1, -1, -1, -1, 89, -1, -1, 92, 93, -1,
mzta 0:158c61bb030f 3954 95, 96, -1, 98, -1, 100, 101, 102, 103, 104,
mzta 0:158c61bb030f 3955 105, 106, -1, -1, 109, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3956 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3957 -1, -1, -1, -1, 129, 130, 131, -1, -1, -1,
mzta 0:158c61bb030f 3958 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3959 -1, -1, -1, -1, -1, -1, -1, 152, 3, 4,
mzta 0:158c61bb030f 3960 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
mzta 0:158c61bb030f 3961 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
mzta 0:158c61bb030f 3962 25, 26, -1, -1, -1, 30, 31, 32, 33, 34,
mzta 0:158c61bb030f 3963 35, 36, 37, 38, 39, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3964 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
mzta 0:158c61bb030f 3965 55, 56, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3966 -1, -1, -1, -1, 69, 70, 71, 72, 73, 74,
mzta 0:158c61bb030f 3967 75, 76, 77, -1, -1, 80, 81, -1, -1, 84,
mzta 0:158c61bb030f 3968 85, 86, 87, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3969 -1, -1, -1, 98, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3970 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3971 -1, -1, -1, -1, 119, 120, 121, 122, 123, 124,
mzta 0:158c61bb030f 3972 125, 126, 127, 128, -1, 130, 131, -1, -1, 3,
mzta 0:158c61bb030f 3973 4, 5, 6, 7, 8, 9, 10, 11, -1, -1,
mzta 0:158c61bb030f 3974 -1, -1, -1, 148, 149, 19, -1, 21, 22, 23,
mzta 0:158c61bb030f 3975 24, -1, 26, -1, -1, -1, 30, 31, 32, 33,
mzta 0:158c61bb030f 3976 34, 35, 36, -1, -1, 39, -1, -1, -1, -1,
mzta 0:158c61bb030f 3977 -1, -1, -1, -1, 48, 49, -1, 51, 52, 53,
mzta 0:158c61bb030f 3978 54, 55, 56, 57, 58, 59, 60, -1, -1, 63,
mzta 0:158c61bb030f 3979 -1, -1, 66, 67, -1, 69, 70, -1, -1, -1,
mzta 0:158c61bb030f 3980 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3981 -1, -1, -1, -1, -1, 89, -1, -1, 92, 93,
mzta 0:158c61bb030f 3982 -1, 95, 96, -1, 98, 99, 100, 101, 102, 103,
mzta 0:158c61bb030f 3983 104, 105, 106, -1, -1, 109, -1, -1, -1, -1,
mzta 0:158c61bb030f 3984 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3985 -1, -1, -1, -1, -1, 129, 130, 131, 3, 4,
mzta 0:158c61bb030f 3986 5, 6, 7, 8, 9, 10, 11, -1, -1, 143,
mzta 0:158c61bb030f 3987 -1, -1, -1, -1, 19, 149, 21, 22, 23, 24,
mzta 0:158c61bb030f 3988 -1, 26, -1, -1, -1, 30, 31, 32, 33, 34,
mzta 0:158c61bb030f 3989 35, 36, -1, -1, 39, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3990 -1, -1, -1, 48, 49, -1, 51, 52, 53, 54,
mzta 0:158c61bb030f 3991 55, 56, 57, 58, 59, 60, -1, -1, 63, -1,
mzta 0:158c61bb030f 3992 -1, 66, 67, -1, 69, 70, -1, -1, -1, -1,
mzta 0:158c61bb030f 3993 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3994 -1, -1, -1, -1, 89, -1, -1, 92, 93, -1,
mzta 0:158c61bb030f 3995 95, 96, -1, 98, 99, 100, 101, 102, 103, 104,
mzta 0:158c61bb030f 3996 105, 106, -1, -1, 109, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3997 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 3998 -1, -1, -1, -1, 129, 130, 131, 3, 4, 5,
mzta 0:158c61bb030f 3999 6, 7, 8, 9, 10, 11, -1, -1, 143, -1,
mzta 0:158c61bb030f 4000 -1, -1, -1, 19, 149, 21, 22, 23, 24, -1,
mzta 0:158c61bb030f 4001 -1, -1, -1, -1, 30, 31, 32, 33, 34, 35,
mzta 0:158c61bb030f 4002 36, -1, -1, 39, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4003 -1, -1, 48, 49, -1, 51, 52, 53, 54, 55,
mzta 0:158c61bb030f 4004 56, 57, 58, 59, 60, -1, -1, 63, -1, -1,
mzta 0:158c61bb030f 4005 66, 67, -1, 69, 70, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4006 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4007 -1, -1, -1, 89, 90, -1, 92, 93, -1, 95,
mzta 0:158c61bb030f 4008 96, -1, 98, 99, 100, 101, 102, 103, 104, 105,
mzta 0:158c61bb030f 4009 106, -1, -1, 109, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4010 116, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4011 -1, -1, -1, 129, 130, 131, 3, 4, 5, 6,
mzta 0:158c61bb030f 4012 7, 8, 9, 10, 11, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4013 -1, -1, 19, 149, 21, 22, 23, 24, -1, -1,
mzta 0:158c61bb030f 4014 -1, -1, -1, 30, 31, 32, 33, 34, 35, 36,
mzta 0:158c61bb030f 4015 -1, -1, 39, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4016 -1, 48, 49, -1, 51, 52, 53, 54, 55, 56,
mzta 0:158c61bb030f 4017 57, 58, 59, 60, -1, -1, 63, -1, -1, 66,
mzta 0:158c61bb030f 4018 67, -1, 69, 70, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4019 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4020 -1, -1, 89, -1, -1, 92, 93, -1, 95, 96,
mzta 0:158c61bb030f 4021 -1, 98, 99, 100, 101, 102, 103, 104, 105, 106,
mzta 0:158c61bb030f 4022 -1, -1, 109, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4023 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4024 -1, -1, 129, 130, 131, 3, 4, 5, 6, 7,
mzta 0:158c61bb030f 4025 8, 9, 10, 11, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4026 -1, 19, 149, 21, 22, 23, 24, -1, -1, -1,
mzta 0:158c61bb030f 4027 -1, -1, 30, 31, 32, 33, 34, 35, 36, -1,
mzta 0:158c61bb030f 4028 -1, 39, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4029 48, 49, -1, 51, 52, 53, 54, 55, 56, 57,
mzta 0:158c61bb030f 4030 58, 59, 60, -1, -1, 63, -1, -1, 66, 67,
mzta 0:158c61bb030f 4031 -1, 69, 70, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4032 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4033 -1, 89, -1, -1, 92, 93, -1, 95, 96, -1,
mzta 0:158c61bb030f 4034 98, 99, 100, 101, 102, 103, 104, 105, 106, -1,
mzta 0:158c61bb030f 4035 -1, 109, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4036 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4037 -1, 129, 130, 131, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4038 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4039 -1, 149, 3, 4, 5, 6, 7, 8, 9, 10,
mzta 0:158c61bb030f 4040 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
mzta 0:158c61bb030f 4041 21, 22, 23, 24, 25, 26, -1, -1, -1, 30,
mzta 0:158c61bb030f 4042 31, 32, 33, 34, 35, 36, 37, 38, 39, -1,
mzta 0:158c61bb030f 4043 -1, -1, -1, -1, 45, 46, 47, 48, 49, 50,
mzta 0:158c61bb030f 4044 51, 52, 53, 54, 55, 56, -1, -1, -1, -1,
mzta 0:158c61bb030f 4045 -1, -1, 63, -1, -1, -1, -1, -1, 69, 70,
mzta 0:158c61bb030f 4046 71, 72, 73, 74, 75, 76, 77, -1, -1, 80,
mzta 0:158c61bb030f 4047 81, -1, -1, 84, 85, 86, 87, -1, -1, -1,
mzta 0:158c61bb030f 4048 -1, -1, -1, -1, -1, -1, -1, 98, -1, -1,
mzta 0:158c61bb030f 4049 -1, -1, -1, -1, 105, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4050 -1, -1, -1, -1, -1, -1, -1, -1, 119, 120,
mzta 0:158c61bb030f 4051 121, 122, 123, 124, 125, 126, 127, 128, -1, 130,
mzta 0:158c61bb030f 4052 131, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4053 -1, -1, -1, -1, -1, -1, -1, 148, 3, 4,
mzta 0:158c61bb030f 4054 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
mzta 0:158c61bb030f 4055 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
mzta 0:158c61bb030f 4056 25, 26, -1, -1, -1, 30, 31, 32, 33, 34,
mzta 0:158c61bb030f 4057 35, 36, 37, 38, 39, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4058 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
mzta 0:158c61bb030f 4059 55, 56, -1, -1, -1, -1, -1, -1, 63, -1,
mzta 0:158c61bb030f 4060 -1, -1, -1, -1, 69, 70, 71, 72, 73, 74,
mzta 0:158c61bb030f 4061 75, 76, 77, -1, -1, 80, 81, -1, -1, 84,
mzta 0:158c61bb030f 4062 85, 86, 87, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4063 -1, -1, -1, 98, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4064 105, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4065 -1, -1, -1, -1, 119, 120, 121, 122, 123, 124,
mzta 0:158c61bb030f 4066 125, 126, 127, 128, -1, 130, 131, -1, -1, -1,
mzta 0:158c61bb030f 4067 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4068 -1, -1, -1, 148, 3, 4, 5, 6, 7, 8,
mzta 0:158c61bb030f 4069 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
mzta 0:158c61bb030f 4070 19, 20, 21, 22, 23, 24, 25, 26, -1, -1,
mzta 0:158c61bb030f 4071 -1, 30, 31, 32, 33, 34, 35, 36, 37, 38,
mzta 0:158c61bb030f 4072 39, -1, -1, -1, -1, -1, 45, 46, 47, 48,
mzta 0:158c61bb030f 4073 49, 50, 51, 52, -1, -1, 55, -1, -1, -1,
mzta 0:158c61bb030f 4074 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4075 69, 70, 71, 72, 73, 74, 75, 76, 77, -1,
mzta 0:158c61bb030f 4076 -1, 80, 81, -1, -1, 84, 85, 86, 87, -1,
mzta 0:158c61bb030f 4077 -1, 71, 72, 73, 74, 75, 76, 77, -1, 98,
mzta 0:158c61bb030f 4078 80, 81, 101, -1, -1, -1, 86, 87, -1, -1,
mzta 0:158c61bb030f 4079 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4080 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
mzta 0:158c61bb030f 4081 -1, 130, 131, -1, -1, -1, -1, -1, -1, 119,
mzta 0:158c61bb030f 4082 120, 121, 122, 123, 124, 125, 126, 127, 128, 148,
mzta 0:158c61bb030f 4083 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
mzta 0:158c61bb030f 4084 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
mzta 0:158c61bb030f 4085 23, 24, 25, 26, -1, -1, -1, 30, 31, 32,
mzta 0:158c61bb030f 4086 33, 34, 35, 36, 37, 38, 39, -1, -1, -1,
mzta 0:158c61bb030f 4087 -1, -1, 45, 46, 47, 48, 49, 50, 51, 52,
mzta 0:158c61bb030f 4088 -1, -1, 55, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4089 -1, -1, -1, -1, -1, -1, 69, 70, 71, 72,
mzta 0:158c61bb030f 4090 73, 74, 75, 76, 77, -1, -1, 80, 81, -1,
mzta 0:158c61bb030f 4091 -1, 84, 85, 86, 87, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4092 -1, -1, -1, -1, -1, 98, -1, -1, -1, -1,
mzta 0:158c61bb030f 4093 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4094 -1, -1, -1, -1, -1, -1, 119, 120, 121, 122,
mzta 0:158c61bb030f 4095 123, 124, 125, 126, 127, 128, -1, 130, 131, -1,
mzta 0:158c61bb030f 4096 3, 4, 5, 6, 7, 8, 9, 10, 11, -1,
mzta 0:158c61bb030f 4097 -1, -1, -1, -1, -1, 148, 19, -1, 21, 22,
mzta 0:158c61bb030f 4098 23, 24, -1, -1, -1, -1, -1, 30, 31, 32,
mzta 0:158c61bb030f 4099 33, 34, 35, 36, -1, -1, 39, -1, -1, -1,
mzta 0:158c61bb030f 4100 -1, -1, -1, -1, -1, 48, 49, -1, 51, 52,
mzta 0:158c61bb030f 4101 53, 54, 55, 56, -1, 58, 59, 60, -1, -1,
mzta 0:158c61bb030f 4102 63, -1, -1, 66, 67, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4103 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4104 -1, -1, -1, -1, -1, -1, 89, -1, -1, 92,
mzta 0:158c61bb030f 4105 93, -1, 95, 96, -1, -1, -1, 100, 101, 102,
mzta 0:158c61bb030f 4106 103, 104, 105, 106, -1, -1, 109, -1, -1, 3,
mzta 0:158c61bb030f 4107 4, 5, 6, 7, 8, 9, 10, 11, -1, -1,
mzta 0:158c61bb030f 4108 -1, -1, -1, -1, -1, 19, 129, 21, 22, 23,
mzta 0:158c61bb030f 4109 24, -1, -1, -1, -1, -1, 30, 31, 32, 33,
mzta 0:158c61bb030f 4110 34, 35, 36, -1, 147, 39, -1, -1, -1, -1,
mzta 0:158c61bb030f 4111 -1, -1, -1, -1, 48, 49, -1, 51, 52, 53,
mzta 0:158c61bb030f 4112 54, 55, 56, -1, 58, 59, 60, -1, -1, 63,
mzta 0:158c61bb030f 4113 -1, -1, 66, 67, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4114 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4115 -1, -1, -1, -1, -1, 89, -1, -1, 92, 93,
mzta 0:158c61bb030f 4116 -1, 95, 96, -1, -1, -1, 100, 101, 102, 103,
mzta 0:158c61bb030f 4117 104, 105, 106, -1, -1, 109, -1, -1, 3, 4,
mzta 0:158c61bb030f 4118 5, 6, 7, 8, 9, 10, 11, -1, -1, -1,
mzta 0:158c61bb030f 4119 -1, -1, -1, -1, 19, 129, 21, 22, 23, 24,
mzta 0:158c61bb030f 4120 -1, -1, -1, -1, -1, 30, 31, 32, 33, 34,
mzta 0:158c61bb030f 4121 35, 36, -1, 147, 39, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4122 -1, -1, -1, 48, 49, -1, 51, 52, 53, 54,
mzta 0:158c61bb030f 4123 55, 56, 57, 58, 59, 60, -1, -1, 63, -1,
mzta 0:158c61bb030f 4124 -1, 66, 67, -1, 69, 70, -1, -1, -1, -1,
mzta 0:158c61bb030f 4125 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4126 -1, -1, -1, -1, 89, -1, -1, 92, 93, -1,
mzta 0:158c61bb030f 4127 95, 96, -1, 98, 99, 100, 101, 102, 103, 104,
mzta 0:158c61bb030f 4128 105, 106, -1, -1, 109, 110, -1, -1, 113, 114,
mzta 0:158c61bb030f 4129 -1, 3, 4, 5, 6, 7, 8, 9, 10, 11,
mzta 0:158c61bb030f 4130 12, -1, -1, -1, 129, 130, 131, 19, -1, 21,
mzta 0:158c61bb030f 4131 22, 23, 24, -1, -1, -1, -1, -1, 30, 31,
mzta 0:158c61bb030f 4132 32, 33, 34, 35, 36, -1, -1, 39, -1, -1,
mzta 0:158c61bb030f 4133 -1, -1, -1, 45, 46, 47, 48, 49, -1, 51,
mzta 0:158c61bb030f 4134 52, 53, 54, 55, 56, -1, 58, 59, 60, -1,
mzta 0:158c61bb030f 4135 -1, 63, -1, -1, 66, 67, -1, 69, 70, -1,
mzta 0:158c61bb030f 4136 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4137 -1, -1, -1, -1, -1, -1, -1, 89, -1, -1,
mzta 0:158c61bb030f 4138 92, 93, -1, 95, 96, -1, 98, -1, 100, 101,
mzta 0:158c61bb030f 4139 102, 103, 104, 105, 106, -1, -1, 109, -1, -1,
mzta 0:158c61bb030f 4140 -1, -1, -1, -1, 3, 4, 5, 6, 7, 8,
mzta 0:158c61bb030f 4141 9, 10, 11, -1, -1, -1, -1, 129, 130, 131,
mzta 0:158c61bb030f 4142 19, -1, 21, 22, 23, 24, -1, -1, -1, -1,
mzta 0:158c61bb030f 4143 -1, 30, 31, 32, 33, 34, 35, 36, -1, -1,
mzta 0:158c61bb030f 4144 39, -1, -1, -1, -1, -1, -1, -1, -1, 48,
mzta 0:158c61bb030f 4145 49, -1, 51, 52, 53, 54, 55, 56, 57, 58,
mzta 0:158c61bb030f 4146 59, 60, -1, -1, 63, -1, -1, 66, 67, -1,
mzta 0:158c61bb030f 4147 69, 70, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4148 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4149 89, -1, -1, 92, 93, -1, 95, 96, -1, 98,
mzta 0:158c61bb030f 4150 -1, 100, 101, 102, 103, 104, 105, 106, -1, -1,
mzta 0:158c61bb030f 4151 109, 110, -1, -1, 113, 114, -1, 3, 4, 5,
mzta 0:158c61bb030f 4152 6, 7, 8, 9, 10, 11, 12, -1, -1, -1,
mzta 0:158c61bb030f 4153 129, 130, 131, 19, -1, 21, 22, 23, 24, -1,
mzta 0:158c61bb030f 4154 -1, -1, -1, -1, 30, 31, 32, 33, 34, 35,
mzta 0:158c61bb030f 4155 36, -1, -1, 39, -1, -1, -1, -1, -1, 45,
mzta 0:158c61bb030f 4156 -1, 47, 48, 49, -1, 51, 52, 53, 54, 55,
mzta 0:158c61bb030f 4157 56, -1, 58, 59, 60, -1, -1, 63, -1, -1,
mzta 0:158c61bb030f 4158 66, 67, -1, 69, 70, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4159 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4160 -1, -1, -1, 89, -1, -1, 92, 93, -1, 95,
mzta 0:158c61bb030f 4161 96, -1, 98, -1, 100, 101, 102, 103, 104, 105,
mzta 0:158c61bb030f 4162 106, -1, -1, 109, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4163 3, 4, 5, 6, 7, 8, 9, 10, 11, -1,
mzta 0:158c61bb030f 4164 -1, -1, -1, 129, 130, 131, 19, -1, 21, 22,
mzta 0:158c61bb030f 4165 23, 24, -1, -1, -1, -1, -1, 30, 31, 32,
mzta 0:158c61bb030f 4166 33, 34, 35, 36, -1, -1, 39, -1, -1, -1,
mzta 0:158c61bb030f 4167 -1, -1, -1, -1, -1, 48, 49, -1, 51, 52,
mzta 0:158c61bb030f 4168 53, 54, 55, 56, -1, 58, 59, 60, -1, -1,
mzta 0:158c61bb030f 4169 63, -1, -1, 66, 67, -1, 69, 70, -1, -1,
mzta 0:158c61bb030f 4170 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4171 -1, -1, -1, -1, -1, -1, 89, -1, -1, 92,
mzta 0:158c61bb030f 4172 93, -1, 95, 96, -1, 98, -1, 100, 101, 102,
mzta 0:158c61bb030f 4173 103, 104, 105, 106, -1, -1, 109, 110, -1, -1,
mzta 0:158c61bb030f 4174 113, 114, -1, 3, 4, 5, 6, 7, 8, 9,
mzta 0:158c61bb030f 4175 10, 11, -1, -1, -1, -1, 129, 130, 131, 19,
mzta 0:158c61bb030f 4176 -1, 21, 22, 23, 24, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4177 30, 31, 32, 33, 34, 35, 36, -1, -1, 39,
mzta 0:158c61bb030f 4178 -1, -1, -1, -1, -1, -1, -1, -1, 48, 49,
mzta 0:158c61bb030f 4179 -1, 51, 52, 53, 54, 55, 56, -1, 58, 59,
mzta 0:158c61bb030f 4180 60, -1, -1, 63, -1, -1, 66, 67, -1, 69,
mzta 0:158c61bb030f 4181 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4182 -1, -1, -1, -1, -1, -1, -1, -1, -1, 89,
mzta 0:158c61bb030f 4183 -1, -1, 92, 93, -1, 95, 96, -1, 98, -1,
mzta 0:158c61bb030f 4184 100, 101, 102, 103, 104, 105, 106, -1, -1, 109,
mzta 0:158c61bb030f 4185 110, -1, -1, 113, 114, -1, 3, 4, 5, 6,
mzta 0:158c61bb030f 4186 7, 8, 9, 10, 11, -1, -1, -1, -1, 129,
mzta 0:158c61bb030f 4187 130, 131, 19, -1, 21, 22, 23, 24, -1, -1,
mzta 0:158c61bb030f 4188 -1, -1, -1, 30, 31, 32, 33, 34, 35, 36,
mzta 0:158c61bb030f 4189 -1, -1, 39, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4190 -1, 48, 49, -1, 51, 52, 53, 54, 55, 56,
mzta 0:158c61bb030f 4191 -1, 58, 59, 60, -1, -1, 63, -1, -1, 66,
mzta 0:158c61bb030f 4192 67, -1, 69, 70, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4193 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4194 -1, -1, 89, -1, -1, 92, 93, -1, 95, 96,
mzta 0:158c61bb030f 4195 -1, 98, -1, 100, 101, 102, 103, 104, 105, 106,
mzta 0:158c61bb030f 4196 -1, -1, 109, 110, -1, -1, 113, 114, -1, 3,
mzta 0:158c61bb030f 4197 4, 5, 6, 7, 8, 9, 10, 11, -1, -1,
mzta 0:158c61bb030f 4198 -1, -1, 129, 130, 131, 19, -1, 21, 22, 23,
mzta 0:158c61bb030f 4199 24, -1, -1, -1, -1, -1, 30, 31, 32, 33,
mzta 0:158c61bb030f 4200 34, 35, 36, -1, -1, 39, -1, -1, -1, -1,
mzta 0:158c61bb030f 4201 -1, -1, -1, -1, 48, 49, -1, 51, 52, 53,
mzta 0:158c61bb030f 4202 54, 55, 56, 57, 58, 59, 60, -1, -1, 63,
mzta 0:158c61bb030f 4203 -1, -1, 66, 67, -1, 69, 70, -1, -1, -1,
mzta 0:158c61bb030f 4204 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4205 -1, -1, -1, -1, -1, 89, -1, -1, 92, 93,
mzta 0:158c61bb030f 4206 -1, 95, 96, -1, 98, 99, 100, 101, 102, 103,
mzta 0:158c61bb030f 4207 104, 105, 106, -1, -1, 109, -1, -1, -1, -1,
mzta 0:158c61bb030f 4208 -1, -1, 3, 4, 5, 6, 7, 8, 9, 10,
mzta 0:158c61bb030f 4209 11, -1, -1, -1, -1, 129, 130, 131, 19, -1,
mzta 0:158c61bb030f 4210 21, 22, 23, 24, -1, -1, -1, -1, -1, 30,
mzta 0:158c61bb030f 4211 31, 32, 33, 34, 35, 36, -1, -1, 39, -1,
mzta 0:158c61bb030f 4212 -1, -1, -1, -1, -1, -1, -1, 48, 49, -1,
mzta 0:158c61bb030f 4213 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
mzta 0:158c61bb030f 4214 -1, -1, 63, -1, -1, 66, 67, -1, 69, 70,
mzta 0:158c61bb030f 4215 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4216 -1, -1, -1, -1, -1, -1, -1, -1, 89, -1,
mzta 0:158c61bb030f 4217 -1, 92, 93, -1, 95, 96, -1, 98, -1, 100,
mzta 0:158c61bb030f 4218 101, 102, 103, 104, 105, 106, -1, -1, 109, -1,
mzta 0:158c61bb030f 4219 -1, -1, -1, -1, -1, 3, 4, 5, 6, 7,
mzta 0:158c61bb030f 4220 8, 9, 10, 11, -1, -1, -1, -1, 129, 130,
mzta 0:158c61bb030f 4221 131, 19, -1, 21, 22, 23, 24, -1, -1, -1,
mzta 0:158c61bb030f 4222 -1, -1, 30, 31, 32, 33, 34, 35, 36, -1,
mzta 0:158c61bb030f 4223 -1, 39, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4224 48, 49, -1, 51, 52, 53, 54, 55, 56, 57,
mzta 0:158c61bb030f 4225 58, 59, 60, -1, -1, 63, -1, -1, 66, 67,
mzta 0:158c61bb030f 4226 -1, 69, 70, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4227 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4228 -1, 89, -1, -1, 92, 93, -1, 95, 96, -1,
mzta 0:158c61bb030f 4229 -1, 99, 100, 101, 102, 103, 104, 105, 106, -1,
mzta 0:158c61bb030f 4230 -1, 109, -1, -1, -1, -1, -1, -1, 3, 4,
mzta 0:158c61bb030f 4231 5, 6, 7, 8, 9, 10, 11, -1, -1, -1,
mzta 0:158c61bb030f 4232 -1, 129, 130, 131, 19, -1, 21, 22, 23, 24,
mzta 0:158c61bb030f 4233 -1, -1, -1, -1, -1, 30, 31, 32, 33, 34,
mzta 0:158c61bb030f 4234 35, 36, -1, -1, 39, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4235 -1, -1, -1, 48, 49, -1, 51, 52, 53, 54,
mzta 0:158c61bb030f 4236 55, 56, 57, 58, 59, 60, -1, -1, 63, -1,
mzta 0:158c61bb030f 4237 -1, 66, 67, -1, 69, 70, -1, -1, -1, -1,
mzta 0:158c61bb030f 4238 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4239 -1, -1, -1, -1, 89, -1, -1, 92, 93, -1,
mzta 0:158c61bb030f 4240 95, 96, -1, -1, -1, 100, 101, 102, 103, 104,
mzta 0:158c61bb030f 4241 105, 106, -1, -1, 109, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4242 -1, 3, 4, 5, 6, 7, 8, 9, 10, 11,
mzta 0:158c61bb030f 4243 -1, -1, -1, -1, 129, 130, 131, 19, -1, 21,
mzta 0:158c61bb030f 4244 22, 23, 24, -1, -1, -1, -1, -1, 30, 31,
mzta 0:158c61bb030f 4245 32, 33, 34, 35, 36, -1, -1, 39, -1, -1,
mzta 0:158c61bb030f 4246 -1, -1, -1, -1, -1, -1, 48, 49, -1, 51,
mzta 0:158c61bb030f 4247 52, 53, 54, 55, 56, -1, 58, 59, 60, -1,
mzta 0:158c61bb030f 4248 -1, 63, -1, -1, 66, 67, -1, 69, 70, -1,
mzta 0:158c61bb030f 4249 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4250 -1, -1, -1, -1, -1, -1, -1, 89, -1, -1,
mzta 0:158c61bb030f 4251 92, 93, -1, 95, 96, -1, 98, -1, 100, 101,
mzta 0:158c61bb030f 4252 102, 103, 104, 105, 106, -1, -1, 109, -1, -1,
mzta 0:158c61bb030f 4253 -1, -1, -1, -1, 3, 4, 5, 6, 7, 8,
mzta 0:158c61bb030f 4254 9, 10, 11, -1, -1, -1, -1, 129, 130, 131,
mzta 0:158c61bb030f 4255 19, -1, 21, 22, 23, 24, -1, -1, -1, -1,
mzta 0:158c61bb030f 4256 -1, 30, 31, 32, 33, 34, 35, 36, -1, -1,
mzta 0:158c61bb030f 4257 39, -1, -1, -1, -1, -1, -1, -1, -1, 48,
mzta 0:158c61bb030f 4258 49, -1, 51, 52, 53, 54, 55, 56, -1, 58,
mzta 0:158c61bb030f 4259 59, 60, -1, -1, 63, -1, -1, 66, 67, -1,
mzta 0:158c61bb030f 4260 69, 70, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4261 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4262 89, -1, -1, 92, 93, -1, 95, 96, -1, 98,
mzta 0:158c61bb030f 4263 -1, 100, 101, 102, 103, 104, 105, 106, -1, -1,
mzta 0:158c61bb030f 4264 109, -1, -1, -1, -1, -1, -1, 3, 4, 5,
mzta 0:158c61bb030f 4265 6, 7, 8, 9, 10, 11, -1, -1, -1, -1,
mzta 0:158c61bb030f 4266 129, 130, 131, 19, -1, 21, 22, 23, 24, -1,
mzta 0:158c61bb030f 4267 -1, -1, -1, -1, 30, 31, 32, 33, 34, 35,
mzta 0:158c61bb030f 4268 36, -1, -1, 39, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4269 -1, -1, 48, 49, -1, 51, 52, 53, 54, 55,
mzta 0:158c61bb030f 4270 56, -1, 58, 59, 60, -1, -1, 63, -1, -1,
mzta 0:158c61bb030f 4271 66, 67, -1, 69, 70, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4272 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4273 -1, -1, -1, 89, -1, -1, 92, 93, -1, 95,
mzta 0:158c61bb030f 4274 96, -1, 98, -1, 100, 101, 102, 103, 104, 105,
mzta 0:158c61bb030f 4275 106, -1, -1, 109, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4276 3, 4, 5, 6, 7, 8, 9, 10, 11, -1,
mzta 0:158c61bb030f 4277 -1, -1, -1, 129, 130, 131, 19, -1, 21, 22,
mzta 0:158c61bb030f 4278 23, 24, -1, -1, -1, -1, -1, 30, 31, 32,
mzta 0:158c61bb030f 4279 33, 34, 35, 36, -1, -1, 39, -1, -1, -1,
mzta 0:158c61bb030f 4280 -1, -1, -1, -1, -1, 48, 49, -1, 51, 52,
mzta 0:158c61bb030f 4281 53, 54, 55, 56, -1, 58, 59, 60, -1, -1,
mzta 0:158c61bb030f 4282 63, -1, -1, 66, 67, -1, 69, 70, -1, -1,
mzta 0:158c61bb030f 4283 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4284 -1, -1, -1, -1, -1, -1, 89, -1, -1, 92,
mzta 0:158c61bb030f 4285 93, -1, 95, 96, -1, -1, -1, 100, 101, 102,
mzta 0:158c61bb030f 4286 103, 104, 105, 106, -1, -1, 109, -1, -1, -1,
mzta 0:158c61bb030f 4287 -1, -1, -1, 3, 4, 5, 6, 7, 8, 9,
mzta 0:158c61bb030f 4288 10, 11, -1, -1, -1, -1, 129, 130, 131, 19,
mzta 0:158c61bb030f 4289 -1, 21, 22, 23, 24, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4290 30, 31, 32, 33, 34, 35, 36, -1, -1, 39,
mzta 0:158c61bb030f 4291 -1, -1, -1, -1, -1, -1, -1, -1, 48, 49,
mzta 0:158c61bb030f 4292 -1, 51, 52, 53, 54, 55, 56, -1, 58, 59,
mzta 0:158c61bb030f 4293 60, -1, -1, 63, -1, -1, 66, 67, -1, 69,
mzta 0:158c61bb030f 4294 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4295 -1, -1, -1, -1, -1, -1, -1, -1, -1, 89,
mzta 0:158c61bb030f 4296 -1, -1, 92, 93, -1, 95, 96, -1, -1, -1,
mzta 0:158c61bb030f 4297 100, 101, 102, 103, 104, 105, 106, -1, -1, 109,
mzta 0:158c61bb030f 4298 -1, -1, -1, -1, -1, -1, 3, 4, 5, 6,
mzta 0:158c61bb030f 4299 7, 8, 9, 10, 11, -1, -1, -1, -1, 129,
mzta 0:158c61bb030f 4300 130, 131, 19, -1, 21, 22, 23, 24, -1, -1,
mzta 0:158c61bb030f 4301 -1, -1, -1, 30, 31, 32, 33, 34, 35, 36,
mzta 0:158c61bb030f 4302 -1, -1, 39, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4303 -1, 48, 49, -1, 51, 52, 53, 54, 55, 56,
mzta 0:158c61bb030f 4304 -1, 58, 59, 60, -1, -1, 63, -1, -1, 66,
mzta 0:158c61bb030f 4305 67, -1, 69, 70, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4306 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4307 -1, -1, 89, -1, -1, 92, 93, -1, 95, 96,
mzta 0:158c61bb030f 4308 -1, -1, -1, 100, 101, 102, 103, 104, 105, 106,
mzta 0:158c61bb030f 4309 -1, -1, 109, -1, -1, -1, -1, -1, -1, 3,
mzta 0:158c61bb030f 4310 4, 5, 6, 7, 8, 9, 10, 11, -1, -1,
mzta 0:158c61bb030f 4311 -1, -1, 129, 130, 131, 19, -1, 21, 22, 23,
mzta 0:158c61bb030f 4312 24, -1, -1, -1, -1, -1, 30, 31, 32, 33,
mzta 0:158c61bb030f 4313 34, 35, 36, -1, -1, 39, -1, -1, -1, -1,
mzta 0:158c61bb030f 4314 -1, -1, -1, -1, 48, 49, -1, 51, 52, 53,
mzta 0:158c61bb030f 4315 54, 55, 56, -1, 58, 59, 60, -1, -1, 63,
mzta 0:158c61bb030f 4316 -1, -1, 66, 67, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4317 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4318 -1, -1, 86, -1, -1, 89, -1, -1, 92, 93,
mzta 0:158c61bb030f 4319 -1, 95, 96, -1, -1, -1, 100, 101, 102, 103,
mzta 0:158c61bb030f 4320 104, 105, 106, -1, -1, 109, -1, -1, 3, 4,
mzta 0:158c61bb030f 4321 5, 6, 7, 8, 9, 10, 11, -1, -1, -1,
mzta 0:158c61bb030f 4322 -1, -1, -1, -1, 19, 129, 21, 22, 23, 24,
mzta 0:158c61bb030f 4323 -1, -1, -1, -1, -1, 30, 31, 32, 33, 34,
mzta 0:158c61bb030f 4324 35, 36, -1, -1, 39, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4325 -1, -1, -1, 48, 49, -1, 51, 52, 53, 54,
mzta 0:158c61bb030f 4326 55, 56, -1, 58, 59, 60, -1, -1, 63, -1,
mzta 0:158c61bb030f 4327 -1, 66, 67, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4328 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4329 -1, -1, -1, -1, 89, -1, -1, 92, 93, -1,
mzta 0:158c61bb030f 4330 95, 96, -1, 98, -1, 100, 101, 102, 103, 104,
mzta 0:158c61bb030f 4331 105, 106, -1, -1, 109, -1, -1, 3, 4, 5,
mzta 0:158c61bb030f 4332 6, 7, 8, 9, 10, 11, -1, -1, -1, -1,
mzta 0:158c61bb030f 4333 -1, -1, -1, 19, 129, 21, 22, 23, 24, -1,
mzta 0:158c61bb030f 4334 -1, -1, -1, -1, 30, 31, 32, 33, 34, 35,
mzta 0:158c61bb030f 4335 36, -1, -1, 39, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4336 -1, -1, 48, 49, -1, 51, 52, 53, 54, 55,
mzta 0:158c61bb030f 4337 56, -1, 58, 59, 60, -1, -1, 63, -1, -1,
mzta 0:158c61bb030f 4338 66, 67, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4339 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4340 -1, -1, -1, 89, -1, -1, 92, 93, -1, 95,
mzta 0:158c61bb030f 4341 96, -1, 98, -1, 100, 101, 102, 103, 104, 105,
mzta 0:158c61bb030f 4342 106, -1, -1, 109, -1, -1, 3, 4, 5, 6,
mzta 0:158c61bb030f 4343 7, 8, 9, 10, 11, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4344 -1, -1, 19, 129, 21, 22, 23, 24, -1, -1,
mzta 0:158c61bb030f 4345 -1, -1, -1, 30, 31, 32, 33, 34, 35, 36,
mzta 0:158c61bb030f 4346 -1, -1, 39, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4347 -1, 48, 49, -1, 51, 52, 53, 54, 55, 56,
mzta 0:158c61bb030f 4348 -1, 58, 59, 60, -1, -1, 63, -1, -1, 66,
mzta 0:158c61bb030f 4349 67, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4350 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4351 -1, -1, 89, -1, -1, 92, 93, -1, 95, 96,
mzta 0:158c61bb030f 4352 -1, -1, -1, 100, 101, 102, 103, 104, 105, 106,
mzta 0:158c61bb030f 4353 -1, -1, 109, -1, -1, 3, 4, 5, 6, 7,
mzta 0:158c61bb030f 4354 8, 9, 10, 11, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4355 -1, 19, 129, 21, 22, 23, 24, -1, -1, -1,
mzta 0:158c61bb030f 4356 -1, -1, 30, 31, 32, 33, 34, 35, 36, -1,
mzta 0:158c61bb030f 4357 -1, 39, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4358 48, 49, -1, 51, 52, 53, 54, 55, 56, -1,
mzta 0:158c61bb030f 4359 58, 59, 60, -1, -1, 63, -1, -1, 66, 67,
mzta 0:158c61bb030f 4360 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4361 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4362 -1, 89, -1, -1, 92, 93, -1, 95, 96, -1,
mzta 0:158c61bb030f 4363 -1, -1, 100, 101, 102, 103, 104, 105, 106, -1,
mzta 0:158c61bb030f 4364 -1, 109, -1, -1, 3, 4, 5, 6, 7, 8,
mzta 0:158c61bb030f 4365 9, 10, 11, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4366 19, 129, 21, 22, 23, 24, -1, -1, -1, -1,
mzta 0:158c61bb030f 4367 -1, 30, 31, 32, 33, 34, 35, 36, -1, -1,
mzta 0:158c61bb030f 4368 39, -1, -1, -1, -1, -1, -1, -1, -1, 48,
mzta 0:158c61bb030f 4369 49, -1, 51, 52, 53, 54, 55, 56, -1, 58,
mzta 0:158c61bb030f 4370 59, 60, -1, -1, 63, -1, -1, 66, 67, -1,
mzta 0:158c61bb030f 4371 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4372 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4373 89, -1, -1, 92, 93, -1, 95, 96, -1, -1,
mzta 0:158c61bb030f 4374 -1, 100, 101, 102, 103, 104, 105, 106, -1, -1,
mzta 0:158c61bb030f 4375 109, -1, -1, 3, 4, 5, 6, 7, 8, 9,
mzta 0:158c61bb030f 4376 10, 11, -1, -1, -1, -1, -1, -1, -1, 19,
mzta 0:158c61bb030f 4377 129, 21, 22, 23, 24, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4378 30, 31, 32, 33, 34, 35, 36, -1, -1, 39,
mzta 0:158c61bb030f 4379 -1, -1, -1, -1, -1, -1, -1, -1, 48, 49,
mzta 0:158c61bb030f 4380 -1, 51, 52, 53, 54, 55, 56, -1, 58, 59,
mzta 0:158c61bb030f 4381 60, -1, -1, 63, -1, -1, 66, 67, -1, 71,
mzta 0:158c61bb030f 4382 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
mzta 0:158c61bb030f 4383 82, 83, -1, -1, 86, 87, -1, -1, -1, 89,
mzta 0:158c61bb030f 4384 -1, -1, 92, 93, -1, 95, 96, -1, -1, -1,
mzta 0:158c61bb030f 4385 100, 101, 102, 103, 104, 105, 106, -1, -1, 109,
mzta 0:158c61bb030f 4386 -1, -1, 51, 52, -1, -1, 55, 119, 120, 121,
mzta 0:158c61bb030f 4387 122, 123, 124, 125, 126, 127, 128, -1, -1, 129,
mzta 0:158c61bb030f 4388 69, 70, 71, 72, 73, 74, 75, 76, 77, -1,
mzta 0:158c61bb030f 4389 -1, 80, 81, -1, -1, 84, 85, 86, 87, -1,
mzta 0:158c61bb030f 4390 -1, -1, -1, -1, -1, -1, -1, -1, -1, 98,
mzta 0:158c61bb030f 4391 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4392 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4393 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
mzta 0:158c61bb030f 4394 -1, 130, 131, 51, 52, -1, -1, 55, -1, -1,
mzta 0:158c61bb030f 4395 -1, -1, -1, -1, -1, -1, -1, -1, -1, 148,
mzta 0:158c61bb030f 4396 149, 69, 70, 71, 72, 73, 74, 75, 76, 77,
mzta 0:158c61bb030f 4397 -1, -1, 80, 81, -1, -1, 84, 85, 86, 87,
mzta 0:158c61bb030f 4398 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4399 98, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4400 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4401 -1, 119, 120, 121, 122, 123, 124, 125, 126, 127,
mzta 0:158c61bb030f 4402 128, -1, 130, 131, 51, 52, -1, -1, 55, -1,
mzta 0:158c61bb030f 4403 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4404 148, 149, 69, 70, 71, 72, 73, 74, 75, 76,
mzta 0:158c61bb030f 4405 77, -1, -1, 80, 81, -1, -1, 84, 85, 86,
mzta 0:158c61bb030f 4406 87, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4407 -1, 98, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4408 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4409 -1, -1, 119, 120, 121, 122, 123, 124, 125, 126,
mzta 0:158c61bb030f 4410 127, 128, -1, 130, 131, 51, 52, -1, -1, 55,
mzta 0:158c61bb030f 4411 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4412 -1, 148, 149, 69, 70, 71, 72, 73, 74, 75,
mzta 0:158c61bb030f 4413 76, 77, -1, -1, 80, 81, -1, -1, 84, 85,
mzta 0:158c61bb030f 4414 86, 87, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4415 -1, -1, 98, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4416 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4417 -1, -1, -1, 119, 120, 121, 122, 123, 124, 125,
mzta 0:158c61bb030f 4418 126, 127, 128, -1, 130, 131, 51, 52, -1, -1,
mzta 0:158c61bb030f 4419 55, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4420 -1, -1, 148, 149, 69, 70, 71, 72, 73, 74,
mzta 0:158c61bb030f 4421 75, 76, 77, -1, -1, 80, 81, -1, -1, 84,
mzta 0:158c61bb030f 4422 85, 86, 87, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4423 -1, -1, -1, 98, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4424 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4425 -1, -1, -1, -1, 119, 120, 121, 122, 123, 124,
mzta 0:158c61bb030f 4426 125, 126, 127, 128, -1, 130, 131, 51, 52, -1,
mzta 0:158c61bb030f 4427 -1, 55, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4428 -1, -1, -1, 148, 149, 69, 70, 71, 72, 73,
mzta 0:158c61bb030f 4429 74, 75, 76, 77, -1, -1, 80, 81, -1, -1,
mzta 0:158c61bb030f 4430 84, 85, 86, 87, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4431 -1, -1, -1, -1, 98, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4432 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4433 -1, -1, -1, -1, -1, 119, 120, 121, 122, 123,
mzta 0:158c61bb030f 4434 124, 125, 126, 127, 128, -1, 130, 131, 51, 52,
mzta 0:158c61bb030f 4435 -1, -1, 55, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4436 -1, -1, -1, -1, 148, 149, 69, 70, 71, 72,
mzta 0:158c61bb030f 4437 73, 74, 75, 76, 77, -1, -1, 80, 81, -1,
mzta 0:158c61bb030f 4438 -1, 84, 85, 86, 87, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4439 -1, -1, -1, -1, -1, 98, -1, -1, -1, -1,
mzta 0:158c61bb030f 4440 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4441 -1, -1, -1, -1, -1, -1, 119, 120, 121, 122,
mzta 0:158c61bb030f 4442 123, 124, 125, 126, 127, 128, -1, 130, 131, 51,
mzta 0:158c61bb030f 4443 52, -1, -1, 55, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4444 -1, -1, -1, -1, -1, 148, 149, 69, 70, 71,
mzta 0:158c61bb030f 4445 72, 73, 74, 75, 76, 77, -1, -1, 80, 81,
mzta 0:158c61bb030f 4446 -1, -1, 84, 85, 86, 87, -1, -1, -1, -1,
mzta 0:158c61bb030f 4447 -1, -1, -1, -1, -1, -1, 98, -1, -1, -1,
mzta 0:158c61bb030f 4448 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4449 -1, -1, -1, -1, -1, -1, -1, 119, 120, 121,
mzta 0:158c61bb030f 4450 122, 123, 124, 125, 126, 127, 128, -1, 130, 131,
mzta 0:158c61bb030f 4451 51, 52, -1, -1, 55, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4452 -1, -1, -1, -1, -1, -1, 148, 149, 69, 70,
mzta 0:158c61bb030f 4453 71, 72, 73, 74, 75, 76, 77, -1, -1, 80,
mzta 0:158c61bb030f 4454 81, -1, -1, 84, 85, 86, 87, -1, -1, -1,
mzta 0:158c61bb030f 4455 -1, -1, -1, -1, -1, -1, -1, 98, -1, -1,
mzta 0:158c61bb030f 4456 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4457 -1, -1, -1, -1, -1, -1, -1, -1, 119, 120,
mzta 0:158c61bb030f 4458 121, 122, 123, 124, 125, 126, 127, 128, -1, 130,
mzta 0:158c61bb030f 4459 131, 51, 52, -1, -1, 55, -1, -1, -1, -1,
mzta 0:158c61bb030f 4460 -1, -1, -1, -1, -1, -1, -1, 148, 149, 69,
mzta 0:158c61bb030f 4461 70, 71, 72, 73, 74, 75, 76, 77, -1, -1,
mzta 0:158c61bb030f 4462 80, 81, -1, -1, 84, 85, 86, 87, -1, -1,
mzta 0:158c61bb030f 4463 -1, -1, -1, -1, -1, -1, -1, -1, 98, -1,
mzta 0:158c61bb030f 4464 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4465 -1, -1, -1, -1, -1, -1, -1, -1, -1, 119,
mzta 0:158c61bb030f 4466 120, 121, 122, 123, 124, 125, 126, 127, 128, -1,
mzta 0:158c61bb030f 4467 130, 131, 51, 52, -1, -1, 55, -1, -1, -1,
mzta 0:158c61bb030f 4468 -1, -1, -1, -1, -1, -1, -1, -1, 148, 149,
mzta 0:158c61bb030f 4469 69, 70, 71, 72, 73, 74, 75, 76, 77, -1,
mzta 0:158c61bb030f 4470 -1, 80, 81, -1, -1, 84, 85, 86, 87, -1,
mzta 0:158c61bb030f 4471 -1, -1, -1, -1, -1, -1, -1, -1, -1, 98,
mzta 0:158c61bb030f 4472 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4473 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4474 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
mzta 0:158c61bb030f 4475 -1, 130, 131, 51, 52, -1, -1, 55, -1, -1,
mzta 0:158c61bb030f 4476 -1, -1, -1, -1, -1, -1, -1, -1, -1, 148,
mzta 0:158c61bb030f 4477 149, 69, 70, 71, 72, 73, 74, 75, 76, 77,
mzta 0:158c61bb030f 4478 -1, -1, 80, 81, -1, -1, 84, 85, 86, 87,
mzta 0:158c61bb030f 4479 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4480 98, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4481 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4482 -1, 119, 120, 121, 122, 123, 124, 125, 126, 127,
mzta 0:158c61bb030f 4483 128, -1, 130, 131, 51, 52, -1, -1, 55, -1,
mzta 0:158c61bb030f 4484 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4485 148, 149, 69, 70, 71, 72, 73, 74, 75, 76,
mzta 0:158c61bb030f 4486 77, -1, -1, 80, 81, -1, -1, 84, 85, 86,
mzta 0:158c61bb030f 4487 87, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4488 -1, 98, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4489 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4490 -1, -1, 119, 120, 121, 122, 123, 124, 125, 126,
mzta 0:158c61bb030f 4491 127, 128, -1, 130, 131, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4492 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
mzta 0:158c61bb030f 4493 -1, 148
mzta 0:158c61bb030f 4494 };
mzta 0:158c61bb030f 4495
mzta 0:158c61bb030f 4496 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
mzta 0:158c61bb030f 4497 symbol of state STATE-NUM. */
mzta 0:158c61bb030f 4498 static const yytype_uint16 yystos[] =
mzta 0:158c61bb030f 4499 {
mzta 0:158c61bb030f 4500 0, 155, 156, 0, 1, 3, 4, 5, 6, 7,
mzta 0:158c61bb030f 4501 8, 9, 10, 11, 12, 19, 21, 22, 23, 24,
mzta 0:158c61bb030f 4502 30, 31, 32, 33, 34, 35, 36, 39, 45, 46,
mzta 0:158c61bb030f 4503 47, 48, 49, 51, 52, 53, 54, 55, 56, 58,
mzta 0:158c61bb030f 4504 59, 60, 63, 66, 67, 69, 70, 89, 92, 93,
mzta 0:158c61bb030f 4505 95, 96, 98, 100, 101, 102, 103, 104, 105, 106,
mzta 0:158c61bb030f 4506 109, 129, 130, 131, 157, 158, 159, 164, 166, 167,
mzta 0:158c61bb030f 4507 169, 170, 173, 174, 176, 177, 178, 180, 181, 190,
mzta 0:158c61bb030f 4508 203, 223, 242, 243, 253, 254, 258, 259, 260, 267,
mzta 0:158c61bb030f 4509 268, 269, 271, 272, 273, 274, 275, 276, 300, 313,
mzta 0:158c61bb030f 4510 159, 21, 22, 30, 31, 32, 39, 51, 55, 86,
mzta 0:158c61bb030f 4511 89, 92, 129, 182, 183, 203, 223, 273, 276, 300,
mzta 0:158c61bb030f 4512 183, 3, 4, 5, 6, 7, 8, 9, 10, 11,
mzta 0:158c61bb030f 4513 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
mzta 0:158c61bb030f 4514 22, 23, 24, 25, 26, 30, 31, 32, 33, 34,
mzta 0:158c61bb030f 4515 35, 36, 37, 38, 39, 45, 46, 47, 48, 49,
mzta 0:158c61bb030f 4516 50, 51, 52, 55, 69, 70, 71, 72, 73, 74,
mzta 0:158c61bb030f 4517 75, 76, 77, 80, 81, 84, 85, 86, 87, 98,
mzta 0:158c61bb030f 4518 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
mzta 0:158c61bb030f 4519 130, 131, 148, 149, 184, 188, 189, 275, 295, 204,
mzta 0:158c61bb030f 4520 89, 167, 168, 181, 223, 273, 274, 276, 168, 209,
mzta 0:158c61bb030f 4521 211, 89, 174, 181, 223, 228, 273, 276, 33, 34,
mzta 0:158c61bb030f 4522 35, 36, 48, 49, 51, 55, 101, 184, 185, 186,
mzta 0:158c61bb030f 4523 269, 152, 153, 168, 304, 309, 310, 312, 57, 98,
mzta 0:158c61bb030f 4524 99, 130, 173, 190, 191, 196, 199, 201, 298, 299,
mzta 0:158c61bb030f 4525 196, 196, 149, 197, 198, 149, 193, 197, 149, 305,
mzta 0:158c61bb030f 4526 310, 185, 160, 143, 190, 223, 190, 55, 1, 92,
mzta 0:158c61bb030f 4527 162, 163, 164, 175, 176, 313, 205, 207, 192, 201,
mzta 0:158c61bb030f 4528 298, 313, 191, 297, 298, 313, 89, 147, 180, 223,
mzta 0:158c61bb030f 4529 273, 276, 208, 53, 54, 56, 63, 105, 184, 270,
mzta 0:158c61bb030f 4530 62, 64, 65, 111, 112, 255, 256, 63, 255, 63,
mzta 0:158c61bb030f 4531 255, 63, 255, 61, 255, 58, 59, 169, 190, 190,
mzta 0:158c61bb030f 4532 304, 312, 40, 41, 42, 43, 44, 37, 38, 28,
mzta 0:158c61bb030f 4533 240, 116, 147, 92, 98, 177, 116, 71, 72, 73,
mzta 0:158c61bb030f 4534 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
mzta 0:158c61bb030f 4535 86, 87, 117, 119, 120, 121, 122, 123, 124, 125,
mzta 0:158c61bb030f 4536 126, 127, 128, 88, 145, 146, 88, 146, 303, 26,
mzta 0:158c61bb030f 4537 143, 244, 90, 90, 193, 197, 244, 167, 51, 55,
mzta 0:158c61bb030f 4538 182, 58, 59, 1, 120, 277, 309, 88, 145, 146,
mzta 0:158c61bb030f 4539 218, 296, 219, 303, 161, 162, 55, 16, 224, 309,
mzta 0:158c61bb030f 4540 116, 88, 145, 146, 90, 90, 224, 168, 168, 55,
mzta 0:158c61bb030f 4541 88, 145, 146, 25, 105, 147, 311, 304, 20, 247,
mzta 0:158c61bb030f 4542 152, 191, 191, 191, 91, 147, 200, 313, 147, 200,
mzta 0:158c61bb030f 4543 196, 305, 306, 196, 195, 196, 201, 298, 313, 167,
mzta 0:158c61bb030f 4544 306, 167, 165, 143, 162, 88, 146, 90, 164, 175,
mzta 0:158c61bb030f 4545 150, 304, 312, 306, 167, 306, 151, 147, 308, 310,
mzta 0:158c61bb030f 4546 147, 308, 144, 308, 55, 177, 178, 179, 147, 88,
mzta 0:158c61bb030f 4547 145, 146, 51, 53, 54, 55, 56, 92, 98, 99,
mzta 0:158c61bb030f 4548 123, 126, 149, 238, 280, 281, 282, 283, 284, 285,
mzta 0:158c61bb030f 4549 286, 289, 290, 291, 292, 293, 63, 256, 257, 110,
mzta 0:158c61bb030f 4550 113, 114, 262, 263, 264, 265, 62, 256, 63, 63,
mzta 0:158c61bb030f 4551 63, 61, 71, 71, 159, 168, 168, 168, 168, 164,
mzta 0:158c61bb030f 4552 167, 167, 241, 98, 169, 191, 201, 202, 175, 147,
mzta 0:158c61bb030f 4553 180, 147, 166, 169, 181, 190, 191, 202, 190, 190,
mzta 0:158c61bb030f 4554 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
mzta 0:158c61bb030f 4555 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
mzta 0:158c61bb030f 4556 190, 190, 190, 190, 51, 52, 55, 188, 193, 301,
mzta 0:158c61bb030f 4557 302, 195, 51, 52, 55, 188, 193, 301, 51, 55,
mzta 0:158c61bb030f 4558 301, 246, 245, 169, 190, 169, 190, 97, 171, 216,
mzta 0:158c61bb030f 4559 309, 278, 215, 51, 55, 182, 301, 195, 301, 161,
mzta 0:158c61bb030f 4560 167, 220, 221, 15, 13, 249, 313, 162, 16, 190,
mzta 0:158c61bb030f 4561 51, 55, 195, 51, 55, 162, 27, 225, 309, 225,
mzta 0:158c61bb030f 4562 51, 55, 195, 51, 55, 213, 187, 261, 262, 247,
mzta 0:158c61bb030f 4563 201, 15, 191, 98, 191, 199, 262, 298, 299, 306,
mzta 0:158c61bb030f 4564 150, 306, 147, 147, 306, 185, 157, 144, 190, 306,
mzta 0:158c61bb030f 4565 164, 206, 298, 177, 179, 51, 55, 195, 51, 55,
mzta 0:158c61bb030f 4566 116, 51, 92, 98, 229, 230, 231, 282, 280, 29,
mzta 0:158c61bb030f 4567 108, 239, 147, 294, 313, 191, 147, 294, 51, 147,
mzta 0:158c61bb030f 4568 294, 51, 63, 162, 266, 263, 110, 265, 190, 190,
mzta 0:158c61bb030f 4569 79, 121, 233, 234, 313, 191, 147, 306, 179, 147,
mzta 0:158c61bb030f 4570 116, 44, 305, 90, 90, 193, 197, 305, 307, 90,
mzta 0:158c61bb030f 4571 90, 193, 194, 197, 313, 194, 197, 233, 233, 44,
mzta 0:158c61bb030f 4572 172, 309, 168, 161, 307, 15, 306, 149, 279, 280,
mzta 0:158c61bb030f 4573 184, 191, 202, 250, 313, 18, 227, 313, 17, 226,
mzta 0:158c61bb030f 4574 227, 90, 90, 307, 90, 90, 227, 210, 212, 307,
mzta 0:158c61bb030f 4575 168, 185, 15, 147, 224, 191, 98, 191, 200, 298,
mzta 0:158c61bb030f 4576 144, 306, 308, 307, 231, 147, 282, 147, 306, 235,
mzta 0:158c61bb030f 4577 305, 162, 162, 283, 289, 291, 293, 284, 286, 291,
mzta 0:158c61bb030f 4578 284, 144, 162, 232, 235, 284, 285, 287, 288, 291,
mzta 0:158c61bb030f 4579 293, 162, 98, 191, 179, 190, 118, 169, 190, 169,
mzta 0:158c61bb030f 4580 190, 171, 151, 90, 169, 190, 169, 190, 171, 244,
mzta 0:158c61bb030f 4581 240, 162, 162, 190, 233, 217, 309, 15, 280, 161,
mzta 0:158c61bb030f 4582 309, 222, 91, 251, 313, 162, 14, 252, 313, 168,
mzta 0:158c61bb030f 4583 15, 90, 15, 162, 162, 225, 191, 162, 191, 147,
mzta 0:158c61bb030f 4584 306, 230, 147, 98, 229, 150, 152, 15, 144, 147,
mzta 0:158c61bb030f 4585 294, 147, 294, 147, 294, 147, 294, 294, 144, 235,
mzta 0:158c61bb030f 4586 121, 147, 294, 89, 223, 147, 294, 147, 294, 15,
mzta 0:158c61bb030f 4587 191, 190, 169, 190, 15, 144, 162, 161, 306, 15,
mzta 0:158c61bb030f 4588 279, 89, 181, 223, 273, 276, 224, 162, 224, 15,
mzta 0:158c61bb030f 4589 15, 214, 227, 247, 248, 147, 230, 147, 282, 51,
mzta 0:158c61bb030f 4590 236, 237, 281, 284, 291, 284, 284, 121, 288, 291,
mzta 0:158c61bb030f 4591 55, 88, 284, 287, 291, 284, 144, 15, 161, 55,
mzta 0:158c61bb030f 4592 88, 145, 146, 162, 162, 162, 230, 147, 147, 305,
mzta 0:158c61bb030f 4593 294, 147, 294, 294, 294, 147, 294, 147, 294, 51,
mzta 0:158c61bb030f 4594 55, 294, 147, 294, 294, 15, 51, 55, 195, 51,
mzta 0:158c61bb030f 4595 55, 249, 226, 15, 230, 237, 284, 284, 291, 284,
mzta 0:158c61bb030f 4596 284, 307, 294, 294, 147, 294, 294, 294, 284, 294
mzta 0:158c61bb030f 4597 };
mzta 0:158c61bb030f 4598
mzta 0:158c61bb030f 4599 #define yyerrok (yyerrstatus = 0)
mzta 0:158c61bb030f 4600 #define yyclearin (yychar = YYEMPTY)
mzta 0:158c61bb030f 4601 #define YYEMPTY (-2)
mzta 0:158c61bb030f 4602 #define YYEOF 0
mzta 0:158c61bb030f 4603
mzta 0:158c61bb030f 4604 #define YYACCEPT goto yyacceptlab
mzta 0:158c61bb030f 4605 #define YYABORT goto yyabortlab
mzta 0:158c61bb030f 4606 #define YYERROR goto yyerrorlab
mzta 0:158c61bb030f 4607
mzta 0:158c61bb030f 4608
mzta 0:158c61bb030f 4609 /* Like YYERROR except do call yyerror. This remains here temporarily
mzta 0:158c61bb030f 4610 to ease the transition to the new meaning of YYERROR, for GCC.
mzta 0:158c61bb030f 4611 Once GCC version 2 has supplanted version 1, this can go. However,
mzta 0:158c61bb030f 4612 YYFAIL appears to be in use. Nevertheless, it is formally deprecated
mzta 0:158c61bb030f 4613 in Bison 2.4.2's NEWS entry, where a plan to phase it out is
mzta 0:158c61bb030f 4614 discussed. */
mzta 0:158c61bb030f 4615
mzta 0:158c61bb030f 4616 #define YYFAIL goto yyerrlab
mzta 0:158c61bb030f 4617 #if defined YYFAIL
mzta 0:158c61bb030f 4618 /* This is here to suppress warnings from the GCC cpp's
mzta 0:158c61bb030f 4619 -Wunused-macros. Normally we don't worry about that warning, but
mzta 0:158c61bb030f 4620 some users do, and we want to make it easy for users to remove
mzta 0:158c61bb030f 4621 YYFAIL uses, which will produce warnings from Bison 2.5. */
mzta 0:158c61bb030f 4622 #endif
mzta 0:158c61bb030f 4623
mzta 0:158c61bb030f 4624 #define YYRECOVERING() (!!yyerrstatus)
mzta 0:158c61bb030f 4625
mzta 0:158c61bb030f 4626 #define YYBACKUP(Token, Value) \
mzta 0:158c61bb030f 4627 do \
mzta 0:158c61bb030f 4628 if (yychar == YYEMPTY && yylen == 1) \
mzta 0:158c61bb030f 4629 { \
mzta 0:158c61bb030f 4630 yychar = (Token); \
mzta 0:158c61bb030f 4631 yylval = (Value); \
mzta 0:158c61bb030f 4632 yytoken = YYTRANSLATE (yychar); \
mzta 0:158c61bb030f 4633 YYPOPSTACK (1); \
mzta 0:158c61bb030f 4634 goto yybackup; \
mzta 0:158c61bb030f 4635 } \
mzta 0:158c61bb030f 4636 else \
mzta 0:158c61bb030f 4637 { \
mzta 0:158c61bb030f 4638 yyerror (p, YY_("syntax error: cannot back up")); \
mzta 0:158c61bb030f 4639 YYERROR; \
mzta 0:158c61bb030f 4640 } \
mzta 0:158c61bb030f 4641 while (YYID (0))
mzta 0:158c61bb030f 4642
mzta 0:158c61bb030f 4643
mzta 0:158c61bb030f 4644 #define YYTERROR 1
mzta 0:158c61bb030f 4645 #define YYERRCODE 256
mzta 0:158c61bb030f 4646
mzta 0:158c61bb030f 4647
mzta 0:158c61bb030f 4648 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
mzta 0:158c61bb030f 4649 If N is 0, then set CURRENT to the empty location which ends
mzta 0:158c61bb030f 4650 the previous symbol: RHS[0] (always defined). */
mzta 0:158c61bb030f 4651
mzta 0:158c61bb030f 4652 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
mzta 0:158c61bb030f 4653 #ifndef YYLLOC_DEFAULT
mzta 0:158c61bb030f 4654 # define YYLLOC_DEFAULT(Current, Rhs, N) \
mzta 0:158c61bb030f 4655 do \
mzta 0:158c61bb030f 4656 if (YYID (N)) \
mzta 0:158c61bb030f 4657 { \
mzta 0:158c61bb030f 4658 (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
mzta 0:158c61bb030f 4659 (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
mzta 0:158c61bb030f 4660 (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
mzta 0:158c61bb030f 4661 (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
mzta 0:158c61bb030f 4662 } \
mzta 0:158c61bb030f 4663 else \
mzta 0:158c61bb030f 4664 { \
mzta 0:158c61bb030f 4665 (Current).first_line = (Current).last_line = \
mzta 0:158c61bb030f 4666 YYRHSLOC (Rhs, 0).last_line; \
mzta 0:158c61bb030f 4667 (Current).first_column = (Current).last_column = \
mzta 0:158c61bb030f 4668 YYRHSLOC (Rhs, 0).last_column; \
mzta 0:158c61bb030f 4669 } \
mzta 0:158c61bb030f 4670 while (YYID (0))
mzta 0:158c61bb030f 4671 #endif
mzta 0:158c61bb030f 4672
mzta 0:158c61bb030f 4673
mzta 0:158c61bb030f 4674 /* YY_LOCATION_PRINT -- Print the location on the stream.
mzta 0:158c61bb030f 4675 This macro was not mandated originally: define only if we know
mzta 0:158c61bb030f 4676 we won't break user code: when these are the locations we know. */
mzta 0:158c61bb030f 4677
mzta 0:158c61bb030f 4678 #ifndef YY_LOCATION_PRINT
mzta 0:158c61bb030f 4679 # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
mzta 0:158c61bb030f 4680 # define YY_LOCATION_PRINT(File, Loc) \
mzta 0:158c61bb030f 4681 fprintf (File, "%d.%d-%d.%d", \
mzta 0:158c61bb030f 4682 (Loc).first_line, (Loc).first_column, \
mzta 0:158c61bb030f 4683 (Loc).last_line, (Loc).last_column)
mzta 0:158c61bb030f 4684 # else
mzta 0:158c61bb030f 4685 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
mzta 0:158c61bb030f 4686 # endif
mzta 0:158c61bb030f 4687 #endif
mzta 0:158c61bb030f 4688
mzta 0:158c61bb030f 4689
mzta 0:158c61bb030f 4690 /* YYLEX -- calling `yylex' with the right arguments. */
mzta 0:158c61bb030f 4691
mzta 0:158c61bb030f 4692 #ifdef YYLEX_PARAM
mzta 0:158c61bb030f 4693 # define YYLEX yylex (&yylval, YYLEX_PARAM)
mzta 0:158c61bb030f 4694 #else
mzta 0:158c61bb030f 4695 # define YYLEX yylex (&yylval, p)
mzta 0:158c61bb030f 4696 #endif
mzta 0:158c61bb030f 4697
mzta 0:158c61bb030f 4698 /* Enable debugging if requested. */
mzta 0:158c61bb030f 4699 #if YYDEBUG
mzta 0:158c61bb030f 4700
mzta 0:158c61bb030f 4701 # ifndef YYFPRINTF
mzta 0:158c61bb030f 4702 # include <stdio.h> /* INFRINGES ON USER NAME SPACE */
mzta 0:158c61bb030f 4703 # define YYFPRINTF fprintf
mzta 0:158c61bb030f 4704 # endif
mzta 0:158c61bb030f 4705
mzta 0:158c61bb030f 4706 # define YYDPRINTF(Args) \
mzta 0:158c61bb030f 4707 do { \
mzta 0:158c61bb030f 4708 if (yydebug) \
mzta 0:158c61bb030f 4709 YYFPRINTF Args; \
mzta 0:158c61bb030f 4710 } while (YYID (0))
mzta 0:158c61bb030f 4711
mzta 0:158c61bb030f 4712 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
mzta 0:158c61bb030f 4713 do { \
mzta 0:158c61bb030f 4714 if (yydebug) \
mzta 0:158c61bb030f 4715 { \
mzta 0:158c61bb030f 4716 YYFPRINTF (stderr, "%s ", Title); \
mzta 0:158c61bb030f 4717 yy_symbol_print (stderr, \
mzta 0:158c61bb030f 4718 Type, Value, p); \
mzta 0:158c61bb030f 4719 YYFPRINTF (stderr, "\n"); \
mzta 0:158c61bb030f 4720 } \
mzta 0:158c61bb030f 4721 } while (YYID (0))
mzta 0:158c61bb030f 4722
mzta 0:158c61bb030f 4723
mzta 0:158c61bb030f 4724 /*--------------------------------.
mzta 0:158c61bb030f 4725 | Print this symbol on YYOUTPUT. |
mzta 0:158c61bb030f 4726 `--------------------------------*/
mzta 0:158c61bb030f 4727
mzta 0:158c61bb030f 4728 /*ARGSUSED*/
mzta 0:158c61bb030f 4729 #if (defined __STDC__ || defined __C99__FUNC__ \
mzta 0:158c61bb030f 4730 || defined __cplusplus || defined _MSC_VER)
mzta 0:158c61bb030f 4731 static void
mzta 0:158c61bb030f 4732 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, parser_state *p)
mzta 0:158c61bb030f 4733 #else
mzta 0:158c61bb030f 4734 static void
mzta 0:158c61bb030f 4735 yy_symbol_value_print (yyoutput, yytype, yyvaluep, p)
mzta 0:158c61bb030f 4736 FILE *yyoutput;
mzta 0:158c61bb030f 4737 int yytype;
mzta 0:158c61bb030f 4738 YYSTYPE const * const yyvaluep;
mzta 0:158c61bb030f 4739 parser_state *p;
mzta 0:158c61bb030f 4740 #endif
mzta 0:158c61bb030f 4741 {
mzta 0:158c61bb030f 4742 if (!yyvaluep)
mzta 0:158c61bb030f 4743 return;
mzta 0:158c61bb030f 4744 YYUSE (p);
mzta 0:158c61bb030f 4745 # ifdef YYPRINT
mzta 0:158c61bb030f 4746 if (yytype < YYNTOKENS)
mzta 0:158c61bb030f 4747 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
mzta 0:158c61bb030f 4748 # else
mzta 0:158c61bb030f 4749 YYUSE (yyoutput);
mzta 0:158c61bb030f 4750 # endif
mzta 0:158c61bb030f 4751 switch (yytype)
mzta 0:158c61bb030f 4752 {
mzta 0:158c61bb030f 4753 default:
mzta 0:158c61bb030f 4754 break;
mzta 0:158c61bb030f 4755 }
mzta 0:158c61bb030f 4756 }
mzta 0:158c61bb030f 4757
mzta 0:158c61bb030f 4758
mzta 0:158c61bb030f 4759 /*--------------------------------.
mzta 0:158c61bb030f 4760 | Print this symbol on YYOUTPUT. |
mzta 0:158c61bb030f 4761 `--------------------------------*/
mzta 0:158c61bb030f 4762
mzta 0:158c61bb030f 4763 #if (defined __STDC__ || defined __C99__FUNC__ \
mzta 0:158c61bb030f 4764 || defined __cplusplus || defined _MSC_VER)
mzta 0:158c61bb030f 4765 static void
mzta 0:158c61bb030f 4766 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, parser_state *p)
mzta 0:158c61bb030f 4767 #else
mzta 0:158c61bb030f 4768 static void
mzta 0:158c61bb030f 4769 yy_symbol_print (yyoutput, yytype, yyvaluep, p)
mzta 0:158c61bb030f 4770 FILE *yyoutput;
mzta 0:158c61bb030f 4771 int yytype;
mzta 0:158c61bb030f 4772 YYSTYPE const * const yyvaluep;
mzta 0:158c61bb030f 4773 parser_state *p;
mzta 0:158c61bb030f 4774 #endif
mzta 0:158c61bb030f 4775 {
mzta 0:158c61bb030f 4776 if (yytype < YYNTOKENS)
mzta 0:158c61bb030f 4777 YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
mzta 0:158c61bb030f 4778 else
mzta 0:158c61bb030f 4779 YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
mzta 0:158c61bb030f 4780
mzta 0:158c61bb030f 4781 yy_symbol_value_print (yyoutput, yytype, yyvaluep, p);
mzta 0:158c61bb030f 4782 YYFPRINTF (yyoutput, ")");
mzta 0:158c61bb030f 4783 }
mzta 0:158c61bb030f 4784
mzta 0:158c61bb030f 4785 /*------------------------------------------------------------------.
mzta 0:158c61bb030f 4786 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
mzta 0:158c61bb030f 4787 | TOP (included). |
mzta 0:158c61bb030f 4788 `------------------------------------------------------------------*/
mzta 0:158c61bb030f 4789
mzta 0:158c61bb030f 4790 #if (defined __STDC__ || defined __C99__FUNC__ \
mzta 0:158c61bb030f 4791 || defined __cplusplus || defined _MSC_VER)
mzta 0:158c61bb030f 4792 static void
mzta 0:158c61bb030f 4793 yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
mzta 0:158c61bb030f 4794 #else
mzta 0:158c61bb030f 4795 static void
mzta 0:158c61bb030f 4796 yy_stack_print (yybottom, yytop)
mzta 0:158c61bb030f 4797 yytype_int16 *yybottom;
mzta 0:158c61bb030f 4798 yytype_int16 *yytop;
mzta 0:158c61bb030f 4799 #endif
mzta 0:158c61bb030f 4800 {
mzta 0:158c61bb030f 4801 YYFPRINTF (stderr, "Stack now");
mzta 0:158c61bb030f 4802 for (; yybottom <= yytop; yybottom++)
mzta 0:158c61bb030f 4803 {
mzta 0:158c61bb030f 4804 int yybot = *yybottom;
mzta 0:158c61bb030f 4805 YYFPRINTF (stderr, " %d", yybot);
mzta 0:158c61bb030f 4806 }
mzta 0:158c61bb030f 4807 YYFPRINTF (stderr, "\n");
mzta 0:158c61bb030f 4808 }
mzta 0:158c61bb030f 4809
mzta 0:158c61bb030f 4810 # define YY_STACK_PRINT(Bottom, Top) \
mzta 0:158c61bb030f 4811 do { \
mzta 0:158c61bb030f 4812 if (yydebug) \
mzta 0:158c61bb030f 4813 yy_stack_print ((Bottom), (Top)); \
mzta 0:158c61bb030f 4814 } while (YYID (0))
mzta 0:158c61bb030f 4815
mzta 0:158c61bb030f 4816
mzta 0:158c61bb030f 4817 /*------------------------------------------------.
mzta 0:158c61bb030f 4818 | Report that the YYRULE is going to be reduced. |
mzta 0:158c61bb030f 4819 `------------------------------------------------*/
mzta 0:158c61bb030f 4820
mzta 0:158c61bb030f 4821 #if (defined __STDC__ || defined __C99__FUNC__ \
mzta 0:158c61bb030f 4822 || defined __cplusplus || defined _MSC_VER)
mzta 0:158c61bb030f 4823 static void
mzta 0:158c61bb030f 4824 yy_reduce_print (YYSTYPE *yyvsp, int yyrule, parser_state *p)
mzta 0:158c61bb030f 4825 #else
mzta 0:158c61bb030f 4826 static void
mzta 0:158c61bb030f 4827 yy_reduce_print (yyvsp, yyrule, p)
mzta 0:158c61bb030f 4828 YYSTYPE *yyvsp;
mzta 0:158c61bb030f 4829 int yyrule;
mzta 0:158c61bb030f 4830 parser_state *p;
mzta 0:158c61bb030f 4831 #endif
mzta 0:158c61bb030f 4832 {
mzta 0:158c61bb030f 4833 int yynrhs = yyr2[yyrule];
mzta 0:158c61bb030f 4834 int yyi;
mzta 0:158c61bb030f 4835 unsigned long int yylno = yyrline[yyrule];
mzta 0:158c61bb030f 4836 YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
mzta 0:158c61bb030f 4837 yyrule - 1, yylno);
mzta 0:158c61bb030f 4838 /* The symbols being reduced. */
mzta 0:158c61bb030f 4839 for (yyi = 0; yyi < yynrhs; yyi++)
mzta 0:158c61bb030f 4840 {
mzta 0:158c61bb030f 4841 YYFPRINTF (stderr, " $%d = ", yyi + 1);
mzta 0:158c61bb030f 4842 yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
mzta 0:158c61bb030f 4843 &(yyvsp[(yyi + 1) - (yynrhs)])
mzta 0:158c61bb030f 4844 , p);
mzta 0:158c61bb030f 4845 YYFPRINTF (stderr, "\n");
mzta 0:158c61bb030f 4846 }
mzta 0:158c61bb030f 4847 }
mzta 0:158c61bb030f 4848
mzta 0:158c61bb030f 4849 # define YY_REDUCE_PRINT(Rule) \
mzta 0:158c61bb030f 4850 do { \
mzta 0:158c61bb030f 4851 if (yydebug) \
mzta 0:158c61bb030f 4852 yy_reduce_print (yyvsp, Rule, p); \
mzta 0:158c61bb030f 4853 } while (YYID (0))
mzta 0:158c61bb030f 4854
mzta 0:158c61bb030f 4855 /* Nonzero means print parse trace. It is left uninitialized so that
mzta 0:158c61bb030f 4856 multiple parsers can coexist. */
mzta 0:158c61bb030f 4857 int yydebug;
mzta 0:158c61bb030f 4858 #else /* !YYDEBUG */
mzta 0:158c61bb030f 4859 # define YYDPRINTF(Args)
mzta 0:158c61bb030f 4860 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
mzta 0:158c61bb030f 4861 # define YY_STACK_PRINT(Bottom, Top)
mzta 0:158c61bb030f 4862 # define YY_REDUCE_PRINT(Rule)
mzta 0:158c61bb030f 4863 #endif /* !YYDEBUG */
mzta 0:158c61bb030f 4864
mzta 0:158c61bb030f 4865
mzta 0:158c61bb030f 4866 /* YYINITDEPTH -- initial size of the parser's stacks. */
mzta 0:158c61bb030f 4867 #ifndef YYINITDEPTH
mzta 0:158c61bb030f 4868 # define YYINITDEPTH 200
mzta 0:158c61bb030f 4869 #endif
mzta 0:158c61bb030f 4870
mzta 0:158c61bb030f 4871 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
mzta 0:158c61bb030f 4872 if the built-in stack extension method is used).
mzta 0:158c61bb030f 4873
mzta 0:158c61bb030f 4874 Do not make this value too large; the results are undefined if
mzta 0:158c61bb030f 4875 YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
mzta 0:158c61bb030f 4876 evaluated with infinite-precision integer arithmetic. */
mzta 0:158c61bb030f 4877
mzta 0:158c61bb030f 4878 #ifndef YYMAXDEPTH
mzta 0:158c61bb030f 4879 # define YYMAXDEPTH 10000
mzta 0:158c61bb030f 4880 #endif
mzta 0:158c61bb030f 4881
mzta 0:158c61bb030f 4882
mzta 0:158c61bb030f 4883
mzta 0:158c61bb030f 4884 #if YYERROR_VERBOSE
mzta 0:158c61bb030f 4885
mzta 0:158c61bb030f 4886 # ifndef yystrlen
mzta 0:158c61bb030f 4887 # if defined __GLIBC__ && defined _STRING_H
mzta 0:158c61bb030f 4888 # define yystrlen strlen
mzta 0:158c61bb030f 4889 # else
mzta 0:158c61bb030f 4890 /* Return the length of YYSTR. */
mzta 0:158c61bb030f 4891 #if (defined __STDC__ || defined __C99__FUNC__ \
mzta 0:158c61bb030f 4892 || defined __cplusplus || defined _MSC_VER)
mzta 0:158c61bb030f 4893 static YYSIZE_T
mzta 0:158c61bb030f 4894 yystrlen (const char *yystr)
mzta 0:158c61bb030f 4895 #else
mzta 0:158c61bb030f 4896 static YYSIZE_T
mzta 0:158c61bb030f 4897 yystrlen (yystr)
mzta 0:158c61bb030f 4898 const char *yystr;
mzta 0:158c61bb030f 4899 #endif
mzta 0:158c61bb030f 4900 {
mzta 0:158c61bb030f 4901 YYSIZE_T yylen;
mzta 0:158c61bb030f 4902 for (yylen = 0; yystr[yylen]; yylen++)
mzta 0:158c61bb030f 4903 continue;
mzta 0:158c61bb030f 4904 return yylen;
mzta 0:158c61bb030f 4905 }
mzta 0:158c61bb030f 4906 # endif
mzta 0:158c61bb030f 4907 # endif
mzta 0:158c61bb030f 4908
mzta 0:158c61bb030f 4909 # ifndef yystpcpy
mzta 0:158c61bb030f 4910 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
mzta 0:158c61bb030f 4911 # define yystpcpy stpcpy
mzta 0:158c61bb030f 4912 # else
mzta 0:158c61bb030f 4913 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
mzta 0:158c61bb030f 4914 YYDEST. */
mzta 0:158c61bb030f 4915 #if (defined __STDC__ || defined __C99__FUNC__ \
mzta 0:158c61bb030f 4916 || defined __cplusplus || defined _MSC_VER)
mzta 0:158c61bb030f 4917 static char *
mzta 0:158c61bb030f 4918 yystpcpy (char *yydest, const char *yysrc)
mzta 0:158c61bb030f 4919 #else
mzta 0:158c61bb030f 4920 static char *
mzta 0:158c61bb030f 4921 yystpcpy (yydest, yysrc)
mzta 0:158c61bb030f 4922 char *yydest;
mzta 0:158c61bb030f 4923 const char *yysrc;
mzta 0:158c61bb030f 4924 #endif
mzta 0:158c61bb030f 4925 {
mzta 0:158c61bb030f 4926 char *yyd = yydest;
mzta 0:158c61bb030f 4927 const char *yys = yysrc;
mzta 0:158c61bb030f 4928
mzta 0:158c61bb030f 4929 while ((*yyd++ = *yys++) != '\0')
mzta 0:158c61bb030f 4930 continue;
mzta 0:158c61bb030f 4931
mzta 0:158c61bb030f 4932 return yyd - 1;
mzta 0:158c61bb030f 4933 }
mzta 0:158c61bb030f 4934 # endif
mzta 0:158c61bb030f 4935 # endif
mzta 0:158c61bb030f 4936
mzta 0:158c61bb030f 4937 # ifndef yytnamerr
mzta 0:158c61bb030f 4938 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
mzta 0:158c61bb030f 4939 quotes and backslashes, so that it's suitable for yyerror. The
mzta 0:158c61bb030f 4940 heuristic is that double-quoting is unnecessary unless the string
mzta 0:158c61bb030f 4941 contains an apostrophe, a comma, or backslash (other than
mzta 0:158c61bb030f 4942 backslash-backslash). YYSTR is taken from yytname. If YYRES is
mzta 0:158c61bb030f 4943 null, do not copy; instead, return the length of what the result
mzta 0:158c61bb030f 4944 would have been. */
mzta 0:158c61bb030f 4945 static YYSIZE_T
mzta 0:158c61bb030f 4946 yytnamerr (char *yyres, const char *yystr)
mzta 0:158c61bb030f 4947 {
mzta 0:158c61bb030f 4948 if (*yystr == '"')
mzta 0:158c61bb030f 4949 {
mzta 0:158c61bb030f 4950 YYSIZE_T yyn = 0;
mzta 0:158c61bb030f 4951 char const *yyp = yystr;
mzta 0:158c61bb030f 4952
mzta 0:158c61bb030f 4953 for (;;)
mzta 0:158c61bb030f 4954 switch (*++yyp)
mzta 0:158c61bb030f 4955 {
mzta 0:158c61bb030f 4956 case '\'':
mzta 0:158c61bb030f 4957 case ',':
mzta 0:158c61bb030f 4958 goto do_not_strip_quotes;
mzta 0:158c61bb030f 4959
mzta 0:158c61bb030f 4960 case '\\':
mzta 0:158c61bb030f 4961 if (*++yyp != '\\')
mzta 0:158c61bb030f 4962 goto do_not_strip_quotes;
mzta 0:158c61bb030f 4963 /* Fall through. */
mzta 0:158c61bb030f 4964 default:
mzta 0:158c61bb030f 4965 if (yyres)
mzta 0:158c61bb030f 4966 yyres[yyn] = *yyp;
mzta 0:158c61bb030f 4967 yyn++;
mzta 0:158c61bb030f 4968 break;
mzta 0:158c61bb030f 4969
mzta 0:158c61bb030f 4970 case '"':
mzta 0:158c61bb030f 4971 if (yyres)
mzta 0:158c61bb030f 4972 yyres[yyn] = '\0';
mzta 0:158c61bb030f 4973 return yyn;
mzta 0:158c61bb030f 4974 }
mzta 0:158c61bb030f 4975 do_not_strip_quotes: ;
mzta 0:158c61bb030f 4976 }
mzta 0:158c61bb030f 4977
mzta 0:158c61bb030f 4978 if (! yyres)
mzta 0:158c61bb030f 4979 return yystrlen (yystr);
mzta 0:158c61bb030f 4980
mzta 0:158c61bb030f 4981 return yystpcpy (yyres, yystr) - yyres;
mzta 0:158c61bb030f 4982 }
mzta 0:158c61bb030f 4983 # endif
mzta 0:158c61bb030f 4984
mzta 0:158c61bb030f 4985 /* Copy into YYRESULT an error message about the unexpected token
mzta 0:158c61bb030f 4986 YYCHAR while in state YYSTATE. Return the number of bytes copied,
mzta 0:158c61bb030f 4987 including the terminating null byte. If YYRESULT is null, do not
mzta 0:158c61bb030f 4988 copy anything; just return the number of bytes that would be
mzta 0:158c61bb030f 4989 copied. As a special case, return 0 if an ordinary "syntax error"
mzta 0:158c61bb030f 4990 message will do. Return YYSIZE_MAXIMUM if overflow occurs during
mzta 0:158c61bb030f 4991 size calculation. */
mzta 0:158c61bb030f 4992 static YYSIZE_T
mzta 0:158c61bb030f 4993 yysyntax_error (char *yyresult, int yystate, int yychar)
mzta 0:158c61bb030f 4994 {
mzta 0:158c61bb030f 4995 int yyn = yypact[yystate];
mzta 0:158c61bb030f 4996
mzta 0:158c61bb030f 4997 if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
mzta 0:158c61bb030f 4998 return 0;
mzta 0:158c61bb030f 4999 else
mzta 0:158c61bb030f 5000 {
mzta 0:158c61bb030f 5001 int yytype = YYTRANSLATE (yychar);
mzta 0:158c61bb030f 5002 YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
mzta 0:158c61bb030f 5003 YYSIZE_T yysize = yysize0;
mzta 0:158c61bb030f 5004 YYSIZE_T yysize1;
mzta 0:158c61bb030f 5005 int yysize_overflow = 0;
mzta 0:158c61bb030f 5006 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
mzta 0:158c61bb030f 5007 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
mzta 0:158c61bb030f 5008 int yyx;
mzta 0:158c61bb030f 5009
mzta 0:158c61bb030f 5010 # if 0
mzta 0:158c61bb030f 5011 /* This is so xgettext sees the translatable formats that are
mzta 0:158c61bb030f 5012 constructed on the fly. */
mzta 0:158c61bb030f 5013 YY_("syntax error, unexpected %s");
mzta 0:158c61bb030f 5014 YY_("syntax error, unexpected %s, expecting %s");
mzta 0:158c61bb030f 5015 YY_("syntax error, unexpected %s, expecting %s or %s");
mzta 0:158c61bb030f 5016 YY_("syntax error, unexpected %s, expecting %s or %s or %s");
mzta 0:158c61bb030f 5017 YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
mzta 0:158c61bb030f 5018 # endif
mzta 0:158c61bb030f 5019 char *yyfmt;
mzta 0:158c61bb030f 5020 char const *yyf;
mzta 0:158c61bb030f 5021 static char const yyunexpected[] = "syntax error, unexpected %s";
mzta 0:158c61bb030f 5022 static char const yyexpecting[] = ", expecting %s";
mzta 0:158c61bb030f 5023 static char const yyor[] = " or %s";
mzta 0:158c61bb030f 5024 char yyformat[sizeof yyunexpected
mzta 0:158c61bb030f 5025 + sizeof yyexpecting - 1
mzta 0:158c61bb030f 5026 + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
mzta 0:158c61bb030f 5027 * (sizeof yyor - 1))];
mzta 0:158c61bb030f 5028 char const *yyprefix = yyexpecting;
mzta 0:158c61bb030f 5029
mzta 0:158c61bb030f 5030 /* Start YYX at -YYN if negative to avoid negative indexes in
mzta 0:158c61bb030f 5031 YYCHECK. */
mzta 0:158c61bb030f 5032 int yyxbegin = yyn < 0 ? -yyn : 0;
mzta 0:158c61bb030f 5033
mzta 0:158c61bb030f 5034 /* Stay within bounds of both yycheck and yytname. */
mzta 0:158c61bb030f 5035 int yychecklim = YYLAST - yyn + 1;
mzta 0:158c61bb030f 5036 int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
mzta 0:158c61bb030f 5037 int yycount = 1;
mzta 0:158c61bb030f 5038
mzta 0:158c61bb030f 5039 yyarg[0] = yytname[yytype];
mzta 0:158c61bb030f 5040 yyfmt = yystpcpy (yyformat, yyunexpected);
mzta 0:158c61bb030f 5041
mzta 0:158c61bb030f 5042 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
mzta 0:158c61bb030f 5043 if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
mzta 0:158c61bb030f 5044 {
mzta 0:158c61bb030f 5045 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
mzta 0:158c61bb030f 5046 {
mzta 0:158c61bb030f 5047 yycount = 1;
mzta 0:158c61bb030f 5048 yysize = yysize0;
mzta 0:158c61bb030f 5049 yyformat[sizeof yyunexpected - 1] = '\0';
mzta 0:158c61bb030f 5050 break;
mzta 0:158c61bb030f 5051 }
mzta 0:158c61bb030f 5052 yyarg[yycount++] = yytname[yyx];
mzta 0:158c61bb030f 5053 yysize1 = yysize + yytnamerr (0, yytname[yyx]);
mzta 0:158c61bb030f 5054 yysize_overflow |= (yysize1 < yysize);
mzta 0:158c61bb030f 5055 yysize = yysize1;
mzta 0:158c61bb030f 5056 yyfmt = yystpcpy (yyfmt, yyprefix);
mzta 0:158c61bb030f 5057 yyprefix = yyor;
mzta 0:158c61bb030f 5058 }
mzta 0:158c61bb030f 5059
mzta 0:158c61bb030f 5060 yyf = YY_(yyformat);
mzta 0:158c61bb030f 5061 yysize1 = yysize + yystrlen (yyf);
mzta 0:158c61bb030f 5062 yysize_overflow |= (yysize1 < yysize);
mzta 0:158c61bb030f 5063 yysize = yysize1;
mzta 0:158c61bb030f 5064
mzta 0:158c61bb030f 5065 if (yysize_overflow)
mzta 0:158c61bb030f 5066 return YYSIZE_MAXIMUM;
mzta 0:158c61bb030f 5067
mzta 0:158c61bb030f 5068 if (yyresult)
mzta 0:158c61bb030f 5069 {
mzta 0:158c61bb030f 5070 /* Avoid sprintf, as that infringes on the user's name space.
mzta 0:158c61bb030f 5071 Don't have undefined behavior even if the translation
mzta 0:158c61bb030f 5072 produced a string with the wrong number of "%s"s. */
mzta 0:158c61bb030f 5073 char *yyp = yyresult;
mzta 0:158c61bb030f 5074 int yyi = 0;
mzta 0:158c61bb030f 5075 while ((*yyp = *yyf) != '\0')
mzta 0:158c61bb030f 5076 {
mzta 0:158c61bb030f 5077 if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
mzta 0:158c61bb030f 5078 {
mzta 0:158c61bb030f 5079 yyp += yytnamerr (yyp, yyarg[yyi++]);
mzta 0:158c61bb030f 5080 yyf += 2;
mzta 0:158c61bb030f 5081 }
mzta 0:158c61bb030f 5082 else
mzta 0:158c61bb030f 5083 {
mzta 0:158c61bb030f 5084 yyp++;
mzta 0:158c61bb030f 5085 yyf++;
mzta 0:158c61bb030f 5086 }
mzta 0:158c61bb030f 5087 }
mzta 0:158c61bb030f 5088 }
mzta 0:158c61bb030f 5089 return yysize;
mzta 0:158c61bb030f 5090 }
mzta 0:158c61bb030f 5091 }
mzta 0:158c61bb030f 5092 #endif /* YYERROR_VERBOSE */
mzta 0:158c61bb030f 5093
mzta 0:158c61bb030f 5094
mzta 0:158c61bb030f 5095 /*-----------------------------------------------.
mzta 0:158c61bb030f 5096 | Release the memory associated to this symbol. |
mzta 0:158c61bb030f 5097 `-----------------------------------------------*/
mzta 0:158c61bb030f 5098
mzta 0:158c61bb030f 5099 /*ARGSUSED*/
mzta 0:158c61bb030f 5100 #if (defined __STDC__ || defined __C99__FUNC__ \
mzta 0:158c61bb030f 5101 || defined __cplusplus || defined _MSC_VER)
mzta 0:158c61bb030f 5102 static void
mzta 0:158c61bb030f 5103 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, parser_state *p)
mzta 0:158c61bb030f 5104 #else
mzta 0:158c61bb030f 5105 static void
mzta 0:158c61bb030f 5106 yydestruct (yymsg, yytype, yyvaluep, p)
mzta 0:158c61bb030f 5107 const char *yymsg;
mzta 0:158c61bb030f 5108 int yytype;
mzta 0:158c61bb030f 5109 YYSTYPE *yyvaluep;
mzta 0:158c61bb030f 5110 parser_state *p;
mzta 0:158c61bb030f 5111 #endif
mzta 0:158c61bb030f 5112 {
mzta 0:158c61bb030f 5113 YYUSE (yyvaluep);
mzta 0:158c61bb030f 5114 YYUSE (p);
mzta 0:158c61bb030f 5115
mzta 0:158c61bb030f 5116 if (!yymsg)
mzta 0:158c61bb030f 5117 yymsg = "Deleting";
mzta 0:158c61bb030f 5118 YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
mzta 0:158c61bb030f 5119
mzta 0:158c61bb030f 5120 switch (yytype)
mzta 0:158c61bb030f 5121 {
mzta 0:158c61bb030f 5122
mzta 0:158c61bb030f 5123 default:
mzta 0:158c61bb030f 5124 break;
mzta 0:158c61bb030f 5125 }
mzta 0:158c61bb030f 5126 }
mzta 0:158c61bb030f 5127
mzta 0:158c61bb030f 5128 /* Prevent warnings from -Wmissing-prototypes. */
mzta 0:158c61bb030f 5129 #ifdef YYPARSE_PARAM
mzta 0:158c61bb030f 5130 #if defined __STDC__ || defined __cplusplus
mzta 0:158c61bb030f 5131 int yyparse (void *YYPARSE_PARAM);
mzta 0:158c61bb030f 5132 #else
mzta 0:158c61bb030f 5133 int yyparse ();
mzta 0:158c61bb030f 5134 #endif
mzta 0:158c61bb030f 5135 #else /* ! YYPARSE_PARAM */
mzta 0:158c61bb030f 5136 #if defined __STDC__ || defined __cplusplus
mzta 0:158c61bb030f 5137 int yyparse (parser_state *p);
mzta 0:158c61bb030f 5138 #else
mzta 0:158c61bb030f 5139 int yyparse ();
mzta 0:158c61bb030f 5140 #endif
mzta 0:158c61bb030f 5141 #endif /* ! YYPARSE_PARAM */
mzta 0:158c61bb030f 5142
mzta 0:158c61bb030f 5143
mzta 0:158c61bb030f 5144
mzta 0:158c61bb030f 5145
mzta 0:158c61bb030f 5146
mzta 0:158c61bb030f 5147 /*-------------------------.
mzta 0:158c61bb030f 5148 | yyparse or yypush_parse. |
mzta 0:158c61bb030f 5149 `-------------------------*/
mzta 0:158c61bb030f 5150
mzta 0:158c61bb030f 5151 #ifdef YYPARSE_PARAM
mzta 0:158c61bb030f 5152 #if (defined __STDC__ || defined __C99__FUNC__ \
mzta 0:158c61bb030f 5153 || defined __cplusplus || defined _MSC_VER)
mzta 0:158c61bb030f 5154 int
mzta 0:158c61bb030f 5155 yyparse (void *YYPARSE_PARAM)
mzta 0:158c61bb030f 5156 #else
mzta 0:158c61bb030f 5157 int
mzta 0:158c61bb030f 5158 yyparse (YYPARSE_PARAM)
mzta 0:158c61bb030f 5159 void *YYPARSE_PARAM;
mzta 0:158c61bb030f 5160 #endif
mzta 0:158c61bb030f 5161 #else /* ! YYPARSE_PARAM */
mzta 0:158c61bb030f 5162 #if (defined __STDC__ || defined __C99__FUNC__ \
mzta 0:158c61bb030f 5163 || defined __cplusplus || defined _MSC_VER)
mzta 0:158c61bb030f 5164 int
mzta 0:158c61bb030f 5165 yyparse (parser_state *p)
mzta 0:158c61bb030f 5166 #else
mzta 0:158c61bb030f 5167 int
mzta 0:158c61bb030f 5168 yyparse (p)
mzta 0:158c61bb030f 5169 parser_state *p;
mzta 0:158c61bb030f 5170 #endif
mzta 0:158c61bb030f 5171 #endif
mzta 0:158c61bb030f 5172 {
mzta 0:158c61bb030f 5173 /* The lookahead symbol. */
mzta 0:158c61bb030f 5174 int yychar;
mzta 0:158c61bb030f 5175
mzta 0:158c61bb030f 5176 /* The semantic value of the lookahead symbol. */
mzta 0:158c61bb030f 5177 YYSTYPE yylval;
mzta 0:158c61bb030f 5178
mzta 0:158c61bb030f 5179 /* Number of syntax errors so far. */
mzta 0:158c61bb030f 5180 int yynerrs;
mzta 0:158c61bb030f 5181
mzta 0:158c61bb030f 5182 int yystate;
mzta 0:158c61bb030f 5183 /* Number of tokens to shift before error messages enabled. */
mzta 0:158c61bb030f 5184 int yyerrstatus;
mzta 0:158c61bb030f 5185
mzta 0:158c61bb030f 5186 /* The stacks and their tools:
mzta 0:158c61bb030f 5187 `yyss': related to states.
mzta 0:158c61bb030f 5188 `yyvs': related to semantic values.
mzta 0:158c61bb030f 5189
mzta 0:158c61bb030f 5190 Refer to the stacks thru separate pointers, to allow yyoverflow
mzta 0:158c61bb030f 5191 to reallocate them elsewhere. */
mzta 0:158c61bb030f 5192
mzta 0:158c61bb030f 5193 /* The state stack. */
mzta 0:158c61bb030f 5194 yytype_int16 yyssa[YYINITDEPTH];
mzta 0:158c61bb030f 5195 yytype_int16 *yyss;
mzta 0:158c61bb030f 5196 yytype_int16 *yyssp;
mzta 0:158c61bb030f 5197
mzta 0:158c61bb030f 5198 /* The semantic value stack. */
mzta 0:158c61bb030f 5199 YYSTYPE yyvsa[YYINITDEPTH];
mzta 0:158c61bb030f 5200 YYSTYPE *yyvs;
mzta 0:158c61bb030f 5201 YYSTYPE *yyvsp;
mzta 0:158c61bb030f 5202
mzta 0:158c61bb030f 5203 YYSIZE_T yystacksize;
mzta 0:158c61bb030f 5204
mzta 0:158c61bb030f 5205 int yyn;
mzta 0:158c61bb030f 5206 int yyresult;
mzta 0:158c61bb030f 5207 /* Lookahead token as an internal (translated) token number. */
mzta 0:158c61bb030f 5208 int yytoken;
mzta 0:158c61bb030f 5209 /* The variables used to return semantic value and location from the
mzta 0:158c61bb030f 5210 action routines. */
mzta 0:158c61bb030f 5211 YYSTYPE yyval;
mzta 0:158c61bb030f 5212
mzta 0:158c61bb030f 5213 #if YYERROR_VERBOSE
mzta 0:158c61bb030f 5214 /* Buffer for error messages, and its allocated size. */
mzta 0:158c61bb030f 5215 char yymsgbuf[128];
mzta 0:158c61bb030f 5216 char *yymsg = yymsgbuf;
mzta 0:158c61bb030f 5217 YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
mzta 0:158c61bb030f 5218 #endif
mzta 0:158c61bb030f 5219
mzta 0:158c61bb030f 5220 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
mzta 0:158c61bb030f 5221
mzta 0:158c61bb030f 5222 /* The number of symbols on the RHS of the reduced rule.
mzta 0:158c61bb030f 5223 Keep to zero when no symbol should be popped. */
mzta 0:158c61bb030f 5224 int yylen = 0;
mzta 0:158c61bb030f 5225
mzta 0:158c61bb030f 5226 yytoken = 0;
mzta 0:158c61bb030f 5227 yyss = yyssa;
mzta 0:158c61bb030f 5228 yyvs = yyvsa;
mzta 0:158c61bb030f 5229 yystacksize = YYINITDEPTH;
mzta 0:158c61bb030f 5230
mzta 0:158c61bb030f 5231 YYDPRINTF ((stderr, "Starting parse\n"));
mzta 0:158c61bb030f 5232
mzta 0:158c61bb030f 5233 yystate = 0;
mzta 0:158c61bb030f 5234 yyerrstatus = 0;
mzta 0:158c61bb030f 5235 yynerrs = 0;
mzta 0:158c61bb030f 5236 yychar = YYEMPTY; /* Cause a token to be read. */
mzta 0:158c61bb030f 5237
mzta 0:158c61bb030f 5238 /* Initialize stack pointers.
mzta 0:158c61bb030f 5239 Waste one element of value and location stack
mzta 0:158c61bb030f 5240 so that they stay on the same level as the state stack.
mzta 0:158c61bb030f 5241 The wasted elements are never initialized. */
mzta 0:158c61bb030f 5242 yyssp = yyss;
mzta 0:158c61bb030f 5243 yyvsp = yyvs;
mzta 0:158c61bb030f 5244
mzta 0:158c61bb030f 5245 goto yysetstate;
mzta 0:158c61bb030f 5246
mzta 0:158c61bb030f 5247 /*------------------------------------------------------------.
mzta 0:158c61bb030f 5248 | yynewstate -- Push a new state, which is found in yystate. |
mzta 0:158c61bb030f 5249 `------------------------------------------------------------*/
mzta 0:158c61bb030f 5250 yynewstate:
mzta 0:158c61bb030f 5251 /* In all cases, when you get here, the value and location stacks
mzta 0:158c61bb030f 5252 have just been pushed. So pushing a state here evens the stacks. */
mzta 0:158c61bb030f 5253 yyssp++;
mzta 0:158c61bb030f 5254
mzta 0:158c61bb030f 5255 yysetstate:
mzta 0:158c61bb030f 5256 *yyssp = yystate;
mzta 0:158c61bb030f 5257
mzta 0:158c61bb030f 5258 if (yyss + yystacksize - 1 <= yyssp)
mzta 0:158c61bb030f 5259 {
mzta 0:158c61bb030f 5260 /* Get the current used size of the three stacks, in elements. */
mzta 0:158c61bb030f 5261 YYSIZE_T yysize = yyssp - yyss + 1;
mzta 0:158c61bb030f 5262
mzta 0:158c61bb030f 5263 #ifdef yyoverflow
mzta 0:158c61bb030f 5264 {
mzta 0:158c61bb030f 5265 /* Give user a chance to reallocate the stack. Use copies of
mzta 0:158c61bb030f 5266 these so that the &'s don't force the real ones into
mzta 0:158c61bb030f 5267 memory. */
mzta 0:158c61bb030f 5268 YYSTYPE *yyvs1 = yyvs;
mzta 0:158c61bb030f 5269 yytype_int16 *yyss1 = yyss;
mzta 0:158c61bb030f 5270
mzta 0:158c61bb030f 5271 /* Each stack pointer address is followed by the size of the
mzta 0:158c61bb030f 5272 data in use in that stack, in bytes. This used to be a
mzta 0:158c61bb030f 5273 conditional around just the two extra args, but that might
mzta 0:158c61bb030f 5274 be undefined if yyoverflow is a macro. */
mzta 0:158c61bb030f 5275 yyoverflow (YY_("memory exhausted"),
mzta 0:158c61bb030f 5276 &yyss1, yysize * sizeof (*yyssp),
mzta 0:158c61bb030f 5277 &yyvs1, yysize * sizeof (*yyvsp),
mzta 0:158c61bb030f 5278 &yystacksize);
mzta 0:158c61bb030f 5279
mzta 0:158c61bb030f 5280 yyss = yyss1;
mzta 0:158c61bb030f 5281 yyvs = yyvs1;
mzta 0:158c61bb030f 5282 }
mzta 0:158c61bb030f 5283 #else /* no yyoverflow */
mzta 0:158c61bb030f 5284 # ifndef YYSTACK_RELOCATE
mzta 0:158c61bb030f 5285 goto yyexhaustedlab;
mzta 0:158c61bb030f 5286 # else
mzta 0:158c61bb030f 5287 /* Extend the stack our own way. */
mzta 0:158c61bb030f 5288 if (YYMAXDEPTH <= yystacksize)
mzta 0:158c61bb030f 5289 goto yyexhaustedlab;
mzta 0:158c61bb030f 5290 yystacksize *= 2;
mzta 0:158c61bb030f 5291 if (YYMAXDEPTH < yystacksize)
mzta 0:158c61bb030f 5292 yystacksize = YYMAXDEPTH;
mzta 0:158c61bb030f 5293
mzta 0:158c61bb030f 5294 {
mzta 0:158c61bb030f 5295 yytype_int16 *yyss1 = yyss;
mzta 0:158c61bb030f 5296 union yyalloc *yyptr =
mzta 0:158c61bb030f 5297 (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
mzta 0:158c61bb030f 5298 if (! yyptr)
mzta 0:158c61bb030f 5299 goto yyexhaustedlab;
mzta 0:158c61bb030f 5300 YYSTACK_RELOCATE (yyss_alloc, yyss);
mzta 0:158c61bb030f 5301 YYSTACK_RELOCATE (yyvs_alloc, yyvs);
mzta 0:158c61bb030f 5302 # undef YYSTACK_RELOCATE
mzta 0:158c61bb030f 5303 if (yyss1 != yyssa)
mzta 0:158c61bb030f 5304 YYSTACK_FREE (yyss1);
mzta 0:158c61bb030f 5305 }
mzta 0:158c61bb030f 5306 # endif
mzta 0:158c61bb030f 5307 #endif /* no yyoverflow */
mzta 0:158c61bb030f 5308
mzta 0:158c61bb030f 5309 yyssp = yyss + yysize - 1;
mzta 0:158c61bb030f 5310 yyvsp = yyvs + yysize - 1;
mzta 0:158c61bb030f 5311
mzta 0:158c61bb030f 5312 YYDPRINTF ((stderr, "Stack size increased to %lu\n",
mzta 0:158c61bb030f 5313 (unsigned long int) yystacksize));
mzta 0:158c61bb030f 5314
mzta 0:158c61bb030f 5315 if (yyss + yystacksize - 1 <= yyssp)
mzta 0:158c61bb030f 5316 YYABORT;
mzta 0:158c61bb030f 5317 }
mzta 0:158c61bb030f 5318
mzta 0:158c61bb030f 5319 YYDPRINTF ((stderr, "Entering state %d\n", yystate));
mzta 0:158c61bb030f 5320
mzta 0:158c61bb030f 5321 if (yystate == YYFINAL)
mzta 0:158c61bb030f 5322 YYACCEPT;
mzta 0:158c61bb030f 5323
mzta 0:158c61bb030f 5324 goto yybackup;
mzta 0:158c61bb030f 5325
mzta 0:158c61bb030f 5326 /*-----------.
mzta 0:158c61bb030f 5327 | yybackup. |
mzta 0:158c61bb030f 5328 `-----------*/
mzta 0:158c61bb030f 5329 yybackup:
mzta 0:158c61bb030f 5330
mzta 0:158c61bb030f 5331 /* Do appropriate processing given the current state. Read a
mzta 0:158c61bb030f 5332 lookahead token if we need one and don't already have one. */
mzta 0:158c61bb030f 5333
mzta 0:158c61bb030f 5334 /* First try to decide what to do without reference to lookahead token. */
mzta 0:158c61bb030f 5335 yyn = yypact[yystate];
mzta 0:158c61bb030f 5336 if (yyn == YYPACT_NINF)
mzta 0:158c61bb030f 5337 goto yydefault;
mzta 0:158c61bb030f 5338
mzta 0:158c61bb030f 5339 /* Not known => get a lookahead token if don't already have one. */
mzta 0:158c61bb030f 5340
mzta 0:158c61bb030f 5341 /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
mzta 0:158c61bb030f 5342 if (yychar == YYEMPTY)
mzta 0:158c61bb030f 5343 {
mzta 0:158c61bb030f 5344 YYDPRINTF ((stderr, "Reading a token: "));
mzta 0:158c61bb030f 5345 yychar = YYLEX;
mzta 0:158c61bb030f 5346 }
mzta 0:158c61bb030f 5347
mzta 0:158c61bb030f 5348 if (yychar <= YYEOF)
mzta 0:158c61bb030f 5349 {
mzta 0:158c61bb030f 5350 yychar = yytoken = YYEOF;
mzta 0:158c61bb030f 5351 YYDPRINTF ((stderr, "Now at end of input.\n"));
mzta 0:158c61bb030f 5352 }
mzta 0:158c61bb030f 5353 else
mzta 0:158c61bb030f 5354 {
mzta 0:158c61bb030f 5355 yytoken = YYTRANSLATE (yychar);
mzta 0:158c61bb030f 5356 YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
mzta 0:158c61bb030f 5357 }
mzta 0:158c61bb030f 5358
mzta 0:158c61bb030f 5359 /* If the proper action on seeing token YYTOKEN is to reduce or to
mzta 0:158c61bb030f 5360 detect an error, take that action. */
mzta 0:158c61bb030f 5361 yyn += yytoken;
mzta 0:158c61bb030f 5362 if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
mzta 0:158c61bb030f 5363 goto yydefault;
mzta 0:158c61bb030f 5364 yyn = yytable[yyn];
mzta 0:158c61bb030f 5365 if (yyn <= 0)
mzta 0:158c61bb030f 5366 {
mzta 0:158c61bb030f 5367 if (yyn == 0 || yyn == YYTABLE_NINF)
mzta 0:158c61bb030f 5368 goto yyerrlab;
mzta 0:158c61bb030f 5369 yyn = -yyn;
mzta 0:158c61bb030f 5370 goto yyreduce;
mzta 0:158c61bb030f 5371 }
mzta 0:158c61bb030f 5372
mzta 0:158c61bb030f 5373 /* Count tokens shifted since error; after three, turn off error
mzta 0:158c61bb030f 5374 status. */
mzta 0:158c61bb030f 5375 if (yyerrstatus)
mzta 0:158c61bb030f 5376 yyerrstatus--;
mzta 0:158c61bb030f 5377
mzta 0:158c61bb030f 5378 /* Shift the lookahead token. */
mzta 0:158c61bb030f 5379 YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
mzta 0:158c61bb030f 5380
mzta 0:158c61bb030f 5381 /* Discard the shifted token. */
mzta 0:158c61bb030f 5382 yychar = YYEMPTY;
mzta 0:158c61bb030f 5383
mzta 0:158c61bb030f 5384 yystate = yyn;
mzta 0:158c61bb030f 5385 *++yyvsp = yylval;
mzta 0:158c61bb030f 5386
mzta 0:158c61bb030f 5387 goto yynewstate;
mzta 0:158c61bb030f 5388
mzta 0:158c61bb030f 5389
mzta 0:158c61bb030f 5390 /*-----------------------------------------------------------.
mzta 0:158c61bb030f 5391 | yydefault -- do the default action for the current state. |
mzta 0:158c61bb030f 5392 `-----------------------------------------------------------*/
mzta 0:158c61bb030f 5393 yydefault:
mzta 0:158c61bb030f 5394 yyn = yydefact[yystate];
mzta 0:158c61bb030f 5395 if (yyn == 0)
mzta 0:158c61bb030f 5396 goto yyerrlab;
mzta 0:158c61bb030f 5397 goto yyreduce;
mzta 0:158c61bb030f 5398
mzta 0:158c61bb030f 5399
mzta 0:158c61bb030f 5400 /*-----------------------------.
mzta 0:158c61bb030f 5401 | yyreduce -- Do a reduction. |
mzta 0:158c61bb030f 5402 `-----------------------------*/
mzta 0:158c61bb030f 5403 yyreduce:
mzta 0:158c61bb030f 5404 /* yyn is the number of a rule to reduce with. */
mzta 0:158c61bb030f 5405 yylen = yyr2[yyn];
mzta 0:158c61bb030f 5406
mzta 0:158c61bb030f 5407 /* If YYLEN is nonzero, implement the default value of the action:
mzta 0:158c61bb030f 5408 `$$ = $1'.
mzta 0:158c61bb030f 5409
mzta 0:158c61bb030f 5410 Otherwise, the following line sets YYVAL to garbage.
mzta 0:158c61bb030f 5411 This behavior is undocumented and Bison
mzta 0:158c61bb030f 5412 users should not rely upon it. Assigning to YYVAL
mzta 0:158c61bb030f 5413 unconditionally makes the parser a bit smaller, and it avoids a
mzta 0:158c61bb030f 5414 GCC warning that YYVAL may be used uninitialized. */
mzta 0:158c61bb030f 5415 yyval = yyvsp[1-yylen];
mzta 0:158c61bb030f 5416
mzta 0:158c61bb030f 5417
mzta 0:158c61bb030f 5418 YY_REDUCE_PRINT (yyn);
mzta 0:158c61bb030f 5419 switch (yyn)
mzta 0:158c61bb030f 5420 {
mzta 0:158c61bb030f 5421 case 2:
mzta 0:158c61bb030f 5422
mzta 0:158c61bb030f 5423 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 5424 #line 1166 "src/parse.y"
mzta 0:158c61bb030f 5425 {
mzta 0:158c61bb030f 5426 p->lstate = EXPR_BEG;
mzta 0:158c61bb030f 5427 if (!p->locals) p->locals = cons(0,0);
mzta 0:158c61bb030f 5428 ;}
mzta 0:158c61bb030f 5429 break;
mzta 0:158c61bb030f 5430
mzta 0:158c61bb030f 5431 case 3:
mzta 0:158c61bb030f 5432
mzta 0:158c61bb030f 5433 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 5434 #line 1171 "src/parse.y"
mzta 0:158c61bb030f 5435 {
mzta 0:158c61bb030f 5436 p->tree = new_scope(p, (yyvsp[(2) - (2)].nd));
mzta 0:158c61bb030f 5437 NODE_LINENO(p->tree, (yyvsp[(2) - (2)].nd));
mzta 0:158c61bb030f 5438 ;}
mzta 0:158c61bb030f 5439 break;
mzta 0:158c61bb030f 5440
mzta 0:158c61bb030f 5441 case 4:
mzta 0:158c61bb030f 5442
mzta 0:158c61bb030f 5443 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 5444 #line 1178 "src/parse.y"
mzta 0:158c61bb030f 5445 {
mzta 0:158c61bb030f 5446 (yyval.nd) = (yyvsp[(1) - (2)].nd);
mzta 0:158c61bb030f 5447 ;}
mzta 0:158c61bb030f 5448 break;
mzta 0:158c61bb030f 5449
mzta 0:158c61bb030f 5450 case 5:
mzta 0:158c61bb030f 5451
mzta 0:158c61bb030f 5452 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 5453 #line 1184 "src/parse.y"
mzta 0:158c61bb030f 5454 {
mzta 0:158c61bb030f 5455 (yyval.nd) = new_begin(p, 0);
mzta 0:158c61bb030f 5456 ;}
mzta 0:158c61bb030f 5457 break;
mzta 0:158c61bb030f 5458
mzta 0:158c61bb030f 5459 case 6:
mzta 0:158c61bb030f 5460
mzta 0:158c61bb030f 5461 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 5462 #line 1188 "src/parse.y"
mzta 0:158c61bb030f 5463 {
mzta 0:158c61bb030f 5464 (yyval.nd) = new_begin(p, (yyvsp[(1) - (1)].nd));
mzta 0:158c61bb030f 5465 NODE_LINENO((yyval.nd), (yyvsp[(1) - (1)].nd));
mzta 0:158c61bb030f 5466 ;}
mzta 0:158c61bb030f 5467 break;
mzta 0:158c61bb030f 5468
mzta 0:158c61bb030f 5469 case 7:
mzta 0:158c61bb030f 5470
mzta 0:158c61bb030f 5471 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 5472 #line 1193 "src/parse.y"
mzta 0:158c61bb030f 5473 {
mzta 0:158c61bb030f 5474 (yyval.nd) = push((yyvsp[(1) - (3)].nd), newline_node((yyvsp[(3) - (3)].nd)));
mzta 0:158c61bb030f 5475 ;}
mzta 0:158c61bb030f 5476 break;
mzta 0:158c61bb030f 5477
mzta 0:158c61bb030f 5478 case 8:
mzta 0:158c61bb030f 5479
mzta 0:158c61bb030f 5480 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 5481 #line 1197 "src/parse.y"
mzta 0:158c61bb030f 5482 {
mzta 0:158c61bb030f 5483 (yyval.nd) = new_begin(p, 0);
mzta 0:158c61bb030f 5484 ;}
mzta 0:158c61bb030f 5485 break;
mzta 0:158c61bb030f 5486
mzta 0:158c61bb030f 5487 case 10:
mzta 0:158c61bb030f 5488
mzta 0:158c61bb030f 5489 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 5490 #line 1204 "src/parse.y"
mzta 0:158c61bb030f 5491 {
mzta 0:158c61bb030f 5492 (yyval.nd) = local_switch(p);
mzta 0:158c61bb030f 5493 ;}
mzta 0:158c61bb030f 5494 break;
mzta 0:158c61bb030f 5495
mzta 0:158c61bb030f 5496 case 11:
mzta 0:158c61bb030f 5497
mzta 0:158c61bb030f 5498 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 5499 #line 1208 "src/parse.y"
mzta 0:158c61bb030f 5500 {
mzta 0:158c61bb030f 5501 yyerror(p, "BEGIN not supported");
mzta 0:158c61bb030f 5502 local_resume(p, (yyvsp[(2) - (5)].nd));
mzta 0:158c61bb030f 5503 (yyval.nd) = 0;
mzta 0:158c61bb030f 5504 ;}
mzta 0:158c61bb030f 5505 break;
mzta 0:158c61bb030f 5506
mzta 0:158c61bb030f 5507 case 12:
mzta 0:158c61bb030f 5508
mzta 0:158c61bb030f 5509 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 5510 #line 1219 "src/parse.y"
mzta 0:158c61bb030f 5511 {
mzta 0:158c61bb030f 5512 if ((yyvsp[(2) - (4)].nd)) {
mzta 0:158c61bb030f 5513 (yyval.nd) = new_rescue(p, (yyvsp[(1) - (4)].nd), (yyvsp[(2) - (4)].nd), (yyvsp[(3) - (4)].nd));
mzta 0:158c61bb030f 5514 NODE_LINENO((yyval.nd), (yyvsp[(1) - (4)].nd));
mzta 0:158c61bb030f 5515 }
mzta 0:158c61bb030f 5516 else if ((yyvsp[(3) - (4)].nd)) {
mzta 0:158c61bb030f 5517 yywarn(p, "else without rescue is useless");
mzta 0:158c61bb030f 5518 (yyval.nd) = push((yyvsp[(1) - (4)].nd), (yyvsp[(3) - (4)].nd));
mzta 0:158c61bb030f 5519 }
mzta 0:158c61bb030f 5520 else {
mzta 0:158c61bb030f 5521 (yyval.nd) = (yyvsp[(1) - (4)].nd);
mzta 0:158c61bb030f 5522 }
mzta 0:158c61bb030f 5523 if ((yyvsp[(4) - (4)].nd)) {
mzta 0:158c61bb030f 5524 if ((yyval.nd)) {
mzta 0:158c61bb030f 5525 (yyval.nd) = new_ensure(p, (yyval.nd), (yyvsp[(4) - (4)].nd));
mzta 0:158c61bb030f 5526 }
mzta 0:158c61bb030f 5527 else {
mzta 0:158c61bb030f 5528 (yyval.nd) = push((yyvsp[(4) - (4)].nd), new_nil(p));
mzta 0:158c61bb030f 5529 }
mzta 0:158c61bb030f 5530 }
mzta 0:158c61bb030f 5531 ;}
mzta 0:158c61bb030f 5532 break;
mzta 0:158c61bb030f 5533
mzta 0:158c61bb030f 5534 case 13:
mzta 0:158c61bb030f 5535
mzta 0:158c61bb030f 5536 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 5537 #line 1243 "src/parse.y"
mzta 0:158c61bb030f 5538 {
mzta 0:158c61bb030f 5539 (yyval.nd) = (yyvsp[(1) - (2)].nd);
mzta 0:158c61bb030f 5540 ;}
mzta 0:158c61bb030f 5541 break;
mzta 0:158c61bb030f 5542
mzta 0:158c61bb030f 5543 case 14:
mzta 0:158c61bb030f 5544
mzta 0:158c61bb030f 5545 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 5546 #line 1249 "src/parse.y"
mzta 0:158c61bb030f 5547 {
mzta 0:158c61bb030f 5548 (yyval.nd) = new_begin(p, 0);
mzta 0:158c61bb030f 5549 ;}
mzta 0:158c61bb030f 5550 break;
mzta 0:158c61bb030f 5551
mzta 0:158c61bb030f 5552 case 15:
mzta 0:158c61bb030f 5553
mzta 0:158c61bb030f 5554 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 5555 #line 1253 "src/parse.y"
mzta 0:158c61bb030f 5556 {
mzta 0:158c61bb030f 5557 (yyval.nd) = new_begin(p, (yyvsp[(1) - (1)].nd));
mzta 0:158c61bb030f 5558 NODE_LINENO((yyval.nd), (yyvsp[(1) - (1)].nd));
mzta 0:158c61bb030f 5559 ;}
mzta 0:158c61bb030f 5560 break;
mzta 0:158c61bb030f 5561
mzta 0:158c61bb030f 5562 case 16:
mzta 0:158c61bb030f 5563
mzta 0:158c61bb030f 5564 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 5565 #line 1258 "src/parse.y"
mzta 0:158c61bb030f 5566 {
mzta 0:158c61bb030f 5567 (yyval.nd) = push((yyvsp[(1) - (3)].nd), newline_node((yyvsp[(3) - (3)].nd)));
mzta 0:158c61bb030f 5568 ;}
mzta 0:158c61bb030f 5569 break;
mzta 0:158c61bb030f 5570
mzta 0:158c61bb030f 5571 case 17:
mzta 0:158c61bb030f 5572
mzta 0:158c61bb030f 5573 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 5574 #line 1262 "src/parse.y"
mzta 0:158c61bb030f 5575 {
mzta 0:158c61bb030f 5576 (yyval.nd) = new_begin(p, (yyvsp[(2) - (2)].nd));
mzta 0:158c61bb030f 5577 ;}
mzta 0:158c61bb030f 5578 break;
mzta 0:158c61bb030f 5579
mzta 0:158c61bb030f 5580 case 18:
mzta 0:158c61bb030f 5581
mzta 0:158c61bb030f 5582 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 5583 #line 1267 "src/parse.y"
mzta 0:158c61bb030f 5584 {p->lstate = EXPR_FNAME;;}
mzta 0:158c61bb030f 5585 break;
mzta 0:158c61bb030f 5586
mzta 0:158c61bb030f 5587 case 19:
mzta 0:158c61bb030f 5588
mzta 0:158c61bb030f 5589 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 5590 #line 1268 "src/parse.y"
mzta 0:158c61bb030f 5591 {
mzta 0:158c61bb030f 5592 (yyval.nd) = new_alias(p, (yyvsp[(2) - (4)].id), (yyvsp[(4) - (4)].id));
mzta 0:158c61bb030f 5593 ;}
mzta 0:158c61bb030f 5594 break;
mzta 0:158c61bb030f 5595
mzta 0:158c61bb030f 5596 case 20:
mzta 0:158c61bb030f 5597
mzta 0:158c61bb030f 5598 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 5599 #line 1272 "src/parse.y"
mzta 0:158c61bb030f 5600 {
mzta 0:158c61bb030f 5601 (yyval.nd) = (yyvsp[(2) - (2)].nd);
mzta 0:158c61bb030f 5602 ;}
mzta 0:158c61bb030f 5603 break;
mzta 0:158c61bb030f 5604
mzta 0:158c61bb030f 5605 case 21:
mzta 0:158c61bb030f 5606
mzta 0:158c61bb030f 5607 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 5608 #line 1276 "src/parse.y"
mzta 0:158c61bb030f 5609 {
mzta 0:158c61bb030f 5610 (yyval.nd) = new_if(p, cond((yyvsp[(3) - (3)].nd)), (yyvsp[(1) - (3)].nd), 0);
mzta 0:158c61bb030f 5611 ;}
mzta 0:158c61bb030f 5612 break;
mzta 0:158c61bb030f 5613
mzta 0:158c61bb030f 5614 case 22:
mzta 0:158c61bb030f 5615
mzta 0:158c61bb030f 5616 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 5617 #line 1280 "src/parse.y"
mzta 0:158c61bb030f 5618 {
mzta 0:158c61bb030f 5619 (yyval.nd) = new_unless(p, cond((yyvsp[(3) - (3)].nd)), (yyvsp[(1) - (3)].nd), 0);
mzta 0:158c61bb030f 5620 ;}
mzta 0:158c61bb030f 5621 break;
mzta 0:158c61bb030f 5622
mzta 0:158c61bb030f 5623 case 23:
mzta 0:158c61bb030f 5624
mzta 0:158c61bb030f 5625 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 5626 #line 1284 "src/parse.y"
mzta 0:158c61bb030f 5627 {
mzta 0:158c61bb030f 5628 (yyval.nd) = new_while(p, cond((yyvsp[(3) - (3)].nd)), (yyvsp[(1) - (3)].nd));
mzta 0:158c61bb030f 5629 ;}
mzta 0:158c61bb030f 5630 break;
mzta 0:158c61bb030f 5631
mzta 0:158c61bb030f 5632 case 24:
mzta 0:158c61bb030f 5633
mzta 0:158c61bb030f 5634 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 5635 #line 1288 "src/parse.y"
mzta 0:158c61bb030f 5636 {
mzta 0:158c61bb030f 5637 (yyval.nd) = new_until(p, cond((yyvsp[(3) - (3)].nd)), (yyvsp[(1) - (3)].nd));
mzta 0:158c61bb030f 5638 ;}
mzta 0:158c61bb030f 5639 break;
mzta 0:158c61bb030f 5640
mzta 0:158c61bb030f 5641 case 25:
mzta 0:158c61bb030f 5642
mzta 0:158c61bb030f 5643 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 5644 #line 1292 "src/parse.y"
mzta 0:158c61bb030f 5645 {
mzta 0:158c61bb030f 5646 (yyval.nd) = new_rescue(p, (yyvsp[(1) - (3)].nd), list1(list3(0, 0, (yyvsp[(3) - (3)].nd))), 0);
mzta 0:158c61bb030f 5647 ;}
mzta 0:158c61bb030f 5648 break;
mzta 0:158c61bb030f 5649
mzta 0:158c61bb030f 5650 case 26:
mzta 0:158c61bb030f 5651
mzta 0:158c61bb030f 5652 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 5653 #line 1296 "src/parse.y"
mzta 0:158c61bb030f 5654 {
mzta 0:158c61bb030f 5655 yyerror(p, "END not suported");
mzta 0:158c61bb030f 5656 (yyval.nd) = new_postexe(p, (yyvsp[(3) - (4)].nd));
mzta 0:158c61bb030f 5657 ;}
mzta 0:158c61bb030f 5658 break;
mzta 0:158c61bb030f 5659
mzta 0:158c61bb030f 5660 case 28:
mzta 0:158c61bb030f 5661
mzta 0:158c61bb030f 5662 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 5663 #line 1302 "src/parse.y"
mzta 0:158c61bb030f 5664 {
mzta 0:158c61bb030f 5665 (yyval.nd) = new_masgn(p, (yyvsp[(1) - (3)].nd), (yyvsp[(3) - (3)].nd));
mzta 0:158c61bb030f 5666 ;}
mzta 0:158c61bb030f 5667 break;
mzta 0:158c61bb030f 5668
mzta 0:158c61bb030f 5669 case 29:
mzta 0:158c61bb030f 5670
mzta 0:158c61bb030f 5671 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 5672 #line 1306 "src/parse.y"
mzta 0:158c61bb030f 5673 {
mzta 0:158c61bb030f 5674 (yyval.nd) = new_op_asgn(p, (yyvsp[(1) - (3)].nd), (yyvsp[(2) - (3)].id), (yyvsp[(3) - (3)].nd));
mzta 0:158c61bb030f 5675 ;}
mzta 0:158c61bb030f 5676 break;
mzta 0:158c61bb030f 5677
mzta 0:158c61bb030f 5678 case 30:
mzta 0:158c61bb030f 5679
mzta 0:158c61bb030f 5680 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 5681 #line 1310 "src/parse.y"
mzta 0:158c61bb030f 5682 {
mzta 0:158c61bb030f 5683 (yyval.nd) = new_op_asgn(p, new_call(p, (yyvsp[(1) - (6)].nd), intern("[]",2), (yyvsp[(3) - (6)].nd)), (yyvsp[(5) - (6)].id), (yyvsp[(6) - (6)].nd));
mzta 0:158c61bb030f 5684 ;}
mzta 0:158c61bb030f 5685 break;
mzta 0:158c61bb030f 5686
mzta 0:158c61bb030f 5687 case 31:
mzta 0:158c61bb030f 5688
mzta 0:158c61bb030f 5689 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 5690 #line 1314 "src/parse.y"
mzta 0:158c61bb030f 5691 {
mzta 0:158c61bb030f 5692 (yyval.nd) = new_op_asgn(p, new_call(p, (yyvsp[(1) - (5)].nd), (yyvsp[(3) - (5)].id), 0), (yyvsp[(4) - (5)].id), (yyvsp[(5) - (5)].nd));
mzta 0:158c61bb030f 5693 ;}
mzta 0:158c61bb030f 5694 break;
mzta 0:158c61bb030f 5695
mzta 0:158c61bb030f 5696 case 32:
mzta 0:158c61bb030f 5697
mzta 0:158c61bb030f 5698 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 5699 #line 1318 "src/parse.y"
mzta 0:158c61bb030f 5700 {
mzta 0:158c61bb030f 5701 (yyval.nd) = new_op_asgn(p, new_call(p, (yyvsp[(1) - (5)].nd), (yyvsp[(3) - (5)].id), 0), (yyvsp[(4) - (5)].id), (yyvsp[(5) - (5)].nd));
mzta 0:158c61bb030f 5702 ;}
mzta 0:158c61bb030f 5703 break;
mzta 0:158c61bb030f 5704
mzta 0:158c61bb030f 5705 case 33:
mzta 0:158c61bb030f 5706
mzta 0:158c61bb030f 5707 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 5708 #line 1322 "src/parse.y"
mzta 0:158c61bb030f 5709 {
mzta 0:158c61bb030f 5710 yyerror(p, "constant re-assignment");
mzta 0:158c61bb030f 5711 (yyval.nd) = 0;
mzta 0:158c61bb030f 5712 ;}
mzta 0:158c61bb030f 5713 break;
mzta 0:158c61bb030f 5714
mzta 0:158c61bb030f 5715 case 34:
mzta 0:158c61bb030f 5716
mzta 0:158c61bb030f 5717 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 5718 #line 1327 "src/parse.y"
mzta 0:158c61bb030f 5719 {
mzta 0:158c61bb030f 5720 (yyval.nd) = new_op_asgn(p, new_call(p, (yyvsp[(1) - (5)].nd), (yyvsp[(3) - (5)].id), 0), (yyvsp[(4) - (5)].id), (yyvsp[(5) - (5)].nd));
mzta 0:158c61bb030f 5721 ;}
mzta 0:158c61bb030f 5722 break;
mzta 0:158c61bb030f 5723
mzta 0:158c61bb030f 5724 case 35:
mzta 0:158c61bb030f 5725
mzta 0:158c61bb030f 5726 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 5727 #line 1331 "src/parse.y"
mzta 0:158c61bb030f 5728 {
mzta 0:158c61bb030f 5729 backref_error(p, (yyvsp[(1) - (3)].nd));
mzta 0:158c61bb030f 5730 (yyval.nd) = new_begin(p, 0);
mzta 0:158c61bb030f 5731 ;}
mzta 0:158c61bb030f 5732 break;
mzta 0:158c61bb030f 5733
mzta 0:158c61bb030f 5734 case 36:
mzta 0:158c61bb030f 5735
mzta 0:158c61bb030f 5736 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 5737 #line 1336 "src/parse.y"
mzta 0:158c61bb030f 5738 {
mzta 0:158c61bb030f 5739 (yyval.nd) = new_asgn(p, (yyvsp[(1) - (3)].nd), new_array(p, (yyvsp[(3) - (3)].nd)));
mzta 0:158c61bb030f 5740 ;}
mzta 0:158c61bb030f 5741 break;
mzta 0:158c61bb030f 5742
mzta 0:158c61bb030f 5743 case 37:
mzta 0:158c61bb030f 5744
mzta 0:158c61bb030f 5745 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 5746 #line 1340 "src/parse.y"
mzta 0:158c61bb030f 5747 {
mzta 0:158c61bb030f 5748 (yyval.nd) = new_masgn(p, (yyvsp[(1) - (3)].nd), (yyvsp[(3) - (3)].nd));
mzta 0:158c61bb030f 5749 ;}
mzta 0:158c61bb030f 5750 break;
mzta 0:158c61bb030f 5751
mzta 0:158c61bb030f 5752 case 38:
mzta 0:158c61bb030f 5753
mzta 0:158c61bb030f 5754 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 5755 #line 1344 "src/parse.y"
mzta 0:158c61bb030f 5756 {
mzta 0:158c61bb030f 5757 (yyval.nd) = new_masgn(p, (yyvsp[(1) - (3)].nd), new_array(p, (yyvsp[(3) - (3)].nd)));
mzta 0:158c61bb030f 5758 ;}
mzta 0:158c61bb030f 5759 break;
mzta 0:158c61bb030f 5760
mzta 0:158c61bb030f 5761 case 40:
mzta 0:158c61bb030f 5762
mzta 0:158c61bb030f 5763 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 5764 #line 1351 "src/parse.y"
mzta 0:158c61bb030f 5765 {
mzta 0:158c61bb030f 5766 (yyval.nd) = new_asgn(p, (yyvsp[(1) - (3)].nd), (yyvsp[(3) - (3)].nd));
mzta 0:158c61bb030f 5767 ;}
mzta 0:158c61bb030f 5768 break;
mzta 0:158c61bb030f 5769
mzta 0:158c61bb030f 5770 case 41:
mzta 0:158c61bb030f 5771
mzta 0:158c61bb030f 5772 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 5773 #line 1355 "src/parse.y"
mzta 0:158c61bb030f 5774 {
mzta 0:158c61bb030f 5775 (yyval.nd) = new_asgn(p, (yyvsp[(1) - (3)].nd), (yyvsp[(3) - (3)].nd));
mzta 0:158c61bb030f 5776 ;}
mzta 0:158c61bb030f 5777 break;
mzta 0:158c61bb030f 5778
mzta 0:158c61bb030f 5779 case 43:
mzta 0:158c61bb030f 5780
mzta 0:158c61bb030f 5781 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 5782 #line 1363 "src/parse.y"
mzta 0:158c61bb030f 5783 {
mzta 0:158c61bb030f 5784 (yyval.nd) = new_and(p, (yyvsp[(1) - (3)].nd), (yyvsp[(3) - (3)].nd));
mzta 0:158c61bb030f 5785 ;}
mzta 0:158c61bb030f 5786 break;
mzta 0:158c61bb030f 5787
mzta 0:158c61bb030f 5788 case 44:
mzta 0:158c61bb030f 5789
mzta 0:158c61bb030f 5790 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 5791 #line 1367 "src/parse.y"
mzta 0:158c61bb030f 5792 {
mzta 0:158c61bb030f 5793 (yyval.nd) = new_or(p, (yyvsp[(1) - (3)].nd), (yyvsp[(3) - (3)].nd));
mzta 0:158c61bb030f 5794 ;}
mzta 0:158c61bb030f 5795 break;
mzta 0:158c61bb030f 5796
mzta 0:158c61bb030f 5797 case 45:
mzta 0:158c61bb030f 5798
mzta 0:158c61bb030f 5799 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 5800 #line 1371 "src/parse.y"
mzta 0:158c61bb030f 5801 {
mzta 0:158c61bb030f 5802 (yyval.nd) = call_uni_op(p, cond((yyvsp[(3) - (3)].nd)), "!");
mzta 0:158c61bb030f 5803 ;}
mzta 0:158c61bb030f 5804 break;
mzta 0:158c61bb030f 5805
mzta 0:158c61bb030f 5806 case 46:
mzta 0:158c61bb030f 5807
mzta 0:158c61bb030f 5808 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 5809 #line 1375 "src/parse.y"
mzta 0:158c61bb030f 5810 {
mzta 0:158c61bb030f 5811 (yyval.nd) = call_uni_op(p, cond((yyvsp[(2) - (2)].nd)), "!");
mzta 0:158c61bb030f 5812 ;}
mzta 0:158c61bb030f 5813 break;
mzta 0:158c61bb030f 5814
mzta 0:158c61bb030f 5815 case 48:
mzta 0:158c61bb030f 5816
mzta 0:158c61bb030f 5817 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 5818 #line 1382 "src/parse.y"
mzta 0:158c61bb030f 5819 {
mzta 0:158c61bb030f 5820 if (!(yyvsp[(1) - (1)].nd)) (yyval.nd) = new_nil(p);
mzta 0:158c61bb030f 5821 else (yyval.nd) = (yyvsp[(1) - (1)].nd);
mzta 0:158c61bb030f 5822 ;}
mzta 0:158c61bb030f 5823 break;
mzta 0:158c61bb030f 5824
mzta 0:158c61bb030f 5825 case 53:
mzta 0:158c61bb030f 5826
mzta 0:158c61bb030f 5827 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 5828 #line 1397 "src/parse.y"
mzta 0:158c61bb030f 5829 {
mzta 0:158c61bb030f 5830 local_nest(p);
mzta 0:158c61bb030f 5831 ;}
mzta 0:158c61bb030f 5832 break;
mzta 0:158c61bb030f 5833
mzta 0:158c61bb030f 5834 case 54:
mzta 0:158c61bb030f 5835
mzta 0:158c61bb030f 5836 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 5837 #line 1403 "src/parse.y"
mzta 0:158c61bb030f 5838 {
mzta 0:158c61bb030f 5839 (yyval.nd) = new_block(p, (yyvsp[(3) - (5)].nd), (yyvsp[(4) - (5)].nd));
mzta 0:158c61bb030f 5840 local_unnest(p);
mzta 0:158c61bb030f 5841 ;}
mzta 0:158c61bb030f 5842 break;
mzta 0:158c61bb030f 5843
mzta 0:158c61bb030f 5844 case 55:
mzta 0:158c61bb030f 5845
mzta 0:158c61bb030f 5846 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 5847 #line 1410 "src/parse.y"
mzta 0:158c61bb030f 5848 {
mzta 0:158c61bb030f 5849 (yyval.nd) = new_fcall(p, (yyvsp[(1) - (2)].id), (yyvsp[(2) - (2)].nd));
mzta 0:158c61bb030f 5850 ;}
mzta 0:158c61bb030f 5851 break;
mzta 0:158c61bb030f 5852
mzta 0:158c61bb030f 5853 case 56:
mzta 0:158c61bb030f 5854
mzta 0:158c61bb030f 5855 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 5856 #line 1414 "src/parse.y"
mzta 0:158c61bb030f 5857 {
mzta 0:158c61bb030f 5858 args_with_block(p, (yyvsp[(2) - (3)].nd), (yyvsp[(3) - (3)].nd));
mzta 0:158c61bb030f 5859 (yyval.nd) = new_fcall(p, (yyvsp[(1) - (3)].id), (yyvsp[(2) - (3)].nd));
mzta 0:158c61bb030f 5860 ;}
mzta 0:158c61bb030f 5861 break;
mzta 0:158c61bb030f 5862
mzta 0:158c61bb030f 5863 case 57:
mzta 0:158c61bb030f 5864
mzta 0:158c61bb030f 5865 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 5866 #line 1419 "src/parse.y"
mzta 0:158c61bb030f 5867 {
mzta 0:158c61bb030f 5868 (yyval.nd) = new_call(p, (yyvsp[(1) - (4)].nd), (yyvsp[(3) - (4)].id), (yyvsp[(4) - (4)].nd));
mzta 0:158c61bb030f 5869 ;}
mzta 0:158c61bb030f 5870 break;
mzta 0:158c61bb030f 5871
mzta 0:158c61bb030f 5872 case 58:
mzta 0:158c61bb030f 5873
mzta 0:158c61bb030f 5874 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 5875 #line 1423 "src/parse.y"
mzta 0:158c61bb030f 5876 {
mzta 0:158c61bb030f 5877 args_with_block(p, (yyvsp[(4) - (5)].nd), (yyvsp[(5) - (5)].nd));
mzta 0:158c61bb030f 5878 (yyval.nd) = new_call(p, (yyvsp[(1) - (5)].nd), (yyvsp[(3) - (5)].id), (yyvsp[(4) - (5)].nd));
mzta 0:158c61bb030f 5879 ;}
mzta 0:158c61bb030f 5880 break;
mzta 0:158c61bb030f 5881
mzta 0:158c61bb030f 5882 case 59:
mzta 0:158c61bb030f 5883
mzta 0:158c61bb030f 5884 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 5885 #line 1428 "src/parse.y"
mzta 0:158c61bb030f 5886 {
mzta 0:158c61bb030f 5887 (yyval.nd) = new_call(p, (yyvsp[(1) - (4)].nd), (yyvsp[(3) - (4)].id), (yyvsp[(4) - (4)].nd));
mzta 0:158c61bb030f 5888 ;}
mzta 0:158c61bb030f 5889 break;
mzta 0:158c61bb030f 5890
mzta 0:158c61bb030f 5891 case 60:
mzta 0:158c61bb030f 5892
mzta 0:158c61bb030f 5893 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 5894 #line 1432 "src/parse.y"
mzta 0:158c61bb030f 5895 {
mzta 0:158c61bb030f 5896 args_with_block(p, (yyvsp[(4) - (5)].nd), (yyvsp[(5) - (5)].nd));
mzta 0:158c61bb030f 5897 (yyval.nd) = new_call(p, (yyvsp[(1) - (5)].nd), (yyvsp[(3) - (5)].id), (yyvsp[(4) - (5)].nd));
mzta 0:158c61bb030f 5898 ;}
mzta 0:158c61bb030f 5899 break;
mzta 0:158c61bb030f 5900
mzta 0:158c61bb030f 5901 case 61:
mzta 0:158c61bb030f 5902
mzta 0:158c61bb030f 5903 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 5904 #line 1437 "src/parse.y"
mzta 0:158c61bb030f 5905 {
mzta 0:158c61bb030f 5906 (yyval.nd) = new_super(p, (yyvsp[(2) - (2)].nd));
mzta 0:158c61bb030f 5907 ;}
mzta 0:158c61bb030f 5908 break;
mzta 0:158c61bb030f 5909
mzta 0:158c61bb030f 5910 case 62:
mzta 0:158c61bb030f 5911
mzta 0:158c61bb030f 5912 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 5913 #line 1441 "src/parse.y"
mzta 0:158c61bb030f 5914 {
mzta 0:158c61bb030f 5915 (yyval.nd) = new_yield(p, (yyvsp[(2) - (2)].nd));
mzta 0:158c61bb030f 5916 ;}
mzta 0:158c61bb030f 5917 break;
mzta 0:158c61bb030f 5918
mzta 0:158c61bb030f 5919 case 63:
mzta 0:158c61bb030f 5920
mzta 0:158c61bb030f 5921 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 5922 #line 1445 "src/parse.y"
mzta 0:158c61bb030f 5923 {
mzta 0:158c61bb030f 5924 (yyval.nd) = new_return(p, ret_args(p, (yyvsp[(2) - (2)].nd)));
mzta 0:158c61bb030f 5925 ;}
mzta 0:158c61bb030f 5926 break;
mzta 0:158c61bb030f 5927
mzta 0:158c61bb030f 5928 case 64:
mzta 0:158c61bb030f 5929
mzta 0:158c61bb030f 5930 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 5931 #line 1449 "src/parse.y"
mzta 0:158c61bb030f 5932 {
mzta 0:158c61bb030f 5933 (yyval.nd) = new_break(p, ret_args(p, (yyvsp[(2) - (2)].nd)));
mzta 0:158c61bb030f 5934 ;}
mzta 0:158c61bb030f 5935 break;
mzta 0:158c61bb030f 5936
mzta 0:158c61bb030f 5937 case 65:
mzta 0:158c61bb030f 5938
mzta 0:158c61bb030f 5939 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 5940 #line 1453 "src/parse.y"
mzta 0:158c61bb030f 5941 {
mzta 0:158c61bb030f 5942 (yyval.nd) = new_next(p, ret_args(p, (yyvsp[(2) - (2)].nd)));
mzta 0:158c61bb030f 5943 ;}
mzta 0:158c61bb030f 5944 break;
mzta 0:158c61bb030f 5945
mzta 0:158c61bb030f 5946 case 66:
mzta 0:158c61bb030f 5947
mzta 0:158c61bb030f 5948 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 5949 #line 1459 "src/parse.y"
mzta 0:158c61bb030f 5950 {
mzta 0:158c61bb030f 5951 (yyval.nd) = (yyvsp[(1) - (1)].nd);
mzta 0:158c61bb030f 5952 ;}
mzta 0:158c61bb030f 5953 break;
mzta 0:158c61bb030f 5954
mzta 0:158c61bb030f 5955 case 67:
mzta 0:158c61bb030f 5956
mzta 0:158c61bb030f 5957 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 5958 #line 1463 "src/parse.y"
mzta 0:158c61bb030f 5959 {
mzta 0:158c61bb030f 5960 (yyval.nd) = (yyvsp[(2) - (3)].nd);
mzta 0:158c61bb030f 5961 ;}
mzta 0:158c61bb030f 5962 break;
mzta 0:158c61bb030f 5963
mzta 0:158c61bb030f 5964 case 69:
mzta 0:158c61bb030f 5965
mzta 0:158c61bb030f 5966 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 5967 #line 1470 "src/parse.y"
mzta 0:158c61bb030f 5968 {
mzta 0:158c61bb030f 5969 (yyval.nd) = list1((yyvsp[(2) - (3)].nd));
mzta 0:158c61bb030f 5970 ;}
mzta 0:158c61bb030f 5971 break;
mzta 0:158c61bb030f 5972
mzta 0:158c61bb030f 5973 case 70:
mzta 0:158c61bb030f 5974
mzta 0:158c61bb030f 5975 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 5976 #line 1476 "src/parse.y"
mzta 0:158c61bb030f 5977 {
mzta 0:158c61bb030f 5978 (yyval.nd) = list1((yyvsp[(1) - (1)].nd));
mzta 0:158c61bb030f 5979 ;}
mzta 0:158c61bb030f 5980 break;
mzta 0:158c61bb030f 5981
mzta 0:158c61bb030f 5982 case 71:
mzta 0:158c61bb030f 5983
mzta 0:158c61bb030f 5984 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 5985 #line 1480 "src/parse.y"
mzta 0:158c61bb030f 5986 {
mzta 0:158c61bb030f 5987 (yyval.nd) = list1(push((yyvsp[(1) - (2)].nd),(yyvsp[(2) - (2)].nd)));
mzta 0:158c61bb030f 5988 ;}
mzta 0:158c61bb030f 5989 break;
mzta 0:158c61bb030f 5990
mzta 0:158c61bb030f 5991 case 72:
mzta 0:158c61bb030f 5992
mzta 0:158c61bb030f 5993 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 5994 #line 1484 "src/parse.y"
mzta 0:158c61bb030f 5995 {
mzta 0:158c61bb030f 5996 (yyval.nd) = list2((yyvsp[(1) - (3)].nd), (yyvsp[(3) - (3)].nd));
mzta 0:158c61bb030f 5997 ;}
mzta 0:158c61bb030f 5998 break;
mzta 0:158c61bb030f 5999
mzta 0:158c61bb030f 6000 case 73:
mzta 0:158c61bb030f 6001
mzta 0:158c61bb030f 6002 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6003 #line 1488 "src/parse.y"
mzta 0:158c61bb030f 6004 {
mzta 0:158c61bb030f 6005 (yyval.nd) = list3((yyvsp[(1) - (5)].nd), (yyvsp[(3) - (5)].nd), (yyvsp[(5) - (5)].nd));
mzta 0:158c61bb030f 6006 ;}
mzta 0:158c61bb030f 6007 break;
mzta 0:158c61bb030f 6008
mzta 0:158c61bb030f 6009 case 74:
mzta 0:158c61bb030f 6010
mzta 0:158c61bb030f 6011 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6012 #line 1492 "src/parse.y"
mzta 0:158c61bb030f 6013 {
mzta 0:158c61bb030f 6014 (yyval.nd) = list2((yyvsp[(1) - (2)].nd), new_nil(p));
mzta 0:158c61bb030f 6015 ;}
mzta 0:158c61bb030f 6016 break;
mzta 0:158c61bb030f 6017
mzta 0:158c61bb030f 6018 case 75:
mzta 0:158c61bb030f 6019
mzta 0:158c61bb030f 6020 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6021 #line 1496 "src/parse.y"
mzta 0:158c61bb030f 6022 {
mzta 0:158c61bb030f 6023 (yyval.nd) = list3((yyvsp[(1) - (4)].nd), new_nil(p), (yyvsp[(4) - (4)].nd));
mzta 0:158c61bb030f 6024 ;}
mzta 0:158c61bb030f 6025 break;
mzta 0:158c61bb030f 6026
mzta 0:158c61bb030f 6027 case 76:
mzta 0:158c61bb030f 6028
mzta 0:158c61bb030f 6029 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6030 #line 1500 "src/parse.y"
mzta 0:158c61bb030f 6031 {
mzta 0:158c61bb030f 6032 (yyval.nd) = list2(0, (yyvsp[(2) - (2)].nd));
mzta 0:158c61bb030f 6033 ;}
mzta 0:158c61bb030f 6034 break;
mzta 0:158c61bb030f 6035
mzta 0:158c61bb030f 6036 case 77:
mzta 0:158c61bb030f 6037
mzta 0:158c61bb030f 6038 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6039 #line 1504 "src/parse.y"
mzta 0:158c61bb030f 6040 {
mzta 0:158c61bb030f 6041 (yyval.nd) = list3(0, (yyvsp[(2) - (4)].nd), (yyvsp[(4) - (4)].nd));
mzta 0:158c61bb030f 6042 ;}
mzta 0:158c61bb030f 6043 break;
mzta 0:158c61bb030f 6044
mzta 0:158c61bb030f 6045 case 78:
mzta 0:158c61bb030f 6046
mzta 0:158c61bb030f 6047 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6048 #line 1508 "src/parse.y"
mzta 0:158c61bb030f 6049 {
mzta 0:158c61bb030f 6050 (yyval.nd) = list2(0, new_nil(p));
mzta 0:158c61bb030f 6051 ;}
mzta 0:158c61bb030f 6052 break;
mzta 0:158c61bb030f 6053
mzta 0:158c61bb030f 6054 case 79:
mzta 0:158c61bb030f 6055
mzta 0:158c61bb030f 6056 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6057 #line 1512 "src/parse.y"
mzta 0:158c61bb030f 6058 {
mzta 0:158c61bb030f 6059 (yyval.nd) = list3(0, new_nil(p), (yyvsp[(3) - (3)].nd));
mzta 0:158c61bb030f 6060 ;}
mzta 0:158c61bb030f 6061 break;
mzta 0:158c61bb030f 6062
mzta 0:158c61bb030f 6063 case 81:
mzta 0:158c61bb030f 6064
mzta 0:158c61bb030f 6065 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6066 #line 1519 "src/parse.y"
mzta 0:158c61bb030f 6067 {
mzta 0:158c61bb030f 6068 (yyval.nd) = (yyvsp[(2) - (3)].nd);
mzta 0:158c61bb030f 6069 ;}
mzta 0:158c61bb030f 6070 break;
mzta 0:158c61bb030f 6071
mzta 0:158c61bb030f 6072 case 82:
mzta 0:158c61bb030f 6073
mzta 0:158c61bb030f 6074 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6075 #line 1525 "src/parse.y"
mzta 0:158c61bb030f 6076 {
mzta 0:158c61bb030f 6077 (yyval.nd) = list1((yyvsp[(1) - (2)].nd));
mzta 0:158c61bb030f 6078 ;}
mzta 0:158c61bb030f 6079 break;
mzta 0:158c61bb030f 6080
mzta 0:158c61bb030f 6081 case 83:
mzta 0:158c61bb030f 6082
mzta 0:158c61bb030f 6083 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6084 #line 1529 "src/parse.y"
mzta 0:158c61bb030f 6085 {
mzta 0:158c61bb030f 6086 (yyval.nd) = push((yyvsp[(1) - (3)].nd), (yyvsp[(2) - (3)].nd));
mzta 0:158c61bb030f 6087 ;}
mzta 0:158c61bb030f 6088 break;
mzta 0:158c61bb030f 6089
mzta 0:158c61bb030f 6090 case 84:
mzta 0:158c61bb030f 6091
mzta 0:158c61bb030f 6092 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6093 #line 1535 "src/parse.y"
mzta 0:158c61bb030f 6094 {
mzta 0:158c61bb030f 6095 (yyval.nd) = list1((yyvsp[(1) - (1)].nd));
mzta 0:158c61bb030f 6096 ;}
mzta 0:158c61bb030f 6097 break;
mzta 0:158c61bb030f 6098
mzta 0:158c61bb030f 6099 case 85:
mzta 0:158c61bb030f 6100
mzta 0:158c61bb030f 6101 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6102 #line 1539 "src/parse.y"
mzta 0:158c61bb030f 6103 {
mzta 0:158c61bb030f 6104 (yyval.nd) = push((yyvsp[(1) - (2)].nd), (yyvsp[(2) - (2)].nd));
mzta 0:158c61bb030f 6105 ;}
mzta 0:158c61bb030f 6106 break;
mzta 0:158c61bb030f 6107
mzta 0:158c61bb030f 6108 case 86:
mzta 0:158c61bb030f 6109
mzta 0:158c61bb030f 6110 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6111 #line 1545 "src/parse.y"
mzta 0:158c61bb030f 6112 {
mzta 0:158c61bb030f 6113 assignable(p, (yyvsp[(1) - (1)].nd));
mzta 0:158c61bb030f 6114 ;}
mzta 0:158c61bb030f 6115 break;
mzta 0:158c61bb030f 6116
mzta 0:158c61bb030f 6117 case 87:
mzta 0:158c61bb030f 6118
mzta 0:158c61bb030f 6119 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6120 #line 1549 "src/parse.y"
mzta 0:158c61bb030f 6121 {
mzta 0:158c61bb030f 6122 (yyval.nd) = new_call(p, (yyvsp[(1) - (4)].nd), intern("[]",2), (yyvsp[(3) - (4)].nd));
mzta 0:158c61bb030f 6123 ;}
mzta 0:158c61bb030f 6124 break;
mzta 0:158c61bb030f 6125
mzta 0:158c61bb030f 6126 case 88:
mzta 0:158c61bb030f 6127
mzta 0:158c61bb030f 6128 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6129 #line 1553 "src/parse.y"
mzta 0:158c61bb030f 6130 {
mzta 0:158c61bb030f 6131 (yyval.nd) = new_call(p, (yyvsp[(1) - (3)].nd), (yyvsp[(3) - (3)].id), 0);
mzta 0:158c61bb030f 6132 ;}
mzta 0:158c61bb030f 6133 break;
mzta 0:158c61bb030f 6134
mzta 0:158c61bb030f 6135 case 89:
mzta 0:158c61bb030f 6136
mzta 0:158c61bb030f 6137 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6138 #line 1557 "src/parse.y"
mzta 0:158c61bb030f 6139 {
mzta 0:158c61bb030f 6140 (yyval.nd) = new_call(p, (yyvsp[(1) - (3)].nd), (yyvsp[(3) - (3)].id), 0);
mzta 0:158c61bb030f 6141 ;}
mzta 0:158c61bb030f 6142 break;
mzta 0:158c61bb030f 6143
mzta 0:158c61bb030f 6144 case 90:
mzta 0:158c61bb030f 6145
mzta 0:158c61bb030f 6146 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6147 #line 1561 "src/parse.y"
mzta 0:158c61bb030f 6148 {
mzta 0:158c61bb030f 6149 (yyval.nd) = new_call(p, (yyvsp[(1) - (3)].nd), (yyvsp[(3) - (3)].id), 0);
mzta 0:158c61bb030f 6150 ;}
mzta 0:158c61bb030f 6151 break;
mzta 0:158c61bb030f 6152
mzta 0:158c61bb030f 6153 case 91:
mzta 0:158c61bb030f 6154
mzta 0:158c61bb030f 6155 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6156 #line 1565 "src/parse.y"
mzta 0:158c61bb030f 6157 {
mzta 0:158c61bb030f 6158 if (p->in_def || p->in_single)
mzta 0:158c61bb030f 6159 yyerror(p, "dynamic constant assignment");
mzta 0:158c61bb030f 6160 (yyval.nd) = new_colon2(p, (yyvsp[(1) - (3)].nd), (yyvsp[(3) - (3)].id));
mzta 0:158c61bb030f 6161 ;}
mzta 0:158c61bb030f 6162 break;
mzta 0:158c61bb030f 6163
mzta 0:158c61bb030f 6164 case 92:
mzta 0:158c61bb030f 6165
mzta 0:158c61bb030f 6166 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6167 #line 1571 "src/parse.y"
mzta 0:158c61bb030f 6168 {
mzta 0:158c61bb030f 6169 if (p->in_def || p->in_single)
mzta 0:158c61bb030f 6170 yyerror(p, "dynamic constant assignment");
mzta 0:158c61bb030f 6171 (yyval.nd) = new_colon3(p, (yyvsp[(2) - (2)].id));
mzta 0:158c61bb030f 6172 ;}
mzta 0:158c61bb030f 6173 break;
mzta 0:158c61bb030f 6174
mzta 0:158c61bb030f 6175 case 93:
mzta 0:158c61bb030f 6176
mzta 0:158c61bb030f 6177 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6178 #line 1577 "src/parse.y"
mzta 0:158c61bb030f 6179 {
mzta 0:158c61bb030f 6180 backref_error(p, (yyvsp[(1) - (1)].nd));
mzta 0:158c61bb030f 6181 (yyval.nd) = 0;
mzta 0:158c61bb030f 6182 ;}
mzta 0:158c61bb030f 6183 break;
mzta 0:158c61bb030f 6184
mzta 0:158c61bb030f 6185 case 94:
mzta 0:158c61bb030f 6186
mzta 0:158c61bb030f 6187 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6188 #line 1584 "src/parse.y"
mzta 0:158c61bb030f 6189 {
mzta 0:158c61bb030f 6190 assignable(p, (yyvsp[(1) - (1)].nd));
mzta 0:158c61bb030f 6191 ;}
mzta 0:158c61bb030f 6192 break;
mzta 0:158c61bb030f 6193
mzta 0:158c61bb030f 6194 case 95:
mzta 0:158c61bb030f 6195
mzta 0:158c61bb030f 6196 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6197 #line 1588 "src/parse.y"
mzta 0:158c61bb030f 6198 {
mzta 0:158c61bb030f 6199 (yyval.nd) = new_call(p, (yyvsp[(1) - (4)].nd), intern("[]",2), (yyvsp[(3) - (4)].nd));
mzta 0:158c61bb030f 6200 ;}
mzta 0:158c61bb030f 6201 break;
mzta 0:158c61bb030f 6202
mzta 0:158c61bb030f 6203 case 96:
mzta 0:158c61bb030f 6204
mzta 0:158c61bb030f 6205 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6206 #line 1592 "src/parse.y"
mzta 0:158c61bb030f 6207 {
mzta 0:158c61bb030f 6208 (yyval.nd) = new_call(p, (yyvsp[(1) - (3)].nd), (yyvsp[(3) - (3)].id), 0);
mzta 0:158c61bb030f 6209 ;}
mzta 0:158c61bb030f 6210 break;
mzta 0:158c61bb030f 6211
mzta 0:158c61bb030f 6212 case 97:
mzta 0:158c61bb030f 6213
mzta 0:158c61bb030f 6214 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6215 #line 1596 "src/parse.y"
mzta 0:158c61bb030f 6216 {
mzta 0:158c61bb030f 6217 (yyval.nd) = new_call(p, (yyvsp[(1) - (3)].nd), (yyvsp[(3) - (3)].id), 0);
mzta 0:158c61bb030f 6218 ;}
mzta 0:158c61bb030f 6219 break;
mzta 0:158c61bb030f 6220
mzta 0:158c61bb030f 6221 case 98:
mzta 0:158c61bb030f 6222
mzta 0:158c61bb030f 6223 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6224 #line 1600 "src/parse.y"
mzta 0:158c61bb030f 6225 {
mzta 0:158c61bb030f 6226 (yyval.nd) = new_call(p, (yyvsp[(1) - (3)].nd), (yyvsp[(3) - (3)].id), 0);
mzta 0:158c61bb030f 6227 ;}
mzta 0:158c61bb030f 6228 break;
mzta 0:158c61bb030f 6229
mzta 0:158c61bb030f 6230 case 99:
mzta 0:158c61bb030f 6231
mzta 0:158c61bb030f 6232 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6233 #line 1604 "src/parse.y"
mzta 0:158c61bb030f 6234 {
mzta 0:158c61bb030f 6235 if (p->in_def || p->in_single)
mzta 0:158c61bb030f 6236 yyerror(p, "dynamic constant assignment");
mzta 0:158c61bb030f 6237 (yyval.nd) = new_colon2(p, (yyvsp[(1) - (3)].nd), (yyvsp[(3) - (3)].id));
mzta 0:158c61bb030f 6238 ;}
mzta 0:158c61bb030f 6239 break;
mzta 0:158c61bb030f 6240
mzta 0:158c61bb030f 6241 case 100:
mzta 0:158c61bb030f 6242
mzta 0:158c61bb030f 6243 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6244 #line 1610 "src/parse.y"
mzta 0:158c61bb030f 6245 {
mzta 0:158c61bb030f 6246 if (p->in_def || p->in_single)
mzta 0:158c61bb030f 6247 yyerror(p, "dynamic constant assignment");
mzta 0:158c61bb030f 6248 (yyval.nd) = new_colon3(p, (yyvsp[(2) - (2)].id));
mzta 0:158c61bb030f 6249 ;}
mzta 0:158c61bb030f 6250 break;
mzta 0:158c61bb030f 6251
mzta 0:158c61bb030f 6252 case 101:
mzta 0:158c61bb030f 6253
mzta 0:158c61bb030f 6254 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6255 #line 1616 "src/parse.y"
mzta 0:158c61bb030f 6256 {
mzta 0:158c61bb030f 6257 backref_error(p, (yyvsp[(1) - (1)].nd));
mzta 0:158c61bb030f 6258 (yyval.nd) = 0;
mzta 0:158c61bb030f 6259 ;}
mzta 0:158c61bb030f 6260 break;
mzta 0:158c61bb030f 6261
mzta 0:158c61bb030f 6262 case 102:
mzta 0:158c61bb030f 6263
mzta 0:158c61bb030f 6264 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6265 #line 1623 "src/parse.y"
mzta 0:158c61bb030f 6266 {
mzta 0:158c61bb030f 6267 yyerror(p, "class/module name must be CONSTANT");
mzta 0:158c61bb030f 6268 ;}
mzta 0:158c61bb030f 6269 break;
mzta 0:158c61bb030f 6270
mzta 0:158c61bb030f 6271 case 104:
mzta 0:158c61bb030f 6272
mzta 0:158c61bb030f 6273 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6274 #line 1630 "src/parse.y"
mzta 0:158c61bb030f 6275 {
mzta 0:158c61bb030f 6276 (yyval.nd) = cons((node*)1, nsym((yyvsp[(2) - (2)].id)));
mzta 0:158c61bb030f 6277 ;}
mzta 0:158c61bb030f 6278 break;
mzta 0:158c61bb030f 6279
mzta 0:158c61bb030f 6280 case 105:
mzta 0:158c61bb030f 6281
mzta 0:158c61bb030f 6282 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6283 #line 1634 "src/parse.y"
mzta 0:158c61bb030f 6284 {
mzta 0:158c61bb030f 6285 (yyval.nd) = cons((node*)0, nsym((yyvsp[(1) - (1)].id)));
mzta 0:158c61bb030f 6286 ;}
mzta 0:158c61bb030f 6287 break;
mzta 0:158c61bb030f 6288
mzta 0:158c61bb030f 6289 case 106:
mzta 0:158c61bb030f 6290
mzta 0:158c61bb030f 6291 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6292 #line 1638 "src/parse.y"
mzta 0:158c61bb030f 6293 {
mzta 0:158c61bb030f 6294 (yyval.nd) = cons((yyvsp[(1) - (3)].nd), nsym((yyvsp[(3) - (3)].id)));
mzta 0:158c61bb030f 6295 ;}
mzta 0:158c61bb030f 6296 break;
mzta 0:158c61bb030f 6297
mzta 0:158c61bb030f 6298 case 110:
mzta 0:158c61bb030f 6299
mzta 0:158c61bb030f 6300 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6301 #line 1647 "src/parse.y"
mzta 0:158c61bb030f 6302 {
mzta 0:158c61bb030f 6303 p->lstate = EXPR_ENDFN;
mzta 0:158c61bb030f 6304 (yyval.id) = (yyvsp[(1) - (1)].id);
mzta 0:158c61bb030f 6305 ;}
mzta 0:158c61bb030f 6306 break;
mzta 0:158c61bb030f 6307
mzta 0:158c61bb030f 6308 case 111:
mzta 0:158c61bb030f 6309
mzta 0:158c61bb030f 6310 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6311 #line 1652 "src/parse.y"
mzta 0:158c61bb030f 6312 {
mzta 0:158c61bb030f 6313 p->lstate = EXPR_ENDFN;
mzta 0:158c61bb030f 6314 (yyval.id) = (yyvsp[(1) - (1)].id);
mzta 0:158c61bb030f 6315 ;}
mzta 0:158c61bb030f 6316 break;
mzta 0:158c61bb030f 6317
mzta 0:158c61bb030f 6318 case 114:
mzta 0:158c61bb030f 6319
mzta 0:158c61bb030f 6320 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6321 #line 1663 "src/parse.y"
mzta 0:158c61bb030f 6322 {
mzta 0:158c61bb030f 6323 (yyval.nd) = new_undef(p, (yyvsp[(1) - (1)].id));
mzta 0:158c61bb030f 6324 ;}
mzta 0:158c61bb030f 6325 break;
mzta 0:158c61bb030f 6326
mzta 0:158c61bb030f 6327 case 115:
mzta 0:158c61bb030f 6328
mzta 0:158c61bb030f 6329 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6330 #line 1666 "src/parse.y"
mzta 0:158c61bb030f 6331 {p->lstate = EXPR_FNAME;;}
mzta 0:158c61bb030f 6332 break;
mzta 0:158c61bb030f 6333
mzta 0:158c61bb030f 6334 case 116:
mzta 0:158c61bb030f 6335
mzta 0:158c61bb030f 6336 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6337 #line 1667 "src/parse.y"
mzta 0:158c61bb030f 6338 {
mzta 0:158c61bb030f 6339 (yyval.nd) = push((yyvsp[(1) - (4)].nd), nsym((yyvsp[(4) - (4)].id)));
mzta 0:158c61bb030f 6340 ;}
mzta 0:158c61bb030f 6341 break;
mzta 0:158c61bb030f 6342
mzta 0:158c61bb030f 6343 case 117:
mzta 0:158c61bb030f 6344
mzta 0:158c61bb030f 6345 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6346 #line 1672 "src/parse.y"
mzta 0:158c61bb030f 6347 { (yyval.id) = intern_c('|'); ;}
mzta 0:158c61bb030f 6348 break;
mzta 0:158c61bb030f 6349
mzta 0:158c61bb030f 6350 case 118:
mzta 0:158c61bb030f 6351
mzta 0:158c61bb030f 6352 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6353 #line 1673 "src/parse.y"
mzta 0:158c61bb030f 6354 { (yyval.id) = intern_c('^'); ;}
mzta 0:158c61bb030f 6355 break;
mzta 0:158c61bb030f 6356
mzta 0:158c61bb030f 6357 case 119:
mzta 0:158c61bb030f 6358
mzta 0:158c61bb030f 6359 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6360 #line 1674 "src/parse.y"
mzta 0:158c61bb030f 6361 { (yyval.id) = intern_c('&'); ;}
mzta 0:158c61bb030f 6362 break;
mzta 0:158c61bb030f 6363
mzta 0:158c61bb030f 6364 case 120:
mzta 0:158c61bb030f 6365
mzta 0:158c61bb030f 6366 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6367 #line 1675 "src/parse.y"
mzta 0:158c61bb030f 6368 { (yyval.id) = intern("<=>",3); ;}
mzta 0:158c61bb030f 6369 break;
mzta 0:158c61bb030f 6370
mzta 0:158c61bb030f 6371 case 121:
mzta 0:158c61bb030f 6372
mzta 0:158c61bb030f 6373 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6374 #line 1676 "src/parse.y"
mzta 0:158c61bb030f 6375 { (yyval.id) = intern("==",2); ;}
mzta 0:158c61bb030f 6376 break;
mzta 0:158c61bb030f 6377
mzta 0:158c61bb030f 6378 case 122:
mzta 0:158c61bb030f 6379
mzta 0:158c61bb030f 6380 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6381 #line 1677 "src/parse.y"
mzta 0:158c61bb030f 6382 { (yyval.id) = intern("===",3); ;}
mzta 0:158c61bb030f 6383 break;
mzta 0:158c61bb030f 6384
mzta 0:158c61bb030f 6385 case 123:
mzta 0:158c61bb030f 6386
mzta 0:158c61bb030f 6387 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6388 #line 1678 "src/parse.y"
mzta 0:158c61bb030f 6389 { (yyval.id) = intern("=~",2); ;}
mzta 0:158c61bb030f 6390 break;
mzta 0:158c61bb030f 6391
mzta 0:158c61bb030f 6392 case 124:
mzta 0:158c61bb030f 6393
mzta 0:158c61bb030f 6394 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6395 #line 1679 "src/parse.y"
mzta 0:158c61bb030f 6396 { (yyval.id) = intern("!~",2); ;}
mzta 0:158c61bb030f 6397 break;
mzta 0:158c61bb030f 6398
mzta 0:158c61bb030f 6399 case 125:
mzta 0:158c61bb030f 6400
mzta 0:158c61bb030f 6401 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6402 #line 1680 "src/parse.y"
mzta 0:158c61bb030f 6403 { (yyval.id) = intern_c('>'); ;}
mzta 0:158c61bb030f 6404 break;
mzta 0:158c61bb030f 6405
mzta 0:158c61bb030f 6406 case 126:
mzta 0:158c61bb030f 6407
mzta 0:158c61bb030f 6408 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6409 #line 1681 "src/parse.y"
mzta 0:158c61bb030f 6410 { (yyval.id) = intern(">=",2); ;}
mzta 0:158c61bb030f 6411 break;
mzta 0:158c61bb030f 6412
mzta 0:158c61bb030f 6413 case 127:
mzta 0:158c61bb030f 6414
mzta 0:158c61bb030f 6415 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6416 #line 1682 "src/parse.y"
mzta 0:158c61bb030f 6417 { (yyval.id) = intern_c('<'); ;}
mzta 0:158c61bb030f 6418 break;
mzta 0:158c61bb030f 6419
mzta 0:158c61bb030f 6420 case 128:
mzta 0:158c61bb030f 6421
mzta 0:158c61bb030f 6422 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6423 #line 1683 "src/parse.y"
mzta 0:158c61bb030f 6424 { (yyval.id) = intern("<=",2); ;}
mzta 0:158c61bb030f 6425 break;
mzta 0:158c61bb030f 6426
mzta 0:158c61bb030f 6427 case 129:
mzta 0:158c61bb030f 6428
mzta 0:158c61bb030f 6429 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6430 #line 1684 "src/parse.y"
mzta 0:158c61bb030f 6431 { (yyval.id) = intern("!=",2); ;}
mzta 0:158c61bb030f 6432 break;
mzta 0:158c61bb030f 6433
mzta 0:158c61bb030f 6434 case 130:
mzta 0:158c61bb030f 6435
mzta 0:158c61bb030f 6436 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6437 #line 1685 "src/parse.y"
mzta 0:158c61bb030f 6438 { (yyval.id) = intern("<<",2); ;}
mzta 0:158c61bb030f 6439 break;
mzta 0:158c61bb030f 6440
mzta 0:158c61bb030f 6441 case 131:
mzta 0:158c61bb030f 6442
mzta 0:158c61bb030f 6443 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6444 #line 1686 "src/parse.y"
mzta 0:158c61bb030f 6445 { (yyval.id) = intern(">>",2); ;}
mzta 0:158c61bb030f 6446 break;
mzta 0:158c61bb030f 6447
mzta 0:158c61bb030f 6448 case 132:
mzta 0:158c61bb030f 6449
mzta 0:158c61bb030f 6450 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6451 #line 1687 "src/parse.y"
mzta 0:158c61bb030f 6452 { (yyval.id) = intern_c('+'); ;}
mzta 0:158c61bb030f 6453 break;
mzta 0:158c61bb030f 6454
mzta 0:158c61bb030f 6455 case 133:
mzta 0:158c61bb030f 6456
mzta 0:158c61bb030f 6457 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6458 #line 1688 "src/parse.y"
mzta 0:158c61bb030f 6459 { (yyval.id) = intern_c('-'); ;}
mzta 0:158c61bb030f 6460 break;
mzta 0:158c61bb030f 6461
mzta 0:158c61bb030f 6462 case 134:
mzta 0:158c61bb030f 6463
mzta 0:158c61bb030f 6464 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6465 #line 1689 "src/parse.y"
mzta 0:158c61bb030f 6466 { (yyval.id) = intern_c('*'); ;}
mzta 0:158c61bb030f 6467 break;
mzta 0:158c61bb030f 6468
mzta 0:158c61bb030f 6469 case 135:
mzta 0:158c61bb030f 6470
mzta 0:158c61bb030f 6471 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6472 #line 1690 "src/parse.y"
mzta 0:158c61bb030f 6473 { (yyval.id) = intern_c('*'); ;}
mzta 0:158c61bb030f 6474 break;
mzta 0:158c61bb030f 6475
mzta 0:158c61bb030f 6476 case 136:
mzta 0:158c61bb030f 6477
mzta 0:158c61bb030f 6478 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6479 #line 1691 "src/parse.y"
mzta 0:158c61bb030f 6480 { (yyval.id) = intern_c('/'); ;}
mzta 0:158c61bb030f 6481 break;
mzta 0:158c61bb030f 6482
mzta 0:158c61bb030f 6483 case 137:
mzta 0:158c61bb030f 6484
mzta 0:158c61bb030f 6485 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6486 #line 1692 "src/parse.y"
mzta 0:158c61bb030f 6487 { (yyval.id) = intern_c('%'); ;}
mzta 0:158c61bb030f 6488 break;
mzta 0:158c61bb030f 6489
mzta 0:158c61bb030f 6490 case 138:
mzta 0:158c61bb030f 6491
mzta 0:158c61bb030f 6492 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6493 #line 1693 "src/parse.y"
mzta 0:158c61bb030f 6494 { (yyval.id) = intern("**",2); ;}
mzta 0:158c61bb030f 6495 break;
mzta 0:158c61bb030f 6496
mzta 0:158c61bb030f 6497 case 139:
mzta 0:158c61bb030f 6498
mzta 0:158c61bb030f 6499 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6500 #line 1694 "src/parse.y"
mzta 0:158c61bb030f 6501 { (yyval.id) = intern_c('!'); ;}
mzta 0:158c61bb030f 6502 break;
mzta 0:158c61bb030f 6503
mzta 0:158c61bb030f 6504 case 140:
mzta 0:158c61bb030f 6505
mzta 0:158c61bb030f 6506 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6507 #line 1695 "src/parse.y"
mzta 0:158c61bb030f 6508 { (yyval.id) = intern_c('~'); ;}
mzta 0:158c61bb030f 6509 break;
mzta 0:158c61bb030f 6510
mzta 0:158c61bb030f 6511 case 141:
mzta 0:158c61bb030f 6512
mzta 0:158c61bb030f 6513 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6514 #line 1696 "src/parse.y"
mzta 0:158c61bb030f 6515 { (yyval.id) = intern("+@",2); ;}
mzta 0:158c61bb030f 6516 break;
mzta 0:158c61bb030f 6517
mzta 0:158c61bb030f 6518 case 142:
mzta 0:158c61bb030f 6519
mzta 0:158c61bb030f 6520 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6521 #line 1697 "src/parse.y"
mzta 0:158c61bb030f 6522 { (yyval.id) = intern("-@",2); ;}
mzta 0:158c61bb030f 6523 break;
mzta 0:158c61bb030f 6524
mzta 0:158c61bb030f 6525 case 143:
mzta 0:158c61bb030f 6526
mzta 0:158c61bb030f 6527 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6528 #line 1698 "src/parse.y"
mzta 0:158c61bb030f 6529 { (yyval.id) = intern("[]",2); ;}
mzta 0:158c61bb030f 6530 break;
mzta 0:158c61bb030f 6531
mzta 0:158c61bb030f 6532 case 144:
mzta 0:158c61bb030f 6533
mzta 0:158c61bb030f 6534 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6535 #line 1699 "src/parse.y"
mzta 0:158c61bb030f 6536 { (yyval.id) = intern("[]=",3); ;}
mzta 0:158c61bb030f 6537 break;
mzta 0:158c61bb030f 6538
mzta 0:158c61bb030f 6539 case 145:
mzta 0:158c61bb030f 6540
mzta 0:158c61bb030f 6541 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6542 #line 1700 "src/parse.y"
mzta 0:158c61bb030f 6543 { (yyval.id) = intern_c('`'); ;}
mzta 0:158c61bb030f 6544 break;
mzta 0:158c61bb030f 6545
mzta 0:158c61bb030f 6546 case 186:
mzta 0:158c61bb030f 6547
mzta 0:158c61bb030f 6548 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6549 #line 1718 "src/parse.y"
mzta 0:158c61bb030f 6550 {
mzta 0:158c61bb030f 6551 (yyval.nd) = new_asgn(p, (yyvsp[(1) - (3)].nd), (yyvsp[(3) - (3)].nd));
mzta 0:158c61bb030f 6552 ;}
mzta 0:158c61bb030f 6553 break;
mzta 0:158c61bb030f 6554
mzta 0:158c61bb030f 6555 case 187:
mzta 0:158c61bb030f 6556
mzta 0:158c61bb030f 6557 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6558 #line 1722 "src/parse.y"
mzta 0:158c61bb030f 6559 {
mzta 0:158c61bb030f 6560 (yyval.nd) = new_asgn(p, (yyvsp[(1) - (5)].nd), new_rescue(p, (yyvsp[(3) - (5)].nd), list1(list3(0, 0, (yyvsp[(5) - (5)].nd))), 0));
mzta 0:158c61bb030f 6561 ;}
mzta 0:158c61bb030f 6562 break;
mzta 0:158c61bb030f 6563
mzta 0:158c61bb030f 6564 case 188:
mzta 0:158c61bb030f 6565
mzta 0:158c61bb030f 6566 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6567 #line 1726 "src/parse.y"
mzta 0:158c61bb030f 6568 {
mzta 0:158c61bb030f 6569 (yyval.nd) = new_op_asgn(p, (yyvsp[(1) - (3)].nd), (yyvsp[(2) - (3)].id), (yyvsp[(3) - (3)].nd));
mzta 0:158c61bb030f 6570 ;}
mzta 0:158c61bb030f 6571 break;
mzta 0:158c61bb030f 6572
mzta 0:158c61bb030f 6573 case 189:
mzta 0:158c61bb030f 6574
mzta 0:158c61bb030f 6575 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6576 #line 1730 "src/parse.y"
mzta 0:158c61bb030f 6577 {
mzta 0:158c61bb030f 6578 (yyval.nd) = new_op_asgn(p, (yyvsp[(1) - (5)].nd), (yyvsp[(2) - (5)].id), new_rescue(p, (yyvsp[(3) - (5)].nd), list1(list3(0, 0, (yyvsp[(5) - (5)].nd))), 0));
mzta 0:158c61bb030f 6579 ;}
mzta 0:158c61bb030f 6580 break;
mzta 0:158c61bb030f 6581
mzta 0:158c61bb030f 6582 case 190:
mzta 0:158c61bb030f 6583
mzta 0:158c61bb030f 6584 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6585 #line 1734 "src/parse.y"
mzta 0:158c61bb030f 6586 {
mzta 0:158c61bb030f 6587 (yyval.nd) = new_op_asgn(p, new_call(p, (yyvsp[(1) - (6)].nd), intern("[]",2), (yyvsp[(3) - (6)].nd)), (yyvsp[(5) - (6)].id), (yyvsp[(6) - (6)].nd));
mzta 0:158c61bb030f 6588 ;}
mzta 0:158c61bb030f 6589 break;
mzta 0:158c61bb030f 6590
mzta 0:158c61bb030f 6591 case 191:
mzta 0:158c61bb030f 6592
mzta 0:158c61bb030f 6593 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6594 #line 1738 "src/parse.y"
mzta 0:158c61bb030f 6595 {
mzta 0:158c61bb030f 6596 (yyval.nd) = new_op_asgn(p, new_call(p, (yyvsp[(1) - (5)].nd), (yyvsp[(3) - (5)].id), 0), (yyvsp[(4) - (5)].id), (yyvsp[(5) - (5)].nd));
mzta 0:158c61bb030f 6597 ;}
mzta 0:158c61bb030f 6598 break;
mzta 0:158c61bb030f 6599
mzta 0:158c61bb030f 6600 case 192:
mzta 0:158c61bb030f 6601
mzta 0:158c61bb030f 6602 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6603 #line 1742 "src/parse.y"
mzta 0:158c61bb030f 6604 {
mzta 0:158c61bb030f 6605 (yyval.nd) = new_op_asgn(p, new_call(p, (yyvsp[(1) - (5)].nd), (yyvsp[(3) - (5)].id), 0), (yyvsp[(4) - (5)].id), (yyvsp[(5) - (5)].nd));
mzta 0:158c61bb030f 6606 ;}
mzta 0:158c61bb030f 6607 break;
mzta 0:158c61bb030f 6608
mzta 0:158c61bb030f 6609 case 193:
mzta 0:158c61bb030f 6610
mzta 0:158c61bb030f 6611 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6612 #line 1746 "src/parse.y"
mzta 0:158c61bb030f 6613 {
mzta 0:158c61bb030f 6614 (yyval.nd) = new_op_asgn(p, new_call(p, (yyvsp[(1) - (5)].nd), (yyvsp[(3) - (5)].id), 0), (yyvsp[(4) - (5)].id), (yyvsp[(5) - (5)].nd));
mzta 0:158c61bb030f 6615 ;}
mzta 0:158c61bb030f 6616 break;
mzta 0:158c61bb030f 6617
mzta 0:158c61bb030f 6618 case 194:
mzta 0:158c61bb030f 6619
mzta 0:158c61bb030f 6620 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6621 #line 1750 "src/parse.y"
mzta 0:158c61bb030f 6622 {
mzta 0:158c61bb030f 6623 yyerror(p, "constant re-assignment");
mzta 0:158c61bb030f 6624 (yyval.nd) = new_begin(p, 0);
mzta 0:158c61bb030f 6625 ;}
mzta 0:158c61bb030f 6626 break;
mzta 0:158c61bb030f 6627
mzta 0:158c61bb030f 6628 case 195:
mzta 0:158c61bb030f 6629
mzta 0:158c61bb030f 6630 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6631 #line 1755 "src/parse.y"
mzta 0:158c61bb030f 6632 {
mzta 0:158c61bb030f 6633 yyerror(p, "constant re-assignment");
mzta 0:158c61bb030f 6634 (yyval.nd) = new_begin(p, 0);
mzta 0:158c61bb030f 6635 ;}
mzta 0:158c61bb030f 6636 break;
mzta 0:158c61bb030f 6637
mzta 0:158c61bb030f 6638 case 196:
mzta 0:158c61bb030f 6639
mzta 0:158c61bb030f 6640 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6641 #line 1760 "src/parse.y"
mzta 0:158c61bb030f 6642 {
mzta 0:158c61bb030f 6643 backref_error(p, (yyvsp[(1) - (3)].nd));
mzta 0:158c61bb030f 6644 (yyval.nd) = new_begin(p, 0);
mzta 0:158c61bb030f 6645 ;}
mzta 0:158c61bb030f 6646 break;
mzta 0:158c61bb030f 6647
mzta 0:158c61bb030f 6648 case 197:
mzta 0:158c61bb030f 6649
mzta 0:158c61bb030f 6650 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6651 #line 1765 "src/parse.y"
mzta 0:158c61bb030f 6652 {
mzta 0:158c61bb030f 6653 (yyval.nd) = new_dot2(p, (yyvsp[(1) - (3)].nd), (yyvsp[(3) - (3)].nd));
mzta 0:158c61bb030f 6654 ;}
mzta 0:158c61bb030f 6655 break;
mzta 0:158c61bb030f 6656
mzta 0:158c61bb030f 6657 case 198:
mzta 0:158c61bb030f 6658
mzta 0:158c61bb030f 6659 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6660 #line 1769 "src/parse.y"
mzta 0:158c61bb030f 6661 {
mzta 0:158c61bb030f 6662 (yyval.nd) = new_dot3(p, (yyvsp[(1) - (3)].nd), (yyvsp[(3) - (3)].nd));
mzta 0:158c61bb030f 6663 ;}
mzta 0:158c61bb030f 6664 break;
mzta 0:158c61bb030f 6665
mzta 0:158c61bb030f 6666 case 199:
mzta 0:158c61bb030f 6667
mzta 0:158c61bb030f 6668 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6669 #line 1773 "src/parse.y"
mzta 0:158c61bb030f 6670 {
mzta 0:158c61bb030f 6671 (yyval.nd) = call_bin_op(p, (yyvsp[(1) - (3)].nd), "+", (yyvsp[(3) - (3)].nd));
mzta 0:158c61bb030f 6672 ;}
mzta 0:158c61bb030f 6673 break;
mzta 0:158c61bb030f 6674
mzta 0:158c61bb030f 6675 case 200:
mzta 0:158c61bb030f 6676
mzta 0:158c61bb030f 6677 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6678 #line 1777 "src/parse.y"
mzta 0:158c61bb030f 6679 {
mzta 0:158c61bb030f 6680 (yyval.nd) = call_bin_op(p, (yyvsp[(1) - (3)].nd), "-", (yyvsp[(3) - (3)].nd));
mzta 0:158c61bb030f 6681 ;}
mzta 0:158c61bb030f 6682 break;
mzta 0:158c61bb030f 6683
mzta 0:158c61bb030f 6684 case 201:
mzta 0:158c61bb030f 6685
mzta 0:158c61bb030f 6686 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6687 #line 1781 "src/parse.y"
mzta 0:158c61bb030f 6688 {
mzta 0:158c61bb030f 6689 (yyval.nd) = call_bin_op(p, (yyvsp[(1) - (3)].nd), "*", (yyvsp[(3) - (3)].nd));
mzta 0:158c61bb030f 6690 ;}
mzta 0:158c61bb030f 6691 break;
mzta 0:158c61bb030f 6692
mzta 0:158c61bb030f 6693 case 202:
mzta 0:158c61bb030f 6694
mzta 0:158c61bb030f 6695 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6696 #line 1785 "src/parse.y"
mzta 0:158c61bb030f 6697 {
mzta 0:158c61bb030f 6698 (yyval.nd) = call_bin_op(p, (yyvsp[(1) - (3)].nd), "/", (yyvsp[(3) - (3)].nd));
mzta 0:158c61bb030f 6699 ;}
mzta 0:158c61bb030f 6700 break;
mzta 0:158c61bb030f 6701
mzta 0:158c61bb030f 6702 case 203:
mzta 0:158c61bb030f 6703
mzta 0:158c61bb030f 6704 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6705 #line 1789 "src/parse.y"
mzta 0:158c61bb030f 6706 {
mzta 0:158c61bb030f 6707 (yyval.nd) = call_bin_op(p, (yyvsp[(1) - (3)].nd), "%", (yyvsp[(3) - (3)].nd));
mzta 0:158c61bb030f 6708 ;}
mzta 0:158c61bb030f 6709 break;
mzta 0:158c61bb030f 6710
mzta 0:158c61bb030f 6711 case 204:
mzta 0:158c61bb030f 6712
mzta 0:158c61bb030f 6713 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6714 #line 1793 "src/parse.y"
mzta 0:158c61bb030f 6715 {
mzta 0:158c61bb030f 6716 (yyval.nd) = call_bin_op(p, (yyvsp[(1) - (3)].nd), "**", (yyvsp[(3) - (3)].nd));
mzta 0:158c61bb030f 6717 ;}
mzta 0:158c61bb030f 6718 break;
mzta 0:158c61bb030f 6719
mzta 0:158c61bb030f 6720 case 205:
mzta 0:158c61bb030f 6721
mzta 0:158c61bb030f 6722 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6723 #line 1797 "src/parse.y"
mzta 0:158c61bb030f 6724 {
mzta 0:158c61bb030f 6725 (yyval.nd) = call_uni_op(p, call_bin_op(p, (yyvsp[(2) - (4)].nd), "**", (yyvsp[(4) - (4)].nd)), "-@");
mzta 0:158c61bb030f 6726 ;}
mzta 0:158c61bb030f 6727 break;
mzta 0:158c61bb030f 6728
mzta 0:158c61bb030f 6729 case 206:
mzta 0:158c61bb030f 6730
mzta 0:158c61bb030f 6731 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6732 #line 1801 "src/parse.y"
mzta 0:158c61bb030f 6733 {
mzta 0:158c61bb030f 6734 (yyval.nd) = call_uni_op(p, call_bin_op(p, (yyvsp[(2) - (4)].nd), "**", (yyvsp[(4) - (4)].nd)), "-@");
mzta 0:158c61bb030f 6735 ;}
mzta 0:158c61bb030f 6736 break;
mzta 0:158c61bb030f 6737
mzta 0:158c61bb030f 6738 case 207:
mzta 0:158c61bb030f 6739
mzta 0:158c61bb030f 6740 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6741 #line 1805 "src/parse.y"
mzta 0:158c61bb030f 6742 {
mzta 0:158c61bb030f 6743 (yyval.nd) = call_uni_op(p, (yyvsp[(2) - (2)].nd), "+@");
mzta 0:158c61bb030f 6744 ;}
mzta 0:158c61bb030f 6745 break;
mzta 0:158c61bb030f 6746
mzta 0:158c61bb030f 6747 case 208:
mzta 0:158c61bb030f 6748
mzta 0:158c61bb030f 6749 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6750 #line 1809 "src/parse.y"
mzta 0:158c61bb030f 6751 {
mzta 0:158c61bb030f 6752 (yyval.nd) = call_uni_op(p, (yyvsp[(2) - (2)].nd), "-@");
mzta 0:158c61bb030f 6753 ;}
mzta 0:158c61bb030f 6754 break;
mzta 0:158c61bb030f 6755
mzta 0:158c61bb030f 6756 case 209:
mzta 0:158c61bb030f 6757
mzta 0:158c61bb030f 6758 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6759 #line 1813 "src/parse.y"
mzta 0:158c61bb030f 6760 {
mzta 0:158c61bb030f 6761 (yyval.nd) = call_bin_op(p, (yyvsp[(1) - (3)].nd), "|", (yyvsp[(3) - (3)].nd));
mzta 0:158c61bb030f 6762 ;}
mzta 0:158c61bb030f 6763 break;
mzta 0:158c61bb030f 6764
mzta 0:158c61bb030f 6765 case 210:
mzta 0:158c61bb030f 6766
mzta 0:158c61bb030f 6767 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6768 #line 1817 "src/parse.y"
mzta 0:158c61bb030f 6769 {
mzta 0:158c61bb030f 6770 (yyval.nd) = call_bin_op(p, (yyvsp[(1) - (3)].nd), "^", (yyvsp[(3) - (3)].nd));
mzta 0:158c61bb030f 6771 ;}
mzta 0:158c61bb030f 6772 break;
mzta 0:158c61bb030f 6773
mzta 0:158c61bb030f 6774 case 211:
mzta 0:158c61bb030f 6775
mzta 0:158c61bb030f 6776 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6777 #line 1821 "src/parse.y"
mzta 0:158c61bb030f 6778 {
mzta 0:158c61bb030f 6779 (yyval.nd) = call_bin_op(p, (yyvsp[(1) - (3)].nd), "&", (yyvsp[(3) - (3)].nd));
mzta 0:158c61bb030f 6780 ;}
mzta 0:158c61bb030f 6781 break;
mzta 0:158c61bb030f 6782
mzta 0:158c61bb030f 6783 case 212:
mzta 0:158c61bb030f 6784
mzta 0:158c61bb030f 6785 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6786 #line 1825 "src/parse.y"
mzta 0:158c61bb030f 6787 {
mzta 0:158c61bb030f 6788 (yyval.nd) = call_bin_op(p, (yyvsp[(1) - (3)].nd), "<=>", (yyvsp[(3) - (3)].nd));
mzta 0:158c61bb030f 6789 ;}
mzta 0:158c61bb030f 6790 break;
mzta 0:158c61bb030f 6791
mzta 0:158c61bb030f 6792 case 213:
mzta 0:158c61bb030f 6793
mzta 0:158c61bb030f 6794 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6795 #line 1829 "src/parse.y"
mzta 0:158c61bb030f 6796 {
mzta 0:158c61bb030f 6797 (yyval.nd) = call_bin_op(p, (yyvsp[(1) - (3)].nd), ">", (yyvsp[(3) - (3)].nd));
mzta 0:158c61bb030f 6798 ;}
mzta 0:158c61bb030f 6799 break;
mzta 0:158c61bb030f 6800
mzta 0:158c61bb030f 6801 case 214:
mzta 0:158c61bb030f 6802
mzta 0:158c61bb030f 6803 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6804 #line 1833 "src/parse.y"
mzta 0:158c61bb030f 6805 {
mzta 0:158c61bb030f 6806 (yyval.nd) = call_bin_op(p, (yyvsp[(1) - (3)].nd), ">=", (yyvsp[(3) - (3)].nd));
mzta 0:158c61bb030f 6807 ;}
mzta 0:158c61bb030f 6808 break;
mzta 0:158c61bb030f 6809
mzta 0:158c61bb030f 6810 case 215:
mzta 0:158c61bb030f 6811
mzta 0:158c61bb030f 6812 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6813 #line 1837 "src/parse.y"
mzta 0:158c61bb030f 6814 {
mzta 0:158c61bb030f 6815 (yyval.nd) = call_bin_op(p, (yyvsp[(1) - (3)].nd), "<", (yyvsp[(3) - (3)].nd));
mzta 0:158c61bb030f 6816 ;}
mzta 0:158c61bb030f 6817 break;
mzta 0:158c61bb030f 6818
mzta 0:158c61bb030f 6819 case 216:
mzta 0:158c61bb030f 6820
mzta 0:158c61bb030f 6821 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6822 #line 1841 "src/parse.y"
mzta 0:158c61bb030f 6823 {
mzta 0:158c61bb030f 6824 (yyval.nd) = call_bin_op(p, (yyvsp[(1) - (3)].nd), "<=", (yyvsp[(3) - (3)].nd));
mzta 0:158c61bb030f 6825 ;}
mzta 0:158c61bb030f 6826 break;
mzta 0:158c61bb030f 6827
mzta 0:158c61bb030f 6828 case 217:
mzta 0:158c61bb030f 6829
mzta 0:158c61bb030f 6830 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6831 #line 1845 "src/parse.y"
mzta 0:158c61bb030f 6832 {
mzta 0:158c61bb030f 6833 (yyval.nd) = call_bin_op(p, (yyvsp[(1) - (3)].nd), "==", (yyvsp[(3) - (3)].nd));
mzta 0:158c61bb030f 6834 ;}
mzta 0:158c61bb030f 6835 break;
mzta 0:158c61bb030f 6836
mzta 0:158c61bb030f 6837 case 218:
mzta 0:158c61bb030f 6838
mzta 0:158c61bb030f 6839 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6840 #line 1849 "src/parse.y"
mzta 0:158c61bb030f 6841 {
mzta 0:158c61bb030f 6842 (yyval.nd) = call_bin_op(p, (yyvsp[(1) - (3)].nd), "===", (yyvsp[(3) - (3)].nd));
mzta 0:158c61bb030f 6843 ;}
mzta 0:158c61bb030f 6844 break;
mzta 0:158c61bb030f 6845
mzta 0:158c61bb030f 6846 case 219:
mzta 0:158c61bb030f 6847
mzta 0:158c61bb030f 6848 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6849 #line 1853 "src/parse.y"
mzta 0:158c61bb030f 6850 {
mzta 0:158c61bb030f 6851 (yyval.nd) = call_bin_op(p, (yyvsp[(1) - (3)].nd), "!=", (yyvsp[(3) - (3)].nd));
mzta 0:158c61bb030f 6852 ;}
mzta 0:158c61bb030f 6853 break;
mzta 0:158c61bb030f 6854
mzta 0:158c61bb030f 6855 case 220:
mzta 0:158c61bb030f 6856
mzta 0:158c61bb030f 6857 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6858 #line 1857 "src/parse.y"
mzta 0:158c61bb030f 6859 {
mzta 0:158c61bb030f 6860 (yyval.nd) = call_bin_op(p, (yyvsp[(1) - (3)].nd), "=~", (yyvsp[(3) - (3)].nd));
mzta 0:158c61bb030f 6861 ;}
mzta 0:158c61bb030f 6862 break;
mzta 0:158c61bb030f 6863
mzta 0:158c61bb030f 6864 case 221:
mzta 0:158c61bb030f 6865
mzta 0:158c61bb030f 6866 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6867 #line 1861 "src/parse.y"
mzta 0:158c61bb030f 6868 {
mzta 0:158c61bb030f 6869 (yyval.nd) = call_bin_op(p, (yyvsp[(1) - (3)].nd), "!~", (yyvsp[(3) - (3)].nd));
mzta 0:158c61bb030f 6870 ;}
mzta 0:158c61bb030f 6871 break;
mzta 0:158c61bb030f 6872
mzta 0:158c61bb030f 6873 case 222:
mzta 0:158c61bb030f 6874
mzta 0:158c61bb030f 6875 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6876 #line 1865 "src/parse.y"
mzta 0:158c61bb030f 6877 {
mzta 0:158c61bb030f 6878 (yyval.nd) = call_uni_op(p, cond((yyvsp[(2) - (2)].nd)), "!");
mzta 0:158c61bb030f 6879 ;}
mzta 0:158c61bb030f 6880 break;
mzta 0:158c61bb030f 6881
mzta 0:158c61bb030f 6882 case 223:
mzta 0:158c61bb030f 6883
mzta 0:158c61bb030f 6884 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6885 #line 1869 "src/parse.y"
mzta 0:158c61bb030f 6886 {
mzta 0:158c61bb030f 6887 (yyval.nd) = call_uni_op(p, cond((yyvsp[(2) - (2)].nd)), "~");
mzta 0:158c61bb030f 6888 ;}
mzta 0:158c61bb030f 6889 break;
mzta 0:158c61bb030f 6890
mzta 0:158c61bb030f 6891 case 224:
mzta 0:158c61bb030f 6892
mzta 0:158c61bb030f 6893 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6894 #line 1873 "src/parse.y"
mzta 0:158c61bb030f 6895 {
mzta 0:158c61bb030f 6896 (yyval.nd) = call_bin_op(p, (yyvsp[(1) - (3)].nd), "<<", (yyvsp[(3) - (3)].nd));
mzta 0:158c61bb030f 6897 ;}
mzta 0:158c61bb030f 6898 break;
mzta 0:158c61bb030f 6899
mzta 0:158c61bb030f 6900 case 225:
mzta 0:158c61bb030f 6901
mzta 0:158c61bb030f 6902 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6903 #line 1877 "src/parse.y"
mzta 0:158c61bb030f 6904 {
mzta 0:158c61bb030f 6905 (yyval.nd) = call_bin_op(p, (yyvsp[(1) - (3)].nd), ">>", (yyvsp[(3) - (3)].nd));
mzta 0:158c61bb030f 6906 ;}
mzta 0:158c61bb030f 6907 break;
mzta 0:158c61bb030f 6908
mzta 0:158c61bb030f 6909 case 226:
mzta 0:158c61bb030f 6910
mzta 0:158c61bb030f 6911 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6912 #line 1881 "src/parse.y"
mzta 0:158c61bb030f 6913 {
mzta 0:158c61bb030f 6914 (yyval.nd) = new_and(p, (yyvsp[(1) - (3)].nd), (yyvsp[(3) - (3)].nd));
mzta 0:158c61bb030f 6915 ;}
mzta 0:158c61bb030f 6916 break;
mzta 0:158c61bb030f 6917
mzta 0:158c61bb030f 6918 case 227:
mzta 0:158c61bb030f 6919
mzta 0:158c61bb030f 6920 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6921 #line 1885 "src/parse.y"
mzta 0:158c61bb030f 6922 {
mzta 0:158c61bb030f 6923 (yyval.nd) = new_or(p, (yyvsp[(1) - (3)].nd), (yyvsp[(3) - (3)].nd));
mzta 0:158c61bb030f 6924 ;}
mzta 0:158c61bb030f 6925 break;
mzta 0:158c61bb030f 6926
mzta 0:158c61bb030f 6927 case 228:
mzta 0:158c61bb030f 6928
mzta 0:158c61bb030f 6929 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6930 #line 1889 "src/parse.y"
mzta 0:158c61bb030f 6931 {
mzta 0:158c61bb030f 6932 (yyval.nd) = new_if(p, cond((yyvsp[(1) - (6)].nd)), (yyvsp[(3) - (6)].nd), (yyvsp[(6) - (6)].nd));
mzta 0:158c61bb030f 6933 ;}
mzta 0:158c61bb030f 6934 break;
mzta 0:158c61bb030f 6935
mzta 0:158c61bb030f 6936 case 229:
mzta 0:158c61bb030f 6937
mzta 0:158c61bb030f 6938 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6939 #line 1893 "src/parse.y"
mzta 0:158c61bb030f 6940 {
mzta 0:158c61bb030f 6941 (yyval.nd) = (yyvsp[(1) - (1)].nd);
mzta 0:158c61bb030f 6942 ;}
mzta 0:158c61bb030f 6943 break;
mzta 0:158c61bb030f 6944
mzta 0:158c61bb030f 6945 case 230:
mzta 0:158c61bb030f 6946
mzta 0:158c61bb030f 6947 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6948 #line 1899 "src/parse.y"
mzta 0:158c61bb030f 6949 {
mzta 0:158c61bb030f 6950 (yyval.nd) = (yyvsp[(1) - (1)].nd);
mzta 0:158c61bb030f 6951 if (!(yyval.nd)) (yyval.nd) = new_nil(p);
mzta 0:158c61bb030f 6952 ;}
mzta 0:158c61bb030f 6953 break;
mzta 0:158c61bb030f 6954
mzta 0:158c61bb030f 6955 case 232:
mzta 0:158c61bb030f 6956
mzta 0:158c61bb030f 6957 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6958 #line 1907 "src/parse.y"
mzta 0:158c61bb030f 6959 {
mzta 0:158c61bb030f 6960 (yyval.nd) = (yyvsp[(1) - (2)].nd);
mzta 0:158c61bb030f 6961 NODE_LINENO((yyval.nd), (yyvsp[(1) - (2)].nd));
mzta 0:158c61bb030f 6962 ;}
mzta 0:158c61bb030f 6963 break;
mzta 0:158c61bb030f 6964
mzta 0:158c61bb030f 6965 case 233:
mzta 0:158c61bb030f 6966
mzta 0:158c61bb030f 6967 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6968 #line 1912 "src/parse.y"
mzta 0:158c61bb030f 6969 {
mzta 0:158c61bb030f 6970 (yyval.nd) = push((yyvsp[(1) - (4)].nd), new_hash(p, (yyvsp[(3) - (4)].nd)));
mzta 0:158c61bb030f 6971 ;}
mzta 0:158c61bb030f 6972 break;
mzta 0:158c61bb030f 6973
mzta 0:158c61bb030f 6974 case 234:
mzta 0:158c61bb030f 6975
mzta 0:158c61bb030f 6976 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6977 #line 1916 "src/parse.y"
mzta 0:158c61bb030f 6978 {
mzta 0:158c61bb030f 6979 (yyval.nd) = cons(new_hash(p, (yyvsp[(1) - (2)].nd)), 0);
mzta 0:158c61bb030f 6980 NODE_LINENO((yyval.nd), (yyvsp[(1) - (2)].nd));
mzta 0:158c61bb030f 6981 ;}
mzta 0:158c61bb030f 6982 break;
mzta 0:158c61bb030f 6983
mzta 0:158c61bb030f 6984 case 235:
mzta 0:158c61bb030f 6985
mzta 0:158c61bb030f 6986 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6987 #line 1923 "src/parse.y"
mzta 0:158c61bb030f 6988 {
mzta 0:158c61bb030f 6989 (yyval.nd) = (yyvsp[(2) - (3)].nd);
mzta 0:158c61bb030f 6990 ;}
mzta 0:158c61bb030f 6991 break;
mzta 0:158c61bb030f 6992
mzta 0:158c61bb030f 6993 case 240:
mzta 0:158c61bb030f 6994
mzta 0:158c61bb030f 6995 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 6996 #line 1935 "src/parse.y"
mzta 0:158c61bb030f 6997 {
mzta 0:158c61bb030f 6998 (yyval.nd) = cons((yyvsp[(1) - (2)].nd),0);
mzta 0:158c61bb030f 6999 NODE_LINENO((yyval.nd), (yyvsp[(1) - (2)].nd));
mzta 0:158c61bb030f 7000 ;}
mzta 0:158c61bb030f 7001 break;
mzta 0:158c61bb030f 7002
mzta 0:158c61bb030f 7003 case 241:
mzta 0:158c61bb030f 7004
mzta 0:158c61bb030f 7005 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7006 #line 1940 "src/parse.y"
mzta 0:158c61bb030f 7007 {
mzta 0:158c61bb030f 7008 (yyval.nd) = cons(push((yyvsp[(1) - (4)].nd), new_hash(p, (yyvsp[(3) - (4)].nd))), 0);
mzta 0:158c61bb030f 7009 NODE_LINENO((yyval.nd), (yyvsp[(1) - (4)].nd));
mzta 0:158c61bb030f 7010 ;}
mzta 0:158c61bb030f 7011 break;
mzta 0:158c61bb030f 7012
mzta 0:158c61bb030f 7013 case 242:
mzta 0:158c61bb030f 7014
mzta 0:158c61bb030f 7015 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7016 #line 1945 "src/parse.y"
mzta 0:158c61bb030f 7017 {
mzta 0:158c61bb030f 7018 (yyval.nd) = cons(list1(new_hash(p, (yyvsp[(1) - (2)].nd))), 0);
mzta 0:158c61bb030f 7019 NODE_LINENO((yyval.nd), (yyvsp[(1) - (2)].nd));
mzta 0:158c61bb030f 7020 ;}
mzta 0:158c61bb030f 7021 break;
mzta 0:158c61bb030f 7022
mzta 0:158c61bb030f 7023 case 243:
mzta 0:158c61bb030f 7024
mzta 0:158c61bb030f 7025 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7026 #line 1952 "src/parse.y"
mzta 0:158c61bb030f 7027 {
mzta 0:158c61bb030f 7028 (yyval.nd) = cons(list1((yyvsp[(1) - (1)].nd)), 0);
mzta 0:158c61bb030f 7029 NODE_LINENO((yyval.nd), (yyvsp[(1) - (1)].nd));
mzta 0:158c61bb030f 7030 ;}
mzta 0:158c61bb030f 7031 break;
mzta 0:158c61bb030f 7032
mzta 0:158c61bb030f 7033 case 244:
mzta 0:158c61bb030f 7034
mzta 0:158c61bb030f 7035 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7036 #line 1957 "src/parse.y"
mzta 0:158c61bb030f 7037 {
mzta 0:158c61bb030f 7038 (yyval.nd) = cons((yyvsp[(1) - (2)].nd), (yyvsp[(2) - (2)].nd));
mzta 0:158c61bb030f 7039 NODE_LINENO((yyval.nd), (yyvsp[(1) - (2)].nd));
mzta 0:158c61bb030f 7040 ;}
mzta 0:158c61bb030f 7041 break;
mzta 0:158c61bb030f 7042
mzta 0:158c61bb030f 7043 case 245:
mzta 0:158c61bb030f 7044
mzta 0:158c61bb030f 7045 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7046 #line 1962 "src/parse.y"
mzta 0:158c61bb030f 7047 {
mzta 0:158c61bb030f 7048 (yyval.nd) = cons(list1(new_hash(p, (yyvsp[(1) - (2)].nd))), (yyvsp[(2) - (2)].nd));
mzta 0:158c61bb030f 7049 NODE_LINENO((yyval.nd), (yyvsp[(1) - (2)].nd));
mzta 0:158c61bb030f 7050 ;}
mzta 0:158c61bb030f 7051 break;
mzta 0:158c61bb030f 7052
mzta 0:158c61bb030f 7053 case 246:
mzta 0:158c61bb030f 7054
mzta 0:158c61bb030f 7055 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7056 #line 1967 "src/parse.y"
mzta 0:158c61bb030f 7057 {
mzta 0:158c61bb030f 7058 (yyval.nd) = cons(push((yyvsp[(1) - (4)].nd), new_hash(p, (yyvsp[(3) - (4)].nd))), (yyvsp[(4) - (4)].nd));
mzta 0:158c61bb030f 7059 NODE_LINENO((yyval.nd), (yyvsp[(1) - (4)].nd));
mzta 0:158c61bb030f 7060 ;}
mzta 0:158c61bb030f 7061 break;
mzta 0:158c61bb030f 7062
mzta 0:158c61bb030f 7063 case 247:
mzta 0:158c61bb030f 7064
mzta 0:158c61bb030f 7065 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7066 #line 1972 "src/parse.y"
mzta 0:158c61bb030f 7067 {
mzta 0:158c61bb030f 7068 (yyval.nd) = cons(0, (yyvsp[(1) - (1)].nd));
mzta 0:158c61bb030f 7069 NODE_LINENO((yyval.nd), (yyvsp[(1) - (1)].nd));
mzta 0:158c61bb030f 7070 ;}
mzta 0:158c61bb030f 7071 break;
mzta 0:158c61bb030f 7072
mzta 0:158c61bb030f 7073 case 248:
mzta 0:158c61bb030f 7074
mzta 0:158c61bb030f 7075 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7076 #line 1978 "src/parse.y"
mzta 0:158c61bb030f 7077 {
mzta 0:158c61bb030f 7078 (yyval.stack) = p->cmdarg_stack;
mzta 0:158c61bb030f 7079 CMDARG_PUSH(1);
mzta 0:158c61bb030f 7080 ;}
mzta 0:158c61bb030f 7081 break;
mzta 0:158c61bb030f 7082
mzta 0:158c61bb030f 7083 case 249:
mzta 0:158c61bb030f 7084
mzta 0:158c61bb030f 7085 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7086 #line 1983 "src/parse.y"
mzta 0:158c61bb030f 7087 {
mzta 0:158c61bb030f 7088 p->cmdarg_stack = (yyvsp[(1) - (2)].stack);
mzta 0:158c61bb030f 7089 (yyval.nd) = (yyvsp[(2) - (2)].nd);
mzta 0:158c61bb030f 7090 ;}
mzta 0:158c61bb030f 7091 break;
mzta 0:158c61bb030f 7092
mzta 0:158c61bb030f 7093 case 250:
mzta 0:158c61bb030f 7094
mzta 0:158c61bb030f 7095 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7096 #line 1990 "src/parse.y"
mzta 0:158c61bb030f 7097 {
mzta 0:158c61bb030f 7098 (yyval.nd) = new_block_arg(p, (yyvsp[(2) - (2)].nd));
mzta 0:158c61bb030f 7099 ;}
mzta 0:158c61bb030f 7100 break;
mzta 0:158c61bb030f 7101
mzta 0:158c61bb030f 7102 case 251:
mzta 0:158c61bb030f 7103
mzta 0:158c61bb030f 7104 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7105 #line 1996 "src/parse.y"
mzta 0:158c61bb030f 7106 {
mzta 0:158c61bb030f 7107 (yyval.nd) = (yyvsp[(2) - (2)].nd);
mzta 0:158c61bb030f 7108 ;}
mzta 0:158c61bb030f 7109 break;
mzta 0:158c61bb030f 7110
mzta 0:158c61bb030f 7111 case 252:
mzta 0:158c61bb030f 7112
mzta 0:158c61bb030f 7113 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7114 #line 2000 "src/parse.y"
mzta 0:158c61bb030f 7115 {
mzta 0:158c61bb030f 7116 (yyval.nd) = 0;
mzta 0:158c61bb030f 7117 ;}
mzta 0:158c61bb030f 7118 break;
mzta 0:158c61bb030f 7119
mzta 0:158c61bb030f 7120 case 253:
mzta 0:158c61bb030f 7121
mzta 0:158c61bb030f 7122 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7123 #line 2006 "src/parse.y"
mzta 0:158c61bb030f 7124 {
mzta 0:158c61bb030f 7125 (yyval.nd) = cons((yyvsp[(1) - (1)].nd), 0);
mzta 0:158c61bb030f 7126 NODE_LINENO((yyval.nd), (yyvsp[(1) - (1)].nd));
mzta 0:158c61bb030f 7127 ;}
mzta 0:158c61bb030f 7128 break;
mzta 0:158c61bb030f 7129
mzta 0:158c61bb030f 7130 case 254:
mzta 0:158c61bb030f 7131
mzta 0:158c61bb030f 7132 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7133 #line 2011 "src/parse.y"
mzta 0:158c61bb030f 7134 {
mzta 0:158c61bb030f 7135 (yyval.nd) = cons(new_splat(p, (yyvsp[(2) - (2)].nd)), 0);
mzta 0:158c61bb030f 7136 NODE_LINENO((yyval.nd), (yyvsp[(2) - (2)].nd));
mzta 0:158c61bb030f 7137 ;}
mzta 0:158c61bb030f 7138 break;
mzta 0:158c61bb030f 7139
mzta 0:158c61bb030f 7140 case 255:
mzta 0:158c61bb030f 7141
mzta 0:158c61bb030f 7142 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7143 #line 2016 "src/parse.y"
mzta 0:158c61bb030f 7144 {
mzta 0:158c61bb030f 7145 (yyval.nd) = push((yyvsp[(1) - (3)].nd), (yyvsp[(3) - (3)].nd));
mzta 0:158c61bb030f 7146 ;}
mzta 0:158c61bb030f 7147 break;
mzta 0:158c61bb030f 7148
mzta 0:158c61bb030f 7149 case 256:
mzta 0:158c61bb030f 7150
mzta 0:158c61bb030f 7151 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7152 #line 2020 "src/parse.y"
mzta 0:158c61bb030f 7153 {
mzta 0:158c61bb030f 7154 (yyval.nd) = push((yyvsp[(1) - (4)].nd), new_splat(p, (yyvsp[(4) - (4)].nd)));
mzta 0:158c61bb030f 7155 ;}
mzta 0:158c61bb030f 7156 break;
mzta 0:158c61bb030f 7157
mzta 0:158c61bb030f 7158 case 257:
mzta 0:158c61bb030f 7159
mzta 0:158c61bb030f 7160 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7161 #line 2024 "src/parse.y"
mzta 0:158c61bb030f 7162 {
mzta 0:158c61bb030f 7163 (yyval.nd) = push((yyvsp[(1) - (4)].nd), (yyvsp[(4) - (4)].nd));
mzta 0:158c61bb030f 7164 ;}
mzta 0:158c61bb030f 7165 break;
mzta 0:158c61bb030f 7166
mzta 0:158c61bb030f 7167 case 258:
mzta 0:158c61bb030f 7168
mzta 0:158c61bb030f 7169 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7170 #line 2028 "src/parse.y"
mzta 0:158c61bb030f 7171 {
mzta 0:158c61bb030f 7172 (yyval.nd) = push((yyvsp[(1) - (5)].nd), new_splat(p, (yyvsp[(5) - (5)].nd)));
mzta 0:158c61bb030f 7173 ;}
mzta 0:158c61bb030f 7174 break;
mzta 0:158c61bb030f 7175
mzta 0:158c61bb030f 7176 case 259:
mzta 0:158c61bb030f 7177
mzta 0:158c61bb030f 7178 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7179 #line 2034 "src/parse.y"
mzta 0:158c61bb030f 7180 {
mzta 0:158c61bb030f 7181 (yyval.nd) = push((yyvsp[(1) - (3)].nd), (yyvsp[(3) - (3)].nd));
mzta 0:158c61bb030f 7182 ;}
mzta 0:158c61bb030f 7183 break;
mzta 0:158c61bb030f 7184
mzta 0:158c61bb030f 7185 case 260:
mzta 0:158c61bb030f 7186
mzta 0:158c61bb030f 7187 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7188 #line 2038 "src/parse.y"
mzta 0:158c61bb030f 7189 {
mzta 0:158c61bb030f 7190 (yyval.nd) = push((yyvsp[(1) - (4)].nd), new_splat(p, (yyvsp[(4) - (4)].nd)));
mzta 0:158c61bb030f 7191 ;}
mzta 0:158c61bb030f 7192 break;
mzta 0:158c61bb030f 7193
mzta 0:158c61bb030f 7194 case 261:
mzta 0:158c61bb030f 7195
mzta 0:158c61bb030f 7196 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7197 #line 2042 "src/parse.y"
mzta 0:158c61bb030f 7198 {
mzta 0:158c61bb030f 7199 (yyval.nd) = list1(new_splat(p, (yyvsp[(2) - (2)].nd)));
mzta 0:158c61bb030f 7200 ;}
mzta 0:158c61bb030f 7201 break;
mzta 0:158c61bb030f 7202
mzta 0:158c61bb030f 7203 case 269:
mzta 0:158c61bb030f 7204
mzta 0:158c61bb030f 7205 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7206 #line 2055 "src/parse.y"
mzta 0:158c61bb030f 7207 {
mzta 0:158c61bb030f 7208 (yyval.nd) = new_fcall(p, (yyvsp[(1) - (1)].id), 0);
mzta 0:158c61bb030f 7209 ;}
mzta 0:158c61bb030f 7210 break;
mzta 0:158c61bb030f 7211
mzta 0:158c61bb030f 7212 case 270:
mzta 0:158c61bb030f 7213
mzta 0:158c61bb030f 7214 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7215 #line 2059 "src/parse.y"
mzta 0:158c61bb030f 7216 {
mzta 0:158c61bb030f 7217 (yyval.stack) = p->cmdarg_stack;
mzta 0:158c61bb030f 7218 p->cmdarg_stack = 0;
mzta 0:158c61bb030f 7219 ;}
mzta 0:158c61bb030f 7220 break;
mzta 0:158c61bb030f 7221
mzta 0:158c61bb030f 7222 case 271:
mzta 0:158c61bb030f 7223
mzta 0:158c61bb030f 7224 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7225 #line 2065 "src/parse.y"
mzta 0:158c61bb030f 7226 {
mzta 0:158c61bb030f 7227 p->cmdarg_stack = (yyvsp[(2) - (4)].stack);
mzta 0:158c61bb030f 7228 (yyval.nd) = (yyvsp[(3) - (4)].nd);
mzta 0:158c61bb030f 7229 ;}
mzta 0:158c61bb030f 7230 break;
mzta 0:158c61bb030f 7231
mzta 0:158c61bb030f 7232 case 272:
mzta 0:158c61bb030f 7233
mzta 0:158c61bb030f 7234 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7235 #line 2070 "src/parse.y"
mzta 0:158c61bb030f 7236 {
mzta 0:158c61bb030f 7237 (yyval.stack) = p->cmdarg_stack;
mzta 0:158c61bb030f 7238 p->cmdarg_stack = 0;
mzta 0:158c61bb030f 7239 ;}
mzta 0:158c61bb030f 7240 break;
mzta 0:158c61bb030f 7241
mzta 0:158c61bb030f 7242 case 273:
mzta 0:158c61bb030f 7243
mzta 0:158c61bb030f 7244 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7245 #line 2074 "src/parse.y"
mzta 0:158c61bb030f 7246 {p->lstate = EXPR_ENDARG;;}
mzta 0:158c61bb030f 7247 break;
mzta 0:158c61bb030f 7248
mzta 0:158c61bb030f 7249 case 274:
mzta 0:158c61bb030f 7250
mzta 0:158c61bb030f 7251 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7252 #line 2075 "src/parse.y"
mzta 0:158c61bb030f 7253 {
mzta 0:158c61bb030f 7254 p->cmdarg_stack = (yyvsp[(2) - (5)].stack);
mzta 0:158c61bb030f 7255 (yyval.nd) = (yyvsp[(3) - (5)].nd);
mzta 0:158c61bb030f 7256 ;}
mzta 0:158c61bb030f 7257 break;
mzta 0:158c61bb030f 7258
mzta 0:158c61bb030f 7259 case 275:
mzta 0:158c61bb030f 7260
mzta 0:158c61bb030f 7261 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7262 #line 2079 "src/parse.y"
mzta 0:158c61bb030f 7263 {p->lstate = EXPR_ENDARG;;}
mzta 0:158c61bb030f 7264 break;
mzta 0:158c61bb030f 7265
mzta 0:158c61bb030f 7266 case 276:
mzta 0:158c61bb030f 7267
mzta 0:158c61bb030f 7268 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7269 #line 2080 "src/parse.y"
mzta 0:158c61bb030f 7270 {
mzta 0:158c61bb030f 7271 (yyval.nd) = 0;
mzta 0:158c61bb030f 7272 ;}
mzta 0:158c61bb030f 7273 break;
mzta 0:158c61bb030f 7274
mzta 0:158c61bb030f 7275 case 277:
mzta 0:158c61bb030f 7276
mzta 0:158c61bb030f 7277 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7278 #line 2084 "src/parse.y"
mzta 0:158c61bb030f 7279 {
mzta 0:158c61bb030f 7280 (yyval.nd) = (yyvsp[(2) - (3)].nd);
mzta 0:158c61bb030f 7281 ;}
mzta 0:158c61bb030f 7282 break;
mzta 0:158c61bb030f 7283
mzta 0:158c61bb030f 7284 case 278:
mzta 0:158c61bb030f 7285
mzta 0:158c61bb030f 7286 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7287 #line 2088 "src/parse.y"
mzta 0:158c61bb030f 7288 {
mzta 0:158c61bb030f 7289 (yyval.nd) = new_colon2(p, (yyvsp[(1) - (3)].nd), (yyvsp[(3) - (3)].id));
mzta 0:158c61bb030f 7290 ;}
mzta 0:158c61bb030f 7291 break;
mzta 0:158c61bb030f 7292
mzta 0:158c61bb030f 7293 case 279:
mzta 0:158c61bb030f 7294
mzta 0:158c61bb030f 7295 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7296 #line 2092 "src/parse.y"
mzta 0:158c61bb030f 7297 {
mzta 0:158c61bb030f 7298 (yyval.nd) = new_colon3(p, (yyvsp[(2) - (2)].id));
mzta 0:158c61bb030f 7299 ;}
mzta 0:158c61bb030f 7300 break;
mzta 0:158c61bb030f 7301
mzta 0:158c61bb030f 7302 case 280:
mzta 0:158c61bb030f 7303
mzta 0:158c61bb030f 7304 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7305 #line 2096 "src/parse.y"
mzta 0:158c61bb030f 7306 {
mzta 0:158c61bb030f 7307 (yyval.nd) = new_array(p, (yyvsp[(2) - (3)].nd));
mzta 0:158c61bb030f 7308 NODE_LINENO((yyval.nd), (yyvsp[(2) - (3)].nd));
mzta 0:158c61bb030f 7309 ;}
mzta 0:158c61bb030f 7310 break;
mzta 0:158c61bb030f 7311
mzta 0:158c61bb030f 7312 case 281:
mzta 0:158c61bb030f 7313
mzta 0:158c61bb030f 7314 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7315 #line 2101 "src/parse.y"
mzta 0:158c61bb030f 7316 {
mzta 0:158c61bb030f 7317 (yyval.nd) = new_hash(p, (yyvsp[(2) - (3)].nd));
mzta 0:158c61bb030f 7318 NODE_LINENO((yyval.nd), (yyvsp[(2) - (3)].nd));
mzta 0:158c61bb030f 7319 ;}
mzta 0:158c61bb030f 7320 break;
mzta 0:158c61bb030f 7321
mzta 0:158c61bb030f 7322 case 282:
mzta 0:158c61bb030f 7323
mzta 0:158c61bb030f 7324 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7325 #line 2106 "src/parse.y"
mzta 0:158c61bb030f 7326 {
mzta 0:158c61bb030f 7327 (yyval.nd) = new_return(p, 0);
mzta 0:158c61bb030f 7328 ;}
mzta 0:158c61bb030f 7329 break;
mzta 0:158c61bb030f 7330
mzta 0:158c61bb030f 7331 case 283:
mzta 0:158c61bb030f 7332
mzta 0:158c61bb030f 7333 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7334 #line 2110 "src/parse.y"
mzta 0:158c61bb030f 7335 {
mzta 0:158c61bb030f 7336 (yyval.nd) = new_yield(p, (yyvsp[(3) - (4)].nd));
mzta 0:158c61bb030f 7337 ;}
mzta 0:158c61bb030f 7338 break;
mzta 0:158c61bb030f 7339
mzta 0:158c61bb030f 7340 case 284:
mzta 0:158c61bb030f 7341
mzta 0:158c61bb030f 7342 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7343 #line 2114 "src/parse.y"
mzta 0:158c61bb030f 7344 {
mzta 0:158c61bb030f 7345 (yyval.nd) = new_yield(p, 0);
mzta 0:158c61bb030f 7346 ;}
mzta 0:158c61bb030f 7347 break;
mzta 0:158c61bb030f 7348
mzta 0:158c61bb030f 7349 case 285:
mzta 0:158c61bb030f 7350
mzta 0:158c61bb030f 7351 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7352 #line 2118 "src/parse.y"
mzta 0:158c61bb030f 7353 {
mzta 0:158c61bb030f 7354 (yyval.nd) = new_yield(p, 0);
mzta 0:158c61bb030f 7355 ;}
mzta 0:158c61bb030f 7356 break;
mzta 0:158c61bb030f 7357
mzta 0:158c61bb030f 7358 case 286:
mzta 0:158c61bb030f 7359
mzta 0:158c61bb030f 7360 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7361 #line 2122 "src/parse.y"
mzta 0:158c61bb030f 7362 {
mzta 0:158c61bb030f 7363 (yyval.nd) = call_uni_op(p, cond((yyvsp[(3) - (4)].nd)), "!");
mzta 0:158c61bb030f 7364 ;}
mzta 0:158c61bb030f 7365 break;
mzta 0:158c61bb030f 7366
mzta 0:158c61bb030f 7367 case 287:
mzta 0:158c61bb030f 7368
mzta 0:158c61bb030f 7369 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7370 #line 2126 "src/parse.y"
mzta 0:158c61bb030f 7371 {
mzta 0:158c61bb030f 7372 (yyval.nd) = call_uni_op(p, new_nil(p), "!");
mzta 0:158c61bb030f 7373 ;}
mzta 0:158c61bb030f 7374 break;
mzta 0:158c61bb030f 7375
mzta 0:158c61bb030f 7376 case 288:
mzta 0:158c61bb030f 7377
mzta 0:158c61bb030f 7378 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7379 #line 2130 "src/parse.y"
mzta 0:158c61bb030f 7380 {
mzta 0:158c61bb030f 7381 (yyval.nd) = new_fcall(p, (yyvsp[(1) - (2)].id), cons(0, (yyvsp[(2) - (2)].nd)));
mzta 0:158c61bb030f 7382 ;}
mzta 0:158c61bb030f 7383 break;
mzta 0:158c61bb030f 7384
mzta 0:158c61bb030f 7385 case 290:
mzta 0:158c61bb030f 7386
mzta 0:158c61bb030f 7387 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7388 #line 2135 "src/parse.y"
mzta 0:158c61bb030f 7389 {
mzta 0:158c61bb030f 7390 call_with_block(p, (yyvsp[(1) - (2)].nd), (yyvsp[(2) - (2)].nd));
mzta 0:158c61bb030f 7391 (yyval.nd) = (yyvsp[(1) - (2)].nd);
mzta 0:158c61bb030f 7392 ;}
mzta 0:158c61bb030f 7393 break;
mzta 0:158c61bb030f 7394
mzta 0:158c61bb030f 7395 case 291:
mzta 0:158c61bb030f 7396
mzta 0:158c61bb030f 7397 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7398 #line 2140 "src/parse.y"
mzta 0:158c61bb030f 7399 {
mzta 0:158c61bb030f 7400 local_nest(p);
mzta 0:158c61bb030f 7401 (yyval.num) = p->lpar_beg;
mzta 0:158c61bb030f 7402 p->lpar_beg = ++p->paren_nest;
mzta 0:158c61bb030f 7403 ;}
mzta 0:158c61bb030f 7404 break;
mzta 0:158c61bb030f 7405
mzta 0:158c61bb030f 7406 case 292:
mzta 0:158c61bb030f 7407
mzta 0:158c61bb030f 7408 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7409 #line 2147 "src/parse.y"
mzta 0:158c61bb030f 7410 {
mzta 0:158c61bb030f 7411 p->lpar_beg = (yyvsp[(2) - (4)].num);
mzta 0:158c61bb030f 7412 (yyval.nd) = new_lambda(p, (yyvsp[(3) - (4)].nd), (yyvsp[(4) - (4)].nd));
mzta 0:158c61bb030f 7413 local_unnest(p);
mzta 0:158c61bb030f 7414 ;}
mzta 0:158c61bb030f 7415 break;
mzta 0:158c61bb030f 7416
mzta 0:158c61bb030f 7417 case 293:
mzta 0:158c61bb030f 7418
mzta 0:158c61bb030f 7419 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7420 #line 2156 "src/parse.y"
mzta 0:158c61bb030f 7421 {
mzta 0:158c61bb030f 7422 (yyval.nd) = new_if(p, cond((yyvsp[(2) - (6)].nd)), (yyvsp[(4) - (6)].nd), (yyvsp[(5) - (6)].nd));
mzta 0:158c61bb030f 7423 SET_LINENO((yyval.nd), (yyvsp[(1) - (6)].num));
mzta 0:158c61bb030f 7424 ;}
mzta 0:158c61bb030f 7425 break;
mzta 0:158c61bb030f 7426
mzta 0:158c61bb030f 7427 case 294:
mzta 0:158c61bb030f 7428
mzta 0:158c61bb030f 7429 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7430 #line 2164 "src/parse.y"
mzta 0:158c61bb030f 7431 {
mzta 0:158c61bb030f 7432 (yyval.nd) = new_unless(p, cond((yyvsp[(2) - (6)].nd)), (yyvsp[(4) - (6)].nd), (yyvsp[(5) - (6)].nd));
mzta 0:158c61bb030f 7433 SET_LINENO((yyval.nd), (yyvsp[(1) - (6)].num));
mzta 0:158c61bb030f 7434 ;}
mzta 0:158c61bb030f 7435 break;
mzta 0:158c61bb030f 7436
mzta 0:158c61bb030f 7437 case 295:
mzta 0:158c61bb030f 7438
mzta 0:158c61bb030f 7439 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7440 #line 2168 "src/parse.y"
mzta 0:158c61bb030f 7441 {COND_PUSH(1);;}
mzta 0:158c61bb030f 7442 break;
mzta 0:158c61bb030f 7443
mzta 0:158c61bb030f 7444 case 296:
mzta 0:158c61bb030f 7445
mzta 0:158c61bb030f 7446 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7447 #line 2168 "src/parse.y"
mzta 0:158c61bb030f 7448 {COND_POP();;}
mzta 0:158c61bb030f 7449 break;
mzta 0:158c61bb030f 7450
mzta 0:158c61bb030f 7451 case 297:
mzta 0:158c61bb030f 7452
mzta 0:158c61bb030f 7453 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7454 #line 2171 "src/parse.y"
mzta 0:158c61bb030f 7455 {
mzta 0:158c61bb030f 7456 (yyval.nd) = new_while(p, cond((yyvsp[(3) - (7)].nd)), (yyvsp[(6) - (7)].nd));
mzta 0:158c61bb030f 7457 SET_LINENO((yyval.nd), (yyvsp[(1) - (7)].num));
mzta 0:158c61bb030f 7458 ;}
mzta 0:158c61bb030f 7459 break;
mzta 0:158c61bb030f 7460
mzta 0:158c61bb030f 7461 case 298:
mzta 0:158c61bb030f 7462
mzta 0:158c61bb030f 7463 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7464 #line 2175 "src/parse.y"
mzta 0:158c61bb030f 7465 {COND_PUSH(1);;}
mzta 0:158c61bb030f 7466 break;
mzta 0:158c61bb030f 7467
mzta 0:158c61bb030f 7468 case 299:
mzta 0:158c61bb030f 7469
mzta 0:158c61bb030f 7470 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7471 #line 2175 "src/parse.y"
mzta 0:158c61bb030f 7472 {COND_POP();;}
mzta 0:158c61bb030f 7473 break;
mzta 0:158c61bb030f 7474
mzta 0:158c61bb030f 7475 case 300:
mzta 0:158c61bb030f 7476
mzta 0:158c61bb030f 7477 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7478 #line 2178 "src/parse.y"
mzta 0:158c61bb030f 7479 {
mzta 0:158c61bb030f 7480 (yyval.nd) = new_until(p, cond((yyvsp[(3) - (7)].nd)), (yyvsp[(6) - (7)].nd));
mzta 0:158c61bb030f 7481 SET_LINENO((yyval.nd), (yyvsp[(1) - (7)].num));
mzta 0:158c61bb030f 7482 ;}
mzta 0:158c61bb030f 7483 break;
mzta 0:158c61bb030f 7484
mzta 0:158c61bb030f 7485 case 301:
mzta 0:158c61bb030f 7486
mzta 0:158c61bb030f 7487 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7488 #line 2185 "src/parse.y"
mzta 0:158c61bb030f 7489 {
mzta 0:158c61bb030f 7490 (yyval.nd) = new_case(p, (yyvsp[(2) - (5)].nd), (yyvsp[(4) - (5)].nd));
mzta 0:158c61bb030f 7491 ;}
mzta 0:158c61bb030f 7492 break;
mzta 0:158c61bb030f 7493
mzta 0:158c61bb030f 7494 case 302:
mzta 0:158c61bb030f 7495
mzta 0:158c61bb030f 7496 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7497 #line 2189 "src/parse.y"
mzta 0:158c61bb030f 7498 {
mzta 0:158c61bb030f 7499 (yyval.nd) = new_case(p, 0, (yyvsp[(3) - (4)].nd));
mzta 0:158c61bb030f 7500 ;}
mzta 0:158c61bb030f 7501 break;
mzta 0:158c61bb030f 7502
mzta 0:158c61bb030f 7503 case 303:
mzta 0:158c61bb030f 7504
mzta 0:158c61bb030f 7505 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7506 #line 2193 "src/parse.y"
mzta 0:158c61bb030f 7507 {COND_PUSH(1);;}
mzta 0:158c61bb030f 7508 break;
mzta 0:158c61bb030f 7509
mzta 0:158c61bb030f 7510 case 304:
mzta 0:158c61bb030f 7511
mzta 0:158c61bb030f 7512 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7513 #line 2195 "src/parse.y"
mzta 0:158c61bb030f 7514 {COND_POP();;}
mzta 0:158c61bb030f 7515 break;
mzta 0:158c61bb030f 7516
mzta 0:158c61bb030f 7517 case 305:
mzta 0:158c61bb030f 7518
mzta 0:158c61bb030f 7519 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7520 #line 2198 "src/parse.y"
mzta 0:158c61bb030f 7521 {
mzta 0:158c61bb030f 7522 (yyval.nd) = new_for(p, (yyvsp[(2) - (9)].nd), (yyvsp[(5) - (9)].nd), (yyvsp[(8) - (9)].nd));
mzta 0:158c61bb030f 7523 SET_LINENO((yyval.nd), (yyvsp[(1) - (9)].num));
mzta 0:158c61bb030f 7524 ;}
mzta 0:158c61bb030f 7525 break;
mzta 0:158c61bb030f 7526
mzta 0:158c61bb030f 7527 case 306:
mzta 0:158c61bb030f 7528
mzta 0:158c61bb030f 7529 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7530 #line 2204 "src/parse.y"
mzta 0:158c61bb030f 7531 {
mzta 0:158c61bb030f 7532 if (p->in_def || p->in_single)
mzta 0:158c61bb030f 7533 yyerror(p, "class definition in method body");
mzta 0:158c61bb030f 7534 (yyval.nd) = local_switch(p);
mzta 0:158c61bb030f 7535 ;}
mzta 0:158c61bb030f 7536 break;
mzta 0:158c61bb030f 7537
mzta 0:158c61bb030f 7538 case 307:
mzta 0:158c61bb030f 7539
mzta 0:158c61bb030f 7540 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7541 #line 2211 "src/parse.y"
mzta 0:158c61bb030f 7542 {
mzta 0:158c61bb030f 7543 (yyval.nd) = new_class(p, (yyvsp[(2) - (6)].nd), (yyvsp[(3) - (6)].nd), (yyvsp[(5) - (6)].nd));
mzta 0:158c61bb030f 7544 SET_LINENO((yyval.nd), (yyvsp[(1) - (6)].num));
mzta 0:158c61bb030f 7545 local_resume(p, (yyvsp[(4) - (6)].nd));
mzta 0:158c61bb030f 7546 ;}
mzta 0:158c61bb030f 7547 break;
mzta 0:158c61bb030f 7548
mzta 0:158c61bb030f 7549 case 308:
mzta 0:158c61bb030f 7550
mzta 0:158c61bb030f 7551 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7552 #line 2218 "src/parse.y"
mzta 0:158c61bb030f 7553 {
mzta 0:158c61bb030f 7554 (yyval.num) = p->in_def;
mzta 0:158c61bb030f 7555 p->in_def = 0;
mzta 0:158c61bb030f 7556 ;}
mzta 0:158c61bb030f 7557 break;
mzta 0:158c61bb030f 7558
mzta 0:158c61bb030f 7559 case 309:
mzta 0:158c61bb030f 7560
mzta 0:158c61bb030f 7561 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7562 #line 2223 "src/parse.y"
mzta 0:158c61bb030f 7563 {
mzta 0:158c61bb030f 7564 (yyval.nd) = cons(local_switch(p), (node*)(intptr_t)p->in_single);
mzta 0:158c61bb030f 7565 p->in_single = 0;
mzta 0:158c61bb030f 7566 ;}
mzta 0:158c61bb030f 7567 break;
mzta 0:158c61bb030f 7568
mzta 0:158c61bb030f 7569 case 310:
mzta 0:158c61bb030f 7570
mzta 0:158c61bb030f 7571 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7572 #line 2229 "src/parse.y"
mzta 0:158c61bb030f 7573 {
mzta 0:158c61bb030f 7574 (yyval.nd) = new_sclass(p, (yyvsp[(3) - (8)].nd), (yyvsp[(7) - (8)].nd));
mzta 0:158c61bb030f 7575 SET_LINENO((yyval.nd), (yyvsp[(1) - (8)].num));
mzta 0:158c61bb030f 7576 local_resume(p, (yyvsp[(6) - (8)].nd)->car);
mzta 0:158c61bb030f 7577 p->in_def = (yyvsp[(4) - (8)].num);
mzta 0:158c61bb030f 7578 p->in_single = (int)(intptr_t)(yyvsp[(6) - (8)].nd)->cdr;
mzta 0:158c61bb030f 7579 ;}
mzta 0:158c61bb030f 7580 break;
mzta 0:158c61bb030f 7581
mzta 0:158c61bb030f 7582 case 311:
mzta 0:158c61bb030f 7583
mzta 0:158c61bb030f 7584 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7585 #line 2238 "src/parse.y"
mzta 0:158c61bb030f 7586 {
mzta 0:158c61bb030f 7587 if (p->in_def || p->in_single)
mzta 0:158c61bb030f 7588 yyerror(p, "module definition in method body");
mzta 0:158c61bb030f 7589 (yyval.nd) = local_switch(p);
mzta 0:158c61bb030f 7590 ;}
mzta 0:158c61bb030f 7591 break;
mzta 0:158c61bb030f 7592
mzta 0:158c61bb030f 7593 case 312:
mzta 0:158c61bb030f 7594
mzta 0:158c61bb030f 7595 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7596 #line 2245 "src/parse.y"
mzta 0:158c61bb030f 7597 {
mzta 0:158c61bb030f 7598 (yyval.nd) = new_module(p, (yyvsp[(2) - (5)].nd), (yyvsp[(4) - (5)].nd));
mzta 0:158c61bb030f 7599 SET_LINENO((yyval.nd), (yyvsp[(1) - (5)].num));
mzta 0:158c61bb030f 7600 local_resume(p, (yyvsp[(3) - (5)].nd));
mzta 0:158c61bb030f 7601 ;}
mzta 0:158c61bb030f 7602 break;
mzta 0:158c61bb030f 7603
mzta 0:158c61bb030f 7604 case 313:
mzta 0:158c61bb030f 7605
mzta 0:158c61bb030f 7606 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7607 #line 2251 "src/parse.y"
mzta 0:158c61bb030f 7608 {
mzta 0:158c61bb030f 7609 (yyval.stack) = p->cmdarg_stack;
mzta 0:158c61bb030f 7610 p->cmdarg_stack = 0;
mzta 0:158c61bb030f 7611 ;}
mzta 0:158c61bb030f 7612 break;
mzta 0:158c61bb030f 7613
mzta 0:158c61bb030f 7614 case 314:
mzta 0:158c61bb030f 7615
mzta 0:158c61bb030f 7616 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7617 #line 2255 "src/parse.y"
mzta 0:158c61bb030f 7618 {
mzta 0:158c61bb030f 7619 p->in_def++;
mzta 0:158c61bb030f 7620 (yyval.nd) = local_switch(p);
mzta 0:158c61bb030f 7621 ;}
mzta 0:158c61bb030f 7622 break;
mzta 0:158c61bb030f 7623
mzta 0:158c61bb030f 7624 case 315:
mzta 0:158c61bb030f 7625
mzta 0:158c61bb030f 7626 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7627 #line 2262 "src/parse.y"
mzta 0:158c61bb030f 7628 {
mzta 0:158c61bb030f 7629 (yyval.nd) = new_def(p, (yyvsp[(2) - (7)].id), (yyvsp[(5) - (7)].nd), (yyvsp[(6) - (7)].nd));
mzta 0:158c61bb030f 7630 SET_LINENO((yyval.nd), (yyvsp[(1) - (7)].num));
mzta 0:158c61bb030f 7631 local_resume(p, (yyvsp[(4) - (7)].nd));
mzta 0:158c61bb030f 7632 p->in_def--;
mzta 0:158c61bb030f 7633 p->cmdarg_stack = (yyvsp[(3) - (7)].stack);
mzta 0:158c61bb030f 7634 ;}
mzta 0:158c61bb030f 7635 break;
mzta 0:158c61bb030f 7636
mzta 0:158c61bb030f 7637 case 316:
mzta 0:158c61bb030f 7638
mzta 0:158c61bb030f 7639 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7640 #line 2270 "src/parse.y"
mzta 0:158c61bb030f 7641 {
mzta 0:158c61bb030f 7642 p->lstate = EXPR_FNAME;
mzta 0:158c61bb030f 7643 (yyval.stack) = p->cmdarg_stack;
mzta 0:158c61bb030f 7644 p->cmdarg_stack = 0;
mzta 0:158c61bb030f 7645 ;}
mzta 0:158c61bb030f 7646 break;
mzta 0:158c61bb030f 7647
mzta 0:158c61bb030f 7648 case 317:
mzta 0:158c61bb030f 7649
mzta 0:158c61bb030f 7650 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7651 #line 2276 "src/parse.y"
mzta 0:158c61bb030f 7652 {
mzta 0:158c61bb030f 7653 p->in_single++;
mzta 0:158c61bb030f 7654 p->lstate = EXPR_ENDFN; /* force for args */
mzta 0:158c61bb030f 7655 (yyval.nd) = local_switch(p);
mzta 0:158c61bb030f 7656 ;}
mzta 0:158c61bb030f 7657 break;
mzta 0:158c61bb030f 7658
mzta 0:158c61bb030f 7659 case 318:
mzta 0:158c61bb030f 7660
mzta 0:158c61bb030f 7661 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7662 #line 2284 "src/parse.y"
mzta 0:158c61bb030f 7663 {
mzta 0:158c61bb030f 7664 (yyval.nd) = new_sdef(p, (yyvsp[(2) - (9)].nd), (yyvsp[(5) - (9)].id), (yyvsp[(7) - (9)].nd), (yyvsp[(8) - (9)].nd));
mzta 0:158c61bb030f 7665 SET_LINENO((yyval.nd), (yyvsp[(1) - (9)].num));
mzta 0:158c61bb030f 7666 local_resume(p, (yyvsp[(6) - (9)].nd));
mzta 0:158c61bb030f 7667 p->in_single--;
mzta 0:158c61bb030f 7668 p->cmdarg_stack = (yyvsp[(4) - (9)].stack);
mzta 0:158c61bb030f 7669 ;}
mzta 0:158c61bb030f 7670 break;
mzta 0:158c61bb030f 7671
mzta 0:158c61bb030f 7672 case 319:
mzta 0:158c61bb030f 7673
mzta 0:158c61bb030f 7674 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7675 #line 2292 "src/parse.y"
mzta 0:158c61bb030f 7676 {
mzta 0:158c61bb030f 7677 (yyval.nd) = new_break(p, 0);
mzta 0:158c61bb030f 7678 ;}
mzta 0:158c61bb030f 7679 break;
mzta 0:158c61bb030f 7680
mzta 0:158c61bb030f 7681 case 320:
mzta 0:158c61bb030f 7682
mzta 0:158c61bb030f 7683 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7684 #line 2296 "src/parse.y"
mzta 0:158c61bb030f 7685 {
mzta 0:158c61bb030f 7686 (yyval.nd) = new_next(p, 0);
mzta 0:158c61bb030f 7687 ;}
mzta 0:158c61bb030f 7688 break;
mzta 0:158c61bb030f 7689
mzta 0:158c61bb030f 7690 case 321:
mzta 0:158c61bb030f 7691
mzta 0:158c61bb030f 7692 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7693 #line 2300 "src/parse.y"
mzta 0:158c61bb030f 7694 {
mzta 0:158c61bb030f 7695 (yyval.nd) = new_redo(p);
mzta 0:158c61bb030f 7696 ;}
mzta 0:158c61bb030f 7697 break;
mzta 0:158c61bb030f 7698
mzta 0:158c61bb030f 7699 case 322:
mzta 0:158c61bb030f 7700
mzta 0:158c61bb030f 7701 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7702 #line 2304 "src/parse.y"
mzta 0:158c61bb030f 7703 {
mzta 0:158c61bb030f 7704 (yyval.nd) = new_retry(p);
mzta 0:158c61bb030f 7705 ;}
mzta 0:158c61bb030f 7706 break;
mzta 0:158c61bb030f 7707
mzta 0:158c61bb030f 7708 case 323:
mzta 0:158c61bb030f 7709
mzta 0:158c61bb030f 7710 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7711 #line 2310 "src/parse.y"
mzta 0:158c61bb030f 7712 {
mzta 0:158c61bb030f 7713 (yyval.nd) = (yyvsp[(1) - (1)].nd);
mzta 0:158c61bb030f 7714 if (!(yyval.nd)) (yyval.nd) = new_nil(p);
mzta 0:158c61bb030f 7715 ;}
mzta 0:158c61bb030f 7716 break;
mzta 0:158c61bb030f 7717
mzta 0:158c61bb030f 7718 case 330:
mzta 0:158c61bb030f 7719
mzta 0:158c61bb030f 7720 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7721 #line 2329 "src/parse.y"
mzta 0:158c61bb030f 7722 {
mzta 0:158c61bb030f 7723 (yyval.nd) = new_if(p, cond((yyvsp[(2) - (5)].nd)), (yyvsp[(4) - (5)].nd), (yyvsp[(5) - (5)].nd));
mzta 0:158c61bb030f 7724 ;}
mzta 0:158c61bb030f 7725 break;
mzta 0:158c61bb030f 7726
mzta 0:158c61bb030f 7727 case 332:
mzta 0:158c61bb030f 7728
mzta 0:158c61bb030f 7729 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7730 #line 2336 "src/parse.y"
mzta 0:158c61bb030f 7731 {
mzta 0:158c61bb030f 7732 (yyval.nd) = (yyvsp[(2) - (2)].nd);
mzta 0:158c61bb030f 7733 ;}
mzta 0:158c61bb030f 7734 break;
mzta 0:158c61bb030f 7735
mzta 0:158c61bb030f 7736 case 333:
mzta 0:158c61bb030f 7737
mzta 0:158c61bb030f 7738 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7739 #line 2342 "src/parse.y"
mzta 0:158c61bb030f 7740 {
mzta 0:158c61bb030f 7741 (yyval.nd) = list1(list1((yyvsp[(1) - (1)].nd)));
mzta 0:158c61bb030f 7742 ;}
mzta 0:158c61bb030f 7743 break;
mzta 0:158c61bb030f 7744
mzta 0:158c61bb030f 7745 case 335:
mzta 0:158c61bb030f 7746
mzta 0:158c61bb030f 7747 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7748 #line 2349 "src/parse.y"
mzta 0:158c61bb030f 7749 {
mzta 0:158c61bb030f 7750 (yyval.nd) = new_arg(p, (yyvsp[(1) - (1)].id));
mzta 0:158c61bb030f 7751 ;}
mzta 0:158c61bb030f 7752 break;
mzta 0:158c61bb030f 7753
mzta 0:158c61bb030f 7754 case 336:
mzta 0:158c61bb030f 7755
mzta 0:158c61bb030f 7756 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7757 #line 2353 "src/parse.y"
mzta 0:158c61bb030f 7758 {
mzta 0:158c61bb030f 7759 (yyval.nd) = new_masgn(p, (yyvsp[(2) - (3)].nd), 0);
mzta 0:158c61bb030f 7760 ;}
mzta 0:158c61bb030f 7761 break;
mzta 0:158c61bb030f 7762
mzta 0:158c61bb030f 7763 case 337:
mzta 0:158c61bb030f 7764
mzta 0:158c61bb030f 7765 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7766 #line 2359 "src/parse.y"
mzta 0:158c61bb030f 7767 {
mzta 0:158c61bb030f 7768 (yyval.nd) = list1((yyvsp[(1) - (1)].nd));
mzta 0:158c61bb030f 7769 ;}
mzta 0:158c61bb030f 7770 break;
mzta 0:158c61bb030f 7771
mzta 0:158c61bb030f 7772 case 338:
mzta 0:158c61bb030f 7773
mzta 0:158c61bb030f 7774 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7775 #line 2363 "src/parse.y"
mzta 0:158c61bb030f 7776 {
mzta 0:158c61bb030f 7777 (yyval.nd) = push((yyvsp[(1) - (3)].nd), (yyvsp[(3) - (3)].nd));
mzta 0:158c61bb030f 7778 ;}
mzta 0:158c61bb030f 7779 break;
mzta 0:158c61bb030f 7780
mzta 0:158c61bb030f 7781 case 339:
mzta 0:158c61bb030f 7782
mzta 0:158c61bb030f 7783 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7784 #line 2369 "src/parse.y"
mzta 0:158c61bb030f 7785 {
mzta 0:158c61bb030f 7786 (yyval.nd) = list3((yyvsp[(1) - (1)].nd),0,0);
mzta 0:158c61bb030f 7787 ;}
mzta 0:158c61bb030f 7788 break;
mzta 0:158c61bb030f 7789
mzta 0:158c61bb030f 7790 case 340:
mzta 0:158c61bb030f 7791
mzta 0:158c61bb030f 7792 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7793 #line 2373 "src/parse.y"
mzta 0:158c61bb030f 7794 {
mzta 0:158c61bb030f 7795 (yyval.nd) = list3((yyvsp[(1) - (4)].nd), new_arg(p, (yyvsp[(4) - (4)].id)), 0);
mzta 0:158c61bb030f 7796 ;}
mzta 0:158c61bb030f 7797 break;
mzta 0:158c61bb030f 7798
mzta 0:158c61bb030f 7799 case 341:
mzta 0:158c61bb030f 7800
mzta 0:158c61bb030f 7801 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7802 #line 2377 "src/parse.y"
mzta 0:158c61bb030f 7803 {
mzta 0:158c61bb030f 7804 (yyval.nd) = list3((yyvsp[(1) - (6)].nd), new_arg(p, (yyvsp[(4) - (6)].id)), (yyvsp[(6) - (6)].nd));
mzta 0:158c61bb030f 7805 ;}
mzta 0:158c61bb030f 7806 break;
mzta 0:158c61bb030f 7807
mzta 0:158c61bb030f 7808 case 342:
mzta 0:158c61bb030f 7809
mzta 0:158c61bb030f 7810 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7811 #line 2381 "src/parse.y"
mzta 0:158c61bb030f 7812 {
mzta 0:158c61bb030f 7813 (yyval.nd) = list3((yyvsp[(1) - (3)].nd), (node*)-1, 0);
mzta 0:158c61bb030f 7814 ;}
mzta 0:158c61bb030f 7815 break;
mzta 0:158c61bb030f 7816
mzta 0:158c61bb030f 7817 case 343:
mzta 0:158c61bb030f 7818
mzta 0:158c61bb030f 7819 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7820 #line 2385 "src/parse.y"
mzta 0:158c61bb030f 7821 {
mzta 0:158c61bb030f 7822 (yyval.nd) = list3((yyvsp[(1) - (5)].nd), (node*)-1, (yyvsp[(5) - (5)].nd));
mzta 0:158c61bb030f 7823 ;}
mzta 0:158c61bb030f 7824 break;
mzta 0:158c61bb030f 7825
mzta 0:158c61bb030f 7826 case 344:
mzta 0:158c61bb030f 7827
mzta 0:158c61bb030f 7828 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7829 #line 2389 "src/parse.y"
mzta 0:158c61bb030f 7830 {
mzta 0:158c61bb030f 7831 (yyval.nd) = list3(0, new_arg(p, (yyvsp[(2) - (2)].id)), 0);
mzta 0:158c61bb030f 7832 ;}
mzta 0:158c61bb030f 7833 break;
mzta 0:158c61bb030f 7834
mzta 0:158c61bb030f 7835 case 345:
mzta 0:158c61bb030f 7836
mzta 0:158c61bb030f 7837 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7838 #line 2393 "src/parse.y"
mzta 0:158c61bb030f 7839 {
mzta 0:158c61bb030f 7840 (yyval.nd) = list3(0, new_arg(p, (yyvsp[(2) - (4)].id)), (yyvsp[(4) - (4)].nd));
mzta 0:158c61bb030f 7841 ;}
mzta 0:158c61bb030f 7842 break;
mzta 0:158c61bb030f 7843
mzta 0:158c61bb030f 7844 case 346:
mzta 0:158c61bb030f 7845
mzta 0:158c61bb030f 7846 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7847 #line 2397 "src/parse.y"
mzta 0:158c61bb030f 7848 {
mzta 0:158c61bb030f 7849 (yyval.nd) = list3(0, (node*)-1, 0);
mzta 0:158c61bb030f 7850 ;}
mzta 0:158c61bb030f 7851 break;
mzta 0:158c61bb030f 7852
mzta 0:158c61bb030f 7853 case 347:
mzta 0:158c61bb030f 7854
mzta 0:158c61bb030f 7855 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7856 #line 2401 "src/parse.y"
mzta 0:158c61bb030f 7857 {
mzta 0:158c61bb030f 7858 (yyval.nd) = list3(0, (node*)-1, (yyvsp[(3) - (3)].nd));
mzta 0:158c61bb030f 7859 ;}
mzta 0:158c61bb030f 7860 break;
mzta 0:158c61bb030f 7861
mzta 0:158c61bb030f 7862 case 348:
mzta 0:158c61bb030f 7863
mzta 0:158c61bb030f 7864 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7865 #line 2407 "src/parse.y"
mzta 0:158c61bb030f 7866 {
mzta 0:158c61bb030f 7867 (yyval.nd) = new_args(p, (yyvsp[(1) - (6)].nd), (yyvsp[(3) - (6)].nd), (yyvsp[(5) - (6)].id), 0, (yyvsp[(6) - (6)].id));
mzta 0:158c61bb030f 7868 ;}
mzta 0:158c61bb030f 7869 break;
mzta 0:158c61bb030f 7870
mzta 0:158c61bb030f 7871 case 349:
mzta 0:158c61bb030f 7872
mzta 0:158c61bb030f 7873 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7874 #line 2411 "src/parse.y"
mzta 0:158c61bb030f 7875 {
mzta 0:158c61bb030f 7876 (yyval.nd) = new_args(p, (yyvsp[(1) - (8)].nd), (yyvsp[(3) - (8)].nd), (yyvsp[(5) - (8)].id), (yyvsp[(7) - (8)].nd), (yyvsp[(8) - (8)].id));
mzta 0:158c61bb030f 7877 ;}
mzta 0:158c61bb030f 7878 break;
mzta 0:158c61bb030f 7879
mzta 0:158c61bb030f 7880 case 350:
mzta 0:158c61bb030f 7881
mzta 0:158c61bb030f 7882 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7883 #line 2415 "src/parse.y"
mzta 0:158c61bb030f 7884 {
mzta 0:158c61bb030f 7885 (yyval.nd) = new_args(p, (yyvsp[(1) - (4)].nd), (yyvsp[(3) - (4)].nd), 0, 0, (yyvsp[(4) - (4)].id));
mzta 0:158c61bb030f 7886 ;}
mzta 0:158c61bb030f 7887 break;
mzta 0:158c61bb030f 7888
mzta 0:158c61bb030f 7889 case 351:
mzta 0:158c61bb030f 7890
mzta 0:158c61bb030f 7891 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7892 #line 2419 "src/parse.y"
mzta 0:158c61bb030f 7893 {
mzta 0:158c61bb030f 7894 (yyval.nd) = new_args(p, (yyvsp[(1) - (6)].nd), (yyvsp[(3) - (6)].nd), 0, (yyvsp[(5) - (6)].nd), (yyvsp[(6) - (6)].id));
mzta 0:158c61bb030f 7895 ;}
mzta 0:158c61bb030f 7896 break;
mzta 0:158c61bb030f 7897
mzta 0:158c61bb030f 7898 case 352:
mzta 0:158c61bb030f 7899
mzta 0:158c61bb030f 7900 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7901 #line 2423 "src/parse.y"
mzta 0:158c61bb030f 7902 {
mzta 0:158c61bb030f 7903 (yyval.nd) = new_args(p, (yyvsp[(1) - (4)].nd), 0, (yyvsp[(3) - (4)].id), 0, (yyvsp[(4) - (4)].id));
mzta 0:158c61bb030f 7904 ;}
mzta 0:158c61bb030f 7905 break;
mzta 0:158c61bb030f 7906
mzta 0:158c61bb030f 7907 case 353:
mzta 0:158c61bb030f 7908
mzta 0:158c61bb030f 7909 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7910 #line 2427 "src/parse.y"
mzta 0:158c61bb030f 7911 {
mzta 0:158c61bb030f 7912 (yyval.nd) = new_args(p, (yyvsp[(1) - (2)].nd), 0, 1, 0, 0);
mzta 0:158c61bb030f 7913 ;}
mzta 0:158c61bb030f 7914 break;
mzta 0:158c61bb030f 7915
mzta 0:158c61bb030f 7916 case 354:
mzta 0:158c61bb030f 7917
mzta 0:158c61bb030f 7918 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7919 #line 2431 "src/parse.y"
mzta 0:158c61bb030f 7920 {
mzta 0:158c61bb030f 7921 (yyval.nd) = new_args(p, (yyvsp[(1) - (6)].nd), 0, (yyvsp[(3) - (6)].id), (yyvsp[(5) - (6)].nd), (yyvsp[(6) - (6)].id));
mzta 0:158c61bb030f 7922 ;}
mzta 0:158c61bb030f 7923 break;
mzta 0:158c61bb030f 7924
mzta 0:158c61bb030f 7925 case 355:
mzta 0:158c61bb030f 7926
mzta 0:158c61bb030f 7927 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7928 #line 2435 "src/parse.y"
mzta 0:158c61bb030f 7929 {
mzta 0:158c61bb030f 7930 (yyval.nd) = new_args(p, (yyvsp[(1) - (2)].nd), 0, 0, 0, (yyvsp[(2) - (2)].id));
mzta 0:158c61bb030f 7931 ;}
mzta 0:158c61bb030f 7932 break;
mzta 0:158c61bb030f 7933
mzta 0:158c61bb030f 7934 case 356:
mzta 0:158c61bb030f 7935
mzta 0:158c61bb030f 7936 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7937 #line 2439 "src/parse.y"
mzta 0:158c61bb030f 7938 {
mzta 0:158c61bb030f 7939 (yyval.nd) = new_args(p, 0, (yyvsp[(1) - (4)].nd), (yyvsp[(3) - (4)].id), 0, (yyvsp[(4) - (4)].id));
mzta 0:158c61bb030f 7940 ;}
mzta 0:158c61bb030f 7941 break;
mzta 0:158c61bb030f 7942
mzta 0:158c61bb030f 7943 case 357:
mzta 0:158c61bb030f 7944
mzta 0:158c61bb030f 7945 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7946 #line 2443 "src/parse.y"
mzta 0:158c61bb030f 7947 {
mzta 0:158c61bb030f 7948 (yyval.nd) = new_args(p, 0, (yyvsp[(1) - (6)].nd), (yyvsp[(3) - (6)].id), (yyvsp[(5) - (6)].nd), (yyvsp[(6) - (6)].id));
mzta 0:158c61bb030f 7949 ;}
mzta 0:158c61bb030f 7950 break;
mzta 0:158c61bb030f 7951
mzta 0:158c61bb030f 7952 case 358:
mzta 0:158c61bb030f 7953
mzta 0:158c61bb030f 7954 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7955 #line 2447 "src/parse.y"
mzta 0:158c61bb030f 7956 {
mzta 0:158c61bb030f 7957 (yyval.nd) = new_args(p, 0, (yyvsp[(1) - (2)].nd), 0, 0, (yyvsp[(2) - (2)].id));
mzta 0:158c61bb030f 7958 ;}
mzta 0:158c61bb030f 7959 break;
mzta 0:158c61bb030f 7960
mzta 0:158c61bb030f 7961 case 359:
mzta 0:158c61bb030f 7962
mzta 0:158c61bb030f 7963 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7964 #line 2451 "src/parse.y"
mzta 0:158c61bb030f 7965 {
mzta 0:158c61bb030f 7966 (yyval.nd) = new_args(p, 0, (yyvsp[(1) - (4)].nd), 0, (yyvsp[(3) - (4)].nd), (yyvsp[(4) - (4)].id));
mzta 0:158c61bb030f 7967 ;}
mzta 0:158c61bb030f 7968 break;
mzta 0:158c61bb030f 7969
mzta 0:158c61bb030f 7970 case 360:
mzta 0:158c61bb030f 7971
mzta 0:158c61bb030f 7972 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7973 #line 2455 "src/parse.y"
mzta 0:158c61bb030f 7974 {
mzta 0:158c61bb030f 7975 (yyval.nd) = new_args(p, 0, 0, (yyvsp[(1) - (2)].id), 0, (yyvsp[(2) - (2)].id));
mzta 0:158c61bb030f 7976 ;}
mzta 0:158c61bb030f 7977 break;
mzta 0:158c61bb030f 7978
mzta 0:158c61bb030f 7979 case 361:
mzta 0:158c61bb030f 7980
mzta 0:158c61bb030f 7981 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7982 #line 2459 "src/parse.y"
mzta 0:158c61bb030f 7983 {
mzta 0:158c61bb030f 7984 (yyval.nd) = new_args(p, 0, 0, (yyvsp[(1) - (4)].id), (yyvsp[(3) - (4)].nd), (yyvsp[(4) - (4)].id));
mzta 0:158c61bb030f 7985 ;}
mzta 0:158c61bb030f 7986 break;
mzta 0:158c61bb030f 7987
mzta 0:158c61bb030f 7988 case 362:
mzta 0:158c61bb030f 7989
mzta 0:158c61bb030f 7990 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 7991 #line 2463 "src/parse.y"
mzta 0:158c61bb030f 7992 {
mzta 0:158c61bb030f 7993 (yyval.nd) = new_args(p, 0, 0, 0, 0, (yyvsp[(1) - (1)].id));
mzta 0:158c61bb030f 7994 ;}
mzta 0:158c61bb030f 7995 break;
mzta 0:158c61bb030f 7996
mzta 0:158c61bb030f 7997 case 364:
mzta 0:158c61bb030f 7998
mzta 0:158c61bb030f 7999 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8000 #line 2470 "src/parse.y"
mzta 0:158c61bb030f 8001 {
mzta 0:158c61bb030f 8002 p->cmd_start = TRUE;
mzta 0:158c61bb030f 8003 (yyval.nd) = (yyvsp[(1) - (1)].nd);
mzta 0:158c61bb030f 8004 ;}
mzta 0:158c61bb030f 8005 break;
mzta 0:158c61bb030f 8006
mzta 0:158c61bb030f 8007 case 365:
mzta 0:158c61bb030f 8008
mzta 0:158c61bb030f 8009 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8010 #line 2477 "src/parse.y"
mzta 0:158c61bb030f 8011 {
mzta 0:158c61bb030f 8012 (yyval.nd) = 0;
mzta 0:158c61bb030f 8013 ;}
mzta 0:158c61bb030f 8014 break;
mzta 0:158c61bb030f 8015
mzta 0:158c61bb030f 8016 case 366:
mzta 0:158c61bb030f 8017
mzta 0:158c61bb030f 8018 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8019 #line 2481 "src/parse.y"
mzta 0:158c61bb030f 8020 {
mzta 0:158c61bb030f 8021 (yyval.nd) = 0;
mzta 0:158c61bb030f 8022 ;}
mzta 0:158c61bb030f 8023 break;
mzta 0:158c61bb030f 8024
mzta 0:158c61bb030f 8025 case 367:
mzta 0:158c61bb030f 8026
mzta 0:158c61bb030f 8027 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8028 #line 2485 "src/parse.y"
mzta 0:158c61bb030f 8029 {
mzta 0:158c61bb030f 8030 (yyval.nd) = (yyvsp[(2) - (4)].nd);
mzta 0:158c61bb030f 8031 ;}
mzta 0:158c61bb030f 8032 break;
mzta 0:158c61bb030f 8033
mzta 0:158c61bb030f 8034 case 368:
mzta 0:158c61bb030f 8035
mzta 0:158c61bb030f 8036 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8037 #line 2492 "src/parse.y"
mzta 0:158c61bb030f 8038 {
mzta 0:158c61bb030f 8039 (yyval.nd) = 0;
mzta 0:158c61bb030f 8040 ;}
mzta 0:158c61bb030f 8041 break;
mzta 0:158c61bb030f 8042
mzta 0:158c61bb030f 8043 case 369:
mzta 0:158c61bb030f 8044
mzta 0:158c61bb030f 8045 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8046 #line 2496 "src/parse.y"
mzta 0:158c61bb030f 8047 {
mzta 0:158c61bb030f 8048 (yyval.nd) = 0;
mzta 0:158c61bb030f 8049 ;}
mzta 0:158c61bb030f 8050 break;
mzta 0:158c61bb030f 8051
mzta 0:158c61bb030f 8052 case 372:
mzta 0:158c61bb030f 8053
mzta 0:158c61bb030f 8054 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8055 #line 2506 "src/parse.y"
mzta 0:158c61bb030f 8056 {
mzta 0:158c61bb030f 8057 local_add_f(p, (yyvsp[(1) - (1)].id));
mzta 0:158c61bb030f 8058 new_bv(p, (yyvsp[(1) - (1)].id));
mzta 0:158c61bb030f 8059 ;}
mzta 0:158c61bb030f 8060 break;
mzta 0:158c61bb030f 8061
mzta 0:158c61bb030f 8062 case 374:
mzta 0:158c61bb030f 8063
mzta 0:158c61bb030f 8064 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8065 #line 2514 "src/parse.y"
mzta 0:158c61bb030f 8066 {
mzta 0:158c61bb030f 8067 (yyval.nd) = (yyvsp[(2) - (4)].nd);
mzta 0:158c61bb030f 8068 ;}
mzta 0:158c61bb030f 8069 break;
mzta 0:158c61bb030f 8070
mzta 0:158c61bb030f 8071 case 375:
mzta 0:158c61bb030f 8072
mzta 0:158c61bb030f 8073 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8074 #line 2518 "src/parse.y"
mzta 0:158c61bb030f 8075 {
mzta 0:158c61bb030f 8076 (yyval.nd) = (yyvsp[(1) - (1)].nd);
mzta 0:158c61bb030f 8077 ;}
mzta 0:158c61bb030f 8078 break;
mzta 0:158c61bb030f 8079
mzta 0:158c61bb030f 8080 case 376:
mzta 0:158c61bb030f 8081
mzta 0:158c61bb030f 8082 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8083 #line 2524 "src/parse.y"
mzta 0:158c61bb030f 8084 {
mzta 0:158c61bb030f 8085 (yyval.nd) = (yyvsp[(2) - (3)].nd);
mzta 0:158c61bb030f 8086 ;}
mzta 0:158c61bb030f 8087 break;
mzta 0:158c61bb030f 8088
mzta 0:158c61bb030f 8089 case 377:
mzta 0:158c61bb030f 8090
mzta 0:158c61bb030f 8091 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8092 #line 2528 "src/parse.y"
mzta 0:158c61bb030f 8093 {
mzta 0:158c61bb030f 8094 (yyval.nd) = (yyvsp[(2) - (3)].nd);
mzta 0:158c61bb030f 8095 ;}
mzta 0:158c61bb030f 8096 break;
mzta 0:158c61bb030f 8097
mzta 0:158c61bb030f 8098 case 378:
mzta 0:158c61bb030f 8099
mzta 0:158c61bb030f 8100 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8101 #line 2534 "src/parse.y"
mzta 0:158c61bb030f 8102 {
mzta 0:158c61bb030f 8103 local_nest(p);
mzta 0:158c61bb030f 8104 ;}
mzta 0:158c61bb030f 8105 break;
mzta 0:158c61bb030f 8106
mzta 0:158c61bb030f 8107 case 379:
mzta 0:158c61bb030f 8108
mzta 0:158c61bb030f 8109 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8110 #line 2540 "src/parse.y"
mzta 0:158c61bb030f 8111 {
mzta 0:158c61bb030f 8112 (yyval.nd) = new_block(p,(yyvsp[(3) - (5)].nd),(yyvsp[(4) - (5)].nd));
mzta 0:158c61bb030f 8113 local_unnest(p);
mzta 0:158c61bb030f 8114 ;}
mzta 0:158c61bb030f 8115 break;
mzta 0:158c61bb030f 8116
mzta 0:158c61bb030f 8117 case 380:
mzta 0:158c61bb030f 8118
mzta 0:158c61bb030f 8119 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8120 #line 2547 "src/parse.y"
mzta 0:158c61bb030f 8121 {
mzta 0:158c61bb030f 8122 if ((yyvsp[(1) - (2)].nd)->car == (node*)NODE_YIELD) {
mzta 0:158c61bb030f 8123 yyerror(p, "block given to yield");
mzta 0:158c61bb030f 8124 }
mzta 0:158c61bb030f 8125 else {
mzta 0:158c61bb030f 8126 call_with_block(p, (yyvsp[(1) - (2)].nd), (yyvsp[(2) - (2)].nd));
mzta 0:158c61bb030f 8127 }
mzta 0:158c61bb030f 8128 (yyval.nd) = (yyvsp[(1) - (2)].nd);
mzta 0:158c61bb030f 8129 ;}
mzta 0:158c61bb030f 8130 break;
mzta 0:158c61bb030f 8131
mzta 0:158c61bb030f 8132 case 381:
mzta 0:158c61bb030f 8133
mzta 0:158c61bb030f 8134 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8135 #line 2557 "src/parse.y"
mzta 0:158c61bb030f 8136 {
mzta 0:158c61bb030f 8137 (yyval.nd) = new_call(p, (yyvsp[(1) - (4)].nd), (yyvsp[(3) - (4)].id), (yyvsp[(4) - (4)].nd));
mzta 0:158c61bb030f 8138 ;}
mzta 0:158c61bb030f 8139 break;
mzta 0:158c61bb030f 8140
mzta 0:158c61bb030f 8141 case 382:
mzta 0:158c61bb030f 8142
mzta 0:158c61bb030f 8143 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8144 #line 2561 "src/parse.y"
mzta 0:158c61bb030f 8145 {
mzta 0:158c61bb030f 8146 (yyval.nd) = new_call(p, (yyvsp[(1) - (5)].nd), (yyvsp[(3) - (5)].id), (yyvsp[(4) - (5)].nd));
mzta 0:158c61bb030f 8147 call_with_block(p, (yyval.nd), (yyvsp[(5) - (5)].nd));
mzta 0:158c61bb030f 8148 ;}
mzta 0:158c61bb030f 8149 break;
mzta 0:158c61bb030f 8150
mzta 0:158c61bb030f 8151 case 383:
mzta 0:158c61bb030f 8152
mzta 0:158c61bb030f 8153 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8154 #line 2566 "src/parse.y"
mzta 0:158c61bb030f 8155 {
mzta 0:158c61bb030f 8156 (yyval.nd) = new_call(p, (yyvsp[(1) - (5)].nd), (yyvsp[(3) - (5)].id), (yyvsp[(4) - (5)].nd));
mzta 0:158c61bb030f 8157 call_with_block(p, (yyval.nd), (yyvsp[(5) - (5)].nd));
mzta 0:158c61bb030f 8158 ;}
mzta 0:158c61bb030f 8159 break;
mzta 0:158c61bb030f 8160
mzta 0:158c61bb030f 8161 case 384:
mzta 0:158c61bb030f 8162
mzta 0:158c61bb030f 8163 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8164 #line 2573 "src/parse.y"
mzta 0:158c61bb030f 8165 {
mzta 0:158c61bb030f 8166 (yyval.nd) = new_fcall(p, (yyvsp[(1) - (2)].id), (yyvsp[(2) - (2)].nd));
mzta 0:158c61bb030f 8167 ;}
mzta 0:158c61bb030f 8168 break;
mzta 0:158c61bb030f 8169
mzta 0:158c61bb030f 8170 case 385:
mzta 0:158c61bb030f 8171
mzta 0:158c61bb030f 8172 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8173 #line 2577 "src/parse.y"
mzta 0:158c61bb030f 8174 {
mzta 0:158c61bb030f 8175 (yyval.nd) = new_call(p, (yyvsp[(1) - (4)].nd), (yyvsp[(3) - (4)].id), (yyvsp[(4) - (4)].nd));
mzta 0:158c61bb030f 8176 ;}
mzta 0:158c61bb030f 8177 break;
mzta 0:158c61bb030f 8178
mzta 0:158c61bb030f 8179 case 386:
mzta 0:158c61bb030f 8180
mzta 0:158c61bb030f 8181 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8182 #line 2581 "src/parse.y"
mzta 0:158c61bb030f 8183 {
mzta 0:158c61bb030f 8184 (yyval.nd) = new_call(p, (yyvsp[(1) - (4)].nd), (yyvsp[(3) - (4)].id), (yyvsp[(4) - (4)].nd));
mzta 0:158c61bb030f 8185 ;}
mzta 0:158c61bb030f 8186 break;
mzta 0:158c61bb030f 8187
mzta 0:158c61bb030f 8188 case 387:
mzta 0:158c61bb030f 8189
mzta 0:158c61bb030f 8190 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8191 #line 2585 "src/parse.y"
mzta 0:158c61bb030f 8192 {
mzta 0:158c61bb030f 8193 (yyval.nd) = new_call(p, (yyvsp[(1) - (3)].nd), (yyvsp[(3) - (3)].id), 0);
mzta 0:158c61bb030f 8194 ;}
mzta 0:158c61bb030f 8195 break;
mzta 0:158c61bb030f 8196
mzta 0:158c61bb030f 8197 case 388:
mzta 0:158c61bb030f 8198
mzta 0:158c61bb030f 8199 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8200 #line 2589 "src/parse.y"
mzta 0:158c61bb030f 8201 {
mzta 0:158c61bb030f 8202 (yyval.nd) = new_call(p, (yyvsp[(1) - (3)].nd), intern("call",4), (yyvsp[(3) - (3)].nd));
mzta 0:158c61bb030f 8203 ;}
mzta 0:158c61bb030f 8204 break;
mzta 0:158c61bb030f 8205
mzta 0:158c61bb030f 8206 case 389:
mzta 0:158c61bb030f 8207
mzta 0:158c61bb030f 8208 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8209 #line 2593 "src/parse.y"
mzta 0:158c61bb030f 8210 {
mzta 0:158c61bb030f 8211 (yyval.nd) = new_call(p, (yyvsp[(1) - (3)].nd), intern("call",4), (yyvsp[(3) - (3)].nd));
mzta 0:158c61bb030f 8212 ;}
mzta 0:158c61bb030f 8213 break;
mzta 0:158c61bb030f 8214
mzta 0:158c61bb030f 8215 case 390:
mzta 0:158c61bb030f 8216
mzta 0:158c61bb030f 8217 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8218 #line 2597 "src/parse.y"
mzta 0:158c61bb030f 8219 {
mzta 0:158c61bb030f 8220 (yyval.nd) = new_super(p, (yyvsp[(2) - (2)].nd));
mzta 0:158c61bb030f 8221 ;}
mzta 0:158c61bb030f 8222 break;
mzta 0:158c61bb030f 8223
mzta 0:158c61bb030f 8224 case 391:
mzta 0:158c61bb030f 8225
mzta 0:158c61bb030f 8226 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8227 #line 2601 "src/parse.y"
mzta 0:158c61bb030f 8228 {
mzta 0:158c61bb030f 8229 (yyval.nd) = new_zsuper(p);
mzta 0:158c61bb030f 8230 ;}
mzta 0:158c61bb030f 8231 break;
mzta 0:158c61bb030f 8232
mzta 0:158c61bb030f 8233 case 392:
mzta 0:158c61bb030f 8234
mzta 0:158c61bb030f 8235 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8236 #line 2605 "src/parse.y"
mzta 0:158c61bb030f 8237 {
mzta 0:158c61bb030f 8238 (yyval.nd) = new_call(p, (yyvsp[(1) - (4)].nd), intern("[]",2), (yyvsp[(3) - (4)].nd));
mzta 0:158c61bb030f 8239 ;}
mzta 0:158c61bb030f 8240 break;
mzta 0:158c61bb030f 8241
mzta 0:158c61bb030f 8242 case 393:
mzta 0:158c61bb030f 8243
mzta 0:158c61bb030f 8244 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8245 #line 2611 "src/parse.y"
mzta 0:158c61bb030f 8246 {
mzta 0:158c61bb030f 8247 local_nest(p);
mzta 0:158c61bb030f 8248 (yyval.num) = p->lineno;
mzta 0:158c61bb030f 8249 ;}
mzta 0:158c61bb030f 8250 break;
mzta 0:158c61bb030f 8251
mzta 0:158c61bb030f 8252 case 394:
mzta 0:158c61bb030f 8253
mzta 0:158c61bb030f 8254 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8255 #line 2617 "src/parse.y"
mzta 0:158c61bb030f 8256 {
mzta 0:158c61bb030f 8257 (yyval.nd) = new_block(p,(yyvsp[(3) - (5)].nd),(yyvsp[(4) - (5)].nd));
mzta 0:158c61bb030f 8258 SET_LINENO((yyval.nd), (yyvsp[(2) - (5)].num));
mzta 0:158c61bb030f 8259 local_unnest(p);
mzta 0:158c61bb030f 8260 ;}
mzta 0:158c61bb030f 8261 break;
mzta 0:158c61bb030f 8262
mzta 0:158c61bb030f 8263 case 395:
mzta 0:158c61bb030f 8264
mzta 0:158c61bb030f 8265 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8266 #line 2623 "src/parse.y"
mzta 0:158c61bb030f 8267 {
mzta 0:158c61bb030f 8268 local_nest(p);
mzta 0:158c61bb030f 8269 (yyval.num) = p->lineno;
mzta 0:158c61bb030f 8270 ;}
mzta 0:158c61bb030f 8271 break;
mzta 0:158c61bb030f 8272
mzta 0:158c61bb030f 8273 case 396:
mzta 0:158c61bb030f 8274
mzta 0:158c61bb030f 8275 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8276 #line 2629 "src/parse.y"
mzta 0:158c61bb030f 8277 {
mzta 0:158c61bb030f 8278 (yyval.nd) = new_block(p,(yyvsp[(3) - (5)].nd),(yyvsp[(4) - (5)].nd));
mzta 0:158c61bb030f 8279 SET_LINENO((yyval.nd), (yyvsp[(2) - (5)].num));
mzta 0:158c61bb030f 8280 local_unnest(p);
mzta 0:158c61bb030f 8281 ;}
mzta 0:158c61bb030f 8282 break;
mzta 0:158c61bb030f 8283
mzta 0:158c61bb030f 8284 case 397:
mzta 0:158c61bb030f 8285
mzta 0:158c61bb030f 8286 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8287 #line 2639 "src/parse.y"
mzta 0:158c61bb030f 8288 {
mzta 0:158c61bb030f 8289 (yyval.nd) = cons(cons((yyvsp[(2) - (5)].nd), (yyvsp[(4) - (5)].nd)), (yyvsp[(5) - (5)].nd));
mzta 0:158c61bb030f 8290 ;}
mzta 0:158c61bb030f 8291 break;
mzta 0:158c61bb030f 8292
mzta 0:158c61bb030f 8293 case 398:
mzta 0:158c61bb030f 8294
mzta 0:158c61bb030f 8295 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8296 #line 2645 "src/parse.y"
mzta 0:158c61bb030f 8297 {
mzta 0:158c61bb030f 8298 if ((yyvsp[(1) - (1)].nd)) {
mzta 0:158c61bb030f 8299 (yyval.nd) = cons(cons(0, (yyvsp[(1) - (1)].nd)), 0);
mzta 0:158c61bb030f 8300 }
mzta 0:158c61bb030f 8301 else {
mzta 0:158c61bb030f 8302 (yyval.nd) = 0;
mzta 0:158c61bb030f 8303 }
mzta 0:158c61bb030f 8304 ;}
mzta 0:158c61bb030f 8305 break;
mzta 0:158c61bb030f 8306
mzta 0:158c61bb030f 8307 case 400:
mzta 0:158c61bb030f 8308
mzta 0:158c61bb030f 8309 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8310 #line 2659 "src/parse.y"
mzta 0:158c61bb030f 8311 {
mzta 0:158c61bb030f 8312 (yyval.nd) = list1(list3((yyvsp[(2) - (6)].nd), (yyvsp[(3) - (6)].nd), (yyvsp[(5) - (6)].nd)));
mzta 0:158c61bb030f 8313 if ((yyvsp[(6) - (6)].nd)) (yyval.nd) = append((yyval.nd), (yyvsp[(6) - (6)].nd));
mzta 0:158c61bb030f 8314 ;}
mzta 0:158c61bb030f 8315 break;
mzta 0:158c61bb030f 8316
mzta 0:158c61bb030f 8317 case 402:
mzta 0:158c61bb030f 8318
mzta 0:158c61bb030f 8319 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8320 #line 2667 "src/parse.y"
mzta 0:158c61bb030f 8321 {
mzta 0:158c61bb030f 8322 (yyval.nd) = list1((yyvsp[(1) - (1)].nd));
mzta 0:158c61bb030f 8323 ;}
mzta 0:158c61bb030f 8324 break;
mzta 0:158c61bb030f 8325
mzta 0:158c61bb030f 8326 case 405:
mzta 0:158c61bb030f 8327
mzta 0:158c61bb030f 8328 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8329 #line 2675 "src/parse.y"
mzta 0:158c61bb030f 8330 {
mzta 0:158c61bb030f 8331 (yyval.nd) = (yyvsp[(2) - (2)].nd);
mzta 0:158c61bb030f 8332 ;}
mzta 0:158c61bb030f 8333 break;
mzta 0:158c61bb030f 8334
mzta 0:158c61bb030f 8335 case 407:
mzta 0:158c61bb030f 8336
mzta 0:158c61bb030f 8337 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8338 #line 2682 "src/parse.y"
mzta 0:158c61bb030f 8339 {
mzta 0:158c61bb030f 8340 (yyval.nd) = (yyvsp[(2) - (2)].nd);
mzta 0:158c61bb030f 8341 ;}
mzta 0:158c61bb030f 8342 break;
mzta 0:158c61bb030f 8343
mzta 0:158c61bb030f 8344 case 415:
mzta 0:158c61bb030f 8345
mzta 0:158c61bb030f 8346 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8347 #line 2697 "src/parse.y"
mzta 0:158c61bb030f 8348 {
mzta 0:158c61bb030f 8349 (yyval.nd) = (yyvsp[(2) - (2)].nd);
mzta 0:158c61bb030f 8350 ;}
mzta 0:158c61bb030f 8351 break;
mzta 0:158c61bb030f 8352
mzta 0:158c61bb030f 8353 case 416:
mzta 0:158c61bb030f 8354
mzta 0:158c61bb030f 8355 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8356 #line 2701 "src/parse.y"
mzta 0:158c61bb030f 8357 {
mzta 0:158c61bb030f 8358 (yyval.nd) = new_dstr(p, push((yyvsp[(2) - (3)].nd), (yyvsp[(3) - (3)].nd)));
mzta 0:158c61bb030f 8359 ;}
mzta 0:158c61bb030f 8360 break;
mzta 0:158c61bb030f 8361
mzta 0:158c61bb030f 8362 case 418:
mzta 0:158c61bb030f 8363
mzta 0:158c61bb030f 8364 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8365 #line 2708 "src/parse.y"
mzta 0:158c61bb030f 8366 {
mzta 0:158c61bb030f 8367 (yyval.nd) = append((yyvsp[(1) - (2)].nd), (yyvsp[(2) - (2)].nd));
mzta 0:158c61bb030f 8368 ;}
mzta 0:158c61bb030f 8369 break;
mzta 0:158c61bb030f 8370
mzta 0:158c61bb030f 8371 case 419:
mzta 0:158c61bb030f 8372
mzta 0:158c61bb030f 8373 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8374 #line 2714 "src/parse.y"
mzta 0:158c61bb030f 8375 {
mzta 0:158c61bb030f 8376 (yyval.nd) = list1((yyvsp[(1) - (1)].nd));
mzta 0:158c61bb030f 8377 ;}
mzta 0:158c61bb030f 8378 break;
mzta 0:158c61bb030f 8379
mzta 0:158c61bb030f 8380 case 420:
mzta 0:158c61bb030f 8381
mzta 0:158c61bb030f 8382 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8383 #line 2718 "src/parse.y"
mzta 0:158c61bb030f 8384 {
mzta 0:158c61bb030f 8385 (yyval.nd) = p->lex_strterm;
mzta 0:158c61bb030f 8386 p->lex_strterm = NULL;
mzta 0:158c61bb030f 8387 ;}
mzta 0:158c61bb030f 8388 break;
mzta 0:158c61bb030f 8389
mzta 0:158c61bb030f 8390 case 421:
mzta 0:158c61bb030f 8391
mzta 0:158c61bb030f 8392 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8393 #line 2724 "src/parse.y"
mzta 0:158c61bb030f 8394 {
mzta 0:158c61bb030f 8395 p->lex_strterm = (yyvsp[(2) - (4)].nd);
mzta 0:158c61bb030f 8396 (yyval.nd) = list2((yyvsp[(1) - (4)].nd), (yyvsp[(3) - (4)].nd));
mzta 0:158c61bb030f 8397 ;}
mzta 0:158c61bb030f 8398 break;
mzta 0:158c61bb030f 8399
mzta 0:158c61bb030f 8400 case 422:
mzta 0:158c61bb030f 8401
mzta 0:158c61bb030f 8402 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8403 #line 2729 "src/parse.y"
mzta 0:158c61bb030f 8404 {
mzta 0:158c61bb030f 8405 (yyval.nd) = list1(new_literal_delim(p));
mzta 0:158c61bb030f 8406 ;}
mzta 0:158c61bb030f 8407 break;
mzta 0:158c61bb030f 8408
mzta 0:158c61bb030f 8409 case 423:
mzta 0:158c61bb030f 8410
mzta 0:158c61bb030f 8411 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8412 #line 2733 "src/parse.y"
mzta 0:158c61bb030f 8413 {
mzta 0:158c61bb030f 8414 (yyval.nd) = list1(new_literal_delim(p));
mzta 0:158c61bb030f 8415 ;}
mzta 0:158c61bb030f 8416 break;
mzta 0:158c61bb030f 8417
mzta 0:158c61bb030f 8418 case 424:
mzta 0:158c61bb030f 8419
mzta 0:158c61bb030f 8420 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8421 #line 2739 "src/parse.y"
mzta 0:158c61bb030f 8422 {
mzta 0:158c61bb030f 8423 (yyval.nd) = (yyvsp[(2) - (2)].nd);
mzta 0:158c61bb030f 8424 ;}
mzta 0:158c61bb030f 8425 break;
mzta 0:158c61bb030f 8426
mzta 0:158c61bb030f 8427 case 425:
mzta 0:158c61bb030f 8428
mzta 0:158c61bb030f 8429 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8430 #line 2743 "src/parse.y"
mzta 0:158c61bb030f 8431 {
mzta 0:158c61bb030f 8432 (yyval.nd) = new_dxstr(p, push((yyvsp[(2) - (3)].nd), (yyvsp[(3) - (3)].nd)));
mzta 0:158c61bb030f 8433 ;}
mzta 0:158c61bb030f 8434 break;
mzta 0:158c61bb030f 8435
mzta 0:158c61bb030f 8436 case 426:
mzta 0:158c61bb030f 8437
mzta 0:158c61bb030f 8438 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8439 #line 2749 "src/parse.y"
mzta 0:158c61bb030f 8440 {
mzta 0:158c61bb030f 8441 (yyval.nd) = (yyvsp[(2) - (2)].nd);
mzta 0:158c61bb030f 8442 ;}
mzta 0:158c61bb030f 8443 break;
mzta 0:158c61bb030f 8444
mzta 0:158c61bb030f 8445 case 427:
mzta 0:158c61bb030f 8446
mzta 0:158c61bb030f 8447 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8448 #line 2753 "src/parse.y"
mzta 0:158c61bb030f 8449 {
mzta 0:158c61bb030f 8450 (yyval.nd) = new_dregx(p, (yyvsp[(2) - (3)].nd), (yyvsp[(3) - (3)].nd));
mzta 0:158c61bb030f 8451 ;}
mzta 0:158c61bb030f 8452 break;
mzta 0:158c61bb030f 8453
mzta 0:158c61bb030f 8454 case 433:
mzta 0:158c61bb030f 8455
mzta 0:158c61bb030f 8456 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8457 #line 2770 "src/parse.y"
mzta 0:158c61bb030f 8458 {
mzta 0:158c61bb030f 8459 parser_heredoc_info * inf = parsing_heredoc_inf(p);
mzta 0:158c61bb030f 8460 inf->doc = push(inf->doc, new_str(p, "", 0));
mzta 0:158c61bb030f 8461 heredoc_end(p);
mzta 0:158c61bb030f 8462 ;}
mzta 0:158c61bb030f 8463 break;
mzta 0:158c61bb030f 8464
mzta 0:158c61bb030f 8465 case 434:
mzta 0:158c61bb030f 8466
mzta 0:158c61bb030f 8467 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8468 #line 2776 "src/parse.y"
mzta 0:158c61bb030f 8469 {
mzta 0:158c61bb030f 8470 heredoc_end(p);
mzta 0:158c61bb030f 8471 ;}
mzta 0:158c61bb030f 8472 break;
mzta 0:158c61bb030f 8473
mzta 0:158c61bb030f 8474 case 437:
mzta 0:158c61bb030f 8475
mzta 0:158c61bb030f 8476 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8477 #line 2786 "src/parse.y"
mzta 0:158c61bb030f 8478 {
mzta 0:158c61bb030f 8479 parser_heredoc_info * inf = parsing_heredoc_inf(p);
mzta 0:158c61bb030f 8480 inf->doc = push(inf->doc, (yyvsp[(1) - (1)].nd));
mzta 0:158c61bb030f 8481 heredoc_treat_nextline(p);
mzta 0:158c61bb030f 8482 ;}
mzta 0:158c61bb030f 8483 break;
mzta 0:158c61bb030f 8484
mzta 0:158c61bb030f 8485 case 438:
mzta 0:158c61bb030f 8486
mzta 0:158c61bb030f 8487 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8488 #line 2792 "src/parse.y"
mzta 0:158c61bb030f 8489 {
mzta 0:158c61bb030f 8490 (yyval.nd) = p->lex_strterm;
mzta 0:158c61bb030f 8491 p->lex_strterm = NULL;
mzta 0:158c61bb030f 8492 ;}
mzta 0:158c61bb030f 8493 break;
mzta 0:158c61bb030f 8494
mzta 0:158c61bb030f 8495 case 439:
mzta 0:158c61bb030f 8496
mzta 0:158c61bb030f 8497 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8498 #line 2798 "src/parse.y"
mzta 0:158c61bb030f 8499 {
mzta 0:158c61bb030f 8500 parser_heredoc_info * inf = parsing_heredoc_inf(p);
mzta 0:158c61bb030f 8501 p->lex_strterm = (yyvsp[(2) - (4)].nd);
mzta 0:158c61bb030f 8502 inf->doc = push(push(inf->doc, (yyvsp[(1) - (4)].nd)), (yyvsp[(3) - (4)].nd));
mzta 0:158c61bb030f 8503 ;}
mzta 0:158c61bb030f 8504 break;
mzta 0:158c61bb030f 8505
mzta 0:158c61bb030f 8506 case 440:
mzta 0:158c61bb030f 8507
mzta 0:158c61bb030f 8508 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8509 #line 2806 "src/parse.y"
mzta 0:158c61bb030f 8510 {
mzta 0:158c61bb030f 8511 (yyval.nd) = new_words(p, list1((yyvsp[(2) - (2)].nd)));
mzta 0:158c61bb030f 8512 ;}
mzta 0:158c61bb030f 8513 break;
mzta 0:158c61bb030f 8514
mzta 0:158c61bb030f 8515 case 441:
mzta 0:158c61bb030f 8516
mzta 0:158c61bb030f 8517 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8518 #line 2810 "src/parse.y"
mzta 0:158c61bb030f 8519 {
mzta 0:158c61bb030f 8520 (yyval.nd) = new_words(p, push((yyvsp[(2) - (3)].nd), (yyvsp[(3) - (3)].nd)));
mzta 0:158c61bb030f 8521 ;}
mzta 0:158c61bb030f 8522 break;
mzta 0:158c61bb030f 8523
mzta 0:158c61bb030f 8524 case 442:
mzta 0:158c61bb030f 8525
mzta 0:158c61bb030f 8526 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8527 #line 2817 "src/parse.y"
mzta 0:158c61bb030f 8528 {
mzta 0:158c61bb030f 8529 (yyval.nd) = new_sym(p, (yyvsp[(1) - (1)].id));
mzta 0:158c61bb030f 8530 ;}
mzta 0:158c61bb030f 8531 break;
mzta 0:158c61bb030f 8532
mzta 0:158c61bb030f 8533 case 443:
mzta 0:158c61bb030f 8534
mzta 0:158c61bb030f 8535 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8536 #line 2821 "src/parse.y"
mzta 0:158c61bb030f 8537 {
mzta 0:158c61bb030f 8538 p->lstate = EXPR_END;
mzta 0:158c61bb030f 8539 (yyval.nd) = new_dsym(p, push((yyvsp[(3) - (4)].nd), (yyvsp[(4) - (4)].nd)));
mzta 0:158c61bb030f 8540 ;}
mzta 0:158c61bb030f 8541 break;
mzta 0:158c61bb030f 8542
mzta 0:158c61bb030f 8543 case 444:
mzta 0:158c61bb030f 8544
mzta 0:158c61bb030f 8545 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8546 #line 2828 "src/parse.y"
mzta 0:158c61bb030f 8547 {
mzta 0:158c61bb030f 8548 p->lstate = EXPR_END;
mzta 0:158c61bb030f 8549 (yyval.id) = (yyvsp[(2) - (2)].id);
mzta 0:158c61bb030f 8550 ;}
mzta 0:158c61bb030f 8551 break;
mzta 0:158c61bb030f 8552
mzta 0:158c61bb030f 8553 case 449:
mzta 0:158c61bb030f 8554
mzta 0:158c61bb030f 8555 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8556 #line 2839 "src/parse.y"
mzta 0:158c61bb030f 8557 {
mzta 0:158c61bb030f 8558 (yyval.id) = new_strsym(p, (yyvsp[(1) - (1)].nd));
mzta 0:158c61bb030f 8559 ;}
mzta 0:158c61bb030f 8560 break;
mzta 0:158c61bb030f 8561
mzta 0:158c61bb030f 8562 case 450:
mzta 0:158c61bb030f 8563
mzta 0:158c61bb030f 8564 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8565 #line 2843 "src/parse.y"
mzta 0:158c61bb030f 8566 {
mzta 0:158c61bb030f 8567 (yyval.id) = new_strsym(p, (yyvsp[(2) - (2)].nd));
mzta 0:158c61bb030f 8568 ;}
mzta 0:158c61bb030f 8569 break;
mzta 0:158c61bb030f 8570
mzta 0:158c61bb030f 8571 case 451:
mzta 0:158c61bb030f 8572
mzta 0:158c61bb030f 8573 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8574 #line 2849 "src/parse.y"
mzta 0:158c61bb030f 8575 {
mzta 0:158c61bb030f 8576 (yyval.nd) = new_symbols(p, list1((yyvsp[(2) - (2)].nd)));
mzta 0:158c61bb030f 8577 ;}
mzta 0:158c61bb030f 8578 break;
mzta 0:158c61bb030f 8579
mzta 0:158c61bb030f 8580 case 452:
mzta 0:158c61bb030f 8581
mzta 0:158c61bb030f 8582 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8583 #line 2853 "src/parse.y"
mzta 0:158c61bb030f 8584 {
mzta 0:158c61bb030f 8585 (yyval.nd) = new_symbols(p, push((yyvsp[(2) - (3)].nd), (yyvsp[(3) - (3)].nd)));
mzta 0:158c61bb030f 8586 ;}
mzta 0:158c61bb030f 8587 break;
mzta 0:158c61bb030f 8588
mzta 0:158c61bb030f 8589 case 455:
mzta 0:158c61bb030f 8590
mzta 0:158c61bb030f 8591 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8592 #line 2861 "src/parse.y"
mzta 0:158c61bb030f 8593 {
mzta 0:158c61bb030f 8594 (yyval.nd) = negate_lit(p, (yyvsp[(2) - (2)].nd));
mzta 0:158c61bb030f 8595 ;}
mzta 0:158c61bb030f 8596 break;
mzta 0:158c61bb030f 8597
mzta 0:158c61bb030f 8598 case 456:
mzta 0:158c61bb030f 8599
mzta 0:158c61bb030f 8600 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8601 #line 2865 "src/parse.y"
mzta 0:158c61bb030f 8602 {
mzta 0:158c61bb030f 8603 (yyval.nd) = negate_lit(p, (yyvsp[(2) - (2)].nd));
mzta 0:158c61bb030f 8604 ;}
mzta 0:158c61bb030f 8605 break;
mzta 0:158c61bb030f 8606
mzta 0:158c61bb030f 8607 case 457:
mzta 0:158c61bb030f 8608
mzta 0:158c61bb030f 8609 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8610 #line 2871 "src/parse.y"
mzta 0:158c61bb030f 8611 {
mzta 0:158c61bb030f 8612 (yyval.nd) = new_lvar(p, (yyvsp[(1) - (1)].id));
mzta 0:158c61bb030f 8613 ;}
mzta 0:158c61bb030f 8614 break;
mzta 0:158c61bb030f 8615
mzta 0:158c61bb030f 8616 case 458:
mzta 0:158c61bb030f 8617
mzta 0:158c61bb030f 8618 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8619 #line 2875 "src/parse.y"
mzta 0:158c61bb030f 8620 {
mzta 0:158c61bb030f 8621 (yyval.nd) = new_ivar(p, (yyvsp[(1) - (1)].id));
mzta 0:158c61bb030f 8622 ;}
mzta 0:158c61bb030f 8623 break;
mzta 0:158c61bb030f 8624
mzta 0:158c61bb030f 8625 case 459:
mzta 0:158c61bb030f 8626
mzta 0:158c61bb030f 8627 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8628 #line 2879 "src/parse.y"
mzta 0:158c61bb030f 8629 {
mzta 0:158c61bb030f 8630 (yyval.nd) = new_gvar(p, (yyvsp[(1) - (1)].id));
mzta 0:158c61bb030f 8631 ;}
mzta 0:158c61bb030f 8632 break;
mzta 0:158c61bb030f 8633
mzta 0:158c61bb030f 8634 case 460:
mzta 0:158c61bb030f 8635
mzta 0:158c61bb030f 8636 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8637 #line 2883 "src/parse.y"
mzta 0:158c61bb030f 8638 {
mzta 0:158c61bb030f 8639 (yyval.nd) = new_cvar(p, (yyvsp[(1) - (1)].id));
mzta 0:158c61bb030f 8640 ;}
mzta 0:158c61bb030f 8641 break;
mzta 0:158c61bb030f 8642
mzta 0:158c61bb030f 8643 case 461:
mzta 0:158c61bb030f 8644
mzta 0:158c61bb030f 8645 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8646 #line 2887 "src/parse.y"
mzta 0:158c61bb030f 8647 {
mzta 0:158c61bb030f 8648 (yyval.nd) = new_const(p, (yyvsp[(1) - (1)].id));
mzta 0:158c61bb030f 8649 ;}
mzta 0:158c61bb030f 8650 break;
mzta 0:158c61bb030f 8651
mzta 0:158c61bb030f 8652 case 462:
mzta 0:158c61bb030f 8653
mzta 0:158c61bb030f 8654 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8655 #line 2893 "src/parse.y"
mzta 0:158c61bb030f 8656 {
mzta 0:158c61bb030f 8657 assignable(p, (yyvsp[(1) - (1)].nd));
mzta 0:158c61bb030f 8658 ;}
mzta 0:158c61bb030f 8659 break;
mzta 0:158c61bb030f 8660
mzta 0:158c61bb030f 8661 case 463:
mzta 0:158c61bb030f 8662
mzta 0:158c61bb030f 8663 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8664 #line 2899 "src/parse.y"
mzta 0:158c61bb030f 8665 {
mzta 0:158c61bb030f 8666 (yyval.nd) = var_reference(p, (yyvsp[(1) - (1)].nd));
mzta 0:158c61bb030f 8667 ;}
mzta 0:158c61bb030f 8668 break;
mzta 0:158c61bb030f 8669
mzta 0:158c61bb030f 8670 case 464:
mzta 0:158c61bb030f 8671
mzta 0:158c61bb030f 8672 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8673 #line 2903 "src/parse.y"
mzta 0:158c61bb030f 8674 {
mzta 0:158c61bb030f 8675 (yyval.nd) = new_nil(p);
mzta 0:158c61bb030f 8676 ;}
mzta 0:158c61bb030f 8677 break;
mzta 0:158c61bb030f 8678
mzta 0:158c61bb030f 8679 case 465:
mzta 0:158c61bb030f 8680
mzta 0:158c61bb030f 8681 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8682 #line 2907 "src/parse.y"
mzta 0:158c61bb030f 8683 {
mzta 0:158c61bb030f 8684 (yyval.nd) = new_self(p);
mzta 0:158c61bb030f 8685 ;}
mzta 0:158c61bb030f 8686 break;
mzta 0:158c61bb030f 8687
mzta 0:158c61bb030f 8688 case 466:
mzta 0:158c61bb030f 8689
mzta 0:158c61bb030f 8690 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8691 #line 2911 "src/parse.y"
mzta 0:158c61bb030f 8692 {
mzta 0:158c61bb030f 8693 (yyval.nd) = new_true(p);
mzta 0:158c61bb030f 8694 ;}
mzta 0:158c61bb030f 8695 break;
mzta 0:158c61bb030f 8696
mzta 0:158c61bb030f 8697 case 467:
mzta 0:158c61bb030f 8698
mzta 0:158c61bb030f 8699 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8700 #line 2915 "src/parse.y"
mzta 0:158c61bb030f 8701 {
mzta 0:158c61bb030f 8702 (yyval.nd) = new_false(p);
mzta 0:158c61bb030f 8703 ;}
mzta 0:158c61bb030f 8704 break;
mzta 0:158c61bb030f 8705
mzta 0:158c61bb030f 8706 case 468:
mzta 0:158c61bb030f 8707
mzta 0:158c61bb030f 8708 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8709 #line 2919 "src/parse.y"
mzta 0:158c61bb030f 8710 {
mzta 0:158c61bb030f 8711 if (!p->filename) {
mzta 0:158c61bb030f 8712 p->filename = "(null)";
mzta 0:158c61bb030f 8713 }
mzta 0:158c61bb030f 8714 (yyval.nd) = new_str(p, p->filename, strlen(p->filename));
mzta 0:158c61bb030f 8715 ;}
mzta 0:158c61bb030f 8716 break;
mzta 0:158c61bb030f 8717
mzta 0:158c61bb030f 8718 case 469:
mzta 0:158c61bb030f 8719
mzta 0:158c61bb030f 8720 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8721 #line 2926 "src/parse.y"
mzta 0:158c61bb030f 8722 {
mzta 0:158c61bb030f 8723 char buf[16];
mzta 0:158c61bb030f 8724
mzta 0:158c61bb030f 8725 snprintf(buf, sizeof(buf), "%d", p->lineno);
mzta 0:158c61bb030f 8726 (yyval.nd) = new_int(p, buf, 10);
mzta 0:158c61bb030f 8727 ;}
mzta 0:158c61bb030f 8728 break;
mzta 0:158c61bb030f 8729
mzta 0:158c61bb030f 8730 case 472:
mzta 0:158c61bb030f 8731
mzta 0:158c61bb030f 8732 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8733 #line 2939 "src/parse.y"
mzta 0:158c61bb030f 8734 {
mzta 0:158c61bb030f 8735 (yyval.nd) = 0;
mzta 0:158c61bb030f 8736 ;}
mzta 0:158c61bb030f 8737 break;
mzta 0:158c61bb030f 8738
mzta 0:158c61bb030f 8739 case 473:
mzta 0:158c61bb030f 8740
mzta 0:158c61bb030f 8741 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8742 #line 2943 "src/parse.y"
mzta 0:158c61bb030f 8743 {
mzta 0:158c61bb030f 8744 p->lstate = EXPR_BEG;
mzta 0:158c61bb030f 8745 p->cmd_start = TRUE;
mzta 0:158c61bb030f 8746 ;}
mzta 0:158c61bb030f 8747 break;
mzta 0:158c61bb030f 8748
mzta 0:158c61bb030f 8749 case 474:
mzta 0:158c61bb030f 8750
mzta 0:158c61bb030f 8751 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8752 #line 2948 "src/parse.y"
mzta 0:158c61bb030f 8753 {
mzta 0:158c61bb030f 8754 (yyval.nd) = (yyvsp[(3) - (4)].nd);
mzta 0:158c61bb030f 8755 ;}
mzta 0:158c61bb030f 8756 break;
mzta 0:158c61bb030f 8757
mzta 0:158c61bb030f 8758 case 475:
mzta 0:158c61bb030f 8759
mzta 0:158c61bb030f 8760 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8761 #line 2952 "src/parse.y"
mzta 0:158c61bb030f 8762 {
mzta 0:158c61bb030f 8763 yyerrok;
mzta 0:158c61bb030f 8764 (yyval.nd) = 0;
mzta 0:158c61bb030f 8765 ;}
mzta 0:158c61bb030f 8766 break;
mzta 0:158c61bb030f 8767
mzta 0:158c61bb030f 8768 case 476:
mzta 0:158c61bb030f 8769
mzta 0:158c61bb030f 8770 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8771 #line 2959 "src/parse.y"
mzta 0:158c61bb030f 8772 {
mzta 0:158c61bb030f 8773 (yyval.nd) = (yyvsp[(2) - (3)].nd);
mzta 0:158c61bb030f 8774 p->lstate = EXPR_BEG;
mzta 0:158c61bb030f 8775 p->cmd_start = TRUE;
mzta 0:158c61bb030f 8776 ;}
mzta 0:158c61bb030f 8777 break;
mzta 0:158c61bb030f 8778
mzta 0:158c61bb030f 8779 case 477:
mzta 0:158c61bb030f 8780
mzta 0:158c61bb030f 8781 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8782 #line 2965 "src/parse.y"
mzta 0:158c61bb030f 8783 {
mzta 0:158c61bb030f 8784 (yyval.nd) = (yyvsp[(1) - (2)].nd);
mzta 0:158c61bb030f 8785 ;}
mzta 0:158c61bb030f 8786 break;
mzta 0:158c61bb030f 8787
mzta 0:158c61bb030f 8788 case 478:
mzta 0:158c61bb030f 8789
mzta 0:158c61bb030f 8790 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8791 #line 2971 "src/parse.y"
mzta 0:158c61bb030f 8792 {
mzta 0:158c61bb030f 8793 (yyval.nd) = new_args(p, (yyvsp[(1) - (6)].nd), (yyvsp[(3) - (6)].nd), (yyvsp[(5) - (6)].id), 0, (yyvsp[(6) - (6)].id));
mzta 0:158c61bb030f 8794 ;}
mzta 0:158c61bb030f 8795 break;
mzta 0:158c61bb030f 8796
mzta 0:158c61bb030f 8797 case 479:
mzta 0:158c61bb030f 8798
mzta 0:158c61bb030f 8799 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8800 #line 2975 "src/parse.y"
mzta 0:158c61bb030f 8801 {
mzta 0:158c61bb030f 8802 (yyval.nd) = new_args(p, (yyvsp[(1) - (8)].nd), (yyvsp[(3) - (8)].nd), (yyvsp[(5) - (8)].id), (yyvsp[(7) - (8)].nd), (yyvsp[(8) - (8)].id));
mzta 0:158c61bb030f 8803 ;}
mzta 0:158c61bb030f 8804 break;
mzta 0:158c61bb030f 8805
mzta 0:158c61bb030f 8806 case 480:
mzta 0:158c61bb030f 8807
mzta 0:158c61bb030f 8808 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8809 #line 2979 "src/parse.y"
mzta 0:158c61bb030f 8810 {
mzta 0:158c61bb030f 8811 (yyval.nd) = new_args(p, (yyvsp[(1) - (4)].nd), (yyvsp[(3) - (4)].nd), 0, 0, (yyvsp[(4) - (4)].id));
mzta 0:158c61bb030f 8812 ;}
mzta 0:158c61bb030f 8813 break;
mzta 0:158c61bb030f 8814
mzta 0:158c61bb030f 8815 case 481:
mzta 0:158c61bb030f 8816
mzta 0:158c61bb030f 8817 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8818 #line 2983 "src/parse.y"
mzta 0:158c61bb030f 8819 {
mzta 0:158c61bb030f 8820 (yyval.nd) = new_args(p, (yyvsp[(1) - (6)].nd), (yyvsp[(3) - (6)].nd), 0, (yyvsp[(5) - (6)].nd), (yyvsp[(6) - (6)].id));
mzta 0:158c61bb030f 8821 ;}
mzta 0:158c61bb030f 8822 break;
mzta 0:158c61bb030f 8823
mzta 0:158c61bb030f 8824 case 482:
mzta 0:158c61bb030f 8825
mzta 0:158c61bb030f 8826 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8827 #line 2987 "src/parse.y"
mzta 0:158c61bb030f 8828 {
mzta 0:158c61bb030f 8829 (yyval.nd) = new_args(p, (yyvsp[(1) - (4)].nd), 0, (yyvsp[(3) - (4)].id), 0, (yyvsp[(4) - (4)].id));
mzta 0:158c61bb030f 8830 ;}
mzta 0:158c61bb030f 8831 break;
mzta 0:158c61bb030f 8832
mzta 0:158c61bb030f 8833 case 483:
mzta 0:158c61bb030f 8834
mzta 0:158c61bb030f 8835 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8836 #line 2991 "src/parse.y"
mzta 0:158c61bb030f 8837 {
mzta 0:158c61bb030f 8838 (yyval.nd) = new_args(p, (yyvsp[(1) - (6)].nd), 0, (yyvsp[(3) - (6)].id), (yyvsp[(5) - (6)].nd), (yyvsp[(6) - (6)].id));
mzta 0:158c61bb030f 8839 ;}
mzta 0:158c61bb030f 8840 break;
mzta 0:158c61bb030f 8841
mzta 0:158c61bb030f 8842 case 484:
mzta 0:158c61bb030f 8843
mzta 0:158c61bb030f 8844 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8845 #line 2995 "src/parse.y"
mzta 0:158c61bb030f 8846 {
mzta 0:158c61bb030f 8847 (yyval.nd) = new_args(p, (yyvsp[(1) - (2)].nd), 0, 0, 0, (yyvsp[(2) - (2)].id));
mzta 0:158c61bb030f 8848 ;}
mzta 0:158c61bb030f 8849 break;
mzta 0:158c61bb030f 8850
mzta 0:158c61bb030f 8851 case 485:
mzta 0:158c61bb030f 8852
mzta 0:158c61bb030f 8853 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8854 #line 2999 "src/parse.y"
mzta 0:158c61bb030f 8855 {
mzta 0:158c61bb030f 8856 (yyval.nd) = new_args(p, 0, (yyvsp[(1) - (4)].nd), (yyvsp[(3) - (4)].id), 0, (yyvsp[(4) - (4)].id));
mzta 0:158c61bb030f 8857 ;}
mzta 0:158c61bb030f 8858 break;
mzta 0:158c61bb030f 8859
mzta 0:158c61bb030f 8860 case 486:
mzta 0:158c61bb030f 8861
mzta 0:158c61bb030f 8862 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8863 #line 3003 "src/parse.y"
mzta 0:158c61bb030f 8864 {
mzta 0:158c61bb030f 8865 (yyval.nd) = new_args(p, 0, (yyvsp[(1) - (6)].nd), (yyvsp[(3) - (6)].id), (yyvsp[(5) - (6)].nd), (yyvsp[(6) - (6)].id));
mzta 0:158c61bb030f 8866 ;}
mzta 0:158c61bb030f 8867 break;
mzta 0:158c61bb030f 8868
mzta 0:158c61bb030f 8869 case 487:
mzta 0:158c61bb030f 8870
mzta 0:158c61bb030f 8871 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8872 #line 3007 "src/parse.y"
mzta 0:158c61bb030f 8873 {
mzta 0:158c61bb030f 8874 (yyval.nd) = new_args(p, 0, (yyvsp[(1) - (2)].nd), 0, 0, (yyvsp[(2) - (2)].id));
mzta 0:158c61bb030f 8875 ;}
mzta 0:158c61bb030f 8876 break;
mzta 0:158c61bb030f 8877
mzta 0:158c61bb030f 8878 case 488:
mzta 0:158c61bb030f 8879
mzta 0:158c61bb030f 8880 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8881 #line 3011 "src/parse.y"
mzta 0:158c61bb030f 8882 {
mzta 0:158c61bb030f 8883 (yyval.nd) = new_args(p, 0, (yyvsp[(1) - (4)].nd), 0, (yyvsp[(3) - (4)].nd), (yyvsp[(4) - (4)].id));
mzta 0:158c61bb030f 8884 ;}
mzta 0:158c61bb030f 8885 break;
mzta 0:158c61bb030f 8886
mzta 0:158c61bb030f 8887 case 489:
mzta 0:158c61bb030f 8888
mzta 0:158c61bb030f 8889 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8890 #line 3015 "src/parse.y"
mzta 0:158c61bb030f 8891 {
mzta 0:158c61bb030f 8892 (yyval.nd) = new_args(p, 0, 0, (yyvsp[(1) - (2)].id), 0, (yyvsp[(2) - (2)].id));
mzta 0:158c61bb030f 8893 ;}
mzta 0:158c61bb030f 8894 break;
mzta 0:158c61bb030f 8895
mzta 0:158c61bb030f 8896 case 490:
mzta 0:158c61bb030f 8897
mzta 0:158c61bb030f 8898 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8899 #line 3019 "src/parse.y"
mzta 0:158c61bb030f 8900 {
mzta 0:158c61bb030f 8901 (yyval.nd) = new_args(p, 0, 0, (yyvsp[(1) - (4)].id), (yyvsp[(3) - (4)].nd), (yyvsp[(4) - (4)].id));
mzta 0:158c61bb030f 8902 ;}
mzta 0:158c61bb030f 8903 break;
mzta 0:158c61bb030f 8904
mzta 0:158c61bb030f 8905 case 491:
mzta 0:158c61bb030f 8906
mzta 0:158c61bb030f 8907 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8908 #line 3023 "src/parse.y"
mzta 0:158c61bb030f 8909 {
mzta 0:158c61bb030f 8910 (yyval.nd) = new_args(p, 0, 0, 0, 0, (yyvsp[(1) - (1)].id));
mzta 0:158c61bb030f 8911 ;}
mzta 0:158c61bb030f 8912 break;
mzta 0:158c61bb030f 8913
mzta 0:158c61bb030f 8914 case 492:
mzta 0:158c61bb030f 8915
mzta 0:158c61bb030f 8916 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8917 #line 3027 "src/parse.y"
mzta 0:158c61bb030f 8918 {
mzta 0:158c61bb030f 8919 local_add_f(p, 0);
mzta 0:158c61bb030f 8920 (yyval.nd) = new_args(p, 0, 0, 0, 0, 0);
mzta 0:158c61bb030f 8921 ;}
mzta 0:158c61bb030f 8922 break;
mzta 0:158c61bb030f 8923
mzta 0:158c61bb030f 8924 case 493:
mzta 0:158c61bb030f 8925
mzta 0:158c61bb030f 8926 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8927 #line 3034 "src/parse.y"
mzta 0:158c61bb030f 8928 {
mzta 0:158c61bb030f 8929 yyerror(p, "formal argument cannot be a constant");
mzta 0:158c61bb030f 8930 (yyval.nd) = 0;
mzta 0:158c61bb030f 8931 ;}
mzta 0:158c61bb030f 8932 break;
mzta 0:158c61bb030f 8933
mzta 0:158c61bb030f 8934 case 494:
mzta 0:158c61bb030f 8935
mzta 0:158c61bb030f 8936 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8937 #line 3039 "src/parse.y"
mzta 0:158c61bb030f 8938 {
mzta 0:158c61bb030f 8939 yyerror(p, "formal argument cannot be an instance variable");
mzta 0:158c61bb030f 8940 (yyval.nd) = 0;
mzta 0:158c61bb030f 8941 ;}
mzta 0:158c61bb030f 8942 break;
mzta 0:158c61bb030f 8943
mzta 0:158c61bb030f 8944 case 495:
mzta 0:158c61bb030f 8945
mzta 0:158c61bb030f 8946 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8947 #line 3044 "src/parse.y"
mzta 0:158c61bb030f 8948 {
mzta 0:158c61bb030f 8949 yyerror(p, "formal argument cannot be a global variable");
mzta 0:158c61bb030f 8950 (yyval.nd) = 0;
mzta 0:158c61bb030f 8951 ;}
mzta 0:158c61bb030f 8952 break;
mzta 0:158c61bb030f 8953
mzta 0:158c61bb030f 8954 case 496:
mzta 0:158c61bb030f 8955
mzta 0:158c61bb030f 8956 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8957 #line 3049 "src/parse.y"
mzta 0:158c61bb030f 8958 {
mzta 0:158c61bb030f 8959 yyerror(p, "formal argument cannot be a class variable");
mzta 0:158c61bb030f 8960 (yyval.nd) = 0;
mzta 0:158c61bb030f 8961 ;}
mzta 0:158c61bb030f 8962 break;
mzta 0:158c61bb030f 8963
mzta 0:158c61bb030f 8964 case 497:
mzta 0:158c61bb030f 8965
mzta 0:158c61bb030f 8966 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8967 #line 3056 "src/parse.y"
mzta 0:158c61bb030f 8968 {
mzta 0:158c61bb030f 8969 (yyval.id) = 0;
mzta 0:158c61bb030f 8970 ;}
mzta 0:158c61bb030f 8971 break;
mzta 0:158c61bb030f 8972
mzta 0:158c61bb030f 8973 case 498:
mzta 0:158c61bb030f 8974
mzta 0:158c61bb030f 8975 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8976 #line 3060 "src/parse.y"
mzta 0:158c61bb030f 8977 {
mzta 0:158c61bb030f 8978 local_add_f(p, (yyvsp[(1) - (1)].id));
mzta 0:158c61bb030f 8979 (yyval.id) = (yyvsp[(1) - (1)].id);
mzta 0:158c61bb030f 8980 ;}
mzta 0:158c61bb030f 8981 break;
mzta 0:158c61bb030f 8982
mzta 0:158c61bb030f 8983 case 499:
mzta 0:158c61bb030f 8984
mzta 0:158c61bb030f 8985 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8986 #line 3067 "src/parse.y"
mzta 0:158c61bb030f 8987 {
mzta 0:158c61bb030f 8988 (yyval.nd) = new_arg(p, (yyvsp[(1) - (1)].id));
mzta 0:158c61bb030f 8989 ;}
mzta 0:158c61bb030f 8990 break;
mzta 0:158c61bb030f 8991
mzta 0:158c61bb030f 8992 case 500:
mzta 0:158c61bb030f 8993
mzta 0:158c61bb030f 8994 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 8995 #line 3071 "src/parse.y"
mzta 0:158c61bb030f 8996 {
mzta 0:158c61bb030f 8997 (yyval.nd) = new_masgn(p, (yyvsp[(2) - (3)].nd), 0);
mzta 0:158c61bb030f 8998 ;}
mzta 0:158c61bb030f 8999 break;
mzta 0:158c61bb030f 9000
mzta 0:158c61bb030f 9001 case 501:
mzta 0:158c61bb030f 9002
mzta 0:158c61bb030f 9003 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 9004 #line 3077 "src/parse.y"
mzta 0:158c61bb030f 9005 {
mzta 0:158c61bb030f 9006 (yyval.nd) = list1((yyvsp[(1) - (1)].nd));
mzta 0:158c61bb030f 9007 ;}
mzta 0:158c61bb030f 9008 break;
mzta 0:158c61bb030f 9009
mzta 0:158c61bb030f 9010 case 502:
mzta 0:158c61bb030f 9011
mzta 0:158c61bb030f 9012 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 9013 #line 3081 "src/parse.y"
mzta 0:158c61bb030f 9014 {
mzta 0:158c61bb030f 9015 (yyval.nd) = push((yyvsp[(1) - (3)].nd), (yyvsp[(3) - (3)].nd));
mzta 0:158c61bb030f 9016 ;}
mzta 0:158c61bb030f 9017 break;
mzta 0:158c61bb030f 9018
mzta 0:158c61bb030f 9019 case 503:
mzta 0:158c61bb030f 9020
mzta 0:158c61bb030f 9021 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 9022 #line 3087 "src/parse.y"
mzta 0:158c61bb030f 9023 {
mzta 0:158c61bb030f 9024 local_add_f(p, (yyvsp[(1) - (2)].id));
mzta 0:158c61bb030f 9025 (yyval.id) = (yyvsp[(1) - (2)].id);
mzta 0:158c61bb030f 9026 ;}
mzta 0:158c61bb030f 9027 break;
mzta 0:158c61bb030f 9028
mzta 0:158c61bb030f 9029 case 504:
mzta 0:158c61bb030f 9030
mzta 0:158c61bb030f 9031 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 9032 #line 3094 "src/parse.y"
mzta 0:158c61bb030f 9033 {
mzta 0:158c61bb030f 9034 (yyval.nd) = cons(nsym((yyvsp[(1) - (2)].id)), (yyvsp[(2) - (2)].nd));
mzta 0:158c61bb030f 9035 ;}
mzta 0:158c61bb030f 9036 break;
mzta 0:158c61bb030f 9037
mzta 0:158c61bb030f 9038 case 505:
mzta 0:158c61bb030f 9039
mzta 0:158c61bb030f 9040 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 9041 #line 3100 "src/parse.y"
mzta 0:158c61bb030f 9042 {
mzta 0:158c61bb030f 9043 (yyval.nd) = cons(nsym((yyvsp[(1) - (2)].id)), (yyvsp[(2) - (2)].nd));
mzta 0:158c61bb030f 9044 ;}
mzta 0:158c61bb030f 9045 break;
mzta 0:158c61bb030f 9046
mzta 0:158c61bb030f 9047 case 506:
mzta 0:158c61bb030f 9048
mzta 0:158c61bb030f 9049 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 9050 #line 3106 "src/parse.y"
mzta 0:158c61bb030f 9051 {
mzta 0:158c61bb030f 9052 (yyval.nd) = list1((yyvsp[(1) - (1)].nd));
mzta 0:158c61bb030f 9053 ;}
mzta 0:158c61bb030f 9054 break;
mzta 0:158c61bb030f 9055
mzta 0:158c61bb030f 9056 case 507:
mzta 0:158c61bb030f 9057
mzta 0:158c61bb030f 9058 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 9059 #line 3110 "src/parse.y"
mzta 0:158c61bb030f 9060 {
mzta 0:158c61bb030f 9061 (yyval.nd) = push((yyvsp[(1) - (3)].nd), (yyvsp[(3) - (3)].nd));
mzta 0:158c61bb030f 9062 ;}
mzta 0:158c61bb030f 9063 break;
mzta 0:158c61bb030f 9064
mzta 0:158c61bb030f 9065 case 508:
mzta 0:158c61bb030f 9066
mzta 0:158c61bb030f 9067 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 9068 #line 3116 "src/parse.y"
mzta 0:158c61bb030f 9069 {
mzta 0:158c61bb030f 9070 (yyval.nd) = list1((yyvsp[(1) - (1)].nd));
mzta 0:158c61bb030f 9071 ;}
mzta 0:158c61bb030f 9072 break;
mzta 0:158c61bb030f 9073
mzta 0:158c61bb030f 9074 case 509:
mzta 0:158c61bb030f 9075
mzta 0:158c61bb030f 9076 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 9077 #line 3120 "src/parse.y"
mzta 0:158c61bb030f 9078 {
mzta 0:158c61bb030f 9079 (yyval.nd) = push((yyvsp[(1) - (3)].nd), (yyvsp[(3) - (3)].nd));
mzta 0:158c61bb030f 9080 ;}
mzta 0:158c61bb030f 9081 break;
mzta 0:158c61bb030f 9082
mzta 0:158c61bb030f 9083 case 512:
mzta 0:158c61bb030f 9084
mzta 0:158c61bb030f 9085 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 9086 #line 3130 "src/parse.y"
mzta 0:158c61bb030f 9087 {
mzta 0:158c61bb030f 9088 local_add_f(p, (yyvsp[(2) - (2)].id));
mzta 0:158c61bb030f 9089 (yyval.id) = (yyvsp[(2) - (2)].id);
mzta 0:158c61bb030f 9090 ;}
mzta 0:158c61bb030f 9091 break;
mzta 0:158c61bb030f 9092
mzta 0:158c61bb030f 9093 case 513:
mzta 0:158c61bb030f 9094
mzta 0:158c61bb030f 9095 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 9096 #line 3135 "src/parse.y"
mzta 0:158c61bb030f 9097 {
mzta 0:158c61bb030f 9098 local_add_f(p, 0);
mzta 0:158c61bb030f 9099 (yyval.id) = -1;
mzta 0:158c61bb030f 9100 ;}
mzta 0:158c61bb030f 9101 break;
mzta 0:158c61bb030f 9102
mzta 0:158c61bb030f 9103 case 516:
mzta 0:158c61bb030f 9104
mzta 0:158c61bb030f 9105 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 9106 #line 3146 "src/parse.y"
mzta 0:158c61bb030f 9107 {
mzta 0:158c61bb030f 9108 local_add_f(p, (yyvsp[(2) - (2)].id));
mzta 0:158c61bb030f 9109 (yyval.id) = (yyvsp[(2) - (2)].id);
mzta 0:158c61bb030f 9110 ;}
mzta 0:158c61bb030f 9111 break;
mzta 0:158c61bb030f 9112
mzta 0:158c61bb030f 9113 case 517:
mzta 0:158c61bb030f 9114
mzta 0:158c61bb030f 9115 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 9116 #line 3153 "src/parse.y"
mzta 0:158c61bb030f 9117 {
mzta 0:158c61bb030f 9118 (yyval.id) = (yyvsp[(2) - (2)].id);
mzta 0:158c61bb030f 9119 ;}
mzta 0:158c61bb030f 9120 break;
mzta 0:158c61bb030f 9121
mzta 0:158c61bb030f 9122 case 518:
mzta 0:158c61bb030f 9123
mzta 0:158c61bb030f 9124 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 9125 #line 3157 "src/parse.y"
mzta 0:158c61bb030f 9126 {
mzta 0:158c61bb030f 9127 local_add_f(p, 0);
mzta 0:158c61bb030f 9128 (yyval.id) = 0;
mzta 0:158c61bb030f 9129 ;}
mzta 0:158c61bb030f 9130 break;
mzta 0:158c61bb030f 9131
mzta 0:158c61bb030f 9132 case 519:
mzta 0:158c61bb030f 9133
mzta 0:158c61bb030f 9134 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 9135 #line 3164 "src/parse.y"
mzta 0:158c61bb030f 9136 {
mzta 0:158c61bb030f 9137 (yyval.nd) = (yyvsp[(1) - (1)].nd);
mzta 0:158c61bb030f 9138 if (!(yyval.nd)) (yyval.nd) = new_nil(p);
mzta 0:158c61bb030f 9139 ;}
mzta 0:158c61bb030f 9140 break;
mzta 0:158c61bb030f 9141
mzta 0:158c61bb030f 9142 case 520:
mzta 0:158c61bb030f 9143
mzta 0:158c61bb030f 9144 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 9145 #line 3168 "src/parse.y"
mzta 0:158c61bb030f 9146 {p->lstate = EXPR_BEG;;}
mzta 0:158c61bb030f 9147 break;
mzta 0:158c61bb030f 9148
mzta 0:158c61bb030f 9149 case 521:
mzta 0:158c61bb030f 9150
mzta 0:158c61bb030f 9151 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 9152 #line 3169 "src/parse.y"
mzta 0:158c61bb030f 9153 {
mzta 0:158c61bb030f 9154 if ((yyvsp[(3) - (4)].nd) == 0) {
mzta 0:158c61bb030f 9155 yyerror(p, "can't define singleton method for ().");
mzta 0:158c61bb030f 9156 }
mzta 0:158c61bb030f 9157 else {
mzta 0:158c61bb030f 9158 switch ((enum node_type)(int)(intptr_t)(yyvsp[(3) - (4)].nd)->car) {
mzta 0:158c61bb030f 9159 case NODE_STR:
mzta 0:158c61bb030f 9160 case NODE_DSTR:
mzta 0:158c61bb030f 9161 case NODE_XSTR:
mzta 0:158c61bb030f 9162 case NODE_DXSTR:
mzta 0:158c61bb030f 9163 case NODE_DREGX:
mzta 0:158c61bb030f 9164 case NODE_MATCH:
mzta 0:158c61bb030f 9165 case NODE_FLOAT:
mzta 0:158c61bb030f 9166 case NODE_ARRAY:
mzta 0:158c61bb030f 9167 case NODE_HEREDOC:
mzta 0:158c61bb030f 9168 yyerror(p, "can't define singleton method for literals");
mzta 0:158c61bb030f 9169 default:
mzta 0:158c61bb030f 9170 break;
mzta 0:158c61bb030f 9171 }
mzta 0:158c61bb030f 9172 }
mzta 0:158c61bb030f 9173 (yyval.nd) = (yyvsp[(3) - (4)].nd);
mzta 0:158c61bb030f 9174 ;}
mzta 0:158c61bb030f 9175 break;
mzta 0:158c61bb030f 9176
mzta 0:158c61bb030f 9177 case 523:
mzta 0:158c61bb030f 9178
mzta 0:158c61bb030f 9179 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 9180 #line 3195 "src/parse.y"
mzta 0:158c61bb030f 9181 {
mzta 0:158c61bb030f 9182 (yyval.nd) = (yyvsp[(1) - (2)].nd);
mzta 0:158c61bb030f 9183 ;}
mzta 0:158c61bb030f 9184 break;
mzta 0:158c61bb030f 9185
mzta 0:158c61bb030f 9186 case 524:
mzta 0:158c61bb030f 9187
mzta 0:158c61bb030f 9188 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 9189 #line 3201 "src/parse.y"
mzta 0:158c61bb030f 9190 {
mzta 0:158c61bb030f 9191 (yyval.nd) = list1((yyvsp[(1) - (1)].nd));
mzta 0:158c61bb030f 9192 NODE_LINENO((yyval.nd), (yyvsp[(1) - (1)].nd));
mzta 0:158c61bb030f 9193 ;}
mzta 0:158c61bb030f 9194 break;
mzta 0:158c61bb030f 9195
mzta 0:158c61bb030f 9196 case 525:
mzta 0:158c61bb030f 9197
mzta 0:158c61bb030f 9198 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 9199 #line 3206 "src/parse.y"
mzta 0:158c61bb030f 9200 {
mzta 0:158c61bb030f 9201 (yyval.nd) = push((yyvsp[(1) - (3)].nd), (yyvsp[(3) - (3)].nd));
mzta 0:158c61bb030f 9202 ;}
mzta 0:158c61bb030f 9203 break;
mzta 0:158c61bb030f 9204
mzta 0:158c61bb030f 9205 case 526:
mzta 0:158c61bb030f 9206
mzta 0:158c61bb030f 9207 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 9208 #line 3212 "src/parse.y"
mzta 0:158c61bb030f 9209 {
mzta 0:158c61bb030f 9210 (yyval.nd) = cons((yyvsp[(1) - (3)].nd), (yyvsp[(3) - (3)].nd));
mzta 0:158c61bb030f 9211 ;}
mzta 0:158c61bb030f 9212 break;
mzta 0:158c61bb030f 9213
mzta 0:158c61bb030f 9214 case 527:
mzta 0:158c61bb030f 9215
mzta 0:158c61bb030f 9216 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 9217 #line 3216 "src/parse.y"
mzta 0:158c61bb030f 9218 {
mzta 0:158c61bb030f 9219 (yyval.nd) = cons(new_sym(p, (yyvsp[(1) - (2)].id)), (yyvsp[(2) - (2)].nd));
mzta 0:158c61bb030f 9220 ;}
mzta 0:158c61bb030f 9221 break;
mzta 0:158c61bb030f 9222
mzta 0:158c61bb030f 9223 case 549:
mzta 0:158c61bb030f 9224
mzta 0:158c61bb030f 9225 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 9226 #line 3260 "src/parse.y"
mzta 0:158c61bb030f 9227 {yyerrok;;}
mzta 0:158c61bb030f 9228 break;
mzta 0:158c61bb030f 9229
mzta 0:158c61bb030f 9230 case 551:
mzta 0:158c61bb030f 9231
mzta 0:158c61bb030f 9232 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 9233 #line 3265 "src/parse.y"
mzta 0:158c61bb030f 9234 {
mzta 0:158c61bb030f 9235 p->lineno++;
mzta 0:158c61bb030f 9236 p->column = 0;
mzta 0:158c61bb030f 9237 ;}
mzta 0:158c61bb030f 9238 break;
mzta 0:158c61bb030f 9239
mzta 0:158c61bb030f 9240 case 554:
mzta 0:158c61bb030f 9241
mzta 0:158c61bb030f 9242 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 9243 #line 3272 "src/parse.y"
mzta 0:158c61bb030f 9244 {yyerrok;;}
mzta 0:158c61bb030f 9245 break;
mzta 0:158c61bb030f 9246
mzta 0:158c61bb030f 9247 case 555:
mzta 0:158c61bb030f 9248
mzta 0:158c61bb030f 9249 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 9250 #line 3276 "src/parse.y"
mzta 0:158c61bb030f 9251 {
mzta 0:158c61bb030f 9252 (yyval.nd) = 0;
mzta 0:158c61bb030f 9253 ;}
mzta 0:158c61bb030f 9254 break;
mzta 0:158c61bb030f 9255
mzta 0:158c61bb030f 9256
mzta 0:158c61bb030f 9257
mzta 0:158c61bb030f 9258 /* Line 1464 of yacc.c */
mzta 0:158c61bb030f 9259 #line 9260 "C:/Users/matsuzaki.takuya/work/daily/20150106/mruby-1.1.0/build/ARMCA9/src/y.tab.c"
mzta 0:158c61bb030f 9260 default: break;
mzta 0:158c61bb030f 9261 }
mzta 0:158c61bb030f 9262 YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
mzta 0:158c61bb030f 9263
mzta 0:158c61bb030f 9264 YYPOPSTACK (yylen);
mzta 0:158c61bb030f 9265 yylen = 0;
mzta 0:158c61bb030f 9266 YY_STACK_PRINT (yyss, yyssp);
mzta 0:158c61bb030f 9267
mzta 0:158c61bb030f 9268 *++yyvsp = yyval;
mzta 0:158c61bb030f 9269
mzta 0:158c61bb030f 9270 /* Now `shift' the result of the reduction. Determine what state
mzta 0:158c61bb030f 9271 that goes to, based on the state we popped back to and the rule
mzta 0:158c61bb030f 9272 number reduced by. */
mzta 0:158c61bb030f 9273
mzta 0:158c61bb030f 9274 yyn = yyr1[yyn];
mzta 0:158c61bb030f 9275
mzta 0:158c61bb030f 9276 yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
mzta 0:158c61bb030f 9277 if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
mzta 0:158c61bb030f 9278 yystate = yytable[yystate];
mzta 0:158c61bb030f 9279 else
mzta 0:158c61bb030f 9280 yystate = yydefgoto[yyn - YYNTOKENS];
mzta 0:158c61bb030f 9281
mzta 0:158c61bb030f 9282 goto yynewstate;
mzta 0:158c61bb030f 9283
mzta 0:158c61bb030f 9284
mzta 0:158c61bb030f 9285 /*------------------------------------.
mzta 0:158c61bb030f 9286 | yyerrlab -- here on detecting error |
mzta 0:158c61bb030f 9287 `------------------------------------*/
mzta 0:158c61bb030f 9288 yyerrlab:
mzta 0:158c61bb030f 9289 /* If not already recovering from an error, report this error. */
mzta 0:158c61bb030f 9290 if (!yyerrstatus)
mzta 0:158c61bb030f 9291 {
mzta 0:158c61bb030f 9292 ++yynerrs;
mzta 0:158c61bb030f 9293 #if ! YYERROR_VERBOSE
mzta 0:158c61bb030f 9294 yyerror (p, YY_("syntax error"));
mzta 0:158c61bb030f 9295 #else
mzta 0:158c61bb030f 9296 {
mzta 0:158c61bb030f 9297 YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
mzta 0:158c61bb030f 9298 if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
mzta 0:158c61bb030f 9299 {
mzta 0:158c61bb030f 9300 YYSIZE_T yyalloc = 2 * yysize;
mzta 0:158c61bb030f 9301 if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
mzta 0:158c61bb030f 9302 yyalloc = YYSTACK_ALLOC_MAXIMUM;
mzta 0:158c61bb030f 9303 if (yymsg != yymsgbuf)
mzta 0:158c61bb030f 9304 YYSTACK_FREE (yymsg);
mzta 0:158c61bb030f 9305 yymsg = (char *) YYSTACK_ALLOC (yyalloc);
mzta 0:158c61bb030f 9306 if (yymsg)
mzta 0:158c61bb030f 9307 yymsg_alloc = yyalloc;
mzta 0:158c61bb030f 9308 else
mzta 0:158c61bb030f 9309 {
mzta 0:158c61bb030f 9310 yymsg = yymsgbuf;
mzta 0:158c61bb030f 9311 yymsg_alloc = sizeof yymsgbuf;
mzta 0:158c61bb030f 9312 }
mzta 0:158c61bb030f 9313 }
mzta 0:158c61bb030f 9314
mzta 0:158c61bb030f 9315 if (0 < yysize && yysize <= yymsg_alloc)
mzta 0:158c61bb030f 9316 {
mzta 0:158c61bb030f 9317 (void) yysyntax_error (yymsg, yystate, yychar);
mzta 0:158c61bb030f 9318 yyerror (p, yymsg);
mzta 0:158c61bb030f 9319 }
mzta 0:158c61bb030f 9320 else
mzta 0:158c61bb030f 9321 {
mzta 0:158c61bb030f 9322 yyerror (p, YY_("syntax error"));
mzta 0:158c61bb030f 9323 if (yysize != 0)
mzta 0:158c61bb030f 9324 goto yyexhaustedlab;
mzta 0:158c61bb030f 9325 }
mzta 0:158c61bb030f 9326 }
mzta 0:158c61bb030f 9327 #endif
mzta 0:158c61bb030f 9328 }
mzta 0:158c61bb030f 9329
mzta 0:158c61bb030f 9330
mzta 0:158c61bb030f 9331
mzta 0:158c61bb030f 9332 if (yyerrstatus == 3)
mzta 0:158c61bb030f 9333 {
mzta 0:158c61bb030f 9334 /* If just tried and failed to reuse lookahead token after an
mzta 0:158c61bb030f 9335 error, discard it. */
mzta 0:158c61bb030f 9336
mzta 0:158c61bb030f 9337 if (yychar <= YYEOF)
mzta 0:158c61bb030f 9338 {
mzta 0:158c61bb030f 9339 /* Return failure if at end of input. */
mzta 0:158c61bb030f 9340 if (yychar == YYEOF)
mzta 0:158c61bb030f 9341 YYABORT;
mzta 0:158c61bb030f 9342 }
mzta 0:158c61bb030f 9343 else
mzta 0:158c61bb030f 9344 {
mzta 0:158c61bb030f 9345 yydestruct ("Error: discarding",
mzta 0:158c61bb030f 9346 yytoken, &yylval, p);
mzta 0:158c61bb030f 9347 yychar = YYEMPTY;
mzta 0:158c61bb030f 9348 }
mzta 0:158c61bb030f 9349 }
mzta 0:158c61bb030f 9350
mzta 0:158c61bb030f 9351 /* Else will try to reuse lookahead token after shifting the error
mzta 0:158c61bb030f 9352 token. */
mzta 0:158c61bb030f 9353 goto yyerrlab1;
mzta 0:158c61bb030f 9354
mzta 0:158c61bb030f 9355
mzta 0:158c61bb030f 9356 /*---------------------------------------------------.
mzta 0:158c61bb030f 9357 | yyerrorlab -- error raised explicitly by YYERROR. |
mzta 0:158c61bb030f 9358 `---------------------------------------------------*/
mzta 0:158c61bb030f 9359 yyerrorlab:
mzta 0:158c61bb030f 9360
mzta 0:158c61bb030f 9361 /* Pacify compilers like GCC when the user code never invokes
mzta 0:158c61bb030f 9362 YYERROR and the label yyerrorlab therefore never appears in user
mzta 0:158c61bb030f 9363 code. */
mzta 0:158c61bb030f 9364 if (/*CONSTCOND*/ 0)
mzta 0:158c61bb030f 9365 goto yyerrorlab;
mzta 0:158c61bb030f 9366
mzta 0:158c61bb030f 9367 /* Do not reclaim the symbols of the rule which action triggered
mzta 0:158c61bb030f 9368 this YYERROR. */
mzta 0:158c61bb030f 9369 YYPOPSTACK (yylen);
mzta 0:158c61bb030f 9370 yylen = 0;
mzta 0:158c61bb030f 9371 YY_STACK_PRINT (yyss, yyssp);
mzta 0:158c61bb030f 9372 yystate = *yyssp;
mzta 0:158c61bb030f 9373 goto yyerrlab1;
mzta 0:158c61bb030f 9374
mzta 0:158c61bb030f 9375
mzta 0:158c61bb030f 9376 /*-------------------------------------------------------------.
mzta 0:158c61bb030f 9377 | yyerrlab1 -- common code for both syntax error and YYERROR. |
mzta 0:158c61bb030f 9378 `-------------------------------------------------------------*/
mzta 0:158c61bb030f 9379 yyerrlab1:
mzta 0:158c61bb030f 9380 yyerrstatus = 3; /* Each real token shifted decrements this. */
mzta 0:158c61bb030f 9381
mzta 0:158c61bb030f 9382 for (;;)
mzta 0:158c61bb030f 9383 {
mzta 0:158c61bb030f 9384 yyn = yypact[yystate];
mzta 0:158c61bb030f 9385 if (yyn != YYPACT_NINF)
mzta 0:158c61bb030f 9386 {
mzta 0:158c61bb030f 9387 yyn += YYTERROR;
mzta 0:158c61bb030f 9388 if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
mzta 0:158c61bb030f 9389 {
mzta 0:158c61bb030f 9390 yyn = yytable[yyn];
mzta 0:158c61bb030f 9391 if (0 < yyn)
mzta 0:158c61bb030f 9392 break;
mzta 0:158c61bb030f 9393 }
mzta 0:158c61bb030f 9394 }
mzta 0:158c61bb030f 9395
mzta 0:158c61bb030f 9396 /* Pop the current state because it cannot handle the error token. */
mzta 0:158c61bb030f 9397 if (yyssp == yyss)
mzta 0:158c61bb030f 9398 YYABORT;
mzta 0:158c61bb030f 9399
mzta 0:158c61bb030f 9400
mzta 0:158c61bb030f 9401 yydestruct ("Error: popping",
mzta 0:158c61bb030f 9402 yystos[yystate], yyvsp, p);
mzta 0:158c61bb030f 9403 YYPOPSTACK (1);
mzta 0:158c61bb030f 9404 yystate = *yyssp;
mzta 0:158c61bb030f 9405 YY_STACK_PRINT (yyss, yyssp);
mzta 0:158c61bb030f 9406 }
mzta 0:158c61bb030f 9407
mzta 0:158c61bb030f 9408 *++yyvsp = yylval;
mzta 0:158c61bb030f 9409
mzta 0:158c61bb030f 9410
mzta 0:158c61bb030f 9411 /* Shift the error token. */
mzta 0:158c61bb030f 9412 YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
mzta 0:158c61bb030f 9413
mzta 0:158c61bb030f 9414 yystate = yyn;
mzta 0:158c61bb030f 9415 goto yynewstate;
mzta 0:158c61bb030f 9416
mzta 0:158c61bb030f 9417
mzta 0:158c61bb030f 9418 /*-------------------------------------.
mzta 0:158c61bb030f 9419 | yyacceptlab -- YYACCEPT comes here. |
mzta 0:158c61bb030f 9420 `-------------------------------------*/
mzta 0:158c61bb030f 9421 yyacceptlab:
mzta 0:158c61bb030f 9422 yyresult = 0;
mzta 0:158c61bb030f 9423 goto yyreturn;
mzta 0:158c61bb030f 9424
mzta 0:158c61bb030f 9425 /*-----------------------------------.
mzta 0:158c61bb030f 9426 | yyabortlab -- YYABORT comes here. |
mzta 0:158c61bb030f 9427 `-----------------------------------*/
mzta 0:158c61bb030f 9428 yyabortlab:
mzta 0:158c61bb030f 9429 yyresult = 1;
mzta 0:158c61bb030f 9430 goto yyreturn;
mzta 0:158c61bb030f 9431
mzta 0:158c61bb030f 9432 #if !defined(yyoverflow) || YYERROR_VERBOSE
mzta 0:158c61bb030f 9433 /*-------------------------------------------------.
mzta 0:158c61bb030f 9434 | yyexhaustedlab -- memory exhaustion comes here. |
mzta 0:158c61bb030f 9435 `-------------------------------------------------*/
mzta 0:158c61bb030f 9436 yyexhaustedlab:
mzta 0:158c61bb030f 9437 yyerror (p, YY_("memory exhausted"));
mzta 0:158c61bb030f 9438 yyresult = 2;
mzta 0:158c61bb030f 9439 /* Fall through. */
mzta 0:158c61bb030f 9440 #endif
mzta 0:158c61bb030f 9441
mzta 0:158c61bb030f 9442 yyreturn:
mzta 0:158c61bb030f 9443 if (yychar != YYEMPTY)
mzta 0:158c61bb030f 9444 yydestruct ("Cleanup: discarding lookahead",
mzta 0:158c61bb030f 9445 yytoken, &yylval, p);
mzta 0:158c61bb030f 9446 /* Do not reclaim the symbols of the rule which action triggered
mzta 0:158c61bb030f 9447 this YYABORT or YYACCEPT. */
mzta 0:158c61bb030f 9448 YYPOPSTACK (yylen);
mzta 0:158c61bb030f 9449 YY_STACK_PRINT (yyss, yyssp);
mzta 0:158c61bb030f 9450 while (yyssp != yyss)
mzta 0:158c61bb030f 9451 {
mzta 0:158c61bb030f 9452 yydestruct ("Cleanup: popping",
mzta 0:158c61bb030f 9453 yystos[*yyssp], yyvsp, p);
mzta 0:158c61bb030f 9454 YYPOPSTACK (1);
mzta 0:158c61bb030f 9455 }
mzta 0:158c61bb030f 9456 #ifndef yyoverflow
mzta 0:158c61bb030f 9457 if (yyss != yyssa)
mzta 0:158c61bb030f 9458 YYSTACK_FREE (yyss);
mzta 0:158c61bb030f 9459 #endif
mzta 0:158c61bb030f 9460 #if YYERROR_VERBOSE
mzta 0:158c61bb030f 9461 if (yymsg != yymsgbuf)
mzta 0:158c61bb030f 9462 YYSTACK_FREE (yymsg);
mzta 0:158c61bb030f 9463 #endif
mzta 0:158c61bb030f 9464 /* Make sure YYID is used. */
mzta 0:158c61bb030f 9465 return YYID (yyresult);
mzta 0:158c61bb030f 9466 }
mzta 0:158c61bb030f 9467
mzta 0:158c61bb030f 9468
mzta 0:158c61bb030f 9469
mzta 0:158c61bb030f 9470 /* Line 1684 of yacc.c */
mzta 0:158c61bb030f 9471 #line 3280 "src/parse.y"
mzta 0:158c61bb030f 9472
mzta 0:158c61bb030f 9473 #define yylval (*((YYSTYPE*)(p->ylval)))
mzta 0:158c61bb030f 9474
mzta 0:158c61bb030f 9475 static void
mzta 0:158c61bb030f 9476 yyerror(parser_state *p, const char *s)
mzta 0:158c61bb030f 9477 {
mzta 0:158c61bb030f 9478 char* c;
mzta 0:158c61bb030f 9479 int n;
mzta 0:158c61bb030f 9480
mzta 0:158c61bb030f 9481 if (! p->capture_errors) {
mzta 0:158c61bb030f 9482 #ifdef ENABLE_STDIO
mzta 0:158c61bb030f 9483 if (p->filename) {
mzta 0:158c61bb030f 9484 fprintf(stderr, "%s:%d:%d: %s\n", p->filename, p->lineno, p->column, s);
mzta 0:158c61bb030f 9485 }
mzta 0:158c61bb030f 9486 else {
mzta 0:158c61bb030f 9487 fprintf(stderr, "line %d:%d: %s\n", p->lineno, p->column, s);
mzta 0:158c61bb030f 9488 }
mzta 0:158c61bb030f 9489 #endif
mzta 0:158c61bb030f 9490 }
mzta 0:158c61bb030f 9491 else if (p->nerr < sizeof(p->error_buffer) / sizeof(p->error_buffer[0])) {
mzta 0:158c61bb030f 9492 n = strlen(s);
mzta 0:158c61bb030f 9493 c = (char *)parser_palloc(p, n + 1);
mzta 0:158c61bb030f 9494 memcpy(c, s, n + 1);
mzta 0:158c61bb030f 9495 p->error_buffer[p->nerr].message = c;
mzta 0:158c61bb030f 9496 p->error_buffer[p->nerr].lineno = p->lineno;
mzta 0:158c61bb030f 9497 p->error_buffer[p->nerr].column = p->column;
mzta 0:158c61bb030f 9498 }
mzta 0:158c61bb030f 9499 p->nerr++;
mzta 0:158c61bb030f 9500 }
mzta 0:158c61bb030f 9501
mzta 0:158c61bb030f 9502 static void
mzta 0:158c61bb030f 9503 yyerror_i(parser_state *p, const char *fmt, int i)
mzta 0:158c61bb030f 9504 {
mzta 0:158c61bb030f 9505 char buf[256];
mzta 0:158c61bb030f 9506
mzta 0:158c61bb030f 9507 snprintf(buf, sizeof(buf), fmt, i);
mzta 0:158c61bb030f 9508 yyerror(p, buf);
mzta 0:158c61bb030f 9509 }
mzta 0:158c61bb030f 9510
mzta 0:158c61bb030f 9511 static void
mzta 0:158c61bb030f 9512 yywarn(parser_state *p, const char *s)
mzta 0:158c61bb030f 9513 {
mzta 0:158c61bb030f 9514 char* c;
mzta 0:158c61bb030f 9515 int n;
mzta 0:158c61bb030f 9516
mzta 0:158c61bb030f 9517 if (! p->capture_errors) {
mzta 0:158c61bb030f 9518 #ifdef ENABLE_STDIO
mzta 0:158c61bb030f 9519 if (p->filename) {
mzta 0:158c61bb030f 9520 fprintf(stderr, "%s:%d:%d: %s\n", p->filename, p->lineno, p->column, s);
mzta 0:158c61bb030f 9521 }
mzta 0:158c61bb030f 9522 else {
mzta 0:158c61bb030f 9523 fprintf(stderr, "line %d:%d: %s\n", p->lineno, p->column, s);
mzta 0:158c61bb030f 9524 }
mzta 0:158c61bb030f 9525 #endif
mzta 0:158c61bb030f 9526 }
mzta 0:158c61bb030f 9527 else if (p->nwarn < sizeof(p->warn_buffer) / sizeof(p->warn_buffer[0])) {
mzta 0:158c61bb030f 9528 n = strlen(s);
mzta 0:158c61bb030f 9529 c = (char *)parser_palloc(p, n + 1);
mzta 0:158c61bb030f 9530 memcpy(c, s, n + 1);
mzta 0:158c61bb030f 9531 p->warn_buffer[p->nwarn].message = c;
mzta 0:158c61bb030f 9532 p->warn_buffer[p->nwarn].lineno = p->lineno;
mzta 0:158c61bb030f 9533 p->warn_buffer[p->nwarn].column = p->column;
mzta 0:158c61bb030f 9534 }
mzta 0:158c61bb030f 9535 p->nwarn++;
mzta 0:158c61bb030f 9536 }
mzta 0:158c61bb030f 9537
mzta 0:158c61bb030f 9538 static void
mzta 0:158c61bb030f 9539 yywarning(parser_state *p, const char *s)
mzta 0:158c61bb030f 9540 {
mzta 0:158c61bb030f 9541 yywarn(p, s);
mzta 0:158c61bb030f 9542 }
mzta 0:158c61bb030f 9543
mzta 0:158c61bb030f 9544 static void
mzta 0:158c61bb030f 9545 yywarning_s(parser_state *p, const char *fmt, const char *s)
mzta 0:158c61bb030f 9546 {
mzta 0:158c61bb030f 9547 char buf[256];
mzta 0:158c61bb030f 9548
mzta 0:158c61bb030f 9549 snprintf(buf, sizeof(buf), fmt, s);
mzta 0:158c61bb030f 9550 yywarning(p, buf);
mzta 0:158c61bb030f 9551 }
mzta 0:158c61bb030f 9552
mzta 0:158c61bb030f 9553 static void
mzta 0:158c61bb030f 9554 backref_error(parser_state *p, node *n)
mzta 0:158c61bb030f 9555 {
mzta 0:158c61bb030f 9556 int c;
mzta 0:158c61bb030f 9557
mzta 0:158c61bb030f 9558 c = (int)(intptr_t)n->car;
mzta 0:158c61bb030f 9559
mzta 0:158c61bb030f 9560 if (c == NODE_NTH_REF) {
mzta 0:158c61bb030f 9561 yyerror_i(p, "can't set variable $%d", (int)(intptr_t)n->cdr);
mzta 0:158c61bb030f 9562 }
mzta 0:158c61bb030f 9563 else if (c == NODE_BACK_REF) {
mzta 0:158c61bb030f 9564 yyerror_i(p, "can't set variable $%c", (int)(intptr_t)n->cdr);
mzta 0:158c61bb030f 9565 }
mzta 0:158c61bb030f 9566 else {
mzta 0:158c61bb030f 9567 mrb_bug(p->mrb, "Internal error in backref_error() : n=>car == %S", mrb_fixnum_value(c));
mzta 0:158c61bb030f 9568 }
mzta 0:158c61bb030f 9569 }
mzta 0:158c61bb030f 9570
mzta 0:158c61bb030f 9571 static void pushback(parser_state *p, int c);
mzta 0:158c61bb030f 9572 static mrb_bool peeks(parser_state *p, const char *s);
mzta 0:158c61bb030f 9573 static mrb_bool skips(parser_state *p, const char *s);
mzta 0:158c61bb030f 9574
mzta 0:158c61bb030f 9575 static inline int
mzta 0:158c61bb030f 9576 nextc(parser_state *p)
mzta 0:158c61bb030f 9577 {
mzta 0:158c61bb030f 9578 int c;
mzta 0:158c61bb030f 9579
mzta 0:158c61bb030f 9580 if (p->pb) {
mzta 0:158c61bb030f 9581 node *tmp;
mzta 0:158c61bb030f 9582
mzta 0:158c61bb030f 9583 c = (int)(intptr_t)p->pb->car;
mzta 0:158c61bb030f 9584 tmp = p->pb;
mzta 0:158c61bb030f 9585 p->pb = p->pb->cdr;
mzta 0:158c61bb030f 9586 cons_free(tmp);
mzta 0:158c61bb030f 9587 }
mzta 0:158c61bb030f 9588 else {
mzta 0:158c61bb030f 9589 #ifdef ENABLE_STDIO
mzta 0:158c61bb030f 9590 if (p->f) {
mzta 0:158c61bb030f 9591 if (feof(p->f)) goto eof;
mzta 0:158c61bb030f 9592 c = fgetc(p->f);
mzta 0:158c61bb030f 9593 if (c == EOF) goto eof;
mzta 0:158c61bb030f 9594 }
mzta 0:158c61bb030f 9595 else
mzta 0:158c61bb030f 9596 #endif
mzta 0:158c61bb030f 9597 if (!p->s || p->s >= p->send) {
mzta 0:158c61bb030f 9598 goto eof;
mzta 0:158c61bb030f 9599 }
mzta 0:158c61bb030f 9600 else {
mzta 0:158c61bb030f 9601 c = (unsigned char)*p->s++;
mzta 0:158c61bb030f 9602 }
mzta 0:158c61bb030f 9603 }
mzta 0:158c61bb030f 9604 if (c >= 0) {
mzta 0:158c61bb030f 9605 p->column++;
mzta 0:158c61bb030f 9606 }
mzta 0:158c61bb030f 9607 if (c == '\r') {
mzta 0:158c61bb030f 9608 c = nextc(p);
mzta 0:158c61bb030f 9609 if (c != '\n') {
mzta 0:158c61bb030f 9610 pushback(p, c);
mzta 0:158c61bb030f 9611 return '\r';
mzta 0:158c61bb030f 9612 }
mzta 0:158c61bb030f 9613 return c;
mzta 0:158c61bb030f 9614 }
mzta 0:158c61bb030f 9615 return c;
mzta 0:158c61bb030f 9616
mzta 0:158c61bb030f 9617 eof:
mzta 0:158c61bb030f 9618 if (!p->cxt) return -1;
mzta 0:158c61bb030f 9619 else {
mzta 0:158c61bb030f 9620 if (p->cxt->partial_hook(p) < 0)
mzta 0:158c61bb030f 9621 return -1; /* end of program(s) */
mzta 0:158c61bb030f 9622 return -2; /* end of a file in the program files */
mzta 0:158c61bb030f 9623 }
mzta 0:158c61bb030f 9624 }
mzta 0:158c61bb030f 9625
mzta 0:158c61bb030f 9626 static void
mzta 0:158c61bb030f 9627 pushback(parser_state *p, int c)
mzta 0:158c61bb030f 9628 {
mzta 0:158c61bb030f 9629 if (c >= 0) {
mzta 0:158c61bb030f 9630 p->column--;
mzta 0:158c61bb030f 9631 }
mzta 0:158c61bb030f 9632 p->pb = cons((node*)(intptr_t)c, p->pb);
mzta 0:158c61bb030f 9633 }
mzta 0:158c61bb030f 9634
mzta 0:158c61bb030f 9635 static void
mzta 0:158c61bb030f 9636 skip(parser_state *p, char term)
mzta 0:158c61bb030f 9637 {
mzta 0:158c61bb030f 9638 int c;
mzta 0:158c61bb030f 9639
mzta 0:158c61bb030f 9640 for (;;) {
mzta 0:158c61bb030f 9641 c = nextc(p);
mzta 0:158c61bb030f 9642 if (c < 0) break;
mzta 0:158c61bb030f 9643 if (c == term) break;
mzta 0:158c61bb030f 9644 }
mzta 0:158c61bb030f 9645 }
mzta 0:158c61bb030f 9646
mzta 0:158c61bb030f 9647 static int
mzta 0:158c61bb030f 9648 peekc_n(parser_state *p, int n)
mzta 0:158c61bb030f 9649 {
mzta 0:158c61bb030f 9650 node *list = 0;
mzta 0:158c61bb030f 9651 int c0;
mzta 0:158c61bb030f 9652
mzta 0:158c61bb030f 9653 do {
mzta 0:158c61bb030f 9654 c0 = nextc(p);
mzta 0:158c61bb030f 9655 if (c0 == -1) return c0; /* do not skip partial EOF */
mzta 0:158c61bb030f 9656 list = push(list, (node*)(intptr_t)c0);
mzta 0:158c61bb030f 9657 } while(n--);
mzta 0:158c61bb030f 9658 if (p->pb) {
mzta 0:158c61bb030f 9659 p->pb = append((node*)list, p->pb);
mzta 0:158c61bb030f 9660 }
mzta 0:158c61bb030f 9661 else {
mzta 0:158c61bb030f 9662 p->pb = list;
mzta 0:158c61bb030f 9663 }
mzta 0:158c61bb030f 9664 return c0;
mzta 0:158c61bb030f 9665 }
mzta 0:158c61bb030f 9666
mzta 0:158c61bb030f 9667 static mrb_bool
mzta 0:158c61bb030f 9668 peek_n(parser_state *p, int c, int n)
mzta 0:158c61bb030f 9669 {
mzta 0:158c61bb030f 9670 return peekc_n(p, n) == c && c >= 0;
mzta 0:158c61bb030f 9671 }
mzta 0:158c61bb030f 9672 #define peek(p,c) peek_n((p), (c), 0)
mzta 0:158c61bb030f 9673
mzta 0:158c61bb030f 9674 static mrb_bool
mzta 0:158c61bb030f 9675 peeks(parser_state *p, const char *s)
mzta 0:158c61bb030f 9676 {
mzta 0:158c61bb030f 9677 int len = strlen(s);
mzta 0:158c61bb030f 9678
mzta 0:158c61bb030f 9679 #ifdef ENABLE_STDIO
mzta 0:158c61bb030f 9680 if (p->f) {
mzta 0:158c61bb030f 9681 int n = 0;
mzta 0:158c61bb030f 9682 while (*s) {
mzta 0:158c61bb030f 9683 if (!peek_n(p, *s++, n++)) return FALSE;
mzta 0:158c61bb030f 9684 }
mzta 0:158c61bb030f 9685 return TRUE;
mzta 0:158c61bb030f 9686 }
mzta 0:158c61bb030f 9687 else
mzta 0:158c61bb030f 9688 #endif
mzta 0:158c61bb030f 9689 if (p->s && p->s + len <= p->send) {
mzta 0:158c61bb030f 9690 if (memcmp(p->s, s, len) == 0) return TRUE;
mzta 0:158c61bb030f 9691 }
mzta 0:158c61bb030f 9692 return FALSE;
mzta 0:158c61bb030f 9693 }
mzta 0:158c61bb030f 9694
mzta 0:158c61bb030f 9695 static mrb_bool
mzta 0:158c61bb030f 9696 skips(parser_state *p, const char *s)
mzta 0:158c61bb030f 9697 {
mzta 0:158c61bb030f 9698 int c;
mzta 0:158c61bb030f 9699
mzta 0:158c61bb030f 9700 for (;;) {
mzta 0:158c61bb030f 9701 /* skip until first char */
mzta 0:158c61bb030f 9702 for (;;) {
mzta 0:158c61bb030f 9703 c = nextc(p);
mzta 0:158c61bb030f 9704 if (c < 0) return c;
mzta 0:158c61bb030f 9705 if (c == '\n') {
mzta 0:158c61bb030f 9706 p->lineno++;
mzta 0:158c61bb030f 9707 p->column = 0;
mzta 0:158c61bb030f 9708 }
mzta 0:158c61bb030f 9709 if (c == *s) break;
mzta 0:158c61bb030f 9710 }
mzta 0:158c61bb030f 9711 s++;
mzta 0:158c61bb030f 9712 if (peeks(p, s)) {
mzta 0:158c61bb030f 9713 int len = strlen(s);
mzta 0:158c61bb030f 9714
mzta 0:158c61bb030f 9715 while (len--) {
mzta 0:158c61bb030f 9716 if (nextc(p) == '\n') {
mzta 0:158c61bb030f 9717 p->lineno++;
mzta 0:158c61bb030f 9718 p->column = 0;
mzta 0:158c61bb030f 9719 }
mzta 0:158c61bb030f 9720 }
mzta 0:158c61bb030f 9721 return TRUE;
mzta 0:158c61bb030f 9722 }
mzta 0:158c61bb030f 9723 else{
mzta 0:158c61bb030f 9724 s--;
mzta 0:158c61bb030f 9725 }
mzta 0:158c61bb030f 9726 }
mzta 0:158c61bb030f 9727 return FALSE;
mzta 0:158c61bb030f 9728 }
mzta 0:158c61bb030f 9729
mzta 0:158c61bb030f 9730
mzta 0:158c61bb030f 9731 static int
mzta 0:158c61bb030f 9732 newtok(parser_state *p)
mzta 0:158c61bb030f 9733 {
mzta 0:158c61bb030f 9734 p->bidx = 0;
mzta 0:158c61bb030f 9735 return p->column - 1;
mzta 0:158c61bb030f 9736 }
mzta 0:158c61bb030f 9737
mzta 0:158c61bb030f 9738 static void
mzta 0:158c61bb030f 9739 tokadd(parser_state *p, int32_t c)
mzta 0:158c61bb030f 9740 {
mzta 0:158c61bb030f 9741 char utf8[4];
mzta 0:158c61bb030f 9742 unsigned len;
mzta 0:158c61bb030f 9743
mzta 0:158c61bb030f 9744 /* mrb_assert(-0x10FFFF <= c && c <= 0xFF); */
mzta 0:158c61bb030f 9745 if (c >= 0) {
mzta 0:158c61bb030f 9746 /* Single byte from source or non-Unicode escape */
mzta 0:158c61bb030f 9747 utf8[0] = (char)c;
mzta 0:158c61bb030f 9748 len = 1;
mzta 0:158c61bb030f 9749 }
mzta 0:158c61bb030f 9750 else {
mzta 0:158c61bb030f 9751 /* Unicode character */
mzta 0:158c61bb030f 9752 c = -c;
mzta 0:158c61bb030f 9753 if (c < 0x80) {
mzta 0:158c61bb030f 9754 utf8[0] = (char)c;
mzta 0:158c61bb030f 9755 len = 1;
mzta 0:158c61bb030f 9756 }
mzta 0:158c61bb030f 9757 else if (c < 0x800) {
mzta 0:158c61bb030f 9758 utf8[0] = (char)(0xC0 | (c >> 6));
mzta 0:158c61bb030f 9759 utf8[1] = (char)(0x80 | (c & 0x3F));
mzta 0:158c61bb030f 9760 len = 2;
mzta 0:158c61bb030f 9761 }
mzta 0:158c61bb030f 9762 else if (c < 0x10000) {
mzta 0:158c61bb030f 9763 utf8[0] = (char)(0xE0 | (c >> 12) );
mzta 0:158c61bb030f 9764 utf8[1] = (char)(0x80 | ((c >> 6) & 0x3F));
mzta 0:158c61bb030f 9765 utf8[2] = (char)(0x80 | ( c & 0x3F));
mzta 0:158c61bb030f 9766 len = 3;
mzta 0:158c61bb030f 9767 }
mzta 0:158c61bb030f 9768 else {
mzta 0:158c61bb030f 9769 utf8[0] = (char)(0xF0 | (c >> 18) );
mzta 0:158c61bb030f 9770 utf8[1] = (char)(0x80 | ((c >> 12) & 0x3F));
mzta 0:158c61bb030f 9771 utf8[2] = (char)(0x80 | ((c >> 6) & 0x3F));
mzta 0:158c61bb030f 9772 utf8[3] = (char)(0x80 | ( c & 0x3F));
mzta 0:158c61bb030f 9773 len = 4;
mzta 0:158c61bb030f 9774 }
mzta 0:158c61bb030f 9775 }
mzta 0:158c61bb030f 9776 if (p->bidx+len <= MRB_PARSER_BUF_SIZE) {
mzta 0:158c61bb030f 9777 unsigned i;
mzta 0:158c61bb030f 9778 for (i = 0; i < len; i++) {
mzta 0:158c61bb030f 9779 p->buf[p->bidx++] = utf8[i];
mzta 0:158c61bb030f 9780 }
mzta 0:158c61bb030f 9781 }
mzta 0:158c61bb030f 9782 }
mzta 0:158c61bb030f 9783
mzta 0:158c61bb030f 9784 static int
mzta 0:158c61bb030f 9785 toklast(parser_state *p)
mzta 0:158c61bb030f 9786 {
mzta 0:158c61bb030f 9787 return p->buf[p->bidx-1];
mzta 0:158c61bb030f 9788 }
mzta 0:158c61bb030f 9789
mzta 0:158c61bb030f 9790 static void
mzta 0:158c61bb030f 9791 tokfix(parser_state *p)
mzta 0:158c61bb030f 9792 {
mzta 0:158c61bb030f 9793 if (p->bidx >= MRB_PARSER_BUF_SIZE) {
mzta 0:158c61bb030f 9794 yyerror(p, "string too long (truncated)");
mzta 0:158c61bb030f 9795 }
mzta 0:158c61bb030f 9796 p->buf[p->bidx] = '\0';
mzta 0:158c61bb030f 9797 }
mzta 0:158c61bb030f 9798
mzta 0:158c61bb030f 9799 static const char*
mzta 0:158c61bb030f 9800 tok(parser_state *p)
mzta 0:158c61bb030f 9801 {
mzta 0:158c61bb030f 9802 return p->buf;
mzta 0:158c61bb030f 9803 }
mzta 0:158c61bb030f 9804
mzta 0:158c61bb030f 9805 static int
mzta 0:158c61bb030f 9806 toklen(parser_state *p)
mzta 0:158c61bb030f 9807 {
mzta 0:158c61bb030f 9808 return p->bidx;
mzta 0:158c61bb030f 9809 }
mzta 0:158c61bb030f 9810
mzta 0:158c61bb030f 9811 #define IS_ARG() (p->lstate == EXPR_ARG || p->lstate == EXPR_CMDARG)
mzta 0:158c61bb030f 9812 #define IS_END() (p->lstate == EXPR_END || p->lstate == EXPR_ENDARG || p->lstate == EXPR_ENDFN)
mzta 0:158c61bb030f 9813 #define IS_BEG() (p->lstate == EXPR_BEG || p->lstate == EXPR_MID || p->lstate == EXPR_VALUE || p->lstate == EXPR_CLASS)
mzta 0:158c61bb030f 9814 #define IS_SPCARG(c) (IS_ARG() && space_seen && !ISSPACE(c))
mzta 0:158c61bb030f 9815 #define IS_LABEL_POSSIBLE() ((p->lstate == EXPR_BEG && !cmd_state) || IS_ARG())
mzta 0:158c61bb030f 9816 #define IS_LABEL_SUFFIX(n) (peek_n(p, ':',(n)) && !peek_n(p, ':', (n)+1))
mzta 0:158c61bb030f 9817
mzta 0:158c61bb030f 9818 static int
mzta 0:158c61bb030f 9819 scan_oct(const int *start, int len, int *retlen)
mzta 0:158c61bb030f 9820 {
mzta 0:158c61bb030f 9821 const int *s = start;
mzta 0:158c61bb030f 9822 int retval = 0;
mzta 0:158c61bb030f 9823
mzta 0:158c61bb030f 9824 /* mrb_assert(len <= 3) */
mzta 0:158c61bb030f 9825 while (len-- && *s >= '0' && *s <= '7') {
mzta 0:158c61bb030f 9826 retval <<= 3;
mzta 0:158c61bb030f 9827 retval |= *s++ - '0';
mzta 0:158c61bb030f 9828 }
mzta 0:158c61bb030f 9829 *retlen = s - start;
mzta 0:158c61bb030f 9830
mzta 0:158c61bb030f 9831 return retval;
mzta 0:158c61bb030f 9832 }
mzta 0:158c61bb030f 9833
mzta 0:158c61bb030f 9834 static int32_t
mzta 0:158c61bb030f 9835 scan_hex(const int *start, int len, int *retlen)
mzta 0:158c61bb030f 9836 {
mzta 0:158c61bb030f 9837 static const char hexdigit[] = "0123456789abcdef0123456789ABCDEF";
mzta 0:158c61bb030f 9838 const int *s = start;
mzta 0:158c61bb030f 9839 int32_t retval = 0;
mzta 0:158c61bb030f 9840 char *tmp;
mzta 0:158c61bb030f 9841
mzta 0:158c61bb030f 9842 /* mrb_assert(len <= 8) */
mzta 0:158c61bb030f 9843 while (len-- && *s && (tmp = (char*)strchr(hexdigit, *s))) {
mzta 0:158c61bb030f 9844 retval <<= 4;
mzta 0:158c61bb030f 9845 retval |= (tmp - hexdigit) & 15;
mzta 0:158c61bb030f 9846 s++;
mzta 0:158c61bb030f 9847 }
mzta 0:158c61bb030f 9848 *retlen = s - start;
mzta 0:158c61bb030f 9849
mzta 0:158c61bb030f 9850 return retval;
mzta 0:158c61bb030f 9851 }
mzta 0:158c61bb030f 9852
mzta 0:158c61bb030f 9853 /* Return negative to indicate Unicode code point */
mzta 0:158c61bb030f 9854 static int32_t
mzta 0:158c61bb030f 9855 read_escape(parser_state *p)
mzta 0:158c61bb030f 9856 {
mzta 0:158c61bb030f 9857 int32_t c;
mzta 0:158c61bb030f 9858
mzta 0:158c61bb030f 9859 switch (c = nextc(p)) {
mzta 0:158c61bb030f 9860 case '\\':/* Backslash */
mzta 0:158c61bb030f 9861 return c;
mzta 0:158c61bb030f 9862
mzta 0:158c61bb030f 9863 case 'n':/* newline */
mzta 0:158c61bb030f 9864 return '\n';
mzta 0:158c61bb030f 9865
mzta 0:158c61bb030f 9866 case 't':/* horizontal tab */
mzta 0:158c61bb030f 9867 return '\t';
mzta 0:158c61bb030f 9868
mzta 0:158c61bb030f 9869 case 'r':/* carriage-return */
mzta 0:158c61bb030f 9870 return '\r';
mzta 0:158c61bb030f 9871
mzta 0:158c61bb030f 9872 case 'f':/* form-feed */
mzta 0:158c61bb030f 9873 return '\f';
mzta 0:158c61bb030f 9874
mzta 0:158c61bb030f 9875 case 'v':/* vertical tab */
mzta 0:158c61bb030f 9876 return '\13';
mzta 0:158c61bb030f 9877
mzta 0:158c61bb030f 9878 case 'a':/* alarm(bell) */
mzta 0:158c61bb030f 9879 return '\007';
mzta 0:158c61bb030f 9880
mzta 0:158c61bb030f 9881 case 'e':/* escape */
mzta 0:158c61bb030f 9882 return 033;
mzta 0:158c61bb030f 9883
mzta 0:158c61bb030f 9884 case '0': case '1': case '2': case '3': /* octal constant */
mzta 0:158c61bb030f 9885 case '4': case '5': case '6': case '7':
mzta 0:158c61bb030f 9886 {
mzta 0:158c61bb030f 9887 int buf[3];
mzta 0:158c61bb030f 9888 int i;
mzta 0:158c61bb030f 9889
mzta 0:158c61bb030f 9890 buf[0] = c;
mzta 0:158c61bb030f 9891 for (i=1; i<3; i++) {
mzta 0:158c61bb030f 9892 buf[i] = nextc(p);
mzta 0:158c61bb030f 9893 if (buf[i] < 0) goto eof;
mzta 0:158c61bb030f 9894 if (buf[i] < '0' || '7' < buf[i]) {
mzta 0:158c61bb030f 9895 pushback(p, buf[i]);
mzta 0:158c61bb030f 9896 break;
mzta 0:158c61bb030f 9897 }
mzta 0:158c61bb030f 9898 }
mzta 0:158c61bb030f 9899 c = scan_oct(buf, i, &i);
mzta 0:158c61bb030f 9900 }
mzta 0:158c61bb030f 9901 return c;
mzta 0:158c61bb030f 9902
mzta 0:158c61bb030f 9903 case 'x': /* hex constant */
mzta 0:158c61bb030f 9904 {
mzta 0:158c61bb030f 9905 int buf[2];
mzta 0:158c61bb030f 9906 int i;
mzta 0:158c61bb030f 9907
mzta 0:158c61bb030f 9908 for (i=0; i<2; i++) {
mzta 0:158c61bb030f 9909 buf[i] = nextc(p);
mzta 0:158c61bb030f 9910 if (buf[i] < 0) goto eof;
mzta 0:158c61bb030f 9911 if (!ISXDIGIT(buf[i])) {
mzta 0:158c61bb030f 9912 pushback(p, buf[i]);
mzta 0:158c61bb030f 9913 break;
mzta 0:158c61bb030f 9914 }
mzta 0:158c61bb030f 9915 }
mzta 0:158c61bb030f 9916 c = scan_hex(buf, i, &i);
mzta 0:158c61bb030f 9917 if (i == 0) {
mzta 0:158c61bb030f 9918 yyerror(p, "Invalid escape character syntax");
mzta 0:158c61bb030f 9919 return 0;
mzta 0:158c61bb030f 9920 }
mzta 0:158c61bb030f 9921 }
mzta 0:158c61bb030f 9922 return c;
mzta 0:158c61bb030f 9923
mzta 0:158c61bb030f 9924 case 'u': /* Unicode */
mzta 0:158c61bb030f 9925 {
mzta 0:158c61bb030f 9926 int buf[9];
mzta 0:158c61bb030f 9927 int i;
mzta 0:158c61bb030f 9928
mzta 0:158c61bb030f 9929 /* Look for opening brace */
mzta 0:158c61bb030f 9930 i = 0;
mzta 0:158c61bb030f 9931 buf[0] = nextc(p);
mzta 0:158c61bb030f 9932 if (buf[0] < 0) goto eof;
mzta 0:158c61bb030f 9933 if (buf[0] == '{') {
mzta 0:158c61bb030f 9934 /* \u{xxxxxxxx} form */
mzta 0:158c61bb030f 9935 for (i=0; i<9; i++) {
mzta 0:158c61bb030f 9936 buf[i] = nextc(p);
mzta 0:158c61bb030f 9937 if (buf[i] < 0) goto eof;
mzta 0:158c61bb030f 9938 if (buf[i] == '}') {
mzta 0:158c61bb030f 9939 break;
mzta 0:158c61bb030f 9940 }
mzta 0:158c61bb030f 9941 else if (!ISXDIGIT(buf[i])) {
mzta 0:158c61bb030f 9942 yyerror(p, "Invalid escape character syntax");
mzta 0:158c61bb030f 9943 pushback(p, buf[i]);
mzta 0:158c61bb030f 9944 return 0;
mzta 0:158c61bb030f 9945 }
mzta 0:158c61bb030f 9946 }
mzta 0:158c61bb030f 9947 }
mzta 0:158c61bb030f 9948 else if (ISXDIGIT(buf[0])) {
mzta 0:158c61bb030f 9949 /* \uxxxx form */
mzta 0:158c61bb030f 9950 for (i=1; i<4; i++) {
mzta 0:158c61bb030f 9951 buf[i] = nextc(p);
mzta 0:158c61bb030f 9952 if (buf[i] < 0) goto eof;
mzta 0:158c61bb030f 9953 if (!ISXDIGIT(buf[i])) {
mzta 0:158c61bb030f 9954 pushback(p, buf[i]);
mzta 0:158c61bb030f 9955 break;
mzta 0:158c61bb030f 9956 }
mzta 0:158c61bb030f 9957 }
mzta 0:158c61bb030f 9958 }
mzta 0:158c61bb030f 9959 else {
mzta 0:158c61bb030f 9960 pushback(p, buf[0]);
mzta 0:158c61bb030f 9961 }
mzta 0:158c61bb030f 9962 c = scan_hex(buf, i, &i);
mzta 0:158c61bb030f 9963 if (i == 0) {
mzta 0:158c61bb030f 9964 yyerror(p, "Invalid escape character syntax");
mzta 0:158c61bb030f 9965 return 0;
mzta 0:158c61bb030f 9966 }
mzta 0:158c61bb030f 9967 if (c < 0 || c > 0x10FFFF || (c & 0xFFFFF800) == 0xD800) {
mzta 0:158c61bb030f 9968 yyerror(p, "Invalid Unicode code point");
mzta 0:158c61bb030f 9969 return 0;
mzta 0:158c61bb030f 9970 }
mzta 0:158c61bb030f 9971 }
mzta 0:158c61bb030f 9972 return -c;
mzta 0:158c61bb030f 9973
mzta 0:158c61bb030f 9974 case 'b':/* backspace */
mzta 0:158c61bb030f 9975 return '\010';
mzta 0:158c61bb030f 9976
mzta 0:158c61bb030f 9977 case 's':/* space */
mzta 0:158c61bb030f 9978 return ' ';
mzta 0:158c61bb030f 9979
mzta 0:158c61bb030f 9980 case 'M':
mzta 0:158c61bb030f 9981 if ((c = nextc(p)) != '-') {
mzta 0:158c61bb030f 9982 yyerror(p, "Invalid escape character syntax");
mzta 0:158c61bb030f 9983 pushback(p, c);
mzta 0:158c61bb030f 9984 return '\0';
mzta 0:158c61bb030f 9985 }
mzta 0:158c61bb030f 9986 if ((c = nextc(p)) == '\\') {
mzta 0:158c61bb030f 9987 return read_escape(p) | 0x80;
mzta 0:158c61bb030f 9988 }
mzta 0:158c61bb030f 9989 else if (c < 0) goto eof;
mzta 0:158c61bb030f 9990 else {
mzta 0:158c61bb030f 9991 return ((c & 0xff) | 0x80);
mzta 0:158c61bb030f 9992 }
mzta 0:158c61bb030f 9993
mzta 0:158c61bb030f 9994 case 'C':
mzta 0:158c61bb030f 9995 if ((c = nextc(p)) != '-') {
mzta 0:158c61bb030f 9996 yyerror(p, "Invalid escape character syntax");
mzta 0:158c61bb030f 9997 pushback(p, c);
mzta 0:158c61bb030f 9998 return '\0';
mzta 0:158c61bb030f 9999 }
mzta 0:158c61bb030f 10000 case 'c':
mzta 0:158c61bb030f 10001 if ((c = nextc(p))== '\\') {
mzta 0:158c61bb030f 10002 c = read_escape(p);
mzta 0:158c61bb030f 10003 }
mzta 0:158c61bb030f 10004 else if (c == '?')
mzta 0:158c61bb030f 10005 return 0177;
mzta 0:158c61bb030f 10006 else if (c < 0) goto eof;
mzta 0:158c61bb030f 10007 return c & 0x9f;
mzta 0:158c61bb030f 10008
mzta 0:158c61bb030f 10009 eof:
mzta 0:158c61bb030f 10010 case -1:
mzta 0:158c61bb030f 10011 case -2: /* end of a file */
mzta 0:158c61bb030f 10012 yyerror(p, "Invalid escape character syntax");
mzta 0:158c61bb030f 10013 return '\0';
mzta 0:158c61bb030f 10014
mzta 0:158c61bb030f 10015 default:
mzta 0:158c61bb030f 10016 return c;
mzta 0:158c61bb030f 10017 }
mzta 0:158c61bb030f 10018 }
mzta 0:158c61bb030f 10019
mzta 0:158c61bb030f 10020 static int
mzta 0:158c61bb030f 10021 parse_string(parser_state *p)
mzta 0:158c61bb030f 10022 {
mzta 0:158c61bb030f 10023 int c;
mzta 0:158c61bb030f 10024 string_type type = (string_type)(intptr_t)p->lex_strterm->car;
mzta 0:158c61bb030f 10025 int nest_level = (intptr_t)p->lex_strterm->cdr->car;
mzta 0:158c61bb030f 10026 int beg = (intptr_t)p->lex_strterm->cdr->cdr->car;
mzta 0:158c61bb030f 10027 int end = (intptr_t)p->lex_strterm->cdr->cdr->cdr;
mzta 0:158c61bb030f 10028 parser_heredoc_info *hinf = (type & STR_FUNC_HEREDOC) ? parsing_heredoc_inf(p) : NULL;
mzta 0:158c61bb030f 10029
mzta 0:158c61bb030f 10030 newtok(p);
mzta 0:158c61bb030f 10031 while ((c = nextc(p)) != end || nest_level != 0) {
mzta 0:158c61bb030f 10032 if (hinf && (c == '\n' || c < 0)) {
mzta 0:158c61bb030f 10033 mrb_bool line_head;
mzta 0:158c61bb030f 10034 tokadd(p, '\n');
mzta 0:158c61bb030f 10035 tokfix(p);
mzta 0:158c61bb030f 10036 p->lineno++;
mzta 0:158c61bb030f 10037 p->column = 0;
mzta 0:158c61bb030f 10038 line_head = hinf->line_head;
mzta 0:158c61bb030f 10039 hinf->line_head = TRUE;
mzta 0:158c61bb030f 10040 if (line_head) {
mzta 0:158c61bb030f 10041 /* check whether end of heredoc */
mzta 0:158c61bb030f 10042 const char *s = tok(p);
mzta 0:158c61bb030f 10043 int len = toklen(p);
mzta 0:158c61bb030f 10044 if (hinf->allow_indent) {
mzta 0:158c61bb030f 10045 while (ISSPACE(*s) && len > 0) {
mzta 0:158c61bb030f 10046 ++s;
mzta 0:158c61bb030f 10047 --len;
mzta 0:158c61bb030f 10048 }
mzta 0:158c61bb030f 10049 }
mzta 0:158c61bb030f 10050 if ((len-1 == hinf->term_len) && (strncmp(s, hinf->term, len-1) == 0)) {
mzta 0:158c61bb030f 10051 return tHEREDOC_END;
mzta 0:158c61bb030f 10052 }
mzta 0:158c61bb030f 10053 }
mzta 0:158c61bb030f 10054 if (c < 0) {
mzta 0:158c61bb030f 10055 char buf[256];
mzta 0:158c61bb030f 10056 snprintf(buf, sizeof(buf), "can't find heredoc delimiter \"%s\" anywhere before EOF", hinf->term);
mzta 0:158c61bb030f 10057 yyerror(p, buf);
mzta 0:158c61bb030f 10058 return 0;
mzta 0:158c61bb030f 10059 }
mzta 0:158c61bb030f 10060 yylval.nd = new_str(p, tok(p), toklen(p));
mzta 0:158c61bb030f 10061 return tHD_STRING_MID;
mzta 0:158c61bb030f 10062 }
mzta 0:158c61bb030f 10063 if (c < 0) {
mzta 0:158c61bb030f 10064 yyerror(p, "unterminated string meets end of file");
mzta 0:158c61bb030f 10065 return 0;
mzta 0:158c61bb030f 10066 }
mzta 0:158c61bb030f 10067 else if (c == beg) {
mzta 0:158c61bb030f 10068 nest_level++;
mzta 0:158c61bb030f 10069 p->lex_strterm->cdr->car = (node*)(intptr_t)nest_level;
mzta 0:158c61bb030f 10070 }
mzta 0:158c61bb030f 10071 else if (c == end) {
mzta 0:158c61bb030f 10072 nest_level--;
mzta 0:158c61bb030f 10073 p->lex_strterm->cdr->car = (node*)(intptr_t)nest_level;
mzta 0:158c61bb030f 10074 }
mzta 0:158c61bb030f 10075 else if (c == '\\') {
mzta 0:158c61bb030f 10076 c = nextc(p);
mzta 0:158c61bb030f 10077 if (type & STR_FUNC_EXPAND) {
mzta 0:158c61bb030f 10078 if (c == end || c == beg) {
mzta 0:158c61bb030f 10079 tokadd(p, c);
mzta 0:158c61bb030f 10080 }
mzta 0:158c61bb030f 10081 else if (c == '\n') {
mzta 0:158c61bb030f 10082 p->lineno++;
mzta 0:158c61bb030f 10083 p->column = 0;
mzta 0:158c61bb030f 10084 if (type & STR_FUNC_ARRAY) {
mzta 0:158c61bb030f 10085 tokadd(p, '\n');
mzta 0:158c61bb030f 10086 }
mzta 0:158c61bb030f 10087 }
mzta 0:158c61bb030f 10088 else if (type & STR_FUNC_REGEXP) {
mzta 0:158c61bb030f 10089 tokadd(p, '\\');
mzta 0:158c61bb030f 10090 tokadd(p, c);
mzta 0:158c61bb030f 10091 }
mzta 0:158c61bb030f 10092 else {
mzta 0:158c61bb030f 10093 pushback(p, c);
mzta 0:158c61bb030f 10094 tokadd(p, read_escape(p));
mzta 0:158c61bb030f 10095 if (hinf)
mzta 0:158c61bb030f 10096 hinf->line_head = FALSE;
mzta 0:158c61bb030f 10097 }
mzta 0:158c61bb030f 10098 }
mzta 0:158c61bb030f 10099 else {
mzta 0:158c61bb030f 10100 if (c != beg && c != end) {
mzta 0:158c61bb030f 10101 if (c == '\n') {
mzta 0:158c61bb030f 10102 p->lineno++;
mzta 0:158c61bb030f 10103 p->column = 0;
mzta 0:158c61bb030f 10104 }
mzta 0:158c61bb030f 10105 if (!(c == '\\' || ((type & STR_FUNC_ARRAY) && ISSPACE(c)))) {
mzta 0:158c61bb030f 10106 tokadd(p, '\\');
mzta 0:158c61bb030f 10107 }
mzta 0:158c61bb030f 10108 }
mzta 0:158c61bb030f 10109 tokadd(p, c);
mzta 0:158c61bb030f 10110 }
mzta 0:158c61bb030f 10111 continue;
mzta 0:158c61bb030f 10112 }
mzta 0:158c61bb030f 10113 else if ((c == '#') && (type & STR_FUNC_EXPAND)) {
mzta 0:158c61bb030f 10114 c = nextc(p);
mzta 0:158c61bb030f 10115 if (c == '{') {
mzta 0:158c61bb030f 10116 tokfix(p);
mzta 0:158c61bb030f 10117 p->lstate = EXPR_BEG;
mzta 0:158c61bb030f 10118 p->cmd_start = TRUE;
mzta 0:158c61bb030f 10119 yylval.nd = new_str(p, tok(p), toklen(p));
mzta 0:158c61bb030f 10120 if (hinf) {
mzta 0:158c61bb030f 10121 hinf->line_head = FALSE;
mzta 0:158c61bb030f 10122 return tHD_STRING_PART;
mzta 0:158c61bb030f 10123 }
mzta 0:158c61bb030f 10124 return tSTRING_PART;
mzta 0:158c61bb030f 10125 }
mzta 0:158c61bb030f 10126 tokadd(p, '#');
mzta 0:158c61bb030f 10127 pushback(p, c);
mzta 0:158c61bb030f 10128 continue;
mzta 0:158c61bb030f 10129 }
mzta 0:158c61bb030f 10130 if ((type & STR_FUNC_ARRAY) && ISSPACE(c)) {
mzta 0:158c61bb030f 10131 if (toklen(p) == 0) {
mzta 0:158c61bb030f 10132 do {
mzta 0:158c61bb030f 10133 if (c == '\n') {
mzta 0:158c61bb030f 10134 p->lineno++;
mzta 0:158c61bb030f 10135 p->column = 0;
mzta 0:158c61bb030f 10136 heredoc_treat_nextline(p);
mzta 0:158c61bb030f 10137 if (p->parsing_heredoc != NULL) {
mzta 0:158c61bb030f 10138 return tHD_LITERAL_DELIM;
mzta 0:158c61bb030f 10139 }
mzta 0:158c61bb030f 10140 }
mzta 0:158c61bb030f 10141 c = nextc(p);
mzta 0:158c61bb030f 10142 } while (ISSPACE(c));
mzta 0:158c61bb030f 10143 pushback(p, c);
mzta 0:158c61bb030f 10144 return tLITERAL_DELIM;
mzta 0:158c61bb030f 10145 }
mzta 0:158c61bb030f 10146 else {
mzta 0:158c61bb030f 10147 pushback(p, c);
mzta 0:158c61bb030f 10148 tokfix(p);
mzta 0:158c61bb030f 10149 yylval.nd = new_str(p, tok(p), toklen(p));
mzta 0:158c61bb030f 10150 return tSTRING_MID;
mzta 0:158c61bb030f 10151 }
mzta 0:158c61bb030f 10152 }
mzta 0:158c61bb030f 10153 tokadd(p, c);
mzta 0:158c61bb030f 10154 }
mzta 0:158c61bb030f 10155
mzta 0:158c61bb030f 10156 tokfix(p);
mzta 0:158c61bb030f 10157 p->lstate = EXPR_END;
mzta 0:158c61bb030f 10158 end_strterm(p);
mzta 0:158c61bb030f 10159
mzta 0:158c61bb030f 10160 if (type & STR_FUNC_XQUOTE) {
mzta 0:158c61bb030f 10161 yylval.nd = new_xstr(p, tok(p), toklen(p));
mzta 0:158c61bb030f 10162 return tXSTRING;
mzta 0:158c61bb030f 10163 }
mzta 0:158c61bb030f 10164
mzta 0:158c61bb030f 10165 if (type & STR_FUNC_REGEXP) {
mzta 0:158c61bb030f 10166 int f = 0;
mzta 0:158c61bb030f 10167 int re_opt;
mzta 0:158c61bb030f 10168 char *s = strndup(tok(p), toklen(p));
mzta 0:158c61bb030f 10169 char flags[3];
mzta 0:158c61bb030f 10170 char *flag = flags;
mzta 0:158c61bb030f 10171 char *dup;
mzta 0:158c61bb030f 10172
mzta 0:158c61bb030f 10173 newtok(p);
mzta 0:158c61bb030f 10174 while (re_opt = nextc(p), re_opt >= 0 && ISALPHA(re_opt)) {
mzta 0:158c61bb030f 10175 switch (re_opt) {
mzta 0:158c61bb030f 10176 case 'i': f |= 1; break;
mzta 0:158c61bb030f 10177 case 'x': f |= 2; break;
mzta 0:158c61bb030f 10178 case 'm': f |= 4; break;
mzta 0:158c61bb030f 10179 default: tokadd(p, re_opt); break;
mzta 0:158c61bb030f 10180 }
mzta 0:158c61bb030f 10181 }
mzta 0:158c61bb030f 10182 pushback(p, re_opt);
mzta 0:158c61bb030f 10183 if (toklen(p)) {
mzta 0:158c61bb030f 10184 char msg[128];
mzta 0:158c61bb030f 10185 tokfix(p);
mzta 0:158c61bb030f 10186 snprintf(msg, sizeof(msg), "unknown regexp option%s - %s",
mzta 0:158c61bb030f 10187 toklen(p) > 1 ? "s" : "", tok(p));
mzta 0:158c61bb030f 10188 yyerror(p, msg);
mzta 0:158c61bb030f 10189 }
mzta 0:158c61bb030f 10190 if (f != 0) {
mzta 0:158c61bb030f 10191 if (f & 1) *flag++ = 'i';
mzta 0:158c61bb030f 10192 if (f & 2) *flag++ = 'x';
mzta 0:158c61bb030f 10193 if (f & 4) *flag++ = 'm';
mzta 0:158c61bb030f 10194 dup = strndup(flags, (size_t)(flag - flags));
mzta 0:158c61bb030f 10195 }
mzta 0:158c61bb030f 10196 else {
mzta 0:158c61bb030f 10197 dup = NULL;
mzta 0:158c61bb030f 10198 }
mzta 0:158c61bb030f 10199 yylval.nd = new_regx(p, s, dup);
mzta 0:158c61bb030f 10200
mzta 0:158c61bb030f 10201 return tREGEXP;
mzta 0:158c61bb030f 10202 }
mzta 0:158c61bb030f 10203
mzta 0:158c61bb030f 10204 yylval.nd = new_str(p, tok(p), toklen(p));
mzta 0:158c61bb030f 10205 return tSTRING;
mzta 0:158c61bb030f 10206 }
mzta 0:158c61bb030f 10207
mzta 0:158c61bb030f 10208
mzta 0:158c61bb030f 10209 static int
mzta 0:158c61bb030f 10210 heredoc_identifier(parser_state *p)
mzta 0:158c61bb030f 10211 {
mzta 0:158c61bb030f 10212 int c;
mzta 0:158c61bb030f 10213 int type = str_heredoc;
mzta 0:158c61bb030f 10214 mrb_bool indent = FALSE;
mzta 0:158c61bb030f 10215 mrb_bool quote = FALSE;
mzta 0:158c61bb030f 10216 node *newnode;
mzta 0:158c61bb030f 10217 parser_heredoc_info *info;
mzta 0:158c61bb030f 10218
mzta 0:158c61bb030f 10219 c = nextc(p);
mzta 0:158c61bb030f 10220 if (ISSPACE(c) || c == '=') {
mzta 0:158c61bb030f 10221 pushback(p, c);
mzta 0:158c61bb030f 10222 return 0;
mzta 0:158c61bb030f 10223 }
mzta 0:158c61bb030f 10224 if (c == '-') {
mzta 0:158c61bb030f 10225 indent = TRUE;
mzta 0:158c61bb030f 10226 c = nextc(p);
mzta 0:158c61bb030f 10227 }
mzta 0:158c61bb030f 10228 if (c == '\'' || c == '"') {
mzta 0:158c61bb030f 10229 int term = c;
mzta 0:158c61bb030f 10230 if (c == '\'')
mzta 0:158c61bb030f 10231 quote = TRUE;
mzta 0:158c61bb030f 10232 newtok(p);
mzta 0:158c61bb030f 10233 while ((c = nextc(p)) >= 0 && c != term) {
mzta 0:158c61bb030f 10234 if (c == '\n') {
mzta 0:158c61bb030f 10235 c = -1;
mzta 0:158c61bb030f 10236 break;
mzta 0:158c61bb030f 10237 }
mzta 0:158c61bb030f 10238 tokadd(p, c);
mzta 0:158c61bb030f 10239 }
mzta 0:158c61bb030f 10240 if (c < 0) {
mzta 0:158c61bb030f 10241 yyerror(p, "unterminated here document identifier");
mzta 0:158c61bb030f 10242 return 0;
mzta 0:158c61bb030f 10243 }
mzta 0:158c61bb030f 10244 }
mzta 0:158c61bb030f 10245 else {
mzta 0:158c61bb030f 10246 if (c < 0) {
mzta 0:158c61bb030f 10247 return 0; /* missing here document identifier */
mzta 0:158c61bb030f 10248 }
mzta 0:158c61bb030f 10249 if (! identchar(c)) {
mzta 0:158c61bb030f 10250 pushback(p, c);
mzta 0:158c61bb030f 10251 if (indent) pushback(p, '-');
mzta 0:158c61bb030f 10252 return 0;
mzta 0:158c61bb030f 10253 }
mzta 0:158c61bb030f 10254 newtok(p);
mzta 0:158c61bb030f 10255 do {
mzta 0:158c61bb030f 10256 tokadd(p, c);
mzta 0:158c61bb030f 10257 } while ((c = nextc(p)) >= 0 && identchar(c));
mzta 0:158c61bb030f 10258 pushback(p, c);
mzta 0:158c61bb030f 10259 }
mzta 0:158c61bb030f 10260 tokfix(p);
mzta 0:158c61bb030f 10261 newnode = new_heredoc(p);
mzta 0:158c61bb030f 10262 info = (parser_heredoc_info*)newnode->cdr;
mzta 0:158c61bb030f 10263 info->term = strndup(tok(p), toklen(p));
mzta 0:158c61bb030f 10264 info->term_len = toklen(p);
mzta 0:158c61bb030f 10265 if (! quote)
mzta 0:158c61bb030f 10266 type |= STR_FUNC_EXPAND;
mzta 0:158c61bb030f 10267 info->type = (string_type)type;
mzta 0:158c61bb030f 10268 info->allow_indent = indent;
mzta 0:158c61bb030f 10269 info->line_head = TRUE;
mzta 0:158c61bb030f 10270 info->doc = NULL;
mzta 0:158c61bb030f 10271 p->heredocs_from_nextline = push(p->heredocs_from_nextline, newnode);
mzta 0:158c61bb030f 10272 p->lstate = EXPR_END;
mzta 0:158c61bb030f 10273
mzta 0:158c61bb030f 10274 yylval.nd = newnode;
mzta 0:158c61bb030f 10275 return tHEREDOC_BEG;
mzta 0:158c61bb030f 10276 }
mzta 0:158c61bb030f 10277
mzta 0:158c61bb030f 10278 static int
mzta 0:158c61bb030f 10279 arg_ambiguous(parser_state *p)
mzta 0:158c61bb030f 10280 {
mzta 0:158c61bb030f 10281 yywarning(p, "ambiguous first argument; put parentheses or even spaces");
mzta 0:158c61bb030f 10282 return 1;
mzta 0:158c61bb030f 10283 }
mzta 0:158c61bb030f 10284
mzta 0:158c61bb030f 10285 #include "lex.def"
mzta 0:158c61bb030f 10286
mzta 0:158c61bb030f 10287 static int
mzta 0:158c61bb030f 10288 parser_yylex(parser_state *p)
mzta 0:158c61bb030f 10289 {
mzta 0:158c61bb030f 10290 int32_t c;
mzta 0:158c61bb030f 10291 int space_seen = 0;
mzta 0:158c61bb030f 10292 int cmd_state;
mzta 0:158c61bb030f 10293 enum mrb_lex_state_enum last_state;
mzta 0:158c61bb030f 10294 int token_column;
mzta 0:158c61bb030f 10295
mzta 0:158c61bb030f 10296 if (p->lex_strterm) {
mzta 0:158c61bb030f 10297 if (is_strterm_type(p, STR_FUNC_HEREDOC)) {
mzta 0:158c61bb030f 10298 if (p->parsing_heredoc != NULL)
mzta 0:158c61bb030f 10299 return parse_string(p);
mzta 0:158c61bb030f 10300 }
mzta 0:158c61bb030f 10301 else
mzta 0:158c61bb030f 10302 return parse_string(p);
mzta 0:158c61bb030f 10303 }
mzta 0:158c61bb030f 10304 cmd_state = p->cmd_start;
mzta 0:158c61bb030f 10305 p->cmd_start = FALSE;
mzta 0:158c61bb030f 10306 retry:
mzta 0:158c61bb030f 10307 last_state = p->lstate;
mzta 0:158c61bb030f 10308 switch (c = nextc(p)) {
mzta 0:158c61bb030f 10309 case '\0': /* NUL */
mzta 0:158c61bb030f 10310 case '\004': /* ^D */
mzta 0:158c61bb030f 10311 case '\032': /* ^Z */
mzta 0:158c61bb030f 10312 return 0;
mzta 0:158c61bb030f 10313 case -1: /* end of script. */
mzta 0:158c61bb030f 10314 if (p->heredocs_from_nextline)
mzta 0:158c61bb030f 10315 goto maybe_heredoc;
mzta 0:158c61bb030f 10316 return 0;
mzta 0:158c61bb030f 10317
mzta 0:158c61bb030f 10318 /* white spaces */
mzta 0:158c61bb030f 10319 case ' ': case '\t': case '\f': case '\r':
mzta 0:158c61bb030f 10320 case '\13': /* '\v' */
mzta 0:158c61bb030f 10321 space_seen = 1;
mzta 0:158c61bb030f 10322 goto retry;
mzta 0:158c61bb030f 10323
mzta 0:158c61bb030f 10324 case '#': /* it's a comment */
mzta 0:158c61bb030f 10325 skip(p, '\n');
mzta 0:158c61bb030f 10326 /* fall through */
mzta 0:158c61bb030f 10327 case -2: /* end of a file */
mzta 0:158c61bb030f 10328 case '\n':
mzta 0:158c61bb030f 10329 maybe_heredoc:
mzta 0:158c61bb030f 10330 heredoc_treat_nextline(p);
mzta 0:158c61bb030f 10331 switch (p->lstate) {
mzta 0:158c61bb030f 10332 case EXPR_BEG:
mzta 0:158c61bb030f 10333 case EXPR_FNAME:
mzta 0:158c61bb030f 10334 case EXPR_DOT:
mzta 0:158c61bb030f 10335 case EXPR_CLASS:
mzta 0:158c61bb030f 10336 case EXPR_VALUE:
mzta 0:158c61bb030f 10337 p->lineno++;
mzta 0:158c61bb030f 10338 p->column = 0;
mzta 0:158c61bb030f 10339 if (p->parsing_heredoc != NULL) {
mzta 0:158c61bb030f 10340 return parse_string(p);
mzta 0:158c61bb030f 10341 }
mzta 0:158c61bb030f 10342 goto retry;
mzta 0:158c61bb030f 10343 default:
mzta 0:158c61bb030f 10344 break;
mzta 0:158c61bb030f 10345 }
mzta 0:158c61bb030f 10346 if (p->parsing_heredoc != NULL) {
mzta 0:158c61bb030f 10347 return '\n';
mzta 0:158c61bb030f 10348 }
mzta 0:158c61bb030f 10349 while ((c = nextc(p))) {
mzta 0:158c61bb030f 10350 switch (c) {
mzta 0:158c61bb030f 10351 case ' ': case '\t': case '\f': case '\r':
mzta 0:158c61bb030f 10352 case '\13': /* '\v' */
mzta 0:158c61bb030f 10353 space_seen = 1;
mzta 0:158c61bb030f 10354 break;
mzta 0:158c61bb030f 10355 case '.':
mzta 0:158c61bb030f 10356 if ((c = nextc(p)) != '.') {
mzta 0:158c61bb030f 10357 pushback(p, c);
mzta 0:158c61bb030f 10358 pushback(p, '.');
mzta 0:158c61bb030f 10359 goto retry;
mzta 0:158c61bb030f 10360 }
mzta 0:158c61bb030f 10361 case -1: /* EOF */
mzta 0:158c61bb030f 10362 case -2: /* end of a file */
mzta 0:158c61bb030f 10363 goto normal_newline;
mzta 0:158c61bb030f 10364 default:
mzta 0:158c61bb030f 10365 pushback(p, c);
mzta 0:158c61bb030f 10366 goto normal_newline;
mzta 0:158c61bb030f 10367 }
mzta 0:158c61bb030f 10368 }
mzta 0:158c61bb030f 10369 normal_newline:
mzta 0:158c61bb030f 10370 p->cmd_start = TRUE;
mzta 0:158c61bb030f 10371 p->lstate = EXPR_BEG;
mzta 0:158c61bb030f 10372 return '\n';
mzta 0:158c61bb030f 10373
mzta 0:158c61bb030f 10374 case '*':
mzta 0:158c61bb030f 10375 if ((c = nextc(p)) == '*') {
mzta 0:158c61bb030f 10376 if ((c = nextc(p)) == '=') {
mzta 0:158c61bb030f 10377 yylval.id = intern("**",2);
mzta 0:158c61bb030f 10378 p->lstate = EXPR_BEG;
mzta 0:158c61bb030f 10379 return tOP_ASGN;
mzta 0:158c61bb030f 10380 }
mzta 0:158c61bb030f 10381 pushback(p, c);
mzta 0:158c61bb030f 10382 c = tPOW;
mzta 0:158c61bb030f 10383 }
mzta 0:158c61bb030f 10384 else {
mzta 0:158c61bb030f 10385 if (c == '=') {
mzta 0:158c61bb030f 10386 yylval.id = intern_c('*');
mzta 0:158c61bb030f 10387 p->lstate = EXPR_BEG;
mzta 0:158c61bb030f 10388 return tOP_ASGN;
mzta 0:158c61bb030f 10389 }
mzta 0:158c61bb030f 10390 pushback(p, c);
mzta 0:158c61bb030f 10391 if (IS_SPCARG(c)) {
mzta 0:158c61bb030f 10392 yywarning(p, "`*' interpreted as argument prefix");
mzta 0:158c61bb030f 10393 c = tSTAR;
mzta 0:158c61bb030f 10394 }
mzta 0:158c61bb030f 10395 else if (IS_BEG()) {
mzta 0:158c61bb030f 10396 c = tSTAR;
mzta 0:158c61bb030f 10397 }
mzta 0:158c61bb030f 10398 else {
mzta 0:158c61bb030f 10399 c = '*';
mzta 0:158c61bb030f 10400 }
mzta 0:158c61bb030f 10401 }
mzta 0:158c61bb030f 10402 if (p->lstate == EXPR_FNAME || p->lstate == EXPR_DOT) {
mzta 0:158c61bb030f 10403 p->lstate = EXPR_ARG;
mzta 0:158c61bb030f 10404 }
mzta 0:158c61bb030f 10405 else {
mzta 0:158c61bb030f 10406 p->lstate = EXPR_BEG;
mzta 0:158c61bb030f 10407 }
mzta 0:158c61bb030f 10408 return c;
mzta 0:158c61bb030f 10409
mzta 0:158c61bb030f 10410 case '!':
mzta 0:158c61bb030f 10411 c = nextc(p);
mzta 0:158c61bb030f 10412 if (p->lstate == EXPR_FNAME || p->lstate == EXPR_DOT) {
mzta 0:158c61bb030f 10413 p->lstate = EXPR_ARG;
mzta 0:158c61bb030f 10414 if (c == '@') {
mzta 0:158c61bb030f 10415 return '!';
mzta 0:158c61bb030f 10416 }
mzta 0:158c61bb030f 10417 }
mzta 0:158c61bb030f 10418 else {
mzta 0:158c61bb030f 10419 p->lstate = EXPR_BEG;
mzta 0:158c61bb030f 10420 }
mzta 0:158c61bb030f 10421 if (c == '=') {
mzta 0:158c61bb030f 10422 return tNEQ;
mzta 0:158c61bb030f 10423 }
mzta 0:158c61bb030f 10424 if (c == '~') {
mzta 0:158c61bb030f 10425 return tNMATCH;
mzta 0:158c61bb030f 10426 }
mzta 0:158c61bb030f 10427 pushback(p, c);
mzta 0:158c61bb030f 10428 return '!';
mzta 0:158c61bb030f 10429
mzta 0:158c61bb030f 10430 case '=':
mzta 0:158c61bb030f 10431 if (p->column == 1) {
mzta 0:158c61bb030f 10432 static const char begin[] = "begin";
mzta 0:158c61bb030f 10433 static const char end[] = "\n=end";
mzta 0:158c61bb030f 10434 if (peeks(p, begin)) {
mzta 0:158c61bb030f 10435 c = peekc_n(p, sizeof(begin)-1);
mzta 0:158c61bb030f 10436 if (c < 0 || ISSPACE(c)) {
mzta 0:158c61bb030f 10437 do {
mzta 0:158c61bb030f 10438 if (!skips(p, end)) {
mzta 0:158c61bb030f 10439 yyerror(p, "embedded document meets end of file");
mzta 0:158c61bb030f 10440 return 0;
mzta 0:158c61bb030f 10441 }
mzta 0:158c61bb030f 10442 c = nextc(p);
mzta 0:158c61bb030f 10443 } while (!(c < 0 || ISSPACE(c)));
mzta 0:158c61bb030f 10444 if (c != '\n') skip(p, '\n');
mzta 0:158c61bb030f 10445 p->lineno++;
mzta 0:158c61bb030f 10446 p->column = 0;
mzta 0:158c61bb030f 10447 goto retry;
mzta 0:158c61bb030f 10448 }
mzta 0:158c61bb030f 10449 }
mzta 0:158c61bb030f 10450 }
mzta 0:158c61bb030f 10451 if (p->lstate == EXPR_FNAME || p->lstate == EXPR_DOT) {
mzta 0:158c61bb030f 10452 p->lstate = EXPR_ARG;
mzta 0:158c61bb030f 10453 }
mzta 0:158c61bb030f 10454 else {
mzta 0:158c61bb030f 10455 p->lstate = EXPR_BEG;
mzta 0:158c61bb030f 10456 }
mzta 0:158c61bb030f 10457 if ((c = nextc(p)) == '=') {
mzta 0:158c61bb030f 10458 if ((c = nextc(p)) == '=') {
mzta 0:158c61bb030f 10459 return tEQQ;
mzta 0:158c61bb030f 10460 }
mzta 0:158c61bb030f 10461 pushback(p, c);
mzta 0:158c61bb030f 10462 return tEQ;
mzta 0:158c61bb030f 10463 }
mzta 0:158c61bb030f 10464 if (c == '~') {
mzta 0:158c61bb030f 10465 return tMATCH;
mzta 0:158c61bb030f 10466 }
mzta 0:158c61bb030f 10467 else if (c == '>') {
mzta 0:158c61bb030f 10468 return tASSOC;
mzta 0:158c61bb030f 10469 }
mzta 0:158c61bb030f 10470 pushback(p, c);
mzta 0:158c61bb030f 10471 return '=';
mzta 0:158c61bb030f 10472
mzta 0:158c61bb030f 10473 case '<':
mzta 0:158c61bb030f 10474 c = nextc(p);
mzta 0:158c61bb030f 10475 if (c == '<' &&
mzta 0:158c61bb030f 10476 p->lstate != EXPR_DOT &&
mzta 0:158c61bb030f 10477 p->lstate != EXPR_CLASS &&
mzta 0:158c61bb030f 10478 !IS_END() &&
mzta 0:158c61bb030f 10479 (!IS_ARG() || space_seen)) {
mzta 0:158c61bb030f 10480 int token = heredoc_identifier(p);
mzta 0:158c61bb030f 10481 if (token)
mzta 0:158c61bb030f 10482 return token;
mzta 0:158c61bb030f 10483 }
mzta 0:158c61bb030f 10484 if (p->lstate == EXPR_FNAME || p->lstate == EXPR_DOT) {
mzta 0:158c61bb030f 10485 p->lstate = EXPR_ARG;
mzta 0:158c61bb030f 10486 }
mzta 0:158c61bb030f 10487 else {
mzta 0:158c61bb030f 10488 p->lstate = EXPR_BEG;
mzta 0:158c61bb030f 10489 if (p->lstate == EXPR_CLASS) {
mzta 0:158c61bb030f 10490 p->cmd_start = TRUE;
mzta 0:158c61bb030f 10491 }
mzta 0:158c61bb030f 10492 }
mzta 0:158c61bb030f 10493 if (c == '=') {
mzta 0:158c61bb030f 10494 if ((c = nextc(p)) == '>') {
mzta 0:158c61bb030f 10495 return tCMP;
mzta 0:158c61bb030f 10496 }
mzta 0:158c61bb030f 10497 pushback(p, c);
mzta 0:158c61bb030f 10498 return tLEQ;
mzta 0:158c61bb030f 10499 }
mzta 0:158c61bb030f 10500 if (c == '<') {
mzta 0:158c61bb030f 10501 if ((c = nextc(p)) == '=') {
mzta 0:158c61bb030f 10502 yylval.id = intern("<<",2);
mzta 0:158c61bb030f 10503 p->lstate = EXPR_BEG;
mzta 0:158c61bb030f 10504 return tOP_ASGN;
mzta 0:158c61bb030f 10505 }
mzta 0:158c61bb030f 10506 pushback(p, c);
mzta 0:158c61bb030f 10507 return tLSHFT;
mzta 0:158c61bb030f 10508 }
mzta 0:158c61bb030f 10509 pushback(p, c);
mzta 0:158c61bb030f 10510 return '<';
mzta 0:158c61bb030f 10511
mzta 0:158c61bb030f 10512 case '>':
mzta 0:158c61bb030f 10513 if (p->lstate == EXPR_FNAME || p->lstate == EXPR_DOT) {
mzta 0:158c61bb030f 10514 p->lstate = EXPR_ARG;
mzta 0:158c61bb030f 10515 }
mzta 0:158c61bb030f 10516 else {
mzta 0:158c61bb030f 10517 p->lstate = EXPR_BEG;
mzta 0:158c61bb030f 10518 }
mzta 0:158c61bb030f 10519 if ((c = nextc(p)) == '=') {
mzta 0:158c61bb030f 10520 return tGEQ;
mzta 0:158c61bb030f 10521 }
mzta 0:158c61bb030f 10522 if (c == '>') {
mzta 0:158c61bb030f 10523 if ((c = nextc(p)) == '=') {
mzta 0:158c61bb030f 10524 yylval.id = intern(">>",2);
mzta 0:158c61bb030f 10525 p->lstate = EXPR_BEG;
mzta 0:158c61bb030f 10526 return tOP_ASGN;
mzta 0:158c61bb030f 10527 }
mzta 0:158c61bb030f 10528 pushback(p, c);
mzta 0:158c61bb030f 10529 return tRSHFT;
mzta 0:158c61bb030f 10530 }
mzta 0:158c61bb030f 10531 pushback(p, c);
mzta 0:158c61bb030f 10532 return '>';
mzta 0:158c61bb030f 10533
mzta 0:158c61bb030f 10534 case '"':
mzta 0:158c61bb030f 10535 p->lex_strterm = new_strterm(p, str_dquote, '"', 0);
mzta 0:158c61bb030f 10536 return tSTRING_BEG;
mzta 0:158c61bb030f 10537
mzta 0:158c61bb030f 10538 case '\'':
mzta 0:158c61bb030f 10539 p->lex_strterm = new_strterm(p, str_squote, '\'', 0);
mzta 0:158c61bb030f 10540 return parse_string(p);
mzta 0:158c61bb030f 10541
mzta 0:158c61bb030f 10542 case '`':
mzta 0:158c61bb030f 10543 if (p->lstate == EXPR_FNAME) {
mzta 0:158c61bb030f 10544 p->lstate = EXPR_ENDFN;
mzta 0:158c61bb030f 10545 return '`';
mzta 0:158c61bb030f 10546 }
mzta 0:158c61bb030f 10547 if (p->lstate == EXPR_DOT) {
mzta 0:158c61bb030f 10548 if (cmd_state)
mzta 0:158c61bb030f 10549 p->lstate = EXPR_CMDARG;
mzta 0:158c61bb030f 10550 else
mzta 0:158c61bb030f 10551 p->lstate = EXPR_ARG;
mzta 0:158c61bb030f 10552 return '`';
mzta 0:158c61bb030f 10553 }
mzta 0:158c61bb030f 10554 p->lex_strterm = new_strterm(p, str_xquote, '`', 0);
mzta 0:158c61bb030f 10555 return tXSTRING_BEG;
mzta 0:158c61bb030f 10556
mzta 0:158c61bb030f 10557 case '?':
mzta 0:158c61bb030f 10558 if (IS_END()) {
mzta 0:158c61bb030f 10559 p->lstate = EXPR_VALUE;
mzta 0:158c61bb030f 10560 return '?';
mzta 0:158c61bb030f 10561 }
mzta 0:158c61bb030f 10562 c = nextc(p);
mzta 0:158c61bb030f 10563 if (c < 0) {
mzta 0:158c61bb030f 10564 yyerror(p, "incomplete character syntax");
mzta 0:158c61bb030f 10565 return 0;
mzta 0:158c61bb030f 10566 }
mzta 0:158c61bb030f 10567 if (ISSPACE(c)) {
mzta 0:158c61bb030f 10568 if (!IS_ARG()) {
mzta 0:158c61bb030f 10569 int c2;
mzta 0:158c61bb030f 10570 switch (c) {
mzta 0:158c61bb030f 10571 case ' ':
mzta 0:158c61bb030f 10572 c2 = 's';
mzta 0:158c61bb030f 10573 break;
mzta 0:158c61bb030f 10574 case '\n':
mzta 0:158c61bb030f 10575 c2 = 'n';
mzta 0:158c61bb030f 10576 break;
mzta 0:158c61bb030f 10577 case '\t':
mzta 0:158c61bb030f 10578 c2 = 't';
mzta 0:158c61bb030f 10579 break;
mzta 0:158c61bb030f 10580 case '\v':
mzta 0:158c61bb030f 10581 c2 = 'v';
mzta 0:158c61bb030f 10582 break;
mzta 0:158c61bb030f 10583 case '\r':
mzta 0:158c61bb030f 10584 c2 = 'r';
mzta 0:158c61bb030f 10585 break;
mzta 0:158c61bb030f 10586 case '\f':
mzta 0:158c61bb030f 10587 c2 = 'f';
mzta 0:158c61bb030f 10588 break;
mzta 0:158c61bb030f 10589 default:
mzta 0:158c61bb030f 10590 c2 = 0;
mzta 0:158c61bb030f 10591 break;
mzta 0:158c61bb030f 10592 }
mzta 0:158c61bb030f 10593 if (c2) {
mzta 0:158c61bb030f 10594 char buf[256];
mzta 0:158c61bb030f 10595 snprintf(buf, sizeof(buf), "invalid character syntax; use ?\\%c", c2);
mzta 0:158c61bb030f 10596 yyerror(p, buf);
mzta 0:158c61bb030f 10597 }
mzta 0:158c61bb030f 10598 }
mzta 0:158c61bb030f 10599 ternary:
mzta 0:158c61bb030f 10600 pushback(p, c);
mzta 0:158c61bb030f 10601 p->lstate = EXPR_VALUE;
mzta 0:158c61bb030f 10602 return '?';
mzta 0:158c61bb030f 10603 }
mzta 0:158c61bb030f 10604 newtok(p);
mzta 0:158c61bb030f 10605 /* need support UTF-8 if configured */
mzta 0:158c61bb030f 10606 if ((isalnum(c) || c == '_')) {
mzta 0:158c61bb030f 10607 int c2 = nextc(p);
mzta 0:158c61bb030f 10608 pushback(p, c2);
mzta 0:158c61bb030f 10609 if ((isalnum(c2) || c2 == '_')) {
mzta 0:158c61bb030f 10610 goto ternary;
mzta 0:158c61bb030f 10611 }
mzta 0:158c61bb030f 10612 }
mzta 0:158c61bb030f 10613 if (c == '\\') {
mzta 0:158c61bb030f 10614 c = read_escape(p);
mzta 0:158c61bb030f 10615 tokadd(p, c);
mzta 0:158c61bb030f 10616 }
mzta 0:158c61bb030f 10617 else {
mzta 0:158c61bb030f 10618 tokadd(p, c);
mzta 0:158c61bb030f 10619 }
mzta 0:158c61bb030f 10620 tokfix(p);
mzta 0:158c61bb030f 10621 yylval.nd = new_str(p, tok(p), toklen(p));
mzta 0:158c61bb030f 10622 p->lstate = EXPR_END;
mzta 0:158c61bb030f 10623 return tCHAR;
mzta 0:158c61bb030f 10624
mzta 0:158c61bb030f 10625 case '&':
mzta 0:158c61bb030f 10626 if ((c = nextc(p)) == '&') {
mzta 0:158c61bb030f 10627 p->lstate = EXPR_BEG;
mzta 0:158c61bb030f 10628 if ((c = nextc(p)) == '=') {
mzta 0:158c61bb030f 10629 yylval.id = intern("&&",2);
mzta 0:158c61bb030f 10630 p->lstate = EXPR_BEG;
mzta 0:158c61bb030f 10631 return tOP_ASGN;
mzta 0:158c61bb030f 10632 }
mzta 0:158c61bb030f 10633 pushback(p, c);
mzta 0:158c61bb030f 10634 return tANDOP;
mzta 0:158c61bb030f 10635 }
mzta 0:158c61bb030f 10636 else if (c == '=') {
mzta 0:158c61bb030f 10637 yylval.id = intern_c('&');
mzta 0:158c61bb030f 10638 p->lstate = EXPR_BEG;
mzta 0:158c61bb030f 10639 return tOP_ASGN;
mzta 0:158c61bb030f 10640 }
mzta 0:158c61bb030f 10641 pushback(p, c);
mzta 0:158c61bb030f 10642 if (IS_SPCARG(c)) {
mzta 0:158c61bb030f 10643 yywarning(p, "`&' interpreted as argument prefix");
mzta 0:158c61bb030f 10644 c = tAMPER;
mzta 0:158c61bb030f 10645 }
mzta 0:158c61bb030f 10646 else if (IS_BEG()) {
mzta 0:158c61bb030f 10647 c = tAMPER;
mzta 0:158c61bb030f 10648 }
mzta 0:158c61bb030f 10649 else {
mzta 0:158c61bb030f 10650 c = '&';
mzta 0:158c61bb030f 10651 }
mzta 0:158c61bb030f 10652 if (p->lstate == EXPR_FNAME || p->lstate == EXPR_DOT) {
mzta 0:158c61bb030f 10653 p->lstate = EXPR_ARG;
mzta 0:158c61bb030f 10654 }
mzta 0:158c61bb030f 10655 else {
mzta 0:158c61bb030f 10656 p->lstate = EXPR_BEG;
mzta 0:158c61bb030f 10657 }
mzta 0:158c61bb030f 10658 return c;
mzta 0:158c61bb030f 10659
mzta 0:158c61bb030f 10660 case '|':
mzta 0:158c61bb030f 10661 if ((c = nextc(p)) == '|') {
mzta 0:158c61bb030f 10662 p->lstate = EXPR_BEG;
mzta 0:158c61bb030f 10663 if ((c = nextc(p)) == '=') {
mzta 0:158c61bb030f 10664 yylval.id = intern("||",2);
mzta 0:158c61bb030f 10665 p->lstate = EXPR_BEG;
mzta 0:158c61bb030f 10666 return tOP_ASGN;
mzta 0:158c61bb030f 10667 }
mzta 0:158c61bb030f 10668 pushback(p, c);
mzta 0:158c61bb030f 10669 return tOROP;
mzta 0:158c61bb030f 10670 }
mzta 0:158c61bb030f 10671 if (c == '=') {
mzta 0:158c61bb030f 10672 yylval.id = intern_c('|');
mzta 0:158c61bb030f 10673 p->lstate = EXPR_BEG;
mzta 0:158c61bb030f 10674 return tOP_ASGN;
mzta 0:158c61bb030f 10675 }
mzta 0:158c61bb030f 10676 if (p->lstate == EXPR_FNAME || p->lstate == EXPR_DOT) {
mzta 0:158c61bb030f 10677 p->lstate = EXPR_ARG;
mzta 0:158c61bb030f 10678 }
mzta 0:158c61bb030f 10679 else {
mzta 0:158c61bb030f 10680 p->lstate = EXPR_BEG;
mzta 0:158c61bb030f 10681 }
mzta 0:158c61bb030f 10682 pushback(p, c);
mzta 0:158c61bb030f 10683 return '|';
mzta 0:158c61bb030f 10684
mzta 0:158c61bb030f 10685 case '+':
mzta 0:158c61bb030f 10686 c = nextc(p);
mzta 0:158c61bb030f 10687 if (p->lstate == EXPR_FNAME || p->lstate == EXPR_DOT) {
mzta 0:158c61bb030f 10688 p->lstate = EXPR_ARG;
mzta 0:158c61bb030f 10689 if (c == '@') {
mzta 0:158c61bb030f 10690 return tUPLUS;
mzta 0:158c61bb030f 10691 }
mzta 0:158c61bb030f 10692 pushback(p, c);
mzta 0:158c61bb030f 10693 return '+';
mzta 0:158c61bb030f 10694 }
mzta 0:158c61bb030f 10695 if (c == '=') {
mzta 0:158c61bb030f 10696 yylval.id = intern_c('+');
mzta 0:158c61bb030f 10697 p->lstate = EXPR_BEG;
mzta 0:158c61bb030f 10698 return tOP_ASGN;
mzta 0:158c61bb030f 10699 }
mzta 0:158c61bb030f 10700 if (IS_BEG() || (IS_SPCARG(c) && arg_ambiguous(p))) {
mzta 0:158c61bb030f 10701 p->lstate = EXPR_BEG;
mzta 0:158c61bb030f 10702 pushback(p, c);
mzta 0:158c61bb030f 10703 if (c >= 0 && ISDIGIT(c)) {
mzta 0:158c61bb030f 10704 c = '+';
mzta 0:158c61bb030f 10705 goto start_num;
mzta 0:158c61bb030f 10706 }
mzta 0:158c61bb030f 10707 return tUPLUS;
mzta 0:158c61bb030f 10708 }
mzta 0:158c61bb030f 10709 p->lstate = EXPR_BEG;
mzta 0:158c61bb030f 10710 pushback(p, c);
mzta 0:158c61bb030f 10711 return '+';
mzta 0:158c61bb030f 10712
mzta 0:158c61bb030f 10713 case '-':
mzta 0:158c61bb030f 10714 c = nextc(p);
mzta 0:158c61bb030f 10715 if (p->lstate == EXPR_FNAME || p->lstate == EXPR_DOT) {
mzta 0:158c61bb030f 10716 p->lstate = EXPR_ARG;
mzta 0:158c61bb030f 10717 if (c == '@') {
mzta 0:158c61bb030f 10718 return tUMINUS;
mzta 0:158c61bb030f 10719 }
mzta 0:158c61bb030f 10720 pushback(p, c);
mzta 0:158c61bb030f 10721 return '-';
mzta 0:158c61bb030f 10722 }
mzta 0:158c61bb030f 10723 if (c == '=') {
mzta 0:158c61bb030f 10724 yylval.id = intern_c('-');
mzta 0:158c61bb030f 10725 p->lstate = EXPR_BEG;
mzta 0:158c61bb030f 10726 return tOP_ASGN;
mzta 0:158c61bb030f 10727 }
mzta 0:158c61bb030f 10728 if (c == '>') {
mzta 0:158c61bb030f 10729 p->lstate = EXPR_ENDFN;
mzta 0:158c61bb030f 10730 return tLAMBDA;
mzta 0:158c61bb030f 10731 }
mzta 0:158c61bb030f 10732 if (IS_BEG() || (IS_SPCARG(c) && arg_ambiguous(p))) {
mzta 0:158c61bb030f 10733 p->lstate = EXPR_BEG;
mzta 0:158c61bb030f 10734 pushback(p, c);
mzta 0:158c61bb030f 10735 if (c >= 0 && ISDIGIT(c)) {
mzta 0:158c61bb030f 10736 return tUMINUS_NUM;
mzta 0:158c61bb030f 10737 }
mzta 0:158c61bb030f 10738 return tUMINUS;
mzta 0:158c61bb030f 10739 }
mzta 0:158c61bb030f 10740 p->lstate = EXPR_BEG;
mzta 0:158c61bb030f 10741 pushback(p, c);
mzta 0:158c61bb030f 10742 return '-';
mzta 0:158c61bb030f 10743
mzta 0:158c61bb030f 10744 case '.':
mzta 0:158c61bb030f 10745 p->lstate = EXPR_BEG;
mzta 0:158c61bb030f 10746 if ((c = nextc(p)) == '.') {
mzta 0:158c61bb030f 10747 if ((c = nextc(p)) == '.') {
mzta 0:158c61bb030f 10748 return tDOT3;
mzta 0:158c61bb030f 10749 }
mzta 0:158c61bb030f 10750 pushback(p, c);
mzta 0:158c61bb030f 10751 return tDOT2;
mzta 0:158c61bb030f 10752 }
mzta 0:158c61bb030f 10753 pushback(p, c);
mzta 0:158c61bb030f 10754 if (c >= 0 && ISDIGIT(c)) {
mzta 0:158c61bb030f 10755 yyerror(p, "no .<digit> floating literal anymore; put 0 before dot");
mzta 0:158c61bb030f 10756 }
mzta 0:158c61bb030f 10757 p->lstate = EXPR_DOT;
mzta 0:158c61bb030f 10758 return '.';
mzta 0:158c61bb030f 10759
mzta 0:158c61bb030f 10760 start_num:
mzta 0:158c61bb030f 10761 case '0': case '1': case '2': case '3': case '4':
mzta 0:158c61bb030f 10762 case '5': case '6': case '7': case '8': case '9':
mzta 0:158c61bb030f 10763 {
mzta 0:158c61bb030f 10764 int is_float, seen_point, seen_e, nondigit;
mzta 0:158c61bb030f 10765
mzta 0:158c61bb030f 10766 is_float = seen_point = seen_e = nondigit = 0;
mzta 0:158c61bb030f 10767 p->lstate = EXPR_END;
mzta 0:158c61bb030f 10768 newtok(p);
mzta 0:158c61bb030f 10769 if (c == '-' || c == '+') {
mzta 0:158c61bb030f 10770 tokadd(p, c);
mzta 0:158c61bb030f 10771 c = nextc(p);
mzta 0:158c61bb030f 10772 }
mzta 0:158c61bb030f 10773 if (c == '0') {
mzta 0:158c61bb030f 10774 #define no_digits() do {yyerror(p,"numeric literal without digits"); return 0;} while (0)
mzta 0:158c61bb030f 10775 int start = toklen(p);
mzta 0:158c61bb030f 10776 c = nextc(p);
mzta 0:158c61bb030f 10777 if (c == 'x' || c == 'X') {
mzta 0:158c61bb030f 10778 /* hexadecimal */
mzta 0:158c61bb030f 10779 c = nextc(p);
mzta 0:158c61bb030f 10780 if (c >= 0 && ISXDIGIT(c)) {
mzta 0:158c61bb030f 10781 do {
mzta 0:158c61bb030f 10782 if (c == '_') {
mzta 0:158c61bb030f 10783 if (nondigit) break;
mzta 0:158c61bb030f 10784 nondigit = c;
mzta 0:158c61bb030f 10785 continue;
mzta 0:158c61bb030f 10786 }
mzta 0:158c61bb030f 10787 if (!ISXDIGIT(c)) break;
mzta 0:158c61bb030f 10788 nondigit = 0;
mzta 0:158c61bb030f 10789 tokadd(p, tolower(c));
mzta 0:158c61bb030f 10790 } while ((c = nextc(p)) >= 0);
mzta 0:158c61bb030f 10791 }
mzta 0:158c61bb030f 10792 pushback(p, c);
mzta 0:158c61bb030f 10793 tokfix(p);
mzta 0:158c61bb030f 10794 if (toklen(p) == start) {
mzta 0:158c61bb030f 10795 no_digits();
mzta 0:158c61bb030f 10796 }
mzta 0:158c61bb030f 10797 else if (nondigit) goto trailing_uc;
mzta 0:158c61bb030f 10798 yylval.nd = new_int(p, tok(p), 16);
mzta 0:158c61bb030f 10799 return tINTEGER;
mzta 0:158c61bb030f 10800 }
mzta 0:158c61bb030f 10801 if (c == 'b' || c == 'B') {
mzta 0:158c61bb030f 10802 /* binary */
mzta 0:158c61bb030f 10803 c = nextc(p);
mzta 0:158c61bb030f 10804 if (c == '0' || c == '1') {
mzta 0:158c61bb030f 10805 do {
mzta 0:158c61bb030f 10806 if (c == '_') {
mzta 0:158c61bb030f 10807 if (nondigit) break;
mzta 0:158c61bb030f 10808 nondigit = c;
mzta 0:158c61bb030f 10809 continue;
mzta 0:158c61bb030f 10810 }
mzta 0:158c61bb030f 10811 if (c != '0' && c != '1') break;
mzta 0:158c61bb030f 10812 nondigit = 0;
mzta 0:158c61bb030f 10813 tokadd(p, c);
mzta 0:158c61bb030f 10814 } while ((c = nextc(p)) >= 0);
mzta 0:158c61bb030f 10815 }
mzta 0:158c61bb030f 10816 pushback(p, c);
mzta 0:158c61bb030f 10817 tokfix(p);
mzta 0:158c61bb030f 10818 if (toklen(p) == start) {
mzta 0:158c61bb030f 10819 no_digits();
mzta 0:158c61bb030f 10820 }
mzta 0:158c61bb030f 10821 else if (nondigit) goto trailing_uc;
mzta 0:158c61bb030f 10822 yylval.nd = new_int(p, tok(p), 2);
mzta 0:158c61bb030f 10823 return tINTEGER;
mzta 0:158c61bb030f 10824 }
mzta 0:158c61bb030f 10825 if (c == 'd' || c == 'D') {
mzta 0:158c61bb030f 10826 /* decimal */
mzta 0:158c61bb030f 10827 c = nextc(p);
mzta 0:158c61bb030f 10828 if (c >= 0 && ISDIGIT(c)) {
mzta 0:158c61bb030f 10829 do {
mzta 0:158c61bb030f 10830 if (c == '_') {
mzta 0:158c61bb030f 10831 if (nondigit) break;
mzta 0:158c61bb030f 10832 nondigit = c;
mzta 0:158c61bb030f 10833 continue;
mzta 0:158c61bb030f 10834 }
mzta 0:158c61bb030f 10835 if (!ISDIGIT(c)) break;
mzta 0:158c61bb030f 10836 nondigit = 0;
mzta 0:158c61bb030f 10837 tokadd(p, c);
mzta 0:158c61bb030f 10838 } while ((c = nextc(p)) >= 0);
mzta 0:158c61bb030f 10839 }
mzta 0:158c61bb030f 10840 pushback(p, c);
mzta 0:158c61bb030f 10841 tokfix(p);
mzta 0:158c61bb030f 10842 if (toklen(p) == start) {
mzta 0:158c61bb030f 10843 no_digits();
mzta 0:158c61bb030f 10844 }
mzta 0:158c61bb030f 10845 else if (nondigit) goto trailing_uc;
mzta 0:158c61bb030f 10846 yylval.nd = new_int(p, tok(p), 10);
mzta 0:158c61bb030f 10847 return tINTEGER;
mzta 0:158c61bb030f 10848 }
mzta 0:158c61bb030f 10849 if (c == '_') {
mzta 0:158c61bb030f 10850 /* 0_0 */
mzta 0:158c61bb030f 10851 goto octal_number;
mzta 0:158c61bb030f 10852 }
mzta 0:158c61bb030f 10853 if (c == 'o' || c == 'O') {
mzta 0:158c61bb030f 10854 /* prefixed octal */
mzta 0:158c61bb030f 10855 c = nextc(p);
mzta 0:158c61bb030f 10856 if (c < 0 || c == '_' || !ISDIGIT(c)) {
mzta 0:158c61bb030f 10857 no_digits();
mzta 0:158c61bb030f 10858 }
mzta 0:158c61bb030f 10859 }
mzta 0:158c61bb030f 10860 if (c >= '0' && c <= '7') {
mzta 0:158c61bb030f 10861 /* octal */
mzta 0:158c61bb030f 10862 octal_number:
mzta 0:158c61bb030f 10863 do {
mzta 0:158c61bb030f 10864 if (c == '_') {
mzta 0:158c61bb030f 10865 if (nondigit) break;
mzta 0:158c61bb030f 10866 nondigit = c;
mzta 0:158c61bb030f 10867 continue;
mzta 0:158c61bb030f 10868 }
mzta 0:158c61bb030f 10869 if (c < '0' || c > '9') break;
mzta 0:158c61bb030f 10870 if (c > '7') goto invalid_octal;
mzta 0:158c61bb030f 10871 nondigit = 0;
mzta 0:158c61bb030f 10872 tokadd(p, c);
mzta 0:158c61bb030f 10873 } while ((c = nextc(p)) >= 0);
mzta 0:158c61bb030f 10874
mzta 0:158c61bb030f 10875 if (toklen(p) > start) {
mzta 0:158c61bb030f 10876 pushback(p, c);
mzta 0:158c61bb030f 10877 tokfix(p);
mzta 0:158c61bb030f 10878 if (nondigit) goto trailing_uc;
mzta 0:158c61bb030f 10879 yylval.nd = new_int(p, tok(p), 8);
mzta 0:158c61bb030f 10880 return tINTEGER;
mzta 0:158c61bb030f 10881 }
mzta 0:158c61bb030f 10882 if (nondigit) {
mzta 0:158c61bb030f 10883 pushback(p, c);
mzta 0:158c61bb030f 10884 goto trailing_uc;
mzta 0:158c61bb030f 10885 }
mzta 0:158c61bb030f 10886 }
mzta 0:158c61bb030f 10887 if (c > '7' && c <= '9') {
mzta 0:158c61bb030f 10888 invalid_octal:
mzta 0:158c61bb030f 10889 yyerror(p, "Invalid octal digit");
mzta 0:158c61bb030f 10890 }
mzta 0:158c61bb030f 10891 else if (c == '.' || c == 'e' || c == 'E') {
mzta 0:158c61bb030f 10892 tokadd(p, '0');
mzta 0:158c61bb030f 10893 }
mzta 0:158c61bb030f 10894 else {
mzta 0:158c61bb030f 10895 pushback(p, c);
mzta 0:158c61bb030f 10896 yylval.nd = new_int(p, "0", 10);
mzta 0:158c61bb030f 10897 return tINTEGER;
mzta 0:158c61bb030f 10898 }
mzta 0:158c61bb030f 10899 }
mzta 0:158c61bb030f 10900
mzta 0:158c61bb030f 10901 for (;;) {
mzta 0:158c61bb030f 10902 switch (c) {
mzta 0:158c61bb030f 10903 case '0': case '1': case '2': case '3': case '4':
mzta 0:158c61bb030f 10904 case '5': case '6': case '7': case '8': case '9':
mzta 0:158c61bb030f 10905 nondigit = 0;
mzta 0:158c61bb030f 10906 tokadd(p, c);
mzta 0:158c61bb030f 10907 break;
mzta 0:158c61bb030f 10908
mzta 0:158c61bb030f 10909 case '.':
mzta 0:158c61bb030f 10910 if (nondigit) goto trailing_uc;
mzta 0:158c61bb030f 10911 if (seen_point || seen_e) {
mzta 0:158c61bb030f 10912 goto decode_num;
mzta 0:158c61bb030f 10913 }
mzta 0:158c61bb030f 10914 else {
mzta 0:158c61bb030f 10915 int c0 = nextc(p);
mzta 0:158c61bb030f 10916 if (c0 < 0 || !ISDIGIT(c0)) {
mzta 0:158c61bb030f 10917 pushback(p, c0);
mzta 0:158c61bb030f 10918 goto decode_num;
mzta 0:158c61bb030f 10919 }
mzta 0:158c61bb030f 10920 c = c0;
mzta 0:158c61bb030f 10921 }
mzta 0:158c61bb030f 10922 tokadd(p, '.');
mzta 0:158c61bb030f 10923 tokadd(p, c);
mzta 0:158c61bb030f 10924 is_float++;
mzta 0:158c61bb030f 10925 seen_point++;
mzta 0:158c61bb030f 10926 nondigit = 0;
mzta 0:158c61bb030f 10927 break;
mzta 0:158c61bb030f 10928
mzta 0:158c61bb030f 10929 case 'e':
mzta 0:158c61bb030f 10930 case 'E':
mzta 0:158c61bb030f 10931 if (nondigit) {
mzta 0:158c61bb030f 10932 pushback(p, c);
mzta 0:158c61bb030f 10933 c = nondigit;
mzta 0:158c61bb030f 10934 goto decode_num;
mzta 0:158c61bb030f 10935 }
mzta 0:158c61bb030f 10936 if (seen_e) {
mzta 0:158c61bb030f 10937 goto decode_num;
mzta 0:158c61bb030f 10938 }
mzta 0:158c61bb030f 10939 tokadd(p, c);
mzta 0:158c61bb030f 10940 seen_e++;
mzta 0:158c61bb030f 10941 is_float++;
mzta 0:158c61bb030f 10942 nondigit = c;
mzta 0:158c61bb030f 10943 c = nextc(p);
mzta 0:158c61bb030f 10944 if (c != '-' && c != '+') continue;
mzta 0:158c61bb030f 10945 tokadd(p, c);
mzta 0:158c61bb030f 10946 nondigit = c;
mzta 0:158c61bb030f 10947 break;
mzta 0:158c61bb030f 10948
mzta 0:158c61bb030f 10949 case '_': /* `_' in number just ignored */
mzta 0:158c61bb030f 10950 if (nondigit) goto decode_num;
mzta 0:158c61bb030f 10951 nondigit = c;
mzta 0:158c61bb030f 10952 break;
mzta 0:158c61bb030f 10953
mzta 0:158c61bb030f 10954 default:
mzta 0:158c61bb030f 10955 goto decode_num;
mzta 0:158c61bb030f 10956 }
mzta 0:158c61bb030f 10957 c = nextc(p);
mzta 0:158c61bb030f 10958 }
mzta 0:158c61bb030f 10959
mzta 0:158c61bb030f 10960 decode_num:
mzta 0:158c61bb030f 10961 pushback(p, c);
mzta 0:158c61bb030f 10962 if (nondigit) {
mzta 0:158c61bb030f 10963 trailing_uc:
mzta 0:158c61bb030f 10964 yyerror_i(p, "trailing `%c' in number", nondigit);
mzta 0:158c61bb030f 10965 }
mzta 0:158c61bb030f 10966 tokfix(p);
mzta 0:158c61bb030f 10967 if (is_float) {
mzta 0:158c61bb030f 10968 double d;
mzta 0:158c61bb030f 10969 char *endp;
mzta 0:158c61bb030f 10970
mzta 0:158c61bb030f 10971 errno = 0;
mzta 0:158c61bb030f 10972 d = strtod(tok(p), &endp);
mzta 0:158c61bb030f 10973 if (d == 0 && endp == tok(p)) {
mzta 0:158c61bb030f 10974 yywarning_s(p, "corrupted float value %s", tok(p));
mzta 0:158c61bb030f 10975 }
mzta 0:158c61bb030f 10976 else if (errno == ERANGE) {
mzta 0:158c61bb030f 10977 yywarning_s(p, "float %s out of range", tok(p));
mzta 0:158c61bb030f 10978 errno = 0;
mzta 0:158c61bb030f 10979 }
mzta 0:158c61bb030f 10980 yylval.nd = new_float(p, tok(p));
mzta 0:158c61bb030f 10981 return tFLOAT;
mzta 0:158c61bb030f 10982 }
mzta 0:158c61bb030f 10983 yylval.nd = new_int(p, tok(p), 10);
mzta 0:158c61bb030f 10984 return tINTEGER;
mzta 0:158c61bb030f 10985 }
mzta 0:158c61bb030f 10986
mzta 0:158c61bb030f 10987 case ')':
mzta 0:158c61bb030f 10988 case ']':
mzta 0:158c61bb030f 10989 p->paren_nest--;
mzta 0:158c61bb030f 10990 case '}':
mzta 0:158c61bb030f 10991 COND_LEXPOP();
mzta 0:158c61bb030f 10992 CMDARG_LEXPOP();
mzta 0:158c61bb030f 10993 if (c == ')')
mzta 0:158c61bb030f 10994 p->lstate = EXPR_ENDFN;
mzta 0:158c61bb030f 10995 else
mzta 0:158c61bb030f 10996 p->lstate = EXPR_ENDARG;
mzta 0:158c61bb030f 10997 return c;
mzta 0:158c61bb030f 10998
mzta 0:158c61bb030f 10999 case ':':
mzta 0:158c61bb030f 11000 c = nextc(p);
mzta 0:158c61bb030f 11001 if (c == ':') {
mzta 0:158c61bb030f 11002 if (IS_BEG() || p->lstate == EXPR_CLASS || IS_SPCARG(-1)) {
mzta 0:158c61bb030f 11003 p->lstate = EXPR_BEG;
mzta 0:158c61bb030f 11004 return tCOLON3;
mzta 0:158c61bb030f 11005 }
mzta 0:158c61bb030f 11006 p->lstate = EXPR_DOT;
mzta 0:158c61bb030f 11007 return tCOLON2;
mzta 0:158c61bb030f 11008 }
mzta 0:158c61bb030f 11009 if (IS_END() || ISSPACE(c)) {
mzta 0:158c61bb030f 11010 pushback(p, c);
mzta 0:158c61bb030f 11011 p->lstate = EXPR_BEG;
mzta 0:158c61bb030f 11012 return ':';
mzta 0:158c61bb030f 11013 }
mzta 0:158c61bb030f 11014 pushback(p, c);
mzta 0:158c61bb030f 11015 p->lstate = EXPR_FNAME;
mzta 0:158c61bb030f 11016 return tSYMBEG;
mzta 0:158c61bb030f 11017
mzta 0:158c61bb030f 11018 case '/':
mzta 0:158c61bb030f 11019 if (IS_BEG()) {
mzta 0:158c61bb030f 11020 p->lex_strterm = new_strterm(p, str_regexp, '/', 0);
mzta 0:158c61bb030f 11021 return tREGEXP_BEG;
mzta 0:158c61bb030f 11022 }
mzta 0:158c61bb030f 11023 if ((c = nextc(p)) == '=') {
mzta 0:158c61bb030f 11024 yylval.id = intern_c('/');
mzta 0:158c61bb030f 11025 p->lstate = EXPR_BEG;
mzta 0:158c61bb030f 11026 return tOP_ASGN;
mzta 0:158c61bb030f 11027 }
mzta 0:158c61bb030f 11028 pushback(p, c);
mzta 0:158c61bb030f 11029 if (IS_SPCARG(c)) {
mzta 0:158c61bb030f 11030 p->lex_strterm = new_strterm(p, str_regexp, '/', 0);
mzta 0:158c61bb030f 11031 return tREGEXP_BEG;
mzta 0:158c61bb030f 11032 }
mzta 0:158c61bb030f 11033 if (p->lstate == EXPR_FNAME || p->lstate == EXPR_DOT) {
mzta 0:158c61bb030f 11034 p->lstate = EXPR_ARG;
mzta 0:158c61bb030f 11035 }
mzta 0:158c61bb030f 11036 else {
mzta 0:158c61bb030f 11037 p->lstate = EXPR_BEG;
mzta 0:158c61bb030f 11038 }
mzta 0:158c61bb030f 11039 return '/';
mzta 0:158c61bb030f 11040
mzta 0:158c61bb030f 11041 case '^':
mzta 0:158c61bb030f 11042 if ((c = nextc(p)) == '=') {
mzta 0:158c61bb030f 11043 yylval.id = intern_c('^');
mzta 0:158c61bb030f 11044 p->lstate = EXPR_BEG;
mzta 0:158c61bb030f 11045 return tOP_ASGN;
mzta 0:158c61bb030f 11046 }
mzta 0:158c61bb030f 11047 if (p->lstate == EXPR_FNAME || p->lstate == EXPR_DOT) {
mzta 0:158c61bb030f 11048 p->lstate = EXPR_ARG;
mzta 0:158c61bb030f 11049 }
mzta 0:158c61bb030f 11050 else {
mzta 0:158c61bb030f 11051 p->lstate = EXPR_BEG;
mzta 0:158c61bb030f 11052 }
mzta 0:158c61bb030f 11053 pushback(p, c);
mzta 0:158c61bb030f 11054 return '^';
mzta 0:158c61bb030f 11055
mzta 0:158c61bb030f 11056 case ';':
mzta 0:158c61bb030f 11057 p->lstate = EXPR_BEG;
mzta 0:158c61bb030f 11058 return ';';
mzta 0:158c61bb030f 11059
mzta 0:158c61bb030f 11060 case ',':
mzta 0:158c61bb030f 11061 p->lstate = EXPR_BEG;
mzta 0:158c61bb030f 11062 return ',';
mzta 0:158c61bb030f 11063
mzta 0:158c61bb030f 11064 case '~':
mzta 0:158c61bb030f 11065 if (p->lstate == EXPR_FNAME || p->lstate == EXPR_DOT) {
mzta 0:158c61bb030f 11066 if ((c = nextc(p)) != '@') {
mzta 0:158c61bb030f 11067 pushback(p, c);
mzta 0:158c61bb030f 11068 }
mzta 0:158c61bb030f 11069 p->lstate = EXPR_ARG;
mzta 0:158c61bb030f 11070 }
mzta 0:158c61bb030f 11071 else {
mzta 0:158c61bb030f 11072 p->lstate = EXPR_BEG;
mzta 0:158c61bb030f 11073 }
mzta 0:158c61bb030f 11074 return '~';
mzta 0:158c61bb030f 11075
mzta 0:158c61bb030f 11076 case '(':
mzta 0:158c61bb030f 11077 if (IS_BEG()) {
mzta 0:158c61bb030f 11078 c = tLPAREN;
mzta 0:158c61bb030f 11079 }
mzta 0:158c61bb030f 11080 else if (IS_SPCARG(-1)) {
mzta 0:158c61bb030f 11081 c = tLPAREN_ARG;
mzta 0:158c61bb030f 11082 }
mzta 0:158c61bb030f 11083 p->paren_nest++;
mzta 0:158c61bb030f 11084 COND_PUSH(0);
mzta 0:158c61bb030f 11085 CMDARG_PUSH(0);
mzta 0:158c61bb030f 11086 p->lstate = EXPR_BEG;
mzta 0:158c61bb030f 11087 return c;
mzta 0:158c61bb030f 11088
mzta 0:158c61bb030f 11089 case '[':
mzta 0:158c61bb030f 11090 p->paren_nest++;
mzta 0:158c61bb030f 11091 if (p->lstate == EXPR_FNAME || p->lstate == EXPR_DOT) {
mzta 0:158c61bb030f 11092 p->lstate = EXPR_ARG;
mzta 0:158c61bb030f 11093 if ((c = nextc(p)) == ']') {
mzta 0:158c61bb030f 11094 if ((c = nextc(p)) == '=') {
mzta 0:158c61bb030f 11095 return tASET;
mzta 0:158c61bb030f 11096 }
mzta 0:158c61bb030f 11097 pushback(p, c);
mzta 0:158c61bb030f 11098 return tAREF;
mzta 0:158c61bb030f 11099 }
mzta 0:158c61bb030f 11100 pushback(p, c);
mzta 0:158c61bb030f 11101 return '[';
mzta 0:158c61bb030f 11102 }
mzta 0:158c61bb030f 11103 else if (IS_BEG()) {
mzta 0:158c61bb030f 11104 c = tLBRACK;
mzta 0:158c61bb030f 11105 }
mzta 0:158c61bb030f 11106 else if (IS_ARG() && space_seen) {
mzta 0:158c61bb030f 11107 c = tLBRACK;
mzta 0:158c61bb030f 11108 }
mzta 0:158c61bb030f 11109 p->lstate = EXPR_BEG;
mzta 0:158c61bb030f 11110 COND_PUSH(0);
mzta 0:158c61bb030f 11111 CMDARG_PUSH(0);
mzta 0:158c61bb030f 11112 return c;
mzta 0:158c61bb030f 11113
mzta 0:158c61bb030f 11114 case '{':
mzta 0:158c61bb030f 11115 if (p->lpar_beg && p->lpar_beg == p->paren_nest) {
mzta 0:158c61bb030f 11116 p->lstate = EXPR_BEG;
mzta 0:158c61bb030f 11117 p->lpar_beg = 0;
mzta 0:158c61bb030f 11118 p->paren_nest--;
mzta 0:158c61bb030f 11119 COND_PUSH(0);
mzta 0:158c61bb030f 11120 CMDARG_PUSH(0);
mzta 0:158c61bb030f 11121 return tLAMBEG;
mzta 0:158c61bb030f 11122 }
mzta 0:158c61bb030f 11123 if (IS_ARG() || p->lstate == EXPR_END || p->lstate == EXPR_ENDFN)
mzta 0:158c61bb030f 11124 c = '{'; /* block (primary) */
mzta 0:158c61bb030f 11125 else if (p->lstate == EXPR_ENDARG)
mzta 0:158c61bb030f 11126 c = tLBRACE_ARG; /* block (expr) */
mzta 0:158c61bb030f 11127 else
mzta 0:158c61bb030f 11128 c = tLBRACE; /* hash */
mzta 0:158c61bb030f 11129 COND_PUSH(0);
mzta 0:158c61bb030f 11130 CMDARG_PUSH(0);
mzta 0:158c61bb030f 11131 p->lstate = EXPR_BEG;
mzta 0:158c61bb030f 11132 return c;
mzta 0:158c61bb030f 11133
mzta 0:158c61bb030f 11134 case '\\':
mzta 0:158c61bb030f 11135 c = nextc(p);
mzta 0:158c61bb030f 11136 if (c == '\n') {
mzta 0:158c61bb030f 11137 p->lineno++;
mzta 0:158c61bb030f 11138 p->column = 0;
mzta 0:158c61bb030f 11139 space_seen = 1;
mzta 0:158c61bb030f 11140 goto retry; /* skip \\n */
mzta 0:158c61bb030f 11141 }
mzta 0:158c61bb030f 11142 pushback(p, c);
mzta 0:158c61bb030f 11143 return '\\';
mzta 0:158c61bb030f 11144
mzta 0:158c61bb030f 11145 case '%':
mzta 0:158c61bb030f 11146 if (IS_BEG()) {
mzta 0:158c61bb030f 11147 int term;
mzta 0:158c61bb030f 11148 int paren;
mzta 0:158c61bb030f 11149
mzta 0:158c61bb030f 11150 c = nextc(p);
mzta 0:158c61bb030f 11151 quotation:
mzta 0:158c61bb030f 11152 if (c < 0 || !ISALNUM(c)) {
mzta 0:158c61bb030f 11153 term = c;
mzta 0:158c61bb030f 11154 c = 'Q';
mzta 0:158c61bb030f 11155 }
mzta 0:158c61bb030f 11156 else {
mzta 0:158c61bb030f 11157 term = nextc(p);
mzta 0:158c61bb030f 11158 if (isalnum(term)) {
mzta 0:158c61bb030f 11159 yyerror(p, "unknown type of %string");
mzta 0:158c61bb030f 11160 return 0;
mzta 0:158c61bb030f 11161 }
mzta 0:158c61bb030f 11162 }
mzta 0:158c61bb030f 11163 if (c < 0 || term < 0) {
mzta 0:158c61bb030f 11164 yyerror(p, "unterminated quoted string meets end of file");
mzta 0:158c61bb030f 11165 return 0;
mzta 0:158c61bb030f 11166 }
mzta 0:158c61bb030f 11167 paren = term;
mzta 0:158c61bb030f 11168 if (term == '(') term = ')';
mzta 0:158c61bb030f 11169 else if (term == '[') term = ']';
mzta 0:158c61bb030f 11170 else if (term == '{') term = '}';
mzta 0:158c61bb030f 11171 else if (term == '<') term = '>';
mzta 0:158c61bb030f 11172 else paren = 0;
mzta 0:158c61bb030f 11173
mzta 0:158c61bb030f 11174 switch (c) {
mzta 0:158c61bb030f 11175 case 'Q':
mzta 0:158c61bb030f 11176 p->lex_strterm = new_strterm(p, str_dquote, term, paren);
mzta 0:158c61bb030f 11177 return tSTRING_BEG;
mzta 0:158c61bb030f 11178
mzta 0:158c61bb030f 11179 case 'q':
mzta 0:158c61bb030f 11180 p->lex_strterm = new_strterm(p, str_squote, term, paren);
mzta 0:158c61bb030f 11181 return parse_string(p);
mzta 0:158c61bb030f 11182
mzta 0:158c61bb030f 11183 case 'W':
mzta 0:158c61bb030f 11184 p->lex_strterm = new_strterm(p, str_dword, term, paren);
mzta 0:158c61bb030f 11185 return tWORDS_BEG;
mzta 0:158c61bb030f 11186
mzta 0:158c61bb030f 11187 case 'w':
mzta 0:158c61bb030f 11188 p->lex_strterm = new_strterm(p, str_sword, term, paren);
mzta 0:158c61bb030f 11189 return tWORDS_BEG;
mzta 0:158c61bb030f 11190
mzta 0:158c61bb030f 11191 case 'x':
mzta 0:158c61bb030f 11192 p->lex_strterm = new_strterm(p, str_xquote, term, paren);
mzta 0:158c61bb030f 11193 return tXSTRING_BEG;
mzta 0:158c61bb030f 11194
mzta 0:158c61bb030f 11195 case 'r':
mzta 0:158c61bb030f 11196 p->lex_strterm = new_strterm(p, str_regexp, term, paren);
mzta 0:158c61bb030f 11197 return tREGEXP_BEG;
mzta 0:158c61bb030f 11198
mzta 0:158c61bb030f 11199 case 's':
mzta 0:158c61bb030f 11200 p->lex_strterm = new_strterm(p, str_ssym, term, paren);
mzta 0:158c61bb030f 11201 return tSYMBEG;
mzta 0:158c61bb030f 11202
mzta 0:158c61bb030f 11203 case 'I':
mzta 0:158c61bb030f 11204 p->lex_strterm = new_strterm(p, str_dsymbols, term, paren);
mzta 0:158c61bb030f 11205 return tSYMBOLS_BEG;
mzta 0:158c61bb030f 11206
mzta 0:158c61bb030f 11207 case 'i':
mzta 0:158c61bb030f 11208 p->lex_strterm = new_strterm(p, str_ssymbols, term, paren);
mzta 0:158c61bb030f 11209 return tSYMBOLS_BEG;
mzta 0:158c61bb030f 11210
mzta 0:158c61bb030f 11211 default:
mzta 0:158c61bb030f 11212 yyerror(p, "unknown type of %string");
mzta 0:158c61bb030f 11213 return 0;
mzta 0:158c61bb030f 11214 }
mzta 0:158c61bb030f 11215 }
mzta 0:158c61bb030f 11216 if ((c = nextc(p)) == '=') {
mzta 0:158c61bb030f 11217 yylval.id = intern_c('%');
mzta 0:158c61bb030f 11218 p->lstate = EXPR_BEG;
mzta 0:158c61bb030f 11219 return tOP_ASGN;
mzta 0:158c61bb030f 11220 }
mzta 0:158c61bb030f 11221 if (IS_SPCARG(c)) {
mzta 0:158c61bb030f 11222 goto quotation;
mzta 0:158c61bb030f 11223 }
mzta 0:158c61bb030f 11224 if (p->lstate == EXPR_FNAME || p->lstate == EXPR_DOT) {
mzta 0:158c61bb030f 11225 p->lstate = EXPR_ARG;
mzta 0:158c61bb030f 11226 }
mzta 0:158c61bb030f 11227 else {
mzta 0:158c61bb030f 11228 p->lstate = EXPR_BEG;
mzta 0:158c61bb030f 11229 }
mzta 0:158c61bb030f 11230 pushback(p, c);
mzta 0:158c61bb030f 11231 return '%';
mzta 0:158c61bb030f 11232
mzta 0:158c61bb030f 11233 case '$':
mzta 0:158c61bb030f 11234 p->lstate = EXPR_END;
mzta 0:158c61bb030f 11235 token_column = newtok(p);
mzta 0:158c61bb030f 11236 c = nextc(p);
mzta 0:158c61bb030f 11237 if (c < 0) {
mzta 0:158c61bb030f 11238 yyerror(p, "incomplete global variable syntax");
mzta 0:158c61bb030f 11239 return 0;
mzta 0:158c61bb030f 11240 }
mzta 0:158c61bb030f 11241 switch (c) {
mzta 0:158c61bb030f 11242 case '_': /* $_: last read line string */
mzta 0:158c61bb030f 11243 c = nextc(p);
mzta 0:158c61bb030f 11244 if (c >= 0 && identchar(c)) { /* if there is more after _ it is a variable */
mzta 0:158c61bb030f 11245 tokadd(p, '$');
mzta 0:158c61bb030f 11246 tokadd(p, c);
mzta 0:158c61bb030f 11247 break;
mzta 0:158c61bb030f 11248 }
mzta 0:158c61bb030f 11249 pushback(p, c);
mzta 0:158c61bb030f 11250 c = '_';
mzta 0:158c61bb030f 11251 /* fall through */
mzta 0:158c61bb030f 11252 case '~': /* $~: match-data */
mzta 0:158c61bb030f 11253 case '*': /* $*: argv */
mzta 0:158c61bb030f 11254 case '$': /* $$: pid */
mzta 0:158c61bb030f 11255 case '?': /* $?: last status */
mzta 0:158c61bb030f 11256 case '!': /* $!: error string */
mzta 0:158c61bb030f 11257 case '@': /* $@: error position */
mzta 0:158c61bb030f 11258 case '/': /* $/: input record separator */
mzta 0:158c61bb030f 11259 case '\\': /* $\: output record separator */
mzta 0:158c61bb030f 11260 case ';': /* $;: field separator */
mzta 0:158c61bb030f 11261 case ',': /* $,: output field separator */
mzta 0:158c61bb030f 11262 case '.': /* $.: last read line number */
mzta 0:158c61bb030f 11263 case '=': /* $=: ignorecase */
mzta 0:158c61bb030f 11264 case ':': /* $:: load path */
mzta 0:158c61bb030f 11265 case '<': /* $<: reading filename */
mzta 0:158c61bb030f 11266 case '>': /* $>: default output handle */
mzta 0:158c61bb030f 11267 case '\"': /* $": already loaded files */
mzta 0:158c61bb030f 11268 tokadd(p, '$');
mzta 0:158c61bb030f 11269 tokadd(p, c);
mzta 0:158c61bb030f 11270 tokfix(p);
mzta 0:158c61bb030f 11271 yylval.id = intern_cstr(tok(p));
mzta 0:158c61bb030f 11272 return tGVAR;
mzta 0:158c61bb030f 11273
mzta 0:158c61bb030f 11274 case '-':
mzta 0:158c61bb030f 11275 tokadd(p, '$');
mzta 0:158c61bb030f 11276 tokadd(p, c);
mzta 0:158c61bb030f 11277 c = nextc(p);
mzta 0:158c61bb030f 11278 pushback(p, c);
mzta 0:158c61bb030f 11279 gvar:
mzta 0:158c61bb030f 11280 tokfix(p);
mzta 0:158c61bb030f 11281 yylval.id = intern_cstr(tok(p));
mzta 0:158c61bb030f 11282 return tGVAR;
mzta 0:158c61bb030f 11283
mzta 0:158c61bb030f 11284 case '&': /* $&: last match */
mzta 0:158c61bb030f 11285 case '`': /* $`: string before last match */
mzta 0:158c61bb030f 11286 case '\'': /* $': string after last match */
mzta 0:158c61bb030f 11287 case '+': /* $+: string matches last pattern */
mzta 0:158c61bb030f 11288 if (last_state == EXPR_FNAME) {
mzta 0:158c61bb030f 11289 tokadd(p, '$');
mzta 0:158c61bb030f 11290 tokadd(p, c);
mzta 0:158c61bb030f 11291 goto gvar;
mzta 0:158c61bb030f 11292 }
mzta 0:158c61bb030f 11293 yylval.nd = new_back_ref(p, c);
mzta 0:158c61bb030f 11294 return tBACK_REF;
mzta 0:158c61bb030f 11295
mzta 0:158c61bb030f 11296 case '1': case '2': case '3':
mzta 0:158c61bb030f 11297 case '4': case '5': case '6':
mzta 0:158c61bb030f 11298 case '7': case '8': case '9':
mzta 0:158c61bb030f 11299 do {
mzta 0:158c61bb030f 11300 tokadd(p, c);
mzta 0:158c61bb030f 11301 c = nextc(p);
mzta 0:158c61bb030f 11302 } while (c >= 0 && isdigit(c));
mzta 0:158c61bb030f 11303 pushback(p, c);
mzta 0:158c61bb030f 11304 if (last_state == EXPR_FNAME) goto gvar;
mzta 0:158c61bb030f 11305 tokfix(p);
mzta 0:158c61bb030f 11306 yylval.nd = new_nth_ref(p, atoi(tok(p)));
mzta 0:158c61bb030f 11307 return tNTH_REF;
mzta 0:158c61bb030f 11308
mzta 0:158c61bb030f 11309 default:
mzta 0:158c61bb030f 11310 if (!identchar(c)) {
mzta 0:158c61bb030f 11311 pushback(p, c);
mzta 0:158c61bb030f 11312 return '$';
mzta 0:158c61bb030f 11313 }
mzta 0:158c61bb030f 11314 case '0':
mzta 0:158c61bb030f 11315 tokadd(p, '$');
mzta 0:158c61bb030f 11316 }
mzta 0:158c61bb030f 11317 break;
mzta 0:158c61bb030f 11318
mzta 0:158c61bb030f 11319 case '@':
mzta 0:158c61bb030f 11320 c = nextc(p);
mzta 0:158c61bb030f 11321 token_column = newtok(p);
mzta 0:158c61bb030f 11322 tokadd(p, '@');
mzta 0:158c61bb030f 11323 if (c == '@') {
mzta 0:158c61bb030f 11324 tokadd(p, '@');
mzta 0:158c61bb030f 11325 c = nextc(p);
mzta 0:158c61bb030f 11326 }
mzta 0:158c61bb030f 11327 if (c < 0) {
mzta 0:158c61bb030f 11328 if (p->bidx == 1) {
mzta 0:158c61bb030f 11329 yyerror(p, "incomplete instance variable syntax");
mzta 0:158c61bb030f 11330 }
mzta 0:158c61bb030f 11331 else {
mzta 0:158c61bb030f 11332 yyerror(p, "incomplete class variable syntax");
mzta 0:158c61bb030f 11333 }
mzta 0:158c61bb030f 11334 return 0;
mzta 0:158c61bb030f 11335 }
mzta 0:158c61bb030f 11336 else if (isdigit(c)) {
mzta 0:158c61bb030f 11337 if (p->bidx == 1) {
mzta 0:158c61bb030f 11338 yyerror_i(p, "`@%c' is not allowed as an instance variable name", c);
mzta 0:158c61bb030f 11339 }
mzta 0:158c61bb030f 11340 else {
mzta 0:158c61bb030f 11341 yyerror_i(p, "`@@%c' is not allowed as a class variable name", c);
mzta 0:158c61bb030f 11342 }
mzta 0:158c61bb030f 11343 return 0;
mzta 0:158c61bb030f 11344 }
mzta 0:158c61bb030f 11345 if (!identchar(c)) {
mzta 0:158c61bb030f 11346 pushback(p, c);
mzta 0:158c61bb030f 11347 return '@';
mzta 0:158c61bb030f 11348 }
mzta 0:158c61bb030f 11349 break;
mzta 0:158c61bb030f 11350
mzta 0:158c61bb030f 11351 case '_':
mzta 0:158c61bb030f 11352 token_column = newtok(p);
mzta 0:158c61bb030f 11353 break;
mzta 0:158c61bb030f 11354
mzta 0:158c61bb030f 11355 default:
mzta 0:158c61bb030f 11356 if (!identchar(c)) {
mzta 0:158c61bb030f 11357 yyerror_i(p, "Invalid char `\\x%02X' in expression", c);
mzta 0:158c61bb030f 11358 goto retry;
mzta 0:158c61bb030f 11359 }
mzta 0:158c61bb030f 11360
mzta 0:158c61bb030f 11361 token_column = newtok(p);
mzta 0:158c61bb030f 11362 break;
mzta 0:158c61bb030f 11363 }
mzta 0:158c61bb030f 11364
mzta 0:158c61bb030f 11365 do {
mzta 0:158c61bb030f 11366 tokadd(p, c);
mzta 0:158c61bb030f 11367 c = nextc(p);
mzta 0:158c61bb030f 11368 if (c < 0) break;
mzta 0:158c61bb030f 11369 } while (identchar(c));
mzta 0:158c61bb030f 11370 if (token_column == 0 && toklen(p) == 7 && (c < 0 || c == '\n') &&
mzta 0:158c61bb030f 11371 strncmp(tok(p), "__END__", toklen(p)) == 0)
mzta 0:158c61bb030f 11372 return -1;
mzta 0:158c61bb030f 11373
mzta 0:158c61bb030f 11374 switch (tok(p)[0]) {
mzta 0:158c61bb030f 11375 case '@': case '$':
mzta 0:158c61bb030f 11376 pushback(p, c);
mzta 0:158c61bb030f 11377 break;
mzta 0:158c61bb030f 11378 default:
mzta 0:158c61bb030f 11379 if ((c == '!' || c == '?') && !peek(p, '=')) {
mzta 0:158c61bb030f 11380 tokadd(p, c);
mzta 0:158c61bb030f 11381 }
mzta 0:158c61bb030f 11382 else {
mzta 0:158c61bb030f 11383 pushback(p, c);
mzta 0:158c61bb030f 11384 }
mzta 0:158c61bb030f 11385 }
mzta 0:158c61bb030f 11386 tokfix(p);
mzta 0:158c61bb030f 11387 {
mzta 0:158c61bb030f 11388 int result = 0;
mzta 0:158c61bb030f 11389
mzta 0:158c61bb030f 11390 switch (tok(p)[0]) {
mzta 0:158c61bb030f 11391 case '$':
mzta 0:158c61bb030f 11392 p->lstate = EXPR_END;
mzta 0:158c61bb030f 11393 result = tGVAR;
mzta 0:158c61bb030f 11394 break;
mzta 0:158c61bb030f 11395 case '@':
mzta 0:158c61bb030f 11396 p->lstate = EXPR_END;
mzta 0:158c61bb030f 11397 if (tok(p)[1] == '@')
mzta 0:158c61bb030f 11398 result = tCVAR;
mzta 0:158c61bb030f 11399 else
mzta 0:158c61bb030f 11400 result = tIVAR;
mzta 0:158c61bb030f 11401 break;
mzta 0:158c61bb030f 11402
mzta 0:158c61bb030f 11403 default:
mzta 0:158c61bb030f 11404 if (toklast(p) == '!' || toklast(p) == '?') {
mzta 0:158c61bb030f 11405 result = tFID;
mzta 0:158c61bb030f 11406 }
mzta 0:158c61bb030f 11407 else {
mzta 0:158c61bb030f 11408 if (p->lstate == EXPR_FNAME) {
mzta 0:158c61bb030f 11409 if ((c = nextc(p)) == '=' && !peek(p, '~') && !peek(p, '>') &&
mzta 0:158c61bb030f 11410 (!peek(p, '=') || (peek_n(p, '>', 1)))) {
mzta 0:158c61bb030f 11411 result = tIDENTIFIER;
mzta 0:158c61bb030f 11412 tokadd(p, c);
mzta 0:158c61bb030f 11413 tokfix(p);
mzta 0:158c61bb030f 11414 }
mzta 0:158c61bb030f 11415 else {
mzta 0:158c61bb030f 11416 pushback(p, c);
mzta 0:158c61bb030f 11417 }
mzta 0:158c61bb030f 11418 }
mzta 0:158c61bb030f 11419 if (result == 0 && ISUPPER(tok(p)[0])) {
mzta 0:158c61bb030f 11420 result = tCONSTANT;
mzta 0:158c61bb030f 11421 }
mzta 0:158c61bb030f 11422 else {
mzta 0:158c61bb030f 11423 result = tIDENTIFIER;
mzta 0:158c61bb030f 11424 }
mzta 0:158c61bb030f 11425 }
mzta 0:158c61bb030f 11426
mzta 0:158c61bb030f 11427 if (IS_LABEL_POSSIBLE()) {
mzta 0:158c61bb030f 11428 if (IS_LABEL_SUFFIX(0)) {
mzta 0:158c61bb030f 11429 p->lstate = EXPR_BEG;
mzta 0:158c61bb030f 11430 nextc(p);
mzta 0:158c61bb030f 11431 tokfix(p);
mzta 0:158c61bb030f 11432 yylval.id = intern_cstr(tok(p));
mzta 0:158c61bb030f 11433 return tLABEL;
mzta 0:158c61bb030f 11434 }
mzta 0:158c61bb030f 11435 }
mzta 0:158c61bb030f 11436 if (p->lstate != EXPR_DOT) {
mzta 0:158c61bb030f 11437 const struct kwtable *kw;
mzta 0:158c61bb030f 11438
mzta 0:158c61bb030f 11439 /* See if it is a reserved word. */
mzta 0:158c61bb030f 11440 kw = mrb_reserved_word(tok(p), toklen(p));
mzta 0:158c61bb030f 11441 if (kw) {
mzta 0:158c61bb030f 11442 enum mrb_lex_state_enum state = p->lstate;
mzta 0:158c61bb030f 11443 yylval.num = p->lineno;
mzta 0:158c61bb030f 11444 p->lstate = kw->state;
mzta 0:158c61bb030f 11445 if (state == EXPR_FNAME) {
mzta 0:158c61bb030f 11446 yylval.id = intern_cstr(kw->name);
mzta 0:158c61bb030f 11447 return kw->id[0];
mzta 0:158c61bb030f 11448 }
mzta 0:158c61bb030f 11449 if (p->lstate == EXPR_BEG) {
mzta 0:158c61bb030f 11450 p->cmd_start = TRUE;
mzta 0:158c61bb030f 11451 }
mzta 0:158c61bb030f 11452 if (kw->id[0] == keyword_do) {
mzta 0:158c61bb030f 11453 if (p->lpar_beg && p->lpar_beg == p->paren_nest) {
mzta 0:158c61bb030f 11454 p->lpar_beg = 0;
mzta 0:158c61bb030f 11455 p->paren_nest--;
mzta 0:158c61bb030f 11456 return keyword_do_LAMBDA;
mzta 0:158c61bb030f 11457 }
mzta 0:158c61bb030f 11458 if (COND_P()) return keyword_do_cond;
mzta 0:158c61bb030f 11459 if (CMDARG_P() && state != EXPR_CMDARG)
mzta 0:158c61bb030f 11460 return keyword_do_block;
mzta 0:158c61bb030f 11461 if (state == EXPR_ENDARG || state == EXPR_BEG)
mzta 0:158c61bb030f 11462 return keyword_do_block;
mzta 0:158c61bb030f 11463 return keyword_do;
mzta 0:158c61bb030f 11464 }
mzta 0:158c61bb030f 11465 if (state == EXPR_BEG || state == EXPR_VALUE)
mzta 0:158c61bb030f 11466 return kw->id[0];
mzta 0:158c61bb030f 11467 else {
mzta 0:158c61bb030f 11468 if (kw->id[0] != kw->id[1])
mzta 0:158c61bb030f 11469 p->lstate = EXPR_BEG;
mzta 0:158c61bb030f 11470 return kw->id[1];
mzta 0:158c61bb030f 11471 }
mzta 0:158c61bb030f 11472 }
mzta 0:158c61bb030f 11473 }
mzta 0:158c61bb030f 11474
mzta 0:158c61bb030f 11475 if (IS_BEG() || p->lstate == EXPR_DOT || IS_ARG()) {
mzta 0:158c61bb030f 11476 if (cmd_state) {
mzta 0:158c61bb030f 11477 p->lstate = EXPR_CMDARG;
mzta 0:158c61bb030f 11478 }
mzta 0:158c61bb030f 11479 else {
mzta 0:158c61bb030f 11480 p->lstate = EXPR_ARG;
mzta 0:158c61bb030f 11481 }
mzta 0:158c61bb030f 11482 }
mzta 0:158c61bb030f 11483 else if (p->lstate == EXPR_FNAME) {
mzta 0:158c61bb030f 11484 p->lstate = EXPR_ENDFN;
mzta 0:158c61bb030f 11485 }
mzta 0:158c61bb030f 11486 else {
mzta 0:158c61bb030f 11487 p->lstate = EXPR_END;
mzta 0:158c61bb030f 11488 }
mzta 0:158c61bb030f 11489 }
mzta 0:158c61bb030f 11490 {
mzta 0:158c61bb030f 11491 mrb_sym ident = intern_cstr(tok(p));
mzta 0:158c61bb030f 11492
mzta 0:158c61bb030f 11493 yylval.id = ident;
mzta 0:158c61bb030f 11494 #if 0
mzta 0:158c61bb030f 11495 if (last_state != EXPR_DOT && islower(tok(p)[0]) && lvar_defined(ident)) {
mzta 0:158c61bb030f 11496 p->lstate = EXPR_END;
mzta 0:158c61bb030f 11497 }
mzta 0:158c61bb030f 11498 #endif
mzta 0:158c61bb030f 11499 }
mzta 0:158c61bb030f 11500 return result;
mzta 0:158c61bb030f 11501 }
mzta 0:158c61bb030f 11502 }
mzta 0:158c61bb030f 11503
mzta 0:158c61bb030f 11504 static int
mzta 0:158c61bb030f 11505 yylex(void *lval, parser_state *p)
mzta 0:158c61bb030f 11506 {
mzta 0:158c61bb030f 11507 p->ylval = lval;
mzta 0:158c61bb030f 11508 return parser_yylex(p);
mzta 0:158c61bb030f 11509 }
mzta 0:158c61bb030f 11510
mzta 0:158c61bb030f 11511 static void
mzta 0:158c61bb030f 11512 parser_init_cxt(parser_state *p, mrbc_context *cxt)
mzta 0:158c61bb030f 11513 {
mzta 0:158c61bb030f 11514 if (!cxt) return;
mzta 0:158c61bb030f 11515 if (cxt->filename) mrb_parser_set_filename(p, cxt->filename);
mzta 0:158c61bb030f 11516 if (cxt->lineno) p->lineno = cxt->lineno;
mzta 0:158c61bb030f 11517 if (cxt->syms) {
mzta 0:158c61bb030f 11518 int i;
mzta 0:158c61bb030f 11519
mzta 0:158c61bb030f 11520 p->locals = cons(0,0);
mzta 0:158c61bb030f 11521 for (i=0; i<cxt->slen; i++) {
mzta 0:158c61bb030f 11522 local_add_f(p, cxt->syms[i]);
mzta 0:158c61bb030f 11523 }
mzta 0:158c61bb030f 11524 }
mzta 0:158c61bb030f 11525 p->capture_errors = cxt->capture_errors;
mzta 0:158c61bb030f 11526 p->no_optimize = cxt->no_optimize;
mzta 0:158c61bb030f 11527 if (cxt->partial_hook) {
mzta 0:158c61bb030f 11528 p->cxt = cxt;
mzta 0:158c61bb030f 11529 }
mzta 0:158c61bb030f 11530 }
mzta 0:158c61bb030f 11531
mzta 0:158c61bb030f 11532 static void
mzta 0:158c61bb030f 11533 parser_update_cxt(parser_state *p, mrbc_context *cxt)
mzta 0:158c61bb030f 11534 {
mzta 0:158c61bb030f 11535 node *n, *n0;
mzta 0:158c61bb030f 11536 int i = 0;
mzta 0:158c61bb030f 11537
mzta 0:158c61bb030f 11538 if (!cxt) return;
mzta 0:158c61bb030f 11539 if ((int)(intptr_t)p->tree->car != NODE_SCOPE) return;
mzta 0:158c61bb030f 11540 n0 = n = p->tree->cdr->car;
mzta 0:158c61bb030f 11541 while (n) {
mzta 0:158c61bb030f 11542 i++;
mzta 0:158c61bb030f 11543 n = n->cdr;
mzta 0:158c61bb030f 11544 }
mzta 0:158c61bb030f 11545 cxt->syms = (mrb_sym *)mrb_realloc(p->mrb, cxt->syms, i*sizeof(mrb_sym));
mzta 0:158c61bb030f 11546 cxt->slen = i;
mzta 0:158c61bb030f 11547 for (i=0, n=n0; n; i++,n=n->cdr) {
mzta 0:158c61bb030f 11548 cxt->syms[i] = sym(n->car);
mzta 0:158c61bb030f 11549 }
mzta 0:158c61bb030f 11550 }
mzta 0:158c61bb030f 11551
mzta 0:158c61bb030f 11552 void mrb_codedump_all(mrb_state*, struct RProc*);
mzta 0:158c61bb030f 11553 void mrb_parser_dump(mrb_state *mrb, node *tree, int offset);
mzta 0:158c61bb030f 11554
mzta 0:158c61bb030f 11555 MRB_API void
mzta 0:158c61bb030f 11556 mrb_parser_parse(parser_state *p, mrbc_context *c)
mzta 0:158c61bb030f 11557 {
mzta 0:158c61bb030f 11558 struct mrb_jmpbuf buf;
mzta 0:158c61bb030f 11559 p->jmp = &buf;
mzta 0:158c61bb030f 11560
mzta 0:158c61bb030f 11561 MRB_TRY(p->jmp) {
mzta 0:158c61bb030f 11562
mzta 0:158c61bb030f 11563 p->cmd_start = TRUE;
mzta 0:158c61bb030f 11564 p->in_def = p->in_single = 0;
mzta 0:158c61bb030f 11565 p->nerr = p->nwarn = 0;
mzta 0:158c61bb030f 11566 p->lex_strterm = NULL;
mzta 0:158c61bb030f 11567
mzta 0:158c61bb030f 11568 parser_init_cxt(p, c);
mzta 0:158c61bb030f 11569 yyparse(p);
mzta 0:158c61bb030f 11570 if (!p->tree) {
mzta 0:158c61bb030f 11571 p->tree = new_nil(p);
mzta 0:158c61bb030f 11572 }
mzta 0:158c61bb030f 11573 parser_update_cxt(p, c);
mzta 0:158c61bb030f 11574 if (c && c->dump_result) {
mzta 0:158c61bb030f 11575 mrb_parser_dump(p->mrb, p->tree, 0);
mzta 0:158c61bb030f 11576 }
mzta 0:158c61bb030f 11577
mzta 0:158c61bb030f 11578 }
mzta 0:158c61bb030f 11579 MRB_CATCH(p->jmp) {
mzta 0:158c61bb030f 11580 yyerror(p, "memory allocation error");
mzta 0:158c61bb030f 11581 p->nerr++;
mzta 0:158c61bb030f 11582 p->tree = 0;
mzta 0:158c61bb030f 11583 return;
mzta 0:158c61bb030f 11584 }
mzta 0:158c61bb030f 11585 MRB_END_EXC(p->jmp);
mzta 0:158c61bb030f 11586 }
mzta 0:158c61bb030f 11587
mzta 0:158c61bb030f 11588 MRB_API parser_state*
mzta 0:158c61bb030f 11589 mrb_parser_new(mrb_state *mrb)
mzta 0:158c61bb030f 11590 {
mzta 0:158c61bb030f 11591 mrb_pool *pool;
mzta 0:158c61bb030f 11592 parser_state *p;
mzta 0:158c61bb030f 11593 static const parser_state parser_state_zero = { 0 };
mzta 0:158c61bb030f 11594
mzta 0:158c61bb030f 11595 pool = mrb_pool_open(mrb);
mzta 0:158c61bb030f 11596 if (!pool) return NULL;
mzta 0:158c61bb030f 11597 p = (parser_state *)mrb_pool_alloc(pool, sizeof(parser_state));
mzta 0:158c61bb030f 11598 if (!p) return NULL;
mzta 0:158c61bb030f 11599
mzta 0:158c61bb030f 11600 *p = parser_state_zero;
mzta 0:158c61bb030f 11601 p->mrb = mrb;
mzta 0:158c61bb030f 11602 p->pool = pool;
mzta 0:158c61bb030f 11603
mzta 0:158c61bb030f 11604 p->s = p->send = NULL;
mzta 0:158c61bb030f 11605 #ifdef ENABLE_STDIO
mzta 0:158c61bb030f 11606 p->f = NULL;
mzta 0:158c61bb030f 11607 #endif
mzta 0:158c61bb030f 11608
mzta 0:158c61bb030f 11609 p->cmd_start = TRUE;
mzta 0:158c61bb030f 11610 p->in_def = p->in_single = 0;
mzta 0:158c61bb030f 11611
mzta 0:158c61bb030f 11612 p->capture_errors = FALSE;
mzta 0:158c61bb030f 11613 p->lineno = 1;
mzta 0:158c61bb030f 11614 p->column = 0;
mzta 0:158c61bb030f 11615 #if defined(PARSER_TEST) || defined(PARSER_DEBUG)
mzta 0:158c61bb030f 11616 yydebug = 1;
mzta 0:158c61bb030f 11617 #endif
mzta 0:158c61bb030f 11618
mzta 0:158c61bb030f 11619 p->lex_strterm = NULL;
mzta 0:158c61bb030f 11620 p->all_heredocs = p->parsing_heredoc = NULL;
mzta 0:158c61bb030f 11621 p->lex_strterm_before_heredoc = NULL;
mzta 0:158c61bb030f 11622
mzta 0:158c61bb030f 11623 p->current_filename_index = -1;
mzta 0:158c61bb030f 11624 p->filename_table = NULL;
mzta 0:158c61bb030f 11625 p->filename_table_length = 0;
mzta 0:158c61bb030f 11626
mzta 0:158c61bb030f 11627 return p;
mzta 0:158c61bb030f 11628 }
mzta 0:158c61bb030f 11629
mzta 0:158c61bb030f 11630 MRB_API void
mzta 0:158c61bb030f 11631 mrb_parser_free(parser_state *p) {
mzta 0:158c61bb030f 11632 mrb_pool_close(p->pool);
mzta 0:158c61bb030f 11633 }
mzta 0:158c61bb030f 11634
mzta 0:158c61bb030f 11635 MRB_API mrbc_context*
mzta 0:158c61bb030f 11636 mrbc_context_new(mrb_state *mrb)
mzta 0:158c61bb030f 11637 {
mzta 0:158c61bb030f 11638 return (mrbc_context *)mrb_calloc(mrb, 1, sizeof(mrbc_context));
mzta 0:158c61bb030f 11639 }
mzta 0:158c61bb030f 11640
mzta 0:158c61bb030f 11641 MRB_API void
mzta 0:158c61bb030f 11642 mrbc_context_free(mrb_state *mrb, mrbc_context *cxt)
mzta 0:158c61bb030f 11643 {
mzta 0:158c61bb030f 11644 mrb_free(mrb, cxt->syms);
mzta 0:158c61bb030f 11645 mrb_free(mrb, cxt);
mzta 0:158c61bb030f 11646 }
mzta 0:158c61bb030f 11647
mzta 0:158c61bb030f 11648 MRB_API const char*
mzta 0:158c61bb030f 11649 mrbc_filename(mrb_state *mrb, mrbc_context *c, const char *s)
mzta 0:158c61bb030f 11650 {
mzta 0:158c61bb030f 11651 if (s) {
mzta 0:158c61bb030f 11652 int len = strlen(s);
mzta 0:158c61bb030f 11653 char *p = (char *)mrb_alloca(mrb, len + 1);
mzta 0:158c61bb030f 11654
mzta 0:158c61bb030f 11655 memcpy(p, s, len + 1);
mzta 0:158c61bb030f 11656 c->filename = p;
mzta 0:158c61bb030f 11657 }
mzta 0:158c61bb030f 11658 return c->filename;
mzta 0:158c61bb030f 11659 }
mzta 0:158c61bb030f 11660
mzta 0:158c61bb030f 11661 MRB_API void
mzta 0:158c61bb030f 11662 mrbc_partial_hook(mrb_state *mrb, mrbc_context *c, int (*func)(struct mrb_parser_state*), void *data)
mzta 0:158c61bb030f 11663 {
mzta 0:158c61bb030f 11664 c->partial_hook = func;
mzta 0:158c61bb030f 11665 c->partial_data = data;
mzta 0:158c61bb030f 11666 }
mzta 0:158c61bb030f 11667
mzta 0:158c61bb030f 11668 MRB_API void
mzta 0:158c61bb030f 11669 mrb_parser_set_filename(struct mrb_parser_state *p, const char *f)
mzta 0:158c61bb030f 11670 {
mzta 0:158c61bb030f 11671 mrb_sym sym;
mzta 0:158c61bb030f 11672 size_t i;
mzta 0:158c61bb030f 11673 mrb_sym* new_table;
mzta 0:158c61bb030f 11674
mzta 0:158c61bb030f 11675 sym = mrb_intern_cstr(p->mrb, f);
mzta 0:158c61bb030f 11676 p->filename = mrb_sym2name_len(p->mrb, sym, NULL);
mzta 0:158c61bb030f 11677 p->lineno = (p->filename_table_length > 0)? 0 : 1;
mzta 0:158c61bb030f 11678
mzta 0:158c61bb030f 11679 for (i = 0; i < p->filename_table_length; ++i) {
mzta 0:158c61bb030f 11680 if (p->filename_table[i] == sym) {
mzta 0:158c61bb030f 11681 p->current_filename_index = i;
mzta 0:158c61bb030f 11682 return;
mzta 0:158c61bb030f 11683 }
mzta 0:158c61bb030f 11684 }
mzta 0:158c61bb030f 11685
mzta 0:158c61bb030f 11686 p->current_filename_index = p->filename_table_length++;
mzta 0:158c61bb030f 11687
mzta 0:158c61bb030f 11688 new_table = (mrb_sym*)parser_palloc(p, sizeof(mrb_sym) * p->filename_table_length);
mzta 0:158c61bb030f 11689 if (p->filename_table) {
mzta 0:158c61bb030f 11690 memmove(new_table, p->filename_table, sizeof(mrb_sym) * p->filename_table_length);
mzta 0:158c61bb030f 11691 }
mzta 0:158c61bb030f 11692 p->filename_table = new_table;
mzta 0:158c61bb030f 11693 p->filename_table[p->filename_table_length - 1] = sym;
mzta 0:158c61bb030f 11694 }
mzta 0:158c61bb030f 11695
mzta 0:158c61bb030f 11696 MRB_API char const*
mzta 0:158c61bb030f 11697 mrb_parser_get_filename(struct mrb_parser_state* p, uint16_t idx) {
mzta 0:158c61bb030f 11698 if (idx >= p->filename_table_length) { return NULL; }
mzta 0:158c61bb030f 11699 else {
mzta 0:158c61bb030f 11700 return mrb_sym2name_len(p->mrb, p->filename_table[idx], NULL);
mzta 0:158c61bb030f 11701 }
mzta 0:158c61bb030f 11702 }
mzta 0:158c61bb030f 11703
mzta 0:158c61bb030f 11704 #ifdef ENABLE_STDIO
mzta 0:158c61bb030f 11705 MRB_API parser_state*
mzta 0:158c61bb030f 11706 mrb_parse_file(mrb_state *mrb, FILE *f, mrbc_context *c)
mzta 0:158c61bb030f 11707 {
mzta 0:158c61bb030f 11708 parser_state *p;
mzta 0:158c61bb030f 11709
mzta 0:158c61bb030f 11710 p = mrb_parser_new(mrb);
mzta 0:158c61bb030f 11711 if (!p) return NULL;
mzta 0:158c61bb030f 11712 p->s = p->send = NULL;
mzta 0:158c61bb030f 11713 p->f = f;
mzta 0:158c61bb030f 11714
mzta 0:158c61bb030f 11715 mrb_parser_parse(p, c);
mzta 0:158c61bb030f 11716 return p;
mzta 0:158c61bb030f 11717 }
mzta 0:158c61bb030f 11718 #endif
mzta 0:158c61bb030f 11719
mzta 0:158c61bb030f 11720 MRB_API parser_state*
mzta 0:158c61bb030f 11721 mrb_parse_nstring(mrb_state *mrb, const char *s, int len, mrbc_context *c)
mzta 0:158c61bb030f 11722 {
mzta 0:158c61bb030f 11723 parser_state *p;
mzta 0:158c61bb030f 11724
mzta 0:158c61bb030f 11725 p = mrb_parser_new(mrb);
mzta 0:158c61bb030f 11726 if (!p) return NULL;
mzta 0:158c61bb030f 11727 p->s = s;
mzta 0:158c61bb030f 11728 p->send = s + len;
mzta 0:158c61bb030f 11729
mzta 0:158c61bb030f 11730 mrb_parser_parse(p, c);
mzta 0:158c61bb030f 11731 return p;
mzta 0:158c61bb030f 11732 }
mzta 0:158c61bb030f 11733
mzta 0:158c61bb030f 11734 MRB_API parser_state*
mzta 0:158c61bb030f 11735 mrb_parse_string(mrb_state *mrb, const char *s, mrbc_context *c)
mzta 0:158c61bb030f 11736 {
mzta 0:158c61bb030f 11737 return mrb_parse_nstring(mrb, s, strlen(s), c);
mzta 0:158c61bb030f 11738 }
mzta 0:158c61bb030f 11739
mzta 0:158c61bb030f 11740 static mrb_value
mzta 0:158c61bb030f 11741 load_exec(mrb_state *mrb, parser_state *p, mrbc_context *c)
mzta 0:158c61bb030f 11742 {
mzta 0:158c61bb030f 11743 struct RClass *target = mrb->object_class;
mzta 0:158c61bb030f 11744 struct RProc *proc;
mzta 0:158c61bb030f 11745 mrb_value v;
mzta 0:158c61bb030f 11746 unsigned int keep = 0;
mzta 0:158c61bb030f 11747
mzta 0:158c61bb030f 11748 if (!p) {
mzta 0:158c61bb030f 11749 return mrb_undef_value();
mzta 0:158c61bb030f 11750 }
mzta 0:158c61bb030f 11751 if (!p->tree || p->nerr) {
mzta 0:158c61bb030f 11752 if (p->capture_errors) {
mzta 0:158c61bb030f 11753 char buf[256];
mzta 0:158c61bb030f 11754 int n;
mzta 0:158c61bb030f 11755
mzta 0:158c61bb030f 11756 n = snprintf(buf, sizeof(buf), "line %d: %s\n",
mzta 0:158c61bb030f 11757 p->error_buffer[0].lineno, p->error_buffer[0].message);
mzta 0:158c61bb030f 11758 mrb->exc = mrb_obj_ptr(mrb_exc_new(mrb, E_SYNTAX_ERROR, buf, n));
mzta 0:158c61bb030f 11759 mrb_parser_free(p);
mzta 0:158c61bb030f 11760 return mrb_undef_value();
mzta 0:158c61bb030f 11761 }
mzta 0:158c61bb030f 11762 else {
mzta 0:158c61bb030f 11763 mrb->exc = mrb_obj_ptr(mrb_exc_new_str_lit(mrb, E_SYNTAX_ERROR, "syntax error"));
mzta 0:158c61bb030f 11764 mrb_parser_free(p);
mzta 0:158c61bb030f 11765 return mrb_undef_value();
mzta 0:158c61bb030f 11766 }
mzta 0:158c61bb030f 11767 }
mzta 0:158c61bb030f 11768 proc = mrb_generate_code(mrb, p);
mzta 0:158c61bb030f 11769 mrb_parser_free(p);
mzta 0:158c61bb030f 11770 if (proc == NULL) {
mzta 0:158c61bb030f 11771 mrb->exc = mrb_obj_ptr(mrb_exc_new_str_lit(mrb, E_SCRIPT_ERROR, "codegen error"));
mzta 0:158c61bb030f 11772 return mrb_undef_value();
mzta 0:158c61bb030f 11773 }
mzta 0:158c61bb030f 11774 if (c) {
mzta 0:158c61bb030f 11775 if (c->dump_result) mrb_codedump_all(mrb, proc);
mzta 0:158c61bb030f 11776 if (c->no_exec) return mrb_obj_value(proc);
mzta 0:158c61bb030f 11777 if (c->target_class) {
mzta 0:158c61bb030f 11778 target = c->target_class;
mzta 0:158c61bb030f 11779 }
mzta 0:158c61bb030f 11780 if (c->keep_lv) {
mzta 0:158c61bb030f 11781 keep = c->slen + 1;
mzta 0:158c61bb030f 11782 }
mzta 0:158c61bb030f 11783 else {
mzta 0:158c61bb030f 11784 c->keep_lv = TRUE;
mzta 0:158c61bb030f 11785 }
mzta 0:158c61bb030f 11786 }
mzta 0:158c61bb030f 11787 proc->target_class = target;
mzta 0:158c61bb030f 11788 if (mrb->c->ci) {
mzta 0:158c61bb030f 11789 mrb->c->ci->target_class = target;
mzta 0:158c61bb030f 11790 }
mzta 0:158c61bb030f 11791 v = mrb_toplevel_run_keep(mrb, proc, keep);
mzta 0:158c61bb030f 11792 if (mrb->exc) return mrb_nil_value();
mzta 0:158c61bb030f 11793 return v;
mzta 0:158c61bb030f 11794 }
mzta 0:158c61bb030f 11795
mzta 0:158c61bb030f 11796 #ifdef ENABLE_STDIO
mzta 0:158c61bb030f 11797 MRB_API mrb_value
mzta 0:158c61bb030f 11798 mrb_load_file_cxt(mrb_state *mrb, FILE *f, mrbc_context *c)
mzta 0:158c61bb030f 11799 {
mzta 0:158c61bb030f 11800 return load_exec(mrb, mrb_parse_file(mrb, f, c), c);
mzta 0:158c61bb030f 11801 }
mzta 0:158c61bb030f 11802
mzta 0:158c61bb030f 11803 MRB_API mrb_value
mzta 0:158c61bb030f 11804 mrb_load_file(mrb_state *mrb, FILE *f)
mzta 0:158c61bb030f 11805 {
mzta 0:158c61bb030f 11806 return mrb_load_file_cxt(mrb, f, NULL);
mzta 0:158c61bb030f 11807 }
mzta 0:158c61bb030f 11808 #endif
mzta 0:158c61bb030f 11809
mzta 0:158c61bb030f 11810 MRB_API mrb_value
mzta 0:158c61bb030f 11811 mrb_load_nstring_cxt(mrb_state *mrb, const char *s, int len, mrbc_context *c)
mzta 0:158c61bb030f 11812 {
mzta 0:158c61bb030f 11813 return load_exec(mrb, mrb_parse_nstring(mrb, s, len, c), c);
mzta 0:158c61bb030f 11814 }
mzta 0:158c61bb030f 11815
mzta 0:158c61bb030f 11816 MRB_API mrb_value
mzta 0:158c61bb030f 11817 mrb_load_nstring(mrb_state *mrb, const char *s, int len)
mzta 0:158c61bb030f 11818 {
mzta 0:158c61bb030f 11819 return mrb_load_nstring_cxt(mrb, s, len, NULL);
mzta 0:158c61bb030f 11820 }
mzta 0:158c61bb030f 11821
mzta 0:158c61bb030f 11822 MRB_API mrb_value
mzta 0:158c61bb030f 11823 mrb_load_string_cxt(mrb_state *mrb, const char *s, mrbc_context *c)
mzta 0:158c61bb030f 11824 {
mzta 0:158c61bb030f 11825 return mrb_load_nstring_cxt(mrb, s, strlen(s), c);
mzta 0:158c61bb030f 11826 }
mzta 0:158c61bb030f 11827
mzta 0:158c61bb030f 11828 MRB_API mrb_value
mzta 0:158c61bb030f 11829 mrb_load_string(mrb_state *mrb, const char *s)
mzta 0:158c61bb030f 11830 {
mzta 0:158c61bb030f 11831 return mrb_load_string_cxt(mrb, s, NULL);
mzta 0:158c61bb030f 11832 }
mzta 0:158c61bb030f 11833
mzta 0:158c61bb030f 11834 #ifdef ENABLE_STDIO
mzta 0:158c61bb030f 11835
mzta 0:158c61bb030f 11836 static void
mzta 0:158c61bb030f 11837 dump_prefix(node *tree, int offset)
mzta 0:158c61bb030f 11838 {
mzta 0:158c61bb030f 11839 printf("%05d ", tree->lineno);
mzta 0:158c61bb030f 11840 while (offset--) {
mzta 0:158c61bb030f 11841 putc(' ', stdout);
mzta 0:158c61bb030f 11842 putc(' ', stdout);
mzta 0:158c61bb030f 11843 }
mzta 0:158c61bb030f 11844 }
mzta 0:158c61bb030f 11845
mzta 0:158c61bb030f 11846 static void
mzta 0:158c61bb030f 11847 dump_recur(mrb_state *mrb, node *tree, int offset)
mzta 0:158c61bb030f 11848 {
mzta 0:158c61bb030f 11849 while (tree) {
mzta 0:158c61bb030f 11850 mrb_parser_dump(mrb, tree->car, offset);
mzta 0:158c61bb030f 11851 tree = tree->cdr;
mzta 0:158c61bb030f 11852 }
mzta 0:158c61bb030f 11853 }
mzta 0:158c61bb030f 11854
mzta 0:158c61bb030f 11855 #endif
mzta 0:158c61bb030f 11856
mzta 0:158c61bb030f 11857 void
mzta 0:158c61bb030f 11858 mrb_parser_dump(mrb_state *mrb, node *tree, int offset)
mzta 0:158c61bb030f 11859 {
mzta 0:158c61bb030f 11860 #ifdef ENABLE_STDIO
mzta 0:158c61bb030f 11861 int nodetype;
mzta 0:158c61bb030f 11862
mzta 0:158c61bb030f 11863 if (!tree) return;
mzta 0:158c61bb030f 11864 again:
mzta 0:158c61bb030f 11865 dump_prefix(tree, offset);
mzta 0:158c61bb030f 11866 nodetype = (int)(intptr_t)tree->car;
mzta 0:158c61bb030f 11867 tree = tree->cdr;
mzta 0:158c61bb030f 11868 switch (nodetype) {
mzta 0:158c61bb030f 11869 case NODE_BEGIN:
mzta 0:158c61bb030f 11870 printf("NODE_BEGIN:\n");
mzta 0:158c61bb030f 11871 dump_recur(mrb, tree, offset+1);
mzta 0:158c61bb030f 11872 break;
mzta 0:158c61bb030f 11873
mzta 0:158c61bb030f 11874 case NODE_RESCUE:
mzta 0:158c61bb030f 11875 printf("NODE_RESCUE:\n");
mzta 0:158c61bb030f 11876 if (tree->car) {
mzta 0:158c61bb030f 11877 dump_prefix(tree, offset+1);
mzta 0:158c61bb030f 11878 printf("body:\n");
mzta 0:158c61bb030f 11879 mrb_parser_dump(mrb, tree->car, offset+2);
mzta 0:158c61bb030f 11880 }
mzta 0:158c61bb030f 11881 tree = tree->cdr;
mzta 0:158c61bb030f 11882 if (tree->car) {
mzta 0:158c61bb030f 11883 node *n2 = tree->car;
mzta 0:158c61bb030f 11884
mzta 0:158c61bb030f 11885 dump_prefix(n2, offset+1);
mzta 0:158c61bb030f 11886 printf("rescue:\n");
mzta 0:158c61bb030f 11887 while (n2) {
mzta 0:158c61bb030f 11888 node *n3 = n2->car;
mzta 0:158c61bb030f 11889 if (n3->car) {
mzta 0:158c61bb030f 11890 dump_prefix(n2, offset+2);
mzta 0:158c61bb030f 11891 printf("handle classes:\n");
mzta 0:158c61bb030f 11892 dump_recur(mrb, n3->car, offset+3);
mzta 0:158c61bb030f 11893 }
mzta 0:158c61bb030f 11894 if (n3->cdr->car) {
mzta 0:158c61bb030f 11895 dump_prefix(n3, offset+2);
mzta 0:158c61bb030f 11896 printf("exc_var:\n");
mzta 0:158c61bb030f 11897 mrb_parser_dump(mrb, n3->cdr->car, offset+3);
mzta 0:158c61bb030f 11898 }
mzta 0:158c61bb030f 11899 if (n3->cdr->cdr->car) {
mzta 0:158c61bb030f 11900 dump_prefix(n3, offset+2);
mzta 0:158c61bb030f 11901 printf("rescue body:\n");
mzta 0:158c61bb030f 11902 mrb_parser_dump(mrb, n3->cdr->cdr->car, offset+3);
mzta 0:158c61bb030f 11903 }
mzta 0:158c61bb030f 11904 n2 = n2->cdr;
mzta 0:158c61bb030f 11905 }
mzta 0:158c61bb030f 11906 }
mzta 0:158c61bb030f 11907 tree = tree->cdr;
mzta 0:158c61bb030f 11908 if (tree->car) {
mzta 0:158c61bb030f 11909 dump_prefix(tree, offset+1);
mzta 0:158c61bb030f 11910 printf("else:\n");
mzta 0:158c61bb030f 11911 mrb_parser_dump(mrb, tree->car, offset+2);
mzta 0:158c61bb030f 11912 }
mzta 0:158c61bb030f 11913 break;
mzta 0:158c61bb030f 11914
mzta 0:158c61bb030f 11915 case NODE_ENSURE:
mzta 0:158c61bb030f 11916 printf("NODE_ENSURE:\n");
mzta 0:158c61bb030f 11917 dump_prefix(tree, offset+1);
mzta 0:158c61bb030f 11918 printf("body:\n");
mzta 0:158c61bb030f 11919 mrb_parser_dump(mrb, tree->car, offset+2);
mzta 0:158c61bb030f 11920 dump_prefix(tree, offset+1);
mzta 0:158c61bb030f 11921 printf("ensure:\n");
mzta 0:158c61bb030f 11922 mrb_parser_dump(mrb, tree->cdr->cdr, offset+2);
mzta 0:158c61bb030f 11923 break;
mzta 0:158c61bb030f 11924
mzta 0:158c61bb030f 11925 case NODE_LAMBDA:
mzta 0:158c61bb030f 11926 printf("NODE_BLOCK:\n");
mzta 0:158c61bb030f 11927 goto block;
mzta 0:158c61bb030f 11928
mzta 0:158c61bb030f 11929 case NODE_BLOCK:
mzta 0:158c61bb030f 11930 block:
mzta 0:158c61bb030f 11931 printf("NODE_BLOCK:\n");
mzta 0:158c61bb030f 11932 tree = tree->cdr;
mzta 0:158c61bb030f 11933 if (tree->car) {
mzta 0:158c61bb030f 11934 node *n = tree->car;
mzta 0:158c61bb030f 11935
mzta 0:158c61bb030f 11936 if (n->car) {
mzta 0:158c61bb030f 11937 dump_prefix(n, offset+1);
mzta 0:158c61bb030f 11938 printf("mandatory args:\n");
mzta 0:158c61bb030f 11939 dump_recur(mrb, n->car, offset+2);
mzta 0:158c61bb030f 11940 }
mzta 0:158c61bb030f 11941 n = n->cdr;
mzta 0:158c61bb030f 11942 if (n->car) {
mzta 0:158c61bb030f 11943 dump_prefix(n, offset+1);
mzta 0:158c61bb030f 11944 printf("optional args:\n");
mzta 0:158c61bb030f 11945 {
mzta 0:158c61bb030f 11946 node *n2 = n->car;
mzta 0:158c61bb030f 11947
mzta 0:158c61bb030f 11948 while (n2) {
mzta 0:158c61bb030f 11949 dump_prefix(n2, offset+2);
mzta 0:158c61bb030f 11950 printf("%s=", mrb_sym2name(mrb, sym(n2->car->car)));
mzta 0:158c61bb030f 11951 mrb_parser_dump(mrb, n2->car->cdr, 0);
mzta 0:158c61bb030f 11952 n2 = n2->cdr;
mzta 0:158c61bb030f 11953 }
mzta 0:158c61bb030f 11954 }
mzta 0:158c61bb030f 11955 }
mzta 0:158c61bb030f 11956 n = n->cdr;
mzta 0:158c61bb030f 11957 if (n->car) {
mzta 0:158c61bb030f 11958 dump_prefix(n, offset+1);
mzta 0:158c61bb030f 11959 printf("rest=*%s\n", mrb_sym2name(mrb, sym(n->car)));
mzta 0:158c61bb030f 11960 }
mzta 0:158c61bb030f 11961 n = n->cdr;
mzta 0:158c61bb030f 11962 if (n->car) {
mzta 0:158c61bb030f 11963 dump_prefix(n, offset+1);
mzta 0:158c61bb030f 11964 printf("post mandatory args:\n");
mzta 0:158c61bb030f 11965 dump_recur(mrb, n->car, offset+2);
mzta 0:158c61bb030f 11966 }
mzta 0:158c61bb030f 11967 n = n->cdr;
mzta 0:158c61bb030f 11968 if (n) {
mzta 0:158c61bb030f 11969 dump_prefix(n, offset+1);
mzta 0:158c61bb030f 11970 printf("blk=&%s\n", mrb_sym2name(mrb, sym(n)));
mzta 0:158c61bb030f 11971 }
mzta 0:158c61bb030f 11972 }
mzta 0:158c61bb030f 11973 dump_prefix(tree, offset+1);
mzta 0:158c61bb030f 11974 printf("body:\n");
mzta 0:158c61bb030f 11975 mrb_parser_dump(mrb, tree->cdr->car, offset+2);
mzta 0:158c61bb030f 11976 break;
mzta 0:158c61bb030f 11977
mzta 0:158c61bb030f 11978 case NODE_IF:
mzta 0:158c61bb030f 11979 printf("NODE_IF:\n");
mzta 0:158c61bb030f 11980 dump_prefix(tree, offset+1);
mzta 0:158c61bb030f 11981 printf("cond:\n");
mzta 0:158c61bb030f 11982 mrb_parser_dump(mrb, tree->car, offset+2);
mzta 0:158c61bb030f 11983 dump_prefix(tree, offset+1);
mzta 0:158c61bb030f 11984 printf("then:\n");
mzta 0:158c61bb030f 11985 mrb_parser_dump(mrb, tree->cdr->car, offset+2);
mzta 0:158c61bb030f 11986 if (tree->cdr->cdr->car) {
mzta 0:158c61bb030f 11987 dump_prefix(tree, offset+1);
mzta 0:158c61bb030f 11988 printf("else:\n");
mzta 0:158c61bb030f 11989 mrb_parser_dump(mrb, tree->cdr->cdr->car, offset+2);
mzta 0:158c61bb030f 11990 }
mzta 0:158c61bb030f 11991 break;
mzta 0:158c61bb030f 11992
mzta 0:158c61bb030f 11993 case NODE_AND:
mzta 0:158c61bb030f 11994 printf("NODE_AND:\n");
mzta 0:158c61bb030f 11995 mrb_parser_dump(mrb, tree->car, offset+1);
mzta 0:158c61bb030f 11996 mrb_parser_dump(mrb, tree->cdr, offset+1);
mzta 0:158c61bb030f 11997 break;
mzta 0:158c61bb030f 11998
mzta 0:158c61bb030f 11999 case NODE_OR:
mzta 0:158c61bb030f 12000 printf("NODE_OR:\n");
mzta 0:158c61bb030f 12001 mrb_parser_dump(mrb, tree->car, offset+1);
mzta 0:158c61bb030f 12002 mrb_parser_dump(mrb, tree->cdr, offset+1);
mzta 0:158c61bb030f 12003 break;
mzta 0:158c61bb030f 12004
mzta 0:158c61bb030f 12005 case NODE_CASE:
mzta 0:158c61bb030f 12006 printf("NODE_CASE:\n");
mzta 0:158c61bb030f 12007 if (tree->car) {
mzta 0:158c61bb030f 12008 mrb_parser_dump(mrb, tree->car, offset+1);
mzta 0:158c61bb030f 12009 }
mzta 0:158c61bb030f 12010 tree = tree->cdr;
mzta 0:158c61bb030f 12011 while (tree) {
mzta 0:158c61bb030f 12012 dump_prefix(tree, offset+1);
mzta 0:158c61bb030f 12013 printf("case:\n");
mzta 0:158c61bb030f 12014 dump_recur(mrb, tree->car->car, offset+2);
mzta 0:158c61bb030f 12015 dump_prefix(tree, offset+1);
mzta 0:158c61bb030f 12016 printf("body:\n");
mzta 0:158c61bb030f 12017 mrb_parser_dump(mrb, tree->car->cdr, offset+2);
mzta 0:158c61bb030f 12018 tree = tree->cdr;
mzta 0:158c61bb030f 12019 }
mzta 0:158c61bb030f 12020 break;
mzta 0:158c61bb030f 12021
mzta 0:158c61bb030f 12022 case NODE_WHILE:
mzta 0:158c61bb030f 12023 printf("NODE_WHILE:\n");
mzta 0:158c61bb030f 12024 dump_prefix(tree, offset+1);
mzta 0:158c61bb030f 12025 printf("cond:\n");
mzta 0:158c61bb030f 12026 mrb_parser_dump(mrb, tree->car, offset+2);
mzta 0:158c61bb030f 12027 dump_prefix(tree, offset+1);
mzta 0:158c61bb030f 12028 printf("body:\n");
mzta 0:158c61bb030f 12029 mrb_parser_dump(mrb, tree->cdr, offset+2);
mzta 0:158c61bb030f 12030 break;
mzta 0:158c61bb030f 12031
mzta 0:158c61bb030f 12032 case NODE_UNTIL:
mzta 0:158c61bb030f 12033 printf("NODE_UNTIL:\n");
mzta 0:158c61bb030f 12034 dump_prefix(tree, offset+1);
mzta 0:158c61bb030f 12035 printf("cond:\n");
mzta 0:158c61bb030f 12036 mrb_parser_dump(mrb, tree->car, offset+2);
mzta 0:158c61bb030f 12037 dump_prefix(tree, offset+1);
mzta 0:158c61bb030f 12038 printf("body:\n");
mzta 0:158c61bb030f 12039 mrb_parser_dump(mrb, tree->cdr, offset+2);
mzta 0:158c61bb030f 12040 break;
mzta 0:158c61bb030f 12041
mzta 0:158c61bb030f 12042 case NODE_FOR:
mzta 0:158c61bb030f 12043 printf("NODE_FOR:\n");
mzta 0:158c61bb030f 12044 dump_prefix(tree, offset+1);
mzta 0:158c61bb030f 12045 printf("var:\n");
mzta 0:158c61bb030f 12046 {
mzta 0:158c61bb030f 12047 node *n2 = tree->car;
mzta 0:158c61bb030f 12048
mzta 0:158c61bb030f 12049 if (n2->car) {
mzta 0:158c61bb030f 12050 dump_prefix(n2, offset+2);
mzta 0:158c61bb030f 12051 printf("pre:\n");
mzta 0:158c61bb030f 12052 dump_recur(mrb, n2->car, offset+3);
mzta 0:158c61bb030f 12053 }
mzta 0:158c61bb030f 12054 n2 = n2->cdr;
mzta 0:158c61bb030f 12055 if (n2) {
mzta 0:158c61bb030f 12056 if (n2->car) {
mzta 0:158c61bb030f 12057 dump_prefix(n2, offset+2);
mzta 0:158c61bb030f 12058 printf("rest:\n");
mzta 0:158c61bb030f 12059 mrb_parser_dump(mrb, n2->car, offset+3);
mzta 0:158c61bb030f 12060 }
mzta 0:158c61bb030f 12061 n2 = n2->cdr;
mzta 0:158c61bb030f 12062 if (n2) {
mzta 0:158c61bb030f 12063 if (n2->car) {
mzta 0:158c61bb030f 12064 dump_prefix(n2, offset+2);
mzta 0:158c61bb030f 12065 printf("post:\n");
mzta 0:158c61bb030f 12066 dump_recur(mrb, n2->car, offset+3);
mzta 0:158c61bb030f 12067 }
mzta 0:158c61bb030f 12068 }
mzta 0:158c61bb030f 12069 }
mzta 0:158c61bb030f 12070 }
mzta 0:158c61bb030f 12071 tree = tree->cdr;
mzta 0:158c61bb030f 12072 dump_prefix(tree, offset+1);
mzta 0:158c61bb030f 12073 printf("in:\n");
mzta 0:158c61bb030f 12074 mrb_parser_dump(mrb, tree->car, offset+2);
mzta 0:158c61bb030f 12075 tree = tree->cdr;
mzta 0:158c61bb030f 12076 dump_prefix(tree, offset+1);
mzta 0:158c61bb030f 12077 printf("do:\n");
mzta 0:158c61bb030f 12078 mrb_parser_dump(mrb, tree->car, offset+2);
mzta 0:158c61bb030f 12079 break;
mzta 0:158c61bb030f 12080
mzta 0:158c61bb030f 12081 case NODE_SCOPE:
mzta 0:158c61bb030f 12082 printf("NODE_SCOPE:\n");
mzta 0:158c61bb030f 12083 {
mzta 0:158c61bb030f 12084 node *n2 = tree->car;
mzta 0:158c61bb030f 12085 mrb_bool first_lval = TRUE;
mzta 0:158c61bb030f 12086
mzta 0:158c61bb030f 12087 if (n2 && (n2->car || n2->cdr)) {
mzta 0:158c61bb030f 12088 dump_prefix(n2, offset+1);
mzta 0:158c61bb030f 12089 printf("local variables:\n");
mzta 0:158c61bb030f 12090 dump_prefix(n2, offset+2);
mzta 0:158c61bb030f 12091 while (n2) {
mzta 0:158c61bb030f 12092 if (n2->car) {
mzta 0:158c61bb030f 12093 if (!first_lval) printf(", ");
mzta 0:158c61bb030f 12094 printf("%s", mrb_sym2name(mrb, sym(n2->car)));
mzta 0:158c61bb030f 12095 first_lval = FALSE;
mzta 0:158c61bb030f 12096 }
mzta 0:158c61bb030f 12097 n2 = n2->cdr;
mzta 0:158c61bb030f 12098 }
mzta 0:158c61bb030f 12099 printf("\n");
mzta 0:158c61bb030f 12100 }
mzta 0:158c61bb030f 12101 }
mzta 0:158c61bb030f 12102 tree = tree->cdr;
mzta 0:158c61bb030f 12103 offset++;
mzta 0:158c61bb030f 12104 goto again;
mzta 0:158c61bb030f 12105
mzta 0:158c61bb030f 12106 case NODE_FCALL:
mzta 0:158c61bb030f 12107 case NODE_CALL:
mzta 0:158c61bb030f 12108 printf("NODE_CALL:\n");
mzta 0:158c61bb030f 12109 mrb_parser_dump(mrb, tree->car, offset+1);
mzta 0:158c61bb030f 12110 dump_prefix(tree, offset+1);
mzta 0:158c61bb030f 12111 printf("method='%s' (%d)\n",
mzta 0:158c61bb030f 12112 mrb_sym2name(mrb, sym(tree->cdr->car)),
mzta 0:158c61bb030f 12113 (int)(intptr_t)tree->cdr->car);
mzta 0:158c61bb030f 12114 tree = tree->cdr->cdr->car;
mzta 0:158c61bb030f 12115 if (tree) {
mzta 0:158c61bb030f 12116 dump_prefix(tree, offset+1);
mzta 0:158c61bb030f 12117 printf("args:\n");
mzta 0:158c61bb030f 12118 dump_recur(mrb, tree->car, offset+2);
mzta 0:158c61bb030f 12119 if (tree->cdr) {
mzta 0:158c61bb030f 12120 dump_prefix(tree, offset+1);
mzta 0:158c61bb030f 12121 printf("block:\n");
mzta 0:158c61bb030f 12122 mrb_parser_dump(mrb, tree->cdr, offset+2);
mzta 0:158c61bb030f 12123 }
mzta 0:158c61bb030f 12124 }
mzta 0:158c61bb030f 12125 break;
mzta 0:158c61bb030f 12126
mzta 0:158c61bb030f 12127 case NODE_DOT2:
mzta 0:158c61bb030f 12128 printf("NODE_DOT2:\n");
mzta 0:158c61bb030f 12129 mrb_parser_dump(mrb, tree->car, offset+1);
mzta 0:158c61bb030f 12130 mrb_parser_dump(mrb, tree->cdr, offset+1);
mzta 0:158c61bb030f 12131 break;
mzta 0:158c61bb030f 12132
mzta 0:158c61bb030f 12133 case NODE_DOT3:
mzta 0:158c61bb030f 12134 printf("NODE_DOT3:\n");
mzta 0:158c61bb030f 12135 mrb_parser_dump(mrb, tree->car, offset+1);
mzta 0:158c61bb030f 12136 mrb_parser_dump(mrb, tree->cdr, offset+1);
mzta 0:158c61bb030f 12137 break;
mzta 0:158c61bb030f 12138
mzta 0:158c61bb030f 12139 case NODE_COLON2:
mzta 0:158c61bb030f 12140 printf("NODE_COLON2:\n");
mzta 0:158c61bb030f 12141 mrb_parser_dump(mrb, tree->car, offset+1);
mzta 0:158c61bb030f 12142 dump_prefix(tree, offset+1);
mzta 0:158c61bb030f 12143 printf("::%s\n", mrb_sym2name(mrb, sym(tree->cdr)));
mzta 0:158c61bb030f 12144 break;
mzta 0:158c61bb030f 12145
mzta 0:158c61bb030f 12146 case NODE_COLON3:
mzta 0:158c61bb030f 12147 printf("NODE_COLON3:\n");
mzta 0:158c61bb030f 12148 dump_prefix(tree, offset+1);
mzta 0:158c61bb030f 12149 printf("::%s\n", mrb_sym2name(mrb, sym(tree)));
mzta 0:158c61bb030f 12150 break;
mzta 0:158c61bb030f 12151
mzta 0:158c61bb030f 12152 case NODE_ARRAY:
mzta 0:158c61bb030f 12153 printf("NODE_ARRAY:\n");
mzta 0:158c61bb030f 12154 dump_recur(mrb, tree, offset+1);
mzta 0:158c61bb030f 12155 break;
mzta 0:158c61bb030f 12156
mzta 0:158c61bb030f 12157 case NODE_HASH:
mzta 0:158c61bb030f 12158 printf("NODE_HASH:\n");
mzta 0:158c61bb030f 12159 while (tree) {
mzta 0:158c61bb030f 12160 dump_prefix(tree, offset+1);
mzta 0:158c61bb030f 12161 printf("key:\n");
mzta 0:158c61bb030f 12162 mrb_parser_dump(mrb, tree->car->car, offset+2);
mzta 0:158c61bb030f 12163 dump_prefix(tree, offset+1);
mzta 0:158c61bb030f 12164 printf("value:\n");
mzta 0:158c61bb030f 12165 mrb_parser_dump(mrb, tree->car->cdr, offset+2);
mzta 0:158c61bb030f 12166 tree = tree->cdr;
mzta 0:158c61bb030f 12167 }
mzta 0:158c61bb030f 12168 break;
mzta 0:158c61bb030f 12169
mzta 0:158c61bb030f 12170 case NODE_SPLAT:
mzta 0:158c61bb030f 12171 printf("NODE_SPLAT:\n");
mzta 0:158c61bb030f 12172 mrb_parser_dump(mrb, tree, offset+1);
mzta 0:158c61bb030f 12173 break;
mzta 0:158c61bb030f 12174
mzta 0:158c61bb030f 12175 case NODE_ASGN:
mzta 0:158c61bb030f 12176 printf("NODE_ASGN:\n");
mzta 0:158c61bb030f 12177 dump_prefix(tree, offset+1);
mzta 0:158c61bb030f 12178 printf("lhs:\n");
mzta 0:158c61bb030f 12179 mrb_parser_dump(mrb, tree->car, offset+2);
mzta 0:158c61bb030f 12180 dump_prefix(tree, offset+1);
mzta 0:158c61bb030f 12181 printf("rhs:\n");
mzta 0:158c61bb030f 12182 mrb_parser_dump(mrb, tree->cdr, offset+2);
mzta 0:158c61bb030f 12183 break;
mzta 0:158c61bb030f 12184
mzta 0:158c61bb030f 12185 case NODE_MASGN:
mzta 0:158c61bb030f 12186 printf("NODE_MASGN:\n");
mzta 0:158c61bb030f 12187 dump_prefix(tree, offset+1);
mzta 0:158c61bb030f 12188 printf("mlhs:\n");
mzta 0:158c61bb030f 12189 {
mzta 0:158c61bb030f 12190 node *n2 = tree->car;
mzta 0:158c61bb030f 12191
mzta 0:158c61bb030f 12192 if (n2->car) {
mzta 0:158c61bb030f 12193 dump_prefix(tree, offset+2);
mzta 0:158c61bb030f 12194 printf("pre:\n");
mzta 0:158c61bb030f 12195 dump_recur(mrb, n2->car, offset+3);
mzta 0:158c61bb030f 12196 }
mzta 0:158c61bb030f 12197 n2 = n2->cdr;
mzta 0:158c61bb030f 12198 if (n2) {
mzta 0:158c61bb030f 12199 if (n2->car) {
mzta 0:158c61bb030f 12200 dump_prefix(n2, offset+2);
mzta 0:158c61bb030f 12201 printf("rest:\n");
mzta 0:158c61bb030f 12202 if (n2->car == (node*)-1) {
mzta 0:158c61bb030f 12203 dump_prefix(n2, offset+2);
mzta 0:158c61bb030f 12204 printf("(empty)\n");
mzta 0:158c61bb030f 12205 }
mzta 0:158c61bb030f 12206 else {
mzta 0:158c61bb030f 12207 mrb_parser_dump(mrb, n2->car, offset+3);
mzta 0:158c61bb030f 12208 }
mzta 0:158c61bb030f 12209 }
mzta 0:158c61bb030f 12210 n2 = n2->cdr;
mzta 0:158c61bb030f 12211 if (n2) {
mzta 0:158c61bb030f 12212 if (n2->car) {
mzta 0:158c61bb030f 12213 dump_prefix(n2, offset+2);
mzta 0:158c61bb030f 12214 printf("post:\n");
mzta 0:158c61bb030f 12215 dump_recur(mrb, n2->car, offset+3);
mzta 0:158c61bb030f 12216 }
mzta 0:158c61bb030f 12217 }
mzta 0:158c61bb030f 12218 }
mzta 0:158c61bb030f 12219 }
mzta 0:158c61bb030f 12220 dump_prefix(tree, offset+1);
mzta 0:158c61bb030f 12221 printf("rhs:\n");
mzta 0:158c61bb030f 12222 mrb_parser_dump(mrb, tree->cdr, offset+2);
mzta 0:158c61bb030f 12223 break;
mzta 0:158c61bb030f 12224
mzta 0:158c61bb030f 12225 case NODE_OP_ASGN:
mzta 0:158c61bb030f 12226 printf("NODE_OP_ASGN:\n");
mzta 0:158c61bb030f 12227 dump_prefix(tree, offset+1);
mzta 0:158c61bb030f 12228 printf("lhs:\n");
mzta 0:158c61bb030f 12229 mrb_parser_dump(mrb, tree->car, offset+2);
mzta 0:158c61bb030f 12230 tree = tree->cdr;
mzta 0:158c61bb030f 12231 dump_prefix(tree, offset+1);
mzta 0:158c61bb030f 12232 printf("op='%s' (%d)\n", mrb_sym2name(mrb, sym(tree->car)), (int)(intptr_t)tree->car);
mzta 0:158c61bb030f 12233 tree = tree->cdr;
mzta 0:158c61bb030f 12234 mrb_parser_dump(mrb, tree->car, offset+1);
mzta 0:158c61bb030f 12235 break;
mzta 0:158c61bb030f 12236
mzta 0:158c61bb030f 12237 case NODE_SUPER:
mzta 0:158c61bb030f 12238 printf("NODE_SUPER:\n");
mzta 0:158c61bb030f 12239 if (tree) {
mzta 0:158c61bb030f 12240 dump_prefix(tree, offset+1);
mzta 0:158c61bb030f 12241 printf("args:\n");
mzta 0:158c61bb030f 12242 dump_recur(mrb, tree->car, offset+2);
mzta 0:158c61bb030f 12243 if (tree->cdr) {
mzta 0:158c61bb030f 12244 dump_prefix(tree, offset+1);
mzta 0:158c61bb030f 12245 printf("block:\n");
mzta 0:158c61bb030f 12246 mrb_parser_dump(mrb, tree->cdr, offset+2);
mzta 0:158c61bb030f 12247 }
mzta 0:158c61bb030f 12248 }
mzta 0:158c61bb030f 12249 break;
mzta 0:158c61bb030f 12250
mzta 0:158c61bb030f 12251 case NODE_ZSUPER:
mzta 0:158c61bb030f 12252 printf("NODE_ZSUPER\n");
mzta 0:158c61bb030f 12253 break;
mzta 0:158c61bb030f 12254
mzta 0:158c61bb030f 12255 case NODE_RETURN:
mzta 0:158c61bb030f 12256 printf("NODE_RETURN:\n");
mzta 0:158c61bb030f 12257 mrb_parser_dump(mrb, tree, offset+1);
mzta 0:158c61bb030f 12258 break;
mzta 0:158c61bb030f 12259
mzta 0:158c61bb030f 12260 case NODE_YIELD:
mzta 0:158c61bb030f 12261 printf("NODE_YIELD:\n");
mzta 0:158c61bb030f 12262 dump_recur(mrb, tree, offset+1);
mzta 0:158c61bb030f 12263 break;
mzta 0:158c61bb030f 12264
mzta 0:158c61bb030f 12265 case NODE_BREAK:
mzta 0:158c61bb030f 12266 printf("NODE_BREAK:\n");
mzta 0:158c61bb030f 12267 mrb_parser_dump(mrb, tree, offset+1);
mzta 0:158c61bb030f 12268 break;
mzta 0:158c61bb030f 12269
mzta 0:158c61bb030f 12270 case NODE_NEXT:
mzta 0:158c61bb030f 12271 printf("NODE_NEXT:\n");
mzta 0:158c61bb030f 12272 mrb_parser_dump(mrb, tree, offset+1);
mzta 0:158c61bb030f 12273 break;
mzta 0:158c61bb030f 12274
mzta 0:158c61bb030f 12275 case NODE_REDO:
mzta 0:158c61bb030f 12276 printf("NODE_REDO\n");
mzta 0:158c61bb030f 12277 break;
mzta 0:158c61bb030f 12278
mzta 0:158c61bb030f 12279 case NODE_RETRY:
mzta 0:158c61bb030f 12280 printf("NODE_RETRY\n");
mzta 0:158c61bb030f 12281 break;
mzta 0:158c61bb030f 12282
mzta 0:158c61bb030f 12283 case NODE_LVAR:
mzta 0:158c61bb030f 12284 printf("NODE_LVAR %s\n", mrb_sym2name(mrb, sym(tree)));
mzta 0:158c61bb030f 12285 break;
mzta 0:158c61bb030f 12286
mzta 0:158c61bb030f 12287 case NODE_GVAR:
mzta 0:158c61bb030f 12288 printf("NODE_GVAR %s\n", mrb_sym2name(mrb, sym(tree)));
mzta 0:158c61bb030f 12289 break;
mzta 0:158c61bb030f 12290
mzta 0:158c61bb030f 12291 case NODE_IVAR:
mzta 0:158c61bb030f 12292 printf("NODE_IVAR %s\n", mrb_sym2name(mrb, sym(tree)));
mzta 0:158c61bb030f 12293 break;
mzta 0:158c61bb030f 12294
mzta 0:158c61bb030f 12295 case NODE_CVAR:
mzta 0:158c61bb030f 12296 printf("NODE_CVAR %s\n", mrb_sym2name(mrb, sym(tree)));
mzta 0:158c61bb030f 12297 break;
mzta 0:158c61bb030f 12298
mzta 0:158c61bb030f 12299 case NODE_CONST:
mzta 0:158c61bb030f 12300 printf("NODE_CONST %s\n", mrb_sym2name(mrb, sym(tree)));
mzta 0:158c61bb030f 12301 break;
mzta 0:158c61bb030f 12302
mzta 0:158c61bb030f 12303 case NODE_MATCH:
mzta 0:158c61bb030f 12304 printf("NODE_MATCH:\n");
mzta 0:158c61bb030f 12305 dump_prefix(tree, offset + 1);
mzta 0:158c61bb030f 12306 printf("lhs:\n");
mzta 0:158c61bb030f 12307 mrb_parser_dump(mrb, tree->car, offset + 2);
mzta 0:158c61bb030f 12308 dump_prefix(tree, offset + 1);
mzta 0:158c61bb030f 12309 printf("rhs:\n");
mzta 0:158c61bb030f 12310 mrb_parser_dump(mrb, tree->cdr, offset + 2);
mzta 0:158c61bb030f 12311 break;
mzta 0:158c61bb030f 12312
mzta 0:158c61bb030f 12313 case NODE_BACK_REF:
mzta 0:158c61bb030f 12314 printf("NODE_BACK_REF: $%c\n", (int)(intptr_t)tree);
mzta 0:158c61bb030f 12315 break;
mzta 0:158c61bb030f 12316
mzta 0:158c61bb030f 12317 case NODE_NTH_REF:
mzta 0:158c61bb030f 12318 printf("NODE_NTH_REF: $%d\n", (int)(intptr_t)tree);
mzta 0:158c61bb030f 12319 break;
mzta 0:158c61bb030f 12320
mzta 0:158c61bb030f 12321 case NODE_ARG:
mzta 0:158c61bb030f 12322 printf("NODE_ARG %s\n", mrb_sym2name(mrb, sym(tree)));
mzta 0:158c61bb030f 12323 break;
mzta 0:158c61bb030f 12324
mzta 0:158c61bb030f 12325 case NODE_BLOCK_ARG:
mzta 0:158c61bb030f 12326 printf("NODE_BLOCK_ARG:\n");
mzta 0:158c61bb030f 12327 mrb_parser_dump(mrb, tree, offset+1);
mzta 0:158c61bb030f 12328 break;
mzta 0:158c61bb030f 12329
mzta 0:158c61bb030f 12330 case NODE_INT:
mzta 0:158c61bb030f 12331 printf("NODE_INT %s base %d\n", (char*)tree->car, (int)(intptr_t)tree->cdr->car);
mzta 0:158c61bb030f 12332 break;
mzta 0:158c61bb030f 12333
mzta 0:158c61bb030f 12334 case NODE_FLOAT:
mzta 0:158c61bb030f 12335 printf("NODE_FLOAT %s\n", (char*)tree);
mzta 0:158c61bb030f 12336 break;
mzta 0:158c61bb030f 12337
mzta 0:158c61bb030f 12338 case NODE_NEGATE:
mzta 0:158c61bb030f 12339 printf("NODE_NEGATE\n");
mzta 0:158c61bb030f 12340 mrb_parser_dump(mrb, tree, offset+1);
mzta 0:158c61bb030f 12341 break;
mzta 0:158c61bb030f 12342
mzta 0:158c61bb030f 12343 case NODE_STR:
mzta 0:158c61bb030f 12344 printf("NODE_STR \"%s\" len %d\n", (char*)tree->car, (int)(intptr_t)tree->cdr);
mzta 0:158c61bb030f 12345 break;
mzta 0:158c61bb030f 12346
mzta 0:158c61bb030f 12347 case NODE_DSTR:
mzta 0:158c61bb030f 12348 printf("NODE_DSTR\n");
mzta 0:158c61bb030f 12349 dump_recur(mrb, tree, offset+1);
mzta 0:158c61bb030f 12350 break;
mzta 0:158c61bb030f 12351
mzta 0:158c61bb030f 12352 case NODE_XSTR:
mzta 0:158c61bb030f 12353 printf("NODE_XSTR \"%s\" len %d\n", (char*)tree->car, (int)(intptr_t)tree->cdr);
mzta 0:158c61bb030f 12354 break;
mzta 0:158c61bb030f 12355
mzta 0:158c61bb030f 12356 case NODE_DXSTR:
mzta 0:158c61bb030f 12357 printf("NODE_DXSTR\n");
mzta 0:158c61bb030f 12358 dump_recur(mrb, tree, offset+1);
mzta 0:158c61bb030f 12359 break;
mzta 0:158c61bb030f 12360
mzta 0:158c61bb030f 12361 case NODE_REGX:
mzta 0:158c61bb030f 12362 printf("NODE_REGX /%s/%s\n", (char*)tree->car, (char*)tree->cdr);
mzta 0:158c61bb030f 12363 break;
mzta 0:158c61bb030f 12364
mzta 0:158c61bb030f 12365 case NODE_DREGX:
mzta 0:158c61bb030f 12366 printf("NODE_DREGX\n");
mzta 0:158c61bb030f 12367 dump_recur(mrb, tree->car, offset+1);
mzta 0:158c61bb030f 12368 dump_prefix(tree, offset);
mzta 0:158c61bb030f 12369 printf("tail: %s\n", (char*)tree->cdr->cdr->car);
mzta 0:158c61bb030f 12370 dump_prefix(tree, offset);
mzta 0:158c61bb030f 12371 printf("opt: %s\n", (char*)tree->cdr->cdr->cdr);
mzta 0:158c61bb030f 12372 break;
mzta 0:158c61bb030f 12373
mzta 0:158c61bb030f 12374 case NODE_SYM:
mzta 0:158c61bb030f 12375 printf("NODE_SYM :%s\n", mrb_sym2name(mrb, sym(tree)));
mzta 0:158c61bb030f 12376 break;
mzta 0:158c61bb030f 12377
mzta 0:158c61bb030f 12378 case NODE_SELF:
mzta 0:158c61bb030f 12379 printf("NODE_SELF\n");
mzta 0:158c61bb030f 12380 break;
mzta 0:158c61bb030f 12381
mzta 0:158c61bb030f 12382 case NODE_NIL:
mzta 0:158c61bb030f 12383 printf("NODE_NIL\n");
mzta 0:158c61bb030f 12384 break;
mzta 0:158c61bb030f 12385
mzta 0:158c61bb030f 12386 case NODE_TRUE:
mzta 0:158c61bb030f 12387 printf("NODE_TRUE\n");
mzta 0:158c61bb030f 12388 break;
mzta 0:158c61bb030f 12389
mzta 0:158c61bb030f 12390 case NODE_FALSE:
mzta 0:158c61bb030f 12391 printf("NODE_FALSE\n");
mzta 0:158c61bb030f 12392 break;
mzta 0:158c61bb030f 12393
mzta 0:158c61bb030f 12394 case NODE_ALIAS:
mzta 0:158c61bb030f 12395 printf("NODE_ALIAS %s %s:\n",
mzta 0:158c61bb030f 12396 mrb_sym2name(mrb, sym(tree->car)),
mzta 0:158c61bb030f 12397 mrb_sym2name(mrb, sym(tree->cdr)));
mzta 0:158c61bb030f 12398 break;
mzta 0:158c61bb030f 12399
mzta 0:158c61bb030f 12400 case NODE_UNDEF:
mzta 0:158c61bb030f 12401 printf("NODE_UNDEF");
mzta 0:158c61bb030f 12402 {
mzta 0:158c61bb030f 12403 node *t = tree;
mzta 0:158c61bb030f 12404 while (t) {
mzta 0:158c61bb030f 12405 printf(" %s", mrb_sym2name(mrb, sym(t->car)));
mzta 0:158c61bb030f 12406 t = t->cdr;
mzta 0:158c61bb030f 12407 }
mzta 0:158c61bb030f 12408 }
mzta 0:158c61bb030f 12409 printf(":\n");
mzta 0:158c61bb030f 12410 break;
mzta 0:158c61bb030f 12411
mzta 0:158c61bb030f 12412 case NODE_CLASS:
mzta 0:158c61bb030f 12413 printf("NODE_CLASS:\n");
mzta 0:158c61bb030f 12414 if (tree->car->car == (node*)0) {
mzta 0:158c61bb030f 12415 dump_prefix(tree, offset+1);
mzta 0:158c61bb030f 12416 printf(":%s\n", mrb_sym2name(mrb, sym(tree->car->cdr)));
mzta 0:158c61bb030f 12417 }
mzta 0:158c61bb030f 12418 else if (tree->car->car == (node*)1) {
mzta 0:158c61bb030f 12419 dump_prefix(tree, offset+1);
mzta 0:158c61bb030f 12420 printf("::%s\n", mrb_sym2name(mrb, sym(tree->car->cdr)));
mzta 0:158c61bb030f 12421 }
mzta 0:158c61bb030f 12422 else {
mzta 0:158c61bb030f 12423 mrb_parser_dump(mrb, tree->car->car, offset+1);
mzta 0:158c61bb030f 12424 dump_prefix(tree, offset+1);
mzta 0:158c61bb030f 12425 printf("::%s\n", mrb_sym2name(mrb, sym(tree->car->cdr)));
mzta 0:158c61bb030f 12426 }
mzta 0:158c61bb030f 12427 if (tree->cdr->car) {
mzta 0:158c61bb030f 12428 dump_prefix(tree, offset+1);
mzta 0:158c61bb030f 12429 printf("super:\n");
mzta 0:158c61bb030f 12430 mrb_parser_dump(mrb, tree->cdr->car, offset+2);
mzta 0:158c61bb030f 12431 }
mzta 0:158c61bb030f 12432 dump_prefix(tree, offset+1);
mzta 0:158c61bb030f 12433 printf("body:\n");
mzta 0:158c61bb030f 12434 mrb_parser_dump(mrb, tree->cdr->cdr->car->cdr, offset+2);
mzta 0:158c61bb030f 12435 break;
mzta 0:158c61bb030f 12436
mzta 0:158c61bb030f 12437 case NODE_MODULE:
mzta 0:158c61bb030f 12438 printf("NODE_MODULE:\n");
mzta 0:158c61bb030f 12439 if (tree->car->car == (node*)0) {
mzta 0:158c61bb030f 12440 dump_prefix(tree, offset+1);
mzta 0:158c61bb030f 12441 printf(":%s\n", mrb_sym2name(mrb, sym(tree->car->cdr)));
mzta 0:158c61bb030f 12442 }
mzta 0:158c61bb030f 12443 else if (tree->car->car == (node*)1) {
mzta 0:158c61bb030f 12444 dump_prefix(tree, offset+1);
mzta 0:158c61bb030f 12445 printf("::%s\n", mrb_sym2name(mrb, sym(tree->car->cdr)));
mzta 0:158c61bb030f 12446 }
mzta 0:158c61bb030f 12447 else {
mzta 0:158c61bb030f 12448 mrb_parser_dump(mrb, tree->car->car, offset+1);
mzta 0:158c61bb030f 12449 dump_prefix(tree, offset+1);
mzta 0:158c61bb030f 12450 printf("::%s\n", mrb_sym2name(mrb, sym(tree->car->cdr)));
mzta 0:158c61bb030f 12451 }
mzta 0:158c61bb030f 12452 dump_prefix(tree, offset+1);
mzta 0:158c61bb030f 12453 printf("body:\n");
mzta 0:158c61bb030f 12454 mrb_parser_dump(mrb, tree->cdr->car->cdr, offset+2);
mzta 0:158c61bb030f 12455 break;
mzta 0:158c61bb030f 12456
mzta 0:158c61bb030f 12457 case NODE_SCLASS:
mzta 0:158c61bb030f 12458 printf("NODE_SCLASS:\n");
mzta 0:158c61bb030f 12459 mrb_parser_dump(mrb, tree->car, offset+1);
mzta 0:158c61bb030f 12460 dump_prefix(tree, offset+1);
mzta 0:158c61bb030f 12461 printf("body:\n");
mzta 0:158c61bb030f 12462 mrb_parser_dump(mrb, tree->cdr->car->cdr, offset+2);
mzta 0:158c61bb030f 12463 break;
mzta 0:158c61bb030f 12464
mzta 0:158c61bb030f 12465 case NODE_DEF:
mzta 0:158c61bb030f 12466 printf("NODE_DEF:\n");
mzta 0:158c61bb030f 12467 dump_prefix(tree, offset+1);
mzta 0:158c61bb030f 12468 printf("%s\n", mrb_sym2name(mrb, sym(tree->car)));
mzta 0:158c61bb030f 12469 tree = tree->cdr;
mzta 0:158c61bb030f 12470 {
mzta 0:158c61bb030f 12471 node *n2 = tree->car;
mzta 0:158c61bb030f 12472 mrb_bool first_lval = TRUE;
mzta 0:158c61bb030f 12473
mzta 0:158c61bb030f 12474 if (n2 && (n2->car || n2->cdr)) {
mzta 0:158c61bb030f 12475 dump_prefix(n2, offset+1);
mzta 0:158c61bb030f 12476 printf("local variables:\n");
mzta 0:158c61bb030f 12477 dump_prefix(n2, offset+2);
mzta 0:158c61bb030f 12478 while (n2) {
mzta 0:158c61bb030f 12479 if (n2->car) {
mzta 0:158c61bb030f 12480 if (!first_lval) printf(", ");
mzta 0:158c61bb030f 12481 printf("%s", mrb_sym2name(mrb, sym(n2->car)));
mzta 0:158c61bb030f 12482 first_lval = FALSE;
mzta 0:158c61bb030f 12483 }
mzta 0:158c61bb030f 12484 n2 = n2->cdr;
mzta 0:158c61bb030f 12485 }
mzta 0:158c61bb030f 12486 printf("\n");
mzta 0:158c61bb030f 12487 }
mzta 0:158c61bb030f 12488 }
mzta 0:158c61bb030f 12489 tree = tree->cdr;
mzta 0:158c61bb030f 12490 if (tree->car) {
mzta 0:158c61bb030f 12491 node *n = tree->car;
mzta 0:158c61bb030f 12492
mzta 0:158c61bb030f 12493 if (n->car) {
mzta 0:158c61bb030f 12494 dump_prefix(n, offset+1);
mzta 0:158c61bb030f 12495 printf("mandatory args:\n");
mzta 0:158c61bb030f 12496 dump_recur(mrb, n->car, offset+2);
mzta 0:158c61bb030f 12497 }
mzta 0:158c61bb030f 12498 n = n->cdr;
mzta 0:158c61bb030f 12499 if (n->car) {
mzta 0:158c61bb030f 12500 dump_prefix(n, offset+1);
mzta 0:158c61bb030f 12501 printf("optional args:\n");
mzta 0:158c61bb030f 12502 {
mzta 0:158c61bb030f 12503 node *n2 = n->car;
mzta 0:158c61bb030f 12504
mzta 0:158c61bb030f 12505 while (n2) {
mzta 0:158c61bb030f 12506 dump_prefix(n2, offset+2);
mzta 0:158c61bb030f 12507 printf("%s=", mrb_sym2name(mrb, sym(n2->car->car)));
mzta 0:158c61bb030f 12508 mrb_parser_dump(mrb, n2->car->cdr, 0);
mzta 0:158c61bb030f 12509 n2 = n2->cdr;
mzta 0:158c61bb030f 12510 }
mzta 0:158c61bb030f 12511 }
mzta 0:158c61bb030f 12512 }
mzta 0:158c61bb030f 12513 n = n->cdr;
mzta 0:158c61bb030f 12514 if (n->car) {
mzta 0:158c61bb030f 12515 dump_prefix(n, offset+1);
mzta 0:158c61bb030f 12516 printf("rest=*%s\n", mrb_sym2name(mrb, sym(n->car)));
mzta 0:158c61bb030f 12517 }
mzta 0:158c61bb030f 12518 n = n->cdr;
mzta 0:158c61bb030f 12519 if (n->car) {
mzta 0:158c61bb030f 12520 dump_prefix(n, offset+1);
mzta 0:158c61bb030f 12521 printf("post mandatory args:\n");
mzta 0:158c61bb030f 12522 dump_recur(mrb, n->car, offset+2);
mzta 0:158c61bb030f 12523 }
mzta 0:158c61bb030f 12524 n = n->cdr;
mzta 0:158c61bb030f 12525 if (n) {
mzta 0:158c61bb030f 12526 dump_prefix(n, offset+1);
mzta 0:158c61bb030f 12527 printf("blk=&%s\n", mrb_sym2name(mrb, sym(n)));
mzta 0:158c61bb030f 12528 }
mzta 0:158c61bb030f 12529 }
mzta 0:158c61bb030f 12530 mrb_parser_dump(mrb, tree->cdr->car, offset+1);
mzta 0:158c61bb030f 12531 break;
mzta 0:158c61bb030f 12532
mzta 0:158c61bb030f 12533 case NODE_SDEF:
mzta 0:158c61bb030f 12534 printf("NODE_SDEF:\n");
mzta 0:158c61bb030f 12535 mrb_parser_dump(mrb, tree->car, offset+1);
mzta 0:158c61bb030f 12536 tree = tree->cdr;
mzta 0:158c61bb030f 12537 dump_prefix(tree, offset+1);
mzta 0:158c61bb030f 12538 printf(":%s\n", mrb_sym2name(mrb, sym(tree->car)));
mzta 0:158c61bb030f 12539 tree = tree->cdr->cdr;
mzta 0:158c61bb030f 12540 if (tree->car) {
mzta 0:158c61bb030f 12541 node *n = tree->car;
mzta 0:158c61bb030f 12542
mzta 0:158c61bb030f 12543 if (n->car) {
mzta 0:158c61bb030f 12544 dump_prefix(n, offset+1);
mzta 0:158c61bb030f 12545 printf("mandatory args:\n");
mzta 0:158c61bb030f 12546 dump_recur(mrb, n->car, offset+2);
mzta 0:158c61bb030f 12547 }
mzta 0:158c61bb030f 12548 n = n->cdr;
mzta 0:158c61bb030f 12549 if (n->car) {
mzta 0:158c61bb030f 12550 dump_prefix(n, offset+1);
mzta 0:158c61bb030f 12551 printf("optional args:\n");
mzta 0:158c61bb030f 12552 {
mzta 0:158c61bb030f 12553 node *n2 = n->car;
mzta 0:158c61bb030f 12554
mzta 0:158c61bb030f 12555 while (n2) {
mzta 0:158c61bb030f 12556 dump_prefix(n2, offset+2);
mzta 0:158c61bb030f 12557 printf("%s=", mrb_sym2name(mrb, sym(n2->car->car)));
mzta 0:158c61bb030f 12558 mrb_parser_dump(mrb, n2->car->cdr, 0);
mzta 0:158c61bb030f 12559 n2 = n2->cdr;
mzta 0:158c61bb030f 12560 }
mzta 0:158c61bb030f 12561 }
mzta 0:158c61bb030f 12562 }
mzta 0:158c61bb030f 12563 n = n->cdr;
mzta 0:158c61bb030f 12564 if (n->car) {
mzta 0:158c61bb030f 12565 dump_prefix(n, offset+1);
mzta 0:158c61bb030f 12566 printf("rest=*%s\n", mrb_sym2name(mrb, sym(n->car)));
mzta 0:158c61bb030f 12567 }
mzta 0:158c61bb030f 12568 n = n->cdr;
mzta 0:158c61bb030f 12569 if (n->car) {
mzta 0:158c61bb030f 12570 dump_prefix(n, offset+1);
mzta 0:158c61bb030f 12571 printf("post mandatory args:\n");
mzta 0:158c61bb030f 12572 dump_recur(mrb, n->car, offset+2);
mzta 0:158c61bb030f 12573 }
mzta 0:158c61bb030f 12574 n = n->cdr;
mzta 0:158c61bb030f 12575 if (n) {
mzta 0:158c61bb030f 12576 dump_prefix(n, offset+1);
mzta 0:158c61bb030f 12577 printf("blk=&%s\n", mrb_sym2name(mrb, sym(n)));
mzta 0:158c61bb030f 12578 }
mzta 0:158c61bb030f 12579 }
mzta 0:158c61bb030f 12580 tree = tree->cdr;
mzta 0:158c61bb030f 12581 mrb_parser_dump(mrb, tree->car, offset+1);
mzta 0:158c61bb030f 12582 break;
mzta 0:158c61bb030f 12583
mzta 0:158c61bb030f 12584 case NODE_POSTEXE:
mzta 0:158c61bb030f 12585 printf("NODE_POSTEXE:\n");
mzta 0:158c61bb030f 12586 mrb_parser_dump(mrb, tree, offset+1);
mzta 0:158c61bb030f 12587 break;
mzta 0:158c61bb030f 12588
mzta 0:158c61bb030f 12589 case NODE_HEREDOC:
mzta 0:158c61bb030f 12590 printf("NODE_HEREDOC:\n");
mzta 0:158c61bb030f 12591 mrb_parser_dump(mrb, ((parser_heredoc_info*)tree)->doc, offset+1);
mzta 0:158c61bb030f 12592 break;
mzta 0:158c61bb030f 12593
mzta 0:158c61bb030f 12594 default:
mzta 0:158c61bb030f 12595 printf("node type: %d (0x%x)\n", nodetype, (unsigned)nodetype);
mzta 0:158c61bb030f 12596 break;
mzta 0:158c61bb030f 12597 }
mzta 0:158c61bb030f 12598 #endif
mzta 0:158c61bb030f 12599 }
mzta 0:158c61bb030f 12600
mzta 0:158c61bb030f 12601