37#ifndef PARSER_HEADER_H
38# define PARSER_HEADER_H
88#include <tqvaluestack.h>
92#define YYSTYPE_IS_DECLARED
128#define YYSTYPE Result
132extern int TQMakelex(
TQMake::Result* yylval, TQMake::Lexer* lexer );
164#line 165 "qmake_yacc.h"
174#ifdef YYERROR_VERBOSE
175# undef YYERROR_VERBOSE
176# define YYERROR_VERBOSE 1
178# define YYERROR_VERBOSE 0
183# define YYTOKEN_TABLE 1
190#ifndef YYLLOC_DEFAULT
191# define YYLLOC_DEFAULT(Current, Rhs, N) \
195 (Current).begin = (Rhs)[1].begin; \
196 (Current).end = (Rhs)[N].end; \
200 (Current).begin = (Current).end = (Rhs)[0].end; \
241 QUOTED_VARIABLE_VALUE = 274,
242 VARIABLE_VALUE = 275,
252 Parser (TQMake::Lexer* lexer_yyarg, TQValueStack<ProjectAST*>& projects_yyarg,
int depth_yyarg);
257 virtual int parse ();
275 virtual void error (
const location_type& loc,
const std::string& msg);
280 virtual std::string yysyntax_error_ (
int yystate);
287 virtual void yy_symbol_value_print_ (
int yytype,
294 virtual void yy_symbol_print_ (
int yytype,
301 typedef int state_type;
303 typedef stack<state_type> state_stack_type;
305 typedef stack<semantic_type> semantic_stack_type;
307 typedef stack<location_type> location_stack_type;
310 state_stack_type yystate_stack_;
312 semantic_stack_type yysemantic_stack_;
314 location_stack_type yylocation_stack_;
317 typedef unsigned char token_number_type;
320 static const signed char yypact_[];
321 static const signed char yypact_ninf_;
326 static const unsigned char yydefact_[];
328 static const signed char yypgoto_[];
329 static const signed char yydefgoto_[];
336 static const signed char yytable_[];
337 static const signed char yytable_ninf_;
339 static const unsigned char yycheck_[];
342 static const unsigned char yystos_[];
345 static const unsigned char yyr1_[];
347 static const unsigned char yyr2_[];
349#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
351 static const char*
const yytname_[];
356 virtual std::string yytnamerr_ (
const char *n);
361 typedef signed char rhs_number_type;
363 static const rhs_number_type yyrhs_[];
365 static const unsigned char yyprhs_[];
367 static const unsigned short int yyrline_[];
369 static const unsigned short int yytoken_number_[];
371 virtual void yy_reduce_print_ (
int r);
373 virtual void yystack_print_ ();
377 token_number_type yytranslate_ (
int t);
384 inline void yydestruct_ (
const char* yymsg,
390 inline void yypop_ (
unsigned int n = 1);
393 static const int yyeof_;
395 static const int yylast_;
396 static const int yynnts_;
397 static const int yyempty_;
398 static const int yyfinal_;
399 static const int yyterror_;
400 static const int yyerrcode_;
401 static const int yyntokens_;
402 static const unsigned int yyuser_token_number_max_;
403 static const token_number_type yyundef_token_;
407 std::ostream* yycdebug_;
411 TQMake::Lexer* lexer;
412 TQValueStack<ProjectAST*>& projects;
location location_type
Symbol locations.
virtual int parse()
Parse.
token::yytokentype token_type
Token type.
Parser(TQMake::Lexer *lexer_yyarg, TQValueStack< ProjectAST * > &projects_yyarg, int depth_yyarg)
Build a parser object.
void set_debug_level(debug_level_type l)
Set the current debugging level.
void set_debug_stream(std::ostream &)
Set the current debugging stream.
int debug_level_type
Type for debugging levels.
YYSTYPE semantic_type
Symbol semantic values.
std::ostream & debug_stream() const
The current debugging stream.
debug_level_type debug_level() const
The current debugging level.
Define the TQMake::location class.
Abstract Syntax Tree (AST) class declarations.
AST * node
Type of semantic value for grammar rules which are parts of AST.
TQString value
Type of semantic value for simple grammar rules.
TQStringList values
Type of semantic value for "multiline_values" grammar rule.