mirror of https://github.com/n-hys/bash.git
187 lines
6.1 KiB
C
187 lines
6.1 KiB
C
/* A Bison parser, made by GNU Bison 3.6.4. */
|
|
|
|
/* Bison interface for Yacc-like parsers in C
|
|
|
|
Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2020 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. */
|
|
|
|
/* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
|
|
especially those whose name start with YY_ or yy_. They are
|
|
private implementation details that can be changed or removed. */
|
|
|
|
#ifndef YY_YY_Y_TAB_H_INCLUDED
|
|
# define YY_YY_Y_TAB_H_INCLUDED
|
|
/* Debug traces. */
|
|
#ifndef YYDEBUG
|
|
# define YYDEBUG 0
|
|
#endif
|
|
#if YYDEBUG
|
|
extern int yydebug;
|
|
#endif
|
|
|
|
/* Token kinds. */
|
|
#ifndef YYTOKENTYPE
|
|
# define YYTOKENTYPE
|
|
enum yytokentype
|
|
{
|
|
YYEMPTY = -2,
|
|
YYEOF = 0, /* "end of file" */
|
|
YYerror = 256, /* error */
|
|
YYUNDEF = 257, /* "invalid token" */
|
|
IF = 258, /* IF */
|
|
THEN = 259, /* THEN */
|
|
ELSE = 260, /* ELSE */
|
|
ELIF = 261, /* ELIF */
|
|
FI = 262, /* FI */
|
|
CASE = 263, /* CASE */
|
|
ESAC = 264, /* ESAC */
|
|
FOR = 265, /* FOR */
|
|
SELECT = 266, /* SELECT */
|
|
WHILE = 267, /* WHILE */
|
|
UNTIL = 268, /* UNTIL */
|
|
DO = 269, /* DO */
|
|
DONE = 270, /* DONE */
|
|
FUNCTION = 271, /* FUNCTION */
|
|
COPROC = 272, /* COPROC */
|
|
COND_START = 273, /* COND_START */
|
|
COND_END = 274, /* COND_END */
|
|
COND_ERROR = 275, /* COND_ERROR */
|
|
IN = 276, /* IN */
|
|
BANG = 277, /* BANG */
|
|
TIME = 278, /* TIME */
|
|
TIMEOPT = 279, /* TIMEOPT */
|
|
TIMEIGN = 280, /* TIMEIGN */
|
|
WORD = 281, /* WORD */
|
|
ASSIGNMENT_WORD = 282, /* ASSIGNMENT_WORD */
|
|
REDIR_WORD = 283, /* REDIR_WORD */
|
|
NUMBER = 284, /* NUMBER */
|
|
ARITH_CMD = 285, /* ARITH_CMD */
|
|
ARITH_FOR_EXPRS = 286, /* ARITH_FOR_EXPRS */
|
|
COND_CMD = 287, /* COND_CMD */
|
|
AND_AND = 288, /* AND_AND */
|
|
OR_OR = 289, /* OR_OR */
|
|
GREATER_GREATER = 290, /* GREATER_GREATER */
|
|
LESS_LESS = 291, /* LESS_LESS */
|
|
LESS_AND = 292, /* LESS_AND */
|
|
LESS_LESS_LESS = 293, /* LESS_LESS_LESS */
|
|
GREATER_AND = 294, /* GREATER_AND */
|
|
SEMI_SEMI = 295, /* SEMI_SEMI */
|
|
SEMI_AND = 296, /* SEMI_AND */
|
|
SEMI_SEMI_AND = 297, /* SEMI_SEMI_AND */
|
|
LESS_LESS_MINUS = 298, /* LESS_LESS_MINUS */
|
|
AND_GREATER = 299, /* AND_GREATER */
|
|
AND_GREATER_GREATER = 300, /* AND_GREATER_GREATER */
|
|
LESS_GREATER = 301, /* LESS_GREATER */
|
|
GREATER_BAR = 302, /* GREATER_BAR */
|
|
BAR_AND = 303, /* BAR_AND */
|
|
yacc_EOF = 304 /* yacc_EOF */
|
|
};
|
|
typedef enum yytokentype yytoken_kind_t;
|
|
#endif
|
|
/* Token kinds. */
|
|
#define YYEOF 0
|
|
#define YYerror 256
|
|
#define YYUNDEF 257
|
|
#define IF 258
|
|
#define THEN 259
|
|
#define ELSE 260
|
|
#define ELIF 261
|
|
#define FI 262
|
|
#define CASE 263
|
|
#define ESAC 264
|
|
#define FOR 265
|
|
#define SELECT 266
|
|
#define WHILE 267
|
|
#define UNTIL 268
|
|
#define DO 269
|
|
#define DONE 270
|
|
#define FUNCTION 271
|
|
#define COPROC 272
|
|
#define COND_START 273
|
|
#define COND_END 274
|
|
#define COND_ERROR 275
|
|
#define IN 276
|
|
#define BANG 277
|
|
#define TIME 278
|
|
#define TIMEOPT 279
|
|
#define TIMEIGN 280
|
|
#define WORD 281
|
|
#define ASSIGNMENT_WORD 282
|
|
#define REDIR_WORD 283
|
|
#define NUMBER 284
|
|
#define ARITH_CMD 285
|
|
#define ARITH_FOR_EXPRS 286
|
|
#define COND_CMD 287
|
|
#define AND_AND 288
|
|
#define OR_OR 289
|
|
#define GREATER_GREATER 290
|
|
#define LESS_LESS 291
|
|
#define LESS_AND 292
|
|
#define LESS_LESS_LESS 293
|
|
#define GREATER_AND 294
|
|
#define SEMI_SEMI 295
|
|
#define SEMI_AND 296
|
|
#define SEMI_SEMI_AND 297
|
|
#define LESS_LESS_MINUS 298
|
|
#define AND_GREATER 299
|
|
#define AND_GREATER_GREATER 300
|
|
#define LESS_GREATER 301
|
|
#define GREATER_BAR 302
|
|
#define BAR_AND 303
|
|
#define yacc_EOF 304
|
|
|
|
/* Value type. */
|
|
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
|
|
union YYSTYPE
|
|
{
|
|
#line 328 "/Users/chet/src/bash/src/parse.y"
|
|
|
|
WORD_DESC *word; /* the word that we read. */
|
|
int number; /* the number that we read. */
|
|
WORD_LIST *word_list;
|
|
COMMAND *command;
|
|
REDIRECT *redirect;
|
|
ELEMENT element;
|
|
PATTERN_LIST *pattern;
|
|
|
|
#line 174 "y.tab.h"
|
|
|
|
};
|
|
typedef union YYSTYPE YYSTYPE;
|
|
# define YYSTYPE_IS_TRIVIAL 1
|
|
# define YYSTYPE_IS_DECLARED 1
|
|
#endif
|
|
|
|
|
|
extern YYSTYPE yylval;
|
|
|
|
int yyparse (void);
|
|
|
|
#endif /* !YY_YY_Y_TAB_H_INCLUDED */
|