elftosb_parser.tab.cpp revision 1.1.4.2 1 1.1.4.2 yamt /* A Bison parser, made by GNU Bison 2.1. */
2 1.1.4.2 yamt
3 1.1.4.2 yamt /* Skeleton parser for Yacc-like parsing with Bison,
4 1.1.4.2 yamt Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
5 1.1.4.2 yamt
6 1.1.4.2 yamt This program is free software; you can redistribute it and/or modify
7 1.1.4.2 yamt it under the terms of the GNU General Public License as published by
8 1.1.4.2 yamt the Free Software Foundation; either version 2, or (at your option)
9 1.1.4.2 yamt any later version.
10 1.1.4.2 yamt
11 1.1.4.2 yamt This program is distributed in the hope that it will be useful,
12 1.1.4.2 yamt but WITHOUT ANY WARRANTY; without even the implied warranty of
13 1.1.4.2 yamt MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 1.1.4.2 yamt GNU General Public License for more details.
15 1.1.4.2 yamt
16 1.1.4.2 yamt You should have received a copy of the GNU General Public License
17 1.1.4.2 yamt along with this program; if not, write to the Free Software
18 1.1.4.2 yamt Foundation, Inc., 51 Franklin Street, Fifth Floor,
19 1.1.4.2 yamt Boston, MA 02110-1301, USA. */
20 1.1.4.2 yamt
21 1.1.4.2 yamt /* As a special exception, when this file is copied by Bison into a
22 1.1.4.2 yamt Bison output file, you may use that output file without restriction.
23 1.1.4.2 yamt This special exception was added by the Free Software Foundation
24 1.1.4.2 yamt in version 1.24 of Bison. */
25 1.1.4.2 yamt
26 1.1.4.2 yamt /* Written by Richard Stallman by simplifying the original so called
27 1.1.4.2 yamt ``semantic'' parser. */
28 1.1.4.2 yamt
29 1.1.4.2 yamt /* All symbols defined below should begin with yy or YY, to avoid
30 1.1.4.2 yamt infringing on user name space. This should be done even for local
31 1.1.4.2 yamt variables, as they might otherwise be expanded by user macros.
32 1.1.4.2 yamt There are some unavoidable exceptions within include files to
33 1.1.4.2 yamt define necessary library symbols; they are noted "INFRINGES ON
34 1.1.4.2 yamt USER NAME SPACE" below. */
35 1.1.4.2 yamt
36 1.1.4.2 yamt /* Identify Bison output. */
37 1.1.4.2 yamt #define YYBISON 1
38 1.1.4.2 yamt
39 1.1.4.2 yamt /* Bison version. */
40 1.1.4.2 yamt #define YYBISON_VERSION "2.1"
41 1.1.4.2 yamt
42 1.1.4.2 yamt /* Skeleton name. */
43 1.1.4.2 yamt #define YYSKELETON_NAME "yacc.c"
44 1.1.4.2 yamt
45 1.1.4.2 yamt /* Pure parsers. */
46 1.1.4.2 yamt #define YYPURE 1
47 1.1.4.2 yamt
48 1.1.4.2 yamt /* Using locations. */
49 1.1.4.2 yamt #define YYLSP_NEEDED 1
50 1.1.4.2 yamt
51 1.1.4.2 yamt
52 1.1.4.2 yamt
53 1.1.4.2 yamt /* Tokens. */
54 1.1.4.2 yamt #ifndef YYTOKENTYPE
55 1.1.4.2 yamt # define YYTOKENTYPE
56 1.1.4.2 yamt /* Put the tokens into the symbol table, so that GDB and other debuggers
57 1.1.4.2 yamt know about them. */
58 1.1.4.2 yamt enum yytokentype {
59 1.1.4.2 yamt TOK_IDENT = 258,
60 1.1.4.2 yamt TOK_STRING_LITERAL = 259,
61 1.1.4.2 yamt TOK_INT_LITERAL = 260,
62 1.1.4.2 yamt TOK_SECTION_NAME = 261,
63 1.1.4.2 yamt TOK_SOURCE_NAME = 262,
64 1.1.4.2 yamt TOK_BLOB = 263,
65 1.1.4.2 yamt TOK_DOT_DOT = 264,
66 1.1.4.2 yamt TOK_AND = 265,
67 1.1.4.2 yamt TOK_OR = 266,
68 1.1.4.2 yamt TOK_GEQ = 267,
69 1.1.4.2 yamt TOK_LEQ = 268,
70 1.1.4.2 yamt TOK_EQ = 269,
71 1.1.4.2 yamt TOK_NEQ = 270,
72 1.1.4.2 yamt TOK_POWER = 271,
73 1.1.4.2 yamt TOK_LSHIFT = 272,
74 1.1.4.2 yamt TOK_RSHIFT = 273,
75 1.1.4.2 yamt TOK_INT_SIZE = 274,
76 1.1.4.2 yamt TOK_OPTIONS = 275,
77 1.1.4.2 yamt TOK_CONSTANTS = 276,
78 1.1.4.2 yamt TOK_SOURCES = 277,
79 1.1.4.2 yamt TOK_FILTERS = 278,
80 1.1.4.2 yamt TOK_SECTION = 279,
81 1.1.4.2 yamt TOK_EXTERN = 280,
82 1.1.4.2 yamt TOK_FROM = 281,
83 1.1.4.2 yamt TOK_RAW = 282,
84 1.1.4.2 yamt TOK_LOAD = 283,
85 1.1.4.2 yamt TOK_JUMP = 284,
86 1.1.4.2 yamt TOK_CALL = 285,
87 1.1.4.2 yamt TOK_MODE = 286,
88 1.1.4.2 yamt TOK_IF = 287,
89 1.1.4.2 yamt TOK_ELSE = 288,
90 1.1.4.2 yamt TOK_DEFINED = 289,
91 1.1.4.2 yamt TOK_INFO = 290,
92 1.1.4.2 yamt TOK_WARNING = 291,
93 1.1.4.2 yamt TOK_ERROR = 292,
94 1.1.4.2 yamt TOK_SIZEOF = 293,
95 1.1.4.2 yamt TOK_DCD = 294,
96 1.1.4.2 yamt TOK_HAB = 295,
97 1.1.4.2 yamt TOK_IVT = 296,
98 1.1.4.2 yamt UNARY_OP = 297
99 1.1.4.2 yamt };
100 1.1.4.2 yamt #endif
101 1.1.4.2 yamt /* Tokens. */
102 1.1.4.2 yamt #define TOK_IDENT 258
103 1.1.4.2 yamt #define TOK_STRING_LITERAL 259
104 1.1.4.2 yamt #define TOK_INT_LITERAL 260
105 1.1.4.2 yamt #define TOK_SECTION_NAME 261
106 1.1.4.2 yamt #define TOK_SOURCE_NAME 262
107 1.1.4.2 yamt #define TOK_BLOB 263
108 1.1.4.2 yamt #define TOK_DOT_DOT 264
109 1.1.4.2 yamt #define TOK_AND 265
110 1.1.4.2 yamt #define TOK_OR 266
111 1.1.4.2 yamt #define TOK_GEQ 267
112 1.1.4.2 yamt #define TOK_LEQ 268
113 1.1.4.2 yamt #define TOK_EQ 269
114 1.1.4.2 yamt #define TOK_NEQ 270
115 1.1.4.2 yamt #define TOK_POWER 271
116 1.1.4.2 yamt #define TOK_LSHIFT 272
117 1.1.4.2 yamt #define TOK_RSHIFT 273
118 1.1.4.2 yamt #define TOK_INT_SIZE 274
119 1.1.4.2 yamt #define TOK_OPTIONS 275
120 1.1.4.2 yamt #define TOK_CONSTANTS 276
121 1.1.4.2 yamt #define TOK_SOURCES 277
122 1.1.4.2 yamt #define TOK_FILTERS 278
123 1.1.4.2 yamt #define TOK_SECTION 279
124 1.1.4.2 yamt #define TOK_EXTERN 280
125 1.1.4.2 yamt #define TOK_FROM 281
126 1.1.4.2 yamt #define TOK_RAW 282
127 1.1.4.2 yamt #define TOK_LOAD 283
128 1.1.4.2 yamt #define TOK_JUMP 284
129 1.1.4.2 yamt #define TOK_CALL 285
130 1.1.4.2 yamt #define TOK_MODE 286
131 1.1.4.2 yamt #define TOK_IF 287
132 1.1.4.2 yamt #define TOK_ELSE 288
133 1.1.4.2 yamt #define TOK_DEFINED 289
134 1.1.4.2 yamt #define TOK_INFO 290
135 1.1.4.2 yamt #define TOK_WARNING 291
136 1.1.4.2 yamt #define TOK_ERROR 292
137 1.1.4.2 yamt #define TOK_SIZEOF 293
138 1.1.4.2 yamt #define TOK_DCD 294
139 1.1.4.2 yamt #define TOK_HAB 295
140 1.1.4.2 yamt #define TOK_IVT 296
141 1.1.4.2 yamt #define UNARY_OP 297
142 1.1.4.2 yamt
143 1.1.4.2 yamt
144 1.1.4.2 yamt
145 1.1.4.2 yamt
146 1.1.4.2 yamt /* Copy the first part of user declarations. */
147 1.1.4.2 yamt #line 14 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
148 1.1.4.2 yamt
149 1.1.4.2 yamt #include "ElftosbLexer.h"
150 1.1.4.2 yamt #include "ElftosbAST.h"
151 1.1.4.2 yamt #include "Logging.h"
152 1.1.4.2 yamt #include "Blob.h"
153 1.1.4.2 yamt #include "format_string.h"
154 1.1.4.2 yamt #include "Value.h"
155 1.1.4.2 yamt #include "ConversionController.h"
156 1.1.4.2 yamt
157 1.1.4.2 yamt using namespace elftosb;
158 1.1.4.2 yamt
159 1.1.4.2 yamt //! Our special location type.
160 1.1.4.2 yamt #define YYLTYPE token_loc_t
161 1.1.4.2 yamt
162 1.1.4.2 yamt // this indicates that we're using our own type. it should be unset automatically
163 1.1.4.2 yamt // but that's not working for some reason with the .hpp file.
164 1.1.4.2 yamt #if defined(YYLTYPE_IS_TRIVIAL)
165 1.1.4.2 yamt #undef YYLTYPE_IS_TRIVIAL
166 1.1.4.2 yamt #define YYLTYPE_IS_TRIVIAL 0
167 1.1.4.2 yamt #endif
168 1.1.4.2 yamt
169 1.1.4.2 yamt //! Default location action
170 1.1.4.2 yamt #define YYLLOC_DEFAULT(Current, Rhs, N) \
171 1.1.4.2 yamt do { \
172 1.1.4.2 yamt if (N) \
173 1.1.4.2 yamt { \
174 1.1.4.2 yamt (Current).m_firstLine = YYRHSLOC(Rhs, 1).m_firstLine; \
175 1.1.4.2 yamt (Current).m_lastLine = YYRHSLOC(Rhs, N).m_lastLine; \
176 1.1.4.2 yamt } \
177 1.1.4.2 yamt else \
178 1.1.4.2 yamt { \
179 1.1.4.2 yamt (Current).m_firstLine = (Current).m_lastLine = YYRHSLOC(Rhs, 0).m_lastLine; \
180 1.1.4.2 yamt } \
181 1.1.4.2 yamt } while (0)
182 1.1.4.2 yamt
183 1.1.4.2 yamt //! Forward declaration of yylex().
184 1.1.4.2 yamt static int yylex(YYSTYPE * lvalp, YYLTYPE * yylloc, ElftosbLexer * lexer);
185 1.1.4.2 yamt
186 1.1.4.2 yamt // Forward declaration of error handling function.
187 1.1.4.2 yamt static void yyerror(YYLTYPE * yylloc, ElftosbLexer * lexer, CommandFileASTNode ** resultAST, const char * error);
188 1.1.4.2 yamt
189 1.1.4.2 yamt
190 1.1.4.2 yamt
191 1.1.4.2 yamt /* Enabling traces. */
192 1.1.4.2 yamt #ifndef YYDEBUG
193 1.1.4.2 yamt # define YYDEBUG 0
194 1.1.4.2 yamt #endif
195 1.1.4.2 yamt
196 1.1.4.2 yamt /* Enabling verbose error messages. */
197 1.1.4.2 yamt #ifdef YYERROR_VERBOSE
198 1.1.4.2 yamt # undef YYERROR_VERBOSE
199 1.1.4.2 yamt # define YYERROR_VERBOSE 1
200 1.1.4.2 yamt #else
201 1.1.4.2 yamt # define YYERROR_VERBOSE 1
202 1.1.4.2 yamt #endif
203 1.1.4.2 yamt
204 1.1.4.2 yamt /* Enabling the token table. */
205 1.1.4.2 yamt #ifndef YYTOKEN_TABLE
206 1.1.4.2 yamt # define YYTOKEN_TABLE 0
207 1.1.4.2 yamt #endif
208 1.1.4.2 yamt
209 1.1.4.2 yamt #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
210 1.1.4.2 yamt #line 58 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
211 1.1.4.2 yamt typedef union YYSTYPE {
212 1.1.4.2 yamt int m_num;
213 1.1.4.2 yamt elftosb::SizedIntegerValue * m_int;
214 1.1.4.2 yamt Blob * m_blob;
215 1.1.4.2 yamt std::string * m_str;
216 1.1.4.2 yamt elftosb::ASTNode * m_ast; // must use full name here because this is put into *.tab.hpp
217 1.1.4.2 yamt } YYSTYPE;
218 1.1.4.2 yamt /* Line 196 of yacc.c. */
219 1.1.4.2 yamt #line 220 "/Users/creed/projects/fsl/fromsvr/elftosb/build/elftosb.build/Debug/elftosb.build/DerivedSources/elftosb_parser.tab.cpp"
220 1.1.4.2 yamt # define yystype YYSTYPE /* obsolescent; will be withdrawn */
221 1.1.4.2 yamt # define YYSTYPE_IS_DECLARED 1
222 1.1.4.2 yamt # define YYSTYPE_IS_TRIVIAL 1
223 1.1.4.2 yamt #endif
224 1.1.4.2 yamt
225 1.1.4.2 yamt #if ! defined (YYLTYPE) && ! defined (YYLTYPE_IS_DECLARED)
226 1.1.4.2 yamt typedef struct YYLTYPE
227 1.1.4.2 yamt {
228 1.1.4.2 yamt int first_line;
229 1.1.4.2 yamt int first_column;
230 1.1.4.2 yamt int last_line;
231 1.1.4.2 yamt int last_column;
232 1.1.4.2 yamt } YYLTYPE;
233 1.1.4.2 yamt # define yyltype YYLTYPE /* obsolescent; will be withdrawn */
234 1.1.4.2 yamt # define YYLTYPE_IS_DECLARED 1
235 1.1.4.2 yamt # define YYLTYPE_IS_TRIVIAL 1
236 1.1.4.2 yamt #endif
237 1.1.4.2 yamt
238 1.1.4.2 yamt
239 1.1.4.2 yamt /* Copy the second part of user declarations. */
240 1.1.4.2 yamt
241 1.1.4.2 yamt
242 1.1.4.2 yamt /* Line 219 of yacc.c. */
243 1.1.4.2 yamt #line 244 "/Users/creed/projects/fsl/fromsvr/elftosb/build/elftosb.build/Debug/elftosb.build/DerivedSources/elftosb_parser.tab.cpp"
244 1.1.4.2 yamt
245 1.1.4.2 yamt #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
246 1.1.4.2 yamt # define YYSIZE_T __SIZE_TYPE__
247 1.1.4.2 yamt #endif
248 1.1.4.2 yamt #if ! defined (YYSIZE_T) && defined (size_t)
249 1.1.4.2 yamt # define YYSIZE_T size_t
250 1.1.4.2 yamt #endif
251 1.1.4.2 yamt #if ! defined (YYSIZE_T) && (defined (__STDC__) || defined (__cplusplus))
252 1.1.4.2 yamt # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
253 1.1.4.2 yamt # define YYSIZE_T size_t
254 1.1.4.2 yamt #endif
255 1.1.4.2 yamt #if ! defined (YYSIZE_T)
256 1.1.4.2 yamt # define YYSIZE_T unsigned int
257 1.1.4.2 yamt #endif
258 1.1.4.2 yamt
259 1.1.4.2 yamt #ifndef YY_
260 1.1.4.2 yamt # if YYENABLE_NLS
261 1.1.4.2 yamt # if ENABLE_NLS
262 1.1.4.2 yamt # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
263 1.1.4.2 yamt # define YY_(msgid) dgettext ("bison-runtime", msgid)
264 1.1.4.2 yamt # endif
265 1.1.4.2 yamt # endif
266 1.1.4.2 yamt # ifndef YY_
267 1.1.4.2 yamt # define YY_(msgid) msgid
268 1.1.4.2 yamt # endif
269 1.1.4.2 yamt #endif
270 1.1.4.2 yamt
271 1.1.4.2 yamt #if ! defined (yyoverflow) || YYERROR_VERBOSE
272 1.1.4.2 yamt
273 1.1.4.2 yamt /* The parser invokes alloca or malloc; define the necessary symbols. */
274 1.1.4.2 yamt
275 1.1.4.2 yamt # ifdef YYSTACK_USE_ALLOCA
276 1.1.4.2 yamt # if YYSTACK_USE_ALLOCA
277 1.1.4.2 yamt # ifdef __GNUC__
278 1.1.4.2 yamt # define YYSTACK_ALLOC __builtin_alloca
279 1.1.4.2 yamt # else
280 1.1.4.2 yamt # define YYSTACK_ALLOC alloca
281 1.1.4.2 yamt # if defined (__STDC__) || defined (__cplusplus)
282 1.1.4.2 yamt # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
283 1.1.4.2 yamt # define YYINCLUDED_STDLIB_H
284 1.1.4.2 yamt # endif
285 1.1.4.2 yamt # endif
286 1.1.4.2 yamt # endif
287 1.1.4.2 yamt # endif
288 1.1.4.2 yamt
289 1.1.4.2 yamt # ifdef YYSTACK_ALLOC
290 1.1.4.2 yamt /* Pacify GCC's `empty if-body' warning. */
291 1.1.4.2 yamt # define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
292 1.1.4.2 yamt # ifndef YYSTACK_ALLOC_MAXIMUM
293 1.1.4.2 yamt /* The OS might guarantee only one guard page at the bottom of the stack,
294 1.1.4.2 yamt and a page size can be as small as 4096 bytes. So we cannot safely
295 1.1.4.2 yamt invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
296 1.1.4.2 yamt to allow for a few compiler-allocated temporary stack slots. */
297 1.1.4.2 yamt # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2005 */
298 1.1.4.2 yamt # endif
299 1.1.4.2 yamt # else
300 1.1.4.2 yamt # define YYSTACK_ALLOC YYMALLOC
301 1.1.4.2 yamt # define YYSTACK_FREE YYFREE
302 1.1.4.2 yamt # ifndef YYSTACK_ALLOC_MAXIMUM
303 1.1.4.2 yamt # define YYSTACK_ALLOC_MAXIMUM ((YYSIZE_T) -1)
304 1.1.4.2 yamt # endif
305 1.1.4.2 yamt # ifdef __cplusplus
306 1.1.4.2 yamt extern "C" {
307 1.1.4.2 yamt # endif
308 1.1.4.2 yamt # ifndef YYMALLOC
309 1.1.4.2 yamt # define YYMALLOC malloc
310 1.1.4.2 yamt # if (! defined (malloc) && ! defined (YYINCLUDED_STDLIB_H) \
311 1.1.4.2 yamt && (defined (__STDC__) || defined (__cplusplus)))
312 1.1.4.2 yamt void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
313 1.1.4.2 yamt # endif
314 1.1.4.2 yamt # endif
315 1.1.4.2 yamt # ifndef YYFREE
316 1.1.4.2 yamt # define YYFREE free
317 1.1.4.2 yamt # if (! defined (free) && ! defined (YYINCLUDED_STDLIB_H) \
318 1.1.4.2 yamt && (defined (__STDC__) || defined (__cplusplus)))
319 1.1.4.2 yamt void free (void *); /* INFRINGES ON USER NAME SPACE */
320 1.1.4.2 yamt # endif
321 1.1.4.2 yamt # endif
322 1.1.4.2 yamt # ifdef __cplusplus
323 1.1.4.2 yamt }
324 1.1.4.2 yamt # endif
325 1.1.4.2 yamt # endif
326 1.1.4.2 yamt #endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */
327 1.1.4.2 yamt
328 1.1.4.2 yamt
329 1.1.4.2 yamt #if (! defined (yyoverflow) \
330 1.1.4.2 yamt && (! defined (__cplusplus) \
331 1.1.4.2 yamt || (defined (YYLTYPE_IS_TRIVIAL) && YYLTYPE_IS_TRIVIAL \
332 1.1.4.2 yamt && defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL)))
333 1.1.4.2 yamt
334 1.1.4.2 yamt /* A type that is properly aligned for any stack member. */
335 1.1.4.2 yamt union yyalloc
336 1.1.4.2 yamt {
337 1.1.4.2 yamt short int yyss;
338 1.1.4.2 yamt YYSTYPE yyvs;
339 1.1.4.2 yamt YYLTYPE yyls;
340 1.1.4.2 yamt };
341 1.1.4.2 yamt
342 1.1.4.2 yamt /* The size of the maximum gap between one aligned stack and the next. */
343 1.1.4.2 yamt # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
344 1.1.4.2 yamt
345 1.1.4.2 yamt /* The size of an array large to enough to hold all stacks, each with
346 1.1.4.2 yamt N elements. */
347 1.1.4.2 yamt # define YYSTACK_BYTES(N) \
348 1.1.4.2 yamt ((N) * (sizeof (short int) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \
349 1.1.4.2 yamt + 2 * YYSTACK_GAP_MAXIMUM)
350 1.1.4.2 yamt
351 1.1.4.2 yamt /* Copy COUNT objects from FROM to TO. The source and destination do
352 1.1.4.2 yamt not overlap. */
353 1.1.4.2 yamt # ifndef YYCOPY
354 1.1.4.2 yamt # if defined (__GNUC__) && 1 < __GNUC__
355 1.1.4.2 yamt # define YYCOPY(To, From, Count) \
356 1.1.4.2 yamt __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
357 1.1.4.2 yamt # else
358 1.1.4.2 yamt # define YYCOPY(To, From, Count) \
359 1.1.4.2 yamt do \
360 1.1.4.2 yamt { \
361 1.1.4.2 yamt YYSIZE_T yyi; \
362 1.1.4.2 yamt for (yyi = 0; yyi < (Count); yyi++) \
363 1.1.4.2 yamt (To)[yyi] = (From)[yyi]; \
364 1.1.4.2 yamt } \
365 1.1.4.2 yamt while (0)
366 1.1.4.2 yamt # endif
367 1.1.4.2 yamt # endif
368 1.1.4.2 yamt
369 1.1.4.2 yamt /* Relocate STACK from its old location to the new one. The
370 1.1.4.2 yamt local variables YYSIZE and YYSTACKSIZE give the old and new number of
371 1.1.4.2 yamt elements in the stack, and YYPTR gives the new location of the
372 1.1.4.2 yamt stack. Advance YYPTR to a properly aligned location for the next
373 1.1.4.2 yamt stack. */
374 1.1.4.2 yamt # define YYSTACK_RELOCATE(Stack) \
375 1.1.4.2 yamt do \
376 1.1.4.2 yamt { \
377 1.1.4.2 yamt YYSIZE_T yynewbytes; \
378 1.1.4.2 yamt YYCOPY (&yyptr->Stack, Stack, yysize); \
379 1.1.4.2 yamt Stack = &yyptr->Stack; \
380 1.1.4.2 yamt yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
381 1.1.4.2 yamt yyptr += yynewbytes / sizeof (*yyptr); \
382 1.1.4.2 yamt } \
383 1.1.4.2 yamt while (0)
384 1.1.4.2 yamt
385 1.1.4.2 yamt #endif
386 1.1.4.2 yamt
387 1.1.4.2 yamt #if defined (__STDC__) || defined (__cplusplus)
388 1.1.4.2 yamt typedef signed char yysigned_char;
389 1.1.4.2 yamt #else
390 1.1.4.2 yamt typedef short int yysigned_char;
391 1.1.4.2 yamt #endif
392 1.1.4.2 yamt
393 1.1.4.2 yamt /* YYFINAL -- State number of the termination state. */
394 1.1.4.2 yamt #define YYFINAL 13
395 1.1.4.2 yamt /* YYLAST -- Last index in YYTABLE. */
396 1.1.4.2 yamt #define YYLAST 418
397 1.1.4.2 yamt
398 1.1.4.2 yamt /* YYNTOKENS -- Number of terminals. */
399 1.1.4.2 yamt #define YYNTOKENS 66
400 1.1.4.2 yamt /* YYNNTS -- Number of nonterminals. */
401 1.1.4.2 yamt #define YYNNTS 52
402 1.1.4.2 yamt /* YYNRULES -- Number of rules. */
403 1.1.4.2 yamt #define YYNRULES 133
404 1.1.4.2 yamt /* YYNRULES -- Number of states. */
405 1.1.4.2 yamt #define YYNSTATES 238
406 1.1.4.2 yamt
407 1.1.4.2 yamt /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
408 1.1.4.2 yamt #define YYUNDEFTOK 2
409 1.1.4.2 yamt #define YYMAXUTOK 297
410 1.1.4.2 yamt
411 1.1.4.2 yamt #define YYTRANSLATE(YYX) \
412 1.1.4.2 yamt ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
413 1.1.4.2 yamt
414 1.1.4.2 yamt /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
415 1.1.4.2 yamt static const unsigned char yytranslate[] =
416 1.1.4.2 yamt {
417 1.1.4.2 yamt 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
418 1.1.4.2 yamt 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
419 1.1.4.2 yamt 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
420 1.1.4.2 yamt 2, 2, 2, 26, 2, 2, 2, 64, 23, 2,
421 1.1.4.2 yamt 9, 10, 62, 60, 16, 61, 20, 63, 2, 2,
422 1.1.4.2 yamt 2, 2, 2, 2, 2, 2, 2, 2, 18, 17,
423 1.1.4.2 yamt 25, 15, 19, 2, 2, 2, 2, 2, 2, 2,
424 1.1.4.2 yamt 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
425 1.1.4.2 yamt 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
426 1.1.4.2 yamt 2, 13, 2, 14, 59, 2, 2, 2, 2, 2,
427 1.1.4.2 yamt 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
428 1.1.4.2 yamt 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
429 1.1.4.2 yamt 2, 2, 2, 11, 24, 12, 22, 2, 2, 2,
430 1.1.4.2 yamt 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
431 1.1.4.2 yamt 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
432 1.1.4.2 yamt 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
433 1.1.4.2 yamt 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
434 1.1.4.2 yamt 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
435 1.1.4.2 yamt 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
436 1.1.4.2 yamt 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
437 1.1.4.2 yamt 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
438 1.1.4.2 yamt 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
439 1.1.4.2 yamt 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
440 1.1.4.2 yamt 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
441 1.1.4.2 yamt 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
442 1.1.4.2 yamt 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
443 1.1.4.2 yamt 5, 6, 7, 8, 21, 27, 28, 29, 30, 31,
444 1.1.4.2 yamt 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
445 1.1.4.2 yamt 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
446 1.1.4.2 yamt 52, 53, 54, 55, 56, 57, 58, 65
447 1.1.4.2 yamt };
448 1.1.4.2 yamt
449 1.1.4.2 yamt #if YYDEBUG
450 1.1.4.2 yamt /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
451 1.1.4.2 yamt YYRHS. */
452 1.1.4.2 yamt static const unsigned short int yyprhs[] =
453 1.1.4.2 yamt {
454 1.1.4.2 yamt 0, 0, 3, 6, 8, 11, 13, 15, 17, 22,
455 1.1.4.2 yamt 27, 29, 32, 35, 36, 40, 45, 47, 50, 54,
456 1.1.4.2 yamt 55, 59, 66, 70, 71, 73, 77, 81, 83, 86,
457 1.1.4.2 yamt 93, 96, 97, 99, 100, 104, 108, 110, 113, 116,
458 1.1.4.2 yamt 118, 120, 121, 123, 126, 129, 131, 132, 134, 136,
459 1.1.4.2 yamt 138, 140, 145, 147, 148, 150, 152, 154, 156, 160,
460 1.1.4.2 yamt 165, 167, 169, 171, 175, 177, 180, 183, 184, 186,
461 1.1.4.2 yamt 188, 193, 195, 196, 200, 205, 207, 209, 211, 213,
462 1.1.4.2 yamt 217, 220, 221, 227, 230, 233, 236, 239, 246, 251,
463 1.1.4.2 yamt 254, 255, 257, 261, 263, 265, 267, 271, 275, 279,
464 1.1.4.2 yamt 283, 287, 291, 295, 299, 302, 307, 311, 316, 318,
465 1.1.4.2 yamt 322, 325, 327, 329, 331, 335, 339, 343, 347, 351,
466 1.1.4.2 yamt 355, 359, 363, 367, 371, 375, 377, 381, 385, 390,
467 1.1.4.2 yamt 395, 400, 403, 406
468 1.1.4.2 yamt };
469 1.1.4.2 yamt
470 1.1.4.2 yamt /* YYRHS -- A `-1'-separated list of the rules' RHS. */
471 1.1.4.2 yamt static const yysigned_char yyrhs[] =
472 1.1.4.2 yamt {
473 1.1.4.2 yamt 67, 0, -1, 68, 82, -1, 69, -1, 68, 69,
474 1.1.4.2 yamt -1, 70, -1, 71, -1, 75, -1, 37, 11, 72,
475 1.1.4.2 yamt 12, -1, 38, 11, 72, 12, -1, 73, -1, 72,
476 1.1.4.2 yamt 73, -1, 74, 17, -1, -1, 3, 15, 111, -1,
477 1.1.4.2 yamt 39, 11, 76, 12, -1, 77, -1, 76, 77, -1,
478 1.1.4.2 yamt 78, 79, 17, -1, -1, 3, 15, 4, -1, 3,
479 1.1.4.2 yamt 15, 42, 9, 113, 10, -1, 9, 80, 10, -1,
480 1.1.4.2 yamt -1, 81, -1, 80, 16, 81, -1, 3, 15, 111,
481 1.1.4.2 yamt -1, 83, -1, 82, 83, -1, 41, 9, 113, 84,
482 1.1.4.2 yamt 10, 86, -1, 17, 85, -1, -1, 80, -1, -1,
483 1.1.4.2 yamt 30, 94, 17, -1, 11, 87, 12, -1, 88, -1,
484 1.1.4.2 yamt 87, 88, -1, 91, 17, -1, 105, -1, 108, -1,
485 1.1.4.2 yamt -1, 90, -1, 89, 90, -1, 91, 17, -1, 108,
486 1.1.4.2 yamt -1, -1, 92, -1, 101, -1, 106, -1, 107, -1,
487 1.1.4.2 yamt 45, 93, 94, 97, -1, 56, -1, -1, 113, -1,
488 1.1.4.2 yamt 4, -1, 7, -1, 95, -1, 95, 43, 7, -1,
489 1.1.4.2 yamt 7, 13, 95, 14, -1, 8, -1, 99, -1, 96,
490 1.1.4.2 yamt -1, 95, 16, 96, -1, 6, -1, 22, 6, -1,
491 1.1.4.2 yamt 19, 98, -1, -1, 20, -1, 110, -1, 58, 9,
492 1.1.4.2 yamt 100, 10, -1, 80, -1, -1, 102, 103, 104, -1,
493 1.1.4.2 yamt 57, 102, 110, 104, -1, 47, -1, 46, -1, 7,
494 1.1.4.2 yamt -1, 113, -1, 9, 113, 10, -1, 9, 10, -1,
495 1.1.4.2 yamt -1, 43, 7, 11, 89, 12, -1, 48, 113, -1,
496 1.1.4.2 yamt 52, 4, -1, 53, 4, -1, 54, 4, -1, 49,
497 1.1.4.2 yamt 112, 11, 87, 12, 109, -1, 50, 11, 87, 12,
498 1.1.4.2 yamt -1, 50, 108, -1, -1, 113, -1, 113, 21, 113,
499 1.1.4.2 yamt -1, 112, -1, 4, -1, 113, -1, 112, 25, 112,
500 1.1.4.2 yamt -1, 112, 19, 112, -1, 112, 29, 112, -1, 112,
501 1.1.4.2 yamt 30, 112, -1, 112, 31, 112, -1, 112, 32, 112,
502 1.1.4.2 yamt -1, 112, 27, 112, -1, 112, 28, 112, -1, 26,
503 1.1.4.2 yamt 112, -1, 3, 9, 7, 10, -1, 9, 112, 10,
504 1.1.4.2 yamt -1, 51, 9, 3, 10, -1, 115, -1, 7, 18,
505 1.1.4.2 yamt 3, -1, 18, 3, -1, 117, -1, 3, -1, 114,
506 1.1.4.2 yamt -1, 115, 60, 115, -1, 115, 61, 115, -1, 115,
507 1.1.4.2 yamt 62, 115, -1, 115, 63, 115, -1, 115, 64, 115,
508 1.1.4.2 yamt -1, 115, 33, 115, -1, 115, 23, 115, -1, 115,
509 1.1.4.2 yamt 24, 115, -1, 115, 59, 115, -1, 115, 34, 115,
510 1.1.4.2 yamt -1, 115, 35, 115, -1, 116, -1, 115, 20, 36,
511 1.1.4.2 yamt -1, 9, 115, 10, -1, 55, 9, 114, 10, -1,
512 1.1.4.2 yamt 55, 9, 3, 10, -1, 55, 9, 7, 10, -1,
513 1.1.4.2 yamt 60, 115, -1, 61, 115, -1, 5, -1
514 1.1.4.2 yamt };
515 1.1.4.2 yamt
516 1.1.4.2 yamt /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
517 1.1.4.2 yamt static const unsigned short int yyrline[] =
518 1.1.4.2 yamt {
519 1.1.4.2 yamt 0, 162, 162, 172, 178, 186, 187, 188, 191, 197,
520 1.1.4.2 yamt 203, 209, 216, 217, 220, 227, 233, 239, 247, 259,
521 1.1.4.2 yamt 262, 267, 275, 276, 280, 286, 294, 301, 307, 314,
522 1.1.4.2 yamt 329, 334, 340, 345, 351, 357, 365, 371, 379, 380,
523 1.1.4.2 yamt 381, 382, 385, 391, 399, 400, 401, 404, 405, 406,
524 1.1.4.2 yamt 407, 410, 433, 443, 445, 449, 454, 459, 464, 469,
525 1.1.4.2 yamt 474, 479, 484, 490, 498, 503, 510, 515, 521, 526,
526 1.1.4.2 yamt 532, 544, 545, 548, 577, 614, 615, 618, 623, 630,
527 1.1.4.2 yamt 631, 632, 635, 642, 649, 654, 659, 666, 677, 681,
528 1.1.4.2 yamt 688, 691, 696, 703, 707, 714, 718, 725, 732, 739,
529 1.1.4.2 yamt 746, 753, 760, 767, 774, 779, 784, 789, 796, 799,
530 1.1.4.2 yamt 804, 812, 816, 821, 832, 839, 846, 853, 860, 867,
531 1.1.4.2 yamt 874, 881, 888, 895, 902, 909, 913, 918, 923, 928,
532 1.1.4.2 yamt 933, 940, 944, 951
533 1.1.4.2 yamt };
534 1.1.4.2 yamt #endif
535 1.1.4.2 yamt
536 1.1.4.2 yamt #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
537 1.1.4.2 yamt /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
538 1.1.4.2 yamt First, the terminals, then, starting at YYNTOKENS, nonterminals. */
539 1.1.4.2 yamt static const char *const yytname[] =
540 1.1.4.2 yamt {
541 1.1.4.2 yamt "$end", "error", "$undefined", "\"identifier\"", "\"string\"",
542 1.1.4.2 yamt "\"integer\"", "\"section name\"", "\"source name\"",
543 1.1.4.2 yamt "\"binary object\"", "'('", "')'", "'{'", "'}'", "'['", "']'", "'='",
544 1.1.4.2 yamt "','", "';'", "':'", "'>'", "'.'", "\"..\"", "'~'", "'&'", "'|'", "'<'",
545 1.1.4.2 yamt "'!'", "\"&&\"", "\"||\"", "\">=\"", "\"<=\"", "\"==\"", "\"!=\"",
546 1.1.4.2 yamt "\"**\"", "\"<<\"", "\">>\"", "\"integer size\"", "\"options\"",
547 1.1.4.2 yamt "\"constants\"", "\"sources\"", "\"filters\"", "\"section\"",
548 1.1.4.2 yamt "\"extern\"", "\"from\"", "\"raw\"", "\"load\"", "\"jump\"", "\"call\"",
549 1.1.4.2 yamt "\"mode\"", "\"if\"", "\"else\"", "\"defined\"", "\"info\"",
550 1.1.4.2 yamt "\"warning\"", "\"error\"", "\"sizeof\"", "\"dcd\"", "\"hab\"",
551 1.1.4.2 yamt "\"ivt\"", "'^'", "'+'", "'-'", "'*'", "'/'", "'%'", "UNARY_OP",
552 1.1.4.2 yamt "$accept", "command_file", "blocks_list", "pre_section_block",
553 1.1.4.2 yamt "options_block", "constants_block", "const_def_list",
554 1.1.4.2 yamt "const_def_list_elem", "const_def", "sources_block", "source_def_list",
555 1.1.4.2 yamt "source_def_list_elem", "source_def", "source_attrs_opt",
556 1.1.4.2 yamt "source_attr_list", "source_attr_list_elem", "section_defs",
557 1.1.4.2 yamt "section_def", "section_options_opt", "source_attr_list_opt",
558 1.1.4.2 yamt "section_contents", "full_stmt_list", "full_stmt_list_elem",
559 1.1.4.2 yamt "basic_stmt_list", "basic_stmt_list_elem", "basic_stmt", "load_stmt",
560 1.1.4.2 yamt "dcd_opt", "load_data", "section_list", "section_list_elem",
561 1.1.4.2 yamt "load_target_opt", "load_target", "ivt_def", "assignment_list_opt",
562 1.1.4.2 yamt "call_stmt", "call_or_jump", "call_target", "call_arg_opt", "from_stmt",
563 1.1.4.2 yamt "mode_stmt", "message_stmt", "if_stmt", "else_opt", "address_or_range",
564 1.1.4.2 yamt "const_expr", "bool_expr", "int_const_expr", "symbol_ref", "expr",
565 1.1.4.2 yamt "unary_expr", "int_value", 0
566 1.1.4.2 yamt };
567 1.1.4.2 yamt #endif
568 1.1.4.2 yamt
569 1.1.4.2 yamt # ifdef YYPRINT
570 1.1.4.2 yamt /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
571 1.1.4.2 yamt token YYLEX-NUM. */
572 1.1.4.2 yamt static const unsigned short int yytoknum[] =
573 1.1.4.2 yamt {
574 1.1.4.2 yamt 0, 256, 257, 258, 259, 260, 261, 262, 263, 40,
575 1.1.4.2 yamt 41, 123, 125, 91, 93, 61, 44, 59, 58, 62,
576 1.1.4.2 yamt 46, 264, 126, 38, 124, 60, 33, 265, 266, 267,
577 1.1.4.2 yamt 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
578 1.1.4.2 yamt 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
579 1.1.4.2 yamt 288, 289, 290, 291, 292, 293, 294, 295, 296, 94,
580 1.1.4.2 yamt 43, 45, 42, 47, 37, 297
581 1.1.4.2 yamt };
582 1.1.4.2 yamt # endif
583 1.1.4.2 yamt
584 1.1.4.2 yamt /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
585 1.1.4.2 yamt static const unsigned char yyr1[] =
586 1.1.4.2 yamt {
587 1.1.4.2 yamt 0, 66, 67, 68, 68, 69, 69, 69, 70, 71,
588 1.1.4.2 yamt 72, 72, 73, 73, 74, 75, 76, 76, 77, 77,
589 1.1.4.2 yamt 78, 78, 79, 79, 80, 80, 81, 82, 82, 83,
590 1.1.4.2 yamt 84, 84, 85, 85, 86, 86, 87, 87, 88, 88,
591 1.1.4.2 yamt 88, 88, 89, 89, 90, 90, 90, 91, 91, 91,
592 1.1.4.2 yamt 91, 92, 93, 93, 94, 94, 94, 94, 94, 94,
593 1.1.4.2 yamt 94, 94, 95, 95, 96, 96, 97, 97, 98, 98,
594 1.1.4.2 yamt 99, 100, 100, 101, 101, 102, 102, 103, 103, 104,
595 1.1.4.2 yamt 104, 104, 105, 106, 107, 107, 107, 108, 109, 109,
596 1.1.4.2 yamt 109, 110, 110, 111, 111, 112, 112, 112, 112, 112,
597 1.1.4.2 yamt 112, 112, 112, 112, 112, 112, 112, 112, 113, 114,
598 1.1.4.2 yamt 114, 115, 115, 115, 115, 115, 115, 115, 115, 115,
599 1.1.4.2 yamt 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
600 1.1.4.2 yamt 115, 116, 116, 117
601 1.1.4.2 yamt };
602 1.1.4.2 yamt
603 1.1.4.2 yamt /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
604 1.1.4.2 yamt static const unsigned char yyr2[] =
605 1.1.4.2 yamt {
606 1.1.4.2 yamt 0, 2, 2, 1, 2, 1, 1, 1, 4, 4,
607 1.1.4.2 yamt 1, 2, 2, 0, 3, 4, 1, 2, 3, 0,
608 1.1.4.2 yamt 3, 6, 3, 0, 1, 3, 3, 1, 2, 6,
609 1.1.4.2 yamt 2, 0, 1, 0, 3, 3, 1, 2, 2, 1,
610 1.1.4.2 yamt 1, 0, 1, 2, 2, 1, 0, 1, 1, 1,
611 1.1.4.2 yamt 1, 4, 1, 0, 1, 1, 1, 1, 3, 4,
612 1.1.4.2 yamt 1, 1, 1, 3, 1, 2, 2, 0, 1, 1,
613 1.1.4.2 yamt 4, 1, 0, 3, 4, 1, 1, 1, 1, 3,
614 1.1.4.2 yamt 2, 0, 5, 2, 2, 2, 2, 6, 4, 2,
615 1.1.4.2 yamt 0, 1, 3, 1, 1, 1, 3, 3, 3, 3,
616 1.1.4.2 yamt 3, 3, 3, 3, 2, 4, 3, 4, 1, 3,
617 1.1.4.2 yamt 2, 1, 1, 1, 3, 3, 3, 3, 3, 3,
618 1.1.4.2 yamt 3, 3, 3, 3, 3, 1, 3, 3, 4, 4,
619 1.1.4.2 yamt 4, 2, 2, 1
620 1.1.4.2 yamt };
621 1.1.4.2 yamt
622 1.1.4.2 yamt /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
623 1.1.4.2 yamt STATE-NUM when YYTABLE doesn't specify something else to do. Zero
624 1.1.4.2 yamt means the default is an error. */
625 1.1.4.2 yamt static const unsigned char yydefact[] =
626 1.1.4.2 yamt {
627 1.1.4.2 yamt 0, 0, 0, 0, 0, 0, 3, 5, 6, 7,
628 1.1.4.2 yamt 13, 13, 19, 1, 0, 4, 2, 27, 0, 0,
629 1.1.4.2 yamt 10, 0, 0, 0, 0, 16, 23, 0, 28, 0,
630 1.1.4.2 yamt 8, 11, 12, 9, 0, 15, 17, 0, 0, 112,
631 1.1.4.2 yamt 133, 0, 0, 0, 0, 0, 0, 31, 113, 108,
632 1.1.4.2 yamt 125, 111, 112, 94, 0, 0, 0, 14, 93, 95,
633 1.1.4.2 yamt 20, 0, 0, 0, 24, 18, 0, 0, 110, 0,
634 1.1.4.2 yamt 131, 132, 33, 0, 0, 0, 0, 0, 0, 0,
635 1.1.4.2 yamt 0, 0, 0, 0, 0, 0, 0, 0, 108, 104,
636 1.1.4.2 yamt 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
637 1.1.4.2 yamt 0, 22, 0, 109, 127, 0, 0, 0, 32, 30,
638 1.1.4.2 yamt 0, 126, 120, 121, 119, 123, 124, 122, 114, 115,
639 1.1.4.2 yamt 116, 117, 118, 0, 106, 0, 97, 96, 102, 103,
640 1.1.4.2 yamt 98, 99, 100, 101, 0, 26, 25, 129, 130, 128,
641 1.1.4.2 yamt 41, 0, 29, 105, 107, 21, 0, 53, 76, 75,
642 1.1.4.2 yamt 0, 0, 0, 0, 0, 0, 0, 36, 0, 47,
643 1.1.4.2 yamt 48, 0, 39, 49, 50, 40, 55, 64, 56, 60,
644 1.1.4.2 yamt 0, 0, 0, 57, 62, 61, 54, 0, 52, 0,
645 1.1.4.2 yamt 83, 0, 84, 85, 86, 0, 35, 37, 38, 77,
646 1.1.4.2 yamt 81, 78, 0, 65, 72, 34, 0, 0, 46, 67,
647 1.1.4.2 yamt 41, 81, 91, 0, 73, 0, 71, 0, 63, 58,
648 1.1.4.2 yamt 0, 42, 0, 45, 0, 51, 0, 74, 0, 80,
649 1.1.4.2 yamt 0, 59, 70, 82, 43, 44, 68, 66, 69, 90,
650 1.1.4.2 yamt 92, 79, 0, 87, 41, 89, 0, 88
651 1.1.4.2 yamt };
652 1.1.4.2 yamt
653 1.1.4.2 yamt /* YYDEFGOTO[NTERM-NUM]. */
654 1.1.4.2 yamt static const short int yydefgoto[] =
655 1.1.4.2 yamt {
656 1.1.4.2 yamt -1, 4, 5, 6, 7, 8, 19, 20, 21, 9,
657 1.1.4.2 yamt 24, 25, 26, 38, 63, 64, 16, 17, 73, 109,
658 1.1.4.2 yamt 142, 156, 157, 210, 211, 158, 159, 179, 172, 173,
659 1.1.4.2 yamt 174, 215, 227, 175, 207, 160, 161, 190, 204, 162,
660 1.1.4.2 yamt 163, 164, 165, 233, 201, 57, 58, 59, 48, 49,
661 1.1.4.2 yamt 50, 51
662 1.1.4.2 yamt };
663 1.1.4.2 yamt
664 1.1.4.2 yamt /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
665 1.1.4.2 yamt STATE-NUM. */
666 1.1.4.2 yamt #define YYPACT_NINF -181
667 1.1.4.2 yamt static const short int yypact[] =
668 1.1.4.2 yamt {
669 1.1.4.2 yamt 128, 17, 25, 48, 69, 123, -181, -181, -181, -181,
670 1.1.4.2 yamt 96, 96, 101, -181, 80, -181, 68, -181, 112, 85,
671 1.1.4.2 yamt -181, 115, 89, 114, 91, -181, 124, 30, -181, 47,
672 1.1.4.2 yamt -181, -181, -181, -181, 11, -181, -181, 134, 125, -181,
673 1.1.4.2 yamt -181, 133, 30, 140, 144, 30, 30, 153, -181, 225,
674 1.1.4.2 yamt -181, -181, 148, -181, 61, 61, 162, -181, 359, -181,
675 1.1.4.2 yamt -181, 164, 159, 22, -181, -181, 172, 121, -181, 9,
676 1.1.4.2 yamt -181, -181, 134, 168, 143, 30, 30, 30, 30, 30,
677 1.1.4.2 yamt 30, 30, 30, 30, 30, 30, 179, 303, 121, -181,
678 1.1.4.2 yamt 194, 61, 61, 61, 61, 61, 61, 61, 61, 30,
679 1.1.4.2 yamt 47, -181, 134, -181, -181, 188, 4, 200, 199, -181,
680 1.1.4.2 yamt 56, -181, 241, 231, 236, 86, 86, 247, 76, 76,
681 1.1.4.2 yamt 196, 196, 196, 208, -181, 210, -181, -181, 373, 373,
682 1.1.4.2 yamt -181, -181, -181, -181, 216, -181, -181, -181, -181, -181,
683 1.1.4.2 yamt 314, 2, -181, -181, -181, -181, 220, 175, -181, -181,
684 1.1.4.2 yamt 30, 61, 228, 230, 237, 28, 147, -181, 223, -181,
685 1.1.4.2 yamt -181, 108, -181, -181, -181, -181, -181, -181, 92, -181,
686 1.1.4.2 yamt 240, 243, 233, 15, -181, -181, -181, 242, -181, 2,
687 1.1.4.2 yamt -181, 345, -181, -181, -181, 30, -181, -181, -181, 133,
688 1.1.4.2 yamt 246, -181, 7, -181, 134, -181, 7, 250, 361, 244,
689 1.1.4.2 yamt 314, 246, 248, 16, -181, 104, 199, 252, -181, -181,
690 1.1.4.2 yamt 190, -181, 251, -181, 75, -181, 160, -181, 30, -181,
691 1.1.4.2 yamt 261, -181, -181, -181, -181, -181, -181, -181, -181, 222,
692 1.1.4.2 yamt -181, -181, 6, -181, 314, -181, 176, -181
693 1.1.4.2 yamt };
694 1.1.4.2 yamt
695 1.1.4.2 yamt /* YYPGOTO[NTERM-NUM]. */
696 1.1.4.2 yamt static const short int yypgoto[] =
697 1.1.4.2 yamt {
698 1.1.4.2 yamt -181, -181, -181, 268, -181, -181, 266, 106, -181, -181,
699 1.1.4.2 yamt -181, 254, -181, -181, -70, 177, -181, 267, -181, -181,
700 1.1.4.2 yamt -181, -151, -155, -181, 107, -180, -181, -181, 127, 122,
701 1.1.4.2 yamt 129, -181, -181, -181, -181, -181, 163, -181, 118, -181,
702 1.1.4.2 yamt -181, -181, -21, -181, 109, 221, -51, -27, 257, 270,
703 1.1.4.2 yamt -181, -181
704 1.1.4.2 yamt };
705 1.1.4.2 yamt
706 1.1.4.2 yamt /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
707 1.1.4.2 yamt positive, shift that token. If negative, reduce the rule which
708 1.1.4.2 yamt number is the opposite. If zero, do what YYDEFACT says.
709 1.1.4.2 yamt If YYTABLE_NINF, syntax error. */
710 1.1.4.2 yamt #define YYTABLE_NINF -1
711 1.1.4.2 yamt static const unsigned char yytable[] =
712 1.1.4.2 yamt {
713 1.1.4.2 yamt 47, 187, 108, 87, 89, 39, 166, 40, 167, 168,
714 1.1.4.2 yamt 169, 42, 105, 167, 138, 60, 106, 234, 212, 39,
715 1.1.4.2 yamt 43, 40, 66, 41, 170, 42, 219, 43, 10, 170,
716 1.1.4.2 yamt 212, 196, 101, 39, 43, 40, 11, 41, 102, 42,
717 1.1.4.2 yamt 126, 127, 128, 129, 130, 131, 132, 133, 43, 216,
718 1.1.4.2 yamt 52, 53, 40, 61, 41, 151, 54, 44, 197, 12,
719 1.1.4.2 yamt 171, 187, 45, 46, 52, 43, 40, 140, 41, 13,
720 1.1.4.2 yamt 54, 44, 134, 55, 148, 149, 45, 46, 39, 43,
721 1.1.4.2 yamt 40, 187, 41, 236, 42, 44, 141, 55, 18, 27,
722 1.1.4.2 yamt 45, 46, 18, 43, 23, 226, 74, 30, 56, 18,
723 1.1.4.2 yamt 181, 33, 44, 35, 23, 192, 74, 45, 46, 14,
724 1.1.4.2 yamt 66, 39, 56, 40, 176, 189, 44, 42, 221, 77,
725 1.1.4.2 yamt 196, 45, 46, 180, 206, 31, 43, 29, 31, 34,
726 1.1.4.2 yamt 44, 104, 32, 37, 191, 45, 46, 62, 83, 84,
727 1.1.4.2 yamt 85, 74, 65, 68, 75, 76, 81, 82, 83, 84,
728 1.1.4.2 yamt 85, 66, 176, 69, 77, 78, 79, 86, 202, 186,
729 1.1.4.2 yamt 1, 2, 3, 44, 14, 1, 2, 3, 45, 46,
730 1.1.4.2 yamt 72, 90, 229, 99, 100, 103, 220, 213, 110, 111,
731 1.1.4.2 yamt 80, 81, 82, 83, 84, 85, 123, 202, 237, 213,
732 1.1.4.2 yamt 146, 230, 147, 148, 149, 150, 151, 125, 137, 152,
733 1.1.4.2 yamt 153, 154, 223, 146, 155, 147, 148, 149, 150, 151,
734 1.1.4.2 yamt 139, 235, 152, 153, 154, 102, 74, 155, 143, 146,
735 1.1.4.2 yamt 144, 147, 148, 149, 150, 151, 145, 177, 152, 153,
736 1.1.4.2 yamt 154, 178, 182, 155, 183, 147, 148, 149, 150, 151,
737 1.1.4.2 yamt 188, 184, 152, 153, 154, 74, 193, 155, 75, 76,
738 1.1.4.2 yamt 195, 74, 194, 198, 75, 203, 74, 209, 77, 78,
739 1.1.4.2 yamt 79, 74, 222, 214, 77, 78, 79, 74, 225, 218,
740 1.1.4.2 yamt 75, 231, 232, 15, 77, 78, 79, 22, 36, 136,
741 1.1.4.2 yamt 77, 78, 79, 28, 80, 81, 82, 83, 84, 85,
742 1.1.4.2 yamt 80, 81, 82, 83, 84, 85, 81, 82, 83, 84,
743 1.1.4.2 yamt 85, 81, 82, 83, 84, 85, 199, 81, 82, 83,
744 1.1.4.2 yamt 84, 85, 67, 124, 205, 70, 71, 224, 185, 217,
745 1.1.4.2 yamt 0, 135, 91, 228, 88, 208, 107, 0, 92, 0,
746 1.1.4.2 yamt 93, 94, 95, 96, 97, 98, 0, 0, 0, 0,
747 1.1.4.2 yamt 0, 0, 0, 0, 0, 112, 113, 114, 115, 116,
748 1.1.4.2 yamt 117, 118, 119, 120, 121, 122, 200, 146, 0, 147,
749 1.1.4.2 yamt 148, 149, 150, 151, 91, 0, 152, 153, 154, 0,
750 1.1.4.2 yamt 92, 155, 93, 94, 95, 96, 97, 98, 91, 0,
751 1.1.4.2 yamt 0, 0, 0, 0, 92, 0, 93, 94, 95, 96,
752 1.1.4.2 yamt 97, 98, 91, 0, 0, 0, 0, 0, 92, 0,
753 1.1.4.2 yamt 0, 0, 95, 96, 97, 98, 147, 148, 149, 150,
754 1.1.4.2 yamt 151, 0, 0, 152, 153, 154, 0, 0, 155
755 1.1.4.2 yamt };
756 1.1.4.2 yamt
757 1.1.4.2 yamt static const short int yycheck[] =
758 1.1.4.2 yamt {
759 1.1.4.2 yamt 27, 156, 72, 54, 55, 3, 4, 5, 6, 7,
760 1.1.4.2 yamt 8, 9, 3, 6, 10, 4, 7, 11, 198, 3,
761 1.1.4.2 yamt 18, 5, 18, 7, 22, 9, 10, 18, 11, 22,
762 1.1.4.2 yamt 210, 16, 10, 3, 18, 5, 11, 7, 16, 9,
763 1.1.4.2 yamt 91, 92, 93, 94, 95, 96, 97, 98, 18, 200,
764 1.1.4.2 yamt 3, 4, 5, 42, 7, 49, 9, 55, 43, 11,
765 1.1.4.2 yamt 58, 216, 60, 61, 3, 18, 5, 11, 7, 0,
766 1.1.4.2 yamt 9, 55, 99, 26, 46, 47, 60, 61, 3, 18,
767 1.1.4.2 yamt 5, 236, 7, 234, 9, 55, 30, 26, 3, 9,
768 1.1.4.2 yamt 60, 61, 3, 18, 3, 20, 20, 12, 51, 3,
769 1.1.4.2 yamt 151, 12, 55, 12, 3, 13, 20, 60, 61, 41,
770 1.1.4.2 yamt 18, 3, 51, 5, 141, 7, 55, 9, 14, 33,
771 1.1.4.2 yamt 16, 60, 61, 150, 194, 19, 18, 15, 22, 15,
772 1.1.4.2 yamt 55, 10, 17, 9, 161, 60, 61, 3, 62, 63,
773 1.1.4.2 yamt 64, 20, 17, 3, 23, 24, 60, 61, 62, 63,
774 1.1.4.2 yamt 64, 18, 179, 9, 33, 34, 35, 9, 185, 12,
775 1.1.4.2 yamt 37, 38, 39, 55, 41, 37, 38, 39, 60, 61,
776 1.1.4.2 yamt 17, 9, 12, 9, 15, 3, 203, 198, 10, 36,
777 1.1.4.2 yamt 59, 60, 61, 62, 63, 64, 7, 214, 12, 210,
778 1.1.4.2 yamt 43, 218, 45, 46, 47, 48, 49, 3, 10, 52,
779 1.1.4.2 yamt 53, 54, 12, 43, 57, 45, 46, 47, 48, 49,
780 1.1.4.2 yamt 10, 232, 52, 53, 54, 16, 20, 57, 10, 43,
781 1.1.4.2 yamt 10, 45, 46, 47, 48, 49, 10, 7, 52, 53,
782 1.1.4.2 yamt 54, 56, 4, 57, 4, 45, 46, 47, 48, 49,
783 1.1.4.2 yamt 17, 4, 52, 53, 54, 20, 6, 57, 23, 24,
784 1.1.4.2 yamt 17, 20, 9, 11, 23, 9, 20, 7, 33, 34,
785 1.1.4.2 yamt 35, 20, 10, 19, 33, 34, 35, 20, 17, 21,
786 1.1.4.2 yamt 23, 10, 50, 5, 33, 34, 35, 11, 24, 102,
787 1.1.4.2 yamt 33, 34, 35, 16, 59, 60, 61, 62, 63, 64,
788 1.1.4.2 yamt 59, 60, 61, 62, 63, 64, 60, 61, 62, 63,
789 1.1.4.2 yamt 64, 60, 61, 62, 63, 64, 179, 60, 61, 62,
790 1.1.4.2 yamt 63, 64, 42, 10, 192, 45, 46, 210, 155, 201,
791 1.1.4.2 yamt -1, 100, 19, 214, 54, 196, 69, -1, 25, -1,
792 1.1.4.2 yamt 27, 28, 29, 30, 31, 32, -1, -1, -1, -1,
793 1.1.4.2 yamt -1, -1, -1, -1, -1, 75, 76, 77, 78, 79,
794 1.1.4.2 yamt 80, 81, 82, 83, 84, 85, 11, 43, -1, 45,
795 1.1.4.2 yamt 46, 47, 48, 49, 19, -1, 52, 53, 54, -1,
796 1.1.4.2 yamt 25, 57, 27, 28, 29, 30, 31, 32, 19, -1,
797 1.1.4.2 yamt -1, -1, -1, -1, 25, -1, 27, 28, 29, 30,
798 1.1.4.2 yamt 31, 32, 19, -1, -1, -1, -1, -1, 25, -1,
799 1.1.4.2 yamt -1, -1, 29, 30, 31, 32, 45, 46, 47, 48,
800 1.1.4.2 yamt 49, -1, -1, 52, 53, 54, -1, -1, 57
801 1.1.4.2 yamt };
802 1.1.4.2 yamt
803 1.1.4.2 yamt /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
804 1.1.4.2 yamt symbol of state STATE-NUM. */
805 1.1.4.2 yamt static const unsigned char yystos[] =
806 1.1.4.2 yamt {
807 1.1.4.2 yamt 0, 37, 38, 39, 67, 68, 69, 70, 71, 75,
808 1.1.4.2 yamt 11, 11, 11, 0, 41, 69, 82, 83, 3, 72,
809 1.1.4.2 yamt 73, 74, 72, 3, 76, 77, 78, 9, 83, 15,
810 1.1.4.2 yamt 12, 73, 17, 12, 15, 12, 77, 9, 79, 3,
811 1.1.4.2 yamt 5, 7, 9, 18, 55, 60, 61, 113, 114, 115,
812 1.1.4.2 yamt 116, 117, 3, 4, 9, 26, 51, 111, 112, 113,
813 1.1.4.2 yamt 4, 42, 3, 80, 81, 17, 18, 115, 3, 9,
814 1.1.4.2 yamt 115, 115, 17, 84, 20, 23, 24, 33, 34, 35,
815 1.1.4.2 yamt 59, 60, 61, 62, 63, 64, 9, 112, 115, 112,
816 1.1.4.2 yamt 9, 19, 25, 27, 28, 29, 30, 31, 32, 9,
817 1.1.4.2 yamt 15, 10, 16, 3, 10, 3, 7, 114, 80, 85,
818 1.1.4.2 yamt 10, 36, 115, 115, 115, 115, 115, 115, 115, 115,
819 1.1.4.2 yamt 115, 115, 115, 7, 10, 3, 112, 112, 112, 112,
820 1.1.4.2 yamt 112, 112, 112, 112, 113, 111, 81, 10, 10, 10,
821 1.1.4.2 yamt 11, 30, 86, 10, 10, 10, 43, 45, 46, 47,
822 1.1.4.2 yamt 48, 49, 52, 53, 54, 57, 87, 88, 91, 92,
823 1.1.4.2 yamt 101, 102, 105, 106, 107, 108, 4, 6, 7, 8,
824 1.1.4.2 yamt 22, 58, 94, 95, 96, 99, 113, 7, 56, 93,
825 1.1.4.2 yamt 113, 112, 4, 4, 4, 102, 12, 88, 17, 7,
826 1.1.4.2 yamt 103, 113, 13, 6, 9, 17, 16, 43, 11, 94,
827 1.1.4.2 yamt 11, 110, 113, 9, 104, 95, 80, 100, 96, 7,
828 1.1.4.2 yamt 89, 90, 91, 108, 19, 97, 87, 104, 21, 10,
829 1.1.4.2 yamt 113, 14, 10, 12, 90, 17, 20, 98, 110, 12,
830 1.1.4.2 yamt 113, 10, 50, 109, 11, 108, 87, 12
831 1.1.4.2 yamt };
832 1.1.4.2 yamt
833 1.1.4.2 yamt #define yyerrok (yyerrstatus = 0)
834 1.1.4.2 yamt #define yyclearin (yychar = YYEMPTY)
835 1.1.4.2 yamt #define YYEMPTY (-2)
836 1.1.4.2 yamt #define YYEOF 0
837 1.1.4.2 yamt
838 1.1.4.2 yamt #define YYACCEPT goto yyacceptlab
839 1.1.4.2 yamt #define YYABORT goto yyabortlab
840 1.1.4.2 yamt #define YYERROR goto yyerrorlab
841 1.1.4.2 yamt
842 1.1.4.2 yamt
843 1.1.4.2 yamt /* Like YYERROR except do call yyerror. This remains here temporarily
844 1.1.4.2 yamt to ease the transition to the new meaning of YYERROR, for GCC.
845 1.1.4.2 yamt Once GCC version 2 has supplanted version 1, this can go. */
846 1.1.4.2 yamt
847 1.1.4.2 yamt #define YYFAIL goto yyerrlab
848 1.1.4.2 yamt
849 1.1.4.2 yamt #define YYRECOVERING() (!!yyerrstatus)
850 1.1.4.2 yamt
851 1.1.4.2 yamt #define YYBACKUP(Token, Value) \
852 1.1.4.2 yamt do \
853 1.1.4.2 yamt if (yychar == YYEMPTY && yylen == 1) \
854 1.1.4.2 yamt { \
855 1.1.4.2 yamt yychar = (Token); \
856 1.1.4.2 yamt yylval = (Value); \
857 1.1.4.2 yamt yytoken = YYTRANSLATE (yychar); \
858 1.1.4.2 yamt YYPOPSTACK; \
859 1.1.4.2 yamt goto yybackup; \
860 1.1.4.2 yamt } \
861 1.1.4.2 yamt else \
862 1.1.4.2 yamt { \
863 1.1.4.2 yamt yyerror (&yylloc, lexer, resultAST, YY_("syntax error: cannot back up")); \
864 1.1.4.2 yamt YYERROR; \
865 1.1.4.2 yamt } \
866 1.1.4.2 yamt while (0)
867 1.1.4.2 yamt
868 1.1.4.2 yamt
869 1.1.4.2 yamt #define YYTERROR 1
870 1.1.4.2 yamt #define YYERRCODE 256
871 1.1.4.2 yamt
872 1.1.4.2 yamt
873 1.1.4.2 yamt /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
874 1.1.4.2 yamt If N is 0, then set CURRENT to the empty location which ends
875 1.1.4.2 yamt the previous symbol: RHS[0] (always defined). */
876 1.1.4.2 yamt
877 1.1.4.2 yamt #define YYRHSLOC(Rhs, K) ((Rhs)[K])
878 1.1.4.2 yamt #ifndef YYLLOC_DEFAULT
879 1.1.4.2 yamt # define YYLLOC_DEFAULT(Current, Rhs, N) \
880 1.1.4.2 yamt do \
881 1.1.4.2 yamt if (N) \
882 1.1.4.2 yamt { \
883 1.1.4.2 yamt (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
884 1.1.4.2 yamt (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
885 1.1.4.2 yamt (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
886 1.1.4.2 yamt (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
887 1.1.4.2 yamt } \
888 1.1.4.2 yamt else \
889 1.1.4.2 yamt { \
890 1.1.4.2 yamt (Current).first_line = (Current).last_line = \
891 1.1.4.2 yamt YYRHSLOC (Rhs, 0).last_line; \
892 1.1.4.2 yamt (Current).first_column = (Current).last_column = \
893 1.1.4.2 yamt YYRHSLOC (Rhs, 0).last_column; \
894 1.1.4.2 yamt } \
895 1.1.4.2 yamt while (0)
896 1.1.4.2 yamt #endif
897 1.1.4.2 yamt
898 1.1.4.2 yamt
899 1.1.4.2 yamt /* YY_LOCATION_PRINT -- Print the location on the stream.
900 1.1.4.2 yamt This macro was not mandated originally: define only if we know
901 1.1.4.2 yamt we won't break user code: when these are the locations we know. */
902 1.1.4.2 yamt
903 1.1.4.2 yamt #ifndef YY_LOCATION_PRINT
904 1.1.4.2 yamt # if YYLTYPE_IS_TRIVIAL
905 1.1.4.2 yamt # define YY_LOCATION_PRINT(File, Loc) \
906 1.1.4.2 yamt fprintf (File, "%d.%d-%d.%d", \
907 1.1.4.2 yamt (Loc).first_line, (Loc).first_column, \
908 1.1.4.2 yamt (Loc).last_line, (Loc).last_column)
909 1.1.4.2 yamt # else
910 1.1.4.2 yamt # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
911 1.1.4.2 yamt # endif
912 1.1.4.2 yamt #endif
913 1.1.4.2 yamt
914 1.1.4.2 yamt
915 1.1.4.2 yamt /* YYLEX -- calling `yylex' with the right arguments. */
916 1.1.4.2 yamt
917 1.1.4.2 yamt #ifdef YYLEX_PARAM
918 1.1.4.2 yamt # define YYLEX yylex (&yylval, &yylloc, YYLEX_PARAM)
919 1.1.4.2 yamt #else
920 1.1.4.2 yamt # define YYLEX yylex (&yylval, &yylloc, lexer)
921 1.1.4.2 yamt #endif
922 1.1.4.2 yamt
923 1.1.4.2 yamt /* Enable debugging if requested. */
924 1.1.4.2 yamt #if YYDEBUG
925 1.1.4.2 yamt
926 1.1.4.2 yamt # ifndef YYFPRINTF
927 1.1.4.2 yamt # include <stdio.h> /* INFRINGES ON USER NAME SPACE */
928 1.1.4.2 yamt # define YYFPRINTF fprintf
929 1.1.4.2 yamt # endif
930 1.1.4.2 yamt
931 1.1.4.2 yamt # define YYDPRINTF(Args) \
932 1.1.4.2 yamt do { \
933 1.1.4.2 yamt if (yydebug) \
934 1.1.4.2 yamt YYFPRINTF Args; \
935 1.1.4.2 yamt } while (0)
936 1.1.4.2 yamt
937 1.1.4.2 yamt # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
938 1.1.4.2 yamt do { \
939 1.1.4.2 yamt if (yydebug) \
940 1.1.4.2 yamt { \
941 1.1.4.2 yamt YYFPRINTF (stderr, "%s ", Title); \
942 1.1.4.2 yamt yysymprint (stderr, \
943 1.1.4.2 yamt Type, Value, Location); \
944 1.1.4.2 yamt YYFPRINTF (stderr, "\n"); \
945 1.1.4.2 yamt } \
946 1.1.4.2 yamt } while (0)
947 1.1.4.2 yamt
948 1.1.4.2 yamt /*------------------------------------------------------------------.
949 1.1.4.2 yamt | yy_stack_print -- Print the state stack from its BOTTOM up to its |
950 1.1.4.2 yamt | TOP (included). |
951 1.1.4.2 yamt `------------------------------------------------------------------*/
952 1.1.4.2 yamt
953 1.1.4.2 yamt #if defined (__STDC__) || defined (__cplusplus)
954 1.1.4.2 yamt static void
955 1.1.4.2 yamt yy_stack_print (short int *bottom, short int *top)
956 1.1.4.2 yamt #else
957 1.1.4.2 yamt static void
958 1.1.4.2 yamt yy_stack_print (bottom, top)
959 1.1.4.2 yamt short int *bottom;
960 1.1.4.2 yamt short int *top;
961 1.1.4.2 yamt #endif
962 1.1.4.2 yamt {
963 1.1.4.2 yamt YYFPRINTF (stderr, "Stack now");
964 1.1.4.2 yamt for (/* Nothing. */; bottom <= top; ++bottom)
965 1.1.4.2 yamt YYFPRINTF (stderr, " %d", *bottom);
966 1.1.4.2 yamt YYFPRINTF (stderr, "\n");
967 1.1.4.2 yamt }
968 1.1.4.2 yamt
969 1.1.4.2 yamt # define YY_STACK_PRINT(Bottom, Top) \
970 1.1.4.2 yamt do { \
971 1.1.4.2 yamt if (yydebug) \
972 1.1.4.2 yamt yy_stack_print ((Bottom), (Top)); \
973 1.1.4.2 yamt } while (0)
974 1.1.4.2 yamt
975 1.1.4.2 yamt
976 1.1.4.2 yamt /*------------------------------------------------.
977 1.1.4.2 yamt | Report that the YYRULE is going to be reduced. |
978 1.1.4.2 yamt `------------------------------------------------*/
979 1.1.4.2 yamt
980 1.1.4.2 yamt #if defined (__STDC__) || defined (__cplusplus)
981 1.1.4.2 yamt static void
982 1.1.4.2 yamt yy_reduce_print (int yyrule)
983 1.1.4.2 yamt #else
984 1.1.4.2 yamt static void
985 1.1.4.2 yamt yy_reduce_print (yyrule)
986 1.1.4.2 yamt int yyrule;
987 1.1.4.2 yamt #endif
988 1.1.4.2 yamt {
989 1.1.4.2 yamt int yyi;
990 1.1.4.2 yamt unsigned long int yylno = yyrline[yyrule];
991 1.1.4.2 yamt YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu), ",
992 1.1.4.2 yamt yyrule - 1, yylno);
993 1.1.4.2 yamt /* Print the symbols being reduced, and their result. */
994 1.1.4.2 yamt for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)
995 1.1.4.2 yamt YYFPRINTF (stderr, "%s ", yytname[yyrhs[yyi]]);
996 1.1.4.2 yamt YYFPRINTF (stderr, "-> %s\n", yytname[yyr1[yyrule]]);
997 1.1.4.2 yamt }
998 1.1.4.2 yamt
999 1.1.4.2 yamt # define YY_REDUCE_PRINT(Rule) \
1000 1.1.4.2 yamt do { \
1001 1.1.4.2 yamt if (yydebug) \
1002 1.1.4.2 yamt yy_reduce_print (Rule); \
1003 1.1.4.2 yamt } while (0)
1004 1.1.4.2 yamt
1005 1.1.4.2 yamt /* Nonzero means print parse trace. It is left uninitialized so that
1006 1.1.4.2 yamt multiple parsers can coexist. */
1007 1.1.4.2 yamt int yydebug;
1008 1.1.4.2 yamt #else /* !YYDEBUG */
1009 1.1.4.2 yamt # define YYDPRINTF(Args)
1010 1.1.4.2 yamt # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
1011 1.1.4.2 yamt # define YY_STACK_PRINT(Bottom, Top)
1012 1.1.4.2 yamt # define YY_REDUCE_PRINT(Rule)
1013 1.1.4.2 yamt #endif /* !YYDEBUG */
1014 1.1.4.2 yamt
1015 1.1.4.2 yamt
1016 1.1.4.2 yamt /* YYINITDEPTH -- initial size of the parser's stacks. */
1017 1.1.4.2 yamt #ifndef YYINITDEPTH
1018 1.1.4.2 yamt # define YYINITDEPTH 200
1019 1.1.4.2 yamt #endif
1020 1.1.4.2 yamt
1021 1.1.4.2 yamt /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
1022 1.1.4.2 yamt if the built-in stack extension method is used).
1023 1.1.4.2 yamt
1024 1.1.4.2 yamt Do not make this value too large; the results are undefined if
1025 1.1.4.2 yamt YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
1026 1.1.4.2 yamt evaluated with infinite-precision integer arithmetic. */
1027 1.1.4.2 yamt
1028 1.1.4.2 yamt #ifndef YYMAXDEPTH
1029 1.1.4.2 yamt # define YYMAXDEPTH 10000
1030 1.1.4.2 yamt #endif
1031 1.1.4.2 yamt
1032 1.1.4.2 yamt
1033 1.1.4.2 yamt
1035 1.1.4.2 yamt #if YYERROR_VERBOSE
1036 1.1.4.2 yamt
1037 1.1.4.2 yamt # ifndef yystrlen
1038 1.1.4.2 yamt # if defined (__GLIBC__) && defined (_STRING_H)
1039 1.1.4.2 yamt # define yystrlen strlen
1040 1.1.4.2 yamt # else
1041 1.1.4.2 yamt /* Return the length of YYSTR. */
1042 1.1.4.2 yamt static YYSIZE_T
1043 1.1.4.2 yamt # if defined (__STDC__) || defined (__cplusplus)
1044 1.1.4.2 yamt yystrlen (const char *yystr)
1045 1.1.4.2 yamt # else
1046 1.1.4.2 yamt yystrlen (yystr)
1047 1.1.4.2 yamt const char *yystr;
1048 1.1.4.2 yamt # endif
1049 1.1.4.2 yamt {
1050 1.1.4.2 yamt const char *yys = yystr;
1051 1.1.4.2 yamt
1052 1.1.4.2 yamt while (*yys++ != '\0')
1053 1.1.4.2 yamt continue;
1054 1.1.4.2 yamt
1055 1.1.4.2 yamt return yys - yystr - 1;
1056 1.1.4.2 yamt }
1057 1.1.4.2 yamt # endif
1058 1.1.4.2 yamt # endif
1059 1.1.4.2 yamt
1060 1.1.4.2 yamt # ifndef yystpcpy
1061 1.1.4.2 yamt # if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)
1062 1.1.4.2 yamt # define yystpcpy stpcpy
1063 1.1.4.2 yamt # else
1064 1.1.4.2 yamt /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
1065 1.1.4.2 yamt YYDEST. */
1066 1.1.4.2 yamt static char *
1067 1.1.4.2 yamt # if defined (__STDC__) || defined (__cplusplus)
1068 1.1.4.2 yamt yystpcpy (char *yydest, const char *yysrc)
1069 1.1.4.2 yamt # else
1070 1.1.4.2 yamt yystpcpy (yydest, yysrc)
1071 1.1.4.2 yamt char *yydest;
1072 1.1.4.2 yamt const char *yysrc;
1073 1.1.4.2 yamt # endif
1074 1.1.4.2 yamt {
1075 1.1.4.2 yamt char *yyd = yydest;
1076 1.1.4.2 yamt const char *yys = yysrc;
1077 1.1.4.2 yamt
1078 1.1.4.2 yamt while ((*yyd++ = *yys++) != '\0')
1079 1.1.4.2 yamt continue;
1080 1.1.4.2 yamt
1081 1.1.4.2 yamt return yyd - 1;
1082 1.1.4.2 yamt }
1083 1.1.4.2 yamt # endif
1084 1.1.4.2 yamt # endif
1085 1.1.4.2 yamt
1086 1.1.4.2 yamt # ifndef yytnamerr
1087 1.1.4.2 yamt /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
1088 1.1.4.2 yamt quotes and backslashes, so that it's suitable for yyerror. The
1089 1.1.4.2 yamt heuristic is that double-quoting is unnecessary unless the string
1090 1.1.4.2 yamt contains an apostrophe, a comma, or backslash (other than
1091 1.1.4.2 yamt backslash-backslash). YYSTR is taken from yytname. If YYRES is
1092 1.1.4.2 yamt null, do not copy; instead, return the length of what the result
1093 1.1.4.2 yamt would have been. */
1094 1.1.4.2 yamt static YYSIZE_T
1095 1.1.4.2 yamt yytnamerr (char *yyres, const char *yystr)
1096 1.1.4.2 yamt {
1097 1.1.4.2 yamt if (*yystr == '"')
1098 1.1.4.2 yamt {
1099 1.1.4.2 yamt size_t yyn = 0;
1100 1.1.4.2 yamt char const *yyp = yystr;
1101 1.1.4.2 yamt
1102 1.1.4.2 yamt for (;;)
1103 1.1.4.2 yamt switch (*++yyp)
1104 1.1.4.2 yamt {
1105 1.1.4.2 yamt case '\'':
1106 1.1.4.2 yamt case ',':
1107 1.1.4.2 yamt goto do_not_strip_quotes;
1108 1.1.4.2 yamt
1109 1.1.4.2 yamt case '\\':
1110 1.1.4.2 yamt if (*++yyp != '\\')
1111 1.1.4.2 yamt goto do_not_strip_quotes;
1112 1.1.4.2 yamt /* Fall through. */
1113 1.1.4.2 yamt default:
1114 1.1.4.2 yamt if (yyres)
1115 1.1.4.2 yamt yyres[yyn] = *yyp;
1116 1.1.4.2 yamt yyn++;
1117 1.1.4.2 yamt break;
1118 1.1.4.2 yamt
1119 1.1.4.2 yamt case '"':
1120 1.1.4.2 yamt if (yyres)
1121 1.1.4.2 yamt yyres[yyn] = '\0';
1122 1.1.4.2 yamt return yyn;
1123 1.1.4.2 yamt }
1124 1.1.4.2 yamt do_not_strip_quotes: ;
1125 1.1.4.2 yamt }
1126 1.1.4.2 yamt
1127 1.1.4.2 yamt if (! yyres)
1128 1.1.4.2 yamt return yystrlen (yystr);
1129 1.1.4.2 yamt
1130 1.1.4.2 yamt return yystpcpy (yyres, yystr) - yyres;
1131 1.1.4.2 yamt }
1132 1.1.4.2 yamt # endif
1133 1.1.4.2 yamt
1134 1.1.4.2 yamt #endif /* YYERROR_VERBOSE */
1135 1.1.4.2 yamt
1136 1.1.4.2 yamt
1137 1.1.4.2 yamt
1139 1.1.4.2 yamt #if YYDEBUG
1140 1.1.4.2 yamt /*--------------------------------.
1141 1.1.4.2 yamt | Print this symbol on YYOUTPUT. |
1142 1.1.4.2 yamt `--------------------------------*/
1143 1.1.4.2 yamt
1144 1.1.4.2 yamt #if defined (__STDC__) || defined (__cplusplus)
1145 1.1.4.2 yamt static void
1146 1.1.4.2 yamt yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp)
1147 1.1.4.2 yamt #else
1148 1.1.4.2 yamt static void
1149 1.1.4.2 yamt yysymprint (yyoutput, yytype, yyvaluep, yylocationp)
1150 1.1.4.2 yamt FILE *yyoutput;
1151 1.1.4.2 yamt int yytype;
1152 1.1.4.2 yamt YYSTYPE *yyvaluep;
1153 1.1.4.2 yamt YYLTYPE *yylocationp;
1154 1.1.4.2 yamt #endif
1155 1.1.4.2 yamt {
1156 1.1.4.2 yamt /* Pacify ``unused variable'' warnings. */
1157 1.1.4.2 yamt (void) yyvaluep;
1158 1.1.4.2 yamt (void) yylocationp;
1159 1.1.4.2 yamt
1160 1.1.4.2 yamt if (yytype < YYNTOKENS)
1161 1.1.4.2 yamt YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
1162 1.1.4.2 yamt else
1163 1.1.4.2 yamt YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
1164 1.1.4.2 yamt
1165 1.1.4.2 yamt YY_LOCATION_PRINT (yyoutput, *yylocationp);
1166 1.1.4.2 yamt YYFPRINTF (yyoutput, ": ");
1167 1.1.4.2 yamt
1168 1.1.4.2 yamt # ifdef YYPRINT
1169 1.1.4.2 yamt if (yytype < YYNTOKENS)
1170 1.1.4.2 yamt YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
1171 1.1.4.2 yamt # endif
1172 1.1.4.2 yamt switch (yytype)
1173 1.1.4.2 yamt {
1174 1.1.4.2 yamt default:
1175 1.1.4.2 yamt break;
1176 1.1.4.2 yamt }
1177 1.1.4.2 yamt YYFPRINTF (yyoutput, ")");
1178 1.1.4.2 yamt }
1179 1.1.4.2 yamt
1180 1.1.4.2 yamt #endif /* ! YYDEBUG */
1181 1.1.4.2 yamt /*-----------------------------------------------.
1182 1.1.4.2 yamt | Release the memory associated to this symbol. |
1183 1.1.4.2 yamt `-----------------------------------------------*/
1184 1.1.4.2 yamt
1185 1.1.4.2 yamt #if defined (__STDC__) || defined (__cplusplus)
1186 1.1.4.2 yamt static void
1187 1.1.4.2 yamt yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp)
1188 1.1.4.2 yamt #else
1189 1.1.4.2 yamt static void
1190 1.1.4.2 yamt yydestruct (yymsg, yytype, yyvaluep, yylocationp)
1191 1.1.4.2 yamt const char *yymsg;
1192 1.1.4.2 yamt int yytype;
1193 1.1.4.2 yamt YYSTYPE *yyvaluep;
1194 1.1.4.2 yamt YYLTYPE *yylocationp;
1195 1.1.4.2 yamt #endif
1196 1.1.4.2 yamt {
1197 1.1.4.2 yamt /* Pacify ``unused variable'' warnings. */
1198 1.1.4.2 yamt (void) yyvaluep;
1199 1.1.4.2 yamt (void) yylocationp;
1200 1.1.4.2 yamt
1201 1.1.4.2 yamt if (!yymsg)
1202 1.1.4.2 yamt yymsg = "Deleting";
1203 1.1.4.2 yamt YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
1204 1.1.4.2 yamt
1205 1.1.4.2 yamt switch (yytype)
1206 1.1.4.2 yamt {
1207 1.1.4.2 yamt case 3: /* "\"identifier\"" */
1208 1.1.4.2 yamt #line 158 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1209 1.1.4.2 yamt { delete (yyvaluep->m_str); };
1210 1.1.4.2 yamt #line 1209 "/Users/creed/projects/fsl/fromsvr/elftosb/build/elftosb.build/Debug/elftosb.build/DerivedSources/elftosb_parser.tab.cpp"
1211 1.1.4.2 yamt break;
1212 1.1.4.2 yamt case 4: /* "\"string\"" */
1213 1.1.4.2 yamt #line 158 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1214 1.1.4.2 yamt { delete (yyvaluep->m_str); };
1215 1.1.4.2 yamt #line 1214 "/Users/creed/projects/fsl/fromsvr/elftosb/build/elftosb.build/Debug/elftosb.build/DerivedSources/elftosb_parser.tab.cpp"
1216 1.1.4.2 yamt break;
1217 1.1.4.2 yamt case 5: /* "\"integer\"" */
1218 1.1.4.2 yamt #line 158 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1219 1.1.4.2 yamt { delete (yyvaluep->m_int); };
1220 1.1.4.2 yamt #line 1219 "/Users/creed/projects/fsl/fromsvr/elftosb/build/elftosb.build/Debug/elftosb.build/DerivedSources/elftosb_parser.tab.cpp"
1221 1.1.4.2 yamt break;
1222 1.1.4.2 yamt case 6: /* "\"section name\"" */
1223 1.1.4.2 yamt #line 158 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1224 1.1.4.2 yamt { delete (yyvaluep->m_str); };
1225 1.1.4.2 yamt #line 1224 "/Users/creed/projects/fsl/fromsvr/elftosb/build/elftosb.build/Debug/elftosb.build/DerivedSources/elftosb_parser.tab.cpp"
1226 1.1.4.2 yamt break;
1227 1.1.4.2 yamt case 7: /* "\"source name\"" */
1228 1.1.4.2 yamt #line 158 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1229 1.1.4.2 yamt { delete (yyvaluep->m_str); };
1230 1.1.4.2 yamt #line 1229 "/Users/creed/projects/fsl/fromsvr/elftosb/build/elftosb.build/Debug/elftosb.build/DerivedSources/elftosb_parser.tab.cpp"
1231 1.1.4.2 yamt break;
1232 1.1.4.2 yamt case 8: /* "\"binary object\"" */
1233 1.1.4.2 yamt #line 158 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1234 1.1.4.2 yamt { delete (yyvaluep->m_blob); };
1235 1.1.4.2 yamt #line 1234 "/Users/creed/projects/fsl/fromsvr/elftosb/build/elftosb.build/Debug/elftosb.build/DerivedSources/elftosb_parser.tab.cpp"
1236 1.1.4.2 yamt break;
1237 1.1.4.2 yamt case 36: /* "\"integer size\"" */
1238 1.1.4.2 yamt #line 158 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1239 1.1.4.2 yamt { delete (yyvaluep->m_int); };
1240 1.1.4.2 yamt #line 1239 "/Users/creed/projects/fsl/fromsvr/elftosb/build/elftosb.build/Debug/elftosb.build/DerivedSources/elftosb_parser.tab.cpp"
1241 1.1.4.2 yamt break;
1242 1.1.4.2 yamt
1243 1.1.4.2 yamt default:
1244 1.1.4.2 yamt break;
1245 1.1.4.2 yamt }
1246 1.1.4.2 yamt }
1247 1.1.4.2 yamt
1248 1.1.4.2 yamt
1250 1.1.4.2 yamt /* Prevent warnings from -Wmissing-prototypes. */
1251 1.1.4.2 yamt
1252 1.1.4.2 yamt #ifdef YYPARSE_PARAM
1253 1.1.4.2 yamt # if defined (__STDC__) || defined (__cplusplus)
1254 1.1.4.2 yamt int yyparse (void *YYPARSE_PARAM);
1255 1.1.4.2 yamt # else
1256 1.1.4.2 yamt int yyparse ();
1257 1.1.4.2 yamt # endif
1258 1.1.4.2 yamt #else /* ! YYPARSE_PARAM */
1259 1.1.4.2 yamt #if defined (__STDC__) || defined (__cplusplus)
1260 1.1.4.2 yamt int yyparse (ElftosbLexer * lexer, CommandFileASTNode ** resultAST);
1261 1.1.4.2 yamt #else
1262 1.1.4.2 yamt int yyparse ();
1263 1.1.4.2 yamt #endif
1264 1.1.4.2 yamt #endif /* ! YYPARSE_PARAM */
1265 1.1.4.2 yamt
1266 1.1.4.2 yamt
1267 1.1.4.2 yamt
1268 1.1.4.2 yamt
1269 1.1.4.2 yamt
1270 1.1.4.2 yamt
1271 1.1.4.2 yamt /*----------.
1272 1.1.4.2 yamt | yyparse. |
1273 1.1.4.2 yamt `----------*/
1274 1.1.4.2 yamt
1275 1.1.4.2 yamt #ifdef YYPARSE_PARAM
1276 1.1.4.2 yamt # if defined (__STDC__) || defined (__cplusplus)
1277 1.1.4.2 yamt int yyparse (void *YYPARSE_PARAM)
1278 1.1.4.2 yamt # else
1279 1.1.4.2 yamt int yyparse (YYPARSE_PARAM)
1280 1.1.4.2 yamt void *YYPARSE_PARAM;
1281 1.1.4.2 yamt # endif
1282 1.1.4.2 yamt #else /* ! YYPARSE_PARAM */
1283 1.1.4.2 yamt #if defined (__STDC__) || defined (__cplusplus)
1284 1.1.4.2 yamt int
1285 1.1.4.2 yamt yyparse (ElftosbLexer * lexer, CommandFileASTNode ** resultAST)
1286 1.1.4.2 yamt #else
1287 1.1.4.2 yamt int
1288 1.1.4.2 yamt yyparse (lexer, resultAST)
1289 1.1.4.2 yamt ElftosbLexer * lexer;
1290 1.1.4.2 yamt CommandFileASTNode ** resultAST;
1291 1.1.4.2 yamt #endif
1292 1.1.4.2 yamt #endif
1293 1.1.4.2 yamt {
1294 1.1.4.2 yamt /* The look-ahead symbol. */
1295 1.1.4.2 yamt int yychar;
1296 1.1.4.2 yamt
1297 1.1.4.2 yamt /* The semantic value of the look-ahead symbol. */
1298 1.1.4.2 yamt YYSTYPE yylval;
1299 1.1.4.2 yamt
1300 1.1.4.2 yamt /* Number of syntax errors so far. */
1301 1.1.4.2 yamt int yynerrs;
1302 1.1.4.2 yamt /* Location data for the look-ahead symbol. */
1303 1.1.4.2 yamt YYLTYPE yylloc;
1304 1.1.4.2 yamt
1305 1.1.4.2 yamt int yystate;
1306 1.1.4.2 yamt int yyn;
1307 1.1.4.2 yamt int yyresult;
1308 1.1.4.2 yamt /* Number of tokens to shift before error messages enabled. */
1309 1.1.4.2 yamt int yyerrstatus;
1310 1.1.4.2 yamt /* Look-ahead token as an internal (translated) token number. */
1311 1.1.4.2 yamt int yytoken = 0;
1312 1.1.4.2 yamt
1313 1.1.4.2 yamt /* Three stacks and their tools:
1314 1.1.4.2 yamt `yyss': related to states,
1315 1.1.4.2 yamt `yyvs': related to semantic values,
1316 1.1.4.2 yamt `yyls': related to locations.
1317 1.1.4.2 yamt
1318 1.1.4.2 yamt Refer to the stacks thru separate pointers, to allow yyoverflow
1319 1.1.4.2 yamt to reallocate them elsewhere. */
1320 1.1.4.2 yamt
1321 1.1.4.2 yamt /* The state stack. */
1322 1.1.4.2 yamt short int yyssa[YYINITDEPTH];
1323 1.1.4.2 yamt short int *yyss = yyssa;
1324 1.1.4.2 yamt short int *yyssp;
1325 1.1.4.2 yamt
1326 1.1.4.2 yamt /* The semantic value stack. */
1327 1.1.4.2 yamt YYSTYPE yyvsa[YYINITDEPTH];
1328 1.1.4.2 yamt YYSTYPE *yyvs = yyvsa;
1329 1.1.4.2 yamt YYSTYPE *yyvsp;
1330 1.1.4.2 yamt
1331 1.1.4.2 yamt /* The location stack. */
1332 1.1.4.2 yamt YYLTYPE yylsa[YYINITDEPTH];
1333 1.1.4.2 yamt YYLTYPE *yyls = yylsa;
1334 1.1.4.2 yamt YYLTYPE *yylsp;
1335 1.1.4.2 yamt /* The locations where the error started and ended. */
1336 1.1.4.2 yamt YYLTYPE yyerror_range[2];
1337 1.1.4.2 yamt
1338 1.1.4.2 yamt #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
1339 1.1.4.2 yamt
1340 1.1.4.2 yamt YYSIZE_T yystacksize = YYINITDEPTH;
1341 1.1.4.2 yamt
1342 1.1.4.2 yamt /* The variables used to return semantic value and location from the
1343 1.1.4.2 yamt action routines. */
1344 1.1.4.2 yamt YYSTYPE yyval;
1345 1.1.4.2 yamt YYLTYPE yyloc;
1346 1.1.4.2 yamt
1347 1.1.4.2 yamt /* When reducing, the number of symbols on the RHS of the reduced
1348 1.1.4.2 yamt rule. */
1349 1.1.4.2 yamt int yylen;
1350 1.1.4.2 yamt
1351 1.1.4.2 yamt YYDPRINTF ((stderr, "Starting parse\n"));
1352 1.1.4.2 yamt
1353 1.1.4.2 yamt yystate = 0;
1354 1.1.4.2 yamt yyerrstatus = 0;
1355 1.1.4.2 yamt yynerrs = 0;
1356 1.1.4.2 yamt yychar = YYEMPTY; /* Cause a token to be read. */
1357 1.1.4.2 yamt
1358 1.1.4.2 yamt /* Initialize stack pointers.
1359 1.1.4.2 yamt Waste one element of value and location stack
1360 1.1.4.2 yamt so that they stay on the same level as the state stack.
1361 1.1.4.2 yamt The wasted elements are never initialized. */
1362 1.1.4.2 yamt
1363 1.1.4.2 yamt yyssp = yyss;
1364 1.1.4.2 yamt yyvsp = yyvs;
1365 1.1.4.2 yamt yylsp = yyls;
1366 1.1.4.2 yamt #if YYLTYPE_IS_TRIVIAL
1367 1.1.4.2 yamt /* Initialize the default location before parsing starts. */
1368 1.1.4.2 yamt yylloc.first_line = yylloc.last_line = 1;
1369 1.1.4.2 yamt yylloc.first_column = yylloc.last_column = 0;
1370 1.1.4.2 yamt #endif
1371 1.1.4.2 yamt
1372 1.1.4.2 yamt goto yysetstate;
1373 1.1.4.2 yamt
1374 1.1.4.2 yamt /*------------------------------------------------------------.
1375 1.1.4.2 yamt | yynewstate -- Push a new state, which is found in yystate. |
1376 1.1.4.2 yamt `------------------------------------------------------------*/
1377 1.1.4.2 yamt yynewstate:
1378 1.1.4.2 yamt /* In all cases, when you get here, the value and location stacks
1379 1.1.4.2 yamt have just been pushed. so pushing a state here evens the stacks.
1380 1.1.4.2 yamt */
1381 1.1.4.2 yamt yyssp++;
1382 1.1.4.2 yamt
1383 1.1.4.2 yamt yysetstate:
1384 1.1.4.2 yamt *yyssp = yystate;
1385 1.1.4.2 yamt
1386 1.1.4.2 yamt if (yyss + yystacksize - 1 <= yyssp)
1387 1.1.4.2 yamt {
1388 1.1.4.2 yamt /* Get the current used size of the three stacks, in elements. */
1389 1.1.4.2 yamt YYSIZE_T yysize = yyssp - yyss + 1;
1390 1.1.4.2 yamt
1391 1.1.4.2 yamt #ifdef yyoverflow
1392 1.1.4.2 yamt {
1393 1.1.4.2 yamt /* Give user a chance to reallocate the stack. Use copies of
1394 1.1.4.2 yamt these so that the &'s don't force the real ones into
1395 1.1.4.2 yamt memory. */
1396 1.1.4.2 yamt YYSTYPE *yyvs1 = yyvs;
1397 1.1.4.2 yamt short int *yyss1 = yyss;
1398 1.1.4.2 yamt YYLTYPE *yyls1 = yyls;
1399 1.1.4.2 yamt
1400 1.1.4.2 yamt /* Each stack pointer address is followed by the size of the
1401 1.1.4.2 yamt data in use in that stack, in bytes. This used to be a
1402 1.1.4.2 yamt conditional around just the two extra args, but that might
1403 1.1.4.2 yamt be undefined if yyoverflow is a macro. */
1404 1.1.4.2 yamt yyoverflow (YY_("memory exhausted"),
1405 1.1.4.2 yamt &yyss1, yysize * sizeof (*yyssp),
1406 1.1.4.2 yamt &yyvs1, yysize * sizeof (*yyvsp),
1407 1.1.4.2 yamt &yyls1, yysize * sizeof (*yylsp),
1408 1.1.4.2 yamt &yystacksize);
1409 1.1.4.2 yamt yyls = yyls1;
1410 1.1.4.2 yamt yyss = yyss1;
1411 1.1.4.2 yamt yyvs = yyvs1;
1412 1.1.4.2 yamt }
1413 1.1.4.2 yamt #else /* no yyoverflow */
1414 1.1.4.2 yamt # ifndef YYSTACK_RELOCATE
1415 1.1.4.2 yamt goto yyexhaustedlab;
1416 1.1.4.2 yamt # else
1417 1.1.4.2 yamt /* Extend the stack our own way. */
1418 1.1.4.2 yamt if (YYMAXDEPTH <= yystacksize)
1419 1.1.4.2 yamt goto yyexhaustedlab;
1420 1.1.4.2 yamt yystacksize *= 2;
1421 1.1.4.2 yamt if (YYMAXDEPTH < yystacksize)
1422 1.1.4.2 yamt yystacksize = YYMAXDEPTH;
1423 1.1.4.2 yamt
1424 1.1.4.2 yamt {
1425 1.1.4.2 yamt short int *yyss1 = yyss;
1426 1.1.4.2 yamt union yyalloc *yyptr =
1427 1.1.4.2 yamt (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
1428 1.1.4.2 yamt if (! yyptr)
1429 1.1.4.2 yamt goto yyexhaustedlab;
1430 1.1.4.2 yamt YYSTACK_RELOCATE (yyss);
1431 1.1.4.2 yamt YYSTACK_RELOCATE (yyvs);
1432 1.1.4.2 yamt YYSTACK_RELOCATE (yyls);
1433 1.1.4.2 yamt # undef YYSTACK_RELOCATE
1434 1.1.4.2 yamt if (yyss1 != yyssa)
1435 1.1.4.2 yamt YYSTACK_FREE (yyss1);
1436 1.1.4.2 yamt }
1437 1.1.4.2 yamt # endif
1438 1.1.4.2 yamt #endif /* no yyoverflow */
1439 1.1.4.2 yamt
1440 1.1.4.2 yamt yyssp = yyss + yysize - 1;
1441 1.1.4.2 yamt yyvsp = yyvs + yysize - 1;
1442 1.1.4.2 yamt yylsp = yyls + yysize - 1;
1443 1.1.4.2 yamt
1444 1.1.4.2 yamt YYDPRINTF ((stderr, "Stack size increased to %lu\n",
1445 1.1.4.2 yamt (unsigned long int) yystacksize));
1446 1.1.4.2 yamt
1447 1.1.4.2 yamt if (yyss + yystacksize - 1 <= yyssp)
1448 1.1.4.2 yamt YYABORT;
1449 1.1.4.2 yamt }
1450 1.1.4.2 yamt
1451 1.1.4.2 yamt YYDPRINTF ((stderr, "Entering state %d\n", yystate));
1452 1.1.4.2 yamt
1453 1.1.4.2 yamt goto yybackup;
1454 1.1.4.2 yamt
1455 1.1.4.2 yamt /*-----------.
1456 1.1.4.2 yamt | yybackup. |
1457 1.1.4.2 yamt `-----------*/
1458 1.1.4.2 yamt yybackup:
1459 1.1.4.2 yamt
1460 1.1.4.2 yamt /* Do appropriate processing given the current state. */
1461 1.1.4.2 yamt /* Read a look-ahead token if we need one and don't already have one. */
1462 1.1.4.2 yamt /* yyresume: */
1463 1.1.4.2 yamt
1464 1.1.4.2 yamt /* First try to decide what to do without reference to look-ahead token. */
1465 1.1.4.2 yamt
1466 1.1.4.2 yamt yyn = yypact[yystate];
1467 1.1.4.2 yamt if (yyn == YYPACT_NINF)
1468 1.1.4.2 yamt goto yydefault;
1469 1.1.4.2 yamt
1470 1.1.4.2 yamt /* Not known => get a look-ahead token if don't already have one. */
1471 1.1.4.2 yamt
1472 1.1.4.2 yamt /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */
1473 1.1.4.2 yamt if (yychar == YYEMPTY)
1474 1.1.4.2 yamt {
1475 1.1.4.2 yamt YYDPRINTF ((stderr, "Reading a token: "));
1476 1.1.4.2 yamt yychar = YYLEX;
1477 1.1.4.2 yamt }
1478 1.1.4.2 yamt
1479 1.1.4.2 yamt if (yychar <= YYEOF)
1480 1.1.4.2 yamt {
1481 1.1.4.2 yamt yychar = yytoken = YYEOF;
1482 1.1.4.2 yamt YYDPRINTF ((stderr, "Now at end of input.\n"));
1483 1.1.4.2 yamt }
1484 1.1.4.2 yamt else
1485 1.1.4.2 yamt {
1486 1.1.4.2 yamt yytoken = YYTRANSLATE (yychar);
1487 1.1.4.2 yamt YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
1488 1.1.4.2 yamt }
1489 1.1.4.2 yamt
1490 1.1.4.2 yamt /* If the proper action on seeing token YYTOKEN is to reduce or to
1491 1.1.4.2 yamt detect an error, take that action. */
1492 1.1.4.2 yamt yyn += yytoken;
1493 1.1.4.2 yamt if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
1494 1.1.4.2 yamt goto yydefault;
1495 1.1.4.2 yamt yyn = yytable[yyn];
1496 1.1.4.2 yamt if (yyn <= 0)
1497 1.1.4.2 yamt {
1498 1.1.4.2 yamt if (yyn == 0 || yyn == YYTABLE_NINF)
1499 1.1.4.2 yamt goto yyerrlab;
1500 1.1.4.2 yamt yyn = -yyn;
1501 1.1.4.2 yamt goto yyreduce;
1502 1.1.4.2 yamt }
1503 1.1.4.2 yamt
1504 1.1.4.2 yamt if (yyn == YYFINAL)
1505 1.1.4.2 yamt YYACCEPT;
1506 1.1.4.2 yamt
1507 1.1.4.2 yamt /* Shift the look-ahead token. */
1508 1.1.4.2 yamt YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
1509 1.1.4.2 yamt
1510 1.1.4.2 yamt /* Discard the token being shifted unless it is eof. */
1511 1.1.4.2 yamt if (yychar != YYEOF)
1512 1.1.4.2 yamt yychar = YYEMPTY;
1513 1.1.4.2 yamt
1514 1.1.4.2 yamt *++yyvsp = yylval;
1515 1.1.4.2 yamt *++yylsp = yylloc;
1516 1.1.4.2 yamt
1517 1.1.4.2 yamt /* Count tokens shifted since error; after three, turn off error
1518 1.1.4.2 yamt status. */
1519 1.1.4.2 yamt if (yyerrstatus)
1520 1.1.4.2 yamt yyerrstatus--;
1521 1.1.4.2 yamt
1522 1.1.4.2 yamt yystate = yyn;
1523 1.1.4.2 yamt goto yynewstate;
1524 1.1.4.2 yamt
1525 1.1.4.2 yamt
1526 1.1.4.2 yamt /*-----------------------------------------------------------.
1527 1.1.4.2 yamt | yydefault -- do the default action for the current state. |
1528 1.1.4.2 yamt `-----------------------------------------------------------*/
1529 1.1.4.2 yamt yydefault:
1530 1.1.4.2 yamt yyn = yydefact[yystate];
1531 1.1.4.2 yamt if (yyn == 0)
1532 1.1.4.2 yamt goto yyerrlab;
1533 1.1.4.2 yamt goto yyreduce;
1534 1.1.4.2 yamt
1535 1.1.4.2 yamt
1536 1.1.4.2 yamt /*-----------------------------.
1537 1.1.4.2 yamt | yyreduce -- Do a reduction. |
1538 1.1.4.2 yamt `-----------------------------*/
1539 1.1.4.2 yamt yyreduce:
1540 1.1.4.2 yamt /* yyn is the number of a rule to reduce with. */
1541 1.1.4.2 yamt yylen = yyr2[yyn];
1542 1.1.4.2 yamt
1543 1.1.4.2 yamt /* If YYLEN is nonzero, implement the default value of the action:
1544 1.1.4.2 yamt `$$ = $1'.
1545 1.1.4.2 yamt
1546 1.1.4.2 yamt Otherwise, the following line sets YYVAL to garbage.
1547 1.1.4.2 yamt This behavior is undocumented and Bison
1548 1.1.4.2 yamt users should not rely upon it. Assigning to YYVAL
1549 1.1.4.2 yamt unconditionally makes the parser a bit smaller, and it avoids a
1550 1.1.4.2 yamt GCC warning that YYVAL may be used uninitialized. */
1551 1.1.4.2 yamt yyval = yyvsp[1-yylen];
1552 1.1.4.2 yamt
1553 1.1.4.2 yamt /* Default location. */
1554 1.1.4.2 yamt YYLLOC_DEFAULT (yyloc, yylsp - yylen, yylen);
1555 1.1.4.2 yamt YY_REDUCE_PRINT (yyn);
1556 1.1.4.2 yamt switch (yyn)
1557 1.1.4.2 yamt {
1558 1.1.4.2 yamt case 2:
1559 1.1.4.2 yamt #line 163 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1560 1.1.4.2 yamt {
1561 1.1.4.2 yamt CommandFileASTNode * commandFile = new CommandFileASTNode();
1562 1.1.4.2 yamt commandFile->setBlocks(dynamic_cast<ListASTNode*>((yyvsp[-1].m_ast)));
1563 1.1.4.2 yamt commandFile->setSections(dynamic_cast<ListASTNode*>((yyvsp[0].m_ast)));
1564 1.1.4.2 yamt commandFile->setLocation((yylsp[-1]), (yylsp[0]));
1565 1.1.4.2 yamt *resultAST = commandFile;
1566 1.1.4.2 yamt ;}
1567 1.1.4.2 yamt break;
1568 1.1.4.2 yamt
1569 1.1.4.2 yamt case 3:
1570 1.1.4.2 yamt #line 173 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1571 1.1.4.2 yamt {
1572 1.1.4.2 yamt ListASTNode * list = new ListASTNode();
1573 1.1.4.2 yamt list->appendNode((yyvsp[0].m_ast));
1574 1.1.4.2 yamt (yyval.m_ast) = list;
1575 1.1.4.2 yamt ;}
1576 1.1.4.2 yamt break;
1577 1.1.4.2 yamt
1578 1.1.4.2 yamt case 4:
1579 1.1.4.2 yamt #line 179 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1580 1.1.4.2 yamt {
1581 1.1.4.2 yamt dynamic_cast<ListASTNode*>((yyvsp[-1].m_ast))->appendNode((yyvsp[0].m_ast));
1582 1.1.4.2 yamt (yyval.m_ast) = (yyvsp[-1].m_ast);
1583 1.1.4.2 yamt ;}
1584 1.1.4.2 yamt break;
1585 1.1.4.2 yamt
1586 1.1.4.2 yamt case 5:
1587 1.1.4.2 yamt #line 186 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1588 1.1.4.2 yamt { (yyval.m_ast) = (yyvsp[0].m_ast); ;}
1589 1.1.4.2 yamt break;
1590 1.1.4.2 yamt
1591 1.1.4.2 yamt case 6:
1592 1.1.4.2 yamt #line 187 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1593 1.1.4.2 yamt { (yyval.m_ast) = (yyvsp[0].m_ast); ;}
1594 1.1.4.2 yamt break;
1595 1.1.4.2 yamt
1596 1.1.4.2 yamt case 7:
1597 1.1.4.2 yamt #line 188 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1598 1.1.4.2 yamt { (yyval.m_ast) = (yyvsp[0].m_ast); ;}
1599 1.1.4.2 yamt break;
1600 1.1.4.2 yamt
1601 1.1.4.2 yamt case 8:
1602 1.1.4.2 yamt #line 192 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1603 1.1.4.2 yamt {
1604 1.1.4.2 yamt (yyval.m_ast) = new OptionsBlockASTNode(dynamic_cast<ListASTNode *>((yyvsp[-1].m_ast)));
1605 1.1.4.2 yamt ;}
1606 1.1.4.2 yamt break;
1607 1.1.4.2 yamt
1608 1.1.4.2 yamt case 9:
1609 1.1.4.2 yamt #line 198 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1610 1.1.4.2 yamt {
1611 1.1.4.2 yamt (yyval.m_ast) = new ConstantsBlockASTNode(dynamic_cast<ListASTNode *>((yyvsp[-1].m_ast)));
1612 1.1.4.2 yamt ;}
1613 1.1.4.2 yamt break;
1614 1.1.4.2 yamt
1615 1.1.4.2 yamt case 10:
1616 1.1.4.2 yamt #line 204 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1617 1.1.4.2 yamt {
1618 1.1.4.2 yamt ListASTNode * list = new ListASTNode();
1619 1.1.4.2 yamt list->appendNode((yyvsp[0].m_ast));
1620 1.1.4.2 yamt (yyval.m_ast) = list;
1621 1.1.4.2 yamt ;}
1622 1.1.4.2 yamt break;
1623 1.1.4.2 yamt
1624 1.1.4.2 yamt case 11:
1625 1.1.4.2 yamt #line 210 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1626 1.1.4.2 yamt {
1627 1.1.4.2 yamt dynamic_cast<ListASTNode*>((yyvsp[-1].m_ast))->appendNode((yyvsp[0].m_ast));
1628 1.1.4.2 yamt (yyval.m_ast) = (yyvsp[-1].m_ast);
1629 1.1.4.2 yamt ;}
1630 1.1.4.2 yamt break;
1631 1.1.4.2 yamt
1632 1.1.4.2 yamt case 12:
1633 1.1.4.2 yamt #line 216 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1634 1.1.4.2 yamt { (yyval.m_ast) = (yyvsp[-1].m_ast); ;}
1635 1.1.4.2 yamt break;
1636 1.1.4.2 yamt
1637 1.1.4.2 yamt case 13:
1638 1.1.4.2 yamt #line 217 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1639 1.1.4.2 yamt { (yyval.m_ast) = NULL; ;}
1640 1.1.4.2 yamt break;
1641 1.1.4.2 yamt
1642 1.1.4.2 yamt case 14:
1643 1.1.4.2 yamt #line 221 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1644 1.1.4.2 yamt {
1645 1.1.4.2 yamt (yyval.m_ast) = new AssignmentASTNode((yyvsp[-2].m_str), (yyvsp[0].m_ast));
1646 1.1.4.2 yamt (yyval.m_ast)->setLocation((yylsp[-2]), (yylsp[0]));
1647 1.1.4.2 yamt ;}
1648 1.1.4.2 yamt break;
1649 1.1.4.2 yamt
1650 1.1.4.2 yamt case 15:
1651 1.1.4.2 yamt #line 228 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1652 1.1.4.2 yamt {
1653 1.1.4.2 yamt (yyval.m_ast) = new SourcesBlockASTNode(dynamic_cast<ListASTNode *>((yyvsp[-1].m_ast)));
1654 1.1.4.2 yamt ;}
1655 1.1.4.2 yamt break;
1656 1.1.4.2 yamt
1657 1.1.4.2 yamt case 16:
1658 1.1.4.2 yamt #line 234 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1659 1.1.4.2 yamt {
1660 1.1.4.2 yamt ListASTNode * list = new ListASTNode();
1661 1.1.4.2 yamt list->appendNode((yyvsp[0].m_ast));
1662 1.1.4.2 yamt (yyval.m_ast) = list;
1663 1.1.4.2 yamt ;}
1664 1.1.4.2 yamt break;
1665 1.1.4.2 yamt
1666 1.1.4.2 yamt case 17:
1667 1.1.4.2 yamt #line 240 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1668 1.1.4.2 yamt {
1669 1.1.4.2 yamt dynamic_cast<ListASTNode*>((yyvsp[-1].m_ast))->appendNode((yyvsp[0].m_ast));
1670 1.1.4.2 yamt (yyval.m_ast) = (yyvsp[-1].m_ast);
1671 1.1.4.2 yamt ;}
1672 1.1.4.2 yamt break;
1673 1.1.4.2 yamt
1674 1.1.4.2 yamt case 18:
1675 1.1.4.2 yamt #line 248 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1676 1.1.4.2 yamt {
1677 1.1.4.2 yamt // tell the lexer that this is the name of a source file
1678 1.1.4.2 yamt SourceDefASTNode * node = dynamic_cast<SourceDefASTNode*>((yyvsp[-2].m_ast));
1679 1.1.4.2 yamt if ((yyvsp[-1].m_ast))
1680 1.1.4.2 yamt {
1681 1.1.4.2 yamt node->setAttributes(dynamic_cast<ListASTNode*>((yyvsp[-1].m_ast)));
1682 1.1.4.2 yamt }
1683 1.1.4.2 yamt node->setLocation(node->getLocation(), (yylsp[0]));
1684 1.1.4.2 yamt lexer->addSourceName(node->getName());
1685 1.1.4.2 yamt (yyval.m_ast) = (yyvsp[-2].m_ast);
1686 1.1.4.2 yamt ;}
1687 1.1.4.2 yamt break;
1688 1.1.4.2 yamt
1689 1.1.4.2 yamt case 19:
1690 1.1.4.2 yamt #line 259 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1691 1.1.4.2 yamt { (yyval.m_ast) = NULL; ;}
1692 1.1.4.2 yamt break;
1693 1.1.4.2 yamt
1694 1.1.4.2 yamt case 20:
1695 1.1.4.2 yamt #line 263 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1696 1.1.4.2 yamt {
1697 1.1.4.2 yamt (yyval.m_ast) = new PathSourceDefASTNode((yyvsp[-2].m_str), (yyvsp[0].m_str));
1698 1.1.4.2 yamt (yyval.m_ast)->setLocation((yylsp[-2]), (yylsp[0]));
1699 1.1.4.2 yamt ;}
1700 1.1.4.2 yamt break;
1701 1.1.4.2 yamt
1702 1.1.4.2 yamt case 21:
1703 1.1.4.2 yamt #line 268 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1704 1.1.4.2 yamt {
1705 1.1.4.2 yamt (yyval.m_ast) = new ExternSourceDefASTNode((yyvsp[-5].m_str), dynamic_cast<ExprASTNode*>((yyvsp[-1].m_ast)));
1706 1.1.4.2 yamt (yyval.m_ast)->setLocation((yylsp[-5]), (yylsp[0]));
1707 1.1.4.2 yamt ;}
1708 1.1.4.2 yamt break;
1709 1.1.4.2 yamt
1710 1.1.4.2 yamt case 22:
1711 1.1.4.2 yamt #line 275 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1712 1.1.4.2 yamt { (yyval.m_ast) = (yyvsp[-1].m_ast); ;}
1713 1.1.4.2 yamt break;
1714 1.1.4.2 yamt
1715 1.1.4.2 yamt case 23:
1716 1.1.4.2 yamt #line 276 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1717 1.1.4.2 yamt { (yyval.m_ast) = NULL; ;}
1718 1.1.4.2 yamt break;
1719 1.1.4.2 yamt
1720 1.1.4.2 yamt case 24:
1721 1.1.4.2 yamt #line 281 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1722 1.1.4.2 yamt {
1723 1.1.4.2 yamt ListASTNode * list = new ListASTNode();
1724 1.1.4.2 yamt list->appendNode((yyvsp[0].m_ast));
1725 1.1.4.2 yamt (yyval.m_ast) = list;
1726 1.1.4.2 yamt ;}
1727 1.1.4.2 yamt break;
1728 1.1.4.2 yamt
1729 1.1.4.2 yamt case 25:
1730 1.1.4.2 yamt #line 287 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1731 1.1.4.2 yamt {
1732 1.1.4.2 yamt dynamic_cast<ListASTNode*>((yyvsp[-2].m_ast))->appendNode((yyvsp[0].m_ast));
1733 1.1.4.2 yamt (yyval.m_ast) = (yyvsp[-2].m_ast);
1734 1.1.4.2 yamt ;}
1735 1.1.4.2 yamt break;
1736 1.1.4.2 yamt
1737 1.1.4.2 yamt case 26:
1738 1.1.4.2 yamt #line 295 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1739 1.1.4.2 yamt {
1740 1.1.4.2 yamt (yyval.m_ast) = new AssignmentASTNode((yyvsp[-2].m_str), (yyvsp[0].m_ast));
1741 1.1.4.2 yamt (yyval.m_ast)->setLocation((yylsp[-2]), (yylsp[0]));
1742 1.1.4.2 yamt ;}
1743 1.1.4.2 yamt break;
1744 1.1.4.2 yamt
1745 1.1.4.2 yamt case 27:
1746 1.1.4.2 yamt #line 302 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1747 1.1.4.2 yamt {
1748 1.1.4.2 yamt ListASTNode * list = new ListASTNode();
1749 1.1.4.2 yamt list->appendNode((yyvsp[0].m_ast));
1750 1.1.4.2 yamt (yyval.m_ast) = list;
1751 1.1.4.2 yamt ;}
1752 1.1.4.2 yamt break;
1753 1.1.4.2 yamt
1754 1.1.4.2 yamt case 28:
1755 1.1.4.2 yamt #line 308 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1756 1.1.4.2 yamt {
1757 1.1.4.2 yamt dynamic_cast<ListASTNode*>((yyvsp[-1].m_ast))->appendNode((yyvsp[0].m_ast));
1758 1.1.4.2 yamt (yyval.m_ast) = (yyvsp[-1].m_ast);
1759 1.1.4.2 yamt ;}
1760 1.1.4.2 yamt break;
1761 1.1.4.2 yamt
1762 1.1.4.2 yamt case 29:
1763 1.1.4.2 yamt #line 315 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1764 1.1.4.2 yamt {
1765 1.1.4.2 yamt SectionContentsASTNode * sectionNode = dynamic_cast<SectionContentsASTNode*>((yyvsp[0].m_ast));
1766 1.1.4.2 yamt if (sectionNode)
1767 1.1.4.2 yamt {
1768 1.1.4.2 yamt ExprASTNode * exprNode = dynamic_cast<ExprASTNode*>((yyvsp[-3].m_ast));
1769 1.1.4.2 yamt sectionNode->setSectionNumberExpr(exprNode);
1770 1.1.4.2 yamt sectionNode->setOptions(dynamic_cast<ListASTNode*>((yyvsp[-2].m_ast)));
1771 1.1.4.2 yamt sectionNode->setLocation((yylsp[-5]), sectionNode->getLocation());
1772 1.1.4.2 yamt }
1773 1.1.4.2 yamt (yyval.m_ast) = (yyvsp[0].m_ast);
1774 1.1.4.2 yamt ;}
1775 1.1.4.2 yamt break;
1776 1.1.4.2 yamt
1777 1.1.4.2 yamt case 30:
1778 1.1.4.2 yamt #line 330 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1779 1.1.4.2 yamt {
1780 1.1.4.2 yamt (yyval.m_ast) = (yyvsp[0].m_ast);
1781 1.1.4.2 yamt ;}
1782 1.1.4.2 yamt break;
1783 1.1.4.2 yamt
1784 1.1.4.2 yamt case 31:
1785 1.1.4.2 yamt #line 334 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1786 1.1.4.2 yamt {
1787 1.1.4.2 yamt (yyval.m_ast) = NULL;
1788 1.1.4.2 yamt ;}
1789 1.1.4.2 yamt break;
1790 1.1.4.2 yamt
1791 1.1.4.2 yamt case 32:
1792 1.1.4.2 yamt #line 341 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1793 1.1.4.2 yamt {
1794 1.1.4.2 yamt (yyval.m_ast) = (yyvsp[0].m_ast);
1795 1.1.4.2 yamt ;}
1796 1.1.4.2 yamt break;
1797 1.1.4.2 yamt
1798 1.1.4.2 yamt case 33:
1799 1.1.4.2 yamt #line 345 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1800 1.1.4.2 yamt {
1801 1.1.4.2 yamt (yyval.m_ast) = NULL;
1802 1.1.4.2 yamt ;}
1803 1.1.4.2 yamt break;
1804 1.1.4.2 yamt
1805 1.1.4.2 yamt case 34:
1806 1.1.4.2 yamt #line 352 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1807 1.1.4.2 yamt {
1808 1.1.4.2 yamt DataSectionContentsASTNode * dataSection = new DataSectionContentsASTNode((yyvsp[-1].m_ast));
1809 1.1.4.2 yamt dataSection->setLocation((yylsp[-2]), (yylsp[0]));
1810 1.1.4.2 yamt (yyval.m_ast) = dataSection;
1811 1.1.4.2 yamt ;}
1812 1.1.4.2 yamt break;
1813 1.1.4.2 yamt
1814 1.1.4.2 yamt case 35:
1815 1.1.4.2 yamt #line 358 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1816 1.1.4.2 yamt {
1817 1.1.4.2 yamt ListASTNode * listNode = dynamic_cast<ListASTNode*>((yyvsp[-1].m_ast));
1818 1.1.4.2 yamt (yyval.m_ast) = new BootableSectionContentsASTNode(listNode);
1819 1.1.4.2 yamt (yyval.m_ast)->setLocation((yylsp[-2]), (yylsp[0]));
1820 1.1.4.2 yamt ;}
1821 1.1.4.2 yamt break;
1822 1.1.4.2 yamt
1823 1.1.4.2 yamt case 36:
1824 1.1.4.2 yamt #line 366 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1825 1.1.4.2 yamt {
1826 1.1.4.2 yamt ListASTNode * list = new ListASTNode();
1827 1.1.4.2 yamt list->appendNode((yyvsp[0].m_ast));
1828 1.1.4.2 yamt (yyval.m_ast) = list;
1829 1.1.4.2 yamt ;}
1830 1.1.4.2 yamt break;
1831 1.1.4.2 yamt
1832 1.1.4.2 yamt case 37:
1833 1.1.4.2 yamt #line 372 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1834 1.1.4.2 yamt {
1835 1.1.4.2 yamt dynamic_cast<ListASTNode*>((yyvsp[-1].m_ast))->appendNode((yyvsp[0].m_ast));
1836 1.1.4.2 yamt (yyval.m_ast) = (yyvsp[-1].m_ast);
1837 1.1.4.2 yamt ;}
1838 1.1.4.2 yamt break;
1839 1.1.4.2 yamt
1840 1.1.4.2 yamt case 38:
1841 1.1.4.2 yamt #line 379 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1842 1.1.4.2 yamt { (yyval.m_ast) = (yyvsp[-1].m_ast); ;}
1843 1.1.4.2 yamt break;
1844 1.1.4.2 yamt
1845 1.1.4.2 yamt case 39:
1846 1.1.4.2 yamt #line 380 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1847 1.1.4.2 yamt { (yyval.m_ast) = (yyvsp[0].m_ast); ;}
1848 1.1.4.2 yamt break;
1849 1.1.4.2 yamt
1850 1.1.4.2 yamt case 40:
1851 1.1.4.2 yamt #line 381 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1852 1.1.4.2 yamt { (yyval.m_ast) = (yyvsp[0].m_ast); ;}
1853 1.1.4.2 yamt break;
1854 1.1.4.2 yamt
1855 1.1.4.2 yamt case 41:
1856 1.1.4.2 yamt #line 382 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1857 1.1.4.2 yamt { (yyval.m_ast) = NULL; ;}
1858 1.1.4.2 yamt break;
1859 1.1.4.2 yamt
1860 1.1.4.2 yamt case 42:
1861 1.1.4.2 yamt #line 386 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1862 1.1.4.2 yamt {
1863 1.1.4.2 yamt ListASTNode * list = new ListASTNode();
1864 1.1.4.2 yamt list->appendNode((yyvsp[0].m_ast));
1865 1.1.4.2 yamt (yyval.m_ast) = list;
1866 1.1.4.2 yamt ;}
1867 1.1.4.2 yamt break;
1868 1.1.4.2 yamt
1869 1.1.4.2 yamt case 43:
1870 1.1.4.2 yamt #line 392 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1871 1.1.4.2 yamt {
1872 1.1.4.2 yamt dynamic_cast<ListASTNode*>((yyvsp[-1].m_ast))->appendNode((yyvsp[0].m_ast));
1873 1.1.4.2 yamt (yyval.m_ast) = (yyvsp[-1].m_ast);
1874 1.1.4.2 yamt ;}
1875 1.1.4.2 yamt break;
1876 1.1.4.2 yamt
1877 1.1.4.2 yamt case 44:
1878 1.1.4.2 yamt #line 399 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1879 1.1.4.2 yamt { (yyval.m_ast) = (yyvsp[-1].m_ast); ;}
1880 1.1.4.2 yamt break;
1881 1.1.4.2 yamt
1882 1.1.4.2 yamt case 45:
1883 1.1.4.2 yamt #line 400 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1884 1.1.4.2 yamt { (yyval.m_ast) = (yyvsp[0].m_ast); ;}
1885 1.1.4.2 yamt break;
1886 1.1.4.2 yamt
1887 1.1.4.2 yamt case 46:
1888 1.1.4.2 yamt #line 401 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1889 1.1.4.2 yamt { (yyval.m_ast) = NULL; ;}
1890 1.1.4.2 yamt break;
1891 1.1.4.2 yamt
1892 1.1.4.2 yamt case 47:
1893 1.1.4.2 yamt #line 404 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1894 1.1.4.2 yamt { (yyval.m_ast) = (yyvsp[0].m_ast); ;}
1895 1.1.4.2 yamt break;
1896 1.1.4.2 yamt
1897 1.1.4.2 yamt case 48:
1898 1.1.4.2 yamt #line 405 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1899 1.1.4.2 yamt { (yyval.m_ast) = (yyvsp[0].m_ast); ;}
1900 1.1.4.2 yamt break;
1901 1.1.4.2 yamt
1902 1.1.4.2 yamt case 49:
1903 1.1.4.2 yamt #line 406 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1904 1.1.4.2 yamt { (yyval.m_ast) = (yyvsp[0].m_ast); ;}
1905 1.1.4.2 yamt break;
1906 1.1.4.2 yamt
1907 1.1.4.2 yamt case 50:
1908 1.1.4.2 yamt #line 407 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1909 1.1.4.2 yamt { (yyval.m_ast) = (yyvsp[0].m_ast); ;}
1910 1.1.4.2 yamt break;
1911 1.1.4.2 yamt
1912 1.1.4.2 yamt case 51:
1913 1.1.4.2 yamt #line 411 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1914 1.1.4.2 yamt {
1915 1.1.4.2 yamt LoadStatementASTNode * stmt = new LoadStatementASTNode();
1916 1.1.4.2 yamt stmt->setData((yyvsp[-1].m_ast));
1917 1.1.4.2 yamt stmt->setTarget((yyvsp[0].m_ast));
1918 1.1.4.2 yamt // set dcd load flag if the "dcd" keyword was present.
1919 1.1.4.2 yamt if ((yyvsp[-2].m_num))
1920 1.1.4.2 yamt {
1921 1.1.4.2 yamt stmt->setDCDLoad(true);
1922 1.1.4.2 yamt }
1923 1.1.4.2 yamt // set char locations for the statement
1924 1.1.4.2 yamt if ((yyvsp[0].m_ast))
1925 1.1.4.2 yamt {
1926 1.1.4.2 yamt stmt->setLocation((yylsp[-3]), (yylsp[0]));
1927 1.1.4.2 yamt }
1928 1.1.4.2 yamt else
1929 1.1.4.2 yamt {
1930 1.1.4.2 yamt stmt->setLocation((yylsp[-3]), (yylsp[-1]));
1931 1.1.4.2 yamt }
1932 1.1.4.2 yamt (yyval.m_ast) = stmt;
1933 1.1.4.2 yamt ;}
1934 1.1.4.2 yamt break;
1935 1.1.4.2 yamt
1936 1.1.4.2 yamt case 52:
1937 1.1.4.2 yamt #line 434 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1938 1.1.4.2 yamt {
1939 1.1.4.2 yamt if (!elftosb::g_enableHABSupport)
1940 1.1.4.2 yamt {
1941 1.1.4.2 yamt yyerror(&yylloc, lexer, resultAST, "HAB features not supported with the selected family");
1942 1.1.4.2 yamt YYABORT;
1943 1.1.4.2 yamt }
1944 1.1.4.2 yamt
1945 1.1.4.2 yamt (yyval.m_num) = 1;
1946 1.1.4.2 yamt ;}
1947 1.1.4.2 yamt break;
1948 1.1.4.2 yamt
1949 1.1.4.2 yamt case 53:
1950 1.1.4.2 yamt #line 443 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1951 1.1.4.2 yamt { (yyval.m_num) = 0; ;}
1952 1.1.4.2 yamt break;
1953 1.1.4.2 yamt
1954 1.1.4.2 yamt case 54:
1955 1.1.4.2 yamt #line 446 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1956 1.1.4.2 yamt {
1957 1.1.4.2 yamt (yyval.m_ast) = (yyvsp[0].m_ast);
1958 1.1.4.2 yamt ;}
1959 1.1.4.2 yamt break;
1960 1.1.4.2 yamt
1961 1.1.4.2 yamt case 55:
1962 1.1.4.2 yamt #line 450 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1963 1.1.4.2 yamt {
1964 1.1.4.2 yamt (yyval.m_ast) = new StringConstASTNode((yyvsp[0].m_str));
1965 1.1.4.2 yamt (yyval.m_ast)->setLocation((yylsp[0]));
1966 1.1.4.2 yamt ;}
1967 1.1.4.2 yamt break;
1968 1.1.4.2 yamt
1969 1.1.4.2 yamt case 56:
1970 1.1.4.2 yamt #line 455 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1971 1.1.4.2 yamt {
1972 1.1.4.2 yamt (yyval.m_ast) = new SourceASTNode((yyvsp[0].m_str));
1973 1.1.4.2 yamt (yyval.m_ast)->setLocation((yylsp[0]));
1974 1.1.4.2 yamt ;}
1975 1.1.4.2 yamt break;
1976 1.1.4.2 yamt
1977 1.1.4.2 yamt case 57:
1978 1.1.4.2 yamt #line 460 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1979 1.1.4.2 yamt {
1980 1.1.4.2 yamt (yyval.m_ast) = new SectionMatchListASTNode(dynamic_cast<ListASTNode*>((yyvsp[0].m_ast)));
1981 1.1.4.2 yamt (yyval.m_ast)->setLocation((yylsp[0]));
1982 1.1.4.2 yamt ;}
1983 1.1.4.2 yamt break;
1984 1.1.4.2 yamt
1985 1.1.4.2 yamt case 58:
1986 1.1.4.2 yamt #line 465 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1987 1.1.4.2 yamt {
1988 1.1.4.2 yamt (yyval.m_ast) = new SectionMatchListASTNode(dynamic_cast<ListASTNode*>((yyvsp[-2].m_ast)), (yyvsp[0].m_str));
1989 1.1.4.2 yamt (yyval.m_ast)->setLocation((yylsp[-2]), (yylsp[0]));
1990 1.1.4.2 yamt ;}
1991 1.1.4.2 yamt break;
1992 1.1.4.2 yamt
1993 1.1.4.2 yamt case 59:
1994 1.1.4.2 yamt #line 470 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
1995 1.1.4.2 yamt {
1996 1.1.4.2 yamt (yyval.m_ast) = new SectionMatchListASTNode(dynamic_cast<ListASTNode*>((yyvsp[-1].m_ast)), (yyvsp[-3].m_str));
1997 1.1.4.2 yamt (yyval.m_ast)->setLocation((yylsp[-3]), (yylsp[0]));
1998 1.1.4.2 yamt ;}
1999 1.1.4.2 yamt break;
2000 1.1.4.2 yamt
2001 1.1.4.2 yamt case 60:
2002 1.1.4.2 yamt #line 475 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2003 1.1.4.2 yamt {
2004 1.1.4.2 yamt (yyval.m_ast) = new BlobConstASTNode((yyvsp[0].m_blob));
2005 1.1.4.2 yamt (yyval.m_ast)->setLocation((yylsp[0]));
2006 1.1.4.2 yamt ;}
2007 1.1.4.2 yamt break;
2008 1.1.4.2 yamt
2009 1.1.4.2 yamt case 61:
2010 1.1.4.2 yamt #line 480 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2011 1.1.4.2 yamt {
2012 1.1.4.2 yamt ;}
2013 1.1.4.2 yamt break;
2014 1.1.4.2 yamt
2015 1.1.4.2 yamt case 62:
2016 1.1.4.2 yamt #line 485 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2017 1.1.4.2 yamt {
2018 1.1.4.2 yamt ListASTNode * list = new ListASTNode();
2019 1.1.4.2 yamt list->appendNode((yyvsp[0].m_ast));
2020 1.1.4.2 yamt (yyval.m_ast) = list;
2021 1.1.4.2 yamt ;}
2022 1.1.4.2 yamt break;
2023 1.1.4.2 yamt
2024 1.1.4.2 yamt case 63:
2025 1.1.4.2 yamt #line 491 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2026 1.1.4.2 yamt {
2027 1.1.4.2 yamt dynamic_cast<ListASTNode*>((yyvsp[-2].m_ast))->appendNode((yyvsp[0].m_ast));
2028 1.1.4.2 yamt (yyval.m_ast) = (yyvsp[-2].m_ast);
2029 1.1.4.2 yamt ;}
2030 1.1.4.2 yamt break;
2031 1.1.4.2 yamt
2032 1.1.4.2 yamt case 64:
2033 1.1.4.2 yamt #line 499 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2034 1.1.4.2 yamt {
2035 1.1.4.2 yamt (yyval.m_ast) = new SectionASTNode((yyvsp[0].m_str), SectionASTNode::kInclude);
2036 1.1.4.2 yamt (yyval.m_ast)->setLocation((yylsp[0]));
2037 1.1.4.2 yamt ;}
2038 1.1.4.2 yamt break;
2039 1.1.4.2 yamt
2040 1.1.4.2 yamt case 65:
2041 1.1.4.2 yamt #line 504 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2042 1.1.4.2 yamt {
2043 1.1.4.2 yamt (yyval.m_ast) = new SectionASTNode((yyvsp[0].m_str), SectionASTNode::kExclude);
2044 1.1.4.2 yamt (yyval.m_ast)->setLocation((yylsp[-1]), (yylsp[0]));
2045 1.1.4.2 yamt ;}
2046 1.1.4.2 yamt break;
2047 1.1.4.2 yamt
2048 1.1.4.2 yamt case 66:
2049 1.1.4.2 yamt #line 511 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2050 1.1.4.2 yamt {
2051 1.1.4.2 yamt (yyval.m_ast) = (yyvsp[0].m_ast);
2052 1.1.4.2 yamt ;}
2053 1.1.4.2 yamt break;
2054 1.1.4.2 yamt
2055 1.1.4.2 yamt case 67:
2056 1.1.4.2 yamt #line 515 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2057 1.1.4.2 yamt {
2058 1.1.4.2 yamt (yyval.m_ast) = new NaturalLocationASTNode();
2059 1.1.4.2 yamt // $$->setLocation();
2060 1.1.4.2 yamt ;}
2061 1.1.4.2 yamt break;
2062 1.1.4.2 yamt
2063 1.1.4.2 yamt case 68:
2064 1.1.4.2 yamt #line 522 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2065 1.1.4.2 yamt {
2066 1.1.4.2 yamt (yyval.m_ast) = new NaturalLocationASTNode();
2067 1.1.4.2 yamt (yyval.m_ast)->setLocation((yylsp[0]));
2068 1.1.4.2 yamt ;}
2069 1.1.4.2 yamt break;
2070 1.1.4.2 yamt
2071 1.1.4.2 yamt case 69:
2072 1.1.4.2 yamt #line 527 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2073 1.1.4.2 yamt {
2074 1.1.4.2 yamt (yyval.m_ast) = (yyvsp[0].m_ast);
2075 1.1.4.2 yamt ;}
2076 1.1.4.2 yamt break;
2077 1.1.4.2 yamt
2078 1.1.4.2 yamt case 70:
2079 1.1.4.2 yamt #line 533 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2080 1.1.4.2 yamt {
2081 1.1.4.2 yamt IVTConstASTNode * ivt = new IVTConstASTNode();
2082 1.1.4.2 yamt if ((yyvsp[-1].m_ast))
2083 1.1.4.2 yamt {
2084 1.1.4.2 yamt ivt->setFieldAssignments(dynamic_cast<ListASTNode*>((yyvsp[-1].m_ast)));
2085 1.1.4.2 yamt }
2086 1.1.4.2 yamt ivt->setLocation((yylsp[-3]), (yylsp[0]));
2087 1.1.4.2 yamt (yyval.m_ast) = ivt;
2088 1.1.4.2 yamt ;}
2089 1.1.4.2 yamt break;
2090 1.1.4.2 yamt
2091 1.1.4.2 yamt case 71:
2092 1.1.4.2 yamt #line 544 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2093 1.1.4.2 yamt { (yyval.m_ast) = (yyvsp[0].m_ast); ;}
2094 1.1.4.2 yamt break;
2095 1.1.4.2 yamt
2096 1.1.4.2 yamt case 72:
2097 1.1.4.2 yamt #line 545 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2098 1.1.4.2 yamt { (yyval.m_ast) = NULL; ;}
2099 1.1.4.2 yamt break;
2100 1.1.4.2 yamt
2101 1.1.4.2 yamt case 73:
2102 1.1.4.2 yamt #line 549 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2103 1.1.4.2 yamt {
2104 1.1.4.2 yamt CallStatementASTNode * stmt = new CallStatementASTNode();
2105 1.1.4.2 yamt switch ((yyvsp[-2].m_num))
2106 1.1.4.2 yamt {
2107 1.1.4.2 yamt case 1:
2108 1.1.4.2 yamt stmt->setCallType(CallStatementASTNode::kCallType);
2109 1.1.4.2 yamt break;
2110 1.1.4.2 yamt case 2:
2111 1.1.4.2 yamt stmt->setCallType(CallStatementASTNode::kJumpType);
2112 1.1.4.2 yamt break;
2113 1.1.4.2 yamt default:
2114 1.1.4.2 yamt yyerror(&yylloc, lexer, resultAST, "invalid call_or_jump value");
2115 1.1.4.2 yamt YYABORT;
2116 1.1.4.2 yamt break;
2117 1.1.4.2 yamt }
2118 1.1.4.2 yamt stmt->setTarget((yyvsp[-1].m_ast));
2119 1.1.4.2 yamt stmt->setArgument((yyvsp[0].m_ast));
2120 1.1.4.2 yamt stmt->setIsHAB(false);
2121 1.1.4.2 yamt if ((yyvsp[0].m_ast))
2122 1.1.4.2 yamt {
2123 1.1.4.2 yamt stmt->setLocation((yylsp[-2]), (yylsp[0]));
2124 1.1.4.2 yamt }
2125 1.1.4.2 yamt else
2126 1.1.4.2 yamt {
2127 1.1.4.2 yamt stmt->setLocation((yylsp[-2]), (yylsp[-1]));
2128 1.1.4.2 yamt }
2129 1.1.4.2 yamt (yyval.m_ast) = stmt;
2130 1.1.4.2 yamt ;}
2131 1.1.4.2 yamt break;
2132 1.1.4.2 yamt
2133 1.1.4.2 yamt case 74:
2134 1.1.4.2 yamt #line 578 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2135 1.1.4.2 yamt {
2136 1.1.4.2 yamt if (!elftosb::g_enableHABSupport)
2137 1.1.4.2 yamt {
2138 1.1.4.2 yamt yyerror(&yylloc, lexer, resultAST, "HAB features not supported with the selected family");
2139 1.1.4.2 yamt YYABORT;
2140 1.1.4.2 yamt }
2141 1.1.4.2 yamt
2142 1.1.4.2 yamt CallStatementASTNode * stmt = new CallStatementASTNode();
2143 1.1.4.2 yamt switch ((yyvsp[-2].m_num))
2144 1.1.4.2 yamt {
2145 1.1.4.2 yamt case 1:
2146 1.1.4.2 yamt stmt->setCallType(CallStatementASTNode::kCallType);
2147 1.1.4.2 yamt break;
2148 1.1.4.2 yamt case 2:
2149 1.1.4.2 yamt stmt->setCallType(CallStatementASTNode::kJumpType);
2150 1.1.4.2 yamt break;
2151 1.1.4.2 yamt default:
2152 1.1.4.2 yamt yyerror(&yylloc, lexer, resultAST, "invalid call_or_jump value");
2153 1.1.4.2 yamt YYABORT;
2154 1.1.4.2 yamt break;
2155 1.1.4.2 yamt }
2156 1.1.4.2 yamt stmt->setTarget((yyvsp[-1].m_ast));
2157 1.1.4.2 yamt stmt->setArgument((yyvsp[0].m_ast));
2158 1.1.4.2 yamt stmt->setIsHAB(true);
2159 1.1.4.2 yamt if ((yyvsp[0].m_ast))
2160 1.1.4.2 yamt {
2161 1.1.4.2 yamt stmt->setLocation((yylsp[-3]), (yylsp[0]));
2162 1.1.4.2 yamt }
2163 1.1.4.2 yamt else
2164 1.1.4.2 yamt {
2165 1.1.4.2 yamt stmt->setLocation((yylsp[-3]), (yylsp[-1]));
2166 1.1.4.2 yamt }
2167 1.1.4.2 yamt (yyval.m_ast) = stmt;
2168 1.1.4.2 yamt ;}
2169 1.1.4.2 yamt break;
2170 1.1.4.2 yamt
2171 1.1.4.2 yamt case 75:
2172 1.1.4.2 yamt #line 614 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2173 1.1.4.2 yamt { (yyval.m_num) = 1; ;}
2174 1.1.4.2 yamt break;
2175 1.1.4.2 yamt
2176 1.1.4.2 yamt case 76:
2177 1.1.4.2 yamt #line 615 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2178 1.1.4.2 yamt { (yyval.m_num) = 2; ;}
2179 1.1.4.2 yamt break;
2180 1.1.4.2 yamt
2181 1.1.4.2 yamt case 77:
2182 1.1.4.2 yamt #line 619 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2183 1.1.4.2 yamt {
2184 1.1.4.2 yamt (yyval.m_ast) = new SymbolASTNode(NULL, (yyvsp[0].m_str));
2185 1.1.4.2 yamt (yyval.m_ast)->setLocation((yylsp[0]));
2186 1.1.4.2 yamt ;}
2187 1.1.4.2 yamt break;
2188 1.1.4.2 yamt
2189 1.1.4.2 yamt case 78:
2190 1.1.4.2 yamt #line 624 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2191 1.1.4.2 yamt {
2192 1.1.4.2 yamt (yyval.m_ast) = new AddressRangeASTNode((yyvsp[0].m_ast), NULL);
2193 1.1.4.2 yamt (yyval.m_ast)->setLocation((yyvsp[0].m_ast));
2194 1.1.4.2 yamt ;}
2195 1.1.4.2 yamt break;
2196 1.1.4.2 yamt
2197 1.1.4.2 yamt case 79:
2198 1.1.4.2 yamt #line 630 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2199 1.1.4.2 yamt { (yyval.m_ast) = (yyvsp[-1].m_ast); ;}
2200 1.1.4.2 yamt break;
2201 1.1.4.2 yamt
2202 1.1.4.2 yamt case 80:
2203 1.1.4.2 yamt #line 631 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2204 1.1.4.2 yamt { (yyval.m_ast) = NULL; ;}
2205 1.1.4.2 yamt break;
2206 1.1.4.2 yamt
2207 1.1.4.2 yamt case 81:
2208 1.1.4.2 yamt #line 632 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2209 1.1.4.2 yamt { (yyval.m_ast) = NULL; ;}
2210 1.1.4.2 yamt break;
2211 1.1.4.2 yamt
2212 1.1.4.2 yamt case 82:
2213 1.1.4.2 yamt #line 636 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2214 1.1.4.2 yamt {
2215 1.1.4.2 yamt (yyval.m_ast) = new FromStatementASTNode((yyvsp[-3].m_str), dynamic_cast<ListASTNode*>((yyvsp[-1].m_ast)));
2216 1.1.4.2 yamt (yyval.m_ast)->setLocation((yylsp[-4]), (yylsp[0]));
2217 1.1.4.2 yamt ;}
2218 1.1.4.2 yamt break;
2219 1.1.4.2 yamt
2220 1.1.4.2 yamt case 83:
2221 1.1.4.2 yamt #line 643 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2222 1.1.4.2 yamt {
2223 1.1.4.2 yamt (yyval.m_ast) = new ModeStatementASTNode(dynamic_cast<ExprASTNode*>((yyvsp[0].m_ast)));
2224 1.1.4.2 yamt (yyval.m_ast)->setLocation((yylsp[-1]), (yylsp[0]));
2225 1.1.4.2 yamt ;}
2226 1.1.4.2 yamt break;
2227 1.1.4.2 yamt
2228 1.1.4.2 yamt case 84:
2229 1.1.4.2 yamt #line 650 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2230 1.1.4.2 yamt {
2231 1.1.4.2 yamt (yyval.m_ast) = new MessageStatementASTNode(MessageStatementASTNode::kInfo, (yyvsp[0].m_str));
2232 1.1.4.2 yamt (yyval.m_ast)->setLocation((yylsp[-1]), (yylsp[0]));
2233 1.1.4.2 yamt ;}
2234 1.1.4.2 yamt break;
2235 1.1.4.2 yamt
2236 1.1.4.2 yamt case 85:
2237 1.1.4.2 yamt #line 655 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2238 1.1.4.2 yamt {
2239 1.1.4.2 yamt (yyval.m_ast) = new MessageStatementASTNode(MessageStatementASTNode::kWarning, (yyvsp[0].m_str));
2240 1.1.4.2 yamt (yyval.m_ast)->setLocation((yylsp[-1]), (yylsp[0]));
2241 1.1.4.2 yamt ;}
2242 1.1.4.2 yamt break;
2243 1.1.4.2 yamt
2244 1.1.4.2 yamt case 86:
2245 1.1.4.2 yamt #line 660 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2246 1.1.4.2 yamt {
2247 1.1.4.2 yamt (yyval.m_ast) = new MessageStatementASTNode(MessageStatementASTNode::kError, (yyvsp[0].m_str));
2248 1.1.4.2 yamt (yyval.m_ast)->setLocation((yylsp[-1]), (yylsp[0]));
2249 1.1.4.2 yamt ;}
2250 1.1.4.2 yamt break;
2251 1.1.4.2 yamt
2252 1.1.4.2 yamt case 87:
2253 1.1.4.2 yamt #line 667 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2254 1.1.4.2 yamt {
2255 1.1.4.2 yamt IfStatementASTNode * ifStmt = new IfStatementASTNode();
2256 1.1.4.2 yamt ifStmt->setConditionExpr(dynamic_cast<ExprASTNode*>((yyvsp[-4].m_ast)));
2257 1.1.4.2 yamt ifStmt->setIfStatements(dynamic_cast<ListASTNode*>((yyvsp[-2].m_ast)));
2258 1.1.4.2 yamt ifStmt->setElseStatements(dynamic_cast<ListASTNode*>((yyvsp[0].m_ast)));
2259 1.1.4.2 yamt ifStmt->setLocation((yylsp[-5]), (yylsp[0]));
2260 1.1.4.2 yamt (yyval.m_ast) = ifStmt;
2261 1.1.4.2 yamt ;}
2262 1.1.4.2 yamt break;
2263 1.1.4.2 yamt
2264 1.1.4.2 yamt case 88:
2265 1.1.4.2 yamt #line 678 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2266 1.1.4.2 yamt {
2267 1.1.4.2 yamt (yyval.m_ast) = (yyvsp[-1].m_ast);
2268 1.1.4.2 yamt ;}
2269 1.1.4.2 yamt break;
2270 1.1.4.2 yamt
2271 1.1.4.2 yamt case 89:
2272 1.1.4.2 yamt #line 682 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2273 1.1.4.2 yamt {
2274 1.1.4.2 yamt ListASTNode * list = new ListASTNode();
2275 1.1.4.2 yamt list->appendNode((yyvsp[0].m_ast));
2276 1.1.4.2 yamt (yyval.m_ast) = list;
2277 1.1.4.2 yamt (yyval.m_ast)->setLocation((yylsp[-1]), (yylsp[0]));
2278 1.1.4.2 yamt ;}
2279 1.1.4.2 yamt break;
2280 1.1.4.2 yamt
2281 1.1.4.2 yamt case 90:
2282 1.1.4.2 yamt #line 688 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2283 1.1.4.2 yamt { (yyval.m_ast) = NULL; ;}
2284 1.1.4.2 yamt break;
2285 1.1.4.2 yamt
2286 1.1.4.2 yamt case 91:
2287 1.1.4.2 yamt #line 692 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2288 1.1.4.2 yamt {
2289 1.1.4.2 yamt (yyval.m_ast) = new AddressRangeASTNode((yyvsp[0].m_ast), NULL);
2290 1.1.4.2 yamt (yyval.m_ast)->setLocation((yyvsp[0].m_ast));
2291 1.1.4.2 yamt ;}
2292 1.1.4.2 yamt break;
2293 1.1.4.2 yamt
2294 1.1.4.2 yamt case 92:
2295 1.1.4.2 yamt #line 697 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2296 1.1.4.2 yamt {
2297 1.1.4.2 yamt (yyval.m_ast) = new AddressRangeASTNode((yyvsp[-2].m_ast), (yyvsp[0].m_ast));
2298 1.1.4.2 yamt (yyval.m_ast)->setLocation((yylsp[-2]), (yylsp[0]));
2299 1.1.4.2 yamt ;}
2300 1.1.4.2 yamt break;
2301 1.1.4.2 yamt
2302 1.1.4.2 yamt case 93:
2303 1.1.4.2 yamt #line 704 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2304 1.1.4.2 yamt {
2305 1.1.4.2 yamt (yyval.m_ast) = (yyvsp[0].m_ast);
2306 1.1.4.2 yamt ;}
2307 1.1.4.2 yamt break;
2308 1.1.4.2 yamt
2309 1.1.4.2 yamt case 94:
2310 1.1.4.2 yamt #line 708 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2311 1.1.4.2 yamt {
2312 1.1.4.2 yamt (yyval.m_ast) = new StringConstASTNode((yyvsp[0].m_str));
2313 1.1.4.2 yamt (yyval.m_ast)->setLocation((yylsp[0]));
2314 1.1.4.2 yamt ;}
2315 1.1.4.2 yamt break;
2316 1.1.4.2 yamt
2317 1.1.4.2 yamt case 95:
2318 1.1.4.2 yamt #line 715 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2319 1.1.4.2 yamt {
2320 1.1.4.2 yamt (yyval.m_ast) = (yyvsp[0].m_ast);
2321 1.1.4.2 yamt ;}
2322 1.1.4.2 yamt break;
2323 1.1.4.2 yamt
2324 1.1.4.2 yamt case 96:
2325 1.1.4.2 yamt #line 719 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2326 1.1.4.2 yamt {
2327 1.1.4.2 yamt ExprASTNode * left = dynamic_cast<ExprASTNode*>((yyvsp[-2].m_ast));
2328 1.1.4.2 yamt ExprASTNode * right = dynamic_cast<ExprASTNode*>((yyvsp[0].m_ast));
2329 1.1.4.2 yamt (yyval.m_ast) = new BinaryOpExprASTNode(left, BinaryOpExprASTNode::kLessThan, right);
2330 1.1.4.2 yamt (yyval.m_ast)->setLocation((yylsp[-2]), (yylsp[0]));
2331 1.1.4.2 yamt ;}
2332 1.1.4.2 yamt break;
2333 1.1.4.2 yamt
2334 1.1.4.2 yamt case 97:
2335 1.1.4.2 yamt #line 726 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2336 1.1.4.2 yamt {
2337 1.1.4.2 yamt ExprASTNode * left = dynamic_cast<ExprASTNode*>((yyvsp[-2].m_ast));
2338 1.1.4.2 yamt ExprASTNode * right = dynamic_cast<ExprASTNode*>((yyvsp[0].m_ast));
2339 1.1.4.2 yamt (yyval.m_ast) = new BinaryOpExprASTNode(left, BinaryOpExprASTNode::kGreaterThan, right);
2340 1.1.4.2 yamt (yyval.m_ast)->setLocation((yylsp[-2]), (yylsp[0]));
2341 1.1.4.2 yamt ;}
2342 1.1.4.2 yamt break;
2343 1.1.4.2 yamt
2344 1.1.4.2 yamt case 98:
2345 1.1.4.2 yamt #line 733 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2346 1.1.4.2 yamt {
2347 1.1.4.2 yamt ExprASTNode * left = dynamic_cast<ExprASTNode*>((yyvsp[-2].m_ast));
2348 1.1.4.2 yamt ExprASTNode * right = dynamic_cast<ExprASTNode*>((yyvsp[0].m_ast));
2349 1.1.4.2 yamt (yyval.m_ast) = new BinaryOpExprASTNode(left, BinaryOpExprASTNode::kGreaterThanEqual, right);
2350 1.1.4.2 yamt (yyval.m_ast)->setLocation((yylsp[-2]), (yylsp[0]));
2351 1.1.4.2 yamt ;}
2352 1.1.4.2 yamt break;
2353 1.1.4.2 yamt
2354 1.1.4.2 yamt case 99:
2355 1.1.4.2 yamt #line 740 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2356 1.1.4.2 yamt {
2357 1.1.4.2 yamt ExprASTNode * left = dynamic_cast<ExprASTNode*>((yyvsp[-2].m_ast));
2358 1.1.4.2 yamt ExprASTNode * right = dynamic_cast<ExprASTNode*>((yyvsp[0].m_ast));
2359 1.1.4.2 yamt (yyval.m_ast) = new BinaryOpExprASTNode(left, BinaryOpExprASTNode::kLessThanEqual, right);
2360 1.1.4.2 yamt (yyval.m_ast)->setLocation((yylsp[-2]), (yylsp[0]));
2361 1.1.4.2 yamt ;}
2362 1.1.4.2 yamt break;
2363 1.1.4.2 yamt
2364 1.1.4.2 yamt case 100:
2365 1.1.4.2 yamt #line 747 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2366 1.1.4.2 yamt {
2367 1.1.4.2 yamt ExprASTNode * left = dynamic_cast<ExprASTNode*>((yyvsp[-2].m_ast));
2368 1.1.4.2 yamt ExprASTNode * right = dynamic_cast<ExprASTNode*>((yyvsp[0].m_ast));
2369 1.1.4.2 yamt (yyval.m_ast) = new BinaryOpExprASTNode(left, BinaryOpExprASTNode::kEqual, right);
2370 1.1.4.2 yamt (yyval.m_ast)->setLocation((yylsp[-2]), (yylsp[0]));
2371 1.1.4.2 yamt ;}
2372 1.1.4.2 yamt break;
2373 1.1.4.2 yamt
2374 1.1.4.2 yamt case 101:
2375 1.1.4.2 yamt #line 754 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2376 1.1.4.2 yamt {
2377 1.1.4.2 yamt ExprASTNode * left = dynamic_cast<ExprASTNode*>((yyvsp[-2].m_ast));
2378 1.1.4.2 yamt ExprASTNode * right = dynamic_cast<ExprASTNode*>((yyvsp[0].m_ast));
2379 1.1.4.2 yamt (yyval.m_ast) = new BinaryOpExprASTNode(left, BinaryOpExprASTNode::kNotEqual, right);
2380 1.1.4.2 yamt (yyval.m_ast)->setLocation((yylsp[-2]), (yylsp[0]));
2381 1.1.4.2 yamt ;}
2382 1.1.4.2 yamt break;
2383 1.1.4.2 yamt
2384 1.1.4.2 yamt case 102:
2385 1.1.4.2 yamt #line 761 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2386 1.1.4.2 yamt {
2387 1.1.4.2 yamt ExprASTNode * left = dynamic_cast<ExprASTNode*>((yyvsp[-2].m_ast));
2388 1.1.4.2 yamt ExprASTNode * right = dynamic_cast<ExprASTNode*>((yyvsp[0].m_ast));
2389 1.1.4.2 yamt (yyval.m_ast) = new BinaryOpExprASTNode(left, BinaryOpExprASTNode::kBooleanAnd, right);
2390 1.1.4.2 yamt (yyval.m_ast)->setLocation((yylsp[-2]), (yylsp[0]));
2391 1.1.4.2 yamt ;}
2392 1.1.4.2 yamt break;
2393 1.1.4.2 yamt
2394 1.1.4.2 yamt case 103:
2395 1.1.4.2 yamt #line 768 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2396 1.1.4.2 yamt {
2397 1.1.4.2 yamt ExprASTNode * left = dynamic_cast<ExprASTNode*>((yyvsp[-2].m_ast));
2398 1.1.4.2 yamt ExprASTNode * right = dynamic_cast<ExprASTNode*>((yyvsp[0].m_ast));
2399 1.1.4.2 yamt (yyval.m_ast) = new BinaryOpExprASTNode(left, BinaryOpExprASTNode::kBooleanOr, right);
2400 1.1.4.2 yamt (yyval.m_ast)->setLocation((yylsp[-2]), (yylsp[0]));
2401 1.1.4.2 yamt ;}
2402 1.1.4.2 yamt break;
2403 1.1.4.2 yamt
2404 1.1.4.2 yamt case 104:
2405 1.1.4.2 yamt #line 775 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2406 1.1.4.2 yamt {
2407 1.1.4.2 yamt (yyval.m_ast) = new BooleanNotExprASTNode(dynamic_cast<ExprASTNode*>((yyvsp[0].m_ast)));
2408 1.1.4.2 yamt (yyval.m_ast)->setLocation((yylsp[-1]), (yylsp[0]));
2409 1.1.4.2 yamt ;}
2410 1.1.4.2 yamt break;
2411 1.1.4.2 yamt
2412 1.1.4.2 yamt case 105:
2413 1.1.4.2 yamt #line 780 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2414 1.1.4.2 yamt {
2415 1.1.4.2 yamt (yyval.m_ast) = new SourceFileFunctionASTNode((yyvsp[-3].m_str), (yyvsp[-1].m_str));
2416 1.1.4.2 yamt (yyval.m_ast)->setLocation((yylsp[-3]), (yylsp[0]));
2417 1.1.4.2 yamt ;}
2418 1.1.4.2 yamt break;
2419 1.1.4.2 yamt
2420 1.1.4.2 yamt case 106:
2421 1.1.4.2 yamt #line 785 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2422 1.1.4.2 yamt {
2423 1.1.4.2 yamt (yyval.m_ast) = (yyvsp[-1].m_ast);
2424 1.1.4.2 yamt (yyval.m_ast)->setLocation((yylsp[-2]), (yylsp[0]));
2425 1.1.4.2 yamt ;}
2426 1.1.4.2 yamt break;
2427 1.1.4.2 yamt
2428 1.1.4.2 yamt case 107:
2429 1.1.4.2 yamt #line 790 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2430 1.1.4.2 yamt {
2431 1.1.4.2 yamt (yyval.m_ast) = new DefinedOperatorASTNode((yyvsp[-1].m_str));
2432 1.1.4.2 yamt (yyval.m_ast)->setLocation((yylsp[-3]), (yylsp[0]));
2433 1.1.4.2 yamt ;}
2434 1.1.4.2 yamt break;
2435 1.1.4.2 yamt
2436 1.1.4.2 yamt case 108:
2437 1.1.4.2 yamt #line 796 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2438 1.1.4.2 yamt { (yyval.m_ast) = (yyvsp[0].m_ast); ;}
2439 1.1.4.2 yamt break;
2440 1.1.4.2 yamt
2441 1.1.4.2 yamt case 109:
2442 1.1.4.2 yamt #line 800 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2443 1.1.4.2 yamt {
2444 1.1.4.2 yamt (yyval.m_ast) = new SymbolASTNode((yyvsp[0].m_str), (yyvsp[-2].m_str));
2445 1.1.4.2 yamt (yyval.m_ast)->setLocation((yylsp[-2]), (yylsp[0]));
2446 1.1.4.2 yamt ;}
2447 1.1.4.2 yamt break;
2448 1.1.4.2 yamt
2449 1.1.4.2 yamt case 110:
2450 1.1.4.2 yamt #line 805 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2451 1.1.4.2 yamt {
2452 1.1.4.2 yamt (yyval.m_ast) = new SymbolASTNode((yyvsp[0].m_str));
2453 1.1.4.2 yamt (yyval.m_ast)->setLocation((yylsp[-1]), (yylsp[0]));
2454 1.1.4.2 yamt ;}
2455 1.1.4.2 yamt break;
2456 1.1.4.2 yamt
2457 1.1.4.2 yamt case 111:
2458 1.1.4.2 yamt #line 813 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2459 1.1.4.2 yamt {
2460 1.1.4.2 yamt (yyval.m_ast) = (yyvsp[0].m_ast);
2461 1.1.4.2 yamt ;}
2462 1.1.4.2 yamt break;
2463 1.1.4.2 yamt
2464 1.1.4.2 yamt case 112:
2465 1.1.4.2 yamt #line 817 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2466 1.1.4.2 yamt {
2467 1.1.4.2 yamt (yyval.m_ast) = new VariableExprASTNode((yyvsp[0].m_str));
2468 1.1.4.2 yamt (yyval.m_ast)->setLocation((yylsp[0]));
2469 1.1.4.2 yamt ;}
2470 1.1.4.2 yamt break;
2471 1.1.4.2 yamt
2472 1.1.4.2 yamt case 113:
2473 1.1.4.2 yamt #line 822 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2474 1.1.4.2 yamt {
2475 1.1.4.2 yamt (yyval.m_ast) = new SymbolRefExprASTNode(dynamic_cast<SymbolASTNode*>((yyvsp[0].m_ast)));
2476 1.1.4.2 yamt (yyval.m_ast)->setLocation((yylsp[0]));
2477 1.1.4.2 yamt ;}
2478 1.1.4.2 yamt break;
2479 1.1.4.2 yamt
2480 1.1.4.2 yamt case 114:
2481 1.1.4.2 yamt #line 833 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2482 1.1.4.2 yamt {
2483 1.1.4.2 yamt ExprASTNode * left = dynamic_cast<ExprASTNode*>((yyvsp[-2].m_ast));
2484 1.1.4.2 yamt ExprASTNode * right = dynamic_cast<ExprASTNode*>((yyvsp[0].m_ast));
2485 1.1.4.2 yamt (yyval.m_ast) = new BinaryOpExprASTNode(left, BinaryOpExprASTNode::kAdd, right);
2486 1.1.4.2 yamt (yyval.m_ast)->setLocation((yylsp[-2]), (yylsp[0]));
2487 1.1.4.2 yamt ;}
2488 1.1.4.2 yamt break;
2489 1.1.4.2 yamt
2490 1.1.4.2 yamt case 115:
2491 1.1.4.2 yamt #line 840 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2492 1.1.4.2 yamt {
2493 1.1.4.2 yamt ExprASTNode * left = dynamic_cast<ExprASTNode*>((yyvsp[-2].m_ast));
2494 1.1.4.2 yamt ExprASTNode * right = dynamic_cast<ExprASTNode*>((yyvsp[0].m_ast));
2495 1.1.4.2 yamt (yyval.m_ast) = new BinaryOpExprASTNode(left, BinaryOpExprASTNode::kSubtract, right);
2496 1.1.4.2 yamt (yyval.m_ast)->setLocation((yylsp[-2]), (yylsp[0]));
2497 1.1.4.2 yamt ;}
2498 1.1.4.2 yamt break;
2499 1.1.4.2 yamt
2500 1.1.4.2 yamt case 116:
2501 1.1.4.2 yamt #line 847 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2502 1.1.4.2 yamt {
2503 1.1.4.2 yamt ExprASTNode * left = dynamic_cast<ExprASTNode*>((yyvsp[-2].m_ast));
2504 1.1.4.2 yamt ExprASTNode * right = dynamic_cast<ExprASTNode*>((yyvsp[0].m_ast));
2505 1.1.4.2 yamt (yyval.m_ast) = new BinaryOpExprASTNode(left, BinaryOpExprASTNode::kMultiply, right);
2506 1.1.4.2 yamt (yyval.m_ast)->setLocation((yylsp[-2]), (yylsp[0]));
2507 1.1.4.2 yamt ;}
2508 1.1.4.2 yamt break;
2509 1.1.4.2 yamt
2510 1.1.4.2 yamt case 117:
2511 1.1.4.2 yamt #line 854 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2512 1.1.4.2 yamt {
2513 1.1.4.2 yamt ExprASTNode * left = dynamic_cast<ExprASTNode*>((yyvsp[-2].m_ast));
2514 1.1.4.2 yamt ExprASTNode * right = dynamic_cast<ExprASTNode*>((yyvsp[0].m_ast));
2515 1.1.4.2 yamt (yyval.m_ast) = new BinaryOpExprASTNode(left, BinaryOpExprASTNode::kDivide, right);
2516 1.1.4.2 yamt (yyval.m_ast)->setLocation((yylsp[-2]), (yylsp[0]));
2517 1.1.4.2 yamt ;}
2518 1.1.4.2 yamt break;
2519 1.1.4.2 yamt
2520 1.1.4.2 yamt case 118:
2521 1.1.4.2 yamt #line 861 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2522 1.1.4.2 yamt {
2523 1.1.4.2 yamt ExprASTNode * left = dynamic_cast<ExprASTNode*>((yyvsp[-2].m_ast));
2524 1.1.4.2 yamt ExprASTNode * right = dynamic_cast<ExprASTNode*>((yyvsp[0].m_ast));
2525 1.1.4.2 yamt (yyval.m_ast) = new BinaryOpExprASTNode(left, BinaryOpExprASTNode::kModulus, right);
2526 1.1.4.2 yamt (yyval.m_ast)->setLocation((yylsp[-2]), (yylsp[0]));
2527 1.1.4.2 yamt ;}
2528 1.1.4.2 yamt break;
2529 1.1.4.2 yamt
2530 1.1.4.2 yamt case 119:
2531 1.1.4.2 yamt #line 868 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2532 1.1.4.2 yamt {
2533 1.1.4.2 yamt ExprASTNode * left = dynamic_cast<ExprASTNode*>((yyvsp[-2].m_ast));
2534 1.1.4.2 yamt ExprASTNode * right = dynamic_cast<ExprASTNode*>((yyvsp[0].m_ast));
2535 1.1.4.2 yamt (yyval.m_ast) = new BinaryOpExprASTNode(left, BinaryOpExprASTNode::kPower, right);
2536 1.1.4.2 yamt (yyval.m_ast)->setLocation((yylsp[-2]), (yylsp[0]));
2537 1.1.4.2 yamt ;}
2538 1.1.4.2 yamt break;
2539 1.1.4.2 yamt
2540 1.1.4.2 yamt case 120:
2541 1.1.4.2 yamt #line 875 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2542 1.1.4.2 yamt {
2543 1.1.4.2 yamt ExprASTNode * left = dynamic_cast<ExprASTNode*>((yyvsp[-2].m_ast));
2544 1.1.4.2 yamt ExprASTNode * right = dynamic_cast<ExprASTNode*>((yyvsp[0].m_ast));
2545 1.1.4.2 yamt (yyval.m_ast) = new BinaryOpExprASTNode(left, BinaryOpExprASTNode::kBitwiseAnd, right);
2546 1.1.4.2 yamt (yyval.m_ast)->setLocation((yylsp[-2]), (yylsp[0]));
2547 1.1.4.2 yamt ;}
2548 1.1.4.2 yamt break;
2549 1.1.4.2 yamt
2550 1.1.4.2 yamt case 121:
2551 1.1.4.2 yamt #line 882 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2552 1.1.4.2 yamt {
2553 1.1.4.2 yamt ExprASTNode * left = dynamic_cast<ExprASTNode*>((yyvsp[-2].m_ast));
2554 1.1.4.2 yamt ExprASTNode * right = dynamic_cast<ExprASTNode*>((yyvsp[0].m_ast));
2555 1.1.4.2 yamt (yyval.m_ast) = new BinaryOpExprASTNode(left, BinaryOpExprASTNode::kBitwiseOr, right);
2556 1.1.4.2 yamt (yyval.m_ast)->setLocation((yylsp[-2]), (yylsp[0]));
2557 1.1.4.2 yamt ;}
2558 1.1.4.2 yamt break;
2559 1.1.4.2 yamt
2560 1.1.4.2 yamt case 122:
2561 1.1.4.2 yamt #line 889 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2562 1.1.4.2 yamt {
2563 1.1.4.2 yamt ExprASTNode * left = dynamic_cast<ExprASTNode*>((yyvsp[-2].m_ast));
2564 1.1.4.2 yamt ExprASTNode * right = dynamic_cast<ExprASTNode*>((yyvsp[0].m_ast));
2565 1.1.4.2 yamt (yyval.m_ast) = new BinaryOpExprASTNode(left, BinaryOpExprASTNode::kBitwiseXor, right);
2566 1.1.4.2 yamt (yyval.m_ast)->setLocation((yylsp[-2]), (yylsp[0]));
2567 1.1.4.2 yamt ;}
2568 1.1.4.2 yamt break;
2569 1.1.4.2 yamt
2570 1.1.4.2 yamt case 123:
2571 1.1.4.2 yamt #line 896 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2572 1.1.4.2 yamt {
2573 1.1.4.2 yamt ExprASTNode * left = dynamic_cast<ExprASTNode*>((yyvsp[-2].m_ast));
2574 1.1.4.2 yamt ExprASTNode * right = dynamic_cast<ExprASTNode*>((yyvsp[0].m_ast));
2575 1.1.4.2 yamt (yyval.m_ast) = new BinaryOpExprASTNode(left, BinaryOpExprASTNode::kShiftLeft, right);
2576 1.1.4.2 yamt (yyval.m_ast)->setLocation((yylsp[-2]), (yylsp[0]));
2577 1.1.4.2 yamt ;}
2578 1.1.4.2 yamt break;
2579 1.1.4.2 yamt
2580 1.1.4.2 yamt case 124:
2581 1.1.4.2 yamt #line 903 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2582 1.1.4.2 yamt {
2583 1.1.4.2 yamt ExprASTNode * left = dynamic_cast<ExprASTNode*>((yyvsp[-2].m_ast));
2584 1.1.4.2 yamt ExprASTNode * right = dynamic_cast<ExprASTNode*>((yyvsp[0].m_ast));
2585 1.1.4.2 yamt (yyval.m_ast) = new BinaryOpExprASTNode(left, BinaryOpExprASTNode::kShiftRight, right);
2586 1.1.4.2 yamt (yyval.m_ast)->setLocation((yylsp[-2]), (yylsp[0]));
2587 1.1.4.2 yamt ;}
2588 1.1.4.2 yamt break;
2589 1.1.4.2 yamt
2590 1.1.4.2 yamt case 125:
2591 1.1.4.2 yamt #line 910 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2592 1.1.4.2 yamt {
2593 1.1.4.2 yamt (yyval.m_ast) = (yyvsp[0].m_ast);
2594 1.1.4.2 yamt ;}
2595 1.1.4.2 yamt break;
2596 1.1.4.2 yamt
2597 1.1.4.2 yamt case 126:
2598 1.1.4.2 yamt #line 914 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2599 1.1.4.2 yamt {
2600 1.1.4.2 yamt (yyval.m_ast) = new IntSizeExprASTNode(dynamic_cast<ExprASTNode*>((yyvsp[-2].m_ast)), (yyvsp[0].m_int)->getWordSize());
2601 1.1.4.2 yamt (yyval.m_ast)->setLocation((yylsp[-2]), (yylsp[0]));
2602 1.1.4.2 yamt ;}
2603 1.1.4.2 yamt break;
2604 1.1.4.2 yamt
2605 1.1.4.2 yamt case 127:
2606 1.1.4.2 yamt #line 919 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2607 1.1.4.2 yamt {
2608 1.1.4.2 yamt (yyval.m_ast) = (yyvsp[-1].m_ast);
2609 1.1.4.2 yamt (yyval.m_ast)->setLocation((yylsp[-2]), (yylsp[0]));
2610 1.1.4.2 yamt ;}
2611 1.1.4.2 yamt break;
2612 1.1.4.2 yamt
2613 1.1.4.2 yamt case 128:
2614 1.1.4.2 yamt #line 924 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2615 1.1.4.2 yamt {
2616 1.1.4.2 yamt (yyval.m_ast) = new SizeofOperatorASTNode(dynamic_cast<SymbolASTNode*>((yyvsp[-1].m_ast)));
2617 1.1.4.2 yamt (yyval.m_ast)->setLocation((yylsp[-3]), (yylsp[0]));
2618 1.1.4.2 yamt ;}
2619 1.1.4.2 yamt break;
2620 1.1.4.2 yamt
2621 1.1.4.2 yamt case 129:
2622 1.1.4.2 yamt #line 929 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2623 1.1.4.2 yamt {
2624 1.1.4.2 yamt (yyval.m_ast) = new SizeofOperatorASTNode((yyvsp[-1].m_str));
2625 1.1.4.2 yamt (yyval.m_ast)->setLocation((yylsp[-3]), (yylsp[0]));
2626 1.1.4.2 yamt ;}
2627 1.1.4.2 yamt break;
2628 1.1.4.2 yamt
2629 1.1.4.2 yamt case 130:
2630 1.1.4.2 yamt #line 934 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2631 1.1.4.2 yamt {
2632 1.1.4.2 yamt (yyval.m_ast) = new SizeofOperatorASTNode((yyvsp[-1].m_str));
2633 1.1.4.2 yamt (yyval.m_ast)->setLocation((yylsp[-3]), (yylsp[0]));
2634 1.1.4.2 yamt ;}
2635 1.1.4.2 yamt break;
2636 1.1.4.2 yamt
2637 1.1.4.2 yamt case 131:
2638 1.1.4.2 yamt #line 941 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2639 1.1.4.2 yamt {
2640 1.1.4.2 yamt (yyval.m_ast) = (yyvsp[0].m_ast);
2641 1.1.4.2 yamt ;}
2642 1.1.4.2 yamt break;
2643 1.1.4.2 yamt
2644 1.1.4.2 yamt case 132:
2645 1.1.4.2 yamt #line 945 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2646 1.1.4.2 yamt {
2647 1.1.4.2 yamt (yyval.m_ast) = new NegativeExprASTNode(dynamic_cast<ExprASTNode*>((yyvsp[0].m_ast)));
2648 1.1.4.2 yamt (yyval.m_ast)->setLocation((yylsp[-1]), (yylsp[0]));
2649 1.1.4.2 yamt ;}
2650 1.1.4.2 yamt break;
2651 1.1.4.2 yamt
2652 1.1.4.2 yamt case 133:
2653 1.1.4.2 yamt #line 952 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2654 1.1.4.2 yamt {
2655 1.1.4.2 yamt (yyval.m_ast) = new IntConstExprASTNode((yyvsp[0].m_int)->getValue(), (yyvsp[0].m_int)->getWordSize());
2656 1.1.4.2 yamt (yyval.m_ast)->setLocation((yylsp[0]));
2657 1.1.4.2 yamt ;}
2658 1.1.4.2 yamt break;
2659 1.1.4.2 yamt
2660 1.1.4.2 yamt
2661 1.1.4.2 yamt default: break;
2662 1.1.4.2 yamt }
2663 1.1.4.2 yamt
2664 1.1.4.2 yamt /* Line 1126 of yacc.c. */
2665 1.1.4.2 yamt #line 2663 "/Users/creed/projects/fsl/fromsvr/elftosb/build/elftosb.build/Debug/elftosb.build/DerivedSources/elftosb_parser.tab.cpp"
2666 1.1.4.2 yamt
2667 1.1.4.2 yamt yyvsp -= yylen;
2669 1.1.4.2 yamt yyssp -= yylen;
2670 1.1.4.2 yamt yylsp -= yylen;
2671 1.1.4.2 yamt
2672 1.1.4.2 yamt YY_STACK_PRINT (yyss, yyssp);
2673 1.1.4.2 yamt
2674 1.1.4.2 yamt *++yyvsp = yyval;
2675 1.1.4.2 yamt *++yylsp = yyloc;
2676 1.1.4.2 yamt
2677 1.1.4.2 yamt /* Now `shift' the result of the reduction. Determine what state
2678 1.1.4.2 yamt that goes to, based on the state we popped back to and the rule
2679 1.1.4.2 yamt number reduced by. */
2680 1.1.4.2 yamt
2681 1.1.4.2 yamt yyn = yyr1[yyn];
2682 1.1.4.2 yamt
2683 1.1.4.2 yamt yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
2684 1.1.4.2 yamt if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
2685 1.1.4.2 yamt yystate = yytable[yystate];
2686 1.1.4.2 yamt else
2687 1.1.4.2 yamt yystate = yydefgoto[yyn - YYNTOKENS];
2688 1.1.4.2 yamt
2689 1.1.4.2 yamt goto yynewstate;
2690 1.1.4.2 yamt
2691 1.1.4.2 yamt
2692 1.1.4.2 yamt /*------------------------------------.
2693 1.1.4.2 yamt | yyerrlab -- here on detecting error |
2694 1.1.4.2 yamt `------------------------------------*/
2695 1.1.4.2 yamt yyerrlab:
2696 1.1.4.2 yamt /* If not already recovering from an error, report this error. */
2697 1.1.4.2 yamt if (!yyerrstatus)
2698 1.1.4.2 yamt {
2699 1.1.4.2 yamt ++yynerrs;
2700 1.1.4.2 yamt #if YYERROR_VERBOSE
2701 1.1.4.2 yamt yyn = yypact[yystate];
2702 1.1.4.2 yamt
2703 1.1.4.2 yamt if (YYPACT_NINF < yyn && yyn < YYLAST)
2704 1.1.4.2 yamt {
2705 1.1.4.2 yamt int yytype = YYTRANSLATE (yychar);
2706 1.1.4.2 yamt YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
2707 1.1.4.2 yamt YYSIZE_T yysize = yysize0;
2708 1.1.4.2 yamt YYSIZE_T yysize1;
2709 1.1.4.2 yamt int yysize_overflow = 0;
2710 1.1.4.2 yamt char *yymsg = 0;
2711 1.1.4.2 yamt # define YYERROR_VERBOSE_ARGS_MAXIMUM 5
2712 1.1.4.2 yamt char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
2713 1.1.4.2 yamt int yyx;
2714 1.1.4.2 yamt
2715 1.1.4.2 yamt #if 0
2716 1.1.4.2 yamt /* This is so xgettext sees the translatable formats that are
2717 1.1.4.2 yamt constructed on the fly. */
2718 1.1.4.2 yamt YY_("syntax error, unexpected %s");
2719 1.1.4.2 yamt YY_("syntax error, unexpected %s, expecting %s");
2720 1.1.4.2 yamt YY_("syntax error, unexpected %s, expecting %s or %s");
2721 1.1.4.2 yamt YY_("syntax error, unexpected %s, expecting %s or %s or %s");
2722 1.1.4.2 yamt YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
2723 1.1.4.2 yamt #endif
2724 1.1.4.2 yamt char *yyfmt;
2725 1.1.4.2 yamt char const *yyf;
2726 1.1.4.2 yamt static char const yyunexpected[] = "syntax error, unexpected %s";
2727 1.1.4.2 yamt static char const yyexpecting[] = ", expecting %s";
2728 1.1.4.2 yamt static char const yyor[] = " or %s";
2729 1.1.4.2 yamt char yyformat[sizeof yyunexpected
2730 1.1.4.2 yamt + sizeof yyexpecting - 1
2731 1.1.4.2 yamt + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
2732 1.1.4.2 yamt * (sizeof yyor - 1))];
2733 1.1.4.2 yamt char const *yyprefix = yyexpecting;
2734 1.1.4.2 yamt
2735 1.1.4.2 yamt /* Start YYX at -YYN if negative to avoid negative indexes in
2736 1.1.4.2 yamt YYCHECK. */
2737 1.1.4.2 yamt int yyxbegin = yyn < 0 ? -yyn : 0;
2738 1.1.4.2 yamt
2739 1.1.4.2 yamt /* Stay within bounds of both yycheck and yytname. */
2740 1.1.4.2 yamt int yychecklim = YYLAST - yyn;
2741 1.1.4.2 yamt int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
2742 1.1.4.2 yamt int yycount = 1;
2743 1.1.4.2 yamt
2744 1.1.4.2 yamt yyarg[0] = yytname[yytype];
2745 1.1.4.2 yamt yyfmt = yystpcpy (yyformat, yyunexpected);
2746 1.1.4.2 yamt
2747 1.1.4.2 yamt for (yyx = yyxbegin; yyx < yyxend; ++yyx)
2748 1.1.4.2 yamt if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
2749 1.1.4.2 yamt {
2750 1.1.4.2 yamt if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
2751 1.1.4.2 yamt {
2752 1.1.4.2 yamt yycount = 1;
2753 1.1.4.2 yamt yysize = yysize0;
2754 1.1.4.2 yamt yyformat[sizeof yyunexpected - 1] = '\0';
2755 1.1.4.2 yamt break;
2756 1.1.4.2 yamt }
2757 1.1.4.2 yamt yyarg[yycount++] = yytname[yyx];
2758 1.1.4.2 yamt yysize1 = yysize + yytnamerr (0, yytname[yyx]);
2759 1.1.4.2 yamt yysize_overflow |= yysize1 < yysize;
2760 1.1.4.2 yamt yysize = yysize1;
2761 1.1.4.2 yamt yyfmt = yystpcpy (yyfmt, yyprefix);
2762 1.1.4.2 yamt yyprefix = yyor;
2763 1.1.4.2 yamt }
2764 1.1.4.2 yamt
2765 1.1.4.2 yamt yyf = YY_(yyformat);
2766 1.1.4.2 yamt yysize1 = yysize + yystrlen (yyf);
2767 1.1.4.2 yamt yysize_overflow |= yysize1 < yysize;
2768 1.1.4.2 yamt yysize = yysize1;
2769 1.1.4.2 yamt
2770 1.1.4.2 yamt if (!yysize_overflow && yysize <= YYSTACK_ALLOC_MAXIMUM)
2771 1.1.4.2 yamt yymsg = (char *) YYSTACK_ALLOC (yysize);
2772 1.1.4.2 yamt if (yymsg)
2773 1.1.4.2 yamt {
2774 1.1.4.2 yamt /* Avoid sprintf, as that infringes on the user's name space.
2775 1.1.4.2 yamt Don't have undefined behavior even if the translation
2776 1.1.4.2 yamt produced a string with the wrong number of "%s"s. */
2777 1.1.4.2 yamt char *yyp = yymsg;
2778 1.1.4.2 yamt int yyi = 0;
2779 1.1.4.2 yamt while ((*yyp = *yyf))
2780 1.1.4.2 yamt {
2781 1.1.4.2 yamt if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
2782 1.1.4.2 yamt {
2783 1.1.4.2 yamt yyp += yytnamerr (yyp, yyarg[yyi++]);
2784 1.1.4.2 yamt yyf += 2;
2785 1.1.4.2 yamt }
2786 1.1.4.2 yamt else
2787 1.1.4.2 yamt {
2788 1.1.4.2 yamt yyp++;
2789 1.1.4.2 yamt yyf++;
2790 1.1.4.2 yamt }
2791 1.1.4.2 yamt }
2792 1.1.4.2 yamt yyerror (&yylloc, lexer, resultAST, yymsg);
2793 1.1.4.2 yamt YYSTACK_FREE (yymsg);
2794 1.1.4.2 yamt }
2795 1.1.4.2 yamt else
2796 1.1.4.2 yamt {
2797 1.1.4.2 yamt yyerror (&yylloc, lexer, resultAST, YY_("syntax error"));
2798 1.1.4.2 yamt goto yyexhaustedlab;
2799 1.1.4.2 yamt }
2800 1.1.4.2 yamt }
2801 1.1.4.2 yamt else
2802 1.1.4.2 yamt #endif /* YYERROR_VERBOSE */
2803 1.1.4.2 yamt yyerror (&yylloc, lexer, resultAST, YY_("syntax error"));
2804 1.1.4.2 yamt }
2805 1.1.4.2 yamt
2806 1.1.4.2 yamt yyerror_range[0] = yylloc;
2807 1.1.4.2 yamt
2808 1.1.4.2 yamt if (yyerrstatus == 3)
2809 1.1.4.2 yamt {
2810 1.1.4.2 yamt /* If just tried and failed to reuse look-ahead token after an
2811 1.1.4.2 yamt error, discard it. */
2812 1.1.4.2 yamt
2813 1.1.4.2 yamt if (yychar <= YYEOF)
2814 1.1.4.2 yamt {
2815 1.1.4.2 yamt /* Return failure if at end of input. */
2816 1.1.4.2 yamt if (yychar == YYEOF)
2817 1.1.4.2 yamt YYABORT;
2818 1.1.4.2 yamt }
2819 1.1.4.2 yamt else
2820 1.1.4.2 yamt {
2821 1.1.4.2 yamt yydestruct ("Error: discarding", yytoken, &yylval, &yylloc);
2822 1.1.4.2 yamt yychar = YYEMPTY;
2823 1.1.4.2 yamt }
2824 1.1.4.2 yamt }
2825 1.1.4.2 yamt
2826 1.1.4.2 yamt /* Else will try to reuse look-ahead token after shifting the error
2827 1.1.4.2 yamt token. */
2828 1.1.4.2 yamt goto yyerrlab1;
2829 1.1.4.2 yamt
2830 1.1.4.2 yamt
2831 1.1.4.2 yamt /*---------------------------------------------------.
2832 1.1.4.2 yamt | yyerrorlab -- error raised explicitly by YYERROR. |
2833 1.1.4.2 yamt `---------------------------------------------------*/
2834 1.1.4.2 yamt yyerrorlab:
2835 1.1.4.2 yamt
2836 1.1.4.2 yamt /* Pacify compilers like GCC when the user code never invokes
2837 1.1.4.2 yamt YYERROR and the label yyerrorlab therefore never appears in user
2838 1.1.4.2 yamt code. */
2839 1.1.4.2 yamt if (0)
2840 1.1.4.2 yamt goto yyerrorlab;
2841 1.1.4.2 yamt
2842 1.1.4.2 yamt yyerror_range[0] = yylsp[1-yylen];
2843 1.1.4.2 yamt yylsp -= yylen;
2844 1.1.4.2 yamt yyvsp -= yylen;
2845 1.1.4.2 yamt yyssp -= yylen;
2846 1.1.4.2 yamt yystate = *yyssp;
2847 1.1.4.2 yamt goto yyerrlab1;
2848 1.1.4.2 yamt
2849 1.1.4.2 yamt
2850 1.1.4.2 yamt /*-------------------------------------------------------------.
2851 1.1.4.2 yamt | yyerrlab1 -- common code for both syntax error and YYERROR. |
2852 1.1.4.2 yamt `-------------------------------------------------------------*/
2853 1.1.4.2 yamt yyerrlab1:
2854 1.1.4.2 yamt yyerrstatus = 3; /* Each real token shifted decrements this. */
2855 1.1.4.2 yamt
2856 1.1.4.2 yamt for (;;)
2857 1.1.4.2 yamt {
2858 1.1.4.2 yamt yyn = yypact[yystate];
2859 1.1.4.2 yamt if (yyn != YYPACT_NINF)
2860 1.1.4.2 yamt {
2861 1.1.4.2 yamt yyn += YYTERROR;
2862 1.1.4.2 yamt if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
2863 1.1.4.2 yamt {
2864 1.1.4.2 yamt yyn = yytable[yyn];
2865 1.1.4.2 yamt if (0 < yyn)
2866 1.1.4.2 yamt break;
2867 1.1.4.2 yamt }
2868 1.1.4.2 yamt }
2869 1.1.4.2 yamt
2870 1.1.4.2 yamt /* Pop the current state because it cannot handle the error token. */
2871 1.1.4.2 yamt if (yyssp == yyss)
2872 1.1.4.2 yamt YYABORT;
2873 1.1.4.2 yamt
2874 1.1.4.2 yamt yyerror_range[0] = *yylsp;
2875 1.1.4.2 yamt yydestruct ("Error: popping", yystos[yystate], yyvsp, yylsp);
2876 1.1.4.2 yamt YYPOPSTACK;
2877 1.1.4.2 yamt yystate = *yyssp;
2878 1.1.4.2 yamt YY_STACK_PRINT (yyss, yyssp);
2879 1.1.4.2 yamt }
2880 1.1.4.2 yamt
2881 1.1.4.2 yamt if (yyn == YYFINAL)
2882 1.1.4.2 yamt YYACCEPT;
2883 1.1.4.2 yamt
2884 1.1.4.2 yamt *++yyvsp = yylval;
2885 1.1.4.2 yamt
2886 1.1.4.2 yamt yyerror_range[1] = yylloc;
2887 1.1.4.2 yamt /* Using YYLLOC is tempting, but would change the location of
2888 1.1.4.2 yamt the look-ahead. YYLOC is available though. */
2889 1.1.4.2 yamt YYLLOC_DEFAULT (yyloc, yyerror_range - 1, 2);
2890 1.1.4.2 yamt *++yylsp = yyloc;
2891 1.1.4.2 yamt
2892 1.1.4.2 yamt /* Shift the error token. */
2893 1.1.4.2 yamt YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
2894 1.1.4.2 yamt
2895 1.1.4.2 yamt yystate = yyn;
2896 1.1.4.2 yamt goto yynewstate;
2897 1.1.4.2 yamt
2898 1.1.4.2 yamt
2899 1.1.4.2 yamt /*-------------------------------------.
2900 1.1.4.2 yamt | yyacceptlab -- YYACCEPT comes here. |
2901 1.1.4.2 yamt `-------------------------------------*/
2902 1.1.4.2 yamt yyacceptlab:
2903 1.1.4.2 yamt yyresult = 0;
2904 1.1.4.2 yamt goto yyreturn;
2905 1.1.4.2 yamt
2906 1.1.4.2 yamt /*-----------------------------------.
2907 1.1.4.2 yamt | yyabortlab -- YYABORT comes here. |
2908 1.1.4.2 yamt `-----------------------------------*/
2909 1.1.4.2 yamt yyabortlab:
2910 1.1.4.2 yamt yyresult = 1;
2911 1.1.4.2 yamt goto yyreturn;
2912 1.1.4.2 yamt
2913 1.1.4.2 yamt #ifndef yyoverflow
2914 1.1.4.2 yamt /*-------------------------------------------------.
2915 1.1.4.2 yamt | yyexhaustedlab -- memory exhaustion comes here. |
2916 1.1.4.2 yamt `-------------------------------------------------*/
2917 1.1.4.2 yamt yyexhaustedlab:
2918 1.1.4.2 yamt yyerror (&yylloc, lexer, resultAST, YY_("memory exhausted"));
2919 1.1.4.2 yamt yyresult = 2;
2920 1.1.4.2 yamt /* Fall through. */
2921 1.1.4.2 yamt #endif
2922 1.1.4.2 yamt
2923 1.1.4.2 yamt yyreturn:
2924 1.1.4.2 yamt if (yychar != YYEOF && yychar != YYEMPTY)
2925 1.1.4.2 yamt yydestruct ("Cleanup: discarding lookahead",
2926 1.1.4.2 yamt yytoken, &yylval, &yylloc);
2927 1.1.4.2 yamt while (yyssp != yyss)
2928 1.1.4.2 yamt {
2929 1.1.4.2 yamt yydestruct ("Cleanup: popping",
2930 1.1.4.2 yamt yystos[*yyssp], yyvsp, yylsp);
2931 1.1.4.2 yamt YYPOPSTACK;
2932 1.1.4.2 yamt }
2933 1.1.4.2 yamt #ifndef yyoverflow
2934 1.1.4.2 yamt if (yyss != yyssa)
2935 1.1.4.2 yamt YYSTACK_FREE (yyss);
2936 1.1.4.2 yamt #endif
2937 1.1.4.2 yamt return yyresult;
2938 1.1.4.2 yamt }
2939 1.1.4.2 yamt
2940 1.1.4.2 yamt
2941 1.1.4.2 yamt #line 958 "/Users/creed/projects/fsl/fromsvr/elftosb/elftosb2/elftosb_parser.y"
2942 1.1.4.2 yamt
2943 1.1.4.2 yamt
2944 1.1.4.2 yamt /* code goes here */
2945 1.1.4.2 yamt
2946 1.1.4.2 yamt static int yylex(YYSTYPE * lvalp, YYLTYPE * yylloc, ElftosbLexer * lexer)
2947 1.1.4.2 yamt {
2948 1.1.4.2 yamt int token = lexer->yylex();
2949 1.1.4.2 yamt *yylloc = lexer->getLocation();
2950 1.1.4.2 yamt lexer->getSymbolValue(lvalp);
2951 1.1.4.2 yamt return token;
2952 1.1.4.2 yamt }
2953 1.1.4.2 yamt
2954 1.1.4.2 yamt static void yyerror(YYLTYPE * yylloc, ElftosbLexer * lexer, CommandFileASTNode ** resultAST, const char * error)
2955 1.1.4.2 yamt {
2956 throw syntax_error(format_string("line %d: %s\n", yylloc->m_firstLine, error));
2957 }
2958
2959
2960