| /* | |
| * 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(); | |
| } | |
| } |