fancy 0.3.2 → 0.3.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (98) hide show
  1. data/README.md +4 -1
  2. data/Rakefile +8 -0
  3. data/bin/fyi +25 -20
  4. data/bin/ifancy +39 -5
  5. data/{extconf.rb → boot/extconf.rb} +1 -1
  6. data/boot/fancy_ext/block_env.rb +0 -14
  7. data/boot/fancy_ext/kernel.rb +6 -2
  8. data/boot/rbx-compiler/parser/fancy_parser.bundle +0 -0
  9. data/examples/actor.fy +37 -0
  10. data/examples/armstrong_numbers.fy +1 -1
  11. data/examples/curl_async.fy +37 -0
  12. data/examples/echo.fy +1 -1
  13. data/examples/factorial.fy +1 -1
  14. data/examples/future_composition.fy +20 -0
  15. data/examples/game_of_life.fy +2 -2
  16. data/examples/person.fy +4 -8
  17. data/examples/rbx/blocks.fy +1 -1
  18. data/examples/return.fy +1 -1
  19. data/examples/struct.fy +9 -0
  20. data/lib/argv.fy +2 -2
  21. data/lib/array.fy +157 -0
  22. data/lib/block.fy +18 -1
  23. data/lib/boot.fy +5 -1
  24. data/lib/compiler/ast/class_def.fy +1 -1
  25. data/lib/compiler/ast/identifier.fy +2 -2
  26. data/lib/compiler/ast/message_send.fy +2 -2
  27. data/lib/compiler/ast/method_def.fy +2 -2
  28. data/lib/compiler/ast/try_catch.fy +5 -1
  29. data/lib/documentation.fy +1 -1
  30. data/lib/enumerable.fy +3 -7
  31. data/lib/enumerator.fy +77 -0
  32. data/lib/false_class.fy +52 -0
  33. data/lib/fancy_spec.fy +40 -12
  34. data/lib/fdoc.fy +2 -2
  35. data/lib/file.fy +8 -1
  36. data/lib/future.fy +23 -2
  37. data/lib/iteration.fy +60 -0
  38. data/lib/main.fy +4 -4
  39. data/lib/nil_class.fy +14 -22
  40. data/lib/number.fy +51 -0
  41. data/lib/object.fy +126 -43
  42. data/lib/package/installer.fy +1 -1
  43. data/lib/parser/ext/lexer.lex +6 -1
  44. data/lib/parser/ext/parser.y +18 -0
  45. data/lib/parser/methods.fy +20 -2
  46. data/lib/proxy.fy +20 -3
  47. data/lib/rbx.fy +0 -1
  48. data/lib/rbx/array.fy +4 -138
  49. data/lib/rbx/block.fy +25 -1
  50. data/lib/rbx/class.fy +21 -0
  51. data/lib/rbx/exception.fy +1 -0
  52. data/lib/rbx/fiber.fy +1 -0
  53. data/lib/rbx/file.fy +8 -0
  54. data/lib/rbx/integer.fy +0 -8
  55. data/lib/rbx/method.fy +34 -7
  56. data/lib/rbx/no_method_error.fy +8 -1
  57. data/lib/rbx/object.fy +3 -32
  58. data/lib/rbx/range.fy +13 -1
  59. data/lib/rbx/regexp.fy +3 -0
  60. data/lib/rbx/string.fy +6 -1
  61. data/lib/rbx/system.fy +20 -2
  62. data/lib/set.fy +2 -2
  63. data/lib/string.fy +1 -1
  64. data/lib/struct.fy +15 -12
  65. data/lib/symbol.fy +2 -2
  66. data/lib/true_class.fy +16 -20
  67. data/lib/version.fy +1 -1
  68. data/tests/argv.fy +1 -0
  69. data/tests/array.fy +33 -2
  70. data/tests/block.fy +44 -0
  71. data/tests/class.fy +102 -88
  72. data/tests/control_flow.fy +131 -8
  73. data/tests/enumerator.fy +85 -0
  74. data/tests/exception.fy +13 -13
  75. data/tests/file.fy +4 -13
  76. data/tests/future.fy +26 -0
  77. data/tests/method.fy +83 -72
  78. data/tests/nil_class.fy +20 -13
  79. data/tests/number.fy +16 -9
  80. data/tests/object.fy +39 -20
  81. data/tests/string.fy +7 -0
  82. data/tests/true_class.fy +4 -4
  83. data/tools/fancy-mode.el +1 -1
  84. metadata +15 -20
  85. data/boot/compiler/parser/ext/fancy_parser.bundle +0 -0
  86. data/boot/rbx-compiler/parser/Makefile +0 -162
  87. data/boot/rbx-compiler/parser/lexer.c +0 -2316
  88. data/boot/rbx-compiler/parser/lexer.h +0 -315
  89. data/boot/rbx-compiler/parser/parser.c +0 -3105
  90. data/boot/rbx-compiler/parser/parser.h +0 -114
  91. data/lib/lazy_array.fy +0 -23
  92. data/lib/parser/ext/Makefile +0 -162
  93. data/lib/parser/ext/fancy_parser.bundle +0 -0
  94. data/lib/parser/ext/lexer.c +0 -2360
  95. data/lib/parser/ext/lexer.h +0 -315
  96. data/lib/parser/ext/parser.c +0 -3382
  97. data/lib/parser/ext/parser.h +0 -118
  98. data/lib/rbx/false_class.fy +0 -58
