mirror of
				https://github.com/stedolan/jq.git
				synced 2024-05-11 05:55:39 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			194 lines
		
	
	
		
			4.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			194 lines
		
	
	
		
			4.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/* A Bison parser, made by GNU Bison 3.0.2.  */
 | 
						|
 | 
						|
/* Bison interface for Yacc-like parsers in C
 | 
						|
 | 
						|
   Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
 | 
						|
 | 
						|
   This program is free software: you can redistribute it and/or modify
 | 
						|
   it under the terms of the GNU General Public License as published by
 | 
						|
   the Free Software Foundation, either version 3 of the License, or
 | 
						|
   (at your option) any later version.
 | 
						|
 | 
						|
   This program is distributed in the hope that it will be useful,
 | 
						|
   but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
						|
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
						|
   GNU General Public License for more details.
 | 
						|
 | 
						|
   You should have received a copy of the GNU General Public License
 | 
						|
   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 | 
						|
 | 
						|
/* As a special exception, you may create a larger work that contains
 | 
						|
   part or all of the Bison parser skeleton and distribute that work
 | 
						|
   under terms of your choice, so long as that work isn't itself a
 | 
						|
   parser generator using the skeleton or a modified version thereof
 | 
						|
   as a parser skeleton.  Alternatively, if you modify or redistribute
 | 
						|
   the parser skeleton itself, you may (at your option) remove this
 | 
						|
   special exception, which will cause the skeleton and the resulting
 | 
						|
   Bison output files to be licensed under the GNU General Public
 | 
						|
   License without this special exception.
 | 
						|
 | 
						|
   This special exception was added by the Free Software Foundation in
 | 
						|
   version 2.2 of Bison.  */
 | 
						|
 | 
						|
#ifndef YY_YY_PARSER_H_INCLUDED
 | 
						|
# define YY_YY_PARSER_H_INCLUDED
 | 
						|
/* Debug traces.  */
 | 
						|
#ifndef YYDEBUG
 | 
						|
# define YYDEBUG 0
 | 
						|
#endif
 | 
						|
#if YYDEBUG
 | 
						|
extern int yydebug;
 | 
						|
#endif
 | 
						|
/* "%code requires" blocks.  */
 | 
						|
#line 11 "parser.y" /* yacc.c:1909  */
 | 
						|
 | 
						|
#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 61 "parser.h" /* yacc.c:1909  */
 | 
						|
 | 
						|
/* Token type.  */
 | 
						|
#ifndef YYTOKENTYPE
 | 
						|
# define YYTOKENTYPE
 | 
						|
  enum yytokentype
 | 
						|
  {
 | 
						|
    INVALID_CHARACTER = 258,
 | 
						|
    IDENT = 259,
 | 
						|
    FIELD = 260,
 | 
						|
    LITERAL = 261,
 | 
						|
    FORMAT = 262,
 | 
						|
    REC = 263,
 | 
						|
    SETMOD = 264,
 | 
						|
    EQ = 265,
 | 
						|
    NEQ = 266,
 | 
						|
    DEFINEDOR = 267,
 | 
						|
    AS = 268,
 | 
						|
    DEF = 269,
 | 
						|
    MODULE = 270,
 | 
						|
    IMPORT = 271,
 | 
						|
    INCLUDE = 272,
 | 
						|
    IF = 273,
 | 
						|
    THEN = 274,
 | 
						|
    ELSE = 275,
 | 
						|
    ELSE_IF = 276,
 | 
						|
    REDUCE = 277,
 | 
						|
    FOREACH = 278,
 | 
						|
    END = 279,
 | 
						|
    AND = 280,
 | 
						|
    OR = 281,
 | 
						|
    TRY = 282,
 | 
						|
    CATCH = 283,
 | 
						|
    LABEL = 284,
 | 
						|
    BREAK = 285,
 | 
						|
    LOC = 286,
 | 
						|
    SETPIPE = 287,
 | 
						|
    SETPLUS = 288,
 | 
						|
    SETMINUS = 289,
 | 
						|
    SETMULT = 290,
 | 
						|
    SETDIV = 291,
 | 
						|
    SETDEFINEDOR = 292,
 | 
						|
    LESSEQ = 293,
 | 
						|
    GREATEREQ = 294,
 | 
						|
    QQSTRING_START = 295,
 | 
						|
    QQSTRING_TEXT = 296,
 | 
						|
    QQSTRING_INTERP_START = 297,
 | 
						|
    QQSTRING_INTERP_END = 298,
 | 
						|
    QQSTRING_END = 299,
 | 
						|
    FUNCDEF = 300,
 | 
						|
    NONOPT = 301
 | 
						|
  };
 | 
						|
#endif
 | 
						|
/* Tokens.  */
 | 
						|
#define INVALID_CHARACTER 258
 | 
						|
#define IDENT 259
 | 
						|
#define FIELD 260
 | 
						|
#define LITERAL 261
 | 
						|
#define FORMAT 262
 | 
						|
#define REC 263
 | 
						|
#define SETMOD 264
 | 
						|
#define EQ 265
 | 
						|
#define NEQ 266
 | 
						|
#define DEFINEDOR 267
 | 
						|
#define AS 268
 | 
						|
#define DEF 269
 | 
						|
#define MODULE 270
 | 
						|
#define IMPORT 271
 | 
						|
#define INCLUDE 272
 | 
						|
#define IF 273
 | 
						|
#define THEN 274
 | 
						|
#define ELSE 275
 | 
						|
#define ELSE_IF 276
 | 
						|
#define REDUCE 277
 | 
						|
#define FOREACH 278
 | 
						|
#define END 279
 | 
						|
#define AND 280
 | 
						|
#define OR 281
 | 
						|
#define TRY 282
 | 
						|
#define CATCH 283
 | 
						|
#define LABEL 284
 | 
						|
#define BREAK 285
 | 
						|
#define LOC 286
 | 
						|
#define SETPIPE 287
 | 
						|
#define SETPLUS 288
 | 
						|
#define SETMINUS 289
 | 
						|
#define SETMULT 290
 | 
						|
#define SETDIV 291
 | 
						|
#define SETDEFINEDOR 292
 | 
						|
#define LESSEQ 293
 | 
						|
#define GREATEREQ 294
 | 
						|
#define QQSTRING_START 295
 | 
						|
#define QQSTRING_TEXT 296
 | 
						|
#define QQSTRING_INTERP_START 297
 | 
						|
#define QQSTRING_INTERP_END 298
 | 
						|
#define QQSTRING_END 299
 | 
						|
#define FUNCDEF 300
 | 
						|
#define NONOPT 301
 | 
						|
 | 
						|
/* Value type.  */
 | 
						|
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
 | 
						|
typedef union YYSTYPE YYSTYPE;
 | 
						|
union YYSTYPE
 | 
						|
{
 | 
						|
#line 31 "parser.y" /* yacc.c:1909  */
 | 
						|
 | 
						|
  jv literal;
 | 
						|
  block blk;
 | 
						|
 | 
						|
#line 170 "parser.h" /* yacc.c:1909  */
 | 
						|
};
 | 
						|
# define YYSTYPE_IS_TRIVIAL 1
 | 
						|
# define YYSTYPE_IS_DECLARED 1
 | 
						|
#endif
 | 
						|
 | 
						|
/* Location type.  */
 | 
						|
#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 /* !YY_YY_PARSER_H_INCLUDED  */
 |