new correctif andor
This commit is contained in:
parent
f5247f32dc
commit
07ed8ac3e3
9 changed files with 1106 additions and 3005 deletions
File diff suppressed because one or more lines are too long
|
|
@ -484,3 +484,975 @@ src/parser/stack_init.c$$
|
|||
src/parser/sym_free.c$$
|
||||
src/parser/tree_func_free.c$$
|
||||
src/parser/tree_wrapper.c$$
|
||||
src/builtin/bt_env_opt.c$$
|
||||
src/builtin/bt_read_get.c$$
|
||||
src/builtin/bt_read_term.c$$
|
||||
src/builtin/builtin_cd.c$$
|
||||
src/builtin/builtin_echo.c$$
|
||||
src/builtin/builtin_env.c$$
|
||||
src/builtin/builtin_exit.c$$
|
||||
src/builtin/builtin_export.c$$
|
||||
src/builtin/builtin_func.c$$
|
||||
src/builtin/builtin_hash.c$$
|
||||
src/builtin/builtin_history.c$$
|
||||
src/builtin/builtin_math.c$$
|
||||
src/builtin/builtin_read.c$$
|
||||
src/builtin/builtin_setenv.c$$
|
||||
src/builtin/builtin_unset.c$$
|
||||
src/builtin/builtin_unsetenv.c$$
|
||||
src/builtin/is_builtin.c$$
|
||||
src/completion/c_arrow.c$$
|
||||
src/completion/c_clear.c$$
|
||||
src/completion/c_find_abspath.c$$
|
||||
src/completion/c_find_binary.c$$
|
||||
src/completion/c_find_env.c$$
|
||||
src/completion/c_find_files.c$$
|
||||
src/completion/c_init.c$$
|
||||
src/completion/c_match.c$$
|
||||
src/completion/c_match_glob.c$$
|
||||
src/completion/c_match_update.c$$
|
||||
src/completion/c_misc.c$$
|
||||
src/completion/c_output.c$$
|
||||
src/completion/c_parser.c$$
|
||||
src/completion/c_pathsolver.c$$
|
||||
src/completion/c_printer.c$$
|
||||
src/completion/c_sizing.c$$
|
||||
src/completion/c_terminal.c$$
|
||||
src/completion/completion.c$$
|
||||
src/exec/ast_free.c$$
|
||||
src/exec/bad_fd.c$$
|
||||
src/exec/exec_ampersand.c$$
|
||||
src/exec/exec_and_if.c$$
|
||||
src/exec/exec_bang.c$$
|
||||
src/exec/exec_case_branch.c$$
|
||||
src/exec/exec_destroy.c$$
|
||||
src/exec/exec_elif.c$$
|
||||
src/exec/exec_else.c$$
|
||||
src/exec/exec_func.c$$
|
||||
src/exec/exec_init.c$$
|
||||
src/exec/exec_leaf.c$$
|
||||
src/exec/exec_or_if.c$$
|
||||
src/exec/exec_pipe.c$$
|
||||
src/exec/exec_semi.c$$
|
||||
src/exec/exec_var.c$$
|
||||
src/exec/fd_is_valid.c$$
|
||||
src/exec/ft_exec.c$$
|
||||
src/exec/ft_findexec.c$$
|
||||
src/exec/is_function.c$$
|
||||
src/exec/mark_process_status.c$$
|
||||
src/exec/node_copy.c$$
|
||||
src/exec/pfree_cmd.c$$
|
||||
src/exec/pfree_cond.c$$
|
||||
src/exec/pfree_func.c$$
|
||||
src/exec/pfree_list.c$$
|
||||
src/exec/pfree_subshell.c$$
|
||||
src/exec/plaunch_brace.c$$
|
||||
src/exec/plaunch_builtin.c$$
|
||||
src/exec/plaunch_case.c$$
|
||||
src/exec/plaunch_empty.c$$
|
||||
src/exec/plaunch_file.c$$
|
||||
src/exec/plaunch_for.c$$
|
||||
src/exec/plaunch_function.c$$
|
||||
src/exec/plaunch_if.c$$
|
||||
src/exec/plaunch_subshell.c$$
|
||||
src/exec/plaunch_until.c$$
|
||||
src/exec/plaunch_while.c$$
|
||||
src/exec/process_launch.c$$
|
||||
src/exec/process_redirect.c$$
|
||||
src/exec/process_set.c$$
|
||||
src/exec/process_setgroup.c$$
|
||||
src/exec/process_setsig.c$$
|
||||
src/exec/pset_brace.c$$
|
||||
src/exec/pset_case.c$$
|
||||
src/exec/pset_cmd.c$$
|
||||
src/exec/pset_for.c$$
|
||||
src/exec/pset_if.c$$
|
||||
src/exec/pset_subshell.c$$
|
||||
src/exec/pset_until.c$$
|
||||
src/exec/pset_while.c$$
|
||||
src/exec/redir_copy.c$$
|
||||
src/exec/redir_free.c$$
|
||||
src/exec/redirect_dgreat.c$$
|
||||
src/exec/redirect_dless.c$$
|
||||
src/exec/redirect_great.c$$
|
||||
src/exec/redirect_greatand.c$$
|
||||
src/exec/redirect_less.c$$
|
||||
src/exec/redirect_lessand.c$$
|
||||
src/exec/set_exitstatus.c$$
|
||||
src/exec/token_to_argv.c$$
|
||||
src/glob/command_getoutput.c$$
|
||||
src/glob/dir_glob.c$$
|
||||
src/glob/esc_print.c$$
|
||||
src/glob/expand_bquote.c$$
|
||||
src/glob/expand_brace.c$$
|
||||
src/glob/expand_esc.c$$
|
||||
src/glob/expand_home.c$$
|
||||
src/glob/expand_var.c$$
|
||||
src/glob/ft_strsplit_esc.c$$
|
||||
src/glob/ft_strsplit_spe.c$$
|
||||
src/glob/gen_tab_esc.c$$
|
||||
src/glob/glob.c$$
|
||||
src/glob/is_char_esc.c$$
|
||||
src/glob/match_pattern.c$$
|
||||
src/glob/tab_esc_copy.c$$
|
||||
src/glob/word_is_assignment.c$$
|
||||
src/hash_table/ft_add_hash.c$$
|
||||
src/hash_table/hash.c$$
|
||||
src/hash_table/hash_free.c$$
|
||||
src/hash_table/hash_str.c$$
|
||||
src/hash_table/is_hash.c$$
|
||||
src/history/add_str_in_history.c$$
|
||||
src/history/history.c$$
|
||||
src/history/history_parsing.c$$
|
||||
src/history/history_parsing_toolz.c$$
|
||||
src/history/history_parsing_toolz_2.c$$
|
||||
src/history/list_toolz.c$$
|
||||
src/history/surch_in_history.c$$
|
||||
src/job_control/builtin_bg.c$$
|
||||
src/job_control/builtin_fg.c$$
|
||||
src/job_control/builtin_jobs.c$$
|
||||
src/job_control/do_job_notification.c$$
|
||||
src/job_control/has_running_job.c$$
|
||||
src/job_control/has_stopped_job.c$$
|
||||
src/job_control/job_addprocess.c$$
|
||||
src/job_control/job_cmp_id.c$$
|
||||
src/job_control/job_format.c$$
|
||||
src/job_control/job_format_head.c$$
|
||||
src/job_control/job_free.c$$
|
||||
src/job_control/job_getprocess.c$$
|
||||
src/job_control/job_getrank.c$$
|
||||
src/job_control/job_hup_all.c$$
|
||||
src/job_control/job_is_completed.c$$
|
||||
src/job_control/job_is_stopped.c$$
|
||||
src/job_control/job_notify_change.c$$
|
||||
src/job_control/job_notify_new.c$$
|
||||
src/job_control/job_remove.c$$
|
||||
src/job_control/job_run.c$$
|
||||
src/job_control/job_update_id.c$$
|
||||
src/job_control/job_update_status.c$$
|
||||
src/job_control/job_wait.c$$
|
||||
src/job_control/jobc_destroy.c$$
|
||||
src/job_control/jobc_init.c$$
|
||||
src/job_control/mark_job_as_running.c$$
|
||||
src/job_control/pprint_brace.c$$
|
||||
src/job_control/pprint_case.c$$
|
||||
src/job_control/pprint_cmd.c$$
|
||||
src/job_control/pprint_for.c$$
|
||||
src/job_control/pprint_function.c$$
|
||||
src/job_control/pprint_if.c$$
|
||||
src/job_control/pprint_subshell.c$$
|
||||
src/job_control/pprint_until.c$$
|
||||
src/job_control/pprint_while.c$$
|
||||
src/job_control/process_cmp_pid.c$$
|
||||
src/job_control/process_format.c$$
|
||||
src/job_control/process_free.c$$
|
||||
src/job_control/put_job_in_background.c$$
|
||||
src/job_control/put_job_in_foreground.c$$
|
||||
src/job_control/sigchld_handler.c$$
|
||||
src/job_control/sigint_handler.c$$
|
||||
src/job_control/sigtstp_handler.c$$
|
||||
src/job_control/sigttin_handler.c$$
|
||||
src/job_control/sigttou_handler.c$$
|
||||
src/lexer/do_lexer_routine.c$$
|
||||
src/lexer/get_lexer_stack.c$$
|
||||
src/lexer/get_lexer_stack2.c$$
|
||||
src/lexer/get_reserved_words.c$$
|
||||
src/lexer/get_state_global.c$$
|
||||
src/lexer/get_state_redir.c$$
|
||||
src/lexer/insert_newline.c$$
|
||||
src/lexer/isrw_delim.c$$
|
||||
src/lexer/keep_last_type.c$$
|
||||
src/lexer/lexer_backslash.c$$
|
||||
src/lexer/lexer_bquote.c$$
|
||||
src/lexer/lexer_curly_braces.c$$
|
||||
src/lexer/lexer_default.c$$
|
||||
src/lexer/lexer_delim.c$$
|
||||
src/lexer/lexer_destroy.c$$
|
||||
src/lexer/lexer_dquote.c$$
|
||||
src/lexer/lexer_end.c$$
|
||||
src/lexer/lexer_great.c$$
|
||||
src/lexer/lexer_heredoc.c$$
|
||||
src/lexer/lexer_init.c$$
|
||||
src/lexer/lexer_less.c$$
|
||||
src/lexer/lexer_lex.c$$
|
||||
src/lexer/lexer_newline.c$$
|
||||
src/lexer/lexer_number.c$$
|
||||
src/lexer/lexer_paren.c$$
|
||||
src/lexer/lexer_quote.c$$
|
||||
src/lexer/lexer_sep.c$$
|
||||
src/lexer/lexer_word.c$$
|
||||
src/lexer/token_append.c$$
|
||||
src/lexer/token_cmp_type.c$$
|
||||
src/lexer/token_free.c$$
|
||||
src/lexer/token_init.c$$
|
||||
src/lexer/token_print.c$$
|
||||
src/line_editing/control_features.c$$
|
||||
src/line_editing/ft_prompt.c$$
|
||||
src/line_editing/get_key.c$$
|
||||
src/line_editing/readline.c$$
|
||||
src/line_editing/resize.c$$
|
||||
src/main/data_exit.c$$
|
||||
src/main/data_init.c$$
|
||||
src/main/data_singleton.c$$
|
||||
src/main/ft_putast.c$$
|
||||
src/main/main.c$$
|
||||
src/main/shell_fds.c$$
|
||||
src/main/shell_init.c$$
|
||||
src/main/shell_sig.c$$
|
||||
src/parser/add_bang.c$$
|
||||
src/parser/add_case.c$$
|
||||
src/parser/add_cmd.c$$
|
||||
src/parser/add_condition.c$$
|
||||
src/parser/add_func.c$$
|
||||
src/parser/add_loop.c$$
|
||||
src/parser/add_number.c$$
|
||||
src/parser/add_redir.c$$
|
||||
src/parser/add_sep.c$$
|
||||
src/parser/add_subshell.c$$
|
||||
src/parser/aggregate_sym.c$$
|
||||
src/parser/build_tree.c$$
|
||||
src/parser/do_parser_routine.c$$
|
||||
src/parser/error_syntax.c$$
|
||||
src/parser/eval_sym.c$$
|
||||
src/parser/ft_parse.c$$
|
||||
src/parser/heredoc_parser.c$$
|
||||
src/parser/parser_destroy.c$$
|
||||
src/parser/parser_init.c$$
|
||||
src/parser/pop_stack.c$$
|
||||
src/parser/produce_sym.c$$
|
||||
src/parser/push_stack.c$$
|
||||
src/parser/read_stack.c$$
|
||||
src/parser/redir_init.c$$
|
||||
src/parser/stack_init.c$$
|
||||
src/parser/sym_free.c$$
|
||||
src/parser/tree_func_free.c$$
|
||||
src/parser/tree_wrapper.c$$
|
||||
src/builtin/bt_env_opt.c$$
|
||||
src/builtin/bt_read_get.c$$
|
||||
src/builtin/bt_read_term.c$$
|
||||
src/builtin/builtin_cd.c$$
|
||||
src/builtin/builtin_echo.c$$
|
||||
src/builtin/builtin_env.c$$
|
||||
src/builtin/builtin_exit.c$$
|
||||
src/builtin/builtin_export.c$$
|
||||
src/builtin/builtin_func.c$$
|
||||
src/builtin/builtin_hash.c$$
|
||||
src/builtin/builtin_history.c$$
|
||||
src/builtin/builtin_math.c$$
|
||||
src/builtin/builtin_read.c$$
|
||||
src/builtin/builtin_setenv.c$$
|
||||
src/builtin/builtin_unset.c$$
|
||||
src/builtin/builtin_unsetenv.c$$
|
||||
src/builtin/is_builtin.c$$
|
||||
src/completion/c_arrow.c$$
|
||||
src/completion/c_clear.c$$
|
||||
src/completion/c_find_abspath.c$$
|
||||
src/completion/c_find_binary.c$$
|
||||
src/completion/c_find_env.c$$
|
||||
src/completion/c_find_files.c$$
|
||||
src/completion/c_init.c$$
|
||||
src/completion/c_match.c$$
|
||||
src/completion/c_match_glob.c$$
|
||||
src/completion/c_match_update.c$$
|
||||
src/completion/c_misc.c$$
|
||||
src/completion/c_output.c$$
|
||||
src/completion/c_parser.c$$
|
||||
src/completion/c_pathsolver.c$$
|
||||
src/completion/c_printer.c$$
|
||||
src/completion/c_sizing.c$$
|
||||
src/completion/c_terminal.c$$
|
||||
src/completion/completion.c$$
|
||||
src/exec/ast_free.c$$
|
||||
src/exec/bad_fd.c$$
|
||||
src/exec/exec_ampersand.c$$
|
||||
src/exec/exec_and_if.c$$
|
||||
src/exec/exec_bang.c$$
|
||||
src/exec/exec_case_branch.c$$
|
||||
src/exec/exec_destroy.c$$
|
||||
src/exec/exec_elif.c$$
|
||||
src/exec/exec_else.c$$
|
||||
src/exec/exec_func.c$$
|
||||
src/exec/exec_init.c$$
|
||||
src/exec/exec_leaf.c$$
|
||||
src/exec/exec_or_if.c$$
|
||||
src/exec/exec_pipe.c$$
|
||||
src/exec/exec_semi.c$$
|
||||
src/exec/exec_var.c$$
|
||||
src/exec/fd_is_valid.c$$
|
||||
src/exec/ft_exec.c$$
|
||||
src/exec/ft_findexec.c$$
|
||||
src/exec/is_function.c$$
|
||||
src/exec/mark_process_status.c$$
|
||||
src/exec/node_copy.c$$
|
||||
src/exec/pfree_cmd.c$$
|
||||
src/exec/pfree_cond.c$$
|
||||
src/exec/pfree_func.c$$
|
||||
src/exec/pfree_list.c$$
|
||||
src/exec/pfree_subshell.c$$
|
||||
src/exec/plaunch_brace.c$$
|
||||
src/exec/plaunch_builtin.c$$
|
||||
src/exec/plaunch_case.c$$
|
||||
src/exec/plaunch_empty.c$$
|
||||
src/exec/plaunch_file.c$$
|
||||
src/exec/plaunch_for.c$$
|
||||
src/exec/plaunch_function.c$$
|
||||
src/exec/plaunch_if.c$$
|
||||
src/exec/plaunch_subshell.c$$
|
||||
src/exec/plaunch_until.c$$
|
||||
src/exec/plaunch_while.c$$
|
||||
src/exec/process_launch.c$$
|
||||
src/exec/process_redirect.c$$
|
||||
src/exec/process_set.c$$
|
||||
src/exec/process_setgroup.c$$
|
||||
src/exec/process_setsig.c$$
|
||||
src/exec/pset_brace.c$$
|
||||
src/exec/pset_case.c$$
|
||||
src/exec/pset_cmd.c$$
|
||||
src/exec/pset_for.c$$
|
||||
src/exec/pset_if.c$$
|
||||
src/exec/pset_subshell.c$$
|
||||
src/exec/pset_until.c$$
|
||||
src/exec/pset_while.c$$
|
||||
src/exec/redir_copy.c$$
|
||||
src/exec/redir_free.c$$
|
||||
src/exec/redirect_dgreat.c$$
|
||||
src/exec/redirect_dless.c$$
|
||||
src/exec/redirect_great.c$$
|
||||
src/exec/redirect_greatand.c$$
|
||||
src/exec/redirect_less.c$$
|
||||
src/exec/redirect_lessand.c$$
|
||||
src/exec/set_exitstatus.c$$
|
||||
src/exec/token_to_argv.c$$
|
||||
src/glob/command_getoutput.c$$
|
||||
src/glob/dir_glob.c$$
|
||||
src/glob/esc_print.c$$
|
||||
src/glob/expand_bquote.c$$
|
||||
src/glob/expand_brace.c$$
|
||||
src/glob/expand_esc.c$$
|
||||
src/glob/expand_home.c$$
|
||||
src/glob/expand_var.c$$
|
||||
src/glob/ft_strsplit_esc.c$$
|
||||
src/glob/ft_strsplit_spe.c$$
|
||||
src/glob/gen_tab_esc.c$$
|
||||
src/glob/glob.c$$
|
||||
src/glob/is_char_esc.c$$
|
||||
src/glob/match_pattern.c$$
|
||||
src/glob/tab_esc_copy.c$$
|
||||
src/glob/word_is_assignment.c$$
|
||||
src/hash_table/ft_add_hash.c$$
|
||||
src/hash_table/hash.c$$
|
||||
src/hash_table/hash_free.c$$
|
||||
src/hash_table/hash_str.c$$
|
||||
src/hash_table/is_hash.c$$
|
||||
src/history/add_str_in_history.c$$
|
||||
src/history/history.c$$
|
||||
src/history/history_parsing.c$$
|
||||
src/history/history_parsing_toolz.c$$
|
||||
src/history/history_parsing_toolz_2.c$$
|
||||
src/history/list_toolz.c$$
|
||||
src/history/surch_in_history.c$$
|
||||
src/job_control/builtin_bg.c$$
|
||||
src/job_control/builtin_fg.c$$
|
||||
src/job_control/builtin_jobs.c$$
|
||||
src/job_control/do_job_notification.c$$
|
||||
src/job_control/has_running_job.c$$
|
||||
src/job_control/has_stopped_job.c$$
|
||||
src/job_control/job_addprocess.c$$
|
||||
src/job_control/job_cmp_id.c$$
|
||||
src/job_control/job_format.c$$
|
||||
src/job_control/job_format_head.c$$
|
||||
src/job_control/job_free.c$$
|
||||
src/job_control/job_getprocess.c$$
|
||||
src/job_control/job_getrank.c$$
|
||||
src/job_control/job_hup_all.c$$
|
||||
src/job_control/job_is_completed.c$$
|
||||
src/job_control/job_is_stopped.c$$
|
||||
src/job_control/job_notify_change.c$$
|
||||
src/job_control/job_notify_new.c$$
|
||||
src/job_control/job_remove.c$$
|
||||
src/job_control/job_run.c$$
|
||||
src/job_control/job_update_id.c$$
|
||||
src/job_control/job_update_status.c$$
|
||||
src/job_control/job_wait.c$$
|
||||
src/job_control/jobc_destroy.c$$
|
||||
src/job_control/jobc_init.c$$
|
||||
src/job_control/mark_job_as_running.c$$
|
||||
src/job_control/pprint_brace.c$$
|
||||
src/job_control/pprint_case.c$$
|
||||
src/job_control/pprint_cmd.c$$
|
||||
src/job_control/pprint_for.c$$
|
||||
src/job_control/pprint_function.c$$
|
||||
src/job_control/pprint_if.c$$
|
||||
src/job_control/pprint_subshell.c$$
|
||||
src/job_control/pprint_until.c$$
|
||||
src/job_control/pprint_while.c$$
|
||||
src/job_control/process_cmp_pid.c$$
|
||||
src/job_control/process_format.c$$
|
||||
src/job_control/process_free.c$$
|
||||
src/job_control/put_job_in_background.c$$
|
||||
src/job_control/put_job_in_foreground.c$$
|
||||
src/job_control/sigchld_handler.c$$
|
||||
src/job_control/sigint_handler.c$$
|
||||
src/job_control/sigtstp_handler.c$$
|
||||
src/job_control/sigttin_handler.c$$
|
||||
src/job_control/sigttou_handler.c$$
|
||||
src/lexer/do_lexer_routine.c$$
|
||||
src/lexer/get_lexer_stack.c$$
|
||||
src/lexer/get_lexer_stack2.c$$
|
||||
src/lexer/get_reserved_words.c$$
|
||||
src/lexer/get_state_global.c$$
|
||||
src/lexer/get_state_redir.c$$
|
||||
src/lexer/insert_newline.c$$
|
||||
src/lexer/isrw_delim.c$$
|
||||
src/lexer/keep_last_type.c$$
|
||||
src/lexer/lexer_backslash.c$$
|
||||
src/lexer/lexer_bquote.c$$
|
||||
src/lexer/lexer_curly_braces.c$$
|
||||
src/lexer/lexer_default.c$$
|
||||
src/lexer/lexer_delim.c$$
|
||||
src/lexer/lexer_destroy.c$$
|
||||
src/lexer/lexer_dquote.c$$
|
||||
src/lexer/lexer_end.c$$
|
||||
src/lexer/lexer_great.c$$
|
||||
src/lexer/lexer_heredoc.c$$
|
||||
src/lexer/lexer_init.c$$
|
||||
src/lexer/lexer_less.c$$
|
||||
src/lexer/lexer_lex.c$$
|
||||
src/lexer/lexer_newline.c$$
|
||||
src/lexer/lexer_number.c$$
|
||||
src/lexer/lexer_paren.c$$
|
||||
src/lexer/lexer_quote.c$$
|
||||
src/lexer/lexer_sep.c$$
|
||||
src/lexer/lexer_word.c$$
|
||||
src/lexer/token_append.c$$
|
||||
src/lexer/token_cmp_type.c$$
|
||||
src/lexer/token_free.c$$
|
||||
src/lexer/token_init.c$$
|
||||
src/lexer/token_print.c$$
|
||||
src/line_editing/control_features.c$$
|
||||
src/line_editing/ft_prompt.c$$
|
||||
src/line_editing/get_key.c$$
|
||||
src/line_editing/readline.c$$
|
||||
src/line_editing/resize.c$$
|
||||
src/main/data_exit.c$$
|
||||
src/main/data_init.c$$
|
||||
src/main/data_singleton.c$$
|
||||
src/main/ft_putast.c$$
|
||||
src/main/main.c$$
|
||||
src/main/shell_fds.c$$
|
||||
src/main/shell_init.c$$
|
||||
src/main/shell_sig.c$$
|
||||
src/parser/add_bang.c$$
|
||||
src/parser/add_case.c$$
|
||||
src/parser/add_cmd.c$$
|
||||
src/parser/add_condition.c$$
|
||||
src/parser/add_func.c$$
|
||||
src/parser/add_loop.c$$
|
||||
src/parser/add_number.c$$
|
||||
src/parser/add_redir.c$$
|
||||
src/parser/add_sep.c$$
|
||||
src/parser/add_subshell.c$$
|
||||
src/parser/aggregate_sym.c$$
|
||||
src/parser/build_tree.c$$
|
||||
src/parser/do_parser_routine.c$$
|
||||
src/parser/error_syntax.c$$
|
||||
src/parser/eval_sym.c$$
|
||||
src/parser/ft_parse.c$$
|
||||
src/parser/heredoc_parser.c$$
|
||||
src/parser/parser_destroy.c$$
|
||||
src/parser/parser_init.c$$
|
||||
src/parser/pop_stack.c$$
|
||||
src/parser/produce_sym.c$$
|
||||
src/parser/push_stack.c$$
|
||||
src/parser/read_stack.c$$
|
||||
src/parser/redir_init.c$$
|
||||
src/parser/stack_init.c$$
|
||||
src/parser/sym_free.c$$
|
||||
src/parser/tree_func_free.c$$
|
||||
src/parser/tree_wrapper.c$$
|
||||
src/builtin/bt_env_opt.c$$
|
||||
src/builtin/bt_read_get.c$$
|
||||
src/builtin/bt_read_term.c$$
|
||||
src/builtin/builtin_cd.c$$
|
||||
src/builtin/builtin_echo.c$$
|
||||
src/builtin/builtin_env.c$$
|
||||
src/builtin/builtin_exit.c$$
|
||||
src/builtin/builtin_export.c$$
|
||||
src/builtin/builtin_func.c$$
|
||||
src/builtin/builtin_hash.c$$
|
||||
src/builtin/builtin_history.c$$
|
||||
src/builtin/builtin_math.c$$
|
||||
src/builtin/builtin_read.c$$
|
||||
src/builtin/builtin_setenv.c$$
|
||||
src/builtin/builtin_unset.c$$
|
||||
src/builtin/builtin_unsetenv.c$$
|
||||
src/builtin/is_builtin.c$$
|
||||
src/completion/c_arrow.c$$
|
||||
src/completion/c_clear.c$$
|
||||
src/completion/c_find_abspath.c$$
|
||||
src/completion/c_find_binary.c$$
|
||||
src/completion/c_find_env.c$$
|
||||
src/completion/c_find_files.c$$
|
||||
src/completion/c_init.c$$
|
||||
src/completion/c_match.c$$
|
||||
src/completion/c_match_glob.c$$
|
||||
src/completion/c_match_update.c$$
|
||||
src/completion/c_misc.c$$
|
||||
src/completion/c_output.c$$
|
||||
src/completion/c_parser.c$$
|
||||
src/completion/c_pathsolver.c$$
|
||||
src/completion/c_printer.c$$
|
||||
src/completion/c_sizing.c$$
|
||||
src/completion/c_terminal.c$$
|
||||
src/completion/completion.c$$
|
||||
src/exec/ast_free.c$$
|
||||
src/exec/bad_fd.c$$
|
||||
src/exec/exec_ampersand.c$$
|
||||
src/exec/exec_and_if.c$$
|
||||
src/exec/exec_bang.c$$
|
||||
src/exec/exec_case_branch.c$$
|
||||
src/exec/exec_destroy.c$$
|
||||
src/exec/exec_elif.c$$
|
||||
src/exec/exec_else.c$$
|
||||
src/exec/exec_func.c$$
|
||||
src/exec/exec_init.c$$
|
||||
src/exec/exec_leaf.c$$
|
||||
src/exec/exec_or_if.c$$
|
||||
src/exec/exec_pipe.c$$
|
||||
src/exec/exec_semi.c$$
|
||||
src/exec/exec_var.c$$
|
||||
src/exec/fd_is_valid.c$$
|
||||
src/exec/ft_exec.c$$
|
||||
src/exec/ft_findexec.c$$
|
||||
src/exec/is_function.c$$
|
||||
src/exec/mark_process_status.c$$
|
||||
src/exec/node_copy.c$$
|
||||
src/exec/pfree_cmd.c$$
|
||||
src/exec/pfree_cond.c$$
|
||||
src/exec/pfree_func.c$$
|
||||
src/exec/pfree_list.c$$
|
||||
src/exec/pfree_subshell.c$$
|
||||
src/exec/plaunch_brace.c$$
|
||||
src/exec/plaunch_builtin.c$$
|
||||
src/exec/plaunch_case.c$$
|
||||
src/exec/plaunch_empty.c$$
|
||||
src/exec/plaunch_file.c$$
|
||||
src/exec/plaunch_for.c$$
|
||||
src/exec/plaunch_function.c$$
|
||||
src/exec/plaunch_if.c$$
|
||||
src/exec/plaunch_subshell.c$$
|
||||
src/exec/plaunch_until.c$$
|
||||
src/exec/plaunch_while.c$$
|
||||
src/exec/process_launch.c$$
|
||||
src/exec/process_redirect.c$$
|
||||
src/exec/process_set.c$$
|
||||
src/exec/process_setgroup.c$$
|
||||
src/exec/process_setsig.c$$
|
||||
src/exec/pset_brace.c$$
|
||||
src/exec/pset_case.c$$
|
||||
src/exec/pset_cmd.c$$
|
||||
src/exec/pset_for.c$$
|
||||
src/exec/pset_if.c$$
|
||||
src/exec/pset_subshell.c$$
|
||||
src/exec/pset_until.c$$
|
||||
src/exec/pset_while.c$$
|
||||
src/exec/redir_copy.c$$
|
||||
src/exec/redir_free.c$$
|
||||
src/exec/redirect_dgreat.c$$
|
||||
src/exec/redirect_dless.c$$
|
||||
src/exec/redirect_great.c$$
|
||||
src/exec/redirect_greatand.c$$
|
||||
src/exec/redirect_less.c$$
|
||||
src/exec/redirect_lessand.c$$
|
||||
src/exec/set_exitstatus.c$$
|
||||
src/exec/token_to_argv.c$$
|
||||
src/glob/command_getoutput.c$$
|
||||
src/glob/dir_glob.c$$
|
||||
src/glob/esc_print.c$$
|
||||
src/glob/expand_bquote.c$$
|
||||
src/glob/expand_brace.c$$
|
||||
src/glob/expand_esc.c$$
|
||||
src/glob/expand_home.c$$
|
||||
src/glob/expand_var.c$$
|
||||
src/glob/ft_strsplit_esc.c$$
|
||||
src/glob/ft_strsplit_spe.c$$
|
||||
src/glob/gen_tab_esc.c$$
|
||||
src/glob/glob.c$$
|
||||
src/glob/is_char_esc.c$$
|
||||
src/glob/match_pattern.c$$
|
||||
src/glob/tab_esc_copy.c$$
|
||||
src/glob/word_is_assignment.c$$
|
||||
src/hash_table/ft_add_hash.c$$
|
||||
src/hash_table/hash.c$$
|
||||
src/hash_table/hash_free.c$$
|
||||
src/hash_table/hash_str.c$$
|
||||
src/hash_table/is_hash.c$$
|
||||
src/history/add_str_in_history.c$$
|
||||
src/history/history.c$$
|
||||
src/history/history_parsing.c$$
|
||||
src/history/history_parsing_toolz.c$$
|
||||
src/history/history_parsing_toolz_2.c$$
|
||||
src/history/list_toolz.c$$
|
||||
src/history/surch_in_history.c$$
|
||||
src/job_control/builtin_bg.c$$
|
||||
src/job_control/builtin_fg.c$$
|
||||
src/job_control/builtin_jobs.c$$
|
||||
src/job_control/do_job_notification.c$$
|
||||
src/job_control/has_running_job.c$$
|
||||
src/job_control/has_stopped_job.c$$
|
||||
src/job_control/job_addprocess.c$$
|
||||
src/job_control/job_cmp_id.c$$
|
||||
src/job_control/job_format.c$$
|
||||
src/job_control/job_format_head.c$$
|
||||
src/job_control/job_free.c$$
|
||||
src/job_control/job_getprocess.c$$
|
||||
src/job_control/job_getrank.c$$
|
||||
src/job_control/job_hup_all.c$$
|
||||
src/job_control/job_is_completed.c$$
|
||||
src/job_control/job_is_stopped.c$$
|
||||
src/job_control/job_notify_change.c$$
|
||||
src/job_control/job_notify_new.c$$
|
||||
src/job_control/job_remove.c$$
|
||||
src/job_control/job_run.c$$
|
||||
src/job_control/job_update_id.c$$
|
||||
src/job_control/job_update_status.c$$
|
||||
src/job_control/job_wait.c$$
|
||||
src/job_control/jobc_destroy.c$$
|
||||
src/job_control/jobc_init.c$$
|
||||
src/job_control/mark_job_as_running.c$$
|
||||
src/job_control/pprint_brace.c$$
|
||||
src/job_control/pprint_case.c$$
|
||||
src/job_control/pprint_cmd.c$$
|
||||
src/job_control/pprint_for.c$$
|
||||
src/job_control/pprint_function.c$$
|
||||
src/job_control/pprint_if.c$$
|
||||
src/job_control/pprint_subshell.c$$
|
||||
src/job_control/pprint_until.c$$
|
||||
src/job_control/pprint_while.c$$
|
||||
src/job_control/process_cmp_pid.c$$
|
||||
src/job_control/process_format.c$$
|
||||
src/job_control/process_free.c$$
|
||||
src/job_control/put_job_in_background.c$$
|
||||
src/job_control/put_job_in_foreground.c$$
|
||||
src/job_control/sigchld_handler.c$$
|
||||
src/job_control/sigint_handler.c$$
|
||||
src/job_control/sigtstp_handler.c$$
|
||||
src/job_control/sigttin_handler.c$$
|
||||
src/job_control/sigttou_handler.c$$
|
||||
src/lexer/do_lexer_routine.c$$
|
||||
src/lexer/get_lexer_stack.c$$
|
||||
src/lexer/get_lexer_stack2.c$$
|
||||
src/lexer/get_reserved_words.c$$
|
||||
src/lexer/get_state_global.c$$
|
||||
src/lexer/get_state_redir.c$$
|
||||
src/lexer/insert_newline.c$$
|
||||
src/lexer/isrw_delim.c$$
|
||||
src/lexer/keep_last_type.c$$
|
||||
src/lexer/lexer_backslash.c$$
|
||||
src/lexer/lexer_bquote.c$$
|
||||
src/lexer/lexer_curly_braces.c$$
|
||||
src/lexer/lexer_default.c$$
|
||||
src/lexer/lexer_delim.c$$
|
||||
src/lexer/lexer_destroy.c$$
|
||||
src/lexer/lexer_dquote.c$$
|
||||
src/lexer/lexer_end.c$$
|
||||
src/lexer/lexer_great.c$$
|
||||
src/lexer/lexer_heredoc.c$$
|
||||
src/lexer/lexer_init.c$$
|
||||
src/lexer/lexer_less.c$$
|
||||
src/lexer/lexer_lex.c$$
|
||||
src/lexer/lexer_newline.c$$
|
||||
src/lexer/lexer_number.c$$
|
||||
src/lexer/lexer_paren.c$$
|
||||
src/lexer/lexer_quote.c$$
|
||||
src/lexer/lexer_sep.c$$
|
||||
src/lexer/lexer_word.c$$
|
||||
src/lexer/token_append.c$$
|
||||
src/lexer/token_cmp_type.c$$
|
||||
src/lexer/token_free.c$$
|
||||
src/lexer/token_init.c$$
|
||||
src/lexer/token_print.c$$
|
||||
src/line_editing/control_features.c$$
|
||||
src/line_editing/ft_prompt.c$$
|
||||
src/line_editing/get_key.c$$
|
||||
src/line_editing/readline.c$$
|
||||
src/line_editing/resize.c$$
|
||||
src/main/data_exit.c$$
|
||||
src/main/data_init.c$$
|
||||
src/main/data_singleton.c$$
|
||||
src/main/ft_putast.c$$
|
||||
src/main/main.c$$
|
||||
src/main/shell_fds.c$$
|
||||
src/main/shell_init.c$$
|
||||
src/main/shell_sig.c$$
|
||||
src/parser/add_bang.c$$
|
||||
src/parser/add_case.c$$
|
||||
src/parser/add_cmd.c$$
|
||||
src/parser/add_condition.c$$
|
||||
src/parser/add_func.c$$
|
||||
src/parser/add_loop.c$$
|
||||
src/parser/add_number.c$$
|
||||
src/parser/add_redir.c$$
|
||||
src/parser/add_sep.c$$
|
||||
src/parser/add_subshell.c$$
|
||||
src/parser/aggregate_sym.c$$
|
||||
src/parser/build_tree.c$$
|
||||
src/parser/do_parser_routine.c$$
|
||||
src/parser/error_syntax.c$$
|
||||
src/parser/eval_sym.c$$
|
||||
src/parser/ft_parse.c$$
|
||||
src/parser/heredoc_parser.c$$
|
||||
src/parser/parser_destroy.c$$
|
||||
src/parser/parser_init.c$$
|
||||
src/parser/pop_stack.c$$
|
||||
src/parser/produce_sym.c$$
|
||||
src/parser/push_stack.c$$
|
||||
src/parser/read_stack.c$$
|
||||
src/parser/redir_init.c$$
|
||||
src/parser/stack_init.c$$
|
||||
src/parser/sym_free.c$$
|
||||
src/parser/tree_func_free.c$$
|
||||
src/parser/tree_wrapper.c$$
|
||||
src/builtin/bt_env_opt.c$$
|
||||
src/builtin/bt_read_get.c$$
|
||||
src/builtin/bt_read_term.c$$
|
||||
src/builtin/builtin_cd.c$$
|
||||
src/builtin/builtin_echo.c$$
|
||||
src/builtin/builtin_env.c$$
|
||||
src/builtin/builtin_exit.c$$
|
||||
src/builtin/builtin_export.c$$
|
||||
src/builtin/builtin_func.c$$
|
||||
src/builtin/builtin_hash.c$$
|
||||
src/builtin/builtin_history.c$$
|
||||
src/builtin/builtin_math.c$$
|
||||
src/builtin/builtin_read.c$$
|
||||
src/builtin/builtin_setenv.c$$
|
||||
src/builtin/builtin_unset.c$$
|
||||
src/builtin/builtin_unsetenv.c$$
|
||||
src/builtin/is_builtin.c$$
|
||||
src/completion/c_arrow.c$$
|
||||
src/completion/c_clear.c$$
|
||||
src/completion/c_find_abspath.c$$
|
||||
src/completion/c_find_binary.c$$
|
||||
src/completion/c_find_env.c$$
|
||||
src/completion/c_find_files.c$$
|
||||
src/completion/c_init.c$$
|
||||
src/completion/c_match.c$$
|
||||
src/completion/c_match_glob.c$$
|
||||
src/completion/c_match_update.c$$
|
||||
src/completion/c_misc.c$$
|
||||
src/completion/c_output.c$$
|
||||
src/completion/c_parser.c$$
|
||||
src/completion/c_pathsolver.c$$
|
||||
src/completion/c_printer.c$$
|
||||
src/completion/c_sizing.c$$
|
||||
src/completion/c_terminal.c$$
|
||||
src/completion/completion.c$$
|
||||
src/exec/ast_free.c$$
|
||||
src/exec/bad_fd.c$$
|
||||
src/exec/exec_ampersand.c$$
|
||||
src/exec/exec_and_if.c$$
|
||||
src/exec/exec_bang.c$$
|
||||
src/exec/exec_case_branch.c$$
|
||||
src/exec/exec_destroy.c$$
|
||||
src/exec/exec_elif.c$$
|
||||
src/exec/exec_else.c$$
|
||||
src/exec/exec_func.c$$
|
||||
src/exec/exec_init.c$$
|
||||
src/exec/exec_leaf.c$$
|
||||
src/exec/exec_or_if.c$$
|
||||
src/exec/exec_pipe.c$$
|
||||
src/exec/exec_semi.c$$
|
||||
src/exec/exec_var.c$$
|
||||
src/exec/fd_is_valid.c$$
|
||||
src/exec/ft_exec.c$$
|
||||
src/exec/ft_findexec.c$$
|
||||
src/exec/is_function.c$$
|
||||
src/exec/mark_process_status.c$$
|
||||
src/exec/node_copy.c$$
|
||||
src/exec/pfree_cmd.c$$
|
||||
src/exec/pfree_cond.c$$
|
||||
src/exec/pfree_func.c$$
|
||||
src/exec/pfree_list.c$$
|
||||
src/exec/pfree_subshell.c$$
|
||||
src/exec/plaunch_brace.c$$
|
||||
src/exec/plaunch_builtin.c$$
|
||||
src/exec/plaunch_case.c$$
|
||||
src/exec/plaunch_empty.c$$
|
||||
src/exec/plaunch_file.c$$
|
||||
src/exec/plaunch_for.c$$
|
||||
src/exec/plaunch_function.c$$
|
||||
src/exec/plaunch_if.c$$
|
||||
src/exec/plaunch_subshell.c$$
|
||||
src/exec/plaunch_until.c$$
|
||||
src/exec/plaunch_while.c$$
|
||||
src/exec/process_launch.c$$
|
||||
src/exec/process_redirect.c$$
|
||||
src/exec/process_set.c$$
|
||||
src/exec/process_setgroup.c$$
|
||||
src/exec/process_setsig.c$$
|
||||
src/exec/pset_brace.c$$
|
||||
src/exec/pset_case.c$$
|
||||
src/exec/pset_cmd.c$$
|
||||
src/exec/pset_for.c$$
|
||||
src/exec/pset_if.c$$
|
||||
src/exec/pset_subshell.c$$
|
||||
src/exec/pset_until.c$$
|
||||
src/exec/pset_while.c$$
|
||||
src/exec/redir_copy.c$$
|
||||
src/exec/redir_free.c$$
|
||||
src/exec/redirect_dgreat.c$$
|
||||
src/exec/redirect_dless.c$$
|
||||
src/exec/redirect_great.c$$
|
||||
src/exec/redirect_greatand.c$$
|
||||
src/exec/redirect_less.c$$
|
||||
src/exec/redirect_lessand.c$$
|
||||
src/exec/set_exitstatus.c$$
|
||||
src/exec/token_to_argv.c$$
|
||||
src/glob/command_getoutput.c$$
|
||||
src/glob/dir_glob.c$$
|
||||
src/glob/esc_print.c$$
|
||||
src/glob/expand_bquote.c$$
|
||||
src/glob/expand_brace.c$$
|
||||
src/glob/expand_esc.c$$
|
||||
src/glob/expand_home.c$$
|
||||
src/glob/expand_var.c$$
|
||||
src/glob/ft_strsplit_esc.c$$
|
||||
src/glob/ft_strsplit_spe.c$$
|
||||
src/glob/gen_tab_esc.c$$
|
||||
src/glob/glob.c$$
|
||||
src/glob/is_char_esc.c$$
|
||||
src/glob/match_pattern.c$$
|
||||
src/glob/tab_esc_copy.c$$
|
||||
src/glob/word_is_assignment.c$$
|
||||
src/hash_table/ft_add_hash.c$$
|
||||
src/hash_table/hash.c$$
|
||||
src/hash_table/hash_free.c$$
|
||||
src/hash_table/hash_str.c$$
|
||||
src/hash_table/is_hash.c$$
|
||||
src/history/add_str_in_history.c$$
|
||||
src/history/history.c$$
|
||||
src/history/history_parsing.c$$
|
||||
src/history/history_parsing_toolz.c$$
|
||||
src/history/history_parsing_toolz_2.c$$
|
||||
src/history/list_toolz.c$$
|
||||
src/history/surch_in_history.c$$
|
||||
src/job_control/builtin_bg.c$$
|
||||
src/job_control/builtin_fg.c$$
|
||||
src/job_control/builtin_jobs.c$$
|
||||
src/job_control/do_job_notification.c$$
|
||||
src/job_control/has_running_job.c$$
|
||||
src/job_control/has_stopped_job.c$$
|
||||
src/job_control/job_addprocess.c$$
|
||||
src/job_control/job_cmp_id.c$$
|
||||
src/job_control/job_format.c$$
|
||||
src/job_control/job_format_head.c$$
|
||||
src/job_control/job_free.c$$
|
||||
src/job_control/job_getprocess.c$$
|
||||
src/job_control/job_getrank.c$$
|
||||
src/job_control/job_hup_all.c$$
|
||||
src/job_control/job_is_completed.c$$
|
||||
src/job_control/job_is_stopped.c$$
|
||||
src/job_control/job_notify_change.c$$
|
||||
src/job_control/job_notify_new.c$$
|
||||
src/job_control/job_remove.c$$
|
||||
src/job_control/job_run.c$$
|
||||
src/job_control/job_update_id.c$$
|
||||
src/job_control/job_update_status.c$$
|
||||
src/job_control/job_wait.c$$
|
||||
src/job_control/jobc_destroy.c$$
|
||||
src/job_control/jobc_init.c$$
|
||||
src/job_control/mark_job_as_running.c$$
|
||||
src/job_control/pprint_brace.c$$
|
||||
src/job_control/pprint_case.c$$
|
||||
src/job_control/pprint_cmd.c$$
|
||||
src/job_control/pprint_for.c$$
|
||||
src/job_control/pprint_function.c$$
|
||||
src/job_control/pprint_if.c$$
|
||||
src/job_control/pprint_subshell.c$$
|
||||
src/job_control/pprint_until.c$$
|
||||
src/job_control/pprint_while.c$$
|
||||
src/job_control/process_cmp_pid.c$$
|
||||
src/job_control/process_format.c$$
|
||||
src/job_control/process_free.c$$
|
||||
src/job_control/put_job_in_background.c$$
|
||||
src/job_control/put_job_in_foreground.c$$
|
||||
src/job_control/sigchld_handler.c$$
|
||||
src/job_control/sigint_handler.c$$
|
||||
src/job_control/sigtstp_handler.c$$
|
||||
src/job_control/sigttin_handler.c$$
|
||||
src/job_control/sigttou_handler.c$$
|
||||
src/lexer/do_lexer_routine.c$$
|
||||
src/lexer/get_lexer_stack.c$$
|
||||
src/lexer/get_lexer_stack2.c$$
|
||||
src/lexer/get_reserved_words.c$$
|
||||
src/lexer/get_state_global.c$$
|
||||
src/lexer/get_state_redir.c$$
|
||||
src/lexer/insert_newline.c$$
|
||||
src/lexer/isrw_delim.c$$
|
||||
src/lexer/keep_last_type.c$$
|
||||
src/lexer/lexer_backslash.c$$
|
||||
src/lexer/lexer_bquote.c$$
|
||||
src/lexer/lexer_curly_braces.c$$
|
||||
src/lexer/lexer_default.c$$
|
||||
src/lexer/lexer_delim.c$$
|
||||
src/lexer/lexer_destroy.c$$
|
||||
src/lexer/lexer_dquote.c$$
|
||||
src/lexer/lexer_end.c$$
|
||||
src/lexer/lexer_great.c$$
|
||||
src/lexer/lexer_heredoc.c$$
|
||||
src/lexer/lexer_init.c$$
|
||||
src/lexer/lexer_less.c$$
|
||||
src/lexer/lexer_lex.c$$
|
||||
src/lexer/lexer_newline.c$$
|
||||
src/lexer/lexer_number.c$$
|
||||
src/lexer/lexer_paren.c$$
|
||||
src/lexer/lexer_quote.c$$
|
||||
src/lexer/lexer_sep.c$$
|
||||
src/lexer/lexer_word.c$$
|
||||
src/lexer/token_append.c$$
|
||||
src/lexer/token_cmp_type.c$$
|
||||
src/lexer/token_free.c$$
|
||||
src/lexer/token_init.c$$
|
||||
src/lexer/token_print.c$$
|
||||
src/line_editing/control_features.c$$
|
||||
src/line_editing/ft_prompt.c$$
|
||||
src/line_editing/get_key.c$$
|
||||
src/line_editing/readline.c$$
|
||||
src/line_editing/resize.c$$
|
||||
src/main/data_exit.c$$
|
||||
src/main/data_init.c$$
|
||||
src/main/data_singleton.c$$
|
||||
src/main/ft_putast.c$$
|
||||
src/main/main.c$$
|
||||
src/main/shell_fds.c$$
|
||||
src/main/shell_init.c$$
|
||||
src/main/shell_sig.c$$
|
||||
src/parser/add_bang.c$$
|
||||
src/parser/add_case.c$$
|
||||
src/parser/add_cmd.c$$
|
||||
src/parser/add_condition.c$$
|
||||
src/parser/add_func.c$$
|
||||
src/parser/add_loop.c$$
|
||||
src/parser/add_number.c$$
|
||||
src/parser/add_redir.c$$
|
||||
src/parser/add_sep.c$$
|
||||
src/parser/add_subshell.c$$
|
||||
src/parser/aggregate_sym.c$$
|
||||
src/parser/build_tree.c$$
|
||||
src/parser/do_parser_routine.c$$
|
||||
src/parser/error_syntax.c$$
|
||||
src/parser/eval_sym.c$$
|
||||
src/parser/ft_parse.c$$
|
||||
src/parser/heredoc_parser.c$$
|
||||
src/parser/parser_destroy.c$$
|
||||
src/parser/parser_init.c$$
|
||||
src/parser/pop_stack.c$$
|
||||
src/parser/produce_sym.c$$
|
||||
src/parser/push_stack.c$$
|
||||
src/parser/read_stack.c$$
|
||||
src/parser/redir_init.c$$
|
||||
src/parser/stack_init.c$$
|
||||
src/parser/sym_free.c$$
|
||||
src/parser/tree_func_free.c$$
|
||||
src/parser/tree_wrapper.c$$
|
||||
|
|
|
|||
20
42sh/file
20
42sh/file
|
|
@ -1 +1,19 @@
|
|||
GAGNE
|
||||
/Users/ariard/Projects/42sh
|
||||
/Users/ariard/Projects/42sh
|
||||
42ShellTester
|
||||
42sh
|
||||
Makefile
|
||||
README.md
|
||||
STDBUG
|
||||
another_file
|
||||
auteur
|
||||
donovan_segaults_06-02
|
||||
file
|
||||
includes
|
||||
libft
|
||||
objs
|
||||
pdf
|
||||
sample
|
||||
scriptheader.sh
|
||||
src
|
||||
update_makefile.sh
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
/* By: jhalford <jhalford@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2016/12/13 17:11:48 by jhalford #+# #+# */
|
||||
/* Updated: 2017/03/29 13:59:26 by ariard ### ########.fr */
|
||||
/* Updated: 2017/03/29 16:40:25 by ariard ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
|
|
@ -194,6 +194,8 @@ enum e_sym
|
|||
OTHER,
|
||||
REDIR,
|
||||
CMD,
|
||||
AND_OR_MAJOR,
|
||||
AND_OR_MINOR,
|
||||
HEREDOCDATA,
|
||||
HEREDOC_DELIM,
|
||||
ALL = 200,
|
||||
|
|
|
|||
|
|
@ -2,3 +2,4 @@ echo "echo hello" >> sample/again.sh
|
|||
echo hello
|
||||
echo hello
|
||||
echo hello
|
||||
echo hello
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
/* By: ariard <ariard@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2017/03/11 15:58:38 by ariard #+# #+# */
|
||||
/* Updated: 2017/03/29 16:19:14 by ariard ### ########.fr */
|
||||
/* Updated: 2017/03/29 16:52:26 by ariard ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
|
|
@ -22,8 +22,6 @@ static t_aggrematch g_aggrematch[] =
|
|||
{TK_DSEMI, CMD_SUPERIOR, CLOSE_LIST, TK_PAREN_CLOSE},
|
||||
{TK_DSEMI, PIPE_SEMI_SEQUENCE, CLOSE_LIST, TK_PAREN_CLOSE},
|
||||
{TK_DSEMI, PIPE_CLOSE_SEQUENCE, CLOSE_LIST, TK_PAREN_CLOSE},
|
||||
{TK_DSEMI, COMPOUND_LIST, CLOSE_LIST, TK_PAREN_CLOSE},
|
||||
{TK_DSEMI, COMPLETE_COMMANDS, CLOSE_LIST, TK_PAREN_CLOSE},
|
||||
{TK_PAREN_OPEN, TK_IN, PATTERN_CASE, 0},
|
||||
{TK_PAREN_OPEN, CASE_LIST_NS, PATTERN_CASE, 0},
|
||||
{TK_PAREN_OPEN, CMD_SUPERIOR, OPEN_FUNC, 0},
|
||||
|
|
@ -33,13 +31,11 @@ static t_aggrematch g_aggrematch[] =
|
|||
{TK_PIPE, PIPE_CLOSE_SEQUENCE, SEQUENCE, PIPE_CLOSE_SEQUENCE},
|
||||
{TK_FI, ELSE_PART, IF_CLAUSE, TK_IF},
|
||||
{TK_FI, COMPOUND_LIST, IF_CLAUSE, COMPLETE_CONDITION},
|
||||
{TK_FI, COMPLETE_COMMANDS, IF_CLAUSE, COMPLETE_CONDITION},
|
||||
{TK_FI, COMPLETE_CONDITION, IF_CLAUSE, COMPLETE_CONDITION},
|
||||
{TK_FI, CONDITION, IF_CLAUSE, COMPLETE_CONDITION},
|
||||
{TK_THEN, CONDITION, COMPLETE_CONDITION, CONDITION},
|
||||
{TK_DONE, CMD_SUPERIOR, DO_GROUP, TK_DO},
|
||||
{TK_DONE, COMPOUND_LIST, DO_GROUP, TK_DO},
|
||||
{TK_DONE, COMPLETE_COMMANDS, DO_GROUP, TK_DO},
|
||||
{TK_ESAC, TK_IN, CASE_CLAUSE, TK_CASE},
|
||||
{TK_ESAC, CASE_LIST_NS, CASE_CLAUSE, TK_CASE},
|
||||
{TK_PAREN_CLOSE, SUBSHELL, SUBSHELL, TK_PAREN_OPEN},
|
||||
|
|
@ -55,6 +51,12 @@ static t_aggrematch g_aggrematch[] =
|
|||
{TK_RBRACE, PIPE_CLOSE_SEQUENCE, BRACE_CLAUSE, TK_LBRACE},
|
||||
{TK_RBRACE, COMPOUND_LIST, BRACE_CLAUSE, TK_LBRACE},
|
||||
{TK_RBRACE, CMD_SUPERIOR, BRACE_CLAUSE, TK_LBRACE},
|
||||
{TK_AND_IF, CMD_SUPERIOR, AND_OR_MINOR, CMD_SUPERIOR},
|
||||
{TK_AND_IF, PIPE_CLOSE_SEQUENCE, AND_OR_MINOR, PIPE_CLOSE_SEQUENCE},
|
||||
{TK_AND_IF, PIPE_SEMI_SEQUENCE, AND_OR_MINOR, PIPE_SEMI_SEQUENCE},
|
||||
{TK_OR_IF, PIPE_SEMI_SEQUENCE, AND_OR_MINOR, PIPE_SEMI_SEQUENCE},
|
||||
{TK_OR_IF, CMD_SUPERIOR, AND_OR_MINOR, CMD_SUPERIOR},
|
||||
{TK_OR_IF, PIPE_CLOSE_SEQUENCE, AND_OR_MINOR, PIPE_CLOSE_SEQUENCE},
|
||||
{SEPARATOR_OP, CMD_SUPERIOR, SEPARATOR, 0},
|
||||
{SEPARATOR_OP, COMPOUND_LIST, SEPARATOR, 0},
|
||||
{SEPARATOR_OP, CASE_LIST_NS, SEPARATOR, 0},
|
||||
|
|
@ -101,7 +103,6 @@ static t_aggrematch g_aggrematch[] =
|
|||
{NEWLINE_LIST, CASE_LIST_NS, SEPARATOR, 0},
|
||||
{NEWLINE_LIST, COMPLETE_CONDITION, COMPLETE_CONDITION, COMPLETE_CONDITION},
|
||||
{NEWLINE_LIST, CONDITION, CONDITION, CONDITION},
|
||||
{NEWLINE_LIST, AND_OR, AND_OR, AND_OR},
|
||||
{NEWLINE_LIST, COMPLETE_COMMANDS, LINEBREAK, 0},
|
||||
{NEWLINE_LIST, LINEBREAK, PROGRAM, LINEBREAK},
|
||||
{NEWLINE_LIST, FOR_WORDLIST, SEQUENTIAL_SEP, 0},
|
||||
|
|
@ -194,7 +195,7 @@ static t_aggrematch g_aggrematch[] =
|
|||
{CMD_NAME, CONDITION, CMD_SUPERIOR, 0},
|
||||
{CMD_NAME, TK_PIPE, CMD_SUPERIOR, 0},
|
||||
{CMD_NAME, SEQUENCE, CMD_SUPERIOR, 0},
|
||||
{CMD_NAME, AND_OR, CMD_SUPERIOR, 0},
|
||||
{CMD_NAME, AND_OR_MAJOR, CMD_SUPERIOR, 0},
|
||||
{CMD_SUPERIOR, SEQUENCE, PIPE_SEMI_SEQUENCE, SEQUENCE},
|
||||
{SIMPLE_COMMAND, ALL, COMMAND, 0},
|
||||
{DO_GROUP, NAME, FOR_CLAUSE, TK_FOR},
|
||||
|
|
@ -225,6 +226,15 @@ static t_aggrematch g_aggrematch[] =
|
|||
{SUBSHELL, ALL, COMPOUND_COMMAND, 0},
|
||||
{BRACE_CLAUSE, ALL, COMPOUND_COMMAND, 0},
|
||||
{COMPOUND_COMMAND, FUNC_NAME, COMMAND, FUNC_NAME},
|
||||
{AND_OR_MINOR, PIPE_SEMI_SEQUENCE, AND_OR_MAJOR, PIPE_SEMI_SEQUENCE},
|
||||
{AND_OR_MINOR, PIPE_CLOSE_SEQUENCE, AND_OR_MAJOR, PIPE_CLOSE_SEQUENCE},
|
||||
{AND_OR_MINOR, LINEBREAK, AND_OR_MAJOR, 0},
|
||||
{AND_OR_MINOR, TK_PAREN_OPEN, AND_OR_MAJOR, 0},
|
||||
{AND_OR_MINOR, TK_LBRACE, AND_OR_MAJOR, 0},
|
||||
{AND_OR_MINOR, COMPOUND_LIST, AND_OR_MAJOR, 0},
|
||||
{AND_OR_MINOR, COMPLETE_COMMANDS, AND_OR_MAJOR, 0},
|
||||
{AND_OR_MINOR, AND_OR_MAJOR, AND_OR_MAJOR, 0},
|
||||
{AND_OR_MINOR, TK_BANG, AND_OR_MAJOR, TK_BANG},
|
||||
{COMMAND, SEQUENCE, PIPE_SEMI_SEQUENCE, 0},
|
||||
{COMMAND, COMPOUND_LIST, PIPE_SEMI_SEQUENCE, 0},
|
||||
{COMMAND, CASE_LIST_NS, PIPE_SEMI_SEQUENCE, 0},
|
||||
|
|
@ -244,7 +254,7 @@ static t_aggrematch g_aggrematch[] =
|
|||
{COMMAND, TK_PAREN_OPEN, PIPE_SEMI_SEQUENCE, 0},
|
||||
{COMMAND, TK_LBRACE, PIPE_SEMI_SEQUENCE, 0},
|
||||
{COMMAND, COMPLETE_COMMANDS, PIPE_SEMI_SEQUENCE, 0},
|
||||
{COMMAND, AND_OR, PIPE_SEMI_SEQUENCE, 0},
|
||||
{COMMAND, AND_OR_MAJOR, PIPE_SEMI_SEQUENCE, 0},
|
||||
{COMMAND, COMPLETE_CONDITION, PIPE_SEMI_SEQUENCE, 0},
|
||||
{COMMAND, CONDITION, PIPE_SEMI_SEQUENCE, 0},
|
||||
{COMPOUND_COMMAND, SEQUENCE, PIPE_CLOSE_SEQUENCE, 0},
|
||||
|
|
@ -266,11 +276,12 @@ static t_aggrematch g_aggrematch[] =
|
|||
{COMPOUND_COMMAND, TK_PAREN_OPEN, PIPE_CLOSE_SEQUENCE, 0},
|
||||
{COMPOUND_COMMAND, TK_LBRACE, PIPE_CLOSE_SEQUENCE, 0},
|
||||
{COMPOUND_COMMAND, COMPLETE_COMMANDS, PIPE_CLOSE_SEQUENCE, 0},
|
||||
{COMPOUND_COMMAND, AND_OR, PIPE_CLOSE_SEQUENCE, 0},
|
||||
{COMPOUND_COMMAND, AND_OR_MAJOR, PIPE_CLOSE_SEQUENCE, 0},
|
||||
{COMPOUND_COMMAND, COMPLETE_CONDITION, PIPE_CLOSE_SEQUENCE, 0},
|
||||
{COMPOUND_COMMAND, CONDITION, PIPE_CLOSE_SEQUENCE, 0},
|
||||
{END_COMMAND, SEQUENCE, PIPE_SEQUENCE, SEQUENCE},
|
||||
{END_COMMAND, PIPE_SEMI_SEQUENCE, PIPE_SEQUENCE, PIPE_SEMI_SEQUENCE},
|
||||
{END_COMMAND, AND_OR_MAJOR, AND_OR, AND_OR_MAJOR},
|
||||
{END_COMMAND, TK_WHILE, PIPE_SEQUENCE, 0},
|
||||
{END_COMMAND, TK_WHILE, PIPE_SEQUENCE, 0},
|
||||
{END_COMMAND, TK_UNTIL, PIPE_SEQUENCE, 0},
|
||||
|
|
@ -289,7 +300,6 @@ static t_aggrematch g_aggrematch[] =
|
|||
{END_COMMAND, CONDITION, PIPE_SEQUENCE, 0},
|
||||
{END_COMMAND, COMPOUND_LIST, COMPOUND_LIST, COMPOUND_LIST},
|
||||
{END_COMMAND, CASE_LIST_NS, CASE_LIST_NS, CASE_LIST_NS},
|
||||
{END_COMMAND, AND_OR, COMPLETE_COMMANDS, 0},
|
||||
{PIPE_SEMI_SEQUENCE, SEQUENCE, PIPE_SEMI_SEQUENCE, SEQUENCE},
|
||||
{PIPE_CLOSE_SEQUENCE, SEQUENCE, PIPE_CLOSE_SEQUENCE, SEQUENCE},
|
||||
{PIPE_SEQUENCE, TK_WHILE, PIPELINE, 0},
|
||||
|
|
@ -301,7 +311,7 @@ static t_aggrematch g_aggrematch[] =
|
|||
{PIPE_SEQUENCE, TK_PAREN_OPEN, PIPELINE, 0},
|
||||
{PIPE_SEQUENCE, TK_LBRACE, PIPELINE, 0},
|
||||
{PIPE_SEQUENCE, COMPLETE_COMMANDS, PIPELINE, 0},
|
||||
{PIPE_SEQUENCE, AND_OR, PIPELINE, 0},
|
||||
{PIPE_SEQUENCE, AND_OR_MAJOR, PIPELINE, 0},
|
||||
{PIPE_SEQUENCE, TK_DO, PIPELINE, 0},
|
||||
{PIPE_SEQUENCE, TK_PAREN_CLOSE, PIPELINE, 0},
|
||||
{PIPE_SEQUENCE, TK_IF, PIPELINE, 0},
|
||||
|
|
@ -331,8 +341,8 @@ static t_aggrematch g_aggrematch[] =
|
|||
{PIPELINE, SEPARATOR_OP, AND_OR, 0},
|
||||
{PIPELINE, COMPLETE_CONDITION, AND_OR, 0},
|
||||
{PIPELINE, CONDITION, AND_OR, 0},
|
||||
{PIPELINE, AND_OR, COMPLETE_COMMANDS, 0},
|
||||
{AND_OR, AND_OR, AND_OR, AND_OR},
|
||||
{PIPELINE, AND_OR_MAJOR, AND_OR, AND_OR_MAJOR},
|
||||
{AND_OR_MAJOR, AND_OR_MAJOR, AND_OR_MAJOR, AND_OR_MAJOR},
|
||||
{AND_OR, TK_DO, COMPOUND_LIST, 0},
|
||||
{AND_OR, TK_PAREN_CLOSE, COMPOUND_LIST, 0},
|
||||
{AND_OR, TK_WHILE, COMPOUND_LIST, 0},
|
||||
|
|
@ -347,7 +357,6 @@ static t_aggrematch g_aggrematch[] =
|
|||
{AND_OR, CASE_LIST_NS, CASE_LIST_NS, 0},
|
||||
{AND_OR, COMPLETE_CONDITION, COMPOUND_LIST, 0},
|
||||
{AND_OR, CONDITION, COMPOUND_LIST, 0},
|
||||
{AND_OR, COMPLETE_CONDITION, COMPOUND_LIST, 0},
|
||||
{AND_OR, SEPARATOR_OP, LIST, LIST},
|
||||
{AND_OR, NEWLINE_LIST, LIST, 0},
|
||||
{AND_OR, LINEBREAK, LIST, 0},
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
/* By: ariard <ariard@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2017/03/11 16:11:21 by ariard #+# #+# */
|
||||
/* Updated: 2017/03/29 16:19:59 by ariard ### ########.fr */
|
||||
/* Updated: 2017/03/29 16:49:01 by ariard ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
|
|
@ -16,7 +16,6 @@ static t_stackmatch g_stackmatch[] =
|
|||
{
|
||||
{TK_WORD, CMD_SUFFIX},
|
||||
{TK_WORD, TK_PIPE},
|
||||
{TK_WORD, AND_OR},
|
||||
{TK_WORD, TK_CASE},
|
||||
{TK_WORD, WORDLIST},
|
||||
{TK_WORD, LINEBREAK},
|
||||
|
|
@ -38,12 +37,12 @@ static t_stackmatch g_stackmatch[] =
|
|||
{TK_IO_NUMBER, TK_LBRACE},
|
||||
{TK_IO_NUMBER, COMPLETE_COMMANDS},
|
||||
{TK_IO_NUMBER, SEPARATOR_OP},
|
||||
{TK_IO_NUMBER, AND_OR},
|
||||
{TK_IO_NUMBER, NEWLINE_LIST},
|
||||
{TK_IO_NUMBER, PIPE_SEMI_SEQUENCE},
|
||||
{TK_IO_NUMBER, PIPE_CLOSE_SEQUENCE},
|
||||
{TK_IO_NUMBER, SEQUENCE},
|
||||
{TK_IO_NUMBER, CMD_SUPERIOR},
|
||||
{TK_IO_NUMBER, AND_OR_MAJOR},
|
||||
{TK_IO_NUMBER, TK_WHILE},
|
||||
{TK_IO_NUMBER, TK_UNTIL},
|
||||
{TK_IO_NUMBER, TK_IF},
|
||||
|
|
@ -84,12 +83,12 @@ static t_stackmatch g_stackmatch[] =
|
|||
{TK_LESS, COMPLETE_COMMANDS},
|
||||
{TK_LESS, TK_BANG},
|
||||
{TK_LESS, SEPARATOR_OP},
|
||||
{TK_LESS, AND_OR},
|
||||
{TK_LESS, NEWLINE_LIST},
|
||||
{TK_LESS, PIPE_SEMI_SEQUENCE},
|
||||
{TK_LESS, PIPE_CLOSE_SEQUENCE},
|
||||
{TK_LESS, SEQUENCE},
|
||||
{TK_LESS, CMD_SUPERIOR},
|
||||
{TK_LESS, AND_OR_MAJOR},
|
||||
{TK_LESS, TK_WHILE},
|
||||
{TK_LESS, TK_UNTIL},
|
||||
{TK_LESS, TK_IF},
|
||||
|
|
@ -101,6 +100,7 @@ static t_stackmatch g_stackmatch[] =
|
|||
{TK_LESS, CONDITION},
|
||||
{TK_LESS, COMPOUND_LIST},
|
||||
{TK_LESS, CMD_SUPERIOR},
|
||||
{TK_LESS, AND_OR_MAJOR},
|
||||
{TK_GREAT, TK_IO_NUMBER},
|
||||
{TK_GREAT, REDIRECT_LIST},
|
||||
{TK_GREAT, CMD_SUFFIX},
|
||||
|
|
@ -113,12 +113,12 @@ static t_stackmatch g_stackmatch[] =
|
|||
{TK_GREAT, TK_LBRACE},
|
||||
{TK_GREAT, COMPLETE_COMMANDS},
|
||||
{TK_GREAT, SEPARATOR_OP},
|
||||
{TK_GREAT, AND_OR},
|
||||
{TK_GREAT, NEWLINE_LIST},
|
||||
{TK_GREAT, PIPE_SEMI_SEQUENCE},
|
||||
{TK_GREAT, PIPE_CLOSE_SEQUENCE},
|
||||
{TK_GREAT, SEQUENCE},
|
||||
{TK_GREAT, CMD_SUPERIOR},
|
||||
{TK_GREAT, AND_OR_MAJOR},
|
||||
{TK_GREAT, TK_WHILE},
|
||||
{TK_GREAT, TK_UNTIL},
|
||||
{TK_GREAT, TK_IF},
|
||||
|
|
@ -130,6 +130,7 @@ static t_stackmatch g_stackmatch[] =
|
|||
{TK_GREAT, CONDITION},
|
||||
{TK_GREAT, COMPOUND_LIST},
|
||||
{TK_GREAT, CMD_SUPERIOR},
|
||||
{TK_GREAT, AND_OR_MAJOR},
|
||||
{TK_DLESS, TK_IO_NUMBER},
|
||||
{TK_DLESS, REDIRECT_LIST},
|
||||
{TK_DLESS, CMD_SUFFIX},
|
||||
|
|
@ -142,12 +143,12 @@ static t_stackmatch g_stackmatch[] =
|
|||
{TK_DLESS, COMPLETE_COMMANDS},
|
||||
{TK_DLESS, TK_BANG},
|
||||
{TK_DLESS, SEPARATOR_OP},
|
||||
{TK_DLESS, AND_OR},
|
||||
{TK_DLESS, NEWLINE_LIST},
|
||||
{TK_DLESS, PIPE_SEMI_SEQUENCE},
|
||||
{TK_DLESS, PIPE_CLOSE_SEQUENCE},
|
||||
{TK_DLESS, SEQUENCE},
|
||||
{TK_DLESS, CMD_SUPERIOR},
|
||||
{TK_DLESS, AND_OR_MAJOR},
|
||||
{TK_DLESS, TK_WHILE},
|
||||
{TK_DLESS, TK_UNTIL},
|
||||
{TK_DLESS, TK_IF},
|
||||
|
|
@ -159,6 +160,7 @@ static t_stackmatch g_stackmatch[] =
|
|||
{TK_DLESS, CONDITION},
|
||||
{TK_DLESS, COMPOUND_LIST},
|
||||
{TK_DLESS, CMD_SUPERIOR},
|
||||
{TK_DLESS, AND_OR_MAJOR},
|
||||
{TK_DGREAT, TK_IO_NUMBER},
|
||||
{TK_DGREAT, REDIRECT_LIST},
|
||||
{TK_DGREAT, CMD_SUFFIX},
|
||||
|
|
@ -171,12 +173,12 @@ static t_stackmatch g_stackmatch[] =
|
|||
{TK_DGREAT, TK_LBRACE},
|
||||
{TK_DGREAT, COMPLETE_COMMANDS},
|
||||
{TK_DGREAT, SEPARATOR_OP},
|
||||
{TK_DGREAT, AND_OR},
|
||||
{TK_DGREAT, NEWLINE_LIST},
|
||||
{TK_DGREAT, PIPE_SEMI_SEQUENCE},
|
||||
{TK_DGREAT, PIPE_CLOSE_SEQUENCE},
|
||||
{TK_DGREAT, SEQUENCE},
|
||||
{TK_DGREAT, CMD_SUPERIOR},
|
||||
{TK_DGREAT, AND_OR_MAJOR},
|
||||
{TK_DGREAT, TK_WHILE},
|
||||
{TK_DGREAT, TK_UNTIL},
|
||||
{TK_DGREAT, TK_IF},
|
||||
|
|
@ -188,6 +190,7 @@ static t_stackmatch g_stackmatch[] =
|
|||
{TK_DGREAT, CONDITION},
|
||||
{TK_DGREAT, COMPOUND_LIST},
|
||||
{TK_DGREAT, CMD_SUPERIOR},
|
||||
{TK_DGREAT, AND_OR_MAJOR},
|
||||
{TK_LESSAND, TK_IO_NUMBER},
|
||||
{TK_LESSAND, REDIRECT_LIST},
|
||||
{TK_LESSAND, CMD_SUFFIX},
|
||||
|
|
@ -200,12 +203,12 @@ static t_stackmatch g_stackmatch[] =
|
|||
{TK_LESSAND, TK_LBRACE},
|
||||
{TK_LESSAND, COMPLETE_COMMANDS},
|
||||
{TK_LESSAND, SEPARATOR_OP},
|
||||
{TK_LESSAND, AND_OR},
|
||||
{TK_LESSAND, NEWLINE_LIST},
|
||||
{TK_LESSAND, PIPE_SEMI_SEQUENCE},
|
||||
{TK_LESSAND, PIPE_CLOSE_SEQUENCE},
|
||||
{TK_LESSAND, SEQUENCE},
|
||||
{TK_LESSAND, CMD_SUPERIOR},
|
||||
{TK_LESSAND, AND_OR_MAJOR},
|
||||
{TK_LESSAND, TK_WHILE},
|
||||
{TK_LESSAND, TK_UNTIL},
|
||||
{TK_LESSAND, TK_IF},
|
||||
|
|
@ -217,6 +220,7 @@ static t_stackmatch g_stackmatch[] =
|
|||
{TK_LESSAND, CONDITION},
|
||||
{TK_LESSAND, COMPOUND_LIST},
|
||||
{TK_LESSAND, CMD_SUPERIOR},
|
||||
{TK_LESSAND, AND_OR_MAJOR},
|
||||
{TK_GREATAND, TK_IO_NUMBER},
|
||||
{TK_GREATAND, REDIRECT_LIST},
|
||||
{TK_GREATAND, CMD_SUFFIX},
|
||||
|
|
@ -229,12 +233,12 @@ static t_stackmatch g_stackmatch[] =
|
|||
{TK_GREATAND, TK_LBRACE},
|
||||
{TK_GREATAND, COMPLETE_COMMANDS},
|
||||
{TK_GREATAND, SEPARATOR_OP},
|
||||
{TK_GREATAND, AND_OR},
|
||||
{TK_GREATAND, NEWLINE_LIST},
|
||||
{TK_GREATAND, PIPE_SEMI_SEQUENCE},
|
||||
{TK_GREATAND, PIPE_CLOSE_SEQUENCE},
|
||||
{TK_GREATAND, SEQUENCE},
|
||||
{TK_GREATAND, CMD_SUPERIOR},
|
||||
{TK_GREATAND, AND_OR_MAJOR},
|
||||
{TK_GREATAND, TK_WHILE},
|
||||
{TK_GREATAND, TK_UNTIL},
|
||||
{TK_GREATAND, TK_IF},
|
||||
|
|
@ -246,6 +250,7 @@ static t_stackmatch g_stackmatch[] =
|
|||
{TK_GREATAND, CONDITION},
|
||||
{TK_GREATAND, COMPOUND_LIST},
|
||||
{TK_GREATAND, CMD_SUPERIOR},
|
||||
{TK_GREATAND, AND_OR_MAJOR},
|
||||
{TK_IF, LINEBREAK},
|
||||
{TK_IF, TK_BANG},
|
||||
{TK_IF, TK_PAREN_OPEN},
|
||||
|
|
@ -253,7 +258,6 @@ static t_stackmatch g_stackmatch[] =
|
|||
{TK_IF, FUNC_NAME},
|
||||
{TK_IF, COMPLETE_COMMANDS},
|
||||
{TK_IF, SEPARATOR_OP},
|
||||
{TK_IF, AND_OR},
|
||||
{TK_IF, NEWLINE_LIST},
|
||||
{TK_IF, SEQUENCE},
|
||||
{TK_IF, TK_WHILE},
|
||||
|
|
@ -282,15 +286,13 @@ static t_stackmatch g_stackmatch[] =
|
|||
{TK_FI, CMD_SUPERIOR},
|
||||
{TK_FI, END_COMMAND},
|
||||
{TK_FI, CONDITION},
|
||||
{TK_FI, COMPLETE_CONDITION},
|
||||
{TK_FI, COMPLETE_COMMANDS},
|
||||
{TK_DO, CMD_SUPERIOR},
|
||||
{TK_FI, COMPLETE_CONDITION},
|
||||
{TK_DO, COMPOUND_LIST},
|
||||
{TK_DO, NAME},
|
||||
{TK_DO, SEQUENTIAL_SEP},
|
||||
{TK_DONE, CMD_SUPERIOR},
|
||||
{TK_DONE, COMPOUND_LIST},
|
||||
{TK_DONE, COMPLETE_COMMANDS},
|
||||
{TK_DONE, END_COMMAND},
|
||||
{TK_CASE, LINEBREAK},
|
||||
{TK_CASE, TK_BANG},
|
||||
|
|
@ -313,7 +315,6 @@ static t_stackmatch g_stackmatch[] =
|
|||
{TK_CASE, COMPOUND_LIST},
|
||||
{TK_CASE, NEWLINE_LIST},
|
||||
{TK_CASE, SEPARATOR_OP},
|
||||
{TK_CASE, AND_OR},
|
||||
{TK_CASE, SEQUENCE},
|
||||
{TK_IN, TK_WORD},
|
||||
{TK_IN, NAME},
|
||||
|
|
@ -327,7 +328,6 @@ static t_stackmatch g_stackmatch[] =
|
|||
{TK_WHILE, COMPLETE_COMMANDS},
|
||||
{TK_WHILE, TK_BANG},
|
||||
{TK_WHILE, SEPARATOR_OP},
|
||||
{TK_WHILE, AND_OR},
|
||||
{TK_WHILE, NEWLINE_LIST},
|
||||
{TK_WHILE, SEQUENCE},
|
||||
{TK_WHILE, TK_DO},
|
||||
|
|
@ -350,7 +350,6 @@ static t_stackmatch g_stackmatch[] =
|
|||
{TK_UNTIL, COMPLETE_COMMANDS},
|
||||
{TK_UNTIL, TK_BANG},
|
||||
{TK_UNTIL, SEPARATOR_OP},
|
||||
{TK_UNTIL, AND_OR},
|
||||
{TK_UNTIL, NEWLINE_LIST},
|
||||
{TK_UNTIL, SEQUENCE},
|
||||
{TK_UNTIL, TK_DO},
|
||||
|
|
@ -373,7 +372,6 @@ static t_stackmatch g_stackmatch[] =
|
|||
{FUNC_NAME, FUNC_NAME},
|
||||
{FUNC_NAME, COMPLETE_COMMANDS},
|
||||
{FUNC_NAME, SEPARATOR_OP},
|
||||
{FUNC_NAME, AND_OR},
|
||||
{FUNC_NAME, NEWLINE_LIST},
|
||||
{FUNC_NAME, SEQUENCE},
|
||||
{FUNC_NAME, TK_WHILE},
|
||||
|
|
@ -396,7 +394,6 @@ static t_stackmatch g_stackmatch[] =
|
|||
{TK_FOR, FUNC_NAME},
|
||||
{TK_FOR, COMPLETE_COMMANDS},
|
||||
{TK_FOR, SEPARATOR_OP},
|
||||
{TK_FOR, AND_OR},
|
||||
{TK_FOR, NEWLINE_LIST},
|
||||
{TK_FOR, SEQUENCE},
|
||||
{TK_FOR, TK_DO},
|
||||
|
|
@ -418,9 +415,9 @@ static t_stackmatch g_stackmatch[] =
|
|||
{TK_LBRACE, TK_LBRACE},
|
||||
{TK_LBRACE, TK_PAREN_OPEN},
|
||||
{TK_LBRACE, SEPARATOR_OP},
|
||||
{TK_LBRACE, AND_OR},
|
||||
{TK_LBRACE, NEWLINE_LIST},
|
||||
{TK_LBRACE, SEQUENCE},
|
||||
{TK_LBRACE, AND_OR_MAJOR},
|
||||
{TK_LBRACE, TK_WHILE},
|
||||
{TK_LBRACE, FUNC_NAME},
|
||||
{TK_LBRACE, TK_UNTIL},
|
||||
|
|
@ -436,11 +433,9 @@ static t_stackmatch g_stackmatch[] =
|
|||
{TK_LBRACE, CONDITION},
|
||||
{TK_LBRACE, TK_IN},
|
||||
{TK_LBRACE, TK_PIPE},
|
||||
{TK_LBRACE, AND_OR},
|
||||
{TK_RBRACE, TK_SEMI},
|
||||
{TK_RBRACE, END_COMMAND},
|
||||
{TK_RBRACE, SEPARATOR_OP},
|
||||
{TK_RBRACE, AND_OR},
|
||||
{TK_RBRACE, WORD},
|
||||
{TK_RBRACE, IN},
|
||||
{TK_RBRACE, TK_AND_IF},
|
||||
|
|
@ -463,20 +458,18 @@ static t_stackmatch g_stackmatch[] =
|
|||
{TK_BANG, TK_LBRACE},
|
||||
{TK_BANG, COMPLETE_COMMANDS},
|
||||
{TK_BANG, SEPARATOR_OP},
|
||||
{TK_BANG, AND_OR},
|
||||
{TK_BANG, NEWLINE_LIST},
|
||||
{TK_IN, LINEBREAK},
|
||||
{TK_SEMI, NAME},
|
||||
{TK_SEMI, IN},
|
||||
{TK_SEMI, WORDLIST},
|
||||
{TK_SEMI, LIST},
|
||||
{TK_SEMI, TERM},
|
||||
{TK_SEMI, CMD_NAME},
|
||||
{TK_SEMI, PROGRAM},
|
||||
{TK_SEMI, FOR_WORDLIST},
|
||||
{TK_AMP, LIST},
|
||||
{TK_AMP, TERM},
|
||||
{TK_AMP, PROGRAM},
|
||||
{TK_AMP, CMD_NAME},
|
||||
{TK_PIPE, PATTERN},
|
||||
{TK_PIPE, CMD_SUPERIOR},
|
||||
{TK_PIPE, PIPE_SEMI_SEQUENCE},
|
||||
|
|
@ -488,10 +481,10 @@ static t_stackmatch g_stackmatch[] =
|
|||
{TK_PAREN_OPEN, TK_BANG},
|
||||
{TK_PAREN_OPEN, TK_PAREN_OPEN},
|
||||
{TK_PAREN_OPEN, SEPARATOR_OP},
|
||||
{TK_PAREN_OPEN, AND_OR},
|
||||
{TK_PAREN_OPEN, NEWLINE_LIST},
|
||||
{TK_PAREN_OPEN, SEQUENCE},
|
||||
{TK_PAREN_OPEN, FUNC_NAME},
|
||||
{TK_PAREN_OPEN, AND_OR_MAJOR},
|
||||
{TK_PAREN_OPEN, TK_WHILE},
|
||||
{TK_PAREN_OPEN, TK_LBRACE},
|
||||
{TK_PAREN_OPEN, FUNC_NAME},
|
||||
|
|
@ -515,6 +508,7 @@ static t_stackmatch g_stackmatch[] =
|
|||
{SEQUENTIAL_SEP, FOR_WORDLIST},
|
||||
{END_COMMAND, SEQUENCE},
|
||||
{END_COMMAND, PIPE_SEMI_SEQUENCE},
|
||||
{END_COMMAND, AND_OR_MAJOR},
|
||||
{END_COMMAND, TK_WHILE},
|
||||
{END_COMMAND, FUNC_NAME},
|
||||
{END_COMMAND, TK_UNTIL},
|
||||
|
|
@ -533,7 +527,6 @@ static t_stackmatch g_stackmatch[] =
|
|||
{END_COMMAND, CASE_LIST_NS},
|
||||
{END_COMMAND, COMPLETE_CONDITION},
|
||||
{END_COMMAND, CONDITION},
|
||||
{END_COMMAND, AND_OR},
|
||||
{SEPARATOR, CMD_SUPERIOR},
|
||||
{SEPARATOR, TERM},
|
||||
{SEPARATOR, COMPOUND_LIST},
|
||||
|
|
@ -542,6 +535,7 @@ static t_stackmatch g_stackmatch[] =
|
|||
{SEPARATOR, PIPE_CLOSE_SEQUENCE},
|
||||
{SEPARATOR_OP, CMD_SUPERIOR},
|
||||
{SEPARATOR_OP, LIST},
|
||||
{SEPARATOR_OP, TERM},
|
||||
{SEPARATOR_OP, CASE_LIST_NS},
|
||||
{SEPARATOR_OP, COMPOUND_LIST},
|
||||
{SEPARATOR_OP, PIPE_SEMI_SEQUENCE},
|
||||
|
|
@ -549,12 +543,12 @@ static t_stackmatch g_stackmatch[] =
|
|||
{LINEBREAK, TK_SEMI},
|
||||
{LINEBREAK, END_COMMAND},
|
||||
{LINEBREAK, SEPARATOR_OP},
|
||||
{LINEBREAK, AND_OR},
|
||||
{LINEBREAK, TK_PAREN_CLOSE},
|
||||
{LINEBREAK, WORD},
|
||||
{LINEBREAK, IN},
|
||||
{LINEBREAK, TK_AND_IF},
|
||||
{LINEBREAK, TK_OR_IF},
|
||||
{LINEBREAK, TK_PIPE},
|
||||
{LINEBREAK, AND_OR},
|
||||
{LINEBREAK, LINEBREAK},
|
||||
{LINEBREAK, TK_BANG},
|
||||
{LINEBREAK, COMPLETE_COMMANDS},
|
||||
|
|
@ -569,7 +563,6 @@ static t_stackmatch g_stackmatch[] =
|
|||
{TK_PAREN_CLOSE, TK_SEMI},
|
||||
{TK_PAREN_CLOSE, END_COMMAND},
|
||||
{TK_PAREN_CLOSE, SEPARATOR_OP},
|
||||
{TK_PAREN_CLOSE, AND_OR},
|
||||
{TK_PAREN_CLOSE, WORD},
|
||||
{TK_PAREN_CLOSE, IN},
|
||||
{TK_PAREN_CLOSE, TK_PIPE},
|
||||
|
|
@ -589,7 +582,6 @@ static t_stackmatch g_stackmatch[] =
|
|||
{TK_RBRACE, TK_SEMI},
|
||||
{TK_RBRACE, END_COMMAND},
|
||||
{TK_RBRACE, SEPARATOR_OP},
|
||||
{TK_RBRACE, AND_OR},
|
||||
{TK_RBRACE, WORD},
|
||||
{TK_RBRACE, IN},
|
||||
{TK_RBRACE, TK_PIPE},
|
||||
|
|
@ -622,7 +614,6 @@ static t_stackmatch g_stackmatch[] =
|
|||
{NEWLINE_LIST, TK_ELSE},
|
||||
{NEWLINE_LIST, CMD_NAME},
|
||||
{NEWLINE_LIST, NEWLINE_LIST},
|
||||
{NEWLINE_LIST, AND_OR},
|
||||
{NEWLINE_LIST, NAME},
|
||||
{NEWLINE_LIST, IN},
|
||||
{NEWLINE_LIST, WORDLIST},
|
||||
|
|
@ -654,12 +645,12 @@ static t_stackmatch g_stackmatch[] =
|
|||
{IO_HERE, TK_LBRACE},
|
||||
{IO_HERE, COMPLETE_COMMANDS},
|
||||
{IO_HERE, SEPARATOR_OP},
|
||||
{IO_HERE, AND_OR},
|
||||
{IO_HERE, NEWLINE_LIST},
|
||||
{IO_HERE, PIPE_SEMI_SEQUENCE},
|
||||
{IO_HERE, PIPE_CLOSE_SEQUENCE},
|
||||
{IO_HERE, SEQUENCE},
|
||||
{IO_HERE, CMD_SUPERIOR},
|
||||
{IO_HERE, AND_OR_MAJOR},
|
||||
{IO_HERE, TK_WHILE},
|
||||
{IO_HERE, TK_UNTIL},
|
||||
{IO_HERE, TK_IF},
|
||||
|
|
@ -688,12 +679,12 @@ static t_stackmatch g_stackmatch[] =
|
|||
{IO_FILE, TK_BANG},
|
||||
{IO_FILE, COMPLETE_COMMANDS},
|
||||
{IO_FILE, SEPARATOR_OP},
|
||||
{IO_FILE, AND_OR},
|
||||
{IO_FILE, NEWLINE_LIST},
|
||||
{IO_FILE, PIPE_SEMI_SEQUENCE},
|
||||
{IO_FILE, PIPE_CLOSE_SEQUENCE},
|
||||
{IO_FILE, SEQUENCE},
|
||||
{IO_FILE, CMD_SUPERIOR},
|
||||
{IO_FILE, AND_OR_MAJOR},
|
||||
{IO_FILE, TK_WHILE},
|
||||
{IO_FILE, TK_UNTIL},
|
||||
{IO_FILE, TK_IF},
|
||||
|
|
@ -716,12 +707,12 @@ static t_stackmatch g_stackmatch[] =
|
|||
{IO_REDIRECT, TK_LBRACE},
|
||||
{IO_REDIRECT, COMPLETE_COMMANDS},
|
||||
{IO_REDIRECT, SEPARATOR_OP},
|
||||
{IO_REDIRECT, AND_OR},
|
||||
{IO_REDIRECT, NEWLINE_LIST},
|
||||
{IO_REDIRECT, PIPE_SEMI_SEQUENCE},
|
||||
{IO_REDIRECT, PIPE_CLOSE_SEQUENCE},
|
||||
{IO_REDIRECT, SEQUENCE},
|
||||
{IO_REDIRECT, CMD_SUPERIOR},
|
||||
{IO_REDIRECT, AND_OR_MAJOR},
|
||||
{IO_REDIRECT, TK_WHILE},
|
||||
{IO_REDIRECT, TK_UNTIL},
|
||||
{IO_REDIRECT, TK_IF},
|
||||
|
|
@ -744,10 +735,10 @@ static t_stackmatch g_stackmatch[] =
|
|||
{CMD_PREFIX, COMPLETE_COMMANDS},
|
||||
{CMD_PREFIX, TK_BANG},
|
||||
{CMD_PREFIX, SEPARATOR_OP},
|
||||
{CMD_PREFIX, AND_OR},
|
||||
{CMD_PREFIX, NEWLINE_LIST},
|
||||
{CMD_PREFIX, SEQUENCE},
|
||||
{CMD_PREFIX, CMD_SUPERIOR},
|
||||
{CMD_PREFIX, AND_OR_MAJOR},
|
||||
{CMD_PREFIX, TK_WHILE},
|
||||
{CMD_PREFIX, TK_UNTIL},
|
||||
{CMD_PREFIX, TK_IF},
|
||||
|
|
@ -765,12 +756,13 @@ static t_stackmatch g_stackmatch[] =
|
|||
{CMD_NAME, TK_LBRACE},
|
||||
{CMD_NAME, TK_BANG},
|
||||
{CMD_NAME, SEPARATOR_OP},
|
||||
{CMD_NAME, AND_OR},
|
||||
{CMD_NAME, NEWLINE_LIST},
|
||||
{CMD_NAME, SEQUENCE},
|
||||
{CMD_NAME, CMD_SUPERIOR},
|
||||
{CMD_NAME, AND_OR_MAJOR},
|
||||
{CMD_NAME, CONDITION},
|
||||
{CMD_NAME, COMPOUND_LIST},
|
||||
{CMD_NAME, AND_OR_MAJOR},
|
||||
{CMD_NAME, TK_WHILE},
|
||||
{CMD_NAME, FUNC_NAME},
|
||||
{CMD_NAME, TK_UNTIL},
|
||||
|
|
@ -803,10 +795,10 @@ static t_stackmatch g_stackmatch[] =
|
|||
{CMD_SUPERIOR, COMPLETE_COMMANDS},
|
||||
{CMD_SUPERIOR, TK_BANG},
|
||||
{CMD_SUPERIOR, SEPARATOR_OP},
|
||||
{CMD_SUPERIOR, AND_OR},
|
||||
{CMD_SUPERIOR, NEWLINE_LIST},
|
||||
{CMD_SUPERIOR, TK_PIPE},
|
||||
{CMD_SUPERIOR, SEQUENCE},
|
||||
{CMD_SUPERIOR, AND_OR_MAJOR},
|
||||
{CLOSE_FUNC, CMD_SUPERIOR},
|
||||
{CLOSE_FUNC, OPEN_FUNC},
|
||||
{SIMPLE_COMMAND, TK_WHILE},
|
||||
|
|
@ -827,9 +819,9 @@ static t_stackmatch g_stackmatch[] =
|
|||
{SIMPLE_COMMAND, COMPLETE_COMMANDS},
|
||||
{SIMPLE_COMMAND, TK_BANG},
|
||||
{SIMPLE_COMMAND, SEPARATOR_OP},
|
||||
{SIMPLE_COMMAND, AND_OR},
|
||||
{SIMPLE_COMMAND, NEWLINE_LIST},
|
||||
{SIMPLE_COMMAND, SEQUENCE},
|
||||
{SIMPLE_COMMAND, AND_OR_MAJOR},
|
||||
{DO_GROUP, CMD_SUPERIOR},
|
||||
{DO_GROUP, COMPOUND_LIST},
|
||||
{DO_GROUP, NAME},
|
||||
|
|
@ -862,8 +854,8 @@ static t_stackmatch g_stackmatch[] =
|
|||
{COMPLETE_CONDITION, CASE_LIST_NS},
|
||||
{COMPLETE_CONDITION, TK_BANG},
|
||||
{COMPLETE_CONDITION, SEPARATOR_OP},
|
||||
{COMPLETE_CONDITION, AND_OR},
|
||||
{COMPLETE_CONDITION, NEWLINE_LIST},
|
||||
{COMPLETE_CONDITION, AND_OR_MAJOR},
|
||||
{COMPLETE_CONDITION, CASE_LIST_NS},
|
||||
{COMPLETE_CONDITION, FUNC_NAME},
|
||||
{FNAME, LINEBREAK},
|
||||
|
|
@ -872,7 +864,6 @@ static t_stackmatch g_stackmatch[] =
|
|||
{FNAME, COMPLETE_COMMANDS},
|
||||
{FNAME, TK_BANG},
|
||||
{FNAME, SEPARATOR_OP},
|
||||
{FNAME, AND_OR},
|
||||
{FNAME, NEWLINE_LIST},
|
||||
{FNAME, SEQUENCE},
|
||||
{FUNCTION_BODY, FUNC},
|
||||
|
|
@ -883,7 +874,6 @@ static t_stackmatch g_stackmatch[] =
|
|||
{FUNCTION_DEFINITION, COMPLETE_COMMANDS},
|
||||
{FUNCTION_DEFINITION, TK_BANG},
|
||||
{FUNCTION_DEFINITION, SEPARATOR_OP},
|
||||
{FUNCTION_DEFINITION, AND_OR},
|
||||
{FUNCTION_DEFINITION, NEWLINE_LIST},
|
||||
{FUNCTION_DEFINITION, SEQUENCE},
|
||||
{UNTIL_CLAUSE, LINEBREAK},
|
||||
|
|
@ -893,7 +883,6 @@ static t_stackmatch g_stackmatch[] =
|
|||
{UNTIL_CLAUSE, COMPLETE_COMMANDS},
|
||||
{UNTIL_CLAUSE, TK_BANG},
|
||||
{UNTIL_CLAUSE, SEPARATOR_OP},
|
||||
{UNTIL_CLAUSE, AND_OR},
|
||||
{UNTIL_CLAUSE, NEWLINE_LIST},
|
||||
{UNTIL_CLAUSE, SEQUENCE},
|
||||
{UNTIL_CLAUSE, TK_DO},
|
||||
|
|
@ -909,11 +898,11 @@ static t_stackmatch g_stackmatch[] =
|
|||
{UNTIL_CLAUSE, CASE_LIST_NS},
|
||||
{UNTIL_CLAUSE, COMPLETE_CONDITION},
|
||||
{UNTIL_CLAUSE, CONDITION},
|
||||
{UNTIL_CLAUSE, AND_OR_MAJOR},
|
||||
{WHILE_CLAUSE, LINEBREAK},
|
||||
{WHILE_CLAUSE, COMPLETE_COMMANDS},
|
||||
{WHILE_CLAUSE, TK_BANG},
|
||||
{WHILE_CLAUSE, SEPARATOR_OP},
|
||||
{WHILE_CLAUSE, AND_OR},
|
||||
{WHILE_CLAUSE, NEWLINE_LIST},
|
||||
{WHILE_CLAUSE, SEQUENCE},
|
||||
{WHILE_CLAUSE, TK_DO},
|
||||
|
|
@ -931,6 +920,7 @@ static t_stackmatch g_stackmatch[] =
|
|||
{WHILE_CLAUSE, CASE_LIST_NS},
|
||||
{WHILE_CLAUSE, COMPLETE_CONDITION},
|
||||
{WHILE_CLAUSE, CONDITION},
|
||||
{WHILE_CLAUSE, AND_OR_MAJOR},
|
||||
{IF_CLAUSE, LINEBREAK},
|
||||
{IF_CLAUSE, TK_BANG},
|
||||
{IF_CLAUSE, TK_PAREN_OPEN},
|
||||
|
|
@ -938,7 +928,6 @@ static t_stackmatch g_stackmatch[] =
|
|||
{IF_CLAUSE, FUNC_NAME},
|
||||
{IF_CLAUSE, COMPLETE_COMMANDS},
|
||||
{IF_CLAUSE, SEPARATOR_OP},
|
||||
{IF_CLAUSE, AND_OR},
|
||||
{IF_CLAUSE, NEWLINE_LIST},
|
||||
{IF_CLAUSE, SEQUENCE},
|
||||
{IF_CLAUSE, TK_DO},
|
||||
|
|
@ -955,6 +944,7 @@ static t_stackmatch g_stackmatch[] =
|
|||
{IF_CLAUSE, COMPLETE_COMMAND},
|
||||
{IF_CLAUSE, COMPLETE_CONDITION},
|
||||
{IF_CLAUSE, CONDITION},
|
||||
{IF_CLAUSE, AND_OR_MAJOR},
|
||||
{BRACE_CLAUSE, LINEBREAK},
|
||||
{BRACE_CLAUSE, TK_PAREN_OPEN},
|
||||
{BRACE_CLAUSE, TK_LBRACE},
|
||||
|
|
@ -962,7 +952,6 @@ static t_stackmatch g_stackmatch[] =
|
|||
{BRACE_CLAUSE, COMPLETE_COMMANDS},
|
||||
{BRACE_CLAUSE, TK_BANG},
|
||||
{BRACE_CLAUSE, SEPARATOR_OP},
|
||||
{BRACE_CLAUSE, AND_OR},
|
||||
{BRACE_CLAUSE, NEWLINE_LIST},
|
||||
{BRACE_CLAUSE, SEQUENCE},
|
||||
{BRACE_CLAUSE, TK_DO},
|
||||
|
|
@ -979,6 +968,7 @@ static t_stackmatch g_stackmatch[] =
|
|||
{BRACE_CLAUSE, COMPLETE_COMMAND},
|
||||
{BRACE_CLAUSE, COMPLETE_CONDITION},
|
||||
{BRACE_CLAUSE, CONDITION},
|
||||
{BRACE_CLAUSE, AND_OR_MAJOR},
|
||||
{PATTERN, PATTERN_CASE},
|
||||
{PATTERN, CASE_LIST},
|
||||
{PATTERN, TK_IN},
|
||||
|
|
@ -991,7 +981,6 @@ static t_stackmatch g_stackmatch[] =
|
|||
{CASE_CLAUSE, FUNC_NAME},
|
||||
{CASE_CLAUSE, COMPLETE_COMMANDS},
|
||||
{CASE_CLAUSE, SEPARATOR_OP},
|
||||
{CASE_CLAUSE, AND_OR},
|
||||
{CASE_CLAUSE, NEWLINE_LIST},
|
||||
{CASE_CLAUSE, SEQUENCE},
|
||||
{CASE_CLAUSE, TK_PAREN_CLOSE},
|
||||
|
|
@ -1008,6 +997,7 @@ static t_stackmatch g_stackmatch[] =
|
|||
{CASE_CLAUSE, CASE_LIST_NS},
|
||||
{CASE_CLAUSE, COMPLETE_CONDITION},
|
||||
{CASE_CLAUSE, CONDITION},
|
||||
{CASE_CLAUSE, AND_OR_MAJOR},
|
||||
{WORDLIST, IN},
|
||||
{IN, LINEBREAK},
|
||||
{NAME, TK_FOR},
|
||||
|
|
@ -1019,7 +1009,6 @@ static t_stackmatch g_stackmatch[] =
|
|||
{FOR_CLAUSE, FUNC_NAME},
|
||||
{FOR_CLAUSE, COMPLETE_COMMANDS},
|
||||
{FOR_CLAUSE, SEPARATOR_OP},
|
||||
{FOR_CLAUSE, AND_OR},
|
||||
{FOR_CLAUSE, NEWLINE_LIST},
|
||||
{FOR_CLAUSE, SEQUENCE},
|
||||
{FOR_CLAUSE, TK_DO},
|
||||
|
|
@ -1035,6 +1024,7 @@ static t_stackmatch g_stackmatch[] =
|
|||
{FOR_CLAUSE, CASE_LIST_NS},
|
||||
{FOR_CLAUSE, COMPLETE_CONDITION},
|
||||
{FOR_CLAUSE, CONDITION},
|
||||
{FOR_CLAUSE, AND_OR_MAJOR},
|
||||
{COMPOUND_LIST, TK_DO},
|
||||
{COMPOUND_LIST, TK_PAREN_CLOSE},
|
||||
{COMPOUND_LIST, TK_LBRACE},
|
||||
|
|
@ -1055,13 +1045,11 @@ static t_stackmatch g_stackmatch[] =
|
|||
{SUBSHELL, COMPLETE_COMMANDS},
|
||||
{SUBSHELL, TK_BANG},
|
||||
{SUBSHELL, SEPARATOR_OP},
|
||||
{SUBSHELL, AND_OR},
|
||||
{SUBSHELL, NEWLINE_LIST},
|
||||
{SUBSHELL, SEQUENCE},
|
||||
{SUBSHELL, TK_LBRACE},
|
||||
{SUBSHELL, TK_PAREN_OPEN},
|
||||
{SUBSHELL, SEPARATOR_OP},
|
||||
{SUBSHELL, AND_OR},
|
||||
{SUBSHELL, NEWLINE_LIST},
|
||||
{SUBSHELL, TK_DO},
|
||||
{SUBSHELL, TK_PAREN_CLOSE},
|
||||
|
|
@ -1076,13 +1064,13 @@ static t_stackmatch g_stackmatch[] =
|
|||
{SUBSHELL, CASE_LIST_NS},
|
||||
{SUBSHELL, COMPLETE_CONDITION},
|
||||
{SUBSHELL, CONDITION},
|
||||
{SUBSHELL, AND_OR_MAJOR},
|
||||
{COMPOUND_COMMAND, LINEBREAK},
|
||||
{COMPOUND_COMMAND, TK_PAREN_OPEN},
|
||||
{COMPOUND_COMMAND, TK_LBRACE},
|
||||
{COMPOUND_COMMAND, COMPLETE_COMMANDS},
|
||||
{COMPOUND_COMMAND, TK_BANG},
|
||||
{COMPOUND_COMMAND, SEPARATOR_OP},
|
||||
{COMPOUND_COMMAND, AND_OR},
|
||||
{COMPOUND_COMMAND, NEWLINE_LIST},
|
||||
{COMPOUND_COMMAND, SEQUENCE},
|
||||
{COMPOUND_COMMAND, FUNC},
|
||||
|
|
@ -1099,6 +1087,7 @@ static t_stackmatch g_stackmatch[] =
|
|||
{COMPOUND_COMMAND, CASE_LIST_NS},
|
||||
{COMPOUND_COMMAND, COMPLETE_CONDITION},
|
||||
{COMPOUND_COMMAND, CONDITION},
|
||||
{COMPOUND_COMMAND, AND_OR_MAJOR},
|
||||
{COMMAND, TK_WHILE},
|
||||
{COMMAND, TK_UNTIL},
|
||||
{COMMAND, LINEBREAK},
|
||||
|
|
@ -1117,9 +1106,17 @@ static t_stackmatch g_stackmatch[] =
|
|||
{COMMAND, COMPLETE_CONDITION},
|
||||
{COMMAND, CONDITION},
|
||||
{COMMAND, SEPARATOR_OP},
|
||||
{COMMAND, AND_OR},
|
||||
{COMMAND, NEWLINE_LIST},
|
||||
{COMMAND, SEQUENCE},
|
||||
{COMMAND, AND_OR_MAJOR},
|
||||
{AND_OR_MINOR, SEQUENCE},
|
||||
{AND_OR_MINOR, LINEBREAK},
|
||||
{AND_OR_MINOR, TK_BANG},
|
||||
{AND_OR_MINOR, TK_PAREN_OPEN},
|
||||
{AND_OR_MINOR, TK_LBRACE},
|
||||
{AND_OR_MINOR, COMPLETE_COMMANDS},
|
||||
{AND_OR_MINOR, COMPOUND_LIST},
|
||||
{AND_OR_MINOR, AND_OR_MAJOR},
|
||||
{PIPE_SEQUENCE, TK_WHILE},
|
||||
{PIPE_SEQUENCE, FUNC_NAME},
|
||||
{PIPE_SEQUENCE, TK_UNTIL},
|
||||
|
|
@ -1139,8 +1136,8 @@ static t_stackmatch g_stackmatch[] =
|
|||
{PIPE_SEQUENCE, TK_LBRACE},
|
||||
{PIPE_SEQUENCE, COMPLETE_COMMANDS},
|
||||
{PIPE_SEQUENCE, SEPARATOR_OP},
|
||||
{PIPE_SEQUENCE, AND_OR},
|
||||
{PIPE_SEQUENCE, NEWLINE_LIST},
|
||||
{PIPE_SEQUENCE, AND_OR_MAJOR},
|
||||
{TK_BANG, TK_WHILE},
|
||||
{TK_BANG, TK_UNTIL},
|
||||
{TK_BANG, TK_DO},
|
||||
|
|
@ -1158,8 +1155,8 @@ static t_stackmatch g_stackmatch[] =
|
|||
{TK_BANG, TK_LBRACE},
|
||||
{TK_BANG, COMPLETE_COMMANDS},
|
||||
{TK_BANG, SEPARATOR_OP},
|
||||
{TK_BANG, AND_OR},
|
||||
{TK_BANG, NEWLINE_LIST},
|
||||
{TK_BANG, AND_OR_MAJOR},
|
||||
{PIPE_SEMI_SEQUENCE, TK_WHILE},
|
||||
{PIPE_SEMI_SEQUENCE, TK_UNTIL},
|
||||
{PIPE_SEMI_SEQUENCE, TK_DO},
|
||||
|
|
@ -1178,8 +1175,8 @@ static t_stackmatch g_stackmatch[] =
|
|||
{PIPE_SEMI_SEQUENCE, TK_LBRACE},
|
||||
{PIPE_SEMI_SEQUENCE, COMPLETE_COMMANDS},
|
||||
{PIPE_SEMI_SEQUENCE, SEPARATOR_OP},
|
||||
{PIPE_SEMI_SEQUENCE, AND_OR},
|
||||
{PIPE_SEMI_SEQUENCE, NEWLINE_LIST},
|
||||
{PIPE_SEMI_SEQUENCE, AND_OR_MAJOR},
|
||||
{PIPE_SEMI_SEQUENCE, SEQUENCE},
|
||||
{PIPE_CLOSE_SEQUENCE, TK_WHILE},
|
||||
{PIPE_CLOSE_SEQUENCE, TK_UNTIL},
|
||||
|
|
@ -1199,8 +1196,8 @@ static t_stackmatch g_stackmatch[] =
|
|||
{PIPE_CLOSE_SEQUENCE, TK_LBRACE},
|
||||
{PIPE_CLOSE_SEQUENCE, COMPLETE_COMMANDS},
|
||||
{PIPE_CLOSE_SEQUENCE, SEPARATOR_OP},
|
||||
{PIPE_CLOSE_SEQUENCE, AND_OR},
|
||||
{PIPE_CLOSE_SEQUENCE, NEWLINE_LIST},
|
||||
{PIPE_CLOSE_SEQUENCE, AND_OR_MAJOR},
|
||||
{PIPE_CLOSE_SEQUENCE, SEQUENCE},
|
||||
{SEQUENCE, PIPE_SEMI_SEQUENCE},
|
||||
{SEQUENCE, PIPE_CLOSE_SEQUENCE},
|
||||
|
|
@ -1222,8 +1219,8 @@ static t_stackmatch g_stackmatch[] =
|
|||
{SEQUENCE, COMPLETE_COMMANDS},
|
||||
{SEQUENCE, TK_BANG},
|
||||
{SEQUENCE, SEPARATOR_OP},
|
||||
{SEQUENCE, AND_OR},
|
||||
{SEQUENCE, NEWLINE_LIST},
|
||||
{SEQUENCE, AND_OR_MAJOR},
|
||||
{SEQUENCE, SEQUENCE},
|
||||
{PIPELINE, TK_WHILE},
|
||||
{PIPELINE, TK_UNTIL},
|
||||
|
|
@ -1243,27 +1240,36 @@ static t_stackmatch g_stackmatch[] =
|
|||
{PIPELINE, TK_LBRACE},
|
||||
{PIPELINE, COMPLETE_COMMANDS},
|
||||
{PIPELINE, SEPARATOR_OP},
|
||||
{PIPELINE, AND_OR},
|
||||
{PIPELINE, SEPARATOR_OP},
|
||||
{PIPELINE, NEWLINE_LIST},
|
||||
{PIPELINE, AND_OR_MAJOR},
|
||||
{AND_OR_MAJOR, LINEBREAK},
|
||||
{AND_OR_MAJOR, TK_BANG},
|
||||
{AND_OR_MAJOR, TK_PAREN_OPEN},
|
||||
{AND_OR_MAJOR, TK_LBRACE},
|
||||
{AND_OR_MAJOR, COMPOUND_LIST},
|
||||
{AND_OR_MAJOR, COMPLETE_COMMANDS},
|
||||
{AND_OR_MAJOR, AND_OR_MAJOR},
|
||||
{AND_OR_MAJOR, AND_OR_MAJOR},
|
||||
{AND_OR, TK_DO},
|
||||
{AND_OR, TK_PAREN_CLOSE},
|
||||
{AND_OR, TK_WHILE},
|
||||
{AND_OR, TK_UNTIL},
|
||||
{AND_OR, TK_IF},
|
||||
{AND_OR, TK_THEN},
|
||||
{AND_OR, TK_ELIF},
|
||||
{AND_OR, TK_THEN},
|
||||
{AND_OR, TK_ELSE},
|
||||
{AND_OR, CMD_SUPERIOR},
|
||||
{AND_OR, COMPOUND_LIST},
|
||||
{AND_OR, PIPE_SEMI_SEQUENCE},
|
||||
{AND_OR, PIPE_CLOSE_SEQUENCE},
|
||||
{AND_OR, CASE_LIST_NS},
|
||||
{AND_OR, CONDITION},
|
||||
{AND_OR, COMPLETE_CONDITION},
|
||||
{AND_OR, CONDITION},
|
||||
{AND_OR, LINEBREAK},
|
||||
{AND_OR, TK_BANG},
|
||||
{AND_OR, TK_PAREN_OPEN},
|
||||
{AND_OR, TK_LBRACE},
|
||||
{AND_OR, COMPLETE_COMMANDS},
|
||||
{AND_OR, SEPARATOR_OP},
|
||||
{AND_OR, SEPARATOR_OP},
|
||||
{AND_OR, NEWLINE_LIST},
|
||||
{LIST, LINEBREAK},
|
||||
{LIST, COMPLETE_COMMANDS},
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
/* By: ariard <ariard@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2017/02/09 17:58:34 by ariard #+# #+# */
|
||||
/* Updated: 2017/03/29 16:20:29 by ariard ### ########.fr */
|
||||
/* Updated: 2017/03/27 17:22:10 by ariard ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
|
|
@ -31,6 +31,7 @@ static t_prodmatch g_prodmatch[] =
|
|||
{TK_WORD, TK_BANG, CMD_NAME},
|
||||
{TK_WORD, TK_PIPE, CMD_NAME},
|
||||
{TK_WORD, AND_OR, CMD_NAME},
|
||||
{TK_WORD, AND_OR_MAJOR, CMD_NAME},
|
||||
{TK_WORD, TK_PAREN_CLOSE, CMD_NAME},
|
||||
{TK_WORD, TK_WHILE, CMD_NAME},
|
||||
{TK_WORD, TK_UNTIL, CMD_NAME},
|
||||
|
|
@ -74,6 +75,7 @@ static t_prodmatch g_prodmatch[] =
|
|||
{TK_ASSIGNMENT_WORD, COMPLETE_CONDITION, CMD_PREFIX},
|
||||
{TK_ASSIGNMENT_WORD, CONDITION, CMD_PREFIX},
|
||||
{TK_ASSIGNMENT_WORD, AND_OR, CMD_PREFIX},
|
||||
{TK_ASSIGNMENT_WORD, AND_OR_MAJOR, CMD_PREFIX},
|
||||
{TK_ASSIGNMENT_WORD, PIPE_SEMI_SEQUENCE, CMD_SUFFIX},
|
||||
{TK_ASSIGNMENT_WORD, SEQUENCE, CMD_PREFIX},
|
||||
{TK_ASSIGNMENT_WORD, COMPLETE_COMMANDS, CMD_PREFIX},
|
||||
|
|
@ -117,7 +119,6 @@ static t_prodmatch g_prodmatch[] =
|
|||
{TK_NEWLINE, CONDITION, NEWLINE_LIST},
|
||||
{TK_NEWLINE, FOR_WORDLIST, NEWLINE_LIST},
|
||||
{TK_NEWLINE, SEQUENTIAL_SEP, NEWLINE_LIST},
|
||||
{TK_NEWLINE, AND_OR, NEWLINE_LIST},
|
||||
{TK_NEWLINE, PROGRAM, NEWLINE_LIST},
|
||||
{TK_SEMI, CMD_SUPERIOR, SEPARATOR_OP},
|
||||
{TK_SEMI, LIST, SEPARATOR_OP},
|
||||
|
|
@ -127,10 +128,6 @@ static t_prodmatch g_prodmatch[] =
|
|||
{TK_AMP, LIST, SEPARATOR_OP},
|
||||
{TK_AMP, PIPE_SEMI_SEQUENCE, SEPARATOR_OP},
|
||||
{TK_AMP, PIPE_CLOSE_SEQUENCE, SEPARATOR_OP},
|
||||
{TK_AND_IF, ALL, AND_OR},
|
||||
{TK_OR_IF, ALL, AND_OR},
|
||||
{TK_AND_IF, COMPLETE_CONDITION, OTHER},
|
||||
{TK_OR_IF, COMPLETE_CONDITION, OTHER},
|
||||
{0, 0, 0},
|
||||
};
|
||||
|
||||
|
|
@ -146,11 +143,10 @@ int produce_sym(t_list **stack, t_sym *new_sym, t_list **lst)
|
|||
head = (*stack)->content;
|
||||
i = 0;
|
||||
*new_sym = 0;
|
||||
DG();
|
||||
while (g_prodmatch[i].new_sym)
|
||||
{
|
||||
if (token->type == g_prodmatch[i].token
|
||||
&& (*head == g_prodmatch[i].stack || g_prodmatch[i].stack == ALL))
|
||||
&& *head == g_prodmatch[i].stack)
|
||||
*new_sym = g_prodmatch[i].new_sym;
|
||||
i++;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
/* By: ariard <ariard@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2017/02/09 15:32:10 by ariard #+# #+# */
|
||||
/* Updated: 2017/03/29 14:15:17 by ariard ### ########.fr */
|
||||
/* Updated: 2017/03/29 16:43:45 by ariard ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
|
|
@ -14,6 +14,10 @@
|
|||
|
||||
char *read_state(t_sym current)
|
||||
{
|
||||
if (current == AND_OR_MINOR)
|
||||
return ("AND_OR_MINOR");
|
||||
if (current == AND_OR_MAJOR)
|
||||
return ("AND_OR_MAJOR");
|
||||
if (current == FNAME)
|
||||
return ("FNAME");
|
||||
if (current == PIPE_CLOSE_SEQUENCE)
|
||||
|
|
|
|||
Loading…
Reference in a new issue