@@ -1,315 +0,0 @@
1
- #ifndef yyHEADER_H
2
- #define yyHEADER_H 1
3
- #define yyIN_HEADER 1
4
-
5
- #line 6 "lexer.h"
6
-
7
- #line 8 "lexer.h"
8
-
9
- #define YY_INT_ALIGNED short int
10
-
11
- /* A lexical scanner generated by flex */
12
-
13
- #define FLEX_SCANNER
14
- #define YY_FLEX_MAJOR_VERSION 2
15
- #define YY_FLEX_MINOR_VERSION 5
16
- #define YY_FLEX_SUBMINOR_VERSION 35
17
- #if YY_FLEX_SUBMINOR_VERSION > 0
18
- #define FLEX_BETA
19
- #endif
20
-
21
- /* First, we deal with platform-specific or compiler-specific issues. */
22
-
23
- /* begin standard C headers. */
24
- #include <stdio.h>
25
- #include <string.h>
26
- #include <errno.h>
27
- #include <stdlib.h>
28
-
29
- /* end standard C headers. */
30
-
31
- /* flex integer type definitions */
32
-
33
- #ifndef FLEXINT_H
34
- #define FLEXINT_H
35
-
36
- /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
37
-
38
- #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
39
-
40
- /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
41
- * if you want the limit (max/min) macros for int types.
42
- */
43
- #ifndef __STDC_LIMIT_MACROS
44
- #define __STDC_LIMIT_MACROS 1
45
- #endif
46
-
47
- #include <inttypes.h>
48
- typedef int8_t flex_int8_t;
49
- typedef uint8_t flex_uint8_t;
50
- typedef int16_t flex_int16_t;
51
- typedef uint16_t flex_uint16_t;
52
- typedef int32_t flex_int32_t;
53
- typedef uint32_t flex_uint32_t;
54
- #else
55
- typedef signed char flex_int8_t;
56
- typedef short int flex_int16_t;
57
- typedef int flex_int32_t;
58
- typedef unsigned char flex_uint8_t;
59
- typedef unsigned short int flex_uint16_t;
60
- typedef unsigned int flex_uint32_t;
61
- #endif /* ! C99 */
62
-
63
- /* Limits of integral types. */
64
- #ifndef INT8_MIN
65
- #define INT8_MIN (-128)
66
- #endif
67
- #ifndef INT16_MIN
68
- #define INT16_MIN (-32767-1)
69
- #endif
70
- #ifndef INT32_MIN
71
- #define INT32_MIN (-2147483647-1)
72
- #endif
73
- #ifndef INT8_MAX
74
- #define INT8_MAX (127)
75
- #endif
76
- #ifndef INT16_MAX
77
- #define INT16_MAX (32767)
78
- #endif
79
- #ifndef INT32_MAX
80
- #define INT32_MAX (2147483647)
81
- #endif
82
- #ifndef UINT8_MAX
83
- #define UINT8_MAX (255U)
84
- #endif
85
- #ifndef UINT16_MAX
86
- #define UINT16_MAX (65535U)
87
- #endif
88
- #ifndef UINT32_MAX
89
- #define UINT32_MAX (4294967295U)
90
- #endif
91
-
92
- #endif /* ! FLEXINT_H */
93
-
94
- #ifdef __cplusplus
95
-
96
- /* The "const" storage-class-modifier is valid. */
97
- #define YY_USE_CONST
98
-
99
- #else /* ! __cplusplus */
100
-
101
- /* C99 requires __STDC__ to be defined as 1. */
102
- #if defined (__STDC__)
103
-
104
- #define YY_USE_CONST
105
-
106
- #endif /* defined (__STDC__) */
107
- #endif /* ! __cplusplus */
108
-
109
- #ifdef YY_USE_CONST
110
- #define yyconst const
111
- #else
112
- #define yyconst
113
- #endif
114
-
115
- /* Size of default input buffer. */
116
- #ifndef YY_BUF_SIZE
117
- #define YY_BUF_SIZE 16384
118
- #endif
119
-
120
- #ifndef YY_TYPEDEF_YY_BUFFER_STATE
121
- #define YY_TYPEDEF_YY_BUFFER_STATE
122
- typedef struct yy_buffer_state *YY_BUFFER_STATE;
123
- #endif
124
-
125
- #ifndef YY_TYPEDEF_YY_SIZE_T
126
- #define YY_TYPEDEF_YY_SIZE_T
127
- typedef size_t yy_size_t;
128
- #endif
129
-
130
- extern yy_size_t yyleng;
131
-
132
- extern FILE *yyin, *yyout;
133
-
134
- #ifndef YY_STRUCT_YY_BUFFER_STATE
135
- #define YY_STRUCT_YY_BUFFER_STATE
136
- struct yy_buffer_state
137
- {
138
- FILE *yy_input_file;
139
-
140
- char *yy_ch_buf; /* input buffer */
141
- char *yy_buf_pos; /* current position in input buffer */
142
-
143
- /* Size of input buffer in bytes, not including room for EOB
144
- * characters.
145
- */
146
- yy_size_t yy_buf_size;
147
-
148
- /* Number of characters read into yy_ch_buf, not including EOB
149
- * characters.
150
- */
151
- yy_size_t yy_n_chars;
152
-
153
- /* Whether we "own" the buffer - i.e., we know we created it,
154
- * and can realloc() it to grow it, and should free() it to
155
- * delete it.
156
- */
157
- int yy_is_our_buffer;
158
-
159
- /* Whether this is an "interactive" input source; if so, and
160
- * if we're using stdio for input, then we want to use getc()
161
- * instead of fread(), to make sure we stop fetching input after
162
- * each newline.
163
- */
164
- int yy_is_interactive;
165
-
166
- /* Whether we're considered to be at the beginning of a line.
167
- * If so, '^' rules will be active on the next match, otherwise
168
- * not.
169
- */
170
- int yy_at_bol;
171
-
172
- int yy_bs_lineno; /**< The line count. */
173
- int yy_bs_column; /**< The column count. */
174
-
175
- /* Whether to try to fill the input buffer when we reach the
176
- * end of it.
177
- */
178
- int yy_fill_buffer;
179
-
180
- int yy_buffer_status;
181
-
182
- };
183
- #endif /* !YY_STRUCT_YY_BUFFER_STATE */
184
-
185
- void yyrestart (FILE *input_file );
186
- void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer );
187
- YY_BUFFER_STATE yy_create_buffer (FILE *file,int size );
188
- void yy_delete_buffer (YY_BUFFER_STATE b );
189
- void yy_flush_buffer (YY_BUFFER_STATE b );
190
- void yypush_buffer_state (YY_BUFFER_STATE new_buffer );
191
- void yypop_buffer_state (void );
192
-
193
- YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size );
194
- YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str );
195
- YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len );
196
-
197
- void *yyalloc (yy_size_t );
198
- void *yyrealloc (void *,yy_size_t );
199
- void yyfree (void * );
200
-
201
- extern int yylineno;
202
-
203
- extern char *yytext;
204
- #define yytext_ptr yytext
205
-
206
- #ifdef YY_HEADER_EXPORT_START_CONDITIONS
207
- #define INITIAL 0
208
-
209
- #endif
210
-
211
- #ifndef YY_NO_UNISTD_H
212
- /* Special case for "unistd.h", since it is non-ANSI. We include it way
213
- * down here because we want the user's section 1 to have been scanned first.
214
- * The user has a chance to override it with an option.
215
- */
216
- #include <unistd.h>
217
- #endif
218
-
219
- #ifndef YY_EXTRA_TYPE
220
- #define YY_EXTRA_TYPE void *
221
- #endif
222
-
223
- /* Accessor methods to globals.
224
- These are made visible to non-reentrant scanners for convenience. */
225
-
226
- int yylex_destroy (void );
227
-
228
- int yyget_debug (void );
229
-
230
- void yyset_debug (int debug_flag );
231
-
232
- YY_EXTRA_TYPE yyget_extra (void );
233
-
234
- void yyset_extra (YY_EXTRA_TYPE user_defined );
235
-
236
- FILE *yyget_in (void );
237
-
238
- void yyset_in (FILE * in_str );
239
-
240
- FILE *yyget_out (void );
241
-
242
- void yyset_out (FILE * out_str );
243
-
244
- yy_size_t yyget_leng (void );
245
-
246
- char *yyget_text (void );
247
-
248
- int yyget_lineno (void );
249
-
250
- void yyset_lineno (int line_number );
251
-
252
- /* Macros after this point can all be overridden by user definitions in
253
- * section 1.
254
- */
255
-
256
- #ifndef YY_SKIP_YYWRAP
257
- #ifdef __cplusplus
258
- extern "C" int yywrap (void );
259
- #else
260
- extern int yywrap (void );
261
- #endif
262
- #endif
263
-
264
- #ifndef yytext_ptr
265
- static void yy_flex_strncpy (char *,yyconst char *,int );
266
- #endif
267
-
268
- #ifdef YY_NEED_STRLEN
269
- static int yy_flex_strlen (yyconst char * );
270
- #endif
271
-
272
- #ifndef YY_NO_INPUT
273
-
274
- #endif
275
-
276
- /* Amount of stuff to slurp up with each read. */
277
- #ifndef YY_READ_BUF_SIZE
278
- #define YY_READ_BUF_SIZE 8192
279
- #endif
280
-
281
- /* Number of entries by which start-condition stack grows. */
282
- #ifndef YY_START_STACK_INCR
283
- #define YY_START_STACK_INCR 25
284
- #endif
285
-
286
- /* Default declaration of generated scanner - a define so the user can
287
- * easily add parameters.
288
- */
289
- #ifndef YY_DECL
290
- #define YY_DECL_IS_OURS 1
291
-
292
- extern int yylex (void);
293
-
294
- #define YY_DECL int yylex (void)
295
- #endif /* !YY_DECL */
296
-
297
- /* yy_get_previous_state - get the state just before the EOB char was reached */
298
-
299
- #undef YY_NEW_FILE
300
- #undef YY_FLUSH_BUFFER
301
- #undef yy_set_bol
302
- #undef yy_new_buffer
303
- #undef yy_set_interactive
304
- #undef YY_DO_BEFORE_ACTION
305
-
306
- #ifdef YY_DECL_IS_OURS
307
- #undef YY_DECL_IS_OURS
308
- #undef YY_DECL
309
- #endif
310
-
311
- #line 192 "/Users/backtype/projects/fancy/lib/parser/ext/lexer.lex"
312
-
313
- #line 314 "lexer.h"
314
- #undef yyIN_HEADER
315
- #endif /* yyHEADER_H */
@@ -1,3382 +0,0 @@
1
- /* A Bison parser, made by GNU Bison 2.4.3. */
2
-
3
- /* Skeleton implementation for Bison's Yacc-like parsers in C
4
-
5
- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
6
- 2009, 2010 Free Software Foundation, Inc.
7
-
8
- This program is free software: you can redistribute it and/or modify
9
- it under the terms of the GNU General Public License as published by
10
- the Free Software Foundation, either version 3 of the License, or
11
- (at your option) any later version.
12
-
13
- This program is distributed in the hope that it will be useful,
14
- but WITHOUT ANY WARRANTY; without even the implied warranty of
15
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
- GNU General Public License for more details.
17
-
18
- You should have received a copy of the GNU General Public License
19
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
20
-
21
- /* As a special exception, you may create a larger work that contains
22
- part or all of the Bison parser skeleton and distribute that work
23
- under terms of your choice, so long as that work isn't itself a
24
- parser generator using the skeleton or a modified version thereof
25
- as a parser skeleton. Alternatively, if you modify or redistribute
26
- the parser skeleton itself, you may (at your option) remove this
27
- special exception, which will cause the skeleton and the resulting
28
- Bison output files to be licensed under the GNU General Public
29
- License without this special exception.
30
-
31
- This special exception was added by the Free Software Foundation in
32
- version 2.2 of Bison. */
33
-
34
- /* C LALR(1) parser skeleton written by Richard Stallman, by
35
- simplifying the original so-called "semantic" parser. */
36
-
37
- /* All symbols defined below should begin with yy or YY, to avoid
38
- infringing on user name space. This should be done even for local
39
- variables, as they might otherwise be expanded by user macros.
40
- There are some unavoidable exceptions within include files to
41
- define necessary library symbols; they are noted "INFRINGES ON
42
- USER NAME SPACE" below. */
43
-
44
- /* Identify Bison output. */
45
- #define YYBISON 1
46
-
47
- /* Bison version. */
48
- #define YYBISON_VERSION "2.4.3"
49
-
50
- /* Skeleton name. */
51
- #define YYSKELETON_NAME "yacc.c"
52
-
53
- /* Pure parsers. */
54
- #define YYPURE 0
55
-
56
- /* Push parsers. */
57
- #define YYPUSH 0
58
-
59
- /* Pull parsers. */
60
- #define YYPULL 1
61
-
62
- /* Using locations. */
63
- #define YYLSP_NEEDED 0
64
-
65
-
66
-
67
- /* Copy the first part of user declarations. */
68
-
69
- /* Line 189 of yacc.c */
70
- #line 1 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
71
-
72
- #include "ruby.h"
73
-
74
- int yyerror(VALUE, char *s);
75
- int yylex(VALUE);
76
-
77
- VALUE fy_terminal_node(VALUE, char *);
78
- VALUE fy_terminal_node_from(VALUE, char *, char*);
79
-
80
- extern int yylineno;
81
- extern char *yytext;
82
-
83
-
84
-
85
- /* Line 189 of yacc.c */
86
- #line 87 "/Users/backtype/projects/fancy/lib/parser/ext/parser.c"
87
-
88
- /* Enabling traces. */
89
- #ifndef YYDEBUG
90
- # define YYDEBUG 0
91
- #endif
92
-
93
- /* Enabling verbose error messages. */
94
- #ifdef YYERROR_VERBOSE
95
- # undef YYERROR_VERBOSE
96
- # define YYERROR_VERBOSE 1
97
- #else
98
- # define YYERROR_VERBOSE 0
99
- #endif
100
-
101
- /* Enabling the token table. */
102
- #ifndef YYTOKEN_TABLE
103
- # define YYTOKEN_TABLE 0
104
- #endif
105
-
106
-
107
- /* Tokens. */
108
- #ifndef YYTOKENTYPE
109
- # define YYTOKENTYPE
110
- /* Put the tokens into the symbol table, so that GDB and other debuggers
111
- know about them. */
112
- enum yytokentype {
113
- LPAREN = 258,
114
- RPAREN = 259,
115
- FUTURE_SEND = 260,
116
- ASYNC_SEND = 261,
117
- AT_LCURLY = 262,
118
- LCURLY = 263,
119
- RCURLY = 264,
120
- LBRACKET = 265,
121
- RBRACKET = 266,
122
- LHASH = 267,
123
- RHASH = 268,
124
- STAB = 269,
125
- ARROW = 270,
126
- THIN_ARROW = 271,
127
- COMMA = 272,
128
- SEMI = 273,
129
- NL = 274,
130
- COLON = 275,
131
- RETURN_LOCAL = 276,
132
- RETURN = 277,
133
- REQUIRE = 278,
134
- TRY = 279,
135
- CATCH = 280,
136
- FINALLY = 281,
137
- RETRY = 282,
138
- SUPER = 283,
139
- PRIVATE = 284,
140
- PROTECTED = 285,
141
- CLASS = 286,
142
- DEF = 287,
143
- DOT = 288,
144
- DOLLAR = 289,
145
- EQUALS = 290,
146
- MATCH = 291,
147
- CASE = 292,
148
- IDENTIFIER = 293,
149
- SELECTOR = 294,
150
- RUBY_SEND_OPEN = 295,
151
- RUBY_OPER_OPEN = 296,
152
- CONSTANT = 297,
153
- INTEGER_LITERAL = 298,
154
- HEX_LITERAL = 299,
155
- OCT_LITERAL = 300,
156
- BIN_LITERAL = 301,
157
- DOUBLE_LITERAL = 302,
158
- STRING_LITERAL = 303,
159
- MULTI_STRING_LITERAL = 304,
160
- SYMBOL_LITERAL = 305,
161
- REGEX_LITERAL = 306,
162
- OPERATOR = 307
163
- };
164
- #endif
165
-
166
-
167
-
168
- #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
169
- typedef union YYSTYPE
170
- {
171
-
172
- /* Line 214 of yacc.c */
173
- #line 18 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
174
-
175
- VALUE object;
176
- ID symbol;
177
-
178
-
179
-
180
- /* Line 214 of yacc.c */
181
- #line 182 "/Users/backtype/projects/fancy/lib/parser/ext/parser.c"
182
- } YYSTYPE;
183
- # define YYSTYPE_IS_TRIVIAL 1
184
- # define yystype YYSTYPE /* obsolescent; will be withdrawn */
185
- # define YYSTYPE_IS_DECLARED 1
186
- #endif
187
-
188
-
189
- /* Copy the second part of user declarations. */
190
-
191
-
192
- /* Line 264 of yacc.c */
193
- #line 194 "/Users/backtype/projects/fancy/lib/parser/ext/parser.c"
194
-
195
- #ifdef short
196
- # undef short
197
- #endif
198
-
199
- #ifdef YYTYPE_UINT8
200
- typedef YYTYPE_UINT8 yytype_uint8;
201
- #else
202
- typedef unsigned char yytype_uint8;
203
- #endif
204
-
205
- #ifdef YYTYPE_INT8
206
- typedef YYTYPE_INT8 yytype_int8;
207
- #elif (defined __STDC__ || defined __C99__FUNC__ \
208
- || defined __cplusplus || defined _MSC_VER)
209
- typedef signed char yytype_int8;
210
- #else
211
- typedef short int yytype_int8;
212
- #endif
213
-
214
- #ifdef YYTYPE_UINT16
215
- typedef YYTYPE_UINT16 yytype_uint16;
216
- #else
217
- typedef unsigned short int yytype_uint16;
218
- #endif
219
-
220
- #ifdef YYTYPE_INT16
221
- typedef YYTYPE_INT16 yytype_int16;
222
- #else
223
- typedef short int yytype_int16;
224
- #endif
225
-
226
- #ifndef YYSIZE_T
227
- # ifdef __SIZE_TYPE__
228
- # define YYSIZE_T __SIZE_TYPE__
229
- # elif defined size_t
230
- # define YYSIZE_T size_t
231
- # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
232
- || defined __cplusplus || defined _MSC_VER)
233
- # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
234
- # define YYSIZE_T size_t
235
- # else
236
- # define YYSIZE_T unsigned int
237
- # endif
238
- #endif
239
-
240
- #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
241
-
242
- #ifndef YY_
243
- # if defined YYENABLE_NLS && YYENABLE_NLS
244
- # if ENABLE_NLS
245
- # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
246
- # define YY_(msgid) dgettext ("bison-runtime", msgid)
247
- # endif
248
- # endif
249
- # ifndef YY_
250
- # define YY_(msgid) msgid
251
- # endif
252
- #endif
253
-
254
- /* Suppress unused-variable warnings by "using" E. */
255
- #if ! defined lint || defined __GNUC__
256
- # define YYUSE(e) ((void) (e))
257
- #else
258
- # define YYUSE(e) /* empty */
259
- #endif
260
-
261
- /* Identity function, used to suppress warnings about constant conditions. */
262
- #ifndef lint
263
- # define YYID(n) (n)
264
- #else
265
- #if (defined __STDC__ || defined __C99__FUNC__ \
266
- || defined __cplusplus || defined _MSC_VER)
267
- static int
268
- YYID (int yyi)
269
- #else
270
- static int
271
- YYID (yyi)
272
- int yyi;
273
- #endif
274
- {
275
- return yyi;
276
- }
277
- #endif
278
-
279
- #if ! defined yyoverflow || YYERROR_VERBOSE
280
-
281
- /* The parser invokes alloca or malloc; define the necessary symbols. */
282
-
283
- # ifdef YYSTACK_USE_ALLOCA
284
- # if YYSTACK_USE_ALLOCA
285
- # ifdef __GNUC__
286
- # define YYSTACK_ALLOC __builtin_alloca
287
- # elif defined __BUILTIN_VA_ARG_INCR
288
- # include <alloca.h> /* INFRINGES ON USER NAME SPACE */
289
- # elif defined _AIX
290
- # define YYSTACK_ALLOC __alloca
291
- # elif defined _MSC_VER
292
- # include <malloc.h> /* INFRINGES ON USER NAME SPACE */
293
- # define alloca _alloca
294
- # else
295
- # define YYSTACK_ALLOC alloca
296
- # if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
297
- || defined __cplusplus || defined _MSC_VER)
298
- # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
299
- # ifndef _STDLIB_H
300
- # define _STDLIB_H 1
301
- # endif
302
- # endif
303
- # endif
304
- # endif
305
- # endif
306
-
307
- # ifdef YYSTACK_ALLOC
308
- /* Pacify GCC's `empty if-body' warning. */
309
- # define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
310
- # ifndef YYSTACK_ALLOC_MAXIMUM
311
- /* The OS might guarantee only one guard page at the bottom of the stack,
312
- and a page size can be as small as 4096 bytes. So we cannot safely
313
- invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
314
- to allow for a few compiler-allocated temporary stack slots. */
315
- # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
316
- # endif
317
- # else
318
- # define YYSTACK_ALLOC YYMALLOC
319
- # define YYSTACK_FREE YYFREE
320
- # ifndef YYSTACK_ALLOC_MAXIMUM
321
- # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
322
- # endif
323
- # if (defined __cplusplus && ! defined _STDLIB_H \
324
- && ! ((defined YYMALLOC || defined malloc) \
325
- && (defined YYFREE || defined free)))
326
- # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
327
- # ifndef _STDLIB_H
328
- # define _STDLIB_H 1
329
- # endif
330
- # endif
331
- # ifndef YYMALLOC
332
- # define YYMALLOC malloc
333
- # if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
334
- || defined __cplusplus || defined _MSC_VER)
335
- void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
336
- # endif
337
- # endif
338
- # ifndef YYFREE
339
- # define YYFREE free
340
- # if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
341
- || defined __cplusplus || defined _MSC_VER)
342
- void free (void *); /* INFRINGES ON USER NAME SPACE */
343
- # endif
344
- # endif
345
- # endif
346
- #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
347
-
348
-
349
- #if (! defined yyoverflow \
350
- && (! defined __cplusplus \
351
- || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
352
-
353
- /* A type that is properly aligned for any stack member. */
354
- union yyalloc
355
- {
356
- yytype_int16 yyss_alloc;
357
- YYSTYPE yyvs_alloc;
358
- };
359
-
360
- /* The size of the maximum gap between one aligned stack and the next. */
361
- # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
362
-
363
- /* The size of an array large to enough to hold all stacks, each with
364
- N elements. */
365
- # define YYSTACK_BYTES(N) \
366
- ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
367
- + YYSTACK_GAP_MAXIMUM)
368
-
369
- /* Copy COUNT objects from FROM to TO. The source and destination do
370
- not overlap. */
371
- # ifndef YYCOPY
372
- # if defined __GNUC__ && 1 < __GNUC__
373
- # define YYCOPY(To, From, Count) \
374
- __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
375
- # else
376
- # define YYCOPY(To, From, Count) \
377
- do \
378
- { \
379
- YYSIZE_T yyi; \
380
- for (yyi = 0; yyi < (Count); yyi++) \
381
- (To)[yyi] = (From)[yyi]; \
382
- } \
383
- while (YYID (0))
384
- # endif
385
- # endif
386
-
387
- /* Relocate STACK from its old location to the new one. The
388
- local variables YYSIZE and YYSTACKSIZE give the old and new number of
389
- elements in the stack, and YYPTR gives the new location of the
390
- stack. Advance YYPTR to a properly aligned location for the next
391
- stack. */
392
- # define YYSTACK_RELOCATE(Stack_alloc, Stack) \
393
- do \
394
- { \
395
- YYSIZE_T yynewbytes; \
396
- YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
397
- Stack = &yyptr->Stack_alloc; \
398
- yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
399
- yyptr += yynewbytes / sizeof (*yyptr); \
400
- } \
401
- while (YYID (0))
402
-
403
- #endif
404
-
405
- /* YYFINAL -- State number of the termination state. */
406
- #define YYFINAL 113
407
- /* YYLAST -- Last index in YYTABLE. */
408
- #define YYLAST 1566
409
-
410
- /* YYNTOKENS -- Number of terminals. */
411
- #define YYNTOKENS 53
412
- /* YYNNTS -- Number of nonterminals. */
413
- #define YYNNTS 77
414
- /* YYNRULES -- Number of rules. */
415
- #define YYNRULES 184
416
- /* YYNRULES -- Number of states. */
417
- #define YYNSTATES 313
418
-
419
- /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
420
- #define YYUNDEFTOK 2
421
- #define YYMAXUTOK 307
422
-
423
- #define YYTRANSLATE(YYX) \
424
- ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
425
-
426
- /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
427
- static const yytype_uint8 yytranslate[] =
428
- {
429
- 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
430
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
431
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
432
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
433
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
434
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
435
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
436
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
437
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
438
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
439
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
440
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
441
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
442
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
443
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
444
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
445
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
446
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
447
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
448
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
449
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
450
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
451
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
452
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
453
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
454
- 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
455
- 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
456
- 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
457
- 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
458
- 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
459
- 45, 46, 47, 48, 49, 50, 51, 52
460
- };
461
-
462
- #if YYDEBUG
463
- /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
464
- YYRHS. */
465
- static const yytype_uint16 yyprhs[] =
466
- {
467
- 0, 0, 3, 4, 6, 8, 10, 13, 15, 18,
468
- 19, 21, 23, 25, 27, 30, 33, 36, 42, 46,
469
- 52, 54, 56, 58, 60, 62, 64, 70, 72, 74,
470
- 76, 78, 80, 82, 84, 86, 88, 90, 94, 99,
471
- 101, 105, 107, 109, 111, 113, 115, 117, 119, 121,
472
- 123, 127, 130, 132, 135, 137, 140, 143, 145, 147,
473
- 149, 152, 155, 158, 160, 164, 170, 172, 174, 176,
474
- 178, 180, 182, 185, 187, 190, 193, 201, 203, 207,
475
- 211, 215, 220, 225, 230, 236, 242, 249, 252, 255,
476
- 259, 263, 267, 271, 275, 281, 286, 289, 294, 301,
477
- 307, 312, 319, 325, 327, 329, 332, 334, 338, 342,
478
- 345, 349, 353, 358, 360, 364, 366, 369, 371, 373,
479
- 377, 380, 383, 387, 389, 392, 396, 401, 405, 408,
480
- 412, 418, 420, 423, 425, 428, 429, 432, 434, 436,
481
- 438, 440, 442, 444, 446, 448, 450, 452, 454, 456,
482
- 458, 460, 462, 464, 466, 468, 470, 472, 474, 476,
483
- 478, 484, 486, 491, 494, 498, 504, 508, 510, 512,
484
- 518, 522, 529, 531, 533, 535, 538, 540, 544, 550,
485
- 559, 567, 569, 572, 577
486
- };
487
-
488
- /* YYRHS -- A `-1'-separated list of the rules' RHS. */
489
- static const yytype_int16 yyrhs[] =
490
- {
491
- 54, 0, -1, -1, 59, -1, 56, -1, 18, -1,
492
- 55, 55, -1, 19, -1, 56, 19, -1, -1, 56,
493
- -1, 62, -1, 64, -1, 58, -1, 59, 58, -1,
494
- 55, 59, -1, 59, 55, -1, 8, 57, 59, 57,
495
- 9, -1, 8, 57, 9, -1, 7, 57, 59, 57,
496
- 9, -1, 65, -1, 73, -1, 74, -1, 75, -1,
497
- 71, -1, 115, -1, 3, 57, 64, 57, 4, -1,
498
- 63, -1, 81, -1, 76, -1, 102, -1, 127, -1,
499
- 94, -1, 99, -1, 101, -1, 28, -1, 27, -1,
500
- 64, 33, 57, -1, 71, 35, 57, 64, -1, 66,
501
- -1, 72, 35, 117, -1, 52, -1, 42, -1, 39,
502
- -1, 38, -1, 36, -1, 31, -1, 77, -1, 70,
503
- -1, 71, -1, 72, 17, 71, -1, 21, 64, -1,
504
- 21, -1, 22, 64, -1, 22, -1, 23, 109, -1,
505
- 23, 71, -1, 79, -1, 80, -1, 68, -1, 77,
506
- 68, -1, 32, 29, -1, 32, 30, -1, 32, -1,
507
- 31, 77, 60, -1, 31, 77, 20, 77, 60, -1,
508
- 86, -1, 87, -1, 88, -1, 89, -1, 90, -1,
509
- 91, -1, 69, 70, -1, 82, -1, 83, 82, -1,
510
- 83, 85, -1, 69, 70, 3, 57, 64, 57, 4,
511
- -1, 84, -1, 85, 57, 84, -1, 78, 83, 60,
512
- -1, 78, 70, 60, -1, 78, 71, 83, 60, -1,
513
- 78, 71, 70, 60, -1, 78, 67, 70, 60, -1,
514
- 78, 10, 11, 70, 60, -1, 78, 71, 67, 70,
515
- 60, -1, 78, 71, 10, 11, 70, 60, -1, 64,
516
- 70, -1, 92, 70, -1, 64, 5, 70, -1, 92,
517
- 5, 70, -1, 64, 6, 70, -1, 92, 6, 70,
518
- -1, 64, 67, 96, -1, 64, 67, 33, 57, 96,
519
- -1, 64, 10, 64, 11, -1, 67, 96, -1, 64,
520
- 5, 67, 96, -1, 64, 5, 67, 33, 57, 96,
521
- -1, 64, 5, 10, 64, 11, -1, 64, 6, 67,
522
- 96, -1, 64, 6, 67, 33, 57, 96, -1, 64,
523
- 6, 10, 64, 11, -1, 92, -1, 93, -1, 64,
524
- 95, -1, 95, -1, 64, 5, 95, -1, 64, 6,
525
- 95, -1, 69, 96, -1, 69, 57, 96, -1, 95,
526
- 69, 96, -1, 95, 69, 57, 96, -1, 71, -1,
527
- 3, 64, 4, -1, 115, -1, 34, 64, -1, 40,
528
- -1, 41, -1, 64, 97, 100, -1, 97, 100, -1,
529
- 4, 120, -1, 117, 4, 120, -1, 4, -1, 117,
530
- 4, -1, 64, 98, 100, -1, 24, 60, 105, 106,
531
- -1, 24, 60, 104, -1, 25, 60, -1, 25, 64,
532
- 60, -1, 25, 64, 15, 70, 60, -1, 103, -1,
533
- 104, 103, -1, 103, -1, 105, 103, -1, -1, 26,
534
- 60, -1, 43, -1, 47, -1, 48, -1, 49, -1,
535
- 50, -1, 51, -1, 44, -1, 45, -1, 46, -1,
536
- 107, -1, 112, -1, 113, -1, 114, -1, 108, -1,
537
- 109, -1, 110, -1, 119, -1, 116, -1, 111, -1,
538
- 120, -1, 121, -1, 122, -1, 118, -1, 10, 57,
539
- 117, 57, 11, -1, 64, -1, 117, 17, 57, 64,
540
- -1, 117, 17, -1, 10, 57, 11, -1, 12, 57,
541
- 126, 57, 13, -1, 12, 57, 13, -1, 61, -1,
542
- 60, -1, 14, 123, 14, 57, 60, -1, 3, 117,
543
- 4, -1, 3, 64, 33, 33, 64, 4, -1, 125,
544
- -1, 124, -1, 70, -1, 124, 70, -1, 70, -1,
545
- 125, 17, 70, -1, 64, 57, 15, 57, 64, -1,
546
- 126, 17, 57, 64, 57, 15, 57, 64, -1, 36,
547
- 64, 8, 57, 128, 57, 9, -1, 129, -1, 128,
548
- 129, -1, 37, 64, 16, 59, -1, 37, 64, 16,
549
- 14, 123, 14, 59, -1
550
- };
551
-
552
- /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
553
- static const yytype_uint16 yyrline[] =
554
- {
555
- 0, 164, 164, 165, 170, 171, 172, 175, 176, 179,
556
- 180, 183, 184, 187, 190, 193, 196, 201, 204, 209,
557
- 214, 215, 216, 217, 220, 221, 222, 227, 228, 229,
558
- 230, 231, 232, 233, 234, 235, 236, 237, 242, 245,
559
- 248, 253, 258, 263, 267, 270, 273, 278, 279, 282,
560
- 285, 290, 293, 298, 301, 306, 309, 314, 315, 318,
561
- 321, 326, 327, 328, 331, 336, 341, 342, 343, 344,
562
- 345, 346, 349, 354, 357, 360, 365, 370, 373, 378,
563
- 384, 390, 395, 400, 403, 409, 412, 418, 421, 424,
564
- 427, 430, 433, 438, 441, 444, 448, 451, 454, 457,
565
- 461, 464, 467, 473, 474, 475, 478, 481, 484, 489,
566
- 492, 495, 498, 503, 506, 509, 512, 522, 526, 531,
567
- 534, 544, 547, 550, 553, 558, 564, 567, 572, 575,
568
- 578, 583, 586, 591, 594, 597, 602, 607, 611, 615,
569
- 618, 622, 626, 631, 637, 643, 649, 650, 651, 652,
570
- 653, 654, 655, 656, 657, 658, 659, 660, 661, 664,
571
- 667, 672, 675, 678, 683, 688, 691, 696, 699, 702,
572
- 707, 712, 717, 718, 721, 724, 729, 732, 737, 740,
573
- 745, 750, 753, 758, 761
574
- };
575
- #endif
576
-
577
- #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
578
- /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
579
- First, the terminals, then, starting at YYNTOKENS, nonterminals. */
580
- static const char *const yytname[] =
581
- {
582
- "$end", "error", "$undefined", "LPAREN", "RPAREN", "FUTURE_SEND",
583
- "ASYNC_SEND", "AT_LCURLY", "LCURLY", "RCURLY", "LBRACKET", "RBRACKET",
584
- "LHASH", "RHASH", "STAB", "ARROW", "THIN_ARROW", "COMMA", "SEMI", "NL",
585
- "COLON", "RETURN_LOCAL", "RETURN", "REQUIRE", "TRY", "CATCH", "FINALLY",
586
- "RETRY", "SUPER", "PRIVATE", "PROTECTED", "CLASS", "DEF", "DOT",
587
- "DOLLAR", "EQUALS", "MATCH", "CASE", "IDENTIFIER", "SELECTOR",
588
- "RUBY_SEND_OPEN", "RUBY_OPER_OPEN", "CONSTANT", "INTEGER_LITERAL",
589
- "HEX_LITERAL", "OCT_LITERAL", "BIN_LITERAL", "DOUBLE_LITERAL",
590
- "STRING_LITERAL", "MULTI_STRING_LITERAL", "SYMBOL_LITERAL",
591
- "REGEX_LITERAL", "OPERATOR", "$accept", "programm", "delim", "nls",
592
- "space", "code", "expression_list", "expression_block",
593
- "partial_expression_block", "statement", "primary", "exp", "assignment",
594
- "multiple_assignment", "operator", "constant", "selector", "identifier",
595
- "any_identifier", "identifier_list", "return_local_statement",
596
- "return_statement", "require_statement", "class_def", "const_identifier",
597
- "def", "class_no_super", "class_super", "method_def", "method_arg",
598
- "method_args", "method_arg_default", "method_args_default",
599
- "method_w_args", "method_no_args", "class_method_w_args",
600
- "class_method_no_args", "operator_def", "class_operator_def",
601
- "unary_send", "operator_send", "message_send", "send_args", "arg_exp",
602
- "ruby_send_open", "ruby_oper_open", "ruby_send", "ruby_args",
603
- "ruby_oper_send", "try_catch_block", "catch_block",
604
- "required_catch_blocks", "catch_blocks", "finally_block",
605
- "integer_literal", "double_literal", "string_literal", "symbol_literal",
606
- "regex_literal", "hex_literal", "oct_literal", "bin_literal",
607
- "literal_value", "array_literal", "exp_comma_list", "empty_array",
608
- "hash_literal", "block_literal", "tuple_literal", "range_literal",
609
- "block_args", "block_args_without_comma", "block_args_with_comma",
610
- "key_value_list", "match_expr", "match_body", "match_clause", 0
611
- };
612
- #endif
613
-
614
- # ifdef YYPRINT
615
- /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
616
- token YYLEX-NUM. */
617
- static const yytype_uint16 yytoknum[] =
618
- {
619
- 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
620
- 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
621
- 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
622
- 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
623
- 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
624
- 305, 306, 307
625
- };
626
- # endif
627
-
628
- /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
629
- static const yytype_uint8 yyr1[] =
630
- {
631
- 0, 53, 54, 54, 55, 55, 55, 56, 56, 57,
632
- 57, 58, 58, 59, 59, 59, 59, 60, 60, 61,
633
- 62, 62, 62, 62, 63, 63, 63, 64, 64, 64,
634
- 64, 64, 64, 64, 64, 64, 64, 64, 65, 65,
635
- 66, 67, 68, 69, 70, 70, 70, 71, 71, 72,
636
- 72, 73, 73, 74, 74, 75, 75, 76, 76, 77,
637
- 77, 78, 78, 78, 79, 80, 81, 81, 81, 81,
638
- 81, 81, 82, 83, 83, 83, 84, 85, 85, 86,
639
- 87, 88, 89, 90, 90, 91, 91, 92, 92, 92,
640
- 92, 92, 92, 93, 93, 93, 93, 93, 93, 93,
641
- 93, 93, 93, 94, 94, 94, 94, 94, 94, 95,
642
- 95, 95, 95, 96, 96, 96, 96, 97, 98, 99,
643
- 99, 100, 100, 100, 100, 101, 102, 102, 103, 103,
644
- 103, 104, 104, 105, 105, 105, 106, 107, 108, 109,
645
- 109, 110, 111, 112, 113, 114, 115, 115, 115, 115,
646
- 115, 115, 115, 115, 115, 115, 115, 115, 115, 116,
647
- 116, 117, 117, 117, 118, 119, 119, 120, 120, 120,
648
- 121, 122, 123, 123, 124, 124, 125, 125, 126, 126,
649
- 127, 128, 128, 129, 129
650
- };
651
-
652
- /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
653
- static const yytype_uint8 yyr2[] =
654
- {
655
- 0, 2, 0, 1, 1, 1, 2, 1, 2, 0,
656
- 1, 1, 1, 1, 2, 2, 2, 5, 3, 5,
657
- 1, 1, 1, 1, 1, 1, 5, 1, 1, 1,
658
- 1, 1, 1, 1, 1, 1, 1, 3, 4, 1,
659
- 3, 1, 1, 1, 1, 1, 1, 1, 1, 1,
660
- 3, 2, 1, 2, 1, 2, 2, 1, 1, 1,
661
- 2, 2, 2, 1, 3, 5, 1, 1, 1, 1,
662
- 1, 1, 2, 1, 2, 2, 7, 1, 3, 3,
663
- 3, 4, 4, 4, 5, 5, 6, 2, 2, 3,
664
- 3, 3, 3, 3, 5, 4, 2, 4, 6, 5,
665
- 4, 6, 5, 1, 1, 2, 1, 3, 3, 2,
666
- 3, 3, 4, 1, 3, 1, 2, 1, 1, 3,
667
- 2, 2, 3, 1, 2, 3, 4, 3, 2, 3,
668
- 5, 1, 2, 1, 2, 0, 2, 1, 1, 1,
669
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
670
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
671
- 5, 1, 4, 2, 3, 5, 3, 1, 1, 5,
672
- 3, 6, 1, 1, 1, 2, 1, 3, 5, 8,
673
- 7, 1, 2, 4, 7
674
- };
675
-
676
- /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
677
- STATE-NUM when YYTABLE doesn't specify something else to do. Zero
678
- means the default is an error. */
679
- static const yytype_uint8 yydefact[] =
680
- {
681
- 2, 0, 9, 9, 9, 9, 0, 5, 7, 52,
682
- 54, 0, 0, 36, 35, 46, 63, 45, 44, 43,
683
- 117, 42, 137, 143, 144, 145, 138, 139, 140, 141,
684
- 142, 41, 0, 0, 4, 13, 3, 168, 167, 11,
685
- 27, 12, 20, 39, 0, 59, 0, 48, 24, 0,
686
- 21, 22, 23, 29, 47, 0, 57, 58, 28, 66,
687
- 67, 68, 69, 70, 71, 103, 104, 32, 106, 0,
688
- 33, 34, 30, 146, 150, 151, 152, 155, 147, 148,
689
- 149, 25, 154, 159, 153, 156, 157, 158, 31, 10,
690
- 0, 161, 24, 0, 0, 0, 0, 0, 46, 45,
691
- 174, 0, 173, 172, 51, 53, 56, 55, 135, 0,
692
- 61, 62, 0, 1, 0, 15, 8, 16, 14, 0,
693
- 0, 0, 9, 118, 0, 87, 105, 0, 0, 0,
694
- 0, 113, 96, 115, 0, 109, 9, 0, 0, 60,
695
- 0, 0, 0, 48, 0, 73, 0, 0, 0, 88,
696
- 0, 123, 161, 120, 0, 9, 9, 170, 9, 9,
697
- 18, 9, 164, 9, 166, 9, 9, 9, 175, 0,
698
- 0, 131, 127, 0, 0, 64, 9, 6, 0, 0,
699
- 89, 107, 0, 0, 91, 108, 0, 37, 9, 93,
700
- 119, 125, 161, 116, 110, 0, 50, 40, 0, 0,
701
- 72, 80, 0, 0, 0, 0, 79, 0, 74, 77,
702
- 9, 90, 92, 0, 111, 121, 124, 0, 0, 0,
703
- 4, 0, 0, 0, 0, 9, 0, 0, 177, 128,
704
- 0, 132, 0, 134, 126, 0, 0, 0, 9, 97,
705
- 0, 9, 100, 95, 0, 114, 38, 0, 83, 0,
706
- 0, 82, 81, 72, 0, 112, 122, 26, 0, 162,
707
- 19, 17, 160, 9, 0, 165, 169, 0, 129, 136,
708
- 65, 0, 9, 181, 99, 0, 102, 0, 94, 84,
709
- 0, 85, 9, 0, 78, 171, 0, 9, 0, 0,
710
- 0, 182, 98, 101, 86, 0, 0, 178, 0, 130,
711
- 0, 180, 9, 9, 0, 183, 0, 0, 0, 76,
712
- 179, 0, 184
713
- };
714
-
715
- /* YYDEFGOTO[NTERM-NUM]. */
716
- static const yytype_int16 yydefgoto[] =
717
- {
718
- -1, 32, 117, 89, 187, 35, 115, 37, 38, 39,
719
- 40, 41, 42, 43, 44, 45, 46, 47, 92, 49,
720
- 50, 51, 52, 53, 54, 55, 56, 57, 58, 145,
721
- 146, 209, 210, 59, 60, 61, 62, 63, 64, 65,
722
- 66, 67, 68, 132, 69, 128, 70, 153, 71, 72,
723
- 171, 172, 173, 234, 73, 74, 75, 76, 77, 78,
724
- 79, 80, 81, 82, 154, 83, 84, 85, 86, 87,
725
- 101, 102, 103, 166, 88, 272, 273
726
- };
727
-
728
- /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
729
- STATE-NUM. */
730
- #define YYPACT_NINF -146
731
- static const yytype_int16 yypact[] =
732
- {
733
- 789, 666, 10, 10, 10, 10, 116, -146, -146, 1039,
734
- 1039, -18, 11, -146, -146, -30, 78, 1039, -146, -146,
735
- -146, -146, -146, -146, -146, -146, -146, -146, -146, -146,
736
- -146, -146, 32, 789, 31, -146, 789, -146, -146, -146,
737
- -146, 1450, -146, -146, 1261, -146, 1089, -146, -8, -7,
738
- -146, -146, -146, -146, -30, 48, -146, -146, -146, -146,
739
- -146, -146, -146, -146, -146, 139, -146, -146, 49, 889,
740
- -146, -146, -146, -146, -146, -146, -146, -146, -146, -146,
741
- -146, -146, -146, -146, -146, -146, -146, -146, -146, 31,
742
- 1039, 1472, -146, 22, 789, 739, 939, 989, -146, -146,
743
- 52, 40, 116, 75, 1450, 1450, -146, -146, 76, 15,
744
- -146, -146, 1320, -146, 789, 789, -146, 98, -146, 193,
745
- 229, 1039, 10, -146, 1114, -146, 49, 889, 889, 1039,
746
- 1039, -146, -146, -146, 1261, -146, 10, 136, 1039, -146,
747
- 99, 116, 116, 11, 314, -146, 9, 116, 116, -146,
748
- 1089, 97, 1450, -146, 68, 1335, 41, -146, 1529, 789,
749
- -146, 789, -146, 64, -146, 1335, 74, 10, -146, 116,
750
- 1039, 87, 76, -4, -30, -146, 10, 98, 1039, 1163,
751
- -146, 49, 1039, 1212, -146, 49, 1359, -146, 10, -146,
752
- -146, -146, 609, 1487, -146, 1039, -146, 103, 116, 11,
753
- -146, -146, 112, 116, 11, 9, -146, 116, -146, -146,
754
- 30, -146, -146, 1261, -146, -146, 97, 123, 1039, 1039,
755
- 31, 126, 127, 128, 125, 10, 130, 11, -146, -146,
756
- 37, -146, 11, -146, -146, 17, 111, 1374, 10, -146,
757
- 1398, 10, -146, -146, 1261, -146, 1450, 11, -146, 116,
758
- 11, -146, -146, 150, 49, -146, -146, -146, 1283, 1450,
759
- -146, -146, -146, 10, 1039, -146, -146, 116, -146, -146,
760
- -146, 1039, -3, -146, -146, 1261, -146, 1261, -146, -146,
761
- 11, -146, 10, 116, -146, -146, 1039, 1335, 11, 1435,
762
- 146, -146, -146, -146, -146, 1039, 150, 1450, 147, -146,
763
- 839, -146, 1335, 10, 116, 789, 162, 1039, 157, -146,
764
- 1450, 789, 789
765
- };
766
-
767
- /* YYPGOTO[NTERM-NUM]. */
768
- static const yytype_int16 yypgoto[] =
769
- {
770
- -146, -146, 8, 4, 60, -33, 2, 3, -146, -146,
771
- -146, 159, -146, -146, 281, -53, 12, 255, 0, -146,
772
- -146, -146, -146, -146, -10, -146, -146, -146, -146, -139,
773
- 36, -70, -146, -146, -146, -146, -146, -146, -146, -146,
774
- -146, -146, 323, 362, 442, -146, -146, 5, -146, -146,
775
- -43, -146, -146, -146, -146, -146, 176, -146, -146, -146,
776
- -146, -146, 7, -146, 13, -146, -146, -145, -146, -146,
777
- -116, -146, -146, -146, -146, -146, -83
778
- };
779
-
780
- /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
781
- positive, shift that token. If negative, reduce the rule which
782
- number is the opposite. If zero, do what YYDEFACT says.
783
- If YYTABLE_NINF, syntax error. */
784
- #define YYTABLE_NINF -177
785
- static const yytype_int16 yytable[] =
786
- {
787
- 48, 139, 36, 118, 34, 109, 215, 208, 33, -49,
788
- 137, 106, 21, 98, 93, 108, 8, 3, 99, 3,
789
- 18, 170, 232, 3, 21, 3, 157, 136, 138, 8,
790
- 27, 28, 113, 48, 271, 174, 48, 34, -75, 158,
791
- 34, 114, 119, 120, 131, 3, 131, 121, 19, 8,
792
- 116, 133, 267, 133, 167, 144, 139, 21, 140, 21,
793
- 8, 90, 94, 95, 96, 97, 208, 142, 98, -176,
794
- 122, 256, 216, 99, 218, 18, 19, 20, 123, 98,
795
- 150, 158, 118, 8, 99, 158, 18, 19, 19, 31,
796
- 21, 225, 169, 8, 48, 48, 159, 161, 34, 34,
797
- 31, 170, 33, 33, 2, 3, 134, 110, 111, 163,
798
- 198, 6, 175, -133, 48, 48, 7, 8, 34, 34,
799
- 158, 34, 114, 249, 131, 177, 118, 257, 118, 231,
800
- 233, 133, 190, 191, 131, 260, 261, 196, 150, 262,
801
- 263, 133, 93, 265, 147, 148, 201, 98, 271, 206,
802
- 131, 197, 99, 282, 18, 301, 142, 133, 207, 48,
803
- 91, 48, 303, 220, 235, 220, 309, 98, 104, 105,
804
- 98, 311, 99, 229, 18, 99, 112, 18, 21, 131,
805
- 205, 34, 139, 131, 284, 177, 133, 107, 308, 291,
806
- 133, 0, 0, 150, 0, 0, 195, 150, 0, 0,
807
- 0, 0, 248, 178, 0, 0, 0, 251, 252, 0,
808
- 213, 0, 0, 131, 0, 217, 0, 207, 219, 221,
809
- 133, 222, 0, 223, 98, 224, 226, 227, 152, 99,
810
- 266, 18, 19, 268, 0, 269, 236, 0, 270, 182,
811
- 0, 0, 0, 0, 131, 31, 0, 0, 244, 155,
812
- 279, 133, 0, 281, 0, 152, 165, 0, 0, 0,
813
- 98, 100, 0, 0, 0, 99, 283, 18, 19, 0,
814
- 254, 0, 118, 0, 0, 131, 0, 131, 0, 118,
815
- 186, 31, 133, 294, 133, 264, 152, 152, 192, 193,
816
- 0, 299, 0, 0, 0, 0, 125, 152, 275, 0,
817
- 48, 277, 305, 0, 34, 48, 0, 0, 33, 34,
818
- 143, 48, 48, 312, 0, 220, 34, 0, 0, 33,
819
- 149, 0, 124, 286, 202, 0, 0, 0, 0, 230,
820
- 0, 0, 290, 0, 0, 0, 141, 237, 0, 0,
821
- 0, 240, 295, 0, 0, 98, 125, 298, 0, 0,
822
- 99, 0, 18, 19, 246, 0, 0, 168, 0, 125,
823
- 125, 0, 306, 307, 126, 0, 31, 125, 0, 0,
824
- 0, 227, 124, 0, 180, 184, 0, 258, 259, 0,
825
- 0, 0, 0, 0, 0, 124, 124, 0, 0, 0,
826
- 0, 0, 0, 124, 0, 0, 199, 200, 0, 204,
827
- 179, 183, 211, 212, 0, 0, 0, 125, 135, 0,
828
- 125, 0, 0, 0, 126, 0, 0, 0, 0, 0,
829
- 125, 0, 0, 287, 228, 203, 0, 126, 126, 0,
830
- 289, 0, 0, 124, 0, 126, 124, 0, 0, 0,
831
- 0, 125, 181, 185, 0, 297, 124, 125, 125, 0,
832
- 0, 0, 0, 247, 302, 0, 0, 0, 250, 0,
833
- 0, 0, 253, 0, 0, 0, 310, 124, 0, 0,
834
- 0, 0, 0, 124, 124, 126, 0, 0, 126, 0,
835
- 0, 0, 0, 127, 0, 125, 189, 0, 126, 0,
836
- 0, 0, 125, 0, 0, 125, 194, 0, 0, 0,
837
- 0, 125, 0, 0, 280, 0, 0, 0, 0, 126,
838
- 0, 124, 214, 125, 125, 126, 126, 0, 124, 0,
839
- 0, 124, 288, 0, 0, 0, 0, 124, 0, 0,
840
- 0, 0, 0, 127, 0, 0, 0, 0, 296, 124,
841
- 124, 239, 125, 0, 125, 242, 127, 127, 0, 0,
842
- 0, 0, 125, 126, 127, 0, 0, 125, 0, 100,
843
- 126, 0, 0, 126, 0, 125, 0, 0, 124, 126,
844
- 124, 0, 0, 0, 0, 255, 0, 0, 124, 0,
845
- 0, 126, 126, 124, 0, 0, 0, 0, 0, 0,
846
- 0, 124, 0, 0, 127, 0, 0, 127, 0, 0,
847
- 0, 0, 0, 0, 0, 0, 278, 127, 0, 0,
848
- 126, 0, 126, 245, 119, 120, 0, 0, 0, 121,
849
- 126, 0, 0, 0, 0, 126, 0, 0, 127, 0,
850
- 0, 0, 0, 126, 127, 127, 0, 292, 0, 293,
851
- 98, 0, 156, 0, 0, 99, 0, 18, 19, 20,
852
- 123, 0, 0, 0, 0, 0, 0, 0, 0, 0,
853
- 0, 31, 0, 0, 0, 0, 0, 0, 0, 1,
854
- 0, 0, 127, 2, 3, 0, 4, 0, 5, 127,
855
- 6, 0, 127, 0, 0, 8, 0, 0, 127, 0,
856
- 12, 0, 0, 13, 14, 0, 0, 15, 16, 0,
857
- 127, 127, 17, 0, 18, 19, 20, 0, 21, 22,
858
- 23, 24, 25, 26, 27, 28, 29, 30, 31, 0,
859
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 127,
860
- 0, 127, 0, 0, 0, 0, 0, 0, 0, 127,
861
- 0, 0, 1, 0, 127, 0, 2, 3, 160, 4,
862
- 0, 5, 127, 6, 0, 0, 0, 7, 8, 0,
863
- 9, 10, 11, 12, 0, 0, 13, 14, 0, 0,
864
- 15, 16, 0, 0, 0, 17, 0, 18, 19, 20,
865
- 0, 21, 22, 23, 24, 25, 26, 27, 28, 29,
866
- 30, 31, 1, 0, 0, 0, 2, 3, 0, 4,
867
- 0, 5, 0, 6, 0, 0, 0, 7, 8, 0,
868
- 9, 10, 11, 12, 0, 0, 13, 14, 0, 0,
869
- 15, 16, 0, 0, 0, 17, 0, 18, 19, 20,
870
- 0, 21, 22, 23, 24, 25, 26, 27, 28, 29,
871
- 30, 31, 1, 0, 0, 0, 2, 3, 0, 4,
872
- 0, 5, 0, 304, 0, 0, 0, 7, 8, 0,
873
- 9, 10, 11, 12, 0, 0, 13, 14, 0, 0,
874
- 15, 16, 0, 0, 0, 17, 0, 18, 19, 20,
875
- 0, 21, 22, 23, 24, 25, 26, 27, 28, 29,
876
- 30, 31, 1, 151, 0, 0, 2, 3, 0, 4,
877
- 0, 5, 0, 6, 0, 0, 0, 0, 0, 0,
878
- 0, 0, 0, 12, 0, 0, 13, 14, 0, 0,
879
- 15, 16, 0, 0, 0, 17, 0, 18, 19, 20,
880
- 0, 21, 22, 23, 24, 25, 26, 27, 28, 29,
881
- 30, 31, 1, 0, 0, 0, 2, 3, 0, 4,
882
- 162, 5, 0, 6, 0, 0, 0, 0, 0, 0,
883
- 0, 0, 0, 12, 0, 0, 13, 14, 0, 0,
884
- 15, 16, 0, 0, 0, 17, 0, 18, 19, 20,
885
- 0, 21, 22, 23, 24, 25, 26, 27, 28, 29,
886
- 30, 31, 1, 0, 0, 0, 2, 3, 0, 4,
887
- 0, 5, 164, 6, 0, 0, 0, 0, 0, 0,
888
- 0, 0, 0, 12, 0, 0, 13, 14, 0, 0,
889
- 15, 16, 0, 0, 0, 17, 0, 18, 19, 20,
890
- 0, 21, 22, 23, 24, 25, 26, 27, 28, 29,
891
- 30, 31, 1, 0, 0, 0, 2, 3, 0, 4,
892
- 0, 5, 0, 6, 0, 0, 0, 0, 0, 0,
893
- 0, 0, 0, 12, 0, 0, 13, 14, 0, 0,
894
- 15, 16, 0, 0, 0, 17, 0, 18, 19, 20,
895
- 0, 21, 22, 23, 24, 25, 26, 27, 28, 29,
896
- 30, 31, 129, 0, 0, 0, 2, 3, 0, 4,
897
- 0, 5, 0, 6, 0, 0, 0, 0, 8, 0,
898
- 0, 0, 0, 0, 0, 0, 0, 129, 0, 0,
899
- 98, 2, 3, 130, 4, 99, 5, 18, 6, 0,
900
- 0, 21, 22, 23, 24, 25, 26, 27, 28, 29,
901
- 30, 0, 0, 0, 0, 98, 0, 188, 130, 0,
902
- 99, 0, 18, 0, 0, 0, 21, 22, 23, 24,
903
- 25, 26, 27, 28, 29, 30, 129, 0, 0, 0,
904
- 2, 3, 0, 4, 0, 5, 0, 6, 0, 0,
905
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
906
- 0, 0, 0, 0, 98, 0, 238, 130, 0, 99,
907
- 0, 18, 0, 0, 0, 21, 22, 23, 24, 25,
908
- 26, 27, 28, 29, 30, 129, 0, 0, 0, 2,
909
- 3, 0, 4, 0, 5, 0, 6, 0, 0, 0,
910
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
911
- 0, 0, 0, 98, 0, 241, 130, 0, 99, 0,
912
- 18, 0, 0, 0, 21, 22, 23, 24, 25, 26,
913
- 27, 28, 29, 30, 129, 0, 0, 0, 2, 3,
914
- 0, 4, 0, 5, 0, 6, 0, 0, 0, 0,
915
- 0, 0, 0, 0, 0, 0, 0, 285, 119, 120,
916
- 0, 0, 98, 121, 0, 130, 0, 99, 0, 18,
917
- 0, 0, 0, 21, 22, 23, 24, 25, 26, 27,
918
- 28, 29, 30, 0, 98, 0, 122, 0, 0, 99,
919
- 0, 18, 19, 20, 123, 119, 120, 0, 176, 0,
920
- 121, 0, 0, 0, 0, 31, 0, 0, 0, 0,
921
- 119, 120, 0, 0, 0, 121, 0, 0, 0, 0,
922
- 0, 98, 0, 122, 8, 0, 99, 0, 18, 19,
923
- 20, 123, 0, 0, 119, 120, 98, 0, 122, 121,
924
- 243, 99, 31, 18, 19, 20, 123, 0, 0, 119,
925
- 120, 0, 0, 0, 121, 274, 0, 31, 0, 0,
926
- 98, 0, 122, 0, 0, 99, 0, 18, 19, 20,
927
- 123, 0, 0, 119, 120, 98, 0, 122, 121, 276,
928
- 99, 31, 18, 19, 20, 123, 0, 0, 0, 0,
929
- 0, 0, 0, 0, 0, 0, 31, 0, 0, 98,
930
- 0, 122, 0, 0, 99, 0, 18, 19, 20, 123,
931
- 119, 120, 0, 0, 0, 121, 0, 0, 0, 0,
932
- 31, 300, 0, 0, 0, 119, 120, 0, 0, 0,
933
- 121, 0, 0, 0, 0, 0, 98, 0, 122, 0,
934
- 0, 99, 0, 18, 19, 20, 123, 119, 120, 0,
935
- 0, 98, 121, 122, 0, 0, 99, 31, 18, 19,
936
- 20, 123, 119, 120, 0, 0, 0, 121, 0, 0,
937
- 0, 0, 31, 98, 0, 156, 0, 0, 99, 0,
938
- 18, 19, 20, 123, 0, 0, 0, 0, 98, 0,
939
- 0, 0, 0, 99, 31, 18, 19, 20, 123, -163,
940
- 0, 0, 0, -163, 0, 0, 0, 0, -163, 31,
941
- -163, 0, 0, 0, 0, 0, -163, -163, 8, 0,
942
- -163, -163, -163, 0, 0, 0, 0, 0, 0, 0,
943
- 0, 0, 0, 0, 0, 0, -163
944
- };
945
-
946
- static const yytype_int16 yycheck[] =
947
- {
948
- 0, 54, 0, 36, 0, 15, 151, 146, 0, 17,
949
- 17, 11, 42, 31, 1, 12, 19, 8, 36, 8,
950
- 38, 25, 26, 8, 42, 8, 4, 35, 35, 19,
951
- 48, 49, 0, 33, 37, 20, 36, 33, 8, 17,
952
- 36, 33, 5, 6, 44, 8, 46, 10, 39, 19,
953
- 19, 44, 15, 46, 14, 55, 109, 42, 10, 42,
954
- 19, 1, 2, 3, 4, 5, 205, 55, 31, 17,
955
- 33, 216, 4, 36, 33, 38, 39, 40, 41, 31,
956
- 68, 17, 115, 19, 36, 17, 38, 39, 39, 52,
957
- 42, 17, 17, 19, 94, 95, 94, 95, 94, 95,
958
- 52, 25, 94, 95, 7, 8, 46, 29, 30, 96,
959
- 11, 14, 109, 26, 114, 115, 18, 19, 114, 115,
960
- 17, 117, 114, 11, 124, 117, 159, 4, 161, 172,
961
- 173, 124, 127, 128, 134, 9, 9, 137, 126, 11,
962
- 15, 134, 129, 13, 5, 6, 143, 31, 37, 146,
963
- 150, 138, 36, 3, 38, 9, 144, 150, 146, 159,
964
- 1, 161, 15, 159, 174, 161, 4, 31, 9, 10,
965
- 31, 14, 36, 170, 38, 36, 17, 38, 42, 179,
966
- 144, 177, 235, 183, 254, 177, 179, 11, 304, 272,
967
- 183, -1, -1, 181, -1, -1, 136, 185, -1, -1,
968
- -1, -1, 199, 10, -1, -1, -1, 204, 205, -1,
969
- 150, -1, -1, 213, -1, 155, -1, 205, 158, 159,
970
- 213, 161, -1, 163, 31, 165, 166, 167, 69, 36,
971
- 227, 38, 39, 230, -1, 232, 176, -1, 235, 10,
972
- -1, -1, -1, -1, 244, 52, -1, -1, 188, 90,
973
- 247, 244, -1, 250, -1, 96, 97, -1, -1, -1,
974
- 31, 6, -1, -1, -1, 36, 254, 38, 39, -1,
975
- 210, -1, 305, -1, -1, 275, -1, 277, -1, 312,
976
- 121, 52, 275, 280, 277, 225, 127, 128, 129, 130,
977
- -1, 288, -1, -1, -1, -1, 41, 138, 238, -1,
978
- 300, 241, 300, -1, 300, 305, -1, -1, 300, 305,
979
- 55, 311, 312, 311, -1, 311, 312, -1, -1, 311,
980
- 65, -1, 41, 263, 10, -1, -1, -1, -1, 170,
981
- -1, -1, 272, -1, -1, -1, 55, 178, -1, -1,
982
- -1, 182, 282, -1, -1, 31, 91, 287, -1, -1,
983
- 36, -1, 38, 39, 195, -1, -1, 102, -1, 104,
984
- 105, -1, 302, 303, 41, -1, 52, 112, -1, -1,
985
- -1, 311, 91, -1, 119, 120, -1, 218, 219, -1,
986
- -1, -1, -1, -1, -1, 104, 105, -1, -1, -1,
987
- -1, -1, -1, 112, -1, -1, 141, 142, -1, 144,
988
- 119, 120, 147, 148, -1, -1, -1, 152, 46, -1,
989
- 155, -1, -1, -1, 91, -1, -1, -1, -1, -1,
990
- 165, -1, -1, 264, 169, 144, -1, 104, 105, -1,
991
- 271, -1, -1, 152, -1, 112, 155, -1, -1, -1,
992
- -1, 186, 119, 120, -1, 286, 165, 192, 193, -1,
993
- -1, -1, -1, 198, 295, -1, -1, -1, 203, -1,
994
- -1, -1, 207, -1, -1, -1, 307, 186, -1, -1,
995
- -1, -1, -1, 192, 193, 152, -1, -1, 155, -1,
996
- -1, -1, -1, 41, -1, 230, 124, -1, 165, -1,
997
- -1, -1, 237, -1, -1, 240, 134, -1, -1, -1,
998
- -1, 246, -1, -1, 249, -1, -1, -1, -1, 186,
999
- -1, 230, 150, 258, 259, 192, 193, -1, 237, -1,
1000
- -1, 240, 267, -1, -1, -1, -1, 246, -1, -1,
1001
- -1, -1, -1, 91, -1, -1, -1, -1, 283, 258,
1002
- 259, 179, 287, -1, 289, 183, 104, 105, -1, -1,
1003
- -1, -1, 297, 230, 112, -1, -1, 302, -1, 304,
1004
- 237, -1, -1, 240, -1, 310, -1, -1, 287, 246,
1005
- 289, -1, -1, -1, -1, 213, -1, -1, 297, -1,
1006
- -1, 258, 259, 302, -1, -1, -1, -1, -1, -1,
1007
- -1, 310, -1, -1, 152, -1, -1, 155, -1, -1,
1008
- -1, -1, -1, -1, -1, -1, 244, 165, -1, -1,
1009
- 287, -1, 289, 4, 5, 6, -1, -1, -1, 10,
1010
- 297, -1, -1, -1, -1, 302, -1, -1, 186, -1,
1011
- -1, -1, -1, 310, 192, 193, -1, 275, -1, 277,
1012
- 31, -1, 33, -1, -1, 36, -1, 38, 39, 40,
1013
- 41, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1014
- -1, 52, -1, -1, -1, -1, -1, -1, -1, 3,
1015
- -1, -1, 230, 7, 8, -1, 10, -1, 12, 237,
1016
- 14, -1, 240, -1, -1, 19, -1, -1, 246, -1,
1017
- 24, -1, -1, 27, 28, -1, -1, 31, 32, -1,
1018
- 258, 259, 36, -1, 38, 39, 40, -1, 42, 43,
1019
- 44, 45, 46, 47, 48, 49, 50, 51, 52, -1,
1020
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 287,
1021
- -1, 289, -1, -1, -1, -1, -1, -1, -1, 297,
1022
- -1, -1, 3, -1, 302, -1, 7, 8, 9, 10,
1023
- -1, 12, 310, 14, -1, -1, -1, 18, 19, -1,
1024
- 21, 22, 23, 24, -1, -1, 27, 28, -1, -1,
1025
- 31, 32, -1, -1, -1, 36, -1, 38, 39, 40,
1026
- -1, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1027
- 51, 52, 3, -1, -1, -1, 7, 8, -1, 10,
1028
- -1, 12, -1, 14, -1, -1, -1, 18, 19, -1,
1029
- 21, 22, 23, 24, -1, -1, 27, 28, -1, -1,
1030
- 31, 32, -1, -1, -1, 36, -1, 38, 39, 40,
1031
- -1, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1032
- 51, 52, 3, -1, -1, -1, 7, 8, -1, 10,
1033
- -1, 12, -1, 14, -1, -1, -1, 18, 19, -1,
1034
- 21, 22, 23, 24, -1, -1, 27, 28, -1, -1,
1035
- 31, 32, -1, -1, -1, 36, -1, 38, 39, 40,
1036
- -1, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1037
- 51, 52, 3, 4, -1, -1, 7, 8, -1, 10,
1038
- -1, 12, -1, 14, -1, -1, -1, -1, -1, -1,
1039
- -1, -1, -1, 24, -1, -1, 27, 28, -1, -1,
1040
- 31, 32, -1, -1, -1, 36, -1, 38, 39, 40,
1041
- -1, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1042
- 51, 52, 3, -1, -1, -1, 7, 8, -1, 10,
1043
- 11, 12, -1, 14, -1, -1, -1, -1, -1, -1,
1044
- -1, -1, -1, 24, -1, -1, 27, 28, -1, -1,
1045
- 31, 32, -1, -1, -1, 36, -1, 38, 39, 40,
1046
- -1, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1047
- 51, 52, 3, -1, -1, -1, 7, 8, -1, 10,
1048
- -1, 12, 13, 14, -1, -1, -1, -1, -1, -1,
1049
- -1, -1, -1, 24, -1, -1, 27, 28, -1, -1,
1050
- 31, 32, -1, -1, -1, 36, -1, 38, 39, 40,
1051
- -1, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1052
- 51, 52, 3, -1, -1, -1, 7, 8, -1, 10,
1053
- -1, 12, -1, 14, -1, -1, -1, -1, -1, -1,
1054
- -1, -1, -1, 24, -1, -1, 27, 28, -1, -1,
1055
- 31, 32, -1, -1, -1, 36, -1, 38, 39, 40,
1056
- -1, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1057
- 51, 52, 3, -1, -1, -1, 7, 8, -1, 10,
1058
- -1, 12, -1, 14, -1, -1, -1, -1, 19, -1,
1059
- -1, -1, -1, -1, -1, -1, -1, 3, -1, -1,
1060
- 31, 7, 8, 34, 10, 36, 12, 38, 14, -1,
1061
- -1, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1062
- 51, -1, -1, -1, -1, 31, -1, 33, 34, -1,
1063
- 36, -1, 38, -1, -1, -1, 42, 43, 44, 45,
1064
- 46, 47, 48, 49, 50, 51, 3, -1, -1, -1,
1065
- 7, 8, -1, 10, -1, 12, -1, 14, -1, -1,
1066
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1067
- -1, -1, -1, -1, 31, -1, 33, 34, -1, 36,
1068
- -1, 38, -1, -1, -1, 42, 43, 44, 45, 46,
1069
- 47, 48, 49, 50, 51, 3, -1, -1, -1, 7,
1070
- 8, -1, 10, -1, 12, -1, 14, -1, -1, -1,
1071
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1072
- -1, -1, -1, 31, -1, 33, 34, -1, 36, -1,
1073
- 38, -1, -1, -1, 42, 43, 44, 45, 46, 47,
1074
- 48, 49, 50, 51, 3, -1, -1, -1, 7, 8,
1075
- -1, 10, -1, 12, -1, 14, -1, -1, -1, -1,
1076
- -1, -1, -1, -1, -1, -1, -1, 4, 5, 6,
1077
- -1, -1, 31, 10, -1, 34, -1, 36, -1, 38,
1078
- -1, -1, -1, 42, 43, 44, 45, 46, 47, 48,
1079
- 49, 50, 51, -1, 31, -1, 33, -1, -1, 36,
1080
- -1, 38, 39, 40, 41, 5, 6, -1, 8, -1,
1081
- 10, -1, -1, -1, -1, 52, -1, -1, -1, -1,
1082
- 5, 6, -1, -1, -1, 10, -1, -1, -1, -1,
1083
- -1, 31, -1, 33, 19, -1, 36, -1, 38, 39,
1084
- 40, 41, -1, -1, 5, 6, 31, -1, 33, 10,
1085
- 11, 36, 52, 38, 39, 40, 41, -1, -1, 5,
1086
- 6, -1, -1, -1, 10, 11, -1, 52, -1, -1,
1087
- 31, -1, 33, -1, -1, 36, -1, 38, 39, 40,
1088
- 41, -1, -1, 5, 6, 31, -1, 33, 10, 11,
1089
- 36, 52, 38, 39, 40, 41, -1, -1, -1, -1,
1090
- -1, -1, -1, -1, -1, -1, 52, -1, -1, 31,
1091
- -1, 33, -1, -1, 36, -1, 38, 39, 40, 41,
1092
- 5, 6, -1, -1, -1, 10, -1, -1, -1, -1,
1093
- 52, 16, -1, -1, -1, 5, 6, -1, -1, -1,
1094
- 10, -1, -1, -1, -1, -1, 31, -1, 33, -1,
1095
- -1, 36, -1, 38, 39, 40, 41, 5, 6, -1,
1096
- -1, 31, 10, 33, -1, -1, 36, 52, 38, 39,
1097
- 40, 41, 5, 6, -1, -1, -1, 10, -1, -1,
1098
- -1, -1, 52, 31, -1, 33, -1, -1, 36, -1,
1099
- 38, 39, 40, 41, -1, -1, -1, -1, 31, -1,
1100
- -1, -1, -1, 36, 52, 38, 39, 40, 41, 0,
1101
- -1, -1, -1, 4, -1, -1, -1, -1, 9, 52,
1102
- 11, -1, -1, -1, -1, -1, 17, 18, 19, -1,
1103
- 21, 22, 23, -1, -1, -1, -1, -1, -1, -1,
1104
- -1, -1, -1, -1, -1, -1, 37
1105
- };
1106
-
1107
- /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1108
- symbol of state STATE-NUM. */
1109
- static const yytype_uint8 yystos[] =
1110
- {
1111
- 0, 3, 7, 8, 10, 12, 14, 18, 19, 21,
1112
- 22, 23, 24, 27, 28, 31, 32, 36, 38, 39,
1113
- 40, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1114
- 51, 52, 54, 55, 56, 58, 59, 60, 61, 62,
1115
- 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
1116
- 73, 74, 75, 76, 77, 78, 79, 80, 81, 86,
1117
- 87, 88, 89, 90, 91, 92, 93, 94, 95, 97,
1118
- 99, 101, 102, 107, 108, 109, 110, 111, 112, 113,
1119
- 114, 115, 116, 118, 119, 120, 121, 122, 127, 56,
1120
- 57, 64, 71, 117, 57, 57, 57, 57, 31, 36,
1121
- 70, 123, 124, 125, 64, 64, 71, 109, 60, 77,
1122
- 29, 30, 64, 0, 55, 59, 19, 55, 58, 5,
1123
- 6, 10, 33, 41, 67, 70, 95, 97, 98, 3,
1124
- 34, 71, 96, 115, 57, 96, 35, 17, 35, 68,
1125
- 10, 67, 69, 70, 71, 82, 83, 5, 6, 70,
1126
- 69, 4, 64, 100, 117, 64, 33, 4, 17, 59,
1127
- 9, 59, 11, 117, 13, 64, 126, 14, 70, 17,
1128
- 25, 103, 104, 105, 20, 60, 8, 55, 10, 67,
1129
- 70, 95, 10, 67, 70, 95, 64, 57, 33, 96,
1130
- 100, 100, 64, 64, 96, 57, 71, 117, 11, 70,
1131
- 70, 60, 10, 67, 70, 83, 60, 69, 82, 84,
1132
- 85, 70, 70, 57, 96, 120, 4, 57, 33, 57,
1133
- 56, 57, 57, 57, 57, 17, 57, 57, 70, 60,
1134
- 64, 103, 26, 103, 106, 77, 57, 64, 33, 96,
1135
- 64, 33, 96, 11, 57, 4, 64, 70, 60, 11,
1136
- 70, 60, 60, 70, 57, 96, 120, 4, 64, 64,
1137
- 9, 9, 11, 15, 57, 13, 60, 15, 60, 60,
1138
- 60, 37, 128, 129, 11, 57, 11, 57, 96, 60,
1139
- 70, 60, 3, 69, 84, 4, 57, 64, 70, 64,
1140
- 57, 129, 96, 96, 60, 57, 70, 64, 57, 60,
1141
- 16, 9, 64, 15, 14, 59, 57, 57, 123, 4,
1142
- 64, 14, 59
1143
- };
1144
-
1145
- #define yyerrok (yyerrstatus = 0)
1146
- #define yyclearin (yychar = YYEMPTY)
1147
- #define YYEMPTY (-2)
1148
- #define YYEOF 0
1149
-
1150
- #define YYACCEPT goto yyacceptlab
1151
- #define YYABORT goto yyabortlab
1152
- #define YYERROR goto yyerrorlab
1153
-
1154
-
1155
- /* Like YYERROR except do call yyerror. This remains here temporarily
1156
- to ease the transition to the new meaning of YYERROR, for GCC.
1157
- Once GCC version 2 has supplanted version 1, this can go. However,
1158
- YYFAIL appears to be in use. Nevertheless, it is formally deprecated
1159
- in Bison 2.4.2's NEWS entry, where a plan to phase it out is
1160
- discussed. */
1161
-
1162
- #define YYFAIL goto yyerrlab
1163
- #if defined YYFAIL
1164
- /* This is here to suppress warnings from the GCC cpp's
1165
- -Wunused-macros. Normally we don't worry about that warning, but
1166
- some users do, and we want to make it easy for users to remove
1167
- YYFAIL uses, which will produce warnings from Bison 2.5. */
1168
- #endif
1169
-
1170
- #define YYRECOVERING() (!!yyerrstatus)
1171
-
1172
- #define YYBACKUP(Token, Value) \
1173
- do \
1174
- if (yychar == YYEMPTY && yylen == 1) \
1175
- { \
1176
- yychar = (Token); \
1177
- yylval = (Value); \
1178
- yytoken = YYTRANSLATE (yychar); \
1179
- YYPOPSTACK (1); \
1180
- goto yybackup; \
1181
- } \
1182
- else \
1183
- { \
1184
- yyerror (self, YY_("syntax error: cannot back up")); \
1185
- YYERROR; \
1186
- } \
1187
- while (YYID (0))
1188
-
1189
-
1190
- #define YYTERROR 1
1191
- #define YYERRCODE 256
1192
-
1193
-
1194
- /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
1195
- If N is 0, then set CURRENT to the empty location which ends
1196
- the previous symbol: RHS[0] (always defined). */
1197
-
1198
- #define YYRHSLOC(Rhs, K) ((Rhs)[K])
1199
- #ifndef YYLLOC_DEFAULT
1200
- # define YYLLOC_DEFAULT(Current, Rhs, N) \
1201
- do \
1202
- if (YYID (N)) \
1203
- { \
1204
- (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
1205
- (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
1206
- (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
1207
- (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
1208
- } \
1209
- else \
1210
- { \
1211
- (Current).first_line = (Current).last_line = \
1212
- YYRHSLOC (Rhs, 0).last_line; \
1213
- (Current).first_column = (Current).last_column = \
1214
- YYRHSLOC (Rhs, 0).last_column; \
1215
- } \
1216
- while (YYID (0))
1217
- #endif
1218
-
1219
-
1220
- /* YY_LOCATION_PRINT -- Print the location on the stream.
1221
- This macro was not mandated originally: define only if we know
1222
- we won't break user code: when these are the locations we know. */
1223
-
1224
- #ifndef YY_LOCATION_PRINT
1225
- # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
1226
- # define YY_LOCATION_PRINT(File, Loc) \
1227
- fprintf (File, "%d.%d-%d.%d", \
1228
- (Loc).first_line, (Loc).first_column, \
1229
- (Loc).last_line, (Loc).last_column)
1230
- # else
1231
- # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
1232
- # endif
1233
- #endif
1234
-
1235
-
1236
- /* YYLEX -- calling `yylex' with the right arguments. */
1237
-
1238
- #ifdef YYLEX_PARAM
1239
- # define YYLEX yylex (YYLEX_PARAM)
1240
- #else
1241
- # define YYLEX yylex (self)
1242
- #endif
1243
-
1244
- /* Enable debugging if requested. */
1245
- #if YYDEBUG
1246
-
1247
- # ifndef YYFPRINTF
1248
- # include <stdio.h> /* INFRINGES ON USER NAME SPACE */
1249
- # define YYFPRINTF fprintf
1250
- # endif
1251
-
1252
- # define YYDPRINTF(Args) \
1253
- do { \
1254
- if (yydebug) \
1255
- YYFPRINTF Args; \
1256
- } while (YYID (0))
1257
-
1258
- # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
1259
- do { \
1260
- if (yydebug) \
1261
- { \
1262
- YYFPRINTF (stderr, "%s ", Title); \
1263
- yy_symbol_print (stderr, \
1264
- Type, Value, self); \
1265
- YYFPRINTF (stderr, "\n"); \
1266
- } \
1267
- } while (YYID (0))
1268
-
1269
-
1270
- /*--------------------------------.
1271
- | Print this symbol on YYOUTPUT. |
1272
- `--------------------------------*/
1273
-
1274
- /*ARGSUSED*/
1275
- #if (defined __STDC__ || defined __C99__FUNC__ \
1276
- || defined __cplusplus || defined _MSC_VER)
1277
- static void
1278
- yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, VALUE self)
1279
- #else
1280
- static void
1281
- yy_symbol_value_print (yyoutput, yytype, yyvaluep, self)
1282
- FILE *yyoutput;
1283
- int yytype;
1284
- YYSTYPE const * const yyvaluep;
1285
- VALUE self;
1286
- #endif
1287
- {
1288
- if (!yyvaluep)
1289
- return;
1290
- YYUSE (self);
1291
- # ifdef YYPRINT
1292
- if (yytype < YYNTOKENS)
1293
- YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
1294
- # else
1295
- YYUSE (yyoutput);
1296
- # endif
1297
- switch (yytype)
1298
- {
1299
- default:
1300
- break;
1301
- }
1302
- }
1303
-
1304
-
1305
- /*--------------------------------.
1306
- | Print this symbol on YYOUTPUT. |
1307
- `--------------------------------*/
1308
-
1309
- #if (defined __STDC__ || defined __C99__FUNC__ \
1310
- || defined __cplusplus || defined _MSC_VER)
1311
- static void
1312
- yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, VALUE self)
1313
- #else
1314
- static void
1315
- yy_symbol_print (yyoutput, yytype, yyvaluep, self)
1316
- FILE *yyoutput;
1317
- int yytype;
1318
- YYSTYPE const * const yyvaluep;
1319
- VALUE self;
1320
- #endif
1321
- {
1322
- if (yytype < YYNTOKENS)
1323
- YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
1324
- else
1325
- YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
1326
-
1327
- yy_symbol_value_print (yyoutput, yytype, yyvaluep, self);
1328
- YYFPRINTF (yyoutput, ")");
1329
- }
1330
-
1331
- /*------------------------------------------------------------------.
1332
- | yy_stack_print -- Print the state stack from its BOTTOM up to its |
1333
- | TOP (included). |
1334
- `------------------------------------------------------------------*/
1335
-
1336
- #if (defined __STDC__ || defined __C99__FUNC__ \
1337
- || defined __cplusplus || defined _MSC_VER)
1338
- static void
1339
- yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
1340
- #else
1341
- static void
1342
- yy_stack_print (yybottom, yytop)
1343
- yytype_int16 *yybottom;
1344
- yytype_int16 *yytop;
1345
- #endif
1346
- {
1347
- YYFPRINTF (stderr, "Stack now");
1348
- for (; yybottom <= yytop; yybottom++)
1349
- {
1350
- int yybot = *yybottom;
1351
- YYFPRINTF (stderr, " %d", yybot);
1352
- }
1353
- YYFPRINTF (stderr, "\n");
1354
- }
1355
-
1356
- # define YY_STACK_PRINT(Bottom, Top) \
1357
- do { \
1358
- if (yydebug) \
1359
- yy_stack_print ((Bottom), (Top)); \
1360
- } while (YYID (0))
1361
-
1362
-
1363
- /*------------------------------------------------.
1364
- | Report that the YYRULE is going to be reduced. |
1365
- `------------------------------------------------*/
1366
-
1367
- #if (defined __STDC__ || defined __C99__FUNC__ \
1368
- || defined __cplusplus || defined _MSC_VER)
1369
- static void
1370
- yy_reduce_print (YYSTYPE *yyvsp, int yyrule, VALUE self)
1371
- #else
1372
- static void
1373
- yy_reduce_print (yyvsp, yyrule, self)
1374
- YYSTYPE *yyvsp;
1375
- int yyrule;
1376
- VALUE self;
1377
- #endif
1378
- {
1379
- int yynrhs = yyr2[yyrule];
1380
- int yyi;
1381
- unsigned long int yylno = yyrline[yyrule];
1382
- YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
1383
- yyrule - 1, yylno);
1384
- /* The symbols being reduced. */
1385
- for (yyi = 0; yyi < yynrhs; yyi++)
1386
- {
1387
- YYFPRINTF (stderr, " $%d = ", yyi + 1);
1388
- yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
1389
- &(yyvsp[(yyi + 1) - (yynrhs)])
1390
- , self);
1391
- YYFPRINTF (stderr, "\n");
1392
- }
1393
- }
1394
-
1395
- # define YY_REDUCE_PRINT(Rule) \
1396
- do { \
1397
- if (yydebug) \
1398
- yy_reduce_print (yyvsp, Rule, self); \
1399
- } while (YYID (0))
1400
-
1401
- /* Nonzero means print parse trace. It is left uninitialized so that
1402
- multiple parsers can coexist. */
1403
- int yydebug;
1404
- #else /* !YYDEBUG */
1405
- # define YYDPRINTF(Args)
1406
- # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
1407
- # define YY_STACK_PRINT(Bottom, Top)
1408
- # define YY_REDUCE_PRINT(Rule)
1409
- #endif /* !YYDEBUG */
1410
-
1411
-
1412
- /* YYINITDEPTH -- initial size of the parser's stacks. */
1413
- #ifndef YYINITDEPTH
1414
- # define YYINITDEPTH 200
1415
- #endif
1416
-
1417
- /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
1418
- if the built-in stack extension method is used).
1419
-
1420
- Do not make this value too large; the results are undefined if
1421
- YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
1422
- evaluated with infinite-precision integer arithmetic. */
1423
-
1424
- #ifndef YYMAXDEPTH
1425
- # define YYMAXDEPTH 10000
1426
- #endif
1427
-
1428
-
1429
-
1430
- #if YYERROR_VERBOSE
1431
-
1432
- # ifndef yystrlen
1433
- # if defined __GLIBC__ && defined _STRING_H
1434
- # define yystrlen strlen
1435
- # else
1436
- /* Return the length of YYSTR. */
1437
- #if (defined __STDC__ || defined __C99__FUNC__ \
1438
- || defined __cplusplus || defined _MSC_VER)
1439
- static YYSIZE_T
1440
- yystrlen (const char *yystr)
1441
- #else
1442
- static YYSIZE_T
1443
- yystrlen (yystr)
1444
- const char *yystr;
1445
- #endif
1446
- {
1447
- YYSIZE_T yylen;
1448
- for (yylen = 0; yystr[yylen]; yylen++)
1449
- continue;
1450
- return yylen;
1451
- }
1452
- # endif
1453
- # endif
1454
-
1455
- # ifndef yystpcpy
1456
- # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
1457
- # define yystpcpy stpcpy
1458
- # else
1459
- /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
1460
- YYDEST. */
1461
- #if (defined __STDC__ || defined __C99__FUNC__ \
1462
- || defined __cplusplus || defined _MSC_VER)
1463
- static char *
1464
- yystpcpy (char *yydest, const char *yysrc)
1465
- #else
1466
- static char *
1467
- yystpcpy (yydest, yysrc)
1468
- char *yydest;
1469
- const char *yysrc;
1470
- #endif
1471
- {
1472
- char *yyd = yydest;
1473
- const char *yys = yysrc;
1474
-
1475
- while ((*yyd++ = *yys++) != '\0')
1476
- continue;
1477
-
1478
- return yyd - 1;
1479
- }
1480
- # endif
1481
- # endif
1482
-
1483
- # ifndef yytnamerr
1484
- /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
1485
- quotes and backslashes, so that it's suitable for yyerror. The
1486
- heuristic is that double-quoting is unnecessary unless the string
1487
- contains an apostrophe, a comma, or backslash (other than
1488
- backslash-backslash). YYSTR is taken from yytname. If YYRES is
1489
- null, do not copy; instead, return the length of what the result
1490
- would have been. */
1491
- static YYSIZE_T
1492
- yytnamerr (char *yyres, const char *yystr)
1493
- {
1494
- if (*yystr == '"')
1495
- {
1496
- YYSIZE_T yyn = 0;
1497
- char const *yyp = yystr;
1498
-
1499
- for (;;)
1500
- switch (*++yyp)
1501
- {
1502
- case '\'':
1503
- case ',':
1504
- goto do_not_strip_quotes;
1505
-
1506
- case '\\':
1507
- if (*++yyp != '\\')
1508
- goto do_not_strip_quotes;
1509
- /* Fall through. */
1510
- default:
1511
- if (yyres)
1512
- yyres[yyn] = *yyp;
1513
- yyn++;
1514
- break;
1515
-
1516
- case '"':
1517
- if (yyres)
1518
- yyres[yyn] = '\0';
1519
- return yyn;
1520
- }
1521
- do_not_strip_quotes: ;
1522
- }
1523
-
1524
- if (! yyres)
1525
- return yystrlen (yystr);
1526
-
1527
- return yystpcpy (yyres, yystr) - yyres;
1528
- }
1529
- # endif
1530
-
1531
- /* Copy into YYRESULT an error message about the unexpected token
1532
- YYCHAR while in state YYSTATE. Return the number of bytes copied,
1533
- including the terminating null byte. If YYRESULT is null, do not
1534
- copy anything; just return the number of bytes that would be
1535
- copied. As a special case, return 0 if an ordinary "syntax error"
1536
- message will do. Return YYSIZE_MAXIMUM if overflow occurs during
1537
- size calculation. */
1538
- static YYSIZE_T
1539
- yysyntax_error (char *yyresult, int yystate, int yychar)
1540
- {
1541
- int yyn = yypact[yystate];
1542
-
1543
- if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
1544
- return 0;
1545
- else
1546
- {
1547
- int yytype = YYTRANSLATE (yychar);
1548
- YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
1549
- YYSIZE_T yysize = yysize0;
1550
- YYSIZE_T yysize1;
1551
- int yysize_overflow = 0;
1552
- enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
1553
- char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
1554
- int yyx;
1555
-
1556
- # if 0
1557
- /* This is so xgettext sees the translatable formats that are
1558
- constructed on the fly. */
1559
- YY_("syntax error, unexpected %s");
1560
- YY_("syntax error, unexpected %s, expecting %s");
1561
- YY_("syntax error, unexpected %s, expecting %s or %s");
1562
- YY_("syntax error, unexpected %s, expecting %s or %s or %s");
1563
- YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
1564
- # endif
1565
- char *yyfmt;
1566
- char const *yyf;
1567
- static char const yyunexpected[] = "syntax error, unexpected %s";
1568
- static char const yyexpecting[] = ", expecting %s";
1569
- static char const yyor[] = " or %s";
1570
- char yyformat[sizeof yyunexpected
1571
- + sizeof yyexpecting - 1
1572
- + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
1573
- * (sizeof yyor - 1))];
1574
- char const *yyprefix = yyexpecting;
1575
-
1576
- /* Start YYX at -YYN if negative to avoid negative indexes in
1577
- YYCHECK. */
1578
- int yyxbegin = yyn < 0 ? -yyn : 0;
1579
-
1580
- /* Stay within bounds of both yycheck and yytname. */
1581
- int yychecklim = YYLAST - yyn + 1;
1582
- int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
1583
- int yycount = 1;
1584
-
1585
- yyarg[0] = yytname[yytype];
1586
- yyfmt = yystpcpy (yyformat, yyunexpected);
1587
-
1588
- for (yyx = yyxbegin; yyx < yyxend; ++yyx)
1589
- if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
1590
- {
1591
- if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
1592
- {
1593
- yycount = 1;
1594
- yysize = yysize0;
1595
- yyformat[sizeof yyunexpected - 1] = '\0';
1596
- break;
1597
- }
1598
- yyarg[yycount++] = yytname[yyx];
1599
- yysize1 = yysize + yytnamerr (0, yytname[yyx]);
1600
- yysize_overflow |= (yysize1 < yysize);
1601
- yysize = yysize1;
1602
- yyfmt = yystpcpy (yyfmt, yyprefix);
1603
- yyprefix = yyor;
1604
- }
1605
-
1606
- yyf = YY_(yyformat);
1607
- yysize1 = yysize + yystrlen (yyf);
1608
- yysize_overflow |= (yysize1 < yysize);
1609
- yysize = yysize1;
1610
-
1611
- if (yysize_overflow)
1612
- return YYSIZE_MAXIMUM;
1613
-
1614
- if (yyresult)
1615
- {
1616
- /* Avoid sprintf, as that infringes on the user's name space.
1617
- Don't have undefined behavior even if the translation
1618
- produced a string with the wrong number of "%s"s. */
1619
- char *yyp = yyresult;
1620
- int yyi = 0;
1621
- while ((*yyp = *yyf) != '\0')
1622
- {
1623
- if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
1624
- {
1625
- yyp += yytnamerr (yyp, yyarg[yyi++]);
1626
- yyf += 2;
1627
- }
1628
- else
1629
- {
1630
- yyp++;
1631
- yyf++;
1632
- }
1633
- }
1634
- }
1635
- return yysize;
1636
- }
1637
- }
1638
- #endif /* YYERROR_VERBOSE */
1639
-
1640
-
1641
- /*-----------------------------------------------.
1642
- | Release the memory associated to this symbol. |
1643
- `-----------------------------------------------*/
1644
-
1645
- /*ARGSUSED*/
1646
- #if (defined __STDC__ || defined __C99__FUNC__ \
1647
- || defined __cplusplus || defined _MSC_VER)
1648
- static void
1649
- yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, VALUE self)
1650
- #else
1651
- static void
1652
- yydestruct (yymsg, yytype, yyvaluep, self)
1653
- const char *yymsg;
1654
- int yytype;
1655
- YYSTYPE *yyvaluep;
1656
- VALUE self;
1657
- #endif
1658
- {
1659
- YYUSE (yyvaluep);
1660
- YYUSE (self);
1661
-
1662
- if (!yymsg)
1663
- yymsg = "Deleting";
1664
- YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
1665
-
1666
- switch (yytype)
1667
- {
1668
-
1669
- default:
1670
- break;
1671
- }
1672
- }
1673
-
1674
- /* Prevent warnings from -Wmissing-prototypes. */
1675
- #ifdef YYPARSE_PARAM
1676
- #if defined __STDC__ || defined __cplusplus
1677
- int yyparse (void *YYPARSE_PARAM);
1678
- #else
1679
- int yyparse ();
1680
- #endif
1681
- #else /* ! YYPARSE_PARAM */
1682
- #if defined __STDC__ || defined __cplusplus
1683
- int yyparse (VALUE self);
1684
- #else
1685
- int yyparse ();
1686
- #endif
1687
- #endif /* ! YYPARSE_PARAM */
1688
-
1689
-
1690
- /* The lookahead symbol. */
1691
- int yychar;
1692
-
1693
- /* The semantic value of the lookahead symbol. */
1694
- YYSTYPE yylval;
1695
-
1696
- /* Number of syntax errors so far. */
1697
- int yynerrs;
1698
-
1699
-
1700
-
1701
- /*-------------------------.
1702
- | yyparse or yypush_parse. |
1703
- `-------------------------*/
1704
-
1705
- #ifdef YYPARSE_PARAM
1706
- #if (defined __STDC__ || defined __C99__FUNC__ \
1707
- || defined __cplusplus || defined _MSC_VER)
1708
- int
1709
- yyparse (void *YYPARSE_PARAM)
1710
- #else
1711
- int
1712
- yyparse (YYPARSE_PARAM)
1713
- void *YYPARSE_PARAM;
1714
- #endif
1715
- #else /* ! YYPARSE_PARAM */
1716
- #if (defined __STDC__ || defined __C99__FUNC__ \
1717
- || defined __cplusplus || defined _MSC_VER)
1718
- int
1719
- yyparse (VALUE self)
1720
- #else
1721
- int
1722
- yyparse (self)
1723
- VALUE self;
1724
- #endif
1725
- #endif
1726
- {
1727
-
1728
-
1729
- int yystate;
1730
- /* Number of tokens to shift before error messages enabled. */
1731
- int yyerrstatus;
1732
-
1733
- /* The stacks and their tools:
1734
- `yyss': related to states.
1735
- `yyvs': related to semantic values.
1736
-
1737
- Refer to the stacks thru separate pointers, to allow yyoverflow
1738
- to reallocate them elsewhere. */
1739
-
1740
- /* The state stack. */
1741
- yytype_int16 yyssa[YYINITDEPTH];
1742
- yytype_int16 *yyss;
1743
- yytype_int16 *yyssp;
1744
-
1745
- /* The semantic value stack. */
1746
- YYSTYPE yyvsa[YYINITDEPTH];
1747
- YYSTYPE *yyvs;
1748
- YYSTYPE *yyvsp;
1749
-
1750
- YYSIZE_T yystacksize;
1751
-
1752
- int yyn;
1753
- int yyresult;
1754
- /* Lookahead token as an internal (translated) token number. */
1755
- int yytoken;
1756
- /* The variables used to return semantic value and location from the
1757
- action routines. */
1758
- YYSTYPE yyval;
1759
-
1760
- #if YYERROR_VERBOSE
1761
- /* Buffer for error messages, and its allocated size. */
1762
- char yymsgbuf[128];
1763
- char *yymsg = yymsgbuf;
1764
- YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
1765
- #endif
1766
-
1767
- #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
1768
-
1769
- /* The number of symbols on the RHS of the reduced rule.
1770
- Keep to zero when no symbol should be popped. */
1771
- int yylen = 0;
1772
-
1773
- yytoken = 0;
1774
- yyss = yyssa;
1775
- yyvs = yyvsa;
1776
- yystacksize = YYINITDEPTH;
1777
-
1778
- YYDPRINTF ((stderr, "Starting parse\n"));
1779
-
1780
- yystate = 0;
1781
- yyerrstatus = 0;
1782
- yynerrs = 0;
1783
- yychar = YYEMPTY; /* Cause a token to be read. */
1784
-
1785
- /* Initialize stack pointers.
1786
- Waste one element of value and location stack
1787
- so that they stay on the same level as the state stack.
1788
- The wasted elements are never initialized. */
1789
- yyssp = yyss;
1790
- yyvsp = yyvs;
1791
-
1792
- goto yysetstate;
1793
-
1794
- /*------------------------------------------------------------.
1795
- | yynewstate -- Push a new state, which is found in yystate. |
1796
- `------------------------------------------------------------*/
1797
- yynewstate:
1798
- /* In all cases, when you get here, the value and location stacks
1799
- have just been pushed. So pushing a state here evens the stacks. */
1800
- yyssp++;
1801
-
1802
- yysetstate:
1803
- *yyssp = yystate;
1804
-
1805
- if (yyss + yystacksize - 1 <= yyssp)
1806
- {
1807
- /* Get the current used size of the three stacks, in elements. */
1808
- YYSIZE_T yysize = yyssp - yyss + 1;
1809
-
1810
- #ifdef yyoverflow
1811
- {
1812
- /* Give user a chance to reallocate the stack. Use copies of
1813
- these so that the &'s don't force the real ones into
1814
- memory. */
1815
- YYSTYPE *yyvs1 = yyvs;
1816
- yytype_int16 *yyss1 = yyss;
1817
-
1818
- /* Each stack pointer address is followed by the size of the
1819
- data in use in that stack, in bytes. This used to be a
1820
- conditional around just the two extra args, but that might
1821
- be undefined if yyoverflow is a macro. */
1822
- yyoverflow (YY_("memory exhausted"),
1823
- &yyss1, yysize * sizeof (*yyssp),
1824
- &yyvs1, yysize * sizeof (*yyvsp),
1825
- &yystacksize);
1826
-
1827
- yyss = yyss1;
1828
- yyvs = yyvs1;
1829
- }
1830
- #else /* no yyoverflow */
1831
- # ifndef YYSTACK_RELOCATE
1832
- goto yyexhaustedlab;
1833
- # else
1834
- /* Extend the stack our own way. */
1835
- if (YYMAXDEPTH <= yystacksize)
1836
- goto yyexhaustedlab;
1837
- yystacksize *= 2;
1838
- if (YYMAXDEPTH < yystacksize)
1839
- yystacksize = YYMAXDEPTH;
1840
-
1841
- {
1842
- yytype_int16 *yyss1 = yyss;
1843
- union yyalloc *yyptr =
1844
- (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
1845
- if (! yyptr)
1846
- goto yyexhaustedlab;
1847
- YYSTACK_RELOCATE (yyss_alloc, yyss);
1848
- YYSTACK_RELOCATE (yyvs_alloc, yyvs);
1849
- # undef YYSTACK_RELOCATE
1850
- if (yyss1 != yyssa)
1851
- YYSTACK_FREE (yyss1);
1852
- }
1853
- # endif
1854
- #endif /* no yyoverflow */
1855
-
1856
- yyssp = yyss + yysize - 1;
1857
- yyvsp = yyvs + yysize - 1;
1858
-
1859
- YYDPRINTF ((stderr, "Stack size increased to %lu\n",
1860
- (unsigned long int) yystacksize));
1861
-
1862
- if (yyss + yystacksize - 1 <= yyssp)
1863
- YYABORT;
1864
- }
1865
-
1866
- YYDPRINTF ((stderr, "Entering state %d\n", yystate));
1867
-
1868
- if (yystate == YYFINAL)
1869
- YYACCEPT;
1870
-
1871
- goto yybackup;
1872
-
1873
- /*-----------.
1874
- | yybackup. |
1875
- `-----------*/
1876
- yybackup:
1877
-
1878
- /* Do appropriate processing given the current state. Read a
1879
- lookahead token if we need one and don't already have one. */
1880
-
1881
- /* First try to decide what to do without reference to lookahead token. */
1882
- yyn = yypact[yystate];
1883
- if (yyn == YYPACT_NINF)
1884
- goto yydefault;
1885
-
1886
- /* Not known => get a lookahead token if don't already have one. */
1887
-
1888
- /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
1889
- if (yychar == YYEMPTY)
1890
- {
1891
- YYDPRINTF ((stderr, "Reading a token: "));
1892
- yychar = YYLEX;
1893
- }
1894
-
1895
- if (yychar <= YYEOF)
1896
- {
1897
- yychar = yytoken = YYEOF;
1898
- YYDPRINTF ((stderr, "Now at end of input.\n"));
1899
- }
1900
- else
1901
- {
1902
- yytoken = YYTRANSLATE (yychar);
1903
- YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
1904
- }
1905
-
1906
- /* If the proper action on seeing token YYTOKEN is to reduce or to
1907
- detect an error, take that action. */
1908
- yyn += yytoken;
1909
- if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
1910
- goto yydefault;
1911
- yyn = yytable[yyn];
1912
- if (yyn <= 0)
1913
- {
1914
- if (yyn == 0 || yyn == YYTABLE_NINF)
1915
- goto yyerrlab;
1916
- yyn = -yyn;
1917
- goto yyreduce;
1918
- }
1919
-
1920
- /* Count tokens shifted since error; after three, turn off error
1921
- status. */
1922
- if (yyerrstatus)
1923
- yyerrstatus--;
1924
-
1925
- /* Shift the lookahead token. */
1926
- YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
1927
-
1928
- /* Discard the shifted token. */
1929
- yychar = YYEMPTY;
1930
-
1931
- yystate = yyn;
1932
- *++yyvsp = yylval;
1933
-
1934
- goto yynewstate;
1935
-
1936
-
1937
- /*-----------------------------------------------------------.
1938
- | yydefault -- do the default action for the current state. |
1939
- `-----------------------------------------------------------*/
1940
- yydefault:
1941
- yyn = yydefact[yystate];
1942
- if (yyn == 0)
1943
- goto yyerrlab;
1944
- goto yyreduce;
1945
-
1946
-
1947
- /*-----------------------------.
1948
- | yyreduce -- Do a reduction. |
1949
- `-----------------------------*/
1950
- yyreduce:
1951
- /* yyn is the number of a rule to reduce with. */
1952
- yylen = yyr2[yyn];
1953
-
1954
- /* If YYLEN is nonzero, implement the default value of the action:
1955
- `$$ = $1'.
1956
-
1957
- Otherwise, the following line sets YYVAL to garbage.
1958
- This behavior is undocumented and Bison
1959
- users should not rely upon it. Assigning to YYVAL
1960
- unconditionally makes the parser a bit smaller, and it avoids a
1961
- GCC warning that YYVAL may be used uninitialized. */
1962
- yyval = yyvsp[1-yylen];
1963
-
1964
-
1965
- YY_REDUCE_PRINT (yyn);
1966
- switch (yyn)
1967
- {
1968
- case 3:
1969
-
1970
- /* Line 1464 of yacc.c */
1971
- #line 165 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
1972
- {
1973
- rb_funcall(self, rb_intern("body:"), 1, (yyvsp[(1) - (1)].object));
1974
- ;}
1975
- break;
1976
-
1977
- case 13:
1978
-
1979
- /* Line 1464 of yacc.c */
1980
- #line 187 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
1981
- {
1982
- (yyval.object) = rb_funcall(self, rb_intern("ast:exp_list:"), 2, INT2NUM(yylineno), (yyvsp[(1) - (1)].object));
1983
- ;}
1984
- break;
1985
-
1986
- case 14:
1987
-
1988
- /* Line 1464 of yacc.c */
1989
- #line 190 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
1990
- {
1991
- (yyval.object) = rb_funcall(self, rb_intern("ast:exp_list:into:"), 3, INT2NUM(yylineno), (yyvsp[(2) - (2)].object), (yyvsp[(1) - (2)].object));
1992
- ;}
1993
- break;
1994
-
1995
- case 15:
1996
-
1997
- /* Line 1464 of yacc.c */
1998
- #line 193 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
1999
- {
2000
- (yyval.object) = (yyvsp[(2) - (2)].object);
2001
- ;}
2002
- break;
2003
-
2004
- case 16:
2005
-
2006
- /* Line 1464 of yacc.c */
2007
- #line 196 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2008
- {
2009
- (yyval.object) = (yyvsp[(1) - (2)].object);
2010
- ;}
2011
- break;
2012
-
2013
- case 17:
2014
-
2015
- /* Line 1464 of yacc.c */
2016
- #line 201 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2017
- {
2018
- (yyval.object) = (yyvsp[(3) - (5)].object);
2019
- ;}
2020
- break;
2021
-
2022
- case 18:
2023
-
2024
- /* Line 1464 of yacc.c */
2025
- #line 204 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2026
- {
2027
- (yyval.object) = rb_funcall(self, rb_intern("ast:exp_list:"), 2, INT2NUM(yylineno), Qnil);
2028
- ;}
2029
- break;
2030
-
2031
- case 19:
2032
-
2033
- /* Line 1464 of yacc.c */
2034
- #line 209 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2035
- {
2036
- (yyval.object) = (yyvsp[(3) - (5)].object);
2037
- ;}
2038
- break;
2039
-
2040
- case 26:
2041
-
2042
- /* Line 1464 of yacc.c */
2043
- #line 222 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2044
- {
2045
- (yyval.object) = (yyvsp[(3) - (5)].object);
2046
- ;}
2047
- break;
2048
-
2049
- case 35:
2050
-
2051
- /* Line 1464 of yacc.c */
2052
- #line 235 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2053
- { (yyval.object) = rb_funcall(self, rb_intern("ast:super_exp:"), 2, INT2NUM(yylineno), Qnil); ;}
2054
- break;
2055
-
2056
- case 36:
2057
-
2058
- /* Line 1464 of yacc.c */
2059
- #line 236 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2060
- { (yyval.object) = rb_funcall(self, rb_intern("ast:retry_exp:"), 2, INT2NUM(yylineno), Qnil); ;}
2061
- break;
2062
-
2063
- case 37:
2064
-
2065
- /* Line 1464 of yacc.c */
2066
- #line 237 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2067
- {
2068
- (yyval.object) = (yyvsp[(1) - (3)].object);
2069
- ;}
2070
- break;
2071
-
2072
- case 38:
2073
-
2074
- /* Line 1464 of yacc.c */
2075
- #line 242 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2076
- {
2077
- (yyval.object) = rb_funcall(self, rb_intern("ast:assign:to:"), 3, INT2NUM(yylineno), (yyvsp[(4) - (4)].object), (yyvsp[(1) - (4)].object));
2078
- ;}
2079
- break;
2080
-
2081
- case 40:
2082
-
2083
- /* Line 1464 of yacc.c */
2084
- #line 248 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2085
- {
2086
- (yyval.object) = rb_funcall(self, rb_intern("ast:assign:to:many:"), 4, INT2NUM(yylineno), (yyvsp[(3) - (3)].object), (yyvsp[(1) - (3)].object), Qtrue);
2087
- ;}
2088
- break;
2089
-
2090
- case 41:
2091
-
2092
- /* Line 1464 of yacc.c */
2093
- #line 253 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2094
- {
2095
- (yyval.object) = fy_terminal_node(self, "ast:identifier:");
2096
- ;}
2097
- break;
2098
-
2099
- case 42:
2100
-
2101
- /* Line 1464 of yacc.c */
2102
- #line 258 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2103
- {
2104
- (yyval.object) = fy_terminal_node(self, "ast:identifier:");
2105
- ;}
2106
- break;
2107
-
2108
- case 43:
2109
-
2110
- /* Line 1464 of yacc.c */
2111
- #line 263 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2112
- {
2113
- (yyval.object) = fy_terminal_node(self, "ast:identifier:");
2114
- ;}
2115
- break;
2116
-
2117
- case 44:
2118
-
2119
- /* Line 1464 of yacc.c */
2120
- #line 267 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2121
- {
2122
- (yyval.object) = fy_terminal_node(self, "ast:identifier:");
2123
- ;}
2124
- break;
2125
-
2126
- case 45:
2127
-
2128
- /* Line 1464 of yacc.c */
2129
- #line 270 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2130
- {
2131
- (yyval.object) = fy_terminal_node_from(self, "ast:identifier:", "match");
2132
- ;}
2133
- break;
2134
-
2135
- case 46:
2136
-
2137
- /* Line 1464 of yacc.c */
2138
- #line 273 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2139
- {
2140
- (yyval.object) = fy_terminal_node_from(self, "ast:identifier:", "class");
2141
- ;}
2142
- break;
2143
-
2144
- case 49:
2145
-
2146
- /* Line 1464 of yacc.c */
2147
- #line 282 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2148
- {
2149
- (yyval.object) = rb_funcall(self, rb_intern("ast:concat:"), 2, INT2NUM(yylineno), (yyvsp[(1) - (1)].object));
2150
- ;}
2151
- break;
2152
-
2153
- case 50:
2154
-
2155
- /* Line 1464 of yacc.c */
2156
- #line 285 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2157
- {
2158
- (yyval.object) = rb_funcall(self, rb_intern("ast:concat:into:"), 3, INT2NUM(yylineno), (yyvsp[(3) - (3)].object), (yyvsp[(1) - (3)].object));
2159
- ;}
2160
- break;
2161
-
2162
- case 51:
2163
-
2164
- /* Line 1464 of yacc.c */
2165
- #line 290 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2166
- {
2167
- (yyval.object) = rb_funcall(self, rb_intern("ast:return_local_stmt:"), 2, INT2NUM(yylineno), (yyvsp[(2) - (2)].object));
2168
- ;}
2169
- break;
2170
-
2171
- case 52:
2172
-
2173
- /* Line 1464 of yacc.c */
2174
- #line 293 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2175
- {
2176
- (yyval.object) = rb_funcall(self, rb_intern("ast:return_local_stmt:"), 2, INT2NUM(yylineno), Qnil);
2177
- ;}
2178
- break;
2179
-
2180
- case 53:
2181
-
2182
- /* Line 1464 of yacc.c */
2183
- #line 298 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2184
- {
2185
- (yyval.object) = rb_funcall(self, rb_intern("ast:return_stmt:"), 2, INT2NUM(yylineno), (yyvsp[(2) - (2)].object));
2186
- ;}
2187
- break;
2188
-
2189
- case 54:
2190
-
2191
- /* Line 1464 of yacc.c */
2192
- #line 301 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2193
- {
2194
- (yyval.object) = rb_funcall(self, rb_intern("ast:return_stmt:"), 2, INT2NUM(yylineno), Qnil);
2195
- ;}
2196
- break;
2197
-
2198
- case 55:
2199
-
2200
- /* Line 1464 of yacc.c */
2201
- #line 306 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2202
- {
2203
- (yyval.object) = rb_funcall(self, rb_intern("ast:require_:"), 2, INT2NUM(yylineno), (yyvsp[(2) - (2)].object));
2204
- ;}
2205
- break;
2206
-
2207
- case 56:
2208
-
2209
- /* Line 1464 of yacc.c */
2210
- #line 309 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2211
- {
2212
- (yyval.object) = rb_funcall(self, rb_intern("ast:require_:"), 2, INT2NUM(yylineno), (yyvsp[(2) - (2)].object));
2213
- ;}
2214
- break;
2215
-
2216
- case 59:
2217
-
2218
- /* Line 1464 of yacc.c */
2219
- #line 318 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2220
- {
2221
- (yyval.object) = rb_funcall(self, rb_intern("ast:identity:"), 2, INT2NUM(yylineno), (yyvsp[(1) - (1)].object));
2222
- ;}
2223
- break;
2224
-
2225
- case 60:
2226
-
2227
- /* Line 1464 of yacc.c */
2228
- #line 321 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2229
- {
2230
- (yyval.object) = rb_funcall(self, rb_intern("ast:constant:parent:"), 3, INT2NUM(yylineno), (yyvsp[(2) - (2)].object), (yyvsp[(1) - (2)].object));
2231
- ;}
2232
- break;
2233
-
2234
- case 61:
2235
-
2236
- /* Line 1464 of yacc.c */
2237
- #line 326 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2238
- { (yyval.object) = rb_intern("private"); ;}
2239
- break;
2240
-
2241
- case 62:
2242
-
2243
- /* Line 1464 of yacc.c */
2244
- #line 327 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2245
- { (yyval.object) = rb_intern("protected"); ;}
2246
- break;
2247
-
2248
- case 63:
2249
-
2250
- /* Line 1464 of yacc.c */
2251
- #line 328 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2252
- { (yyval.object) = rb_intern("public"); ;}
2253
- break;
2254
-
2255
- case 64:
2256
-
2257
- /* Line 1464 of yacc.c */
2258
- #line 331 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2259
- {
2260
- (yyval.object) = rb_funcall(self, rb_intern("ast:class:parent:body:"), 4, INT2NUM(yylineno), (yyvsp[(2) - (3)].object), Qnil, (yyvsp[(3) - (3)].object));
2261
- ;}
2262
- break;
2263
-
2264
- case 65:
2265
-
2266
- /* Line 1464 of yacc.c */
2267
- #line 336 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2268
- {
2269
- (yyval.object) = rb_funcall(self, rb_intern("ast:class:parent:body:"), 4, INT2NUM(yylineno), (yyvsp[(2) - (5)].object), (yyvsp[(4) - (5)].object), (yyvsp[(5) - (5)].object));
2270
- ;}
2271
- break;
2272
-
2273
- case 72:
2274
-
2275
- /* Line 1464 of yacc.c */
2276
- #line 349 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2277
- {
2278
- (yyval.object) = rb_funcall(self, rb_intern("ast:param:var:"), 3, INT2NUM(yylineno), (yyvsp[(1) - (2)].object), (yyvsp[(2) - (2)].object));
2279
- ;}
2280
- break;
2281
-
2282
- case 73:
2283
-
2284
- /* Line 1464 of yacc.c */
2285
- #line 354 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2286
- {
2287
- (yyval.object) = rb_funcall(self, rb_intern("ast:concat:"), 2, INT2NUM(yylineno), (yyvsp[(1) - (1)].object));
2288
- ;}
2289
- break;
2290
-
2291
- case 74:
2292
-
2293
- /* Line 1464 of yacc.c */
2294
- #line 357 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2295
- {
2296
- (yyval.object) = rb_funcall(self, rb_intern("ast:concat:into:"), 3, INT2NUM(yylineno), (yyvsp[(2) - (2)].object), (yyvsp[(1) - (2)].object));
2297
- ;}
2298
- break;
2299
-
2300
- case 75:
2301
-
2302
- /* Line 1464 of yacc.c */
2303
- #line 360 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2304
- {
2305
- (yyval.object) = rb_funcall(self, rb_intern("ast:concat:into:"), 3, INT2NUM(yylineno), (yyvsp[(2) - (2)].object), (yyvsp[(1) - (2)].object));
2306
- ;}
2307
- break;
2308
-
2309
- case 76:
2310
-
2311
- /* Line 1464 of yacc.c */
2312
- #line 365 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2313
- {
2314
- (yyval.object) = rb_funcall(self, rb_intern("ast:param:var:default:"), 4, INT2NUM(yylineno), (yyvsp[(1) - (7)].object), (yyvsp[(2) - (7)].object), (yyvsp[(5) - (7)].object));
2315
- ;}
2316
- break;
2317
-
2318
- case 77:
2319
-
2320
- /* Line 1464 of yacc.c */
2321
- #line 370 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2322
- {
2323
- (yyval.object) = rb_funcall(self, rb_intern("ast:concat:"), 2, INT2NUM(yylineno), (yyvsp[(1) - (1)].object));
2324
- ;}
2325
- break;
2326
-
2327
- case 78:
2328
-
2329
- /* Line 1464 of yacc.c */
2330
- #line 373 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2331
- {
2332
- (yyval.object) = rb_funcall(self, rb_intern("ast:concat:into:"), 3, INT2NUM(yylineno), (yyvsp[(3) - (3)].object), (yyvsp[(1) - (3)].object));
2333
- ;}
2334
- break;
2335
-
2336
- case 79:
2337
-
2338
- /* Line 1464 of yacc.c */
2339
- #line 378 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2340
- {
2341
- (yyval.object) = rb_funcall(self, rb_intern("ast:method:expand:access:"), 4, INT2NUM(yylineno), (yyvsp[(2) - (3)].object), (yyvsp[(3) - (3)].object), (yyvsp[(1) - (3)].object));
2342
- ;}
2343
- break;
2344
-
2345
- case 80:
2346
-
2347
- /* Line 1464 of yacc.c */
2348
- #line 384 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2349
- {
2350
- (yyval.object) = rb_funcall(self, rb_intern("ast:method:body:access:"), 4, INT2NUM(yylineno), (yyvsp[(2) - (3)].object), (yyvsp[(3) - (3)].object), (yyvsp[(1) - (3)].object));
2351
- ;}
2352
- break;
2353
-
2354
- case 81:
2355
-
2356
- /* Line 1464 of yacc.c */
2357
- #line 390 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2358
- {
2359
- (yyval.object) = rb_funcall(self, rb_intern("ast:method:expand:access:owner:"), 5, INT2NUM(yylineno), (yyvsp[(3) - (4)].object), (yyvsp[(4) - (4)].object), (yyvsp[(1) - (4)].object), (yyvsp[(2) - (4)].object));
2360
- ;}
2361
- break;
2362
-
2363
- case 82:
2364
-
2365
- /* Line 1464 of yacc.c */
2366
- #line 395 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2367
- {
2368
- (yyval.object) = rb_funcall(self, rb_intern("ast:method:body:access:owner:"), 5, INT2NUM(yylineno), (yyvsp[(3) - (4)].object), (yyvsp[(4) - (4)].object), (yyvsp[(1) - (4)].object), (yyvsp[(2) - (4)].object));
2369
- ;}
2370
- break;
2371
-
2372
- case 83:
2373
-
2374
- /* Line 1464 of yacc.c */
2375
- #line 400 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2376
- {
2377
- (yyval.object) = rb_funcall(self, rb_intern("ast:oper:arg:body:access:"), 5, INT2NUM(yylineno), (yyvsp[(2) - (4)].object), (yyvsp[(3) - (4)].object), (yyvsp[(4) - (4)].object), (yyvsp[(1) - (4)].object));
2378
- ;}
2379
- break;
2380
-
2381
- case 84:
2382
-
2383
- /* Line 1464 of yacc.c */
2384
- #line 403 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2385
- {
2386
- (yyval.object) = rb_funcall(self, rb_intern("ast:oper:arg:body:access:"), 5,
2387
- INT2NUM(yylineno), fy_terminal_node_from(self, "ast:identifier:", "[]"), (yyvsp[(4) - (5)].object), (yyvsp[(5) - (5)].object), (yyvsp[(1) - (5)].object));
2388
- ;}
2389
- break;
2390
-
2391
- case 85:
2392
-
2393
- /* Line 1464 of yacc.c */
2394
- #line 409 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2395
- {
2396
- (yyval.object) = rb_funcall(self, rb_intern("ast:oper:arg:body:access:owner:"), 6, INT2NUM(yylineno), (yyvsp[(3) - (5)].object), (yyvsp[(4) - (5)].object), (yyvsp[(5) - (5)].object), (yyvsp[(1) - (5)].object), (yyvsp[(2) - (5)].object));
2397
- ;}
2398
- break;
2399
-
2400
- case 86:
2401
-
2402
- /* Line 1464 of yacc.c */
2403
- #line 412 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2404
- {
2405
- (yyval.object) = rb_funcall(self, rb_intern("ast:oper:arg:body:access:owner:"), 6,
2406
- INT2NUM(yylineno), fy_terminal_node_from(self, "ast:identifier:", "[]"), (yyvsp[(5) - (6)].object), (yyvsp[(6) - (6)].object), (yyvsp[(1) - (6)].object), (yyvsp[(2) - (6)].object));
2407
- ;}
2408
- break;
2409
-
2410
- case 87:
2411
-
2412
- /* Line 1464 of yacc.c */
2413
- #line 418 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2414
- {
2415
- (yyval.object) = rb_funcall(self, rb_intern("ast:send:to:"), 3, INT2NUM(yylineno), (yyvsp[(2) - (2)].object), (yyvsp[(1) - (2)].object));
2416
- ;}
2417
- break;
2418
-
2419
- case 88:
2420
-
2421
- /* Line 1464 of yacc.c */
2422
- #line 421 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2423
- {
2424
- (yyval.object) = rb_funcall(self, rb_intern("ast:send:to:"), 3, INT2NUM(yylineno), (yyvsp[(2) - (2)].object), (yyvsp[(1) - (2)].object));
2425
- ;}
2426
- break;
2427
-
2428
- case 89:
2429
-
2430
- /* Line 1464 of yacc.c */
2431
- #line 424 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2432
- {
2433
- (yyval.object) = rb_funcall(self, rb_intern("ast:future_send:to:"), 3, INT2NUM(yylineno), (yyvsp[(3) - (3)].object), (yyvsp[(1) - (3)].object));
2434
- ;}
2435
- break;
2436
-
2437
- case 90:
2438
-
2439
- /* Line 1464 of yacc.c */
2440
- #line 427 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2441
- {
2442
- (yyval.object) = rb_funcall(self, rb_intern("ast:future_send:to:"), 3, INT2NUM(yylineno), (yyvsp[(3) - (3)].object), (yyvsp[(1) - (3)].object));
2443
- ;}
2444
- break;
2445
-
2446
- case 91:
2447
-
2448
- /* Line 1464 of yacc.c */
2449
- #line 430 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2450
- {
2451
- (yyval.object) = rb_funcall(self, rb_intern("ast:async_send:to:"), 3, INT2NUM(yylineno), (yyvsp[(3) - (3)].object), (yyvsp[(1) - (3)].object));
2452
- ;}
2453
- break;
2454
-
2455
- case 92:
2456
-
2457
- /* Line 1464 of yacc.c */
2458
- #line 433 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2459
- {
2460
- (yyval.object) = rb_funcall(self, rb_intern("ast:async_send:to:"), 3, INT2NUM(yylineno), (yyvsp[(3) - (3)].object), (yyvsp[(1) - (3)].object));
2461
- ;}
2462
- break;
2463
-
2464
- case 93:
2465
-
2466
- /* Line 1464 of yacc.c */
2467
- #line 438 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2468
- {
2469
- (yyval.object) = rb_funcall(self, rb_intern("ast:oper:arg:to:"), 4, INT2NUM(yylineno), (yyvsp[(2) - (3)].object), (yyvsp[(3) - (3)].object), (yyvsp[(1) - (3)].object));
2470
- ;}
2471
- break;
2472
-
2473
- case 94:
2474
-
2475
- /* Line 1464 of yacc.c */
2476
- #line 441 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2477
- {
2478
- (yyval.object) = rb_funcall(self, rb_intern("ast:oper:arg:to:"), 4, INT2NUM(yylineno), (yyvsp[(2) - (5)].object), (yyvsp[(5) - (5)].object), (yyvsp[(1) - (5)].object));
2479
- ;}
2480
- break;
2481
-
2482
- case 95:
2483
-
2484
- /* Line 1464 of yacc.c */
2485
- #line 444 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2486
- {
2487
- (yyval.object) = rb_funcall(self, rb_intern("ast:oper:arg:to:"), 4,
2488
- INT2NUM(yylineno), fy_terminal_node_from(self, "ast:identifier:", "[]"), (yyvsp[(3) - (4)].object), (yyvsp[(1) - (4)].object));
2489
- ;}
2490
- break;
2491
-
2492
- case 96:
2493
-
2494
- /* Line 1464 of yacc.c */
2495
- #line 448 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2496
- {
2497
- (yyval.object) = rb_funcall(self, rb_intern("ast:oper:arg:"), 3, INT2NUM(yylineno), (yyvsp[(1) - (2)].object), (yyvsp[(2) - (2)].object));
2498
- ;}
2499
- break;
2500
-
2501
- case 97:
2502
-
2503
- /* Line 1464 of yacc.c */
2504
- #line 451 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2505
- {
2506
- (yyval.object) = rb_funcall(self, rb_intern("ast:future_oper:arg:to:"), 4, INT2NUM(yylineno), (yyvsp[(3) - (4)].object), (yyvsp[(4) - (4)].object), (yyvsp[(1) - (4)].object));
2507
- ;}
2508
- break;
2509
-
2510
- case 98:
2511
-
2512
- /* Line 1464 of yacc.c */
2513
- #line 454 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2514
- {
2515
- (yyval.object) = rb_funcall(self, rb_intern("ast:future_oper:arg:to:"), 4, INT2NUM(yylineno), (yyvsp[(3) - (6)].object), (yyvsp[(6) - (6)].object), (yyvsp[(1) - (6)].object));
2516
- ;}
2517
- break;
2518
-
2519
- case 99:
2520
-
2521
- /* Line 1464 of yacc.c */
2522
- #line 457 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2523
- {
2524
- (yyval.object) = rb_funcall(self, rb_intern("ast:future_oper:arg:to:"), 4,
2525
- INT2NUM(yylineno), fy_terminal_node_from(self, "ast:identifier:", "[]"), (yyvsp[(4) - (5)].object), (yyvsp[(1) - (5)].object));
2526
- ;}
2527
- break;
2528
-
2529
- case 100:
2530
-
2531
- /* Line 1464 of yacc.c */
2532
- #line 461 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2533
- {
2534
- (yyval.object) = rb_funcall(self, rb_intern("ast:async_oper:arg:to:"), 4, INT2NUM(yylineno), (yyvsp[(3) - (4)].object), (yyvsp[(4) - (4)].object), (yyvsp[(1) - (4)].object));
2535
- ;}
2536
- break;
2537
-
2538
- case 101:
2539
-
2540
- /* Line 1464 of yacc.c */
2541
- #line 464 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2542
- {
2543
- (yyval.object) = rb_funcall(self, rb_intern("ast:async_oper:arg:to:"), 4, INT2NUM(yylineno), (yyvsp[(3) - (6)].object), (yyvsp[(6) - (6)].object), (yyvsp[(1) - (6)].object));
2544
- ;}
2545
- break;
2546
-
2547
- case 102:
2548
-
2549
- /* Line 1464 of yacc.c */
2550
- #line 467 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2551
- {
2552
- (yyval.object) = rb_funcall(self, rb_intern("ast:async_oper:arg:to:"), 4,
2553
- INT2NUM(yylineno), fy_terminal_node_from(self, "ast:identifier:", "[]"), (yyvsp[(4) - (5)].object), (yyvsp[(1) - (5)].object));
2554
- ;}
2555
- break;
2556
-
2557
- case 105:
2558
-
2559
- /* Line 1464 of yacc.c */
2560
- #line 475 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2561
- {
2562
- (yyval.object) = rb_funcall(self, rb_intern("ast:send:to:"), 3, INT2NUM(yylineno), (yyvsp[(2) - (2)].object), (yyvsp[(1) - (2)].object));
2563
- ;}
2564
- break;
2565
-
2566
- case 106:
2567
-
2568
- /* Line 1464 of yacc.c */
2569
- #line 478 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2570
- {
2571
- (yyval.object) = rb_funcall(self, rb_intern("ast:send:"), 2, INT2NUM(yylineno), (yyvsp[(1) - (1)].object));
2572
- ;}
2573
- break;
2574
-
2575
- case 107:
2576
-
2577
- /* Line 1464 of yacc.c */
2578
- #line 481 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2579
- {
2580
- (yyval.object) = rb_funcall(self, rb_intern("ast:future_send:to:"), 3, INT2NUM(yylineno), (yyvsp[(3) - (3)].object), (yyvsp[(1) - (3)].object));
2581
- ;}
2582
- break;
2583
-
2584
- case 108:
2585
-
2586
- /* Line 1464 of yacc.c */
2587
- #line 484 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2588
- {
2589
- (yyval.object) = rb_funcall(self, rb_intern("ast:async_send:to:"), 3, INT2NUM(yylineno), (yyvsp[(3) - (3)].object), (yyvsp[(1) - (3)].object));
2590
- ;}
2591
- break;
2592
-
2593
- case 109:
2594
-
2595
- /* Line 1464 of yacc.c */
2596
- #line 489 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2597
- {
2598
- (yyval.object) = rb_funcall(self, rb_intern("ast:send:arg:"), 3, INT2NUM(yylineno), (yyvsp[(1) - (2)].object), (yyvsp[(2) - (2)].object));
2599
- ;}
2600
- break;
2601
-
2602
- case 110:
2603
-
2604
- /* Line 1464 of yacc.c */
2605
- #line 492 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2606
- {
2607
- (yyval.object) = rb_funcall(self, rb_intern("ast:send:arg:"), 3, INT2NUM(yylineno), (yyvsp[(1) - (3)].object), (yyvsp[(3) - (3)].object));
2608
- ;}
2609
- break;
2610
-
2611
- case 111:
2612
-
2613
- /* Line 1464 of yacc.c */
2614
- #line 495 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2615
- {
2616
- (yyval.object) = rb_funcall(self, rb_intern("ast:send:arg:ary:"), 4, INT2NUM(yylineno), (yyvsp[(2) - (3)].object), (yyvsp[(3) - (3)].object), (yyvsp[(1) - (3)].object));
2617
- ;}
2618
- break;
2619
-
2620
- case 112:
2621
-
2622
- /* Line 1464 of yacc.c */
2623
- #line 498 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2624
- {
2625
- (yyval.object) = rb_funcall(self, rb_intern("ast:send:arg:ary:"), 4, INT2NUM(yylineno), (yyvsp[(2) - (4)].object), (yyvsp[(4) - (4)].object), (yyvsp[(1) - (4)].object));
2626
- ;}
2627
- break;
2628
-
2629
- case 113:
2630
-
2631
- /* Line 1464 of yacc.c */
2632
- #line 503 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2633
- {
2634
- (yyval.object) = (yyvsp[(1) - (1)].object);
2635
- ;}
2636
- break;
2637
-
2638
- case 114:
2639
-
2640
- /* Line 1464 of yacc.c */
2641
- #line 506 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2642
- {
2643
- (yyval.object) = (yyvsp[(2) - (3)].object);
2644
- ;}
2645
- break;
2646
-
2647
- case 115:
2648
-
2649
- /* Line 1464 of yacc.c */
2650
- #line 509 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2651
- {
2652
- (yyval.object) = (yyvsp[(1) - (1)].object);
2653
- ;}
2654
- break;
2655
-
2656
- case 116:
2657
-
2658
- /* Line 1464 of yacc.c */
2659
- #line 512 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2660
- {
2661
- (yyval.object) = (yyvsp[(2) - (2)].object);
2662
- ;}
2663
- break;
2664
-
2665
- case 117:
2666
-
2667
- /* Line 1464 of yacc.c */
2668
- #line 522 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2669
- {
2670
- // remove the trailing left paren and create an identifier.
2671
- (yyval.object) = fy_terminal_node(self, "ast:ruby_send:");
2672
- ;}
2673
- break;
2674
-
2675
- case 118:
2676
-
2677
- /* Line 1464 of yacc.c */
2678
- #line 526 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2679
- {
2680
- // remove the trailing left paren and create an identifier.
2681
- (yyval.object) = fy_terminal_node(self, "ast:ruby_send:");
2682
- ;}
2683
- break;
2684
-
2685
- case 119:
2686
-
2687
- /* Line 1464 of yacc.c */
2688
- #line 531 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2689
- {
2690
- (yyval.object) = rb_funcall(self, rb_intern("ast:send:to:ruby:"), 4, INT2NUM(yylineno), (yyvsp[(2) - (3)].object), (yyvsp[(1) - (3)].object), (yyvsp[(3) - (3)].object));
2691
- ;}
2692
- break;
2693
-
2694
- case 120:
2695
-
2696
- /* Line 1464 of yacc.c */
2697
- #line 534 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2698
- {
2699
- (yyval.object) = rb_funcall(self, rb_intern("ast:send:to:ruby:"), 4, INT2NUM(yylineno), (yyvsp[(1) - (2)].object), Qnil, (yyvsp[(2) - (2)].object));
2700
- ;}
2701
- break;
2702
-
2703
- case 121:
2704
-
2705
- /* Line 1464 of yacc.c */
2706
- #line 544 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2707
- {
2708
- (yyval.object) = rb_funcall(self, rb_intern("ast:ruby_args:block:"), 3, INT2NUM(yylineno), Qnil, (yyvsp[(2) - (2)].object));
2709
- ;}
2710
- break;
2711
-
2712
- case 122:
2713
-
2714
- /* Line 1464 of yacc.c */
2715
- #line 547 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2716
- {
2717
- (yyval.object) = rb_funcall(self, rb_intern("ast:ruby_args:block:"), 3, INT2NUM(yylineno), (yyvsp[(1) - (3)].object), (yyvsp[(3) - (3)].object));
2718
- ;}
2719
- break;
2720
-
2721
- case 123:
2722
-
2723
- /* Line 1464 of yacc.c */
2724
- #line 550 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2725
- {
2726
- (yyval.object) = rb_funcall(self, rb_intern("ast:ruby_args:"), 2, INT2NUM(yylineno), Qnil);
2727
- ;}
2728
- break;
2729
-
2730
- case 124:
2731
-
2732
- /* Line 1464 of yacc.c */
2733
- #line 553 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2734
- {
2735
- (yyval.object) = rb_funcall(self, rb_intern("ast:ruby_args:"), 2, INT2NUM(yylineno), (yyvsp[(1) - (2)].object));
2736
- ;}
2737
- break;
2738
-
2739
- case 125:
2740
-
2741
- /* Line 1464 of yacc.c */
2742
- #line 558 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2743
- {
2744
- (yyval.object) = rb_funcall(self, rb_intern("ast:send:to:ruby:"), 4, INT2NUM(yylineno), (yyvsp[(2) - (3)].object), (yyvsp[(1) - (3)].object), (yyvsp[(3) - (3)].object));
2745
- ;}
2746
- break;
2747
-
2748
- case 126:
2749
-
2750
- /* Line 1464 of yacc.c */
2751
- #line 564 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2752
- {
2753
- (yyval.object) = rb_funcall(self, rb_intern("ast:try_block:ex_handlers:finally_block:"), 4, INT2NUM(yylineno), (yyvsp[(2) - (4)].object), (yyvsp[(3) - (4)].object), (yyvsp[(4) - (4)].object));
2754
- ;}
2755
- break;
2756
-
2757
- case 127:
2758
-
2759
- /* Line 1464 of yacc.c */
2760
- #line 567 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2761
- {
2762
- (yyval.object) = rb_funcall(self, rb_intern("ast:try_block:ex_handlers:"), 3, INT2NUM(yylineno), (yyvsp[(2) - (3)].object), (yyvsp[(3) - (3)].object));
2763
- ;}
2764
- break;
2765
-
2766
- case 128:
2767
-
2768
- /* Line 1464 of yacc.c */
2769
- #line 572 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2770
- {
2771
- (yyval.object) = rb_funcall(self, rb_intern("ast:ex_handler:"), 2, INT2NUM(yylineno), (yyvsp[(2) - (2)].object));
2772
- ;}
2773
- break;
2774
-
2775
- case 129:
2776
-
2777
- /* Line 1464 of yacc.c */
2778
- #line 575 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2779
- {
2780
- (yyval.object) = rb_funcall(self, rb_intern("ast:ex_handler:cond:"), 3, INT2NUM(yylineno), (yyvsp[(3) - (3)].object), (yyvsp[(2) - (3)].object));
2781
- ;}
2782
- break;
2783
-
2784
- case 130:
2785
-
2786
- /* Line 1464 of yacc.c */
2787
- #line 578 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2788
- {
2789
- (yyval.object) = rb_funcall(self, rb_intern("ast:ex_handler:cond:var:"), 4, INT2NUM(yylineno), (yyvsp[(5) - (5)].object), (yyvsp[(2) - (5)].object), (yyvsp[(4) - (5)].object));
2790
- ;}
2791
- break;
2792
-
2793
- case 131:
2794
-
2795
- /* Line 1464 of yacc.c */
2796
- #line 583 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2797
- {
2798
- (yyval.object) = rb_funcall(self, rb_intern("ast:concat:"), 2, INT2NUM(yylineno), (yyvsp[(1) - (1)].object));
2799
- ;}
2800
- break;
2801
-
2802
- case 132:
2803
-
2804
- /* Line 1464 of yacc.c */
2805
- #line 586 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2806
- {
2807
- (yyval.object) = rb_funcall(self, rb_intern("ast:concat:into:"), 3, INT2NUM(yylineno), (yyvsp[(2) - (2)].object), (yyvsp[(1) - (2)].object));
2808
- ;}
2809
- break;
2810
-
2811
- case 133:
2812
-
2813
- /* Line 1464 of yacc.c */
2814
- #line 591 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2815
- {
2816
- (yyval.object) = rb_funcall(self, rb_intern("ast:concat:"), 2, INT2NUM(yylineno), (yyvsp[(1) - (1)].object));
2817
- ;}
2818
- break;
2819
-
2820
- case 134:
2821
-
2822
- /* Line 1464 of yacc.c */
2823
- #line 594 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2824
- {
2825
- (yyval.object) = rb_funcall(self, rb_intern("ast:concat:into:"), 3, INT2NUM(yylineno), (yyvsp[(2) - (2)].object), (yyvsp[(1) - (2)].object));
2826
- ;}
2827
- break;
2828
-
2829
- case 135:
2830
-
2831
- /* Line 1464 of yacc.c */
2832
- #line 597 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2833
- {
2834
- (yyval.object) = rb_funcall(self, rb_intern("ast:concat:"), 2, INT2NUM(yylineno), Qnil);
2835
- ;}
2836
- break;
2837
-
2838
- case 136:
2839
-
2840
- /* Line 1464 of yacc.c */
2841
- #line 602 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2842
- {
2843
- (yyval.object) = (yyvsp[(2) - (2)].object);
2844
- ;}
2845
- break;
2846
-
2847
- case 137:
2848
-
2849
- /* Line 1464 of yacc.c */
2850
- #line 607 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2851
- {
2852
- (yyval.object) = fy_terminal_node(self, "ast:fixnum:");
2853
- ;}
2854
- break;
2855
-
2856
- case 138:
2857
-
2858
- /* Line 1464 of yacc.c */
2859
- #line 611 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2860
- {
2861
- (yyval.object) = fy_terminal_node(self, "ast:number:");
2862
- ;}
2863
- break;
2864
-
2865
- case 139:
2866
-
2867
- /* Line 1464 of yacc.c */
2868
- #line 615 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2869
- {
2870
- (yyval.object) = fy_terminal_node(self, "ast:string:");
2871
- ;}
2872
- break;
2873
-
2874
- case 140:
2875
-
2876
- /* Line 1464 of yacc.c */
2877
- #line 618 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2878
- {
2879
- (yyval.object) = fy_terminal_node(self, "ast:multi_line_string:");
2880
- ;}
2881
- break;
2882
-
2883
- case 141:
2884
-
2885
- /* Line 1464 of yacc.c */
2886
- #line 622 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2887
- {
2888
- (yyval.object) = fy_terminal_node(self, "ast:symbol:");
2889
- ;}
2890
- break;
2891
-
2892
- case 142:
2893
-
2894
- /* Line 1464 of yacc.c */
2895
- #line 626 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2896
- {
2897
- (yyval.object) = fy_terminal_node(self, "ast:regexp:");
2898
- ;}
2899
- break;
2900
-
2901
- case 143:
2902
-
2903
- /* Line 1464 of yacc.c */
2904
- #line 631 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2905
- {
2906
- (yyval.object) = rb_funcall(self, rb_intern("ast:fixnum:base:"), 3,
2907
- INT2NUM(yylineno), rb_str_new2(yytext), INT2NUM(16));
2908
- ;}
2909
- break;
2910
-
2911
- case 144:
2912
-
2913
- /* Line 1464 of yacc.c */
2914
- #line 637 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2915
- {
2916
- (yyval.object) = rb_funcall(self, rb_intern("ast:fixnum:base:"), 3,
2917
- INT2NUM(yylineno), rb_str_new2(yytext), INT2NUM(8));
2918
- ;}
2919
- break;
2920
-
2921
- case 145:
2922
-
2923
- /* Line 1464 of yacc.c */
2924
- #line 643 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2925
- {
2926
- (yyval.object) = rb_funcall(self, rb_intern("ast:fixnum:base:"), 3,
2927
- INT2NUM(yylineno), rb_str_new2(yytext), INT2NUM(2));
2928
- ;}
2929
- break;
2930
-
2931
- case 159:
2932
-
2933
- /* Line 1464 of yacc.c */
2934
- #line 664 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2935
- {
2936
- (yyval.object) = (yyvsp[(1) - (1)].object);
2937
- ;}
2938
- break;
2939
-
2940
- case 160:
2941
-
2942
- /* Line 1464 of yacc.c */
2943
- #line 667 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2944
- {
2945
- (yyval.object) = rb_funcall(self, rb_intern("ast:array:"), 2, INT2NUM(yylineno), (yyvsp[(3) - (5)].object));
2946
- ;}
2947
- break;
2948
-
2949
- case 161:
2950
-
2951
- /* Line 1464 of yacc.c */
2952
- #line 672 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2953
- {
2954
- (yyval.object) = rb_funcall(self, rb_intern("ast:concat:"), 2, INT2NUM(yylineno), (yyvsp[(1) - (1)].object));
2955
- ;}
2956
- break;
2957
-
2958
- case 162:
2959
-
2960
- /* Line 1464 of yacc.c */
2961
- #line 675 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2962
- {
2963
- (yyval.object) = rb_funcall(self, rb_intern("ast:concat:into:"), 3, INT2NUM(yylineno), (yyvsp[(4) - (4)].object), (yyvsp[(1) - (4)].object));
2964
- ;}
2965
- break;
2966
-
2967
- case 163:
2968
-
2969
- /* Line 1464 of yacc.c */
2970
- #line 678 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2971
- {
2972
- (yyval.object) = (yyvsp[(1) - (2)].object);
2973
- ;}
2974
- break;
2975
-
2976
- case 164:
2977
-
2978
- /* Line 1464 of yacc.c */
2979
- #line 683 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2980
- {
2981
- (yyval.object) = rb_funcall(self, rb_intern("ast:array:"), 2, INT2NUM(yylineno), Qnil);
2982
- ;}
2983
- break;
2984
-
2985
- case 165:
2986
-
2987
- /* Line 1464 of yacc.c */
2988
- #line 688 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2989
- {
2990
- (yyval.object) = rb_funcall(self, rb_intern("ast:hash:"), 2, INT2NUM(yylineno), (yyvsp[(3) - (5)].object));
2991
- ;}
2992
- break;
2993
-
2994
- case 166:
2995
-
2996
- /* Line 1464 of yacc.c */
2997
- #line 691 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
2998
- {
2999
- (yyval.object) = rb_funcall(self, rb_intern("ast:hash:"), 2, INT2NUM(yylineno), Qnil);
3000
- ;}
3001
- break;
3002
-
3003
- case 167:
3004
-
3005
- /* Line 1464 of yacc.c */
3006
- #line 696 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
3007
- {
3008
- (yyval.object) = rb_funcall(self, rb_intern("ast:partial_block:"), 2, INT2NUM(yylineno), (yyvsp[(1) - (1)].object));
3009
- ;}
3010
- break;
3011
-
3012
- case 168:
3013
-
3014
- /* Line 1464 of yacc.c */
3015
- #line 699 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
3016
- {
3017
- (yyval.object) = rb_funcall(self, rb_intern("ast:block:"), 2, INT2NUM(yylineno), (yyvsp[(1) - (1)].object));
3018
- ;}
3019
- break;
3020
-
3021
- case 169:
3022
-
3023
- /* Line 1464 of yacc.c */
3024
- #line 702 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
3025
- {
3026
- (yyval.object) = rb_funcall(self, rb_intern("ast:block:args:"), 3, INT2NUM(yylineno), (yyvsp[(5) - (5)].object), (yyvsp[(2) - (5)].object));
3027
- ;}
3028
- break;
3029
-
3030
- case 170:
3031
-
3032
- /* Line 1464 of yacc.c */
3033
- #line 707 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
3034
- {
3035
- (yyval.object) = rb_funcall(self, rb_intern("ast:tuple:"), 2, INT2NUM(yylineno), (yyvsp[(2) - (3)].object));
3036
- ;}
3037
- break;
3038
-
3039
- case 171:
3040
-
3041
- /* Line 1464 of yacc.c */
3042
- #line 712 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
3043
- {
3044
- (yyval.object) = rb_funcall(self, rb_intern("ast:range:to:"), 3, INT2NUM(yylineno), (yyvsp[(2) - (6)].object), (yyvsp[(5) - (6)].object));
3045
- ;}
3046
- break;
3047
-
3048
- case 174:
3049
-
3050
- /* Line 1464 of yacc.c */
3051
- #line 721 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
3052
- {
3053
- (yyval.object) = rb_funcall(self, rb_intern("ast:concat:"), 2, INT2NUM(yylineno), (yyvsp[(1) - (1)].object));
3054
- ;}
3055
- break;
3056
-
3057
- case 175:
3058
-
3059
- /* Line 1464 of yacc.c */
3060
- #line 724 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
3061
- {
3062
- (yyval.object) = rb_funcall(self, rb_intern("ast:concat:into:"), 3, INT2NUM(yylineno), (yyvsp[(2) - (2)].object), (yyvsp[(1) - (2)].object));
3063
- ;}
3064
- break;
3065
-
3066
- case 176:
3067
-
3068
- /* Line 1464 of yacc.c */
3069
- #line 729 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
3070
- {
3071
- (yyval.object) = rb_funcall(self, rb_intern("ast:concat:"), 2, INT2NUM(yylineno), (yyvsp[(1) - (1)].object));
3072
- ;}
3073
- break;
3074
-
3075
- case 177:
3076
-
3077
- /* Line 1464 of yacc.c */
3078
- #line 732 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
3079
- {
3080
- (yyval.object) = rb_funcall(self, rb_intern("ast:concat:into:"), 3, INT2NUM(yylineno), (yyvsp[(3) - (3)].object), (yyvsp[(1) - (3)].object));
3081
- ;}
3082
- break;
3083
-
3084
- case 178:
3085
-
3086
- /* Line 1464 of yacc.c */
3087
- #line 737 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
3088
- {
3089
- (yyval.object) = rb_funcall(self, rb_intern("ast:key:value:into:"), 4, INT2NUM(yylineno), (yyvsp[(1) - (5)].object), (yyvsp[(5) - (5)].object), Qnil);
3090
- ;}
3091
- break;
3092
-
3093
- case 179:
3094
-
3095
- /* Line 1464 of yacc.c */
3096
- #line 740 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
3097
- {
3098
- (yyval.object) = rb_funcall(self, rb_intern("ast:key:value:into:"), 4, INT2NUM(yylineno), (yyvsp[(4) - (8)].object), (yyvsp[(8) - (8)].object), (yyvsp[(1) - (8)].object));
3099
- ;}
3100
- break;
3101
-
3102
- case 180:
3103
-
3104
- /* Line 1464 of yacc.c */
3105
- #line 745 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
3106
- {
3107
- (yyval.object) = rb_funcall(self, rb_intern("ast:match_expr:body:"), 3, INT2NUM(yylineno), (yyvsp[(2) - (7)].object), (yyvsp[(5) - (7)].object));
3108
- ;}
3109
- break;
3110
-
3111
- case 181:
3112
-
3113
- /* Line 1464 of yacc.c */
3114
- #line 750 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
3115
- {
3116
- (yyval.object) = rb_funcall(self, rb_intern("ast:concat:"), 2, INT2NUM(yylineno), (yyvsp[(1) - (1)].object));
3117
- ;}
3118
- break;
3119
-
3120
- case 182:
3121
-
3122
- /* Line 1464 of yacc.c */
3123
- #line 753 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
3124
- {
3125
- (yyval.object) = rb_funcall(self, rb_intern("ast:concat:into:"), 3, INT2NUM(yylineno), (yyvsp[(2) - (2)].object), (yyvsp[(1) - (2)].object));
3126
- ;}
3127
- break;
3128
-
3129
- case 183:
3130
-
3131
- /* Line 1464 of yacc.c */
3132
- #line 758 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
3133
- {
3134
- (yyval.object) = rb_funcall(self, rb_intern("ast:match_clause:body:"), 3, INT2NUM(yylineno), (yyvsp[(2) - (4)].object), (yyvsp[(4) - (4)].object));
3135
- ;}
3136
- break;
3137
-
3138
- case 184:
3139
-
3140
- /* Line 1464 of yacc.c */
3141
- #line 761 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
3142
- {
3143
- (yyval.object) = rb_funcall(self, rb_intern("ast:match_clause:body:args:"), 4, INT2NUM(yylineno), (yyvsp[(2) - (7)].object), (yyvsp[(7) - (7)].object), (yyvsp[(5) - (7)].object));
3144
- ;}
3145
- break;
3146
-
3147
-
3148
-
3149
- /* Line 1464 of yacc.c */
3150
- #line 3151 "/Users/backtype/projects/fancy/lib/parser/ext/parser.c"
3151
- default: break;
3152
- }
3153
- YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
3154
-
3155
- YYPOPSTACK (yylen);
3156
- yylen = 0;
3157
- YY_STACK_PRINT (yyss, yyssp);
3158
-
3159
- *++yyvsp = yyval;
3160
-
3161
- /* Now `shift' the result of the reduction. Determine what state
3162
- that goes to, based on the state we popped back to and the rule
3163
- number reduced by. */
3164
-
3165
- yyn = yyr1[yyn];
3166
-
3167
- yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
3168
- if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
3169
- yystate = yytable[yystate];
3170
- else
3171
- yystate = yydefgoto[yyn - YYNTOKENS];
3172
-
3173
- goto yynewstate;
3174
-
3175
-
3176
- /*------------------------------------.
3177
- | yyerrlab -- here on detecting error |
3178
- `------------------------------------*/
3179
- yyerrlab:
3180
- /* If not already recovering from an error, report this error. */
3181
- if (!yyerrstatus)
3182
- {
3183
- ++yynerrs;
3184
- #if ! YYERROR_VERBOSE
3185
- yyerror (self, YY_("syntax error"));
3186
- #else
3187
- {
3188
- YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
3189
- if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
3190
- {
3191
- YYSIZE_T yyalloc = 2 * yysize;
3192
- if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
3193
- yyalloc = YYSTACK_ALLOC_MAXIMUM;
3194
- if (yymsg != yymsgbuf)
3195
- YYSTACK_FREE (yymsg);
3196
- yymsg = (char *) YYSTACK_ALLOC (yyalloc);
3197
- if (yymsg)
3198
- yymsg_alloc = yyalloc;
3199
- else
3200
- {
3201
- yymsg = yymsgbuf;
3202
- yymsg_alloc = sizeof yymsgbuf;
3203
- }
3204
- }
3205
-
3206
- if (0 < yysize && yysize <= yymsg_alloc)
3207
- {
3208
- (void) yysyntax_error (yymsg, yystate, yychar);
3209
- yyerror (self, yymsg);
3210
- }
3211
- else
3212
- {
3213
- yyerror (self, YY_("syntax error"));
3214
- if (yysize != 0)
3215
- goto yyexhaustedlab;
3216
- }
3217
- }
3218
- #endif
3219
- }
3220
-
3221
-
3222
-
3223
- if (yyerrstatus == 3)
3224
- {
3225
- /* If just tried and failed to reuse lookahead token after an
3226
- error, discard it. */
3227
-
3228
- if (yychar <= YYEOF)
3229
- {
3230
- /* Return failure if at end of input. */
3231
- if (yychar == YYEOF)
3232
- YYABORT;
3233
- }
3234
- else
3235
- {
3236
- yydestruct ("Error: discarding",
3237
- yytoken, &yylval, self);
3238
- yychar = YYEMPTY;
3239
- }
3240
- }
3241
-
3242
- /* Else will try to reuse lookahead token after shifting the error
3243
- token. */
3244
- goto yyerrlab1;
3245
-
3246
-
3247
- /*---------------------------------------------------.
3248
- | yyerrorlab -- error raised explicitly by YYERROR. |
3249
- `---------------------------------------------------*/
3250
- yyerrorlab:
3251
-
3252
- /* Pacify compilers like GCC when the user code never invokes
3253
- YYERROR and the label yyerrorlab therefore never appears in user
3254
- code. */
3255
- if (/*CONSTCOND*/ 0)
3256
- goto yyerrorlab;
3257
-
3258
- /* Do not reclaim the symbols of the rule which action triggered
3259
- this YYERROR. */
3260
- YYPOPSTACK (yylen);
3261
- yylen = 0;
3262
- YY_STACK_PRINT (yyss, yyssp);
3263
- yystate = *yyssp;
3264
- goto yyerrlab1;
3265
-
3266
-
3267
- /*-------------------------------------------------------------.
3268
- | yyerrlab1 -- common code for both syntax error and YYERROR. |
3269
- `-------------------------------------------------------------*/
3270
- yyerrlab1:
3271
- yyerrstatus = 3; /* Each real token shifted decrements this. */
3272
-
3273
- for (;;)
3274
- {
3275
- yyn = yypact[yystate];
3276
- if (yyn != YYPACT_NINF)
3277
- {
3278
- yyn += YYTERROR;
3279
- if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
3280
- {
3281
- yyn = yytable[yyn];
3282
- if (0 < yyn)
3283
- break;
3284
- }
3285
- }
3286
-
3287
- /* Pop the current state because it cannot handle the error token. */
3288
- if (yyssp == yyss)
3289
- YYABORT;
3290
-
3291
-
3292
- yydestruct ("Error: popping",
3293
- yystos[yystate], yyvsp, self);
3294
- YYPOPSTACK (1);
3295
- yystate = *yyssp;
3296
- YY_STACK_PRINT (yyss, yyssp);
3297
- }
3298
-
3299
- *++yyvsp = yylval;
3300
-
3301
-
3302
- /* Shift the error token. */
3303
- YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
3304
-
3305
- yystate = yyn;
3306
- goto yynewstate;
3307
-
3308
-
3309
- /*-------------------------------------.
3310
- | yyacceptlab -- YYACCEPT comes here. |
3311
- `-------------------------------------*/
3312
- yyacceptlab:
3313
- yyresult = 0;
3314
- goto yyreturn;
3315
-
3316
- /*-----------------------------------.
3317
- | yyabortlab -- YYABORT comes here. |
3318
- `-----------------------------------*/
3319
- yyabortlab:
3320
- yyresult = 1;
3321
- goto yyreturn;
3322
-
3323
- #if !defined(yyoverflow) || YYERROR_VERBOSE
3324
- /*-------------------------------------------------.
3325
- | yyexhaustedlab -- memory exhaustion comes here. |
3326
- `-------------------------------------------------*/
3327
- yyexhaustedlab:
3328
- yyerror (self, YY_("memory exhausted"));
3329
- yyresult = 2;
3330
- /* Fall through. */
3331
- #endif
3332
-
3333
- yyreturn:
3334
- if (yychar != YYEMPTY)
3335
- yydestruct ("Cleanup: discarding lookahead",
3336
- yytoken, &yylval, self);
3337
- /* Do not reclaim the symbols of the rule which action triggered
3338
- this YYABORT or YYACCEPT. */
3339
- YYPOPSTACK (yylen);
3340
- YY_STACK_PRINT (yyss, yyssp);
3341
- while (yyssp != yyss)
3342
- {
3343
- yydestruct ("Cleanup: popping",
3344
- yystos[*yyssp], yyvsp, self);
3345
- YYPOPSTACK (1);
3346
- }
3347
- #ifndef yyoverflow
3348
- if (yyss != yyssa)
3349
- YYSTACK_FREE (yyss);
3350
- #endif
3351
- #if YYERROR_VERBOSE
3352
- if (yymsg != yymsgbuf)
3353
- YYSTACK_FREE (yymsg);
3354
- #endif
3355
- /* Make sure YYID is used. */
3356
- return YYID (yyresult);
3357
- }
3358
-
3359
-
3360
-
3361
- /* Line 1684 of yacc.c */
3362
- #line 766 "/Users/backtype/projects/fancy/lib/parser/ext/parser.y"
3363
-
3364
-
3365
-
3366
- VALUE fy_terminal_node(VALUE self, char* method) {
3367
- return rb_funcall(self, rb_intern(method), 2,
3368
- INT2NUM(yylineno), rb_str_new2(yytext));
3369
- }
3370
-
3371
- VALUE fy_terminal_node_from(VALUE self, char* method, char* text) {
3372
- return rb_funcall(self, rb_intern(method), 2,
3373
- INT2NUM(yylineno), rb_str_new2(text));
3374
- }
3375
-
3376
- int yyerror(VALUE self, char *s)
3377
- {
3378
- rb_funcall(self, rb_intern("ast:parse_error:"), 2, INT2NUM(yylineno), rb_str_new2(yytext));
3379
- return 1;
3380
- }
3381
-
3382
-