syck 1.4.1 → 1.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/ext/syck/compile_commands.json +1 -0
- data/ext/syck/emitter.c +3 -2
- data/ext/syck/gram.c +1173 -1073
- data/ext/syck/gram.h +70 -52
- data/ext/syck/rubyext.c +19 -6
- data/ext/syck/syck.c +12 -7
- data/lib/syck/constants.rb +1 -1
- data/syck-1.5.0.gem +0 -0
- data/syck.gemspec +3 -3
- data/test/test_gc.rb +34 -0
- data/test/test_yaml.rb +1 -1
- metadata +7 -5
- data/CHANGELOG.rdoc +0 -36
data/ext/syck/gram.c
CHANGED
@@ -1,12 +1,14 @@
|
|
1
|
-
/* A Bison parser, made by GNU Bison
|
1
|
+
/* A Bison parser, made by GNU Bison 3.8.2. */
|
2
2
|
|
3
|
-
/*
|
4
|
-
Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
|
3
|
+
/* Bison implementation for Yacc-like parsers in C
|
5
4
|
|
6
|
-
|
5
|
+
Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation,
|
6
|
+
Inc.
|
7
|
+
|
8
|
+
This program is free software: you can redistribute it and/or modify
|
7
9
|
it under the terms of the GNU General Public License as published by
|
8
|
-
the Free Software Foundation
|
9
|
-
any later version.
|
10
|
+
the Free Software Foundation, either version 3 of the License, or
|
11
|
+
(at your option) any later version.
|
10
12
|
|
11
13
|
This program is distributed in the hope that it will be useful,
|
12
14
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
@@ -14,17 +16,27 @@
|
|
14
16
|
GNU General Public License for more details.
|
15
17
|
|
16
18
|
You should have received a copy of the GNU General Public License
|
17
|
-
along with this program
|
18
|
-
|
19
|
-
|
19
|
+
along with this program. If not, see <https://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.
|
20
30
|
|
21
|
-
|
22
|
-
|
23
|
-
This special exception was added by the Free Software Foundation
|
24
|
-
in version 1.24 of Bison. */
|
31
|
+
This special exception was added by the Free Software Foundation in
|
32
|
+
version 2.2 of Bison. */
|
25
33
|
|
26
|
-
/*
|
27
|
-
|
34
|
+
/* C LALR(1) parser skeleton written by Richard Stallman, by
|
35
|
+
simplifying the original so-called "semantic" parser. */
|
36
|
+
|
37
|
+
/* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
|
38
|
+
especially those whose name start with YY_ or yy_. They are
|
39
|
+
private implementation details that can be changed or removed. */
|
28
40
|
|
29
41
|
/* All symbols defined below should begin with yy or YY, to avoid
|
30
42
|
infringing on user name space. This should be done even for local
|
@@ -33,8 +45,11 @@
|
|
33
45
|
define necessary library symbols; they are noted "INFRINGES ON
|
34
46
|
USER NAME SPACE" below. */
|
35
47
|
|
36
|
-
/* Identify Bison output. */
|
37
|
-
#define YYBISON
|
48
|
+
/* Identify Bison output, and Bison version. */
|
49
|
+
#define YYBISON 30802
|
50
|
+
|
51
|
+
/* Bison version string. */
|
52
|
+
#define YYBISON_VERSION "3.8.2"
|
38
53
|
|
39
54
|
/* Skeleton name. */
|
40
55
|
#define YYSKELETON_NAME "yacc.c"
|
@@ -42,66 +57,35 @@
|
|
42
57
|
/* Pure parsers. */
|
43
58
|
#define YYPURE 1
|
44
59
|
|
45
|
-
/*
|
46
|
-
#define
|
47
|
-
|
48
|
-
/*
|
49
|
-
|
50
|
-
|
51
|
-
#define yylex sycklex
|
52
|
-
#define yyerror syckerror
|
53
|
-
#define yylval sycklval
|
54
|
-
#define yychar syckchar
|
55
|
-
#define yydebug syckdebug
|
56
|
-
#define yynerrs sycknerrs
|
57
|
-
|
58
|
-
|
59
|
-
/* Tokens. */
|
60
|
-
#ifndef YYTOKENTYPE
|
61
|
-
# define YYTOKENTYPE
|
62
|
-
/* Put the tokens into the symbol table, so that GDB and other debuggers
|
63
|
-
know about them. */
|
64
|
-
enum yytokentype {
|
65
|
-
YAML_ANCHOR = 258,
|
66
|
-
YAML_ALIAS = 259,
|
67
|
-
YAML_TRANSFER = 260,
|
68
|
-
YAML_TAGURI = 261,
|
69
|
-
YAML_ITRANSFER = 262,
|
70
|
-
YAML_WORD = 263,
|
71
|
-
YAML_PLAIN = 264,
|
72
|
-
YAML_BLOCK = 265,
|
73
|
-
YAML_DOCSEP = 266,
|
74
|
-
YAML_IOPEN = 267,
|
75
|
-
YAML_INDENT = 268,
|
76
|
-
YAML_IEND = 269
|
77
|
-
};
|
78
|
-
#endif
|
79
|
-
#define YAML_ANCHOR 258
|
80
|
-
#define YAML_ALIAS 259
|
81
|
-
#define YAML_TRANSFER 260
|
82
|
-
#define YAML_TAGURI 261
|
83
|
-
#define YAML_ITRANSFER 262
|
84
|
-
#define YAML_WORD 263
|
85
|
-
#define YAML_PLAIN 264
|
86
|
-
#define YAML_BLOCK 265
|
87
|
-
#define YAML_DOCSEP 266
|
88
|
-
#define YAML_IOPEN 267
|
89
|
-
#define YAML_INDENT 268
|
90
|
-
#define YAML_IEND 269
|
60
|
+
/* Push parsers. */
|
61
|
+
#define YYPUSH 0
|
62
|
+
|
63
|
+
/* Pull parsers. */
|
64
|
+
#define YYPULL 1
|
65
|
+
|
91
66
|
|
92
67
|
|
93
68
|
|
69
|
+
/* First part of user prologue. */
|
70
|
+
#line 4 "gram.y"
|
94
71
|
|
95
|
-
/* Copy the first part of user declarations. */
|
96
|
-
#line 14 "gram.y"
|
97
72
|
|
73
|
+
#define YYDEBUG 1
|
74
|
+
#define YYERROR_VERBOSE 1
|
75
|
+
#ifndef YYSTACK_USE_ALLOCA
|
76
|
+
#define YYSTACK_USE_ALLOCA 0
|
77
|
+
#endif
|
98
78
|
|
99
79
|
#include "syck.h"
|
100
80
|
|
101
81
|
void apply_seq_in_map( SyckParser *parser, SyckNode *n );
|
102
82
|
|
103
|
-
#define YYPARSE_PARAM
|
104
|
-
#define YYLEX_PARAM
|
83
|
+
#define YYPARSE_PARAM parser
|
84
|
+
#define YYLEX_PARAM parser
|
85
|
+
|
86
|
+
#define yyparse syckparse
|
87
|
+
#define yylex(yylval) sycklex(yylval, YYLEX_PARAM)
|
88
|
+
#define yyerror(_, error) syckerror(error)
|
105
89
|
|
106
90
|
#define NULL_NODE(parser, node) \
|
107
91
|
SyckNode *node = syck_new_str( "", scalar_plain ); \
|
@@ -114,166 +98,438 @@ void apply_seq_in_map( SyckParser *parser, SyckNode *n );
|
|
114
98
|
node->type_id = syck_strndup( "null", 4 ); \
|
115
99
|
}
|
116
100
|
|
101
|
+
#line 102 "gram.c"
|
102
|
+
|
103
|
+
# ifndef YY_CAST
|
104
|
+
# ifdef __cplusplus
|
105
|
+
# define YY_CAST(Type, Val) static_cast<Type> (Val)
|
106
|
+
# define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val)
|
107
|
+
# else
|
108
|
+
# define YY_CAST(Type, Val) ((Type) (Val))
|
109
|
+
# define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val))
|
110
|
+
# endif
|
111
|
+
# endif
|
112
|
+
# ifndef YY_NULLPTR
|
113
|
+
# if defined __cplusplus
|
114
|
+
# if 201103L <= __cplusplus
|
115
|
+
# define YY_NULLPTR nullptr
|
116
|
+
# else
|
117
|
+
# define YY_NULLPTR 0
|
118
|
+
# endif
|
119
|
+
# else
|
120
|
+
# define YY_NULLPTR ((void*)0)
|
121
|
+
# endif
|
122
|
+
# endif
|
123
|
+
|
124
|
+
#include "gram.h"
|
125
|
+
/* Symbol kind. */
|
126
|
+
enum yysymbol_kind_t
|
127
|
+
{
|
128
|
+
YYSYMBOL_YYEMPTY = -2,
|
129
|
+
YYSYMBOL_YYEOF = 0, /* "end of file" */
|
130
|
+
YYSYMBOL_YYerror = 1, /* error */
|
131
|
+
YYSYMBOL_YYUNDEF = 2, /* "invalid token" */
|
132
|
+
YYSYMBOL_YAML_ANCHOR = 3, /* YAML_ANCHOR */
|
133
|
+
YYSYMBOL_YAML_ALIAS = 4, /* YAML_ALIAS */
|
134
|
+
YYSYMBOL_YAML_TRANSFER = 5, /* YAML_TRANSFER */
|
135
|
+
YYSYMBOL_YAML_TAGURI = 6, /* YAML_TAGURI */
|
136
|
+
YYSYMBOL_YAML_ITRANSFER = 7, /* YAML_ITRANSFER */
|
137
|
+
YYSYMBOL_YAML_WORD = 8, /* YAML_WORD */
|
138
|
+
YYSYMBOL_YAML_PLAIN = 9, /* YAML_PLAIN */
|
139
|
+
YYSYMBOL_YAML_BLOCK = 10, /* YAML_BLOCK */
|
140
|
+
YYSYMBOL_YAML_DOCSEP = 11, /* YAML_DOCSEP */
|
141
|
+
YYSYMBOL_YAML_IOPEN = 12, /* YAML_IOPEN */
|
142
|
+
YYSYMBOL_YAML_INDENT = 13, /* YAML_INDENT */
|
143
|
+
YYSYMBOL_YAML_IEND = 14, /* YAML_IEND */
|
144
|
+
YYSYMBOL_15_ = 15, /* '-' */
|
145
|
+
YYSYMBOL_16_ = 16, /* ':' */
|
146
|
+
YYSYMBOL_17_ = 17, /* '[' */
|
147
|
+
YYSYMBOL_18_ = 18, /* ']' */
|
148
|
+
YYSYMBOL_19_ = 19, /* '{' */
|
149
|
+
YYSYMBOL_20_ = 20, /* '}' */
|
150
|
+
YYSYMBOL_21_ = 21, /* ',' */
|
151
|
+
YYSYMBOL_22_ = 22, /* '?' */
|
152
|
+
YYSYMBOL_YYACCEPT = 23, /* $accept */
|
153
|
+
YYSYMBOL_doc = 24, /* doc */
|
154
|
+
YYSYMBOL_atom = 25, /* atom */
|
155
|
+
YYSYMBOL_ind_rep = 26, /* ind_rep */
|
156
|
+
YYSYMBOL_atom_or_empty = 27, /* atom_or_empty */
|
157
|
+
YYSYMBOL_empty = 28, /* empty */
|
158
|
+
YYSYMBOL_indent_open = 29, /* indent_open */
|
159
|
+
YYSYMBOL_indent_end = 30, /* indent_end */
|
160
|
+
YYSYMBOL_indent_sep = 31, /* indent_sep */
|
161
|
+
YYSYMBOL_indent_flex_end = 32, /* indent_flex_end */
|
162
|
+
YYSYMBOL_word_rep = 33, /* word_rep */
|
163
|
+
YYSYMBOL_struct_rep = 34, /* struct_rep */
|
164
|
+
YYSYMBOL_implicit_seq = 35, /* implicit_seq */
|
165
|
+
YYSYMBOL_basic_seq = 36, /* basic_seq */
|
166
|
+
YYSYMBOL_top_imp_seq = 37, /* top_imp_seq */
|
167
|
+
YYSYMBOL_in_implicit_seq = 38, /* in_implicit_seq */
|
168
|
+
YYSYMBOL_inline_seq = 39, /* inline_seq */
|
169
|
+
YYSYMBOL_in_inline_seq = 40, /* in_inline_seq */
|
170
|
+
YYSYMBOL_inline_seq_atom = 41, /* inline_seq_atom */
|
171
|
+
YYSYMBOL_implicit_map = 42, /* implicit_map */
|
172
|
+
YYSYMBOL_top_imp_map = 43, /* top_imp_map */
|
173
|
+
YYSYMBOL_complex_key = 44, /* complex_key */
|
174
|
+
YYSYMBOL_complex_value = 45, /* complex_value */
|
175
|
+
YYSYMBOL_complex_mapping = 46, /* complex_mapping */
|
176
|
+
YYSYMBOL_in_implicit_map = 47, /* in_implicit_map */
|
177
|
+
YYSYMBOL_basic_mapping = 48, /* basic_mapping */
|
178
|
+
YYSYMBOL_inline_map = 49, /* inline_map */
|
179
|
+
YYSYMBOL_in_inline_map = 50, /* in_inline_map */
|
180
|
+
YYSYMBOL_inline_map_atom = 51 /* inline_map_atom */
|
181
|
+
};
|
182
|
+
typedef enum yysymbol_kind_t yysymbol_kind_t;
|
183
|
+
|
184
|
+
|
185
|
+
|
186
|
+
|
187
|
+
#ifdef short
|
188
|
+
# undef short
|
189
|
+
#endif
|
190
|
+
|
191
|
+
/* On compilers that do not define __PTRDIFF_MAX__ etc., make sure
|
192
|
+
<limits.h> and (if available) <stdint.h> are included
|
193
|
+
so that the code can choose integer types of a good width. */
|
194
|
+
|
195
|
+
#ifndef __PTRDIFF_MAX__
|
196
|
+
# include <limits.h> /* INFRINGES ON USER NAME SPACE */
|
197
|
+
# if defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
|
198
|
+
# include <stdint.h> /* INFRINGES ON USER NAME SPACE */
|
199
|
+
# define YY_STDINT_H
|
200
|
+
# endif
|
201
|
+
#endif
|
202
|
+
|
203
|
+
/* Narrow types that promote to a signed type and that can represent a
|
204
|
+
signed or unsigned integer of at least N bits. In tables they can
|
205
|
+
save space and decrease cache pressure. Promoting to a signed type
|
206
|
+
helps avoid bugs in integer arithmetic. */
|
207
|
+
|
208
|
+
#ifdef __INT_LEAST8_MAX__
|
209
|
+
typedef __INT_LEAST8_TYPE__ yytype_int8;
|
210
|
+
#elif defined YY_STDINT_H
|
211
|
+
typedef int_least8_t yytype_int8;
|
212
|
+
#else
|
213
|
+
typedef signed char yytype_int8;
|
214
|
+
#endif
|
215
|
+
|
216
|
+
#ifdef __INT_LEAST16_MAX__
|
217
|
+
typedef __INT_LEAST16_TYPE__ yytype_int16;
|
218
|
+
#elif defined YY_STDINT_H
|
219
|
+
typedef int_least16_t yytype_int16;
|
220
|
+
#else
|
221
|
+
typedef short yytype_int16;
|
222
|
+
#endif
|
117
223
|
|
118
|
-
/*
|
119
|
-
|
120
|
-
|
224
|
+
/* Work around bug in HP-UX 11.23, which defines these macros
|
225
|
+
incorrectly for preprocessor constants. This workaround can likely
|
226
|
+
be removed in 2023, as HPE has promised support for HP-UX 11.23
|
227
|
+
(aka HP-UX 11i v2) only through the end of 2022; see Table 2 of
|
228
|
+
<https://h20195.www2.hpe.com/V2/getpdf.aspx/4AA4-7673ENW.pdf>. */
|
229
|
+
#ifdef __hpux
|
230
|
+
# undef UINT_LEAST8_MAX
|
231
|
+
# undef UINT_LEAST16_MAX
|
232
|
+
# define UINT_LEAST8_MAX 255
|
233
|
+
# define UINT_LEAST16_MAX 65535
|
121
234
|
#endif
|
122
235
|
|
123
|
-
|
124
|
-
|
125
|
-
#
|
126
|
-
|
236
|
+
#if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__
|
237
|
+
typedef __UINT_LEAST8_TYPE__ yytype_uint8;
|
238
|
+
#elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \
|
239
|
+
&& UINT_LEAST8_MAX <= INT_MAX)
|
240
|
+
typedef uint_least8_t yytype_uint8;
|
241
|
+
#elif !defined __UINT_LEAST8_MAX__ && UCHAR_MAX <= INT_MAX
|
242
|
+
typedef unsigned char yytype_uint8;
|
127
243
|
#else
|
128
|
-
|
244
|
+
typedef short yytype_uint8;
|
129
245
|
#endif
|
130
246
|
|
131
|
-
#if
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
#
|
141
|
-
|
142
|
-
#
|
247
|
+
#if defined __UINT_LEAST16_MAX__ && __UINT_LEAST16_MAX__ <= __INT_MAX__
|
248
|
+
typedef __UINT_LEAST16_TYPE__ yytype_uint16;
|
249
|
+
#elif (!defined __UINT_LEAST16_MAX__ && defined YY_STDINT_H \
|
250
|
+
&& UINT_LEAST16_MAX <= INT_MAX)
|
251
|
+
typedef uint_least16_t yytype_uint16;
|
252
|
+
#elif !defined __UINT_LEAST16_MAX__ && USHRT_MAX <= INT_MAX
|
253
|
+
typedef unsigned short yytype_uint16;
|
254
|
+
#else
|
255
|
+
typedef int yytype_uint16;
|
256
|
+
#endif
|
257
|
+
|
258
|
+
#ifndef YYPTRDIFF_T
|
259
|
+
# if defined __PTRDIFF_TYPE__ && defined __PTRDIFF_MAX__
|
260
|
+
# define YYPTRDIFF_T __PTRDIFF_TYPE__
|
261
|
+
# define YYPTRDIFF_MAXIMUM __PTRDIFF_MAX__
|
262
|
+
# elif defined PTRDIFF_MAX
|
263
|
+
# ifndef ptrdiff_t
|
264
|
+
# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
|
265
|
+
# endif
|
266
|
+
# define YYPTRDIFF_T ptrdiff_t
|
267
|
+
# define YYPTRDIFF_MAXIMUM PTRDIFF_MAX
|
268
|
+
# else
|
269
|
+
# define YYPTRDIFF_T long
|
270
|
+
# define YYPTRDIFF_MAXIMUM LONG_MAX
|
271
|
+
# endif
|
143
272
|
#endif
|
144
273
|
|
274
|
+
#ifndef YYSIZE_T
|
275
|
+
# ifdef __SIZE_TYPE__
|
276
|
+
# define YYSIZE_T __SIZE_TYPE__
|
277
|
+
# elif defined size_t
|
278
|
+
# define YYSIZE_T size_t
|
279
|
+
# elif defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
|
280
|
+
# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
|
281
|
+
# define YYSIZE_T size_t
|
282
|
+
# else
|
283
|
+
# define YYSIZE_T unsigned
|
284
|
+
# endif
|
285
|
+
#endif
|
145
286
|
|
287
|
+
#define YYSIZE_MAXIMUM \
|
288
|
+
YY_CAST (YYPTRDIFF_T, \
|
289
|
+
(YYPTRDIFF_MAXIMUM < YY_CAST (YYSIZE_T, -1) \
|
290
|
+
? YYPTRDIFF_MAXIMUM \
|
291
|
+
: YY_CAST (YYSIZE_T, -1)))
|
146
292
|
|
147
|
-
|
293
|
+
#define YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X))
|
148
294
|
|
149
295
|
|
150
|
-
/*
|
151
|
-
|
296
|
+
/* Stored state numbers (used for stacks). */
|
297
|
+
typedef yytype_int8 yy_state_t;
|
152
298
|
|
153
|
-
|
299
|
+
/* State numbers in computations. */
|
300
|
+
typedef int yy_state_fast_t;
|
154
301
|
|
155
|
-
#
|
156
|
-
#
|
302
|
+
#ifndef YY_
|
303
|
+
# if defined YYENABLE_NLS && YYENABLE_NLS
|
304
|
+
# if ENABLE_NLS
|
305
|
+
# include <libintl.h> /* INFRINGES ON USER NAME SPACE */
|
306
|
+
# define YY_(Msgid) dgettext ("bison-runtime", Msgid)
|
307
|
+
# endif
|
157
308
|
# endif
|
158
|
-
# ifndef
|
159
|
-
# define
|
309
|
+
# ifndef YY_
|
310
|
+
# define YY_(Msgid) Msgid
|
160
311
|
# endif
|
312
|
+
#endif
|
313
|
+
|
314
|
+
|
315
|
+
#ifndef YY_ATTRIBUTE_PURE
|
316
|
+
# if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__)
|
317
|
+
# define YY_ATTRIBUTE_PURE __attribute__ ((__pure__))
|
318
|
+
# else
|
319
|
+
# define YY_ATTRIBUTE_PURE
|
320
|
+
# endif
|
321
|
+
#endif
|
322
|
+
|
323
|
+
#ifndef YY_ATTRIBUTE_UNUSED
|
324
|
+
# if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
|
325
|
+
# define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
|
326
|
+
# else
|
327
|
+
# define YY_ATTRIBUTE_UNUSED
|
328
|
+
# endif
|
329
|
+
#endif
|
330
|
+
|
331
|
+
/* Suppress unused-variable warnings by "using" E. */
|
332
|
+
#if ! defined lint || defined __GNUC__
|
333
|
+
# define YY_USE(E) ((void) (E))
|
334
|
+
#else
|
335
|
+
# define YY_USE(E) /* empty */
|
336
|
+
#endif
|
337
|
+
|
338
|
+
/* Suppress an incorrect diagnostic about yylval being uninitialized. */
|
339
|
+
#if defined __GNUC__ && ! defined __ICC && 406 <= __GNUC__ * 100 + __GNUC_MINOR__
|
340
|
+
# if __GNUC__ * 100 + __GNUC_MINOR__ < 407
|
341
|
+
# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
|
342
|
+
_Pragma ("GCC diagnostic push") \
|
343
|
+
_Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")
|
344
|
+
# else
|
345
|
+
# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
|
346
|
+
_Pragma ("GCC diagnostic push") \
|
347
|
+
_Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \
|
348
|
+
_Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
|
349
|
+
# endif
|
350
|
+
# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
|
351
|
+
_Pragma ("GCC diagnostic pop")
|
352
|
+
#else
|
353
|
+
# define YY_INITIAL_VALUE(Value) Value
|
354
|
+
#endif
|
355
|
+
#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
|
356
|
+
# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
|
357
|
+
# define YY_IGNORE_MAYBE_UNINITIALIZED_END
|
358
|
+
#endif
|
359
|
+
#ifndef YY_INITIAL_VALUE
|
360
|
+
# define YY_INITIAL_VALUE(Value) /* Nothing. */
|
361
|
+
#endif
|
362
|
+
|
363
|
+
#if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__
|
364
|
+
# define YY_IGNORE_USELESS_CAST_BEGIN \
|
365
|
+
_Pragma ("GCC diagnostic push") \
|
366
|
+
_Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"")
|
367
|
+
# define YY_IGNORE_USELESS_CAST_END \
|
368
|
+
_Pragma ("GCC diagnostic pop")
|
369
|
+
#endif
|
370
|
+
#ifndef YY_IGNORE_USELESS_CAST_BEGIN
|
371
|
+
# define YY_IGNORE_USELESS_CAST_BEGIN
|
372
|
+
# define YY_IGNORE_USELESS_CAST_END
|
373
|
+
#endif
|
374
|
+
|
375
|
+
|
376
|
+
#define YY_ASSERT(E) ((void) (0 && (E)))
|
377
|
+
|
378
|
+
#if !defined yyoverflow
|
161
379
|
|
162
380
|
/* The parser invokes alloca or malloc; define the necessary symbols. */
|
163
381
|
|
164
382
|
# ifdef YYSTACK_USE_ALLOCA
|
165
383
|
# if YYSTACK_USE_ALLOCA
|
166
|
-
# define YYSTACK_ALLOC alloca
|
167
|
-
# endif
|
168
|
-
# else
|
169
|
-
# if defined (alloca) || defined (_ALLOCA_H)
|
170
|
-
# define YYSTACK_ALLOC alloca
|
171
|
-
# else
|
172
384
|
# ifdef __GNUC__
|
173
385
|
# define YYSTACK_ALLOC __builtin_alloca
|
386
|
+
# elif defined __BUILTIN_VA_ARG_INCR
|
387
|
+
# include <alloca.h> /* INFRINGES ON USER NAME SPACE */
|
388
|
+
# elif defined _AIX
|
389
|
+
# define YYSTACK_ALLOC __alloca
|
390
|
+
# elif defined _MSC_VER
|
391
|
+
# include <malloc.h> /* INFRINGES ON USER NAME SPACE */
|
392
|
+
# define alloca _alloca
|
393
|
+
# else
|
394
|
+
# define YYSTACK_ALLOC alloca
|
395
|
+
# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
|
396
|
+
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
|
397
|
+
/* Use EXIT_SUCCESS as a witness for stdlib.h. */
|
398
|
+
# ifndef EXIT_SUCCESS
|
399
|
+
# define EXIT_SUCCESS 0
|
400
|
+
# endif
|
401
|
+
# endif
|
174
402
|
# endif
|
175
403
|
# endif
|
176
404
|
# endif
|
177
405
|
|
178
406
|
# ifdef YYSTACK_ALLOC
|
179
|
-
/* Pacify GCC's
|
407
|
+
/* Pacify GCC's 'empty if-body' warning. */
|
180
408
|
# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
|
181
|
-
#
|
182
|
-
|
183
|
-
|
184
|
-
|
409
|
+
# ifndef YYSTACK_ALLOC_MAXIMUM
|
410
|
+
/* The OS might guarantee only one guard page at the bottom of the stack,
|
411
|
+
and a page size can be as small as 4096 bytes. So we cannot safely
|
412
|
+
invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
|
413
|
+
to allow for a few compiler-allocated temporary stack slots. */
|
414
|
+
# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
|
185
415
|
# endif
|
416
|
+
# else
|
186
417
|
# define YYSTACK_ALLOC YYMALLOC
|
187
418
|
# define YYSTACK_FREE YYFREE
|
419
|
+
# ifndef YYSTACK_ALLOC_MAXIMUM
|
420
|
+
# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
|
421
|
+
# endif
|
422
|
+
# if (defined __cplusplus && ! defined EXIT_SUCCESS \
|
423
|
+
&& ! ((defined YYMALLOC || defined malloc) \
|
424
|
+
&& (defined YYFREE || defined free)))
|
425
|
+
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
|
426
|
+
# ifndef EXIT_SUCCESS
|
427
|
+
# define EXIT_SUCCESS 0
|
428
|
+
# endif
|
429
|
+
# endif
|
430
|
+
# ifndef YYMALLOC
|
431
|
+
# define YYMALLOC malloc
|
432
|
+
# if ! defined malloc && ! defined EXIT_SUCCESS
|
433
|
+
void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
|
434
|
+
# endif
|
435
|
+
# endif
|
436
|
+
# ifndef YYFREE
|
437
|
+
# define YYFREE free
|
438
|
+
# if ! defined free && ! defined EXIT_SUCCESS
|
439
|
+
void free (void *); /* INFRINGES ON USER NAME SPACE */
|
440
|
+
# endif
|
441
|
+
# endif
|
188
442
|
# endif
|
189
|
-
#endif /* !
|
443
|
+
#endif /* !defined yyoverflow */
|
190
444
|
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|| (defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL)))
|
445
|
+
#if (! defined yyoverflow \
|
446
|
+
&& (! defined __cplusplus \
|
447
|
+
|| (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
|
195
448
|
|
196
449
|
/* A type that is properly aligned for any stack member. */
|
197
450
|
union yyalloc
|
198
451
|
{
|
199
|
-
|
200
|
-
YYSTYPE
|
201
|
-
|
452
|
+
yy_state_t yyss_alloc;
|
453
|
+
YYSTYPE yyvs_alloc;
|
454
|
+
};
|
202
455
|
|
203
456
|
/* The size of the maximum gap between one aligned stack and the next. */
|
204
|
-
# define YYSTACK_GAP_MAXIMUM (
|
457
|
+
# define YYSTACK_GAP_MAXIMUM (YYSIZEOF (union yyalloc) - 1)
|
205
458
|
|
206
459
|
/* The size of an array large to enough to hold all stacks, each with
|
207
460
|
N elements. */
|
208
461
|
# define YYSTACK_BYTES(N) \
|
209
|
-
((N) * (
|
462
|
+
((N) * (YYSIZEOF (yy_state_t) + YYSIZEOF (YYSTYPE)) \
|
210
463
|
+ YYSTACK_GAP_MAXIMUM)
|
211
464
|
|
212
|
-
|
213
|
-
not overlap. */
|
214
|
-
# ifndef YYCOPY
|
215
|
-
# if defined (__GNUC__) && 1 < __GNUC__
|
216
|
-
# define YYCOPY(To, From, Count) \
|
217
|
-
__builtin_memcpy (To, From, (Count) * sizeof (*(From)))
|
218
|
-
# else
|
219
|
-
# define YYCOPY(To, From, Count) \
|
220
|
-
do \
|
221
|
-
{ \
|
222
|
-
register YYSIZE_T yyi; \
|
223
|
-
for (yyi = 0; yyi < (Count); yyi++) \
|
224
|
-
(To)[yyi] = (From)[yyi]; \
|
225
|
-
} \
|
226
|
-
while (0)
|
227
|
-
# endif
|
228
|
-
# endif
|
465
|
+
# define YYCOPY_NEEDED 1
|
229
466
|
|
230
467
|
/* Relocate STACK from its old location to the new one. The
|
231
468
|
local variables YYSIZE and YYSTACKSIZE give the old and new number of
|
232
469
|
elements in the stack, and YYPTR gives the new location of the
|
233
470
|
stack. Advance YYPTR to a properly aligned location for the next
|
234
471
|
stack. */
|
235
|
-
# define YYSTACK_RELOCATE(Stack)
|
236
|
-
do
|
237
|
-
{
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
}
|
472
|
+
# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
|
473
|
+
do \
|
474
|
+
{ \
|
475
|
+
YYPTRDIFF_T yynewbytes; \
|
476
|
+
YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
|
477
|
+
Stack = &yyptr->Stack_alloc; \
|
478
|
+
yynewbytes = yystacksize * YYSIZEOF (*Stack) + YYSTACK_GAP_MAXIMUM; \
|
479
|
+
yyptr += yynewbytes / YYSIZEOF (*yyptr); \
|
480
|
+
} \
|
244
481
|
while (0)
|
245
482
|
|
246
483
|
#endif
|
247
484
|
|
248
|
-
#if defined
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
#
|
485
|
+
#if defined YYCOPY_NEEDED && YYCOPY_NEEDED
|
486
|
+
/* Copy COUNT objects from SRC to DST. The source and destination do
|
487
|
+
not overlap. */
|
488
|
+
# ifndef YYCOPY
|
489
|
+
# if defined __GNUC__ && 1 < __GNUC__
|
490
|
+
# define YYCOPY(Dst, Src, Count) \
|
491
|
+
__builtin_memcpy (Dst, Src, YY_CAST (YYSIZE_T, (Count)) * sizeof (*(Src)))
|
492
|
+
# else
|
493
|
+
# define YYCOPY(Dst, Src, Count) \
|
494
|
+
do \
|
495
|
+
{ \
|
496
|
+
YYPTRDIFF_T yyi; \
|
497
|
+
for (yyi = 0; yyi < (Count); yyi++) \
|
498
|
+
(Dst)[yyi] = (Src)[yyi]; \
|
499
|
+
} \
|
500
|
+
while (0)
|
501
|
+
# endif
|
502
|
+
# endif
|
503
|
+
#endif /* !YYCOPY_NEEDED */
|
253
504
|
|
254
|
-
/* YYFINAL -- State number of the termination state.
|
505
|
+
/* YYFINAL -- State number of the termination state. */
|
255
506
|
#define YYFINAL 52
|
256
507
|
/* YYLAST -- Last index in YYTABLE. */
|
257
508
|
#define YYLAST 396
|
258
509
|
|
259
|
-
/* YYNTOKENS -- Number of terminals.
|
510
|
+
/* YYNTOKENS -- Number of terminals. */
|
260
511
|
#define YYNTOKENS 23
|
261
|
-
/* YYNNTS -- Number of nonterminals.
|
512
|
+
/* YYNNTS -- Number of nonterminals. */
|
262
513
|
#define YYNNTS 29
|
263
|
-
/* YYNRULES -- Number of rules.
|
514
|
+
/* YYNRULES -- Number of rules. */
|
264
515
|
#define YYNRULES 79
|
265
|
-
/*
|
516
|
+
/* YYNSTATES -- Number of states. */
|
266
517
|
#define YYNSTATES 128
|
267
518
|
|
268
|
-
/*
|
269
|
-
#define YYUNDEFTOK 2
|
519
|
+
/* YYMAXUTOK -- Last valid token kind. */
|
270
520
|
#define YYMAXUTOK 269
|
271
521
|
|
272
|
-
#define YYTRANSLATE(YYX) \
|
273
|
-
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
|
274
522
|
|
275
|
-
/* YYTRANSLATE
|
276
|
-
|
523
|
+
/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
|
524
|
+
as returned by yylex, with out-of-bounds checking. */
|
525
|
+
#define YYTRANSLATE(YYX) \
|
526
|
+
(0 <= (YYX) && (YYX) <= YYMAXUTOK \
|
527
|
+
? YY_CAST (yysymbol_kind_t, yytranslate[YYX]) \
|
528
|
+
: YYSYMBOL_YYUNDEF)
|
529
|
+
|
530
|
+
/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
|
531
|
+
as returned by yylex. */
|
532
|
+
static const yytype_int8 yytranslate[] =
|
277
533
|
{
|
278
534
|
0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
279
535
|
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
@@ -305,150 +561,65 @@ static const unsigned char yytranslate[] =
|
|
305
561
|
};
|
306
562
|
|
307
563
|
#if YYDEBUG
|
308
|
-
/*
|
309
|
-
|
310
|
-
static const unsigned char yyprhs[] =
|
564
|
+
/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
|
565
|
+
static const yytype_int16 yyrline[] =
|
311
566
|
{
|
312
|
-
0,
|
313
|
-
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
|
318
|
-
|
319
|
-
|
567
|
+
0, 57, 57, 61, 66, 71, 72, 75, 76, 81,
|
568
|
+
86, 95, 101, 102, 105, 110, 114, 122, 127, 132,
|
569
|
+
146, 147, 150, 153, 156, 157, 165, 170, 175, 183,
|
570
|
+
187, 195, 208, 209, 219, 220, 221, 222, 223, 229,
|
571
|
+
233, 239, 245, 250, 255, 260, 265, 269, 275, 279,
|
572
|
+
284, 293, 297, 303, 307, 314, 315, 321, 326, 333,
|
573
|
+
338, 343, 348, 353, 357, 363, 364, 370, 380, 397,
|
574
|
+
398, 410, 418, 427, 435, 439, 445, 446, 455, 462
|
320
575
|
};
|
576
|
+
#endif
|
321
577
|
|
322
|
-
|
323
|
-
|
324
|
-
{
|
325
|
-
24, 0, -1, 25, -1, 11, 27, -1, -1, 33,
|
326
|
-
-1, 26, -1, 34, -1, 5, 26, -1, 6, 26,
|
327
|
-
-1, 3, 26, -1, 29, 26, 32, -1, 25, -1,
|
328
|
-
28, -1, 29, 28, 30, -1, -1, 7, 28, -1,
|
329
|
-
5, 28, -1, 6, 28, -1, 3, 28, -1, 12,
|
330
|
-
-1, 29, 13, -1, 14, -1, 13, -1, 14, -1,
|
331
|
-
31, 32, -1, 5, 33, -1, 6, 33, -1, 7,
|
332
|
-
33, -1, 3, 33, -1, 4, -1, 8, -1, 9,
|
333
|
-
-1, 29, 33, 32, -1, 10, -1, 35, -1, 39,
|
334
|
-
-1, 42, -1, 49, -1, 29, 37, 30, -1, 29,
|
335
|
-
38, 30, -1, 15, 27, -1, 5, 31, 38, -1,
|
336
|
-
5, 37, -1, 6, 31, 38, -1, 6, 37, -1,
|
337
|
-
3, 31, 38, -1, 3, 37, -1, 36, -1, 38,
|
338
|
-
31, 36, -1, 38, 31, -1, 17, 40, 18, -1,
|
339
|
-
17, 18, -1, 41, -1, 40, 21, 41, -1, 25,
|
340
|
-
-1, 48, -1, 29, 43, 30, -1, 29, 47, 30,
|
341
|
-
-1, 5, 31, 47, -1, 5, 43, -1, 6, 31,
|
342
|
-
47, -1, 6, 43, -1, 3, 31, 47, -1, 3,
|
343
|
-
43, -1, 33, -1, 22, 25, 31, -1, 27, -1,
|
344
|
-
44, 16, 45, -1, 46, -1, 47, 31, 36, -1,
|
345
|
-
47, 31, 46, -1, 47, 31, -1, 25, 16, 27,
|
346
|
-
-1, 19, 50, 20, -1, 19, 20, -1, 51, -1,
|
347
|
-
50, 21, 51, -1, 25, -1, 48, -1
|
348
|
-
};
|
578
|
+
/** Accessing symbol of state STATE. */
|
579
|
+
#define YY_ACCESSING_SYMBOL(State) YY_CAST (yysymbol_kind_t, yystos[State])
|
349
580
|
|
350
|
-
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
85, 94, 100, 101, 104, 109, 113, 121, 126, 131,
|
355
|
-
145, 146, 149, 152, 155, 156, 164, 169, 174, 182,
|
356
|
-
186, 194, 207, 208, 218, 219, 220, 221, 222, 228,
|
357
|
-
232, 238, 244, 249, 254, 259, 264, 268, 274, 278,
|
358
|
-
283, 292, 296, 302, 306, 313, 314, 320, 325, 332,
|
359
|
-
337, 342, 347, 352, 356, 362, 363, 369, 379, 396,
|
360
|
-
397, 409, 417, 426, 434, 438, 444, 445, 454, 461
|
361
|
-
};
|
362
|
-
#endif
|
581
|
+
#if YYDEBUG || 0
|
582
|
+
/* The user-facing name of the symbol whose (internal) number is
|
583
|
+
YYSYMBOL. No bounds checking. */
|
584
|
+
static const char *yysymbol_name (yysymbol_kind_t yysymbol) YY_ATTRIBUTE_UNUSED;
|
363
585
|
|
364
|
-
|
365
|
-
|
366
|
-
First, the terminals, then, starting at YYNTOKENS, nonterminals. */
|
586
|
+
/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
|
587
|
+
First, the terminals, then, starting at YYNTOKENS, nonterminals. */
|
367
588
|
static const char *const yytname[] =
|
368
589
|
{
|
369
|
-
"
|
370
|
-
"
|
371
|
-
"YAML_PLAIN", "YAML_BLOCK", "YAML_DOCSEP", "YAML_IOPEN",
|
372
|
-
"YAML_IEND", "'-'", "':'", "'['", "']'", "'{'", "'}'",
|
373
|
-
"$accept", "doc", "atom", "ind_rep", "atom_or_empty",
|
374
|
-
"indent_open", "indent_end", "indent_sep", "indent_flex_end",
|
375
|
-
"struct_rep", "implicit_seq", "basic_seq", "top_imp_seq",
|
590
|
+
"\"end of file\"", "error", "\"invalid token\"", "YAML_ANCHOR",
|
591
|
+
"YAML_ALIAS", "YAML_TRANSFER", "YAML_TAGURI", "YAML_ITRANSFER",
|
592
|
+
"YAML_WORD", "YAML_PLAIN", "YAML_BLOCK", "YAML_DOCSEP", "YAML_IOPEN",
|
593
|
+
"YAML_INDENT", "YAML_IEND", "'-'", "':'", "'['", "']'", "'{'", "'}'",
|
594
|
+
"','", "'?'", "$accept", "doc", "atom", "ind_rep", "atom_or_empty",
|
595
|
+
"empty", "indent_open", "indent_end", "indent_sep", "indent_flex_end",
|
596
|
+
"word_rep", "struct_rep", "implicit_seq", "basic_seq", "top_imp_seq",
|
376
597
|
"in_implicit_seq", "inline_seq", "in_inline_seq", "inline_seq_atom",
|
377
598
|
"implicit_map", "top_imp_map", "complex_key", "complex_value",
|
378
599
|
"complex_mapping", "in_implicit_map", "basic_mapping", "inline_map",
|
379
|
-
"in_inline_map", "inline_map_atom",
|
600
|
+
"in_inline_map", "inline_map_atom", YY_NULLPTR
|
380
601
|
};
|
381
|
-
#endif
|
382
602
|
|
383
|
-
|
384
|
-
|
385
|
-
token YYLEX-NUM. */
|
386
|
-
static const unsigned short int yytoknum[] =
|
603
|
+
static const char *
|
604
|
+
yysymbol_name (yysymbol_kind_t yysymbol)
|
387
605
|
{
|
388
|
-
|
389
|
-
|
390
|
-
|
391
|
-
};
|
392
|
-
# endif
|
606
|
+
return yytname[yysymbol];
|
607
|
+
}
|
608
|
+
#endif
|
393
609
|
|
394
|
-
|
395
|
-
static const unsigned char yyr1[] =
|
396
|
-
{
|
397
|
-
0, 23, 24, 24, 24, 25, 25, 26, 26, 26,
|
398
|
-
26, 26, 27, 27, 28, 28, 28, 28, 28, 28,
|
399
|
-
29, 29, 30, 31, 32, 32, 33, 33, 33, 33,
|
400
|
-
33, 33, 33, 33, 34, 34, 34, 34, 34, 35,
|
401
|
-
35, 36, 37, 37, 37, 37, 37, 37, 38, 38,
|
402
|
-
38, 39, 39, 40, 40, 41, 41, 42, 42, 43,
|
403
|
-
43, 43, 43, 43, 43, 44, 44, 45, 46, 47,
|
404
|
-
47, 47, 47, 48, 49, 49, 50, 50, 51, 51
|
405
|
-
};
|
610
|
+
#define YYPACT_NINF (-97)
|
406
611
|
|
407
|
-
|
408
|
-
|
409
|
-
{
|
410
|
-
0, 2, 1, 2, 0, 1, 1, 1, 2, 2,
|
411
|
-
2, 3, 1, 1, 3, 0, 2, 2, 2, 2,
|
412
|
-
1, 2, 1, 1, 1, 2, 2, 2, 2, 2,
|
413
|
-
1, 1, 1, 3, 1, 1, 1, 1, 1, 3,
|
414
|
-
3, 2, 3, 2, 3, 2, 3, 2, 1, 3,
|
415
|
-
2, 3, 2, 1, 3, 1, 1, 3, 3, 3,
|
416
|
-
2, 3, 2, 3, 2, 1, 3, 1, 3, 1,
|
417
|
-
3, 3, 2, 3, 3, 2, 1, 3, 1, 1
|
418
|
-
};
|
612
|
+
#define yypact_value_is_default(Yyn) \
|
613
|
+
((Yyn) == YYPACT_NINF)
|
419
614
|
|
420
|
-
|
421
|
-
STATE-NUM when YYTABLE doesn't specify something else to do. Zero
|
422
|
-
means the default is an error. */
|
423
|
-
static const unsigned char yydefact[] =
|
424
|
-
{
|
425
|
-
4, 0, 30, 0, 0, 0, 31, 32, 34, 15,
|
426
|
-
20, 0, 0, 0, 2, 6, 0, 5, 7, 35,
|
427
|
-
36, 37, 38, 10, 29, 8, 26, 9, 27, 0,
|
428
|
-
0, 0, 0, 28, 15, 15, 15, 15, 12, 3,
|
429
|
-
13, 15, 52, 55, 0, 53, 56, 75, 78, 79,
|
430
|
-
0, 76, 1, 0, 0, 0, 21, 15, 0, 0,
|
431
|
-
65, 48, 0, 0, 0, 0, 69, 0, 0, 19,
|
432
|
-
17, 18, 15, 15, 15, 16, 15, 15, 15, 15,
|
433
|
-
0, 15, 51, 0, 74, 0, 23, 0, 47, 64,
|
434
|
-
0, 43, 60, 0, 45, 62, 41, 0, 24, 0,
|
435
|
-
11, 33, 22, 39, 40, 50, 57, 15, 58, 72,
|
436
|
-
14, 73, 54, 77, 65, 46, 63, 42, 59, 44,
|
437
|
-
61, 66, 25, 49, 67, 68, 70, 71
|
438
|
-
};
|
615
|
+
#define YYTABLE_NINF (-1)
|
439
616
|
|
440
|
-
|
441
|
-
|
442
|
-
{
|
443
|
-
-1, 13, 38, 15, 39, 40, 16, 103, 99, 101,
|
444
|
-
17, 18, 19, 61, 62, 63, 20, 44, 45, 21,
|
445
|
-
64, 65, 125, 66, 67, 46, 22, 50, 51
|
446
|
-
};
|
617
|
+
#define yytable_value_is_error(Yyn) \
|
618
|
+
0
|
447
619
|
|
448
620
|
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
|
449
621
|
STATE-NUM. */
|
450
|
-
|
451
|
-
static const short int yypact[] =
|
622
|
+
static const yytype_int16 yypact[] =
|
452
623
|
{
|
453
624
|
250, 318, -97, 318, 318, 374, -97, -97, -97, 335,
|
454
625
|
-97, 267, 232, 7, -97, -97, 192, -97, -97, -97,
|
@@ -465,20 +636,46 @@ static const short int yypact[] =
|
|
465
636
|
24, -97, -97, -97, -97, -97, -97, -97
|
466
637
|
};
|
467
638
|
|
639
|
+
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
|
640
|
+
Performed when YYTABLE does not specify something else to do. Zero
|
641
|
+
means the default is an error. */
|
642
|
+
static const yytype_int8 yydefact[] =
|
643
|
+
{
|
644
|
+
4, 0, 30, 0, 0, 0, 31, 32, 34, 15,
|
645
|
+
20, 0, 0, 0, 2, 6, 0, 5, 7, 35,
|
646
|
+
36, 37, 38, 10, 29, 8, 26, 9, 27, 0,
|
647
|
+
0, 0, 0, 28, 15, 15, 15, 15, 12, 3,
|
648
|
+
13, 15, 52, 55, 0, 53, 56, 75, 78, 79,
|
649
|
+
0, 76, 1, 0, 0, 0, 21, 15, 0, 0,
|
650
|
+
65, 48, 0, 0, 0, 0, 69, 0, 0, 19,
|
651
|
+
17, 18, 15, 15, 15, 16, 15, 15, 15, 15,
|
652
|
+
0, 15, 51, 0, 74, 0, 23, 0, 47, 64,
|
653
|
+
0, 43, 60, 0, 45, 62, 41, 0, 24, 0,
|
654
|
+
11, 33, 22, 39, 40, 50, 57, 15, 58, 72,
|
655
|
+
14, 73, 54, 77, 65, 46, 63, 42, 59, 44,
|
656
|
+
61, 66, 25, 49, 67, 68, 70, 71
|
657
|
+
};
|
658
|
+
|
468
659
|
/* YYPGOTO[NTERM-NUM]. */
|
469
|
-
static const
|
660
|
+
static const yytype_int8 yypgoto[] =
|
470
661
|
{
|
471
662
|
-97, -97, 8, 81, -56, 109, 33, -53, 74, -54,
|
472
663
|
-1, -97, -97, -96, -31, -32, -97, -97, -44, -97,
|
473
664
|
77, -97, -97, -52, 9, -6, -97, -97, -29
|
474
665
|
};
|
475
666
|
|
476
|
-
/*
|
477
|
-
|
478
|
-
|
479
|
-
|
480
|
-
|
481
|
-
|
667
|
+
/* YYDEFGOTO[NTERM-NUM]. */
|
668
|
+
static const yytype_int8 yydefgoto[] =
|
669
|
+
{
|
670
|
+
0, 13, 38, 15, 39, 40, 16, 103, 99, 101,
|
671
|
+
17, 18, 19, 61, 62, 63, 20, 44, 45, 21,
|
672
|
+
64, 65, 125, 66, 67, 46, 22, 50, 51
|
673
|
+
};
|
674
|
+
|
675
|
+
/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
|
676
|
+
positive, shift that token. If negative, reduce the rule whose
|
677
|
+
number is the opposite. If YYTABLE_NINF, syntax error. */
|
678
|
+
static const yytype_int8 yytable[] =
|
482
679
|
{
|
483
680
|
24, 96, 26, 28, 33, 100, 49, 52, 14, 123,
|
484
681
|
104, 106, 102, 126, 108, 60, 84, 85, 82, 43,
|
@@ -522,7 +719,7 @@ static const unsigned char yytable[] =
|
|
522
719
|
74, 37, 6, 7, 0, 0, 10
|
523
720
|
};
|
524
721
|
|
525
|
-
static const
|
722
|
+
static const yytype_int8 yycheck[] =
|
526
723
|
{
|
527
724
|
1, 57, 3, 4, 5, 59, 12, 0, 0, 105,
|
528
725
|
63, 64, 14, 109, 67, 16, 20, 21, 18, 11,
|
@@ -566,9 +763,9 @@ static const yysigned_char yycheck[] =
|
|
566
763
|
6, 7, 8, 9, -1, -1, 12
|
567
764
|
};
|
568
765
|
|
569
|
-
/* YYSTOS[STATE-NUM] -- The
|
570
|
-
|
571
|
-
static const
|
766
|
+
/* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of
|
767
|
+
state STATE-NUM. */
|
768
|
+
static const yytype_int8 yystos[] =
|
572
769
|
{
|
573
770
|
0, 3, 4, 5, 6, 7, 8, 9, 10, 11,
|
574
771
|
12, 17, 19, 24, 25, 26, 29, 33, 34, 35,
|
@@ -585,78 +782,67 @@ static const unsigned char yystos[] =
|
|
585
782
|
47, 31, 32, 36, 27, 45, 36, 46
|
586
783
|
};
|
587
784
|
|
588
|
-
|
589
|
-
|
590
|
-
|
591
|
-
|
592
|
-
|
593
|
-
|
594
|
-
|
595
|
-
|
596
|
-
|
597
|
-
|
598
|
-
|
599
|
-
|
600
|
-
#if ! defined (YYSIZE_T)
|
601
|
-
# define YYSIZE_T unsigned int
|
602
|
-
#endif
|
785
|
+
/* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */
|
786
|
+
static const yytype_int8 yyr1[] =
|
787
|
+
{
|
788
|
+
0, 23, 24, 24, 24, 25, 25, 26, 26, 26,
|
789
|
+
26, 26, 27, 27, 28, 28, 28, 28, 28, 28,
|
790
|
+
29, 29, 30, 31, 32, 32, 33, 33, 33, 33,
|
791
|
+
33, 33, 33, 33, 34, 34, 34, 34, 34, 35,
|
792
|
+
35, 36, 37, 37, 37, 37, 37, 37, 38, 38,
|
793
|
+
38, 39, 39, 40, 40, 41, 41, 42, 42, 43,
|
794
|
+
43, 43, 43, 43, 43, 44, 44, 45, 46, 47,
|
795
|
+
47, 47, 47, 48, 49, 49, 50, 50, 51, 51
|
796
|
+
};
|
603
797
|
|
604
|
-
|
605
|
-
|
606
|
-
|
607
|
-
|
798
|
+
/* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */
|
799
|
+
static const yytype_int8 yyr2[] =
|
800
|
+
{
|
801
|
+
0, 2, 1, 2, 0, 1, 1, 1, 2, 2,
|
802
|
+
2, 3, 1, 1, 3, 0, 2, 2, 2, 2,
|
803
|
+
1, 2, 1, 1, 1, 2, 2, 2, 2, 2,
|
804
|
+
1, 1, 1, 3, 1, 1, 1, 1, 1, 3,
|
805
|
+
3, 2, 3, 2, 3, 2, 3, 2, 1, 3,
|
806
|
+
2, 3, 2, 1, 3, 1, 1, 3, 3, 3,
|
807
|
+
2, 3, 2, 3, 2, 1, 3, 1, 3, 1,
|
808
|
+
3, 3, 2, 3, 3, 2, 1, 3, 1, 1
|
809
|
+
};
|
608
810
|
|
609
|
-
#define YYACCEPT goto yyacceptlab
|
610
|
-
#define YYABORT goto yyabortlab
|
611
|
-
#define YYERROR goto yyerrorlab
|
612
811
|
|
812
|
+
enum { YYENOMEM = -2 };
|
613
813
|
|
614
|
-
|
615
|
-
|
616
|
-
|
814
|
+
#define yyerrok (yyerrstatus = 0)
|
815
|
+
#define yyclearin (yychar = YYEMPTY)
|
816
|
+
|
817
|
+
#define YYACCEPT goto yyacceptlab
|
818
|
+
#define YYABORT goto yyabortlab
|
819
|
+
#define YYERROR goto yyerrorlab
|
820
|
+
#define YYNOMEM goto yyexhaustedlab
|
617
821
|
|
618
|
-
#define YYFAIL goto yyerrlab
|
619
822
|
|
620
823
|
#define YYRECOVERING() (!!yyerrstatus)
|
621
824
|
|
622
|
-
#define YYBACKUP(Token, Value)
|
623
|
-
do
|
624
|
-
|
625
|
-
|
626
|
-
|
627
|
-
|
628
|
-
|
629
|
-
|
630
|
-
|
631
|
-
|
632
|
-
|
633
|
-
|
634
|
-
|
635
|
-
|
636
|
-
|
637
|
-
while (0)
|
638
|
-
|
639
|
-
|
640
|
-
|
641
|
-
|
642
|
-
/* YYLLOC_DEFAULT -- Compute the default location (before the actions
|
643
|
-
are run). */
|
644
|
-
|
645
|
-
#ifndef YYLLOC_DEFAULT
|
646
|
-
# define YYLLOC_DEFAULT(Current, Rhs, N) \
|
647
|
-
((Current).first_line = (Rhs)[1].first_line, \
|
648
|
-
(Current).first_column = (Rhs)[1].first_column, \
|
649
|
-
(Current).last_line = (Rhs)[N].last_line, \
|
650
|
-
(Current).last_column = (Rhs)[N].last_column)
|
651
|
-
#endif
|
825
|
+
#define YYBACKUP(Token, Value) \
|
826
|
+
do \
|
827
|
+
if (yychar == YYEMPTY) \
|
828
|
+
{ \
|
829
|
+
yychar = (Token); \
|
830
|
+
yylval = (Value); \
|
831
|
+
YYPOPSTACK (yylen); \
|
832
|
+
yystate = *yyssp; \
|
833
|
+
goto yybackup; \
|
834
|
+
} \
|
835
|
+
else \
|
836
|
+
{ \
|
837
|
+
yyerror (YYPARSE_PARAM, YY_("syntax error: cannot back up")); \
|
838
|
+
YYERROR; \
|
839
|
+
} \
|
840
|
+
while (0)
|
841
|
+
|
842
|
+
/* Backward compatibility with an undocumented macro.
|
843
|
+
Use YYerror or YYUNDEF. */
|
844
|
+
#define YYERRCODE YYUNDEF
|
652
845
|
|
653
|
-
/* YYLEX -- calling `yylex' with the right arguments. */
|
654
|
-
|
655
|
-
#ifdef YYLEX_PARAM
|
656
|
-
# define YYLEX yylex (&yylval, YYLEX_PARAM)
|
657
|
-
#else
|
658
|
-
# define YYLEX yylex (&yylval)
|
659
|
-
#endif
|
660
846
|
|
661
847
|
/* Enable debugging if requested. */
|
662
848
|
#if YYDEBUG
|
@@ -666,54 +852,82 @@ while (0)
|
|
666
852
|
# define YYFPRINTF fprintf
|
667
853
|
# endif
|
668
854
|
|
669
|
-
# define YYDPRINTF(Args)
|
670
|
-
do {
|
671
|
-
if (yydebug)
|
672
|
-
YYFPRINTF Args;
|
855
|
+
# define YYDPRINTF(Args) \
|
856
|
+
do { \
|
857
|
+
if (yydebug) \
|
858
|
+
YYFPRINTF Args; \
|
673
859
|
} while (0)
|
674
860
|
|
675
|
-
# define YYDSYMPRINT(Args) \
|
676
|
-
do { \
|
677
|
-
if (yydebug) \
|
678
|
-
yysymprint Args; \
|
679
|
-
} while (0)
|
680
861
|
|
681
|
-
|
682
|
-
|
683
|
-
|
684
|
-
|
685
|
-
|
686
|
-
|
687
|
-
|
688
|
-
|
689
|
-
|
862
|
+
|
863
|
+
|
864
|
+
# define YY_SYMBOL_PRINT(Title, Kind, Value, Location) \
|
865
|
+
do { \
|
866
|
+
if (yydebug) \
|
867
|
+
{ \
|
868
|
+
YYFPRINTF (stderr, "%s ", Title); \
|
869
|
+
yy_symbol_print (stderr, \
|
870
|
+
Kind, Value, YYPARSE_PARAM); \
|
871
|
+
YYFPRINTF (stderr, "\n"); \
|
872
|
+
} \
|
690
873
|
} while (0)
|
691
874
|
|
875
|
+
|
876
|
+
/*-----------------------------------.
|
877
|
+
| Print this symbol's value on YYO. |
|
878
|
+
`-----------------------------------*/
|
879
|
+
|
880
|
+
static void
|
881
|
+
yy_symbol_value_print (FILE *yyo,
|
882
|
+
yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep, void *YYPARSE_PARAM)
|
883
|
+
{
|
884
|
+
FILE *yyoutput = yyo;
|
885
|
+
YY_USE (yyoutput);
|
886
|
+
YY_USE (YYPARSE_PARAM);
|
887
|
+
if (!yyvaluep)
|
888
|
+
return;
|
889
|
+
YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
|
890
|
+
YY_USE (yykind);
|
891
|
+
YY_IGNORE_MAYBE_UNINITIALIZED_END
|
892
|
+
}
|
893
|
+
|
894
|
+
|
895
|
+
/*---------------------------.
|
896
|
+
| Print this symbol on YYO. |
|
897
|
+
`---------------------------*/
|
898
|
+
|
899
|
+
static void
|
900
|
+
yy_symbol_print (FILE *yyo,
|
901
|
+
yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep, void *YYPARSE_PARAM)
|
902
|
+
{
|
903
|
+
YYFPRINTF (yyo, "%s %s (",
|
904
|
+
yykind < YYNTOKENS ? "token" : "nterm", yysymbol_name (yykind));
|
905
|
+
|
906
|
+
yy_symbol_value_print (yyo, yykind, yyvaluep, YYPARSE_PARAM);
|
907
|
+
YYFPRINTF (yyo, ")");
|
908
|
+
}
|
909
|
+
|
692
910
|
/*------------------------------------------------------------------.
|
693
911
|
| yy_stack_print -- Print the state stack from its BOTTOM up to its |
|
694
912
|
| TOP (included). |
|
695
913
|
`------------------------------------------------------------------*/
|
696
914
|
|
697
|
-
#if defined (__STDC__) || defined (__cplusplus)
|
698
915
|
static void
|
699
|
-
yy_stack_print (
|
700
|
-
#else
|
701
|
-
static void
|
702
|
-
yy_stack_print (bottom, top)
|
703
|
-
short int *bottom;
|
704
|
-
short int *top;
|
705
|
-
#endif
|
916
|
+
yy_stack_print (yy_state_t *yybottom, yy_state_t *yytop)
|
706
917
|
{
|
707
918
|
YYFPRINTF (stderr, "Stack now");
|
708
|
-
for (
|
709
|
-
|
919
|
+
for (; yybottom <= yytop; yybottom++)
|
920
|
+
{
|
921
|
+
int yybot = *yybottom;
|
922
|
+
YYFPRINTF (stderr, " %d", yybot);
|
923
|
+
}
|
710
924
|
YYFPRINTF (stderr, "\n");
|
711
925
|
}
|
712
926
|
|
713
|
-
# define YY_STACK_PRINT(Bottom, Top)
|
714
|
-
do {
|
715
|
-
if (yydebug)
|
716
|
-
yy_stack_print ((Bottom), (Top));
|
927
|
+
# define YY_STACK_PRINT(Bottom, Top) \
|
928
|
+
do { \
|
929
|
+
if (yydebug) \
|
930
|
+
yy_stack_print ((Bottom), (Top)); \
|
717
931
|
} while (0)
|
718
932
|
|
719
933
|
|
@@ -721,45 +935,45 @@ do { \
|
|
721
935
|
| Report that the YYRULE is going to be reduced. |
|
722
936
|
`------------------------------------------------*/
|
723
937
|
|
724
|
-
#if defined (__STDC__) || defined (__cplusplus)
|
725
|
-
static void
|
726
|
-
yy_reduce_print (int yyrule)
|
727
|
-
#else
|
728
938
|
static void
|
729
|
-
yy_reduce_print (
|
730
|
-
|
731
|
-
#endif
|
939
|
+
yy_reduce_print (yy_state_t *yyssp, YYSTYPE *yyvsp,
|
940
|
+
int yyrule, void *YYPARSE_PARAM)
|
732
941
|
{
|
942
|
+
int yylno = yyrline[yyrule];
|
943
|
+
int yynrhs = yyr2[yyrule];
|
733
944
|
int yyi;
|
734
|
-
|
735
|
-
YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ",
|
945
|
+
YYFPRINTF (stderr, "Reducing stack by rule %d (line %d):\n",
|
736
946
|
yyrule - 1, yylno);
|
737
|
-
/*
|
738
|
-
for (yyi =
|
739
|
-
|
740
|
-
|
947
|
+
/* The symbols being reduced. */
|
948
|
+
for (yyi = 0; yyi < yynrhs; yyi++)
|
949
|
+
{
|
950
|
+
YYFPRINTF (stderr, " $%d = ", yyi + 1);
|
951
|
+
yy_symbol_print (stderr,
|
952
|
+
YY_ACCESSING_SYMBOL (+yyssp[yyi + 1 - yynrhs]),
|
953
|
+
&yyvsp[(yyi + 1) - (yynrhs)], YYPARSE_PARAM);
|
954
|
+
YYFPRINTF (stderr, "\n");
|
955
|
+
}
|
741
956
|
}
|
742
957
|
|
743
|
-
# define YY_REDUCE_PRINT(Rule)
|
744
|
-
do {
|
745
|
-
if (yydebug)
|
746
|
-
yy_reduce_print (Rule);
|
958
|
+
# define YY_REDUCE_PRINT(Rule) \
|
959
|
+
do { \
|
960
|
+
if (yydebug) \
|
961
|
+
yy_reduce_print (yyssp, yyvsp, Rule, YYPARSE_PARAM); \
|
747
962
|
} while (0)
|
748
963
|
|
749
964
|
/* Nonzero means print parse trace. It is left uninitialized so that
|
750
965
|
multiple parsers can coexist. */
|
751
966
|
int yydebug;
|
752
967
|
#else /* !YYDEBUG */
|
753
|
-
# define YYDPRINTF(Args)
|
754
|
-
# define
|
755
|
-
# define YYDSYMPRINTF(Title, Token, Value, Location)
|
968
|
+
# define YYDPRINTF(Args) ((void) 0)
|
969
|
+
# define YY_SYMBOL_PRINT(Title, Kind, Value, Location)
|
756
970
|
# define YY_STACK_PRINT(Bottom, Top)
|
757
971
|
# define YY_REDUCE_PRINT(Rule)
|
758
972
|
#endif /* !YYDEBUG */
|
759
973
|
|
760
974
|
|
761
975
|
/* YYINITDEPTH -- initial size of the parser's stacks. */
|
762
|
-
#ifndef
|
976
|
+
#ifndef YYINITDEPTH
|
763
977
|
# define YYINITDEPTH 200
|
764
978
|
#endif
|
765
979
|
|
@@ -767,153 +981,36 @@ int yydebug;
|
|
767
981
|
if the built-in stack extension method is used).
|
768
982
|
|
769
983
|
Do not make this value too large; the results are undefined if
|
770
|
-
|
984
|
+
YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
|
771
985
|
evaluated with infinite-precision integer arithmetic. */
|
772
986
|
|
773
|
-
#if defined (YYMAXDEPTH) && YYMAXDEPTH == 0
|
774
|
-
# undef YYMAXDEPTH
|
775
|
-
#endif
|
776
|
-
|
777
987
|
#ifndef YYMAXDEPTH
|
778
988
|
# define YYMAXDEPTH 10000
|
779
989
|
#endif
|
780
990
|
|
781
|
-
|
782
|
-
|
783
|
-
#if YYERROR_VERBOSE
|
784
|
-
|
785
|
-
# ifndef yystrlen
|
786
|
-
# if defined (__GLIBC__) && defined (_STRING_H)
|
787
|
-
# define yystrlen strlen
|
788
|
-
# else
|
789
|
-
/* Return the length of YYSTR. */
|
790
|
-
static YYSIZE_T
|
791
|
-
# if defined (__STDC__) || defined (__cplusplus)
|
792
|
-
yystrlen (const char *yystr)
|
793
|
-
# else
|
794
|
-
yystrlen (yystr)
|
795
|
-
const char *yystr;
|
796
|
-
# endif
|
797
|
-
{
|
798
|
-
register const char *yys = yystr;
|
799
|
-
|
800
|
-
while (*yys++ != '\0')
|
801
|
-
continue;
|
802
991
|
|
803
|
-
return yys - yystr - 1;
|
804
|
-
}
|
805
|
-
# endif
|
806
|
-
# endif
|
807
|
-
|
808
|
-
# ifndef yystpcpy
|
809
|
-
# if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)
|
810
|
-
# define yystpcpy stpcpy
|
811
|
-
# else
|
812
|
-
/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
|
813
|
-
YYDEST. */
|
814
|
-
static char *
|
815
|
-
# if defined (__STDC__) || defined (__cplusplus)
|
816
|
-
yystpcpy (char *yydest, const char *yysrc)
|
817
|
-
# else
|
818
|
-
yystpcpy (yydest, yysrc)
|
819
|
-
char *yydest;
|
820
|
-
const char *yysrc;
|
821
|
-
# endif
|
822
|
-
{
|
823
|
-
register char *yyd = yydest;
|
824
|
-
register const char *yys = yysrc;
|
825
|
-
|
826
|
-
while ((*yyd++ = *yys++) != '\0')
|
827
|
-
continue;
|
828
|
-
|
829
|
-
return yyd - 1;
|
830
|
-
}
|
831
|
-
# endif
|
832
|
-
# endif
|
833
|
-
|
834
|
-
#endif /* !YYERROR_VERBOSE */
|
835
992
|
|
836
|
-
|
837
993
|
|
838
|
-
#if YYDEBUG
|
839
|
-
/*--------------------------------.
|
840
|
-
| Print this symbol on YYOUTPUT. |
|
841
|
-
`--------------------------------*/
|
842
|
-
|
843
|
-
#if defined (__STDC__) || defined (__cplusplus)
|
844
|
-
static void
|
845
|
-
yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep)
|
846
|
-
#else
|
847
|
-
static void
|
848
|
-
yysymprint (yyoutput, yytype, yyvaluep)
|
849
|
-
FILE *yyoutput;
|
850
|
-
int yytype;
|
851
|
-
YYSTYPE *yyvaluep;
|
852
|
-
#endif
|
853
|
-
{
|
854
|
-
/* Pacify ``unused variable'' warnings. */
|
855
|
-
(void) yyvaluep;
|
856
994
|
|
857
|
-
if (yytype < YYNTOKENS)
|
858
|
-
{
|
859
|
-
YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
|
860
|
-
# ifdef YYPRINT
|
861
|
-
YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
|
862
|
-
# endif
|
863
|
-
}
|
864
|
-
else
|
865
|
-
YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
|
866
995
|
|
867
|
-
switch (yytype)
|
868
|
-
{
|
869
|
-
default:
|
870
|
-
break;
|
871
|
-
}
|
872
|
-
YYFPRINTF (yyoutput, ")");
|
873
|
-
}
|
874
|
-
|
875
|
-
#endif /* ! YYDEBUG */
|
876
996
|
/*-----------------------------------------------.
|
877
997
|
| Release the memory associated to this symbol. |
|
878
998
|
`-----------------------------------------------*/
|
879
999
|
|
880
|
-
#if defined (__STDC__) || defined (__cplusplus)
|
881
|
-
static void
|
882
|
-
yydestruct (int yytype, YYSTYPE *yyvaluep)
|
883
|
-
#else
|
884
1000
|
static void
|
885
|
-
yydestruct (
|
886
|
-
|
887
|
-
YYSTYPE *yyvaluep;
|
888
|
-
#endif
|
1001
|
+
yydestruct (const char *yymsg,
|
1002
|
+
yysymbol_kind_t yykind, YYSTYPE *yyvaluep, void *YYPARSE_PARAM)
|
889
1003
|
{
|
890
|
-
|
891
|
-
(
|
892
|
-
|
893
|
-
|
894
|
-
|
895
|
-
|
896
|
-
|
897
|
-
|
898
|
-
|
1004
|
+
YY_USE (yyvaluep);
|
1005
|
+
YY_USE (YYPARSE_PARAM);
|
1006
|
+
if (!yymsg)
|
1007
|
+
yymsg = "Deleting";
|
1008
|
+
YY_SYMBOL_PRINT (yymsg, yykind, yyvaluep, yylocationp);
|
1009
|
+
|
1010
|
+
YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
|
1011
|
+
YY_USE (yykind);
|
1012
|
+
YY_IGNORE_MAYBE_UNINITIALIZED_END
|
899
1013
|
}
|
900
|
-
|
901
|
-
|
902
|
-
/* Prevent warnings from -Wmissing-prototypes. */
|
903
|
-
|
904
|
-
#ifdef YYPARSE_PARAM
|
905
|
-
# if defined (__STDC__) || defined (__cplusplus)
|
906
|
-
int yyparse (void *YYPARSE_PARAM);
|
907
|
-
# else
|
908
|
-
int yyparse ();
|
909
|
-
# endif
|
910
|
-
#else /* ! YYPARSE_PARAM */
|
911
|
-
#if defined (__STDC__) || defined (__cplusplus)
|
912
|
-
int yyparse (void);
|
913
|
-
#else
|
914
|
-
int yyparse ();
|
915
|
-
#endif
|
916
|
-
#endif /* ! YYPARSE_PARAM */
|
917
1014
|
|
918
1015
|
|
919
1016
|
|
@@ -924,206 +1021,197 @@ int yyparse ();
|
|
924
1021
|
| yyparse. |
|
925
1022
|
`----------*/
|
926
1023
|
|
927
|
-
#ifdef YYPARSE_PARAM
|
928
|
-
# if defined (__STDC__) || defined (__cplusplus)
|
929
|
-
int yyparse (void *YYPARSE_PARAM)
|
930
|
-
# else
|
931
|
-
int yyparse (YYPARSE_PARAM)
|
932
|
-
void *YYPARSE_PARAM;
|
933
|
-
# endif
|
934
|
-
#else /* ! YYPARSE_PARAM */
|
935
|
-
#if defined (__STDC__) || defined (__cplusplus)
|
936
|
-
int
|
937
|
-
yyparse (void)
|
938
|
-
#else
|
939
1024
|
int
|
940
|
-
yyparse ()
|
941
|
-
|
942
|
-
#endif
|
943
|
-
#endif
|
1025
|
+
yyparse (void *YYPARSE_PARAM)
|
944
1026
|
{
|
945
|
-
|
1027
|
+
/* Lookahead token kind. */
|
946
1028
|
int yychar;
|
947
1029
|
|
948
|
-
/* The semantic value of the lookahead symbol. */
|
949
|
-
YYSTYPE yylval;
|
950
|
-
|
951
|
-
/* Number of syntax errors so far. */
|
952
|
-
int yynerrs;
|
953
|
-
|
954
|
-
register int yystate;
|
955
|
-
register int yyn;
|
956
|
-
int yyresult;
|
957
|
-
/* Number of tokens to shift before error messages enabled. */
|
958
|
-
int yyerrstatus;
|
959
|
-
/* Lookahead token as an internal (translated) token number. */
|
960
|
-
int yytoken = 0;
|
961
1030
|
|
962
|
-
|
963
|
-
|
964
|
-
|
965
|
-
|
966
|
-
|
967
|
-
Refer to the stacks thru separate pointers, to allow yyoverflow
|
968
|
-
to reallocate them elsewhere. */
|
1031
|
+
/* The semantic value of the lookahead symbol. */
|
1032
|
+
/* Default value used for initialization, for pacifying older GCCs
|
1033
|
+
or non-GCC compilers. */
|
1034
|
+
YY_INITIAL_VALUE (static YYSTYPE yyval_default;)
|
1035
|
+
YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
|
969
1036
|
|
970
|
-
|
971
|
-
|
972
|
-
short int *yyss = yyssa;
|
973
|
-
register short int *yyssp;
|
1037
|
+
/* Number of syntax errors so far. */
|
1038
|
+
int yynerrs = 0;
|
974
1039
|
|
975
|
-
|
976
|
-
|
977
|
-
|
978
|
-
register YYSTYPE *yyvsp;
|
1040
|
+
yy_state_fast_t yystate = 0;
|
1041
|
+
/* Number of tokens to shift before error messages enabled. */
|
1042
|
+
int yyerrstatus = 0;
|
979
1043
|
|
1044
|
+
/* Refer to the stacks through separate pointers, to allow yyoverflow
|
1045
|
+
to reallocate them elsewhere. */
|
980
1046
|
|
1047
|
+
/* Their size. */
|
1048
|
+
YYPTRDIFF_T yystacksize = YYINITDEPTH;
|
981
1049
|
|
982
|
-
|
1050
|
+
/* The state stack: array, bottom, top. */
|
1051
|
+
yy_state_t yyssa[YYINITDEPTH];
|
1052
|
+
yy_state_t *yyss = yyssa;
|
1053
|
+
yy_state_t *yyssp = yyss;
|
983
1054
|
|
984
|
-
|
1055
|
+
/* The semantic value stack: array, bottom, top. */
|
1056
|
+
YYSTYPE yyvsa[YYINITDEPTH];
|
1057
|
+
YYSTYPE *yyvs = yyvsa;
|
1058
|
+
YYSTYPE *yyvsp = yyvs;
|
985
1059
|
|
1060
|
+
int yyn;
|
1061
|
+
/* The return value of yyparse. */
|
1062
|
+
int yyresult;
|
1063
|
+
/* Lookahead symbol kind. */
|
1064
|
+
yysymbol_kind_t yytoken = YYSYMBOL_YYEMPTY;
|
986
1065
|
/* The variables used to return semantic value and location from the
|
987
1066
|
action routines. */
|
988
1067
|
YYSTYPE yyval;
|
989
1068
|
|
990
1069
|
|
991
|
-
/* When reducing, the number of symbols on the RHS of the reduced
|
992
|
-
rule. */
|
993
|
-
int yylen;
|
994
1070
|
|
995
|
-
|
996
|
-
|
997
|
-
yystate = 0;
|
998
|
-
yyerrstatus = 0;
|
999
|
-
yynerrs = 0;
|
1000
|
-
yychar = YYEMPTY; /* Cause a token to be read. */
|
1071
|
+
#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
|
1001
1072
|
|
1002
|
-
/*
|
1003
|
-
|
1004
|
-
|
1005
|
-
The wasted elements are never initialized. */
|
1073
|
+
/* The number of symbols on the RHS of the reduced rule.
|
1074
|
+
Keep to zero when no symbol should be popped. */
|
1075
|
+
int yylen = 0;
|
1006
1076
|
|
1007
|
-
|
1008
|
-
yyvsp = yyvs;
|
1077
|
+
YYDPRINTF ((stderr, "Starting parse\n"));
|
1009
1078
|
|
1079
|
+
yychar = YYEMPTY; /* Cause a token to be read. */
|
1010
1080
|
|
1011
1081
|
goto yysetstate;
|
1012
1082
|
|
1083
|
+
|
1013
1084
|
/*------------------------------------------------------------.
|
1014
|
-
| yynewstate --
|
1085
|
+
| yynewstate -- push a new state, which is found in yystate. |
|
1015
1086
|
`------------------------------------------------------------*/
|
1016
|
-
|
1087
|
+
yynewstate:
|
1017
1088
|
/* In all cases, when you get here, the value and location stacks
|
1018
|
-
have just been pushed.
|
1019
|
-
*/
|
1089
|
+
have just been pushed. So pushing a state here evens the stacks. */
|
1020
1090
|
yyssp++;
|
1021
1091
|
|
1022
|
-
|
1023
|
-
|
1092
|
+
|
1093
|
+
/*--------------------------------------------------------------------.
|
1094
|
+
| yysetstate -- set current state (the top of the stack) to yystate. |
|
1095
|
+
`--------------------------------------------------------------------*/
|
1096
|
+
yysetstate:
|
1097
|
+
YYDPRINTF ((stderr, "Entering state %d\n", yystate));
|
1098
|
+
YY_ASSERT (0 <= yystate && yystate < YYNSTATES);
|
1099
|
+
YY_IGNORE_USELESS_CAST_BEGIN
|
1100
|
+
*yyssp = YY_CAST (yy_state_t, yystate);
|
1101
|
+
YY_IGNORE_USELESS_CAST_END
|
1102
|
+
YY_STACK_PRINT (yyss, yyssp);
|
1024
1103
|
|
1025
1104
|
if (yyss + yystacksize - 1 <= yyssp)
|
1105
|
+
#if !defined yyoverflow && !defined YYSTACK_RELOCATE
|
1106
|
+
YYNOMEM;
|
1107
|
+
#else
|
1026
1108
|
{
|
1027
1109
|
/* Get the current used size of the three stacks, in elements. */
|
1028
|
-
|
1110
|
+
YYPTRDIFF_T yysize = yyssp - yyss + 1;
|
1029
1111
|
|
1030
|
-
#
|
1112
|
+
# if defined yyoverflow
|
1031
1113
|
{
|
1032
|
-
|
1033
|
-
|
1034
|
-
|
1035
|
-
|
1036
|
-
|
1037
|
-
|
1038
|
-
|
1039
|
-
|
1040
|
-
|
1041
|
-
|
1042
|
-
|
1043
|
-
|
1044
|
-
|
1045
|
-
|
1046
|
-
|
1047
|
-
|
1048
|
-
|
1049
|
-
yyss = yyss1;
|
1050
|
-
yyvs = yyvs1;
|
1114
|
+
/* Give user a chance to reallocate the stack. Use copies of
|
1115
|
+
these so that the &'s don't force the real ones into
|
1116
|
+
memory. */
|
1117
|
+
yy_state_t *yyss1 = yyss;
|
1118
|
+
YYSTYPE *yyvs1 = yyvs;
|
1119
|
+
|
1120
|
+
/* Each stack pointer address is followed by the size of the
|
1121
|
+
data in use in that stack, in bytes. This used to be a
|
1122
|
+
conditional around just the two extra args, but that might
|
1123
|
+
be undefined if yyoverflow is a macro. */
|
1124
|
+
yyoverflow (YY_("memory exhausted"),
|
1125
|
+
&yyss1, yysize * YYSIZEOF (*yyssp),
|
1126
|
+
&yyvs1, yysize * YYSIZEOF (*yyvsp),
|
1127
|
+
&yystacksize);
|
1128
|
+
yyss = yyss1;
|
1129
|
+
yyvs = yyvs1;
|
1051
1130
|
}
|
1052
|
-
#else /*
|
1053
|
-
# ifndef YYSTACK_RELOCATE
|
1054
|
-
goto yyoverflowlab;
|
1055
|
-
# else
|
1131
|
+
# else /* defined YYSTACK_RELOCATE */
|
1056
1132
|
/* Extend the stack our own way. */
|
1057
1133
|
if (YYMAXDEPTH <= yystacksize)
|
1058
|
-
|
1134
|
+
YYNOMEM;
|
1059
1135
|
yystacksize *= 2;
|
1060
1136
|
if (YYMAXDEPTH < yystacksize)
|
1061
|
-
|
1137
|
+
yystacksize = YYMAXDEPTH;
|
1062
1138
|
|
1063
1139
|
{
|
1064
|
-
|
1065
|
-
|
1066
|
-
|
1067
|
-
|
1068
|
-
|
1069
|
-
|
1070
|
-
|
1071
|
-
|
1140
|
+
yy_state_t *yyss1 = yyss;
|
1141
|
+
union yyalloc *yyptr =
|
1142
|
+
YY_CAST (union yyalloc *,
|
1143
|
+
YYSTACK_ALLOC (YY_CAST (YYSIZE_T, YYSTACK_BYTES (yystacksize))));
|
1144
|
+
if (! yyptr)
|
1145
|
+
YYNOMEM;
|
1146
|
+
YYSTACK_RELOCATE (yyss_alloc, yyss);
|
1147
|
+
YYSTACK_RELOCATE (yyvs_alloc, yyvs);
|
1072
1148
|
# undef YYSTACK_RELOCATE
|
1073
|
-
|
1074
|
-
|
1149
|
+
if (yyss1 != yyssa)
|
1150
|
+
YYSTACK_FREE (yyss1);
|
1075
1151
|
}
|
1076
1152
|
# endif
|
1077
|
-
#endif /* no yyoverflow */
|
1078
1153
|
|
1079
1154
|
yyssp = yyss + yysize - 1;
|
1080
1155
|
yyvsp = yyvs + yysize - 1;
|
1081
1156
|
|
1082
|
-
|
1083
|
-
YYDPRINTF ((stderr, "Stack size increased to %
|
1084
|
-
|
1157
|
+
YY_IGNORE_USELESS_CAST_BEGIN
|
1158
|
+
YYDPRINTF ((stderr, "Stack size increased to %ld\n",
|
1159
|
+
YY_CAST (long, yystacksize)));
|
1160
|
+
YY_IGNORE_USELESS_CAST_END
|
1085
1161
|
|
1086
1162
|
if (yyss + yystacksize - 1 <= yyssp)
|
1087
|
-
|
1163
|
+
YYABORT;
|
1088
1164
|
}
|
1165
|
+
#endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */
|
1089
1166
|
|
1090
|
-
|
1167
|
+
|
1168
|
+
if (yystate == YYFINAL)
|
1169
|
+
YYACCEPT;
|
1091
1170
|
|
1092
1171
|
goto yybackup;
|
1093
1172
|
|
1173
|
+
|
1094
1174
|
/*-----------.
|
1095
1175
|
| yybackup. |
|
1096
1176
|
`-----------*/
|
1097
1177
|
yybackup:
|
1098
|
-
|
1099
|
-
|
1100
|
-
/* Read a lookahead token if we need one and don't already have one. */
|
1101
|
-
/* yyresume: */
|
1178
|
+
/* Do appropriate processing given the current state. Read a
|
1179
|
+
lookahead token if we need one and don't already have one. */
|
1102
1180
|
|
1103
1181
|
/* First try to decide what to do without reference to lookahead token. */
|
1104
|
-
|
1105
1182
|
yyn = yypact[yystate];
|
1106
|
-
if (yyn
|
1183
|
+
if (yypact_value_is_default (yyn))
|
1107
1184
|
goto yydefault;
|
1108
1185
|
|
1109
1186
|
/* Not known => get a lookahead token if don't already have one. */
|
1110
1187
|
|
1111
|
-
/* YYCHAR is either
|
1188
|
+
/* YYCHAR is either empty, or end-of-input, or a valid lookahead. */
|
1112
1189
|
if (yychar == YYEMPTY)
|
1113
1190
|
{
|
1114
|
-
YYDPRINTF ((stderr, "Reading a token
|
1115
|
-
yychar =
|
1191
|
+
YYDPRINTF ((stderr, "Reading a token\n"));
|
1192
|
+
yychar = yylex (&yylval);
|
1116
1193
|
}
|
1117
1194
|
|
1118
1195
|
if (yychar <= YYEOF)
|
1119
1196
|
{
|
1120
|
-
yychar =
|
1197
|
+
yychar = YYEOF;
|
1198
|
+
yytoken = YYSYMBOL_YYEOF;
|
1121
1199
|
YYDPRINTF ((stderr, "Now at end of input.\n"));
|
1122
1200
|
}
|
1201
|
+
else if (yychar == YYerror)
|
1202
|
+
{
|
1203
|
+
/* The scanner already issued an error message, process directly
|
1204
|
+
to error recovery. But do not keep the error token as
|
1205
|
+
lookahead, it is too special and may lead us to an endless
|
1206
|
+
loop in error recovery. */
|
1207
|
+
yychar = YYUNDEF;
|
1208
|
+
yytoken = YYSYMBOL_YYerror;
|
1209
|
+
goto yyerrlab1;
|
1210
|
+
}
|
1123
1211
|
else
|
1124
1212
|
{
|
1125
1213
|
yytoken = YYTRANSLATE (yychar);
|
1126
|
-
|
1214
|
+
YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
|
1127
1215
|
}
|
1128
1216
|
|
1129
1217
|
/* If the proper action on seeing token YYTOKEN is to reduce or to
|
@@ -1134,31 +1222,26 @@ yybackup:
|
|
1134
1222
|
yyn = yytable[yyn];
|
1135
1223
|
if (yyn <= 0)
|
1136
1224
|
{
|
1137
|
-
if (
|
1138
|
-
|
1225
|
+
if (yytable_value_is_error (yyn))
|
1226
|
+
goto yyerrlab;
|
1139
1227
|
yyn = -yyn;
|
1140
1228
|
goto yyreduce;
|
1141
1229
|
}
|
1142
1230
|
|
1143
|
-
if (yyn == YYFINAL)
|
1144
|
-
YYACCEPT;
|
1145
|
-
|
1146
|
-
/* Shift the lookahead token. */
|
1147
|
-
YYDPRINTF ((stderr, "Shifting token %s, ", yytname[yytoken]));
|
1148
|
-
|
1149
|
-
/* Discard the token being shifted unless it is eof. */
|
1150
|
-
if (yychar != YYEOF)
|
1151
|
-
yychar = YYEMPTY;
|
1152
|
-
|
1153
|
-
*++yyvsp = yylval;
|
1154
|
-
|
1155
|
-
|
1156
1231
|
/* Count tokens shifted since error; after three, turn off error
|
1157
1232
|
status. */
|
1158
1233
|
if (yyerrstatus)
|
1159
1234
|
yyerrstatus--;
|
1160
1235
|
|
1236
|
+
/* Shift the lookahead token. */
|
1237
|
+
YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
|
1161
1238
|
yystate = yyn;
|
1239
|
+
YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
|
1240
|
+
*++yyvsp = yylval;
|
1241
|
+
YY_IGNORE_MAYBE_UNINITIALIZED_END
|
1242
|
+
|
1243
|
+
/* Discard the shifted token. */
|
1244
|
+
yychar = YYEMPTY;
|
1162
1245
|
goto yynewstate;
|
1163
1246
|
|
1164
1247
|
|
@@ -1173,14 +1256,14 @@ yydefault:
|
|
1173
1256
|
|
1174
1257
|
|
1175
1258
|
/*-----------------------------.
|
1176
|
-
| yyreduce --
|
1259
|
+
| yyreduce -- do a reduction. |
|
1177
1260
|
`-----------------------------*/
|
1178
1261
|
yyreduce:
|
1179
1262
|
/* yyn is the number of a rule to reduce with. */
|
1180
1263
|
yylen = yyr2[yyn];
|
1181
1264
|
|
1182
1265
|
/* If YYLEN is nonzero, implement the default value of the action:
|
1183
|
-
|
1266
|
+
'$$ = $1'.
|
1184
1267
|
|
1185
1268
|
Otherwise, the following line sets YYVAL to garbage.
|
1186
1269
|
This behavior is undocumented and Bison
|
@@ -1193,165 +1276,183 @@ yyreduce:
|
|
1193
1276
|
YY_REDUCE_PRINT (yyn);
|
1194
1277
|
switch (yyn)
|
1195
1278
|
{
|
1196
|
-
|
1197
|
-
#line
|
1198
|
-
|
1199
|
-
((SyckParser *)parser)->root = syck_hdlr_add_node( (SyckParser *)parser, yyvsp[0].nodeData );
|
1279
|
+
case 2: /* doc: atom */
|
1280
|
+
#line 58 "gram.y"
|
1281
|
+
{
|
1282
|
+
((SyckParser *)parser)->root = syck_hdlr_add_node( (SyckParser *)parser, (yyvsp[0].nodeData) );
|
1200
1283
|
}
|
1284
|
+
#line 1285 "gram.c"
|
1201
1285
|
break;
|
1202
1286
|
|
1203
|
-
case 3:
|
1204
|
-
#line
|
1205
|
-
|
1206
|
-
((SyckParser *)parser)->root = syck_hdlr_add_node( (SyckParser *)parser, yyvsp[0].nodeData );
|
1287
|
+
case 3: /* doc: YAML_DOCSEP atom_or_empty */
|
1288
|
+
#line 62 "gram.y"
|
1289
|
+
{
|
1290
|
+
((SyckParser *)parser)->root = syck_hdlr_add_node( (SyckParser *)parser, (yyvsp[0].nodeData) );
|
1207
1291
|
}
|
1292
|
+
#line 1293 "gram.c"
|
1208
1293
|
break;
|
1209
1294
|
|
1210
|
-
case 4:
|
1211
|
-
#line
|
1212
|
-
|
1295
|
+
case 4: /* doc: %empty */
|
1296
|
+
#line 66 "gram.y"
|
1297
|
+
{
|
1213
1298
|
((SyckParser *)parser)->eof = 1;
|
1214
1299
|
}
|
1300
|
+
#line 1301 "gram.c"
|
1215
1301
|
break;
|
1216
1302
|
|
1217
|
-
case 8:
|
1218
|
-
#line
|
1219
|
-
|
1220
|
-
syck_add_transfer( yyvsp[-1].name, yyvsp[0].nodeData, ((SyckParser *)parser)->taguri_expansion );
|
1221
|
-
yyval.nodeData = yyvsp[0].nodeData;
|
1303
|
+
case 8: /* ind_rep: YAML_TRANSFER ind_rep */
|
1304
|
+
#line 77 "gram.y"
|
1305
|
+
{
|
1306
|
+
syck_add_transfer( (yyvsp[-1].name), (yyvsp[0].nodeData), ((SyckParser *)parser)->taguri_expansion );
|
1307
|
+
(yyval.nodeData) = (yyvsp[0].nodeData);
|
1222
1308
|
}
|
1309
|
+
#line 1310 "gram.c"
|
1223
1310
|
break;
|
1224
1311
|
|
1225
|
-
case 9:
|
1226
|
-
#line
|
1227
|
-
|
1228
|
-
syck_add_transfer( yyvsp[-1].name, yyvsp[0].nodeData, 0 );
|
1229
|
-
yyval.nodeData = yyvsp[0].nodeData;
|
1312
|
+
case 9: /* ind_rep: YAML_TAGURI ind_rep */
|
1313
|
+
#line 82 "gram.y"
|
1314
|
+
{
|
1315
|
+
syck_add_transfer( (yyvsp[-1].name), (yyvsp[0].nodeData), 0 );
|
1316
|
+
(yyval.nodeData) = (yyvsp[0].nodeData);
|
1230
1317
|
}
|
1318
|
+
#line 1319 "gram.c"
|
1231
1319
|
break;
|
1232
1320
|
|
1233
|
-
case 10:
|
1234
|
-
#line
|
1235
|
-
|
1321
|
+
case 10: /* ind_rep: YAML_ANCHOR ind_rep */
|
1322
|
+
#line 87 "gram.y"
|
1323
|
+
{
|
1236
1324
|
/*
|
1237
1325
|
* _Anchors_: The language binding must keep a separate symbol table
|
1238
1326
|
* for anchors. The actual ID in the symbol table is returned to the
|
1239
1327
|
* higher nodes, though.
|
1240
1328
|
*/
|
1241
|
-
yyval.nodeData = syck_hdlr_add_anchor( (SyckParser *)parser, yyvsp[-1].name, yyvsp[0].nodeData );
|
1329
|
+
(yyval.nodeData) = syck_hdlr_add_anchor( (SyckParser *)parser, (yyvsp[-1].name), (yyvsp[0].nodeData) );
|
1242
1330
|
}
|
1331
|
+
#line 1332 "gram.c"
|
1243
1332
|
break;
|
1244
1333
|
|
1245
|
-
case 11:
|
1246
|
-
#line
|
1247
|
-
|
1248
|
-
yyval.nodeData = yyvsp[-1].nodeData;
|
1334
|
+
case 11: /* ind_rep: indent_open ind_rep indent_flex_end */
|
1335
|
+
#line 96 "gram.y"
|
1336
|
+
{
|
1337
|
+
(yyval.nodeData) = (yyvsp[-1].nodeData);
|
1249
1338
|
}
|
1339
|
+
#line 1340 "gram.c"
|
1250
1340
|
break;
|
1251
1341
|
|
1252
|
-
case 14:
|
1253
|
-
#line
|
1254
|
-
|
1255
|
-
yyval.nodeData = yyvsp[-1].nodeData;
|
1342
|
+
case 14: /* empty: indent_open empty indent_end */
|
1343
|
+
#line 106 "gram.y"
|
1344
|
+
{
|
1345
|
+
(yyval.nodeData) = (yyvsp[-1].nodeData);
|
1256
1346
|
}
|
1347
|
+
#line 1348 "gram.c"
|
1257
1348
|
break;
|
1258
1349
|
|
1259
|
-
case 15:
|
1260
|
-
#line
|
1261
|
-
|
1350
|
+
case 15: /* empty: %empty */
|
1351
|
+
#line 110 "gram.y"
|
1352
|
+
{
|
1262
1353
|
NULL_NODE( parser, n );
|
1263
|
-
yyval.nodeData = n;
|
1354
|
+
(yyval.nodeData) = n;
|
1264
1355
|
}
|
1356
|
+
#line 1357 "gram.c"
|
1265
1357
|
break;
|
1266
1358
|
|
1267
|
-
case 16:
|
1268
|
-
#line
|
1269
|
-
|
1359
|
+
case 16: /* empty: YAML_ITRANSFER empty */
|
1360
|
+
#line 115 "gram.y"
|
1361
|
+
{
|
1270
1362
|
if ( ((SyckParser *)parser)->implicit_typing == 1 )
|
1271
1363
|
{
|
1272
|
-
try_tag_implicit( yyvsp[0].nodeData, ((SyckParser *)parser)->taguri_expansion );
|
1364
|
+
try_tag_implicit( (yyvsp[0].nodeData), ((SyckParser *)parser)->taguri_expansion );
|
1273
1365
|
}
|
1274
|
-
yyval.nodeData = yyvsp[0].nodeData;
|
1366
|
+
(yyval.nodeData) = (yyvsp[0].nodeData);
|
1275
1367
|
}
|
1368
|
+
#line 1369 "gram.c"
|
1276
1369
|
break;
|
1277
1370
|
|
1278
|
-
case 17:
|
1279
|
-
#line
|
1280
|
-
|
1281
|
-
syck_add_transfer( yyvsp[-1].name, yyvsp[0].nodeData, ((SyckParser *)parser)->taguri_expansion );
|
1282
|
-
yyval.nodeData = yyvsp[0].nodeData;
|
1371
|
+
case 17: /* empty: YAML_TRANSFER empty */
|
1372
|
+
#line 123 "gram.y"
|
1373
|
+
{
|
1374
|
+
syck_add_transfer( (yyvsp[-1].name), (yyvsp[0].nodeData), ((SyckParser *)parser)->taguri_expansion );
|
1375
|
+
(yyval.nodeData) = (yyvsp[0].nodeData);
|
1283
1376
|
}
|
1377
|
+
#line 1378 "gram.c"
|
1284
1378
|
break;
|
1285
1379
|
|
1286
|
-
case 18:
|
1287
|
-
#line
|
1288
|
-
|
1289
|
-
syck_add_transfer( yyvsp[-1].name, yyvsp[0].nodeData, 0 );
|
1290
|
-
yyval.nodeData = yyvsp[0].nodeData;
|
1380
|
+
case 18: /* empty: YAML_TAGURI empty */
|
1381
|
+
#line 128 "gram.y"
|
1382
|
+
{
|
1383
|
+
syck_add_transfer( (yyvsp[-1].name), (yyvsp[0].nodeData), 0 );
|
1384
|
+
(yyval.nodeData) = (yyvsp[0].nodeData);
|
1291
1385
|
}
|
1386
|
+
#line 1387 "gram.c"
|
1292
1387
|
break;
|
1293
1388
|
|
1294
|
-
case 19:
|
1295
|
-
#line
|
1296
|
-
|
1389
|
+
case 19: /* empty: YAML_ANCHOR empty */
|
1390
|
+
#line 133 "gram.y"
|
1391
|
+
{
|
1297
1392
|
/*
|
1298
1393
|
* _Anchors_: The language binding must keep a separate symbol table
|
1299
1394
|
* for anchors. The actual ID in the symbol table is returned to the
|
1300
1395
|
* higher nodes, though.
|
1301
1396
|
*/
|
1302
|
-
yyval.nodeData = syck_hdlr_add_anchor( (SyckParser *)parser, yyvsp[-1].name, yyvsp[0].nodeData );
|
1397
|
+
(yyval.nodeData) = syck_hdlr_add_anchor( (SyckParser *)parser, (yyvsp[-1].name), (yyvsp[0].nodeData) );
|
1303
1398
|
}
|
1399
|
+
#line 1400 "gram.c"
|
1304
1400
|
break;
|
1305
1401
|
|
1306
|
-
case 26:
|
1307
|
-
#line
|
1308
|
-
|
1309
|
-
syck_add_transfer( yyvsp[-1].name, yyvsp[0].nodeData, ((SyckParser *)parser)->taguri_expansion );
|
1310
|
-
yyval.nodeData = yyvsp[0].nodeData;
|
1402
|
+
case 26: /* word_rep: YAML_TRANSFER word_rep */
|
1403
|
+
#line 166 "gram.y"
|
1404
|
+
{
|
1405
|
+
syck_add_transfer( (yyvsp[-1].name), (yyvsp[0].nodeData), ((SyckParser *)parser)->taguri_expansion );
|
1406
|
+
(yyval.nodeData) = (yyvsp[0].nodeData);
|
1311
1407
|
}
|
1408
|
+
#line 1409 "gram.c"
|
1312
1409
|
break;
|
1313
1410
|
|
1314
|
-
case 27:
|
1315
|
-
#line
|
1316
|
-
|
1317
|
-
syck_add_transfer( yyvsp[-1].name, yyvsp[0].nodeData, 0 );
|
1318
|
-
yyval.nodeData = yyvsp[0].nodeData;
|
1411
|
+
case 27: /* word_rep: YAML_TAGURI word_rep */
|
1412
|
+
#line 171 "gram.y"
|
1413
|
+
{
|
1414
|
+
syck_add_transfer( (yyvsp[-1].name), (yyvsp[0].nodeData), 0 );
|
1415
|
+
(yyval.nodeData) = (yyvsp[0].nodeData);
|
1319
1416
|
}
|
1417
|
+
#line 1418 "gram.c"
|
1320
1418
|
break;
|
1321
1419
|
|
1322
|
-
case 28:
|
1323
|
-
#line
|
1324
|
-
|
1420
|
+
case 28: /* word_rep: YAML_ITRANSFER word_rep */
|
1421
|
+
#line 176 "gram.y"
|
1422
|
+
{
|
1325
1423
|
if ( ((SyckParser *)parser)->implicit_typing == 1 )
|
1326
1424
|
{
|
1327
|
-
try_tag_implicit( yyvsp[0].nodeData, ((SyckParser *)parser)->taguri_expansion );
|
1425
|
+
try_tag_implicit( (yyvsp[0].nodeData), ((SyckParser *)parser)->taguri_expansion );
|
1328
1426
|
}
|
1329
|
-
yyval.nodeData = yyvsp[0].nodeData;
|
1427
|
+
(yyval.nodeData) = (yyvsp[0].nodeData);
|
1330
1428
|
}
|
1429
|
+
#line 1430 "gram.c"
|
1331
1430
|
break;
|
1332
1431
|
|
1333
|
-
case 29:
|
1334
|
-
#line
|
1335
|
-
|
1336
|
-
yyval.nodeData = syck_hdlr_add_anchor( (SyckParser *)parser, yyvsp[-1].name, yyvsp[0].nodeData );
|
1432
|
+
case 29: /* word_rep: YAML_ANCHOR word_rep */
|
1433
|
+
#line 184 "gram.y"
|
1434
|
+
{
|
1435
|
+
(yyval.nodeData) = syck_hdlr_add_anchor( (SyckParser *)parser, (yyvsp[-1].name), (yyvsp[0].nodeData) );
|
1337
1436
|
}
|
1437
|
+
#line 1438 "gram.c"
|
1338
1438
|
break;
|
1339
1439
|
|
1340
|
-
case 30:
|
1341
|
-
#line
|
1342
|
-
|
1440
|
+
case 30: /* word_rep: YAML_ALIAS */
|
1441
|
+
#line 188 "gram.y"
|
1442
|
+
{
|
1343
1443
|
/*
|
1344
1444
|
* _Aliases_: The anchor symbol table is scanned for the anchor name.
|
1345
1445
|
* The anchor's ID in the language's symbol table is returned.
|
1346
1446
|
*/
|
1347
|
-
yyval.nodeData = syck_hdlr_get_anchor( (SyckParser *)parser, yyvsp[0].name );
|
1447
|
+
(yyval.nodeData) = syck_hdlr_get_anchor( (SyckParser *)parser, (yyvsp[0].name) );
|
1348
1448
|
}
|
1449
|
+
#line 1450 "gram.c"
|
1349
1450
|
break;
|
1350
1451
|
|
1351
|
-
case 31:
|
1352
|
-
#line
|
1353
|
-
|
1354
|
-
SyckNode *n = yyvsp[0].nodeData;
|
1452
|
+
case 31: /* word_rep: YAML_WORD */
|
1453
|
+
#line 196 "gram.y"
|
1454
|
+
{
|
1455
|
+
SyckNode *n = (yyvsp[0].nodeData);
|
1355
1456
|
if ( ((SyckParser *)parser)->taguri_expansion == 1 )
|
1356
1457
|
{
|
1357
1458
|
n->type_id = syck_taguri( YAML_DOMAIN, "str", 3 );
|
@@ -1360,417 +1461,393 @@ yyreduce:
|
|
1360
1461
|
{
|
1361
1462
|
n->type_id = syck_strndup( "str", 3 );
|
1362
1463
|
}
|
1363
|
-
yyval.nodeData = n;
|
1464
|
+
(yyval.nodeData) = n;
|
1364
1465
|
}
|
1466
|
+
#line 1467 "gram.c"
|
1365
1467
|
break;
|
1366
1468
|
|
1367
|
-
case 33:
|
1368
|
-
#line
|
1369
|
-
|
1370
|
-
yyval.nodeData = yyvsp[-1].nodeData;
|
1469
|
+
case 33: /* word_rep: indent_open word_rep indent_flex_end */
|
1470
|
+
#line 210 "gram.y"
|
1471
|
+
{
|
1472
|
+
(yyval.nodeData) = (yyvsp[-1].nodeData);
|
1371
1473
|
}
|
1474
|
+
#line 1475 "gram.c"
|
1372
1475
|
break;
|
1373
1476
|
|
1374
|
-
case 39:
|
1375
|
-
#line
|
1376
|
-
|
1377
|
-
yyval.nodeData = yyvsp[-1].nodeData;
|
1477
|
+
case 39: /* implicit_seq: indent_open top_imp_seq indent_end */
|
1478
|
+
#line 230 "gram.y"
|
1479
|
+
{
|
1480
|
+
(yyval.nodeData) = (yyvsp[-1].nodeData);
|
1378
1481
|
}
|
1482
|
+
#line 1483 "gram.c"
|
1379
1483
|
break;
|
1380
1484
|
|
1381
|
-
case 40:
|
1382
|
-
#line
|
1383
|
-
|
1384
|
-
yyval.nodeData = yyvsp[-1].nodeData;
|
1485
|
+
case 40: /* implicit_seq: indent_open in_implicit_seq indent_end */
|
1486
|
+
#line 234 "gram.y"
|
1487
|
+
{
|
1488
|
+
(yyval.nodeData) = (yyvsp[-1].nodeData);
|
1385
1489
|
}
|
1490
|
+
#line 1491 "gram.c"
|
1386
1491
|
break;
|
1387
1492
|
|
1388
|
-
case 41:
|
1389
|
-
#line
|
1390
|
-
|
1391
|
-
yyval.nodeId = syck_hdlr_add_node( (SyckParser *)parser, yyvsp[0].nodeData );
|
1493
|
+
case 41: /* basic_seq: '-' atom_or_empty */
|
1494
|
+
#line 240 "gram.y"
|
1495
|
+
{
|
1496
|
+
(yyval.nodeId) = syck_hdlr_add_node( (SyckParser *)parser, (yyvsp[0].nodeData) );
|
1392
1497
|
}
|
1498
|
+
#line 1499 "gram.c"
|
1393
1499
|
break;
|
1394
1500
|
|
1395
|
-
case 42:
|
1396
|
-
#line
|
1397
|
-
|
1398
|
-
syck_add_transfer( yyvsp[-2].name, yyvsp[0].nodeData, ((SyckParser *)parser)->taguri_expansion );
|
1399
|
-
yyval.nodeData = yyvsp[0].nodeData;
|
1501
|
+
case 42: /* top_imp_seq: YAML_TRANSFER indent_sep in_implicit_seq */
|
1502
|
+
#line 246 "gram.y"
|
1503
|
+
{
|
1504
|
+
syck_add_transfer( (yyvsp[-2].name), (yyvsp[0].nodeData), ((SyckParser *)parser)->taguri_expansion );
|
1505
|
+
(yyval.nodeData) = (yyvsp[0].nodeData);
|
1400
1506
|
}
|
1507
|
+
#line 1508 "gram.c"
|
1401
1508
|
break;
|
1402
1509
|
|
1403
|
-
case 43:
|
1404
|
-
#line
|
1405
|
-
|
1406
|
-
syck_add_transfer( yyvsp[-1].name, yyvsp[0].nodeData, ((SyckParser *)parser)->taguri_expansion );
|
1407
|
-
yyval.nodeData = yyvsp[0].nodeData;
|
1510
|
+
case 43: /* top_imp_seq: YAML_TRANSFER top_imp_seq */
|
1511
|
+
#line 251 "gram.y"
|
1512
|
+
{
|
1513
|
+
syck_add_transfer( (yyvsp[-1].name), (yyvsp[0].nodeData), ((SyckParser *)parser)->taguri_expansion );
|
1514
|
+
(yyval.nodeData) = (yyvsp[0].nodeData);
|
1408
1515
|
}
|
1516
|
+
#line 1517 "gram.c"
|
1409
1517
|
break;
|
1410
1518
|
|
1411
|
-
case 44:
|
1412
|
-
#line
|
1413
|
-
|
1414
|
-
syck_add_transfer( yyvsp[-2].name, yyvsp[0].nodeData, 0 );
|
1415
|
-
yyval.nodeData = yyvsp[0].nodeData;
|
1519
|
+
case 44: /* top_imp_seq: YAML_TAGURI indent_sep in_implicit_seq */
|
1520
|
+
#line 256 "gram.y"
|
1521
|
+
{
|
1522
|
+
syck_add_transfer( (yyvsp[-2].name), (yyvsp[0].nodeData), 0 );
|
1523
|
+
(yyval.nodeData) = (yyvsp[0].nodeData);
|
1416
1524
|
}
|
1525
|
+
#line 1526 "gram.c"
|
1417
1526
|
break;
|
1418
1527
|
|
1419
|
-
case 45:
|
1420
|
-
#line
|
1421
|
-
|
1422
|
-
syck_add_transfer( yyvsp[-1].name, yyvsp[0].nodeData, 0 );
|
1423
|
-
yyval.nodeData = yyvsp[0].nodeData;
|
1528
|
+
case 45: /* top_imp_seq: YAML_TAGURI top_imp_seq */
|
1529
|
+
#line 261 "gram.y"
|
1530
|
+
{
|
1531
|
+
syck_add_transfer( (yyvsp[-1].name), (yyvsp[0].nodeData), 0 );
|
1532
|
+
(yyval.nodeData) = (yyvsp[0].nodeData);
|
1424
1533
|
}
|
1534
|
+
#line 1535 "gram.c"
|
1425
1535
|
break;
|
1426
1536
|
|
1427
|
-
case 46:
|
1428
|
-
#line
|
1429
|
-
|
1430
|
-
yyval.nodeData = syck_hdlr_add_anchor( (SyckParser *)parser, yyvsp[-2].name, yyvsp[0].nodeData );
|
1537
|
+
case 46: /* top_imp_seq: YAML_ANCHOR indent_sep in_implicit_seq */
|
1538
|
+
#line 266 "gram.y"
|
1539
|
+
{
|
1540
|
+
(yyval.nodeData) = syck_hdlr_add_anchor( (SyckParser *)parser, (yyvsp[-2].name), (yyvsp[0].nodeData) );
|
1431
1541
|
}
|
1542
|
+
#line 1543 "gram.c"
|
1432
1543
|
break;
|
1433
1544
|
|
1434
|
-
case 47:
|
1435
|
-
#line
|
1436
|
-
|
1437
|
-
yyval.nodeData = syck_hdlr_add_anchor( (SyckParser *)parser, yyvsp[-1].name, yyvsp[0].nodeData );
|
1545
|
+
case 47: /* top_imp_seq: YAML_ANCHOR top_imp_seq */
|
1546
|
+
#line 270 "gram.y"
|
1547
|
+
{
|
1548
|
+
(yyval.nodeData) = syck_hdlr_add_anchor( (SyckParser *)parser, (yyvsp[-1].name), (yyvsp[0].nodeData) );
|
1438
1549
|
}
|
1550
|
+
#line 1551 "gram.c"
|
1439
1551
|
break;
|
1440
1552
|
|
1441
|
-
case 48:
|
1442
|
-
#line
|
1443
|
-
|
1444
|
-
yyval.nodeData = syck_new_seq( yyvsp[0].nodeId );
|
1553
|
+
case 48: /* in_implicit_seq: basic_seq */
|
1554
|
+
#line 276 "gram.y"
|
1555
|
+
{
|
1556
|
+
(yyval.nodeData) = syck_new_seq( (yyvsp[0].nodeId) );
|
1445
1557
|
}
|
1558
|
+
#line 1559 "gram.c"
|
1446
1559
|
break;
|
1447
1560
|
|
1448
|
-
case 49:
|
1449
|
-
#line
|
1450
|
-
|
1451
|
-
syck_seq_add( yyvsp[-2].nodeData, yyvsp[0].nodeId );
|
1452
|
-
yyval.nodeData = yyvsp[-2].nodeData;
|
1561
|
+
case 49: /* in_implicit_seq: in_implicit_seq indent_sep basic_seq */
|
1562
|
+
#line 280 "gram.y"
|
1563
|
+
{
|
1564
|
+
syck_seq_add( (yyvsp[-2].nodeData), (yyvsp[0].nodeId) );
|
1565
|
+
(yyval.nodeData) = (yyvsp[-2].nodeData);
|
1453
1566
|
}
|
1567
|
+
#line 1568 "gram.c"
|
1454
1568
|
break;
|
1455
1569
|
|
1456
|
-
case 50:
|
1457
|
-
#line
|
1458
|
-
|
1459
|
-
yyval.nodeData = yyvsp[-1].nodeData;
|
1570
|
+
case 50: /* in_implicit_seq: in_implicit_seq indent_sep */
|
1571
|
+
#line 285 "gram.y"
|
1572
|
+
{
|
1573
|
+
(yyval.nodeData) = (yyvsp[-1].nodeData);
|
1460
1574
|
}
|
1575
|
+
#line 1576 "gram.c"
|
1461
1576
|
break;
|
1462
1577
|
|
1463
|
-
case 51:
|
1464
|
-
#line
|
1465
|
-
|
1466
|
-
yyval.nodeData = yyvsp[-1].nodeData;
|
1578
|
+
case 51: /* inline_seq: '[' in_inline_seq ']' */
|
1579
|
+
#line 294 "gram.y"
|
1580
|
+
{
|
1581
|
+
(yyval.nodeData) = (yyvsp[-1].nodeData);
|
1467
1582
|
}
|
1583
|
+
#line 1584 "gram.c"
|
1468
1584
|
break;
|
1469
1585
|
|
1470
|
-
case 52:
|
1471
|
-
#line
|
1472
|
-
|
1473
|
-
yyval.nodeData = syck_alloc_seq();
|
1586
|
+
case 52: /* inline_seq: '[' ']' */
|
1587
|
+
#line 298 "gram.y"
|
1588
|
+
{
|
1589
|
+
(yyval.nodeData) = syck_alloc_seq();
|
1474
1590
|
}
|
1591
|
+
#line 1592 "gram.c"
|
1475
1592
|
break;
|
1476
1593
|
|
1477
|
-
case 53:
|
1478
|
-
#line
|
1479
|
-
|
1480
|
-
yyval.nodeData = syck_new_seq( syck_hdlr_add_node( (SyckParser *)parser, yyvsp[0].nodeData ) );
|
1594
|
+
case 53: /* in_inline_seq: inline_seq_atom */
|
1595
|
+
#line 304 "gram.y"
|
1596
|
+
{
|
1597
|
+
(yyval.nodeData) = syck_new_seq( syck_hdlr_add_node( (SyckParser *)parser, (yyvsp[0].nodeData) ) );
|
1481
1598
|
}
|
1599
|
+
#line 1600 "gram.c"
|
1482
1600
|
break;
|
1483
1601
|
|
1484
|
-
case 54:
|
1485
|
-
#line
|
1486
|
-
|
1487
|
-
syck_seq_add( yyvsp[-2].nodeData, syck_hdlr_add_node( (SyckParser *)parser, yyvsp[0].nodeData ) );
|
1488
|
-
yyval.nodeData = yyvsp[-2].nodeData;
|
1602
|
+
case 54: /* in_inline_seq: in_inline_seq ',' inline_seq_atom */
|
1603
|
+
#line 308 "gram.y"
|
1604
|
+
{
|
1605
|
+
syck_seq_add( (yyvsp[-2].nodeData), syck_hdlr_add_node( (SyckParser *)parser, (yyvsp[0].nodeData) ) );
|
1606
|
+
(yyval.nodeData) = (yyvsp[-2].nodeData);
|
1489
1607
|
}
|
1608
|
+
#line 1609 "gram.c"
|
1490
1609
|
break;
|
1491
1610
|
|
1492
|
-
case 57:
|
1493
|
-
#line
|
1494
|
-
|
1495
|
-
apply_seq_in_map( (SyckParser *)parser, yyvsp[-1].nodeData );
|
1496
|
-
yyval.nodeData = yyvsp[-1].nodeData;
|
1611
|
+
case 57: /* implicit_map: indent_open top_imp_map indent_end */
|
1612
|
+
#line 322 "gram.y"
|
1613
|
+
{
|
1614
|
+
apply_seq_in_map( (SyckParser *)parser, (yyvsp[-1].nodeData) );
|
1615
|
+
(yyval.nodeData) = (yyvsp[-1].nodeData);
|
1497
1616
|
}
|
1617
|
+
#line 1618 "gram.c"
|
1498
1618
|
break;
|
1499
1619
|
|
1500
|
-
case 58:
|
1501
|
-
#line
|
1502
|
-
|
1503
|
-
apply_seq_in_map( (SyckParser *)parser, yyvsp[-1].nodeData );
|
1504
|
-
yyval.nodeData = yyvsp[-1].nodeData;
|
1620
|
+
case 58: /* implicit_map: indent_open in_implicit_map indent_end */
|
1621
|
+
#line 327 "gram.y"
|
1622
|
+
{
|
1623
|
+
apply_seq_in_map( (SyckParser *)parser, (yyvsp[-1].nodeData) );
|
1624
|
+
(yyval.nodeData) = (yyvsp[-1].nodeData);
|
1505
1625
|
}
|
1626
|
+
#line 1627 "gram.c"
|
1506
1627
|
break;
|
1507
1628
|
|
1508
|
-
case 59:
|
1509
|
-
#line
|
1510
|
-
|
1511
|
-
syck_add_transfer( yyvsp[-2].name, yyvsp[0].nodeData, ((SyckParser *)parser)->taguri_expansion );
|
1512
|
-
yyval.nodeData = yyvsp[0].nodeData;
|
1629
|
+
case 59: /* top_imp_map: YAML_TRANSFER indent_sep in_implicit_map */
|
1630
|
+
#line 334 "gram.y"
|
1631
|
+
{
|
1632
|
+
syck_add_transfer( (yyvsp[-2].name), (yyvsp[0].nodeData), ((SyckParser *)parser)->taguri_expansion );
|
1633
|
+
(yyval.nodeData) = (yyvsp[0].nodeData);
|
1513
1634
|
}
|
1635
|
+
#line 1636 "gram.c"
|
1514
1636
|
break;
|
1515
1637
|
|
1516
|
-
case 60:
|
1517
|
-
#line
|
1518
|
-
|
1519
|
-
syck_add_transfer( yyvsp[-1].name, yyvsp[0].nodeData, ((SyckParser *)parser)->taguri_expansion );
|
1520
|
-
yyval.nodeData = yyvsp[0].nodeData;
|
1638
|
+
case 60: /* top_imp_map: YAML_TRANSFER top_imp_map */
|
1639
|
+
#line 339 "gram.y"
|
1640
|
+
{
|
1641
|
+
syck_add_transfer( (yyvsp[-1].name), (yyvsp[0].nodeData), ((SyckParser *)parser)->taguri_expansion );
|
1642
|
+
(yyval.nodeData) = (yyvsp[0].nodeData);
|
1521
1643
|
}
|
1644
|
+
#line 1645 "gram.c"
|
1522
1645
|
break;
|
1523
1646
|
|
1524
|
-
case 61:
|
1525
|
-
#line
|
1526
|
-
|
1527
|
-
syck_add_transfer( yyvsp[-2].name, yyvsp[0].nodeData, 0 );
|
1528
|
-
yyval.nodeData = yyvsp[0].nodeData;
|
1647
|
+
case 61: /* top_imp_map: YAML_TAGURI indent_sep in_implicit_map */
|
1648
|
+
#line 344 "gram.y"
|
1649
|
+
{
|
1650
|
+
syck_add_transfer( (yyvsp[-2].name), (yyvsp[0].nodeData), 0 );
|
1651
|
+
(yyval.nodeData) = (yyvsp[0].nodeData);
|
1529
1652
|
}
|
1653
|
+
#line 1654 "gram.c"
|
1530
1654
|
break;
|
1531
1655
|
|
1532
|
-
case 62:
|
1533
|
-
#line
|
1534
|
-
|
1535
|
-
syck_add_transfer( yyvsp[-1].name, yyvsp[0].nodeData, 0 );
|
1536
|
-
yyval.nodeData = yyvsp[0].nodeData;
|
1656
|
+
case 62: /* top_imp_map: YAML_TAGURI top_imp_map */
|
1657
|
+
#line 349 "gram.y"
|
1658
|
+
{
|
1659
|
+
syck_add_transfer( (yyvsp[-1].name), (yyvsp[0].nodeData), 0 );
|
1660
|
+
(yyval.nodeData) = (yyvsp[0].nodeData);
|
1537
1661
|
}
|
1662
|
+
#line 1663 "gram.c"
|
1538
1663
|
break;
|
1539
1664
|
|
1540
|
-
case 63:
|
1541
|
-
#line
|
1542
|
-
|
1543
|
-
yyval.nodeData = syck_hdlr_add_anchor( (SyckParser *)parser, yyvsp[-2].name, yyvsp[0].nodeData );
|
1665
|
+
case 63: /* top_imp_map: YAML_ANCHOR indent_sep in_implicit_map */
|
1666
|
+
#line 354 "gram.y"
|
1667
|
+
{
|
1668
|
+
(yyval.nodeData) = syck_hdlr_add_anchor( (SyckParser *)parser, (yyvsp[-2].name), (yyvsp[0].nodeData) );
|
1544
1669
|
}
|
1670
|
+
#line 1671 "gram.c"
|
1545
1671
|
break;
|
1546
1672
|
|
1547
|
-
case 64:
|
1548
|
-
#line
|
1549
|
-
|
1550
|
-
yyval.nodeData = syck_hdlr_add_anchor( (SyckParser *)parser, yyvsp[-1].name, yyvsp[0].nodeData );
|
1673
|
+
case 64: /* top_imp_map: YAML_ANCHOR top_imp_map */
|
1674
|
+
#line 358 "gram.y"
|
1675
|
+
{
|
1676
|
+
(yyval.nodeData) = syck_hdlr_add_anchor( (SyckParser *)parser, (yyvsp[-1].name), (yyvsp[0].nodeData) );
|
1551
1677
|
}
|
1678
|
+
#line 1679 "gram.c"
|
1552
1679
|
break;
|
1553
1680
|
|
1554
|
-
case 66:
|
1555
|
-
#line
|
1556
|
-
|
1557
|
-
yyval.nodeData = yyvsp[-1].nodeData;
|
1681
|
+
case 66: /* complex_key: '?' atom indent_sep */
|
1682
|
+
#line 365 "gram.y"
|
1683
|
+
{
|
1684
|
+
(yyval.nodeData) = (yyvsp[-1].nodeData);
|
1558
1685
|
}
|
1686
|
+
#line 1687 "gram.c"
|
1559
1687
|
break;
|
1560
1688
|
|
1561
|
-
case 68:
|
1562
|
-
#line
|
1563
|
-
|
1564
|
-
yyval.nodeData = syck_new_map(
|
1565
|
-
syck_hdlr_add_node( (SyckParser *)parser, yyvsp[-2].nodeData ),
|
1566
|
-
syck_hdlr_add_node( (SyckParser *)parser, yyvsp[0].nodeData ) );
|
1689
|
+
case 68: /* complex_mapping: complex_key ':' complex_value */
|
1690
|
+
#line 381 "gram.y"
|
1691
|
+
{
|
1692
|
+
(yyval.nodeData) = syck_new_map(
|
1693
|
+
syck_hdlr_add_node( (SyckParser *)parser, (yyvsp[-2].nodeData) ),
|
1694
|
+
syck_hdlr_add_node( (SyckParser *)parser, (yyvsp[0].nodeData) ) );
|
1567
1695
|
}
|
1696
|
+
#line 1697 "gram.c"
|
1568
1697
|
break;
|
1569
1698
|
|
1570
|
-
case 70:
|
1571
|
-
#line
|
1572
|
-
|
1573
|
-
if ( yyvsp[-2].nodeData->shortcut == NULL )
|
1699
|
+
case 70: /* in_implicit_map: in_implicit_map indent_sep basic_seq */
|
1700
|
+
#line 399 "gram.y"
|
1701
|
+
{
|
1702
|
+
if ( (yyvsp[-2].nodeData)->shortcut == NULL )
|
1574
1703
|
{
|
1575
|
-
yyvsp[-2].nodeData->shortcut = syck_new_seq( yyvsp[0].nodeId );
|
1704
|
+
(yyvsp[-2].nodeData)->shortcut = syck_new_seq( (yyvsp[0].nodeId) );
|
1576
1705
|
}
|
1577
1706
|
else
|
1578
1707
|
{
|
1579
|
-
syck_seq_add( yyvsp[-2].nodeData->shortcut, yyvsp[0].nodeId );
|
1708
|
+
syck_seq_add( (yyvsp[-2].nodeData)->shortcut, (yyvsp[0].nodeId) );
|
1580
1709
|
}
|
1581
|
-
yyval.nodeData = yyvsp[-2].nodeData;
|
1710
|
+
(yyval.nodeData) = (yyvsp[-2].nodeData);
|
1582
1711
|
}
|
1712
|
+
#line 1713 "gram.c"
|
1583
1713
|
break;
|
1584
1714
|
|
1585
|
-
case 71:
|
1586
|
-
#line
|
1587
|
-
|
1588
|
-
apply_seq_in_map( (SyckParser *)parser, yyvsp[-2].nodeData );
|
1589
|
-
syck_map_update( yyvsp[-2].nodeData, yyvsp[0].nodeData );
|
1590
|
-
syck_free_node( yyvsp[0].nodeData );
|
1591
|
-
yyvsp[0].nodeData = NULL;
|
1592
|
-
yyval.nodeData = yyvsp[-2].nodeData;
|
1715
|
+
case 71: /* in_implicit_map: in_implicit_map indent_sep complex_mapping */
|
1716
|
+
#line 411 "gram.y"
|
1717
|
+
{
|
1718
|
+
apply_seq_in_map( (SyckParser *)parser, (yyvsp[-2].nodeData) );
|
1719
|
+
syck_map_update( (yyvsp[-2].nodeData), (yyvsp[0].nodeData) );
|
1720
|
+
syck_free_node( (yyvsp[0].nodeData) );
|
1721
|
+
(yyvsp[0].nodeData) = NULL;
|
1722
|
+
(yyval.nodeData) = (yyvsp[-2].nodeData);
|
1593
1723
|
}
|
1724
|
+
#line 1725 "gram.c"
|
1594
1725
|
break;
|
1595
1726
|
|
1596
|
-
case 72:
|
1597
|
-
#line
|
1598
|
-
|
1599
|
-
yyval.nodeData = yyvsp[-1].nodeData;
|
1727
|
+
case 72: /* in_implicit_map: in_implicit_map indent_sep */
|
1728
|
+
#line 419 "gram.y"
|
1729
|
+
{
|
1730
|
+
(yyval.nodeData) = (yyvsp[-1].nodeData);
|
1600
1731
|
}
|
1732
|
+
#line 1733 "gram.c"
|
1601
1733
|
break;
|
1602
1734
|
|
1603
|
-
case 73:
|
1604
|
-
#line
|
1605
|
-
|
1606
|
-
yyval.nodeData = syck_new_map(
|
1607
|
-
syck_hdlr_add_node( (SyckParser *)parser, yyvsp[-2].nodeData ),
|
1608
|
-
syck_hdlr_add_node( (SyckParser *)parser, yyvsp[0].nodeData ) );
|
1735
|
+
case 73: /* basic_mapping: atom ':' atom_or_empty */
|
1736
|
+
#line 428 "gram.y"
|
1737
|
+
{
|
1738
|
+
(yyval.nodeData) = syck_new_map(
|
1739
|
+
syck_hdlr_add_node( (SyckParser *)parser, (yyvsp[-2].nodeData) ),
|
1740
|
+
syck_hdlr_add_node( (SyckParser *)parser, (yyvsp[0].nodeData) ) );
|
1609
1741
|
}
|
1742
|
+
#line 1743 "gram.c"
|
1610
1743
|
break;
|
1611
1744
|
|
1612
|
-
case 74:
|
1613
|
-
#line
|
1614
|
-
|
1615
|
-
yyval.nodeData = yyvsp[-1].nodeData;
|
1745
|
+
case 74: /* inline_map: '{' in_inline_map '}' */
|
1746
|
+
#line 436 "gram.y"
|
1747
|
+
{
|
1748
|
+
(yyval.nodeData) = (yyvsp[-1].nodeData);
|
1616
1749
|
}
|
1750
|
+
#line 1751 "gram.c"
|
1617
1751
|
break;
|
1618
1752
|
|
1619
|
-
case 75:
|
1620
|
-
#line
|
1621
|
-
|
1622
|
-
yyval.nodeData = syck_alloc_map();
|
1753
|
+
case 75: /* inline_map: '{' '}' */
|
1754
|
+
#line 440 "gram.y"
|
1755
|
+
{
|
1756
|
+
(yyval.nodeData) = syck_alloc_map();
|
1623
1757
|
}
|
1758
|
+
#line 1759 "gram.c"
|
1624
1759
|
break;
|
1625
1760
|
|
1626
|
-
case 77:
|
1627
|
-
#line
|
1628
|
-
|
1629
|
-
syck_map_update( yyvsp[-2].nodeData, yyvsp[0].nodeData );
|
1630
|
-
syck_free_node( yyvsp[0].nodeData );
|
1631
|
-
yyvsp[0].nodeData = NULL;
|
1632
|
-
yyval.nodeData = yyvsp[-2].nodeData;
|
1761
|
+
case 77: /* in_inline_map: in_inline_map ',' inline_map_atom */
|
1762
|
+
#line 447 "gram.y"
|
1763
|
+
{
|
1764
|
+
syck_map_update( (yyvsp[-2].nodeData), (yyvsp[0].nodeData) );
|
1765
|
+
syck_free_node( (yyvsp[0].nodeData) );
|
1766
|
+
(yyvsp[0].nodeData) = NULL;
|
1767
|
+
(yyval.nodeData) = (yyvsp[-2].nodeData);
|
1633
1768
|
}
|
1769
|
+
#line 1770 "gram.c"
|
1634
1770
|
break;
|
1635
1771
|
|
1636
|
-
case 78:
|
1637
|
-
#line
|
1638
|
-
|
1772
|
+
case 78: /* inline_map_atom: atom */
|
1773
|
+
#line 456 "gram.y"
|
1774
|
+
{
|
1639
1775
|
NULL_NODE( parser, n );
|
1640
|
-
yyval.nodeData = syck_new_map(
|
1641
|
-
syck_hdlr_add_node( (SyckParser *)parser, yyvsp[0].nodeData ),
|
1776
|
+
(yyval.nodeData) = syck_new_map(
|
1777
|
+
syck_hdlr_add_node( (SyckParser *)parser, (yyvsp[0].nodeData) ),
|
1642
1778
|
syck_hdlr_add_node( (SyckParser *)parser, n ) );
|
1643
1779
|
}
|
1780
|
+
#line 1781 "gram.c"
|
1644
1781
|
break;
|
1645
1782
|
|
1646
1783
|
|
1647
|
-
|
1784
|
+
#line 1785 "gram.c"
|
1648
1785
|
|
1649
|
-
|
1650
|
-
|
1651
|
-
|
1652
|
-
|
1653
|
-
|
1654
|
-
|
1655
|
-
|
1656
|
-
|
1786
|
+
default: break;
|
1787
|
+
}
|
1788
|
+
/* User semantic actions sometimes alter yychar, and that requires
|
1789
|
+
that yytoken be updated with the new translation. We take the
|
1790
|
+
approach of translating immediately before every use of yytoken.
|
1791
|
+
One alternative is translating here after every semantic action,
|
1792
|
+
but that translation would be missed if the semantic action invokes
|
1793
|
+
YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
|
1794
|
+
if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an
|
1795
|
+
incorrect destructor might then be invoked immediately. In the
|
1796
|
+
case of YYERROR or YYBACKUP, subsequent parser actions might lead
|
1797
|
+
to an incorrect destructor call or verbose syntax error message
|
1798
|
+
before the lookahead is translated. */
|
1799
|
+
YY_SYMBOL_PRINT ("-> $$ =", YY_CAST (yysymbol_kind_t, yyr1[yyn]), &yyval, &yyloc);
|
1800
|
+
|
1801
|
+
YYPOPSTACK (yylen);
|
1802
|
+
yylen = 0;
|
1657
1803
|
|
1658
1804
|
*++yyvsp = yyval;
|
1659
1805
|
|
1660
|
-
|
1661
|
-
/* Now `shift' the result of the reduction. Determine what state
|
1806
|
+
/* Now 'shift' the result of the reduction. Determine what state
|
1662
1807
|
that goes to, based on the state we popped back to and the rule
|
1663
1808
|
number reduced by. */
|
1664
|
-
|
1665
|
-
|
1666
|
-
|
1667
|
-
|
1668
|
-
|
1669
|
-
|
1670
|
-
|
1671
|
-
yystate = yydefgoto[yyn - YYNTOKENS];
|
1809
|
+
{
|
1810
|
+
const int yylhs = yyr1[yyn] - YYNTOKENS;
|
1811
|
+
const int yyi = yypgoto[yylhs] + *yyssp;
|
1812
|
+
yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp
|
1813
|
+
? yytable[yyi]
|
1814
|
+
: yydefgoto[yylhs]);
|
1815
|
+
}
|
1672
1816
|
|
1673
1817
|
goto yynewstate;
|
1674
1818
|
|
1675
1819
|
|
1676
|
-
|
1677
|
-
| yyerrlab -- here on detecting error
|
1678
|
-
|
1820
|
+
/*--------------------------------------.
|
1821
|
+
| yyerrlab -- here on detecting error. |
|
1822
|
+
`--------------------------------------*/
|
1679
1823
|
yyerrlab:
|
1824
|
+
/* Make sure we have latest lookahead translation. See comments at
|
1825
|
+
user semantic actions for why this is necessary. */
|
1826
|
+
yytoken = yychar == YYEMPTY ? YYSYMBOL_YYEMPTY : YYTRANSLATE (yychar);
|
1680
1827
|
/* If not already recovering from an error, report this error. */
|
1681
1828
|
if (!yyerrstatus)
|
1682
1829
|
{
|
1683
1830
|
++yynerrs;
|
1684
|
-
|
1685
|
-
yyn = yypact[yystate];
|
1686
|
-
|
1687
|
-
if (YYPACT_NINF < yyn && yyn < YYLAST)
|
1688
|
-
{
|
1689
|
-
YYSIZE_T yysize = 0;
|
1690
|
-
int yytype = YYTRANSLATE (yychar);
|
1691
|
-
const char* yyprefix;
|
1692
|
-
char *yymsg;
|
1693
|
-
int yyx;
|
1694
|
-
|
1695
|
-
/* Start YYX at -YYN if negative to avoid negative indexes in
|
1696
|
-
YYCHECK. */
|
1697
|
-
int yyxbegin = yyn < 0 ? -yyn : 0;
|
1698
|
-
|
1699
|
-
/* Stay within bounds of both yycheck and yytname. */
|
1700
|
-
int yychecklim = YYLAST - yyn;
|
1701
|
-
int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
|
1702
|
-
int yycount = 0;
|
1703
|
-
|
1704
|
-
yyprefix = ", expecting ";
|
1705
|
-
for (yyx = yyxbegin; yyx < yyxend; ++yyx)
|
1706
|
-
if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
|
1707
|
-
{
|
1708
|
-
yysize += yystrlen (yyprefix) + yystrlen (yytname [yyx]);
|
1709
|
-
yycount += 1;
|
1710
|
-
if (yycount == 5)
|
1711
|
-
{
|
1712
|
-
yysize = 0;
|
1713
|
-
break;
|
1714
|
-
}
|
1715
|
-
}
|
1716
|
-
yysize += (sizeof ("syntax error, unexpected ")
|
1717
|
-
+ yystrlen (yytname[yytype]));
|
1718
|
-
yymsg = (char *) YYSTACK_ALLOC (yysize);
|
1719
|
-
if (yymsg != 0)
|
1720
|
-
{
|
1721
|
-
char *yyp = yystpcpy (yymsg, "syntax error, unexpected ");
|
1722
|
-
yyp = yystpcpy (yyp, yytname[yytype]);
|
1723
|
-
|
1724
|
-
if (yycount < 5)
|
1725
|
-
{
|
1726
|
-
yyprefix = ", expecting ";
|
1727
|
-
for (yyx = yyxbegin; yyx < yyxend; ++yyx)
|
1728
|
-
if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
|
1729
|
-
{
|
1730
|
-
yyp = yystpcpy (yyp, yyprefix);
|
1731
|
-
yyp = yystpcpy (yyp, yytname[yyx]);
|
1732
|
-
yyprefix = " or ";
|
1733
|
-
}
|
1734
|
-
}
|
1735
|
-
yyerror (yymsg);
|
1736
|
-
YYSTACK_FREE (yymsg);
|
1737
|
-
}
|
1738
|
-
else
|
1739
|
-
yyerror ("syntax error; also virtual memory exhausted");
|
1740
|
-
}
|
1741
|
-
else
|
1742
|
-
#endif /* YYERROR_VERBOSE */
|
1743
|
-
yyerror ("syntax error");
|
1831
|
+
yyerror (YYPARSE_PARAM, YY_("syntax error"));
|
1744
1832
|
}
|
1745
1833
|
|
1746
|
-
|
1747
|
-
|
1748
1834
|
if (yyerrstatus == 3)
|
1749
1835
|
{
|
1750
1836
|
/* If just tried and failed to reuse lookahead token after an
|
1751
|
-
|
1837
|
+
error, discard it. */
|
1752
1838
|
|
1753
1839
|
if (yychar <= YYEOF)
|
1754
1840
|
{
|
1755
|
-
/*
|
1756
|
-
|
1757
|
-
|
1758
|
-
for (;;)
|
1759
|
-
{
|
1760
|
-
YYPOPSTACK;
|
1761
|
-
if (yyssp == yyss)
|
1762
|
-
YYABORT;
|
1763
|
-
YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
|
1764
|
-
yydestruct (yystos[*yyssp], yyvsp);
|
1765
|
-
}
|
1841
|
+
/* Return failure if at end of input. */
|
1842
|
+
if (yychar == YYEOF)
|
1843
|
+
YYABORT;
|
1766
1844
|
}
|
1767
1845
|
else
|
1768
|
-
|
1769
|
-
|
1770
|
-
|
1771
|
-
|
1772
|
-
|
1773
|
-
}
|
1846
|
+
{
|
1847
|
+
yydestruct ("Error: discarding",
|
1848
|
+
yytoken, &yylval, YYPARSE_PARAM);
|
1849
|
+
yychar = YYEMPTY;
|
1850
|
+
}
|
1774
1851
|
}
|
1775
1852
|
|
1776
1853
|
/* Else will try to reuse lookahead token after shifting the error
|
@@ -1782,16 +1859,17 @@ yyerrlab:
|
|
1782
1859
|
| yyerrorlab -- error raised explicitly by YYERROR. |
|
1783
1860
|
`---------------------------------------------------*/
|
1784
1861
|
yyerrorlab:
|
1785
|
-
|
1786
|
-
|
1787
|
-
/* Pacify GCC when the user code never invokes YYERROR and the label
|
1788
|
-
yyerrorlab therefore never appears in user code. */
|
1862
|
+
/* Pacify compilers when the user code never invokes YYERROR and the
|
1863
|
+
label yyerrorlab therefore never appears in user code. */
|
1789
1864
|
if (0)
|
1790
|
-
|
1791
|
-
|
1865
|
+
YYERROR;
|
1866
|
+
++yynerrs;
|
1792
1867
|
|
1793
|
-
|
1794
|
-
|
1868
|
+
/* Do not reclaim the symbols of the rule whose action triggered
|
1869
|
+
this YYERROR. */
|
1870
|
+
YYPOPSTACK (yylen);
|
1871
|
+
yylen = 0;
|
1872
|
+
YY_STACK_PRINT (yyss, yyssp);
|
1795
1873
|
yystate = *yyssp;
|
1796
1874
|
goto yyerrlab1;
|
1797
1875
|
|
@@ -1800,41 +1878,43 @@ yyerrorlab:
|
|
1800
1878
|
| yyerrlab1 -- common code for both syntax error and YYERROR. |
|
1801
1879
|
`-------------------------------------------------------------*/
|
1802
1880
|
yyerrlab1:
|
1803
|
-
yyerrstatus = 3;
|
1881
|
+
yyerrstatus = 3; /* Each real token shifted decrements this. */
|
1804
1882
|
|
1883
|
+
/* Pop stack until we find a state that shifts the error token. */
|
1805
1884
|
for (;;)
|
1806
1885
|
{
|
1807
1886
|
yyn = yypact[yystate];
|
1808
|
-
if (yyn
|
1809
|
-
|
1810
|
-
|
1811
|
-
|
1812
|
-
|
1813
|
-
|
1814
|
-
|
1815
|
-
|
1816
|
-
|
1817
|
-
|
1887
|
+
if (!yypact_value_is_default (yyn))
|
1888
|
+
{
|
1889
|
+
yyn += YYSYMBOL_YYerror;
|
1890
|
+
if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror)
|
1891
|
+
{
|
1892
|
+
yyn = yytable[yyn];
|
1893
|
+
if (0 < yyn)
|
1894
|
+
break;
|
1895
|
+
}
|
1896
|
+
}
|
1818
1897
|
|
1819
1898
|
/* Pop the current state because it cannot handle the error token. */
|
1820
1899
|
if (yyssp == yyss)
|
1821
|
-
|
1900
|
+
YYABORT;
|
1901
|
+
|
1822
1902
|
|
1823
|
-
|
1824
|
-
|
1825
|
-
YYPOPSTACK;
|
1903
|
+
yydestruct ("Error: popping",
|
1904
|
+
YY_ACCESSING_SYMBOL (yystate), yyvsp, YYPARSE_PARAM);
|
1905
|
+
YYPOPSTACK (1);
|
1826
1906
|
yystate = *yyssp;
|
1827
1907
|
YY_STACK_PRINT (yyss, yyssp);
|
1828
1908
|
}
|
1829
1909
|
|
1830
|
-
|
1831
|
-
YYACCEPT;
|
1832
|
-
|
1833
|
-
YYDPRINTF ((stderr, "Shifting error token, "));
|
1834
|
-
|
1910
|
+
YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
|
1835
1911
|
*++yyvsp = yylval;
|
1912
|
+
YY_IGNORE_MAYBE_UNINITIALIZED_END
|
1836
1913
|
|
1837
1914
|
|
1915
|
+
/* Shift the error token. */
|
1916
|
+
YY_SYMBOL_PRINT ("Shifting", YY_ACCESSING_SYMBOL (yyn), yyvsp, yylsp);
|
1917
|
+
|
1838
1918
|
yystate = yyn;
|
1839
1919
|
goto yynewstate;
|
1840
1920
|
|
@@ -1844,35 +1924,57 @@ yyerrlab1:
|
|
1844
1924
|
`-------------------------------------*/
|
1845
1925
|
yyacceptlab:
|
1846
1926
|
yyresult = 0;
|
1847
|
-
goto
|
1927
|
+
goto yyreturnlab;
|
1928
|
+
|
1848
1929
|
|
1849
1930
|
/*-----------------------------------.
|
1850
1931
|
| yyabortlab -- YYABORT comes here. |
|
1851
1932
|
`-----------------------------------*/
|
1852
1933
|
yyabortlab:
|
1853
1934
|
yyresult = 1;
|
1854
|
-
goto
|
1935
|
+
goto yyreturnlab;
|
1855
1936
|
|
1856
|
-
|
1857
|
-
|
1858
|
-
|
|
1859
|
-
|
1860
|
-
|
1861
|
-
yyerror ("
|
1937
|
+
|
1938
|
+
/*-----------------------------------------------------------.
|
1939
|
+
| yyexhaustedlab -- YYNOMEM (memory exhaustion) comes here. |
|
1940
|
+
`-----------------------------------------------------------*/
|
1941
|
+
yyexhaustedlab:
|
1942
|
+
yyerror (YYPARSE_PARAM, YY_("memory exhausted"));
|
1862
1943
|
yyresult = 2;
|
1863
|
-
|
1864
|
-
#endif
|
1944
|
+
goto yyreturnlab;
|
1865
1945
|
|
1866
|
-
|
1946
|
+
|
1947
|
+
/*----------------------------------------------------------.
|
1948
|
+
| yyreturnlab -- parsing is finished, clean up and return. |
|
1949
|
+
`----------------------------------------------------------*/
|
1950
|
+
yyreturnlab:
|
1951
|
+
if (yychar != YYEMPTY)
|
1952
|
+
{
|
1953
|
+
/* Make sure we have latest lookahead translation. See comments at
|
1954
|
+
user semantic actions for why this is necessary. */
|
1955
|
+
yytoken = YYTRANSLATE (yychar);
|
1956
|
+
yydestruct ("Cleanup: discarding lookahead",
|
1957
|
+
yytoken, &yylval, YYPARSE_PARAM);
|
1958
|
+
}
|
1959
|
+
/* Do not reclaim the symbols of the rule whose action triggered
|
1960
|
+
this YYABORT or YYACCEPT. */
|
1961
|
+
YYPOPSTACK (yylen);
|
1962
|
+
YY_STACK_PRINT (yyss, yyssp);
|
1963
|
+
while (yyssp != yyss)
|
1964
|
+
{
|
1965
|
+
yydestruct ("Cleanup: popping",
|
1966
|
+
YY_ACCESSING_SYMBOL (+*yyssp), yyvsp, YYPARSE_PARAM);
|
1967
|
+
YYPOPSTACK (1);
|
1968
|
+
}
|
1867
1969
|
#ifndef yyoverflow
|
1868
1970
|
if (yyss != yyssa)
|
1869
1971
|
YYSTACK_FREE (yyss);
|
1870
1972
|
#endif
|
1973
|
+
|
1871
1974
|
return yyresult;
|
1872
1975
|
}
|
1873
1976
|
|
1874
|
-
|
1875
|
-
#line 464 "gram.y"
|
1977
|
+
#line 465 "gram.y"
|
1876
1978
|
|
1877
1979
|
|
1878
1980
|
void
|
@@ -1890,5 +1992,3 @@ apply_seq_in_map( SyckParser *parser, SyckNode *n )
|
|
1890
1992
|
|
1891
1993
|
n->shortcut = NULL;
|
1892
1994
|
}
|
1893
|
-
|
1894
|
-
|