#ifndef LEXICAL_ANALYSIS_H_SENTRY #define LEXICAL_ANALYSIS_H_SENTRY #include "shell.h" #include "readline.h" int is_double_quotes_pair(struct param_type params); int escape_double_quotes_or_backslash(int ch, struct param_type params); int double_quotes_again(int ch, struct param_type params); int check_separation(int ch, struct param_type params); int ignore_spaces(int ch, struct param_type params); int change_mode(int ch, struct param_type params); int start_escape_sequence(int ch, struct param_type params); int is_empty_word(int ch, struct param_type params); int command_execution_condition(struct param_type *params, struct readline_type *readline); int is_special_token(int ch, int next_ch); int is_redirect_token(int ch, int next_ch); int excessive_words(int ch, struct param_type *params, struct readline_type *readline); void add_word_or_filename(struct w_queue *word_chain, struct dynamic_array *tmp_word, struct param_type *params); int validate_redirections(int ch, int next_ch, struct param_type *params); int stream_redirect_tokens(struct w_queue *word_chain, struct dynamic_array *tmp_word, int ch, struct param_type *params, struct readline_type *readline); int double_quotes_again(int ch, struct param_type params); int pipeline_token_processing(struct w_queue *word_chain, struct c_queue *cmdlines, struct dynamic_array *tmp_word, struct param_type *params); int special_tokens(struct w_queue *word_chain, struct c_queue *cmdlines, struct dynamic_array *tmp_word, int *ch, struct param_type *params, struct readline_type *readline); #endif