Aprepro 5.0x

aprepro_parser.h
Go to the documentation of this file.
1 // A Bison parser, made by GNU Bison 3.0.4.
2
3 // Skeleton interface for Bison LALR(1) parsers in C++
4
5 // Copyright (C) 2002-2015 Free Software Foundation, Inc.
6
7 // This program is free software: you can redistribute it and/or modify
8 // it under the terms of the GNU General Public License as published by
9 // the Free Software Foundation, either version 3 of the License, or
10 // (at your option) any later version.
11
12 // This program is distributed in the hope that it will be useful,
13 // but WITHOUT ANY WARRANTY; without even the implied warranty of
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 // GNU General Public License for more details.
16
17 // You should have received a copy of the GNU General Public License
18 // along with this program. If not, see <http://www.gnu.org/licenses/>.
19
20 // As a special exception, you may create a larger work that contains
21 // part or all of the Bison parser skeleton and distribute that work
22 // under terms of your choice, so long as that work isn't itself a
23 // parser generator using the skeleton or a modified version thereof
24 // as a parser skeleton. Alternatively, if you modify or redistribute
25 // the parser skeleton itself, you may (at your option) remove this
26 // special exception, which will cause the skeleton and the resulting
27 // Bison output files to be licensed under the GNU General Public
28 // License without this special exception.
29
30 // This special exception was added by the Free Software Foundation in
31 // version 2.2 of Bison.
32
33 /**
34 ** \file aprepro_parser.h
35 ** Define the SEAMS::parser class.
36 */
37
38 // C++ LALR(1) parser skeleton written by Akim Demaille.
39
40 #ifndef YY_SEAMS_APREPRO_PARSER_H_INCLUDED
41 #define YY_SEAMS_APREPRO_PARSER_H_INCLUDED
42
43 #include "stack.hh"
44 #include <cstdlib> // std::abort
45 #include <iostream>
46 #include <stdexcept>
47 #include <string>
48 #include <vector>
49
50 #ifndef YY_ATTRIBUTE
51 #if (defined __GNUC__ && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) || \
52 defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
53 #define YY_ATTRIBUTE(Spec) __attribute__(Spec)
54 #else
55 #define YY_ATTRIBUTE(Spec) /* empty */
56 #endif
57 #endif
58
59 #ifndef YY_ATTRIBUTE_PURE
60 #define YY_ATTRIBUTE_PURE YY_ATTRIBUTE((__pure__))
61 #endif
62
63 #ifndef YY_ATTRIBUTE_UNUSED
64 #define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE((__unused__))
65 #endif
66
67 #if !defined _Noreturn && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
68 #if defined _MSC_VER && 1200 <= _MSC_VER
69 #define _Noreturn __declspec(noreturn)
70 #else
71 #define _Noreturn YY_ATTRIBUTE((__noreturn__))
72 #endif
73 #endif
74
75 /* Suppress unused-variable warnings by "using" E. */
76 #if !defined lint || defined __GNUC__
77 #define YYUSE(E) ((void)(E))
78 #else
79 #define YYUSE(E) /* empty */
80 #endif
81
82 #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
83 /* Suppress an incorrect diagnostic about yylval being uninitialized. */
84 #define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
85 _Pragma("GCC diagnostic push") _Pragma("GCC diagnostic ignored \"-Wuninitialized\"") \
86 _Pragma("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
87 #define YY_IGNORE_MAYBE_UNINITIALIZED_END _Pragma("GCC diagnostic pop")
88 #else
89 #define YY_INITIAL_VALUE(Value) Value
90 #endif
91 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
92 #define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
93 #define YY_IGNORE_MAYBE_UNINITIALIZED_END
94 #endif
95 #ifndef YY_INITIAL_VALUE
96 #define YY_INITIAL_VALUE(Value) /* Nothing. */
97 #endif
98
99 /* Debug traces. */
100 #ifndef YYDEBUG
101 #define YYDEBUG 1
102 #endif
103
104 namespace SEAMS {
105 #line 114 "aprepro_parser.h" // lalr1.cc:377
106
107 /// A Bison parser.
108 class Parser
109 {
110 public:
111 #ifndef YYSTYPE
112 /// Symbol semantic values.
113 union semantic_type {
114 #line 90 "/scratch/gdsjaar/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" // lalr1.cc:377
115
116 double val; /* For returning numbers. */
117 struct symrec *tptr; /* For returning symbol-table pointers */
118 char * string; /* For returning quoted strings */
119 struct array * arrval; /* For returning arrays */
120
121 #line 135 "aprepro_parser.h" // lalr1.cc:377
122 };
123 #else
124 typedef YYSTYPE semantic_type;
125 #endif
126
127 /// Syntax errors thrown from user actions.
128 struct syntax_error : std::runtime_error
129 {
130 syntax_error(const std::string &m);
131 };
132
133 /// Tokens.
134 struct token
135 {
136 enum yytokentype {
137 END = 0,
138 NUM = 258,
139 QSTRING = 259,
140 UNDVAR = 260,
141 VAR = 261,
142 SVAR = 262,
143 IMMVAR = 263,
144 IMMSVAR = 264,
145 AVAR = 265,
146 FNCT = 266,
147 SFNCT = 267,
148 AFNCT = 268,
149 COMMA = 269,
150 LPAR = 270,
151 RPAR = 271,
152 LBRACK = 272,
153 RBRACK = 273,
154 LBRACE = 274,
155 RBRACE = 275,
156 SEMI = 276,
157 EQUAL = 277,
158 EQ_PLUS = 278,
159 EQ_MINUS = 279,
160 EQ_TIME = 280,
161 EQ_DIV = 281,
162 EQ_POW = 282,
163 QUEST = 283,
164 COLON = 284,
165 LOR = 285,
166 LAND = 286,
167 LT = 287,
168 GT = 288,
169 LE = 289,
170 GE = 290,
171 EQ = 291,
172 NE = 292,
173 PLU = 293,
174 SUB = 294,
175 DIV = 295,
176 TIM = 296,
177 MOD = 297,
178 UNARY = 298,
179 NOT = 299,
180 POW = 300,
181 INC = 301,
182 DEC = 302,
183 CONCAT = 303
184 };
185 };
186
187 /// (External) token type, as returned by yylex.
188 typedef token::yytokentype token_type;
189
190 /// Symbol type: an internal symbol number.
191 typedef int symbol_number_type;
192
193 /// The symbol type number to denote an empty symbol.
194 enum { empty_symbol = -2 };
195
196 /// Internal symbol number for tokens (subsumed by symbol_number_type).
197 typedef unsigned char token_number_type;
198
199 /// A complete symbol.
200 ///
201 /// Expects its Base type to provide access to the symbol type
202 /// via type_get().
203 ///
204 /// Provide access to semantic value.
205 template <typename Base> struct basic_symbol : Base
206 {
207 /// Alias to Base.
208 typedef Base super_type;
209
210 /// Default constructor.
211 basic_symbol();
212
213 /// Copy constructor.
214 basic_symbol(const basic_symbol &other);
215
216 /// Constructor for valueless symbols.
217 basic_symbol(typename Base::kind_type t);
218
219 /// Constructor for symbols with semantic value.
220 basic_symbol(typename Base::kind_type t, const semantic_type &v);
221
222 /// Destroy the symbol.
223 ~basic_symbol();
224
225 /// Destroy contents, and record that is empty.
226 void clear();
227
228 /// Whether empty.
229 bool empty() const;
230
231 /// Destructive move, \a s is emptied into this.
232 void move(basic_symbol &s);
233
234 /// The semantic value.
235 semantic_type value;
236
237 private:
238 /// Assignment operator.
239 basic_symbol &operator=(const basic_symbol &other);
240 };
241
242 /// Type access provider for token (enum) based symbols.
243 struct by_type
244 {
245 /// Default constructor.
246 by_type();
247
248 /// Copy constructor.
249 by_type(const by_type &other);
250
251 /// The symbol type as needed by the constructor.
252 typedef token_type kind_type;
253
254 /// Constructor from (external) token numbers.
255 by_type(kind_type t);
256
257 /// Record that this symbol is empty.
258 void clear();
259
260 /// Steal the symbol type from \a that.
261 void move(by_type &that);
262
263 /// The (internal) type number (corresponding to \a type).
264 /// \a empty when empty.
265 symbol_number_type type_get() const;
266
267 /// The token.
268 token_type token() const;
269
270 /// The symbol type.
271 /// \a empty_symbol when empty.
272 /// An int, not token_number_type, to be able to store empty_symbol.
273 int type;
274 };
275
276 /// "External" symbols: returned by the scanner.
277 typedef basic_symbol<by_type> symbol_type;
278
279 /// Build a parser object.
280 Parser(class Aprepro &aprepro_yyarg);
281 virtual ~Parser();
282
283 /// Parse.
284 /// \returns 0 iff parsing succeeded.
285 virtual int parse();
286
287 #if YYDEBUG
288 /// The current debugging stream.
289 std::ostream &debug_stream() const YY_ATTRIBUTE_PURE;
290 /// Set the current debugging stream.
291 void set_debug_stream(std::ostream &);
292
293 /// Type for debugging levels.
294 typedef int debug_level_type;
295 /// The current debugging level.
296 debug_level_type debug_level() const YY_ATTRIBUTE_PURE;
297 /// Set the current debugging level.
298 void set_debug_level(debug_level_type l);
299 #endif
300
301 /// Report a syntax error.
302 /// \param msg a description of the syntax error.
303 virtual void error(const std::string &msg);
304
305 /// Report a syntax error.
306 void error(const syntax_error &err);
307
308 private:
309 /// This class is not copyable.
310 Parser(const Parser &);
311 Parser &operator=(const Parser &);
312
313 /// State numbers.
314 typedef int state_type;
315
316 /// Generate an error message.
317 /// \param yystate the state where the error occurred.
318 /// \param yyla the lookahead token.
319 virtual std::string yysyntax_error_(state_type yystate, const symbol_type &yyla) const;
320
321 /// Compute post-reduction state.
322 /// \param yystate the current state
323 /// \param yysym the nonterminal to push on the stack
324 state_type yy_lr_goto_state_(state_type yystate, int yysym);
325
326 /// Whether the given \c yypact_ value indicates a defaulted state.
327 /// \param yyvalue the value to check
328 static bool yy_pact_value_is_default_(int yyvalue);
329
330 /// Whether the given \c yytable_ value indicates a syntax error.
331 /// \param yyvalue the value to check
332 static bool yy_table_value_is_error_(int yyvalue);
333
334 static const signed char yypact_ninf_;
335 static const signed char yytable_ninf_;
336
337 /// Convert a scanner token number \a t to a symbol number.
338 static token_number_type yytranslate_(int t);
339
340 // Tables.
341 // YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
342 // STATE-NUM.
343 static const short int yypact_[];
344
345 // YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
346 // Performed when YYTABLE does not specify something else to do. Zero
347 // means the default is an error.
348 static const unsigned char yydefact_[];
349
350 // YYPGOTO[NTERM-NUM].
351 static const signed char yypgoto_[];
352
353 // YYDEFGOTO[NTERM-NUM].
354 static const short int yydefgoto_[];
355
356 // YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
357 // positive, shift that token. If negative, reduce the rule whose
358 // number is the opposite. If YYTABLE_NINF, syntax error.
359 static const unsigned short int yytable_[];
360
361 static const short int yycheck_[];
362
363 // YYSTOS[STATE-NUM] -- The (internal number of the) accessing
364 // symbol of state STATE-NUM.
365 static const unsigned char yystos_[];
366
367 // YYR1[YYN] -- Symbol number of symbol that rule YYN derives.
368 static const unsigned char yyr1_[];
369
370 // YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.
371 static const unsigned char yyr2_[];
372
373 /// Convert the symbol name \a n to a form suitable for a diagnostic.
374 static std::string yytnamerr_(const char *n);
375
376 /// For a symbol, its name in clear.
377 static const char *const yytname_[];
378 #if YYDEBUG
379 // YYRLINE[YYN] -- Source line where rule number YYN was defined.
380 static const unsigned short int yyrline_[];
381 /// Report on the debug stream that the rule \a r is going to be reduced.
382 virtual void yy_reduce_print_(int r);
383 /// Print the state stack on the debug stream.
384 virtual void yystack_print_();
385
386 // Debugging.
387 int yydebug_;
388 std::ostream *yycdebug_;
389
390 /// \brief Display a symbol type, value and location.
391 /// \param yyo The output stream.
392 /// \param yysym The symbol.
393 template <typename Base>
394 void yy_print_(std::ostream &yyo, const basic_symbol<Base> &yysym) const;
395 #endif
396
397 /// \brief Reclaim the memory associated to a symbol.
398 /// \param yymsg Why this token is reclaimed.
399 /// If null, print nothing.
400 /// \param yysym The symbol.
401 template <typename Base> void yy_destroy_(const char *yymsg, basic_symbol<Base> &yysym) const;
402
403 private:
404 /// Type access provider for state based symbols.
405 struct by_state
406 {
407 /// Default constructor.
408 by_state();
409
410 /// The symbol type as needed by the constructor.
411 typedef state_type kind_type;
412
413 /// Constructor.
414 by_state(kind_type s);
415
416 /// Copy constructor.
417 by_state(const by_state &other);
418
419 /// Record that this symbol is empty.
420 void clear();
421
422 /// Steal the symbol type from \a that.
423 void move(by_state &that);
424
425 /// The (internal) type number (corresponding to \a state).
426 /// \a empty_symbol when empty.
427 symbol_number_type type_get() const;
428
429 /// The state number used to denote an empty symbol.
430 enum { empty_state = -1 };
431
432 /// The state.
433 /// \a empty when empty.
434 state_type state;
435 };
436
437 /// "Internal" symbol: element of the stack.
438 struct stack_symbol_type : basic_symbol<by_state>
439 {
440 /// Superclass.
441 typedef basic_symbol<by_state> super_type;
442 /// Construct an empty symbol.
443 stack_symbol_type();
444 /// Steal the contents from \a sym to build this.
445 stack_symbol_type(state_type s, symbol_type &sym);
446 /// Assignment, needed by push_back.
447 stack_symbol_type &operator=(const stack_symbol_type &that);
448 };
449
450 /// Stack type.
451 typedef stack<stack_symbol_type> stack_type;
452
453 /// The stack.
454 stack_type yystack_;
455
456 /// Push a new state on the stack.
457 /// \param m a debug message to display
458 /// if null, no trace is output.
459 /// \param s the symbol
460 /// \warning the contents of \a s.value is stolen.
461 void yypush_(const char *m, stack_symbol_type &s);
462
463 /// Push a new look ahead token on the state on the stack.
464 /// \param m a debug message to display
465 /// if null, no trace is output.
466 /// \param s the state
467 /// \param sym the symbol (for its value and location).
468 /// \warning the contents of \a s.value is stolen.
469 void yypush_(const char *m, state_type s, symbol_type &sym);
470
471 /// Pop \a n symbols the three stacks.
472 void yypop_(unsigned int n = 1);
473
474 /// Constants.
475 enum {
476 yyeof_ = 0,
477 yylast_ = 1237, ///< Last index in yytable_.
478 yynnts_ = 7, ///< Number of nonterminal symbols.
479 yyfinal_ = 2, ///< Termination state number.
480 yyterror_ = 1,
481 yyerrcode_ = 256,
482 yyntokens_ = 50 ///< Number of tokens.
483 };
484
485 // User arguments.
486 class Aprepro &aprepro;
487 };
488
489 } // namespace SEAMS
490 #line 516 "aprepro_parser.h" // lalr1.cc:377
491
492 #endif // !YY_SEAMS_APREPRO_PARSER_H_INCLUDED
SEAMS::Parser::token
Tokens.
Definition: aprepro_parser.h:134
SEAMS::Parser::stack_symbol_type::stack_symbol_type
stack_symbol_type()
Construct an empty symbol.
Definition: apr_parser.cc:281
SEAMS::Parser::token::NE
Definition: aprepro_parser.h:172
SEAMS::Parser::stack_symbol_type
"Internal" symbol: element of the stack.
Definition: aprepro_parser.h:438
SEAMS::Parser::operator=
Parser & operator=(const Parser &)
SEAMS::Parser::token::UNARY
Definition: aprepro_parser.h:178
SEAMS::Parser::token::DEC
Definition: aprepro_parser.h:182
SEAMS::Parser::token::SUB
Definition: aprepro_parser.h:174
SEAMS::Aprepro
Definition: aprepro.h:177
SEAMS::Parser::token::EQ_DIV
Definition: aprepro_parser.h:161
SEAMS::Parser::token::FNCT
Definition: aprepro_parser.h:146
SEAMS::Parser::semantic_type::string
char * string
Definition: aprepro_parser.h:118
SEAMS::Parser::yytranslate_
static token_number_type yytranslate_(int t)
Convert a scanner token number t to a symbol number.
Definition: apr_parser.cc:2348
SEAMS::Parser::semantic_type::val
double val
Definition: aprepro_parser.h:116
SEAMS::Parser::by_state::state
state_type state
Definition: aprepro_parser.h:434
SEAMS::Parser::token::SFNCT
Definition: aprepro_parser.h:147
SEAMS::Parser::stack_symbol_type::super_type
basic_symbol< by_state > super_type
Superclass.
Definition: aprepro_parser.h:441
SEAMS::Parser::by_state::move
void move(by_state &that)
Steal the symbol type from that.
Definition: apr_parser.cc:265
SEAMS::Parser::token::VAR
Definition: aprepro_parser.h:141
SEAMS::Parser::token::AFNCT
Definition: aprepro_parser.h:148
SEAMS::Parser::syntax_error
Syntax errors thrown from user actions.
Definition: aprepro_parser.h:128
SEAMS::Parser::yypact_
static const short int yypact_[]
Definition: aprepro_parser.h:343
SEAMS::Parser::yyr2_
static const unsigned char yyr2_[]
Definition: aprepro_parser.h:371
SEAMS::Parser::by_type::type
int type
Definition: aprepro_parser.h:273
YY_ATTRIBUTE_PURE
#define YY_ATTRIBUTE_PURE
Definition: aprepro_parser.h:60
SEAMS::Parser::basic_symbol::clear
void clear()
Destroy contents, and record that is empty.
Definition: apr_parser.cc:228
SEAMS::Parser::yycheck_
static const short int yycheck_[]
Definition: aprepro_parser.h:361
SEAMS::Parser::semantic_type
Symbol semantic values.
Definition: aprepro_parser.h:113
SEAMS::symrec
Definition: aprepro.h:69
SEAMS::Parser::token::NUM
Definition: aprepro_parser.h:138
SEAMS::Parser::token::NOT
Definition: aprepro_parser.h:179
SEAMS::Parser::token::EQ
Definition: aprepro_parser.h:171
SEAMS::Parser::by_state::by_state
by_state()
Default constructor.
Definition: apr_parser.cc:259
SEAMS::Parser::yyerrcode_
Definition: aprepro_parser.h:481
SEAMS::Parser::token::COMMA
Definition: aprepro_parser.h:149
SEAMS::Parser::yydefact_
static const unsigned char yydefact_[]
Definition: aprepro_parser.h:348
SEAMS::Parser::yytable_ninf_
static const signed char yytable_ninf_
Definition: aprepro_parser.h:335
SEAMS::Parser::token::GE
Definition: aprepro_parser.h:170
SEAMS::Parser::by_state::kind_type
state_type kind_type
The symbol type as needed by the constructor.
Definition: aprepro_parser.h:411
SEAMS::Parser::yytnamerr_
static std::string yytnamerr_(const char *n)
Convert the symbol name n to a form suitable for a diagnostic.
Definition: apr_parser.cc:161
SEAMS::Parser::token::QSTRING
Definition: aprepro_parser.h:139
SEAMS::Parser::aprepro
class Aprepro & aprepro
Definition: aprepro_parser.h:486
SEAMS::Parser::symbol_type
basic_symbol< by_type > symbol_type
"External" symbols: returned by the scanner.
Definition: aprepro_parser.h:277
SEAMS::Parser::by_type::move
void move(by_type &that)
Steal the symbol type from that.
Definition: apr_parser.cc:250
SEAMS::Parser::token::EQ_PLUS
Definition: aprepro_parser.h:158
SEAMS::Parser::basic_symbol::empty
bool empty() const
Whether empty.
Definition: apr_parser.cc:230
SEAMS::Parser::token::LPAR
Definition: aprepro_parser.h:150
SEAMS::Parser::token::SEMI
Definition: aprepro_parser.h:156
SEAMS::Parser::yyrline_
static const unsigned short int yyrline_[]
Definition: aprepro_parser.h:380
SEAMS::Parser::token_type
token::yytokentype token_type
(External) token type, as returned by yylex.
Definition: aprepro_parser.h:188
SEAMS::Parser::token::PLU
Definition: aprepro_parser.h:173
SEAMS::Parser::basic_symbol::operator=
basic_symbol & operator=(const basic_symbol &other)
Assignment operator.
SEAMS::Parser::yy_destroy_
void yy_destroy_(const char *yymsg, basic_symbol< Base > &yysym) const
Reclaim the memory associated to a symbol.
Definition: apr_parser.cc:300
SEAMS::Parser::debug_stream
std::ostream & debug_stream() const YY_ATTRIBUTE_PURE
The current debugging stream.
Definition: apr_parser.cc:342
SEAMS::Parser::token::EQ_MINUS
Definition: aprepro_parser.h:159
SEAMS::Parser::yydefgoto_
static const short int yydefgoto_[]
Definition: aprepro_parser.h:354
SEAMS::Parser::yytname_
static const char *const yytname_[]
For a symbol, its name in clear.
Definition: aprepro_parser.h:377
SEAMS::Parser::token::LAND
Definition: aprepro_parser.h:166
SEAMS::Parser::token::LBRACK
Definition: aprepro_parser.h:152
SEAMS::Parser::token::TIM
Definition: aprepro_parser.h:176
SEAMS::Parser::by_type::kind_type
token_type kind_type
The symbol type as needed by the constructor.
Definition: aprepro_parser.h:252
SEAMS::Parser::by_type::type_get
symbol_number_type type_get() const
Definition: apr_parser.cc:256
SEAMS::Parser::basic_symbol::value
semantic_type value
The semantic value.
Definition: aprepro_parser.h:235
SEAMS::Parser::token::DIV
Definition: aprepro_parser.h:175
SEAMS::Parser::yy_reduce_print_
virtual void yy_reduce_print_(int r)
Report on the debug stream that the rule r is going to be reduced.
Definition: apr_parser.cc:2334
SEAMS::Parser::semantic_type::tptr
struct symrec * tptr
Definition: aprepro_parser.h:117
SEAMS::Parser::token::QUEST
Definition: aprepro_parser.h:163
SEAMS::Parser::yyntokens_
Number of tokens.
Definition: aprepro_parser.h:482
SEAMS::Parser::token::GT
Definition: aprepro_parser.h:168
SEAMS::Parser::stack_symbol_type::operator=
stack_symbol_type & operator=(const stack_symbol_type &that)
Assignment, needed by push_back.
Definition: apr_parser.cc:292
SEAMS::Parser::yy_table_value_is_error_
static bool yy_table_value_is_error_(int yyvalue)
Definition: apr_parser.cc:362
SEAMS::Parser::token::IMMVAR
Definition: aprepro_parser.h:143
SEAMS::Parser::yystack_print_
virtual void yystack_print_()
Print the state stack on the debug stream.
Definition: apr_parser.cc:2325
SEAMS::Parser::by_state
Type access provider for state based symbols.
Definition: aprepro_parser.h:405
SEAMS::Parser::token::END
Definition: aprepro_parser.h:137
SEAMS::Parser::yy_print_
void yy_print_(std::ostream &yyo, const basic_symbol< Base > &yysym) const
Display a symbol type, value and location.
Definition: apr_parser.cc:311
SEAMS::Parser::yycdebug_
std::ostream * yycdebug_
Definition: aprepro_parser.h:388
SEAMS::Parser::by_state::clear
void clear()
Record that this symbol is empty.
Definition: apr_parser.cc:263
SEAMS::Parser::yydebug_
int yydebug_
Definition: aprepro_parser.h:387
SEAMS::Parser::symbol_number_type
int symbol_number_type
Symbol type: an internal symbol number.
Definition: aprepro_parser.h:191
SEAMS::Parser::token_number_type
unsigned char token_number_type
Internal symbol number for tokens (subsumed by symbol_number_type).
Definition: aprepro_parser.h:197
SEAMS::Parser::basic_symbol::move
void move(basic_symbol &s)
Destructive move, s is emptied into this.
Definition: apr_parser.cc:235
SEAMS::Parser::token::RBRACE
Definition: aprepro_parser.h:155
SEAMS::Parser::stack_type
stack< stack_symbol_type > stack_type
Stack type.
Definition: aprepro_parser.h:451
SEAMS::Parser::token::MOD
Definition: aprepro_parser.h:177
SEAMS::Parser::Parser
Parser(class Aprepro &aprepro_yyarg)
Build a parser object.
Definition: apr_parser.cc:187
SEAMS::Parser::by_type::token
token_type token() const
The token.
SEAMS::Parser::token::EQ_TIME
Definition: aprepro_parser.h:160
SEAMS::Parser::token::RPAR
Definition: aprepro_parser.h:151
SEAMS::Parser::basic_symbol::super_type
Base super_type
Alias to Base.
Definition: aprepro_parser.h:208
SEAMS::Parser::yy_lr_goto_state_
state_type yy_lr_goto_state_(state_type yystate, int yysym)
Definition: apr_parser.cc:351
SEAMS::Parser::yytable_
static const unsigned short int yytable_[]
Definition: aprepro_parser.h:359
SEAMS::Parser::token::INC
Definition: aprepro_parser.h:181
SEAMS::Parser::token::LT
Definition: aprepro_parser.h:167
SEAMS::Parser::by_state::empty_state
Definition: aprepro_parser.h:430
SEAMS::Parser::token::LBRACE
Definition: aprepro_parser.h:154
SEAMS::Parser::by_type::clear
void clear()
Record that this symbol is empty.
Definition: apr_parser.cc:248
SEAMS::Parser::token::LOR
Definition: aprepro_parser.h:165
SEAMS::Parser::syntax_error::syntax_error
syntax_error(const std::string &m)
Definition: apr_parser.cc:202
SEAMS::Parser::token::AVAR
Definition: aprepro_parser.h:145
SEAMS::Parser::state_type
int state_type
State numbers.
Definition: aprepro_parser.h:314
SEAMS::Parser::yyr1_
static const unsigned char yyr1_[]
Definition: aprepro_parser.h:368
SEAMS::Parser::token::POW
Definition: aprepro_parser.h:180
SEAMS::Parser::basic_symbol::~basic_symbol
~basic_symbol()
Destroy the symbol.
Definition: apr_parser.cc:226
SEAMS::Parser::by_type
Type access provider for token (enum) based symbols.
Definition: aprepro_parser.h:243
SEAMS::Parser::~Parser
virtual ~Parser()
Definition: apr_parser.cc:196
SEAMS::Parser::debug_level
debug_level_type debug_level() const YY_ATTRIBUTE_PURE
The current debugging level.
Definition: apr_parser.cc:346
SEAMS::Parser::yysyntax_error_
virtual std::string yysyntax_error_(state_type yystate, const symbol_type &yyla) const
Definition: apr_parser.cc:1956
SEAMS::Parser::yypush_
void yypush_(const char *m, stack_symbol_type &s)
Definition: apr_parser.cc:332
SEAMS::Parser::token::EQ_POW
Definition: aprepro_parser.h:162
SEAMS::Parser::token::RBRACK
Definition: aprepro_parser.h:153
SEAMS::Parser::yynnts_
Number of nonterminal symbols.
Definition: aprepro_parser.h:478
SEAMS::Parser::error
virtual void error(const std::string &msg)
Definition: apr_parser.cc:2380
SEAMS::Parser::yyeof_
Definition: aprepro_parser.h:476
SEAMS::Parser::token::CONCAT
Definition: aprepro_parser.h:183
SEAMS::Parser::token::SVAR
Definition: aprepro_parser.h:142
SEAMS::Parser::token::UNDVAR
Definition: aprepro_parser.h:140
SEAMS::Parser
A Bison parser.
Definition: aprepro_parser.h:108
SEAMS::Parser::yyfinal_
Termination state number.
Definition: aprepro_parser.h:479
SEAMS::Parser::by_type::by_type
by_type()
Default constructor.
Definition: apr_parser.cc:242
SEAMS::Parser::token::EQUAL
Definition: aprepro_parser.h:157
SEAMS::Parser::basic_symbol
Definition: aprepro_parser.h:205
SEAMS::Parser::token::LE
Definition: aprepro_parser.h:169
SEAMS::Parser::set_debug_stream
void set_debug_stream(std::ostream &)
Set the current debugging stream.
Definition: apr_parser.cc:344
SEAMS::Parser::parse
virtual int parse()
Definition: apr_parser.cc:364
SEAMS::Parser::yystack_
stack_type yystack_
The stack.
Definition: aprepro_parser.h:454
SEAMS::Parser::yyterror_
Definition: aprepro_parser.h:480
SEAMS::Parser::yylast_
Last index in yytable_.
Definition: aprepro_parser.h:477
SEAMS
Definition: apr_aprepro.cc:57
SEAMS::Parser::yystos_
static const unsigned char yystos_[]
Definition: aprepro_parser.h:365
SEAMS::Parser::token::yytokentype
yytokentype
Definition: aprepro_parser.h:136
SEAMS::Parser::debug_level_type
int debug_level_type
Type for debugging levels.
Definition: aprepro_parser.h:294
SEAMS::Parser::token::COLON
Definition: aprepro_parser.h:164
SEAMS::Parser::set_debug_level
void set_debug_level(debug_level_type l)
Set the current debugging level.
Definition: apr_parser.cc:348
SEAMS::Parser::basic_symbol::basic_symbol
basic_symbol()
Default constructor.
Definition: apr_parser.cc:205
SEAMS::Parser::by_state::type_get
symbol_number_type type_get() const
Definition: apr_parser.cc:273
SEAMS::Parser::yypgoto_
static const signed char yypgoto_[]
Definition: aprepro_parser.h:351
SEAMS::array
Definition: aprepro.h:58
SEAMS::Parser::token::IMMSVAR
Definition: aprepro_parser.h:144
SEAMS::Parser::yypact_ninf_
static const signed char yypact_ninf_
Definition: aprepro_parser.h:334
SEAMS::Parser::empty_symbol
Definition: aprepro_parser.h:194
SEAMS::Parser::yy_pact_value_is_default_
static bool yy_pact_value_is_default_(int yyvalue)
Definition: apr_parser.cc:360
SEAMS::Parser::semantic_type::arrval
struct array * arrval
Definition: aprepro_parser.h:119
SEAMS::Parser::yypop_
void yypop_(unsigned int n=1)
Pop n symbols the three stacks.
Definition: apr_parser.cc:339