1091 lines
26 KiB
C
1091 lines
26 KiB
C
/*
|
|
* 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();
|
|
}
|
|
}
|