/*
* This file was generated by the mkinit program.
*/
#include "shell.h"
#include "mystring.h"
#include "init.h"
#include "eval.h"
#include <stdio.h>
#include "input.h"
#include "error.h"
#include <stdlib.h>
#include "options.h"
#include "redir.h"
#include <signal.h>
#include "trap.h"
#include "output.h"
#include "memalloc.h"
#include "var.h"
#undef ATABSIZE
#define ATABSIZE 39
#undef YYBISON
#define YYBISON 1
#undef YYSKELETON_NAME
#define YYSKELETON_NAME "yacc.c"
#undef YYPURE
#define YYPURE 0
#undef YYLSP_NEEDED
#define YYLSP_NEEDED 0
#undef ARITH_NUM
#define ARITH_NUM 258
#undef ARITH_LPAREN
#define ARITH_LPAREN 259
#undef ARITH_RPAREN
#define ARITH_RPAREN 260
#undef ARITH_OR
#define ARITH_OR 261
#undef ARITH_AND
#define ARITH_AND 262
#undef ARITH_BOR
#define ARITH_BOR 263
#undef ARITH_BXOR
#define ARITH_BXOR 264
#undef ARITH_BAND
#define ARITH_BAND 265
#undef ARITH_NE
#define ARITH_NE 266
#undef ARITH_EQ
#define ARITH_EQ 267
#undef ARITH_LE
#define ARITH_LE 268
#undef ARITH_GE
#define ARITH_GE 269
#undef ARITH_GT
#define ARITH_GT 270
#undef ARITH_LT
#define ARITH_LT 271
#undef ARITH_RSHIFT
#define ARITH_RSHIFT 272
#undef ARITH_LSHIFT
#define ARITH_LSHIFT 273
#undef ARITH_SUB
#define ARITH_SUB 274
#undef ARITH_ADD
#define ARITH_ADD 275
#undef ARITH_REM
#define ARITH_REM 276
#undef ARITH_DIV
#define ARITH_DIV 277
#undef ARITH_MUL
#define ARITH_MUL 278
#undef ARITH_BNOT
#define ARITH_BNOT 279
#undef ARITH_NOT
#define ARITH_NOT 280
#undef ARITH_UNARYPLUS
#define ARITH_UNARYPLUS 281
#undef ARITH_UNARYMINUS
#define ARITH_UNARYMINUS 282
#undef YYFINAL
#define YYFINAL 14
#undef YYLAST
#define YYLAST 170
#undef YYNTOKENS
#define YYNTOKENS 28
#undef YYNNTS
#define YYNNTS 3
#undef YYNRULES
#define YYNRULES 26
#undef YYNSTATES
#define YYNSTATES 52
#undef YYUNDEFTOK
#define YYUNDEFTOK 2
#undef YYMAXUTOK
#define YYMAXUTOK 282
#undef YYPACT_NINF
#define YYPACT_NINF -13
#undef YYTABLE_NINF
#define YYTABLE_NINF -1
#undef yyerrok
#define yyerrok (yyerrstatus = 0)
#undef yyclearin
#define yyclearin (yychar = YYEMPTY)
#undef YYEMPTY
#define YYEMPTY (-2)
#undef YYEOF
#define YYEOF 0
#undef YYACCEPT
#define YYACCEPT goto yyacceptlab
#undef YYABORT
#define YYABORT goto yyabortlab
#undef YYERROR
#define YYERROR goto yyerrorlab
#undef YYFAIL
#define YYFAIL goto yyerrlab
#undef YYTERROR
#define YYTERROR 1
#undef YYERRCODE
#define YYERRCODE 256
#undef YYPOPSTACK
#define YYPOPSTACK (yyvsp--, yyssp--)
#undef YY_INT_ALIGNED
#define YY_INT_ALIGNED short int
#undef FLEX_SCANNER
#define FLEX_SCANNER
#undef YY_FLEX_MAJOR_VERSION
#define YY_FLEX_MAJOR_VERSION 2
#undef YY_FLEX_MINOR_VERSION
#define YY_FLEX_MINOR_VERSION 5
#undef YY_FLEX_SUBMINOR_VERSION
#define YY_FLEX_SUBMINOR_VERSION 31
#undef FLEX_BETA
#define FLEX_BETA
#undef FLEXINT_H
#define FLEXINT_H
#undef INT8_MIN
#define INT8_MIN (-128)
#undef INT16_MIN
#define INT16_MIN (-32767-1)
#undef INT32_MIN
#define INT32_MIN (-2147483647-1)
#undef INT8_MAX
#define INT8_MAX (127)
#undef INT16_MAX
#define INT16_MAX (32767)
#undef INT32_MAX
#define INT32_MAX (2147483647)
#undef UINT8_MAX
#define UINT8_MAX (255U)
#undef UINT16_MAX
#define UINT16_MAX (65535U)
#undef UINT32_MAX
#define UINT32_MAX (4294967295U)
#undef YY_USE_CONST
#define YY_USE_CONST
#undef YY_USE_CONST
#define YY_USE_CONST
#undef yyconst
#define yyconst const
#undef yyconst
#define yyconst
#undef YY_NULL
#define YY_NULL 0
#undef BEGIN
#define BEGIN (yy_start) = 1 + 2 *
#undef YY_START
#define YY_START (((yy_start) - 1) / 2)
#undef YYSTATE
#define YYSTATE YY_START
#undef YY_NEW_FILE
#define YY_NEW_FILE yyrestart(yyin )
#undef YY_END_OF_BUFFER_CHAR
#define YY_END_OF_BUFFER_CHAR 0
#undef YY_BUF_SIZE
#define YY_BUF_SIZE 16384
#undef YY_TYPEDEF_YY_BUFFER_STATE
#define YY_TYPEDEF_YY_BUFFER_STATE
#undef EOB_ACT_CONTINUE_SCAN
#define EOB_ACT_CONTINUE_SCAN 0
#undef EOB_ACT_END_OF_FILE
#define EOB_ACT_END_OF_FILE 1
#undef EOB_ACT_LAST_MATCH
#define EOB_ACT_LAST_MATCH 2
#undef YY_TYPEDEF_YY_SIZE_T
#define YY_TYPEDEF_YY_SIZE_T
#undef YY_STRUCT_YY_BUFFER_STATE
#define YY_STRUCT_YY_BUFFER_STATE
#undef YY_BUFFER_NEW
#define YY_BUFFER_NEW 0
#undef YY_BUFFER_NORMAL
#define YY_BUFFER_NORMAL 1
#undef YY_BUFFER_EOF_PENDING
#define YY_BUFFER_EOF_PENDING 2
#undef YY_CURRENT_BUFFER
#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
#undef YY_CURRENT_BUFFER_LVALUE
#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
#undef YY_FLUSH_BUFFER
#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
#undef yy_new_buffer
#define yy_new_buffer yy_create_buffer
#undef YY_SKIP_YYWRAP
#define YY_SKIP_YYWRAP
#undef yytext_ptr
#define yytext_ptr yytext
#undef YY_DO_BEFORE_ACTION
#define YY_DO_BEFORE_ACTION \
#undef YY_NUM_RULES
#define YY_NUM_RULES 29
#undef YY_END_OF_BUFFER
#define YY_END_OF_BUFFER 30
#undef REJECT
#define REJECT reject_used_but_not_detected
#undef YY_MORE_ADJ
#define YY_MORE_ADJ 0
#undef YY_RESTORE_YY_MORE_OFFSET
#define YY_RESTORE_YY_MORE_OFFSET
#undef YY_NO_UNPUT
#define YY_NO_UNPUT
#undef INITIAL
#define INITIAL 0
#undef YY_EXTRA_TYPE
#define YY_EXTRA_TYPE void *
#undef YY_READ_BUF_SIZE
#define YY_READ_BUF_SIZE 8192
#undef ECHO
#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
#undef YY_START_STACK_INCR
#define YY_START_STACK_INCR 25
#undef YY_DECL_IS_OURS
#define YY_DECL_IS_OURS 1
#undef YY_DECL
#define YY_DECL int yylex (void)
#undef YY_USER_ACTION
#define YY_USER_ACTION
#undef YY_BREAK
#define YY_BREAK break;
#undef YY_RULE_SETUP
#define YY_RULE_SETUP \
#undef YY_EXIT_FAILURE
#define YY_EXIT_FAILURE 2
#undef YYTABLES_NAME
#define YYTABLES_NAME "yytables"
#undef MAXPWD
#define MAXPWD 256
#undef signal
#define signal bsd_signal
#undef ALL
#define ALL (E_OPEN|E_CREAT|E_EXEC)
#undef EV_EXIT
#define EV_EXIT 01 /* exit after evaluating tree */
#undef EV_TESTED
#define EV_TESTED 02 /* exit status is checked; ignore -e flag */
#undef EV_BACKCMD
#define EV_BACKCMD 04 /* command executing within back quotes */
#undef CMDTABLESIZE
#define CMDTABLESIZE 31 /* should be prime */
#undef ARB
#define ARB 1 /* actual size determined at run time */
#undef NEWARGS
#define NEWARGS 5
#undef EOF_NLEFT
#define EOF_NLEFT -99 /* value of parsenleft when EOF pushed back */
#undef _PATH_DEVNULL
#define _PATH_DEVNULL "/dev/null"
#undef PROFILE
#define PROFILE 0
#undef SIGSSIZE
#define SIGSSIZE (sizeof(sigs)/sizeof(sigs[0]))
#undef MINSIZE
#define MINSIZE 504 /* minimum size of a block */
#undef DEFINE_OPTIONS
#define DEFINE_OPTIONS
#undef EOFMARKLEN
#define EOFMARKLEN 79
#undef OPENBRACE
#define OPENBRACE '{'
#undef CLOSEBRACE
#define CLOSEBRACE '}'
#undef EMPTY
#define EMPTY -2 /* marks an unused slot in redirtab */
#undef signal
#define signal bsd_signal
#undef sys_signame
#define sys_signame sys_siglist
#undef S_DFL
#define S_DFL 1 /* default signal handling (SIG_DFL) */
#undef S_CATCH
#define S_CATCH 2 /* signal is caught */
#undef S_IGN
#define S_IGN 3 /* signal is ignored (SIG_IGN) */
#undef S_HARD_IGN
#define S_HARD_IGN 4 /* signal is ignored permenantly */
#undef S_RESET
#define S_RESET 5 /* temporary - to reset a hard ignored sig */
#undef OUTBUFSIZ
#define OUTBUFSIZ BUFSIZ
#undef BLOCK_OUT
#define BLOCK_OUT -2 /* output to a fixed block of memory */
#undef MEM_OUT
#define MEM_OUT -3 /* output to dynamically allocated memory */
#undef OUTPUT_ERR
#define OUTPUT_ERR 01 /* error occurred on output */
#undef TEMPSIZE
#define TEMPSIZE 24
#undef HAVE_VASPRINTF
#define HAVE_VASPRINTF 1
#undef VTABSIZE
#define VTABSIZE 39
#undef VTABSIZE
#define VTABSIZE 517
#undef ATABSIZE
#define ATABSIZE 39
#undef YYBISON
#define YYBISON 1
#undef YYSKELETON_NAME
#define YYSKELETON_NAME "yacc.c"
#undef YYPURE
#define YYPURE 0
#undef YYLSP_NEEDED
#define YYLSP_NEEDED 0
#undef ARITH_NUM
#define ARITH_NUM 258
#undef ARITH_LPAREN
#define ARITH_LPAREN 259
#undef ARITH_RPAREN
#define ARITH_RPAREN 260
#undef ARITH_OR
#define ARITH_OR 261
#undef ARITH_AND
#define ARITH_AND 262
#undef ARITH_BOR
#define ARITH_BOR 263
#undef ARITH_BXOR
#define ARITH_BXOR 264
#undef ARITH_BAND
#define ARITH_BAND 265
#undef ARITH_NE
#define ARITH_NE 266
#undef ARITH_EQ
#define ARITH_EQ 267
#undef ARITH_LE
#define ARITH_LE 268
#undef ARITH_GE
#define ARITH_GE 269
#undef ARITH_GT
#define ARITH_GT 270
#undef ARITH_LT
#define ARITH_LT 271
#undef ARITH_RSHIFT
#define ARITH_RSHIFT 272
#undef ARITH_LSHIFT
#define ARITH_LSHIFT 273
#undef ARITH_SUB
#define ARITH_SUB 274
#undef ARITH_ADD
#define ARITH_ADD 275
#undef ARITH_REM
#define ARITH_REM 276
#undef ARITH_DIV
#define ARITH_DIV 277
#undef ARITH_MUL
#define ARITH_MUL 278
#undef ARITH_BNOT
#define ARITH_BNOT 279
#undef ARITH_NOT
#define ARITH_NOT 280
#undef ARITH_UNARYPLUS
#define ARITH_UNARYPLUS 281
#undef ARITH_UNARYMINUS
#define ARITH_UNARYMINUS 282
#undef YYFINAL
#define YYFINAL 14
#undef YYLAST
#define YYLAST 170
#undef YYNTOKENS
#define YYNTOKENS 28
#undef YYNNTS
#define YYNNTS 3
#undef YYNRULES
#define YYNRULES 26
#undef YYNSTATES
#define YYNSTATES 52
#undef YYUNDEFTOK
#define YYUNDEFTOK 2
#undef YYMAXUTOK
#define YYMAXUTOK 282
#undef YYPACT_NINF
#define YYPACT_NINF -13
#undef YYTABLE_NINF
#define YYTABLE_NINF -1
#undef yyerrok
#define yyerrok (yyerrstatus = 0)
#undef yyclearin
#define yyclearin (yychar = YYEMPTY)
#undef YYEMPTY
#define YYEMPTY (-2)
#undef YYEOF
#define YYEOF 0
#undef YYACCEPT
#define YYACCEPT goto yyacceptlab
#undef YYABORT
#define YYABORT goto yyabortlab
#undef YYERROR
#define YYERROR goto yyerrorlab
#undef YYFAIL
#define YYFAIL goto yyerrlab
#undef YYTERROR
#define YYTERROR 1
#undef YYERRCODE
#define YYERRCODE 256
#undef YYPOPSTACK
#define YYPOPSTACK (yyvsp--, yyssp--)
#undef YY_INT_ALIGNED
#define YY_INT_ALIGNED short int
#undef FLEX_SCANNER
#define FLEX_SCANNER
#undef YY_FLEX_MAJOR_VERSION
#define YY_FLEX_MAJOR_VERSION 2
#undef YY_FLEX_MINOR_VERSION
#define YY_FLEX_MINOR_VERSION 5
#undef YY_FLEX_SUBMINOR_VERSION
#define YY_FLEX_SUBMINOR_VERSION 31
#undef FLEX_BETA
#define FLEX_BETA
#undef FLEXINT_H
#define FLEXINT_H
#undef INT8_MIN
#define INT8_MIN (-128)
#undef INT16_MIN
#define INT16_MIN (-32767-1)
#undef INT32_MIN
#define INT32_MIN (-2147483647-1)
#undef INT8_MAX
#define INT8_MAX (127)
#undef INT16_MAX
#define INT16_MAX (32767)
#undef INT32_MAX
#define INT32_MAX (2147483647)
#undef UINT8_MAX
#define UINT8_MAX (255U)
#undef UINT16_MAX
#define UINT16_MAX (65535U)
#undef UINT32_MAX
#define UINT32_MAX (4294967295U)
#undef YY_USE_CONST
#define YY_USE_CONST
#undef YY_USE_CONST
#define YY_USE_CONST
#undef yyconst
#define yyconst const
#undef yyconst
#define yyconst
#undef YY_NULL
#define YY_NULL 0
#undef BEGIN
#define BEGIN (yy_start) = 1 + 2 *
#undef YY_START
#define YY_START (((yy_start) - 1) / 2)
#undef YYSTATE
#define YYSTATE YY_START
#undef YY_NEW_FILE
#define YY_NEW_FILE yyrestart(yyin )
#undef YY_END_OF_BUFFER_CHAR
#define YY_END_OF_BUFFER_CHAR 0
#undef YY_BUF_SIZE
#define YY_BUF_SIZE 16384
#undef YY_TYPEDEF_YY_BUFFER_STATE
#define YY_TYPEDEF_YY_BUFFER_STATE
#undef EOB_ACT_CONTINUE_SCAN
#define EOB_ACT_CONTINUE_SCAN 0
#undef EOB_ACT_END_OF_FILE
#define EOB_ACT_END_OF_FILE 1
#undef EOB_ACT_LAST_MATCH
#define EOB_ACT_LAST_MATCH 2
#undef YY_TYPEDEF_YY_SIZE_T
#define YY_TYPEDEF_YY_SIZE_T
#undef YY_STRUCT_YY_BUFFER_STATE
#define YY_STRUCT_YY_BUFFER_STATE
#undef YY_BUFFER_NEW
#define YY_BUFFER_NEW 0
#undef YY_BUFFER_NORMAL
#define YY_BUFFER_NORMAL 1
#undef YY_BUFFER_EOF_PENDING
#define YY_BUFFER_EOF_PENDING 2
#undef YY_CURRENT_BUFFER
#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
#undef YY_CURRENT_BUFFER_LVALUE
#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
#undef YY_FLUSH_BUFFER
#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
#undef yy_new_buffer
#define yy_new_buffer yy_create_buffer
#undef YY_SKIP_YYWRAP
#define YY_SKIP_YYWRAP
#undef yytext_ptr
#define yytext_ptr yytext
#undef YY_DO_BEFORE_ACTION
#define YY_DO_BEFORE_ACTION \
#undef YY_NUM_RULES
#define YY_NUM_RULES 29
#undef YY_END_OF_BUFFER
#define YY_END_OF_BUFFER 30
#undef REJECT
#define REJECT reject_used_but_not_detected
#undef YY_MORE_ADJ
#define YY_MORE_ADJ 0
#undef YY_RESTORE_YY_MORE_OFFSET
#define YY_RESTORE_YY_MORE_OFFSET
#undef YY_NO_UNPUT
#define YY_NO_UNPUT
#undef INITIAL
#define INITIAL 0
#undef YY_EXTRA_TYPE
#define YY_EXTRA_TYPE void *
#undef YY_READ_BUF_SIZE
#define YY_READ_BUF_SIZE 8192
#undef ECHO
#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
#undef YY_START_STACK_INCR
#define YY_START_STACK_INCR 25
#undef YY_DECL_IS_OURS
#define YY_DECL_IS_OURS 1
#undef YY_DECL
#define YY_DECL int yylex (void)
#undef YY_USER_ACTION
#define YY_USER_ACTION
#undef YY_BREAK
#define YY_BREAK break;
#undef YY_RULE_SETUP
#define YY_RULE_SETUP \
#undef YY_EXIT_FAILURE
#define YY_EXIT_FAILURE 2
#undef YYTABLES_NAME
#define YYTABLES_NAME "yytables"
#undef MAXPWD
#define MAXPWD 256
#undef signal
#define signal bsd_signal
#undef ALL
#define ALL (E_OPEN|E_CREAT|E_EXEC)
#undef EV_EXIT
#define EV_EXIT 01 /* exit after evaluating tree */
#undef EV_TESTED
#define EV_TESTED 02 /* exit status is checked; ignore -e flag */
#undef EV_BACKCMD
#define EV_BACKCMD 04 /* command executing within back quotes */
#undef CMDTABLESIZE
#define CMDTABLESIZE 31 /* should be prime */
#undef ARB
#define ARB 1 /* actual size determined at run time */
#undef NEWARGS
#define NEWARGS 5
#undef EOF_NLEFT
#define EOF_NLEFT -99 /* value of parsenleft when EOF pushed back */
#undef _PATH_DEVNULL
#define _PATH_DEVNULL "/dev/null"
#undef PROFILE
#define PROFILE 0
#undef SIGSSIZE
#define SIGSSIZE (sizeof(sigs)/sizeof(sigs[0]))
#undef MINSIZE
#define MINSIZE 504 /* minimum size of a block */
#undef DEFINE_OPTIONS
#define DEFINE_OPTIONS
#undef EOFMARKLEN
#define EOFMARKLEN 79
#undef OPENBRACE
#define OPENBRACE '{'
#undef CLOSEBRACE
#define CLOSEBRACE '}'
#undef EMPTY
#define EMPTY -2 /* marks an unused slot in redirtab */
#undef signal
#define signal bsd_signal
#undef sys_signame
#define sys_signame sys_siglist
#undef S_DFL
#define S_DFL 1 /* default signal handling (SIG_DFL) */
#undef S_CATCH
#define S_CATCH 2 /* signal is caught */
#undef S_IGN
#define S_IGN 3 /* signal is ignored (SIG_IGN) */
#undef S_HARD_IGN
#define S_HARD_IGN 4 /* signal is ignored permenantly */
#undef S_RESET
#define S_RESET 5 /* temporary - to reset a hard ignored sig */
#undef OUTBUFSIZ
#define OUTBUFSIZ BUFSIZ
#undef BLOCK_OUT
#define BLOCK_OUT -2 /* output to a fixed block of memory */
#undef MEM_OUT
#define MEM_OUT -3 /* output to dynamically allocated memory */
#undef OUTPUT_ERR
#define OUTPUT_ERR 01 /* error occurred on output */
#undef TEMPSIZE
#define TEMPSIZE 24
#undef HAVE_VASPRINTF
#define HAVE_VASPRINTF 1
#undef VTABSIZE
#define VTABSIZE 39
#undef VTABSIZE
#define VTABSIZE 517
#undef main
#define main echocmd
#undef YYBISON
#define YYBISON 1
#undef YYSKELETON_NAME
#define YYSKELETON_NAME "yacc.c"
#undef YYPURE
#define YYPURE 0
#undef YYLSP_NEEDED
#define YYLSP_NEEDED 0
#undef ARITH_NUM
#define ARITH_NUM 258
#undef ARITH_LPAREN
#define ARITH_LPAREN 259
#undef ARITH_RPAREN
#define ARITH_RPAREN 260
#undef ARITH_OR
#define ARITH_OR 261
#undef ARITH_AND
#define ARITH_AND 262
#undef ARITH_BOR
#define ARITH_BOR 263
#undef ARITH_BXOR
#define ARITH_BXOR 264
#undef ARITH_BAND
#define ARITH_BAND 265
#undef ARITH_NE
#define ARITH_NE 266
#undef ARITH_EQ
#define ARITH_EQ 267
#undef ARITH_LE
#define ARITH_LE 268
#undef ARITH_GE
#define ARITH_GE 269
#undef ARITH_GT
#define ARITH_GT 270
#undef ARITH_LT
#define ARITH_LT 271
#undef ARITH_RSHIFT
#define ARITH_RSHIFT 272
#undef ARITH_LSHIFT
#define ARITH_LSHIFT 273
#undef ARITH_SUB
#define ARITH_SUB 274
#undef ARITH_ADD
#define ARITH_ADD 275
#undef ARITH_REM
#define ARITH_REM 276
#undef ARITH_DIV
#define ARITH_DIV 277
#undef ARITH_MUL
#define ARITH_MUL 278
#undef ARITH_BNOT
#define ARITH_BNOT 279
#undef ARITH_NOT
#define ARITH_NOT 280
#undef ARITH_UNARYPLUS
#define ARITH_UNARYPLUS 281
#undef ARITH_UNARYMINUS
#define ARITH_UNARYMINUS 282
#undef YYFINAL
#define YYFINAL 14
#undef YYLAST
#define YYLAST 170
#undef YYNTOKENS
#define YYNTOKENS 28
#undef YYNNTS
#define YYNNTS 3
#undef YYNRULES
#define YYNRULES 26
#undef YYNSTATES
#define YYNSTATES 52
#undef YYUNDEFTOK
#define YYUNDEFTOK 2
#undef YYMAXUTOK
#define YYMAXUTOK 282
#undef YYPACT_NINF
#define YYPACT_NINF -13
#undef YYTABLE_NINF
#define YYTABLE_NINF -1
#undef yyerrok
#define yyerrok (yyerrstatus = 0)
#undef yyclearin
#define yyclearin (yychar = YYEMPTY)
#undef YYEMPTY
#define YYEMPTY (-2)
#undef YYEOF
#define YYEOF 0
#undef YYACCEPT
#define YYACCEPT goto yyacceptlab
#undef YYABORT
#define YYABORT goto yyabortlab
#undef YYERROR
#define YYERROR goto yyerrorlab
#undef YYFAIL
#define YYFAIL goto yyerrlab
#undef YYTERROR
#define YYTERROR 1
#undef YYERRCODE
#define YYERRCODE 256
#undef YYPOPSTACK
#define YYPOPSTACK (yyvsp--, yyssp--)
#undef YY_INT_ALIGNED
#define YY_INT_ALIGNED short int
#undef FLEX_SCANNER
#define FLEX_SCANNER
#undef YY_FLEX_MAJOR_VERSION
#define YY_FLEX_MAJOR_VERSION 2
#undef YY_FLEX_MINOR_VERSION
#define YY_FLEX_MINOR_VERSION 5
#undef YY_FLEX_SUBMINOR_VERSION
#define YY_FLEX_SUBMINOR_VERSION 31
#undef FLEX_BETA
#define FLEX_BETA
#undef FLEXINT_H
#define FLEXINT_H
#undef INT8_MIN
#define INT8_MIN (-128)
#undef INT16_MIN
#define INT16_MIN (-32767-1)
#undef INT32_MIN
#define INT32_MIN (-2147483647-1)
#undef INT8_MAX
#define INT8_MAX (127)
#undef INT16_MAX
#define INT16_MAX (32767)
#undef INT32_MAX
#define INT32_MAX (2147483647)
#undef UINT8_MAX
#define UINT8_MAX (255U)
#undef UINT16_MAX
#define UINT16_MAX (65535U)
#undef UINT32_MAX
#define UINT32_MAX (4294967295U)
#undef YY_USE_CONST
#define YY_USE_CONST
#undef YY_USE_CONST
#define YY_USE_CONST
#undef yyconst
#define yyconst const
#undef yyconst
#define yyconst
#undef YY_NULL
#define YY_NULL 0
#undef BEGIN
#define BEGIN (yy_start) = 1 + 2 *
#undef YY_START
#define YY_START (((yy_start) - 1) / 2)
#undef YYSTATE
#define YYSTATE YY_START
#undef YY_NEW_FILE
#define YY_NEW_FILE yyrestart(yyin )
#undef YY_END_OF_BUFFER_CHAR
#define YY_END_OF_BUFFER_CHAR 0
#undef YY_BUF_SIZE
#define YY_BUF_SIZE 16384
#undef YY_TYPEDEF_YY_BUFFER_STATE
#define YY_TYPEDEF_YY_BUFFER_STATE
#undef EOB_ACT_CONTINUE_SCAN
#define EOB_ACT_CONTINUE_SCAN 0
#undef EOB_ACT_END_OF_FILE
#define EOB_ACT_END_OF_FILE 1
#undef EOB_ACT_LAST_MATCH
#define EOB_ACT_LAST_MATCH 2
#undef YY_TYPEDEF_YY_SIZE_T
#define YY_TYPEDEF_YY_SIZE_T
#undef YY_STRUCT_YY_BUFFER_STATE
#define YY_STRUCT_YY_BUFFER_STATE
#undef YY_BUFFER_NEW
#define YY_BUFFER_NEW 0
#undef YY_BUFFER_NORMAL
#define YY_BUFFER_NORMAL 1
#undef YY_BUFFER_EOF_PENDING
#define YY_BUFFER_EOF_PENDING 2
#undef YY_CURRENT_BUFFER
#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
#undef YY_CURRENT_BUFFER_LVALUE
#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
#undef YY_FLUSH_BUFFER
#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
#undef yy_new_buffer
#define yy_new_buffer yy_create_buffer
#undef yytext_ptr
#define yytext_ptr yytext
#undef YY_DO_BEFORE_ACTION
#define YY_DO_BEFORE_ACTION \
#undef YY_NUM_RULES
#define YY_NUM_RULES 29
#undef YY_END_OF_BUFFER
#define YY_END_OF_BUFFER 30
#undef REJECT
#define REJECT reject_used_but_not_detected
#undef YY_MORE_ADJ
#define YY_MORE_ADJ 0
#undef YY_RESTORE_YY_MORE_OFFSET
#define YY_RESTORE_YY_MORE_OFFSET
#undef YY_NO_UNPUT
#define YY_NO_UNPUT
#undef INITIAL
#define INITIAL 0
#undef YY_EXTRA_TYPE
#define YY_EXTRA_TYPE void *
#undef YY_READ_BUF_SIZE
#define YY_READ_BUF_SIZE 8192
#undef ECHO
#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
#undef YY_START_STACK_INCR
#define YY_START_STACK_INCR 25
#undef YY_DECL_IS_OURS
#define YY_DECL_IS_OURS 1
#undef YY_DECL
#define YY_DECL int yylex (void)
#undef YY_USER_ACTION
#define YY_USER_ACTION
#undef YY_BREAK
#define YY_BREAK break;
#undef YY_RULE_SETUP
#define YY_RULE_SETUP \
#undef YY_EXIT_FAILURE
#define YY_EXIT_FAILURE 2
#undef YYTABLES_NAME
#define YYTABLES_NAME "yytables"
#undef MAXPWD
#define MAXPWD 256
#undef ALL
#define ALL (E_OPEN|E_CREAT|E_EXEC)
#undef EV_EXIT
#define EV_EXIT 01 /* exit after evaluating tree */
#undef EV_TESTED
#define EV_TESTED 02 /* exit status is checked; ignore -e flag */
#undef EV_BACKCMD
#define EV_BACKCMD 04 /* command executing within back quotes */
#undef CMDTABLESIZE
#define CMDTABLESIZE 31 /* should be prime */
#undef ARB
#define ARB 1 /* actual size determined at run time */
#undef NEWARGS
#define NEWARGS 5
#undef EOF_NLEFT
#define EOF_NLEFT -99 /* value of parsenleft when EOF pushed back */
#undef _PATH_DEVNULL
#define _PATH_DEVNULL "/dev/null"
#undef PROFILE
#define PROFILE 0
#undef SIGSSIZE
#define SIGSSIZE (sizeof(sigs)/sizeof(sigs[0]))
#undef MINSIZE
#define MINSIZE 504 /* minimum size of a block */
#undef DEFINE_OPTIONS
#define DEFINE_OPTIONS
#undef EOFMARKLEN
#define EOFMARKLEN 79
#undef OPENBRACE
#define OPENBRACE '{'
#undef CLOSEBRACE
#define CLOSEBRACE '}'
#undef EMPTY
#define EMPTY -2 /* marks an unused slot in redirtab */
#undef S_DFL
#define S_DFL 1 /* default signal handling (SIG_DFL) */
#undef S_CATCH
#define S_CATCH 2 /* signal is caught */
#undef S_IGN
#define S_IGN 3 /* signal is ignored (SIG_IGN) */
#undef S_HARD_IGN
#define S_HARD_IGN 4 /* signal is ignored permenantly */
#undef S_RESET
#define S_RESET 5 /* temporary - to reset a hard ignored sig */
#undef OUTBUFSIZ
#define OUTBUFSIZ BUFSIZ
#undef BLOCK_OUT
#define BLOCK_OUT -2 /* output to a fixed block of memory */
#undef MEM_OUT
#define MEM_OUT -3 /* output to dynamically allocated memory */
#undef OUTPUT_ERR
#define OUTPUT_ERR 01 /* error occurred on output */
#undef TEMPSIZE
#define TEMPSIZE 24
#undef HAVE_VASPRINTF
#define HAVE_VASPRINTF 1
#undef VTABSIZE
#define VTABSIZE 39
#undef VTABSIZE
#define VTABSIZE 517
#undef main
#define main echocmd
extern void rmaliases(void);
extern int loopnest; /* current loop nesting level */
extern void deletefuncs(void);
extern void hash_special_builtins(void);
struct strpush {
struct strpush *prev; /* preceding string on stack */
char *prevstring;
int prevnleft;
int prevlleft;
struct alias *ap; /* if push was associated with an alias */
};
struct parsefile {
struct parsefile *prev; /* preceding file on stack */
int linno; /* current line */
int fd; /* file descriptor (or -1 if string) */
int nleft; /* number of chars left in this line */
int lleft; /* number of chars left in this buffer */
char *nextc; /* next char in buffer */
char *buf; /* input buffer */
struct strpush *strpush; /* for pushing strings at this level */
struct strpush basestrpush; /* so pushing one is fast */
};
extern int parselleft; /* copy of parsefile->lleft */
extern struct parsefile basepf; /* top level input file */
extern char basebuf[BUFSIZ]; /* buffer for top level input file */
extern pid_t backgndpid; /* pid of last background process */
extern int jobctl;
extern int tokpushback; /* last token pushed back */
extern int checkkwd; /* 1 == check for kwds, 2 == also eat newlines */
struct redirtab {
struct redirtab *next;
short renamed[10];
};
extern struct redirtab *redirlist;
extern char sigmode[NSIG]; /* current value of signal */
extern char **environ;
/*
* Initialization code.
*/
void
init() {
/* from exec.c: */
{
hash_special_builtins();
}
/* from input.c: */
{
basepf.nextc = basepf.buf = basebuf;
}
/* from var.c: */
{
char **envp;
initvar();
for (envp = environ ; *envp ; envp++) {
if (strchr(*envp, '=')) {
setvareq(*envp, VEXPORT|VTEXTFIXED);
}
}
}
}
/*
* This routine is called when an error or an interrupt occurs in an
* interactive shell and control is returned to the main command loop.
*/
void
reset() {
/* from eval.c: */
{
evalskip = 0;
loopnest = 0;
funcnest = 0;
}
/* from input.c: */
{
if (exception != EXSHELLPROC)
parselleft = parsenleft = 0; /* clear input buffer */
popallfiles();
}
/* from parser.c: */
{
tokpushback = 0;
checkkwd = 0;
}
/* from redir.c: */
{
while (redirlist)
popredir();
}
/* from output.c: */
{
out1 = &output;
out2 = &errout;
if (memout.buf != NULL) {
ckfree(memout.buf);
memout.buf = NULL;
}
}
}
/*
* This routine is called to initialize the shell to run a shell procedure.
*/
void
initshellproc() {
/* from alias.c: */
{
rmaliases();
}
/* from eval.c: */
{
exitstatus = 0;
}
/* from exec.c: */
{
deletefuncs();
}
/* from input.c: */
{
popallfiles();
}
/* from jobs.c: */
{
backgndpid = -1;
#if JOBS
jobctl = 0;
#endif
}
/* from options.c: */
{
int i;
for (i = 0; optlist[i].name; i++)
optlist[i].val = 0;
optschanged();
}
/* from redir.c: */
{
clearredir(0);
}
/* from trap.c: */
{
char *sm;
clear_traps(0);
for (sm = sigmode ; sm < sigmode + NSIG ; sm++) {
if (*sm == S_IGN)
*sm = S_HARD_IGN;
}
}
/* from var.c: */
{
shprocvar();
}
}