#ifndef YY_YY_SRC_PARSER_H_INCLUDED
# define YY_YY_SRC_PARSER_H_INCLUDED
#ifndef YYDEBUG
# define YYDEBUG 0
#endif
#if YYDEBUG
extern int yydebug;
#endif
#line 12 "src/parser.y"
#include "locfile.h"
struct lexer_param;
#define YYLTYPE location
#define YYLLOC_DEFAULT(Loc, Rhs, N) \
do { \
if (N) { \
(Loc).start = YYRHSLOC(Rhs, 1).start; \
(Loc).end = YYRHSLOC(Rhs, N).end; \
} else { \
(Loc).start = YYRHSLOC(Rhs, 0).end; \
(Loc).end = YYRHSLOC(Rhs, 0).end; \
} \
} while (0)
#line 66 "src/parser.h"
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
enum yytokentype
{
YYEMPTY = -2,
YYEOF = 0,
YYerror = 256,
YYUNDEF = 257,
INVALID_CHARACTER = 258,
IDENT = 259,
FIELD = 260,
BINDING = 261,
LITERAL = 262,
FORMAT = 263,
REC = 264,
SETMOD = 265,
EQ = 266,
NEQ = 267,
DEFINEDOR = 268,
AS = 269,
DEF = 270,
MODULE = 271,
IMPORT = 272,
INCLUDE = 273,
IF = 274,
THEN = 275,
ELSE = 276,
ELSE_IF = 277,
REDUCE = 278,
FOREACH = 279,
END = 280,
AND = 281,
OR = 282,
TRY = 283,
CATCH = 284,
LABEL = 285,
BREAK = 286,
LOC = 287,
SETPIPE = 288,
SETPLUS = 289,
SETMINUS = 290,
SETMULT = 291,
SETDIV = 292,
SETDEFINEDOR = 293,
LESSEQ = 294,
GREATEREQ = 295,
ALTERNATION = 296,
QQSTRING_START = 297,
QQSTRING_TEXT = 298,
QQSTRING_INTERP_START = 299,
QQSTRING_INTERP_END = 300,
QQSTRING_END = 301,
FUNCDEF = 302,
NONOPT = 303
};
typedef enum yytokentype yytoken_kind_t;
#endif
#define YYEMPTY -2
#define YYEOF 0
#define YYerror 256
#define YYUNDEF 257
#define INVALID_CHARACTER 258
#define IDENT 259
#define FIELD 260
#define BINDING 261
#define LITERAL 262
#define FORMAT 263
#define REC 264
#define SETMOD 265
#define EQ 266
#define NEQ 267
#define DEFINEDOR 268
#define AS 269
#define DEF 270
#define MODULE 271
#define IMPORT 272
#define INCLUDE 273
#define IF 274
#define THEN 275
#define ELSE 276
#define ELSE_IF 277
#define REDUCE 278
#define FOREACH 279
#define END 280
#define AND 281
#define OR 282
#define TRY 283
#define CATCH 284
#define LABEL 285
#define BREAK 286
#define LOC 287
#define SETPIPE 288
#define SETPLUS 289
#define SETMINUS 290
#define SETMULT 291
#define SETDIV 292
#define SETDEFINEDOR 293
#define LESSEQ 294
#define GREATEREQ 295
#define ALTERNATION 296
#define QQSTRING_START 297
#define QQSTRING_TEXT 298
#define QQSTRING_INTERP_START 299
#define QQSTRING_INTERP_END 300
#define QQSTRING_END 301
#define FUNCDEF 302
#define NONOPT 303
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
union YYSTYPE
{
#line 32 "src/parser.y"
jv literal;
block blk;
#line 187 "src/parser.h"
};
typedef union YYSTYPE YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define YYSTYPE_IS_DECLARED 1
#endif
#if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
typedef struct YYLTYPE YYLTYPE;
struct YYLTYPE
{
int first_line;
int first_column;
int last_line;
int last_column;
};
# define YYLTYPE_IS_DECLARED 1
# define YYLTYPE_IS_TRIVIAL 1
#endif
int yyparse (block* answer, int* errors, struct locfile* locations, struct lexer_param* lexer_param_ptr);
#endif