diff --git a/parser/static/create/create_alias_sequences.c b/parser/static/create/create_alias_sequences.c index c827bc66..22b70efa 100644 --- a/parser/static/create/create_alias_sequences.c +++ b/parser/static/create/create_alias_sequences.c @@ -16,7 +16,7 @@ t_alias_sequences_array *create_alias_sequences(void) { static t_alias_sequences_array table = {}; - static bool init = false; + static bool init = false; if (!init) { diff --git a/parser/static/create/create_external_scanner_states.c b/parser/static/create/create_external_scanner_states.c index e5c3e1bd..b38e1958 100644 --- a/parser/static/create/create_external_scanner_states.c +++ b/parser/static/create/create_external_scanner_states.c @@ -16,7 +16,7 @@ t_external_scanner_states_array *create_external_scanner_states(void) { static t_external_scanner_states_array table = {}; - static bool init = false; + static bool init = false; if (!init) { diff --git a/parser/static/create/create_external_scanner_symbol_map.c b/parser/static/create/create_external_scanner_symbol_map.c index 6b7f23b3..c1a310eb 100644 --- a/parser/static/create/create_external_scanner_symbol_map.c +++ b/parser/static/create/create_external_scanner_symbol_map.c @@ -16,7 +16,7 @@ t_external_scanner_symbol_map_array *create_external_scanner_symbol_map(void) { static t_external_scanner_symbol_map_array table = {}; - static bool init = false; + static bool init = false; if (!init) { diff --git a/parser/static/create/create_field_map_entries.c b/parser/static/create/create_field_map_entries.c index cc6da7c9..461ab0a2 100644 --- a/parser/static/create/create_field_map_entries.c +++ b/parser/static/create/create_field_map_entries.c @@ -16,7 +16,7 @@ t_field_map_entries_array *create_field_map_entries(void) { static t_field_map_entries_array table = {}; - static bool init = false; + static bool init = false; if (!init) { diff --git a/parser/static/create/create_field_map_slices.c b/parser/static/create/create_field_map_slices.c index 4f041438..60026999 100644 --- a/parser/static/create/create_field_map_slices.c +++ b/parser/static/create/create_field_map_slices.c @@ -16,7 +16,7 @@ t_field_map_slices_array *create_field_map_slices(void) { static t_field_map_slices_array table = {}; - static bool init = false; + static bool init = false; if (!init) { diff --git a/parser/static/create/create_field_names.c b/parser/static/create/create_field_names.c index 1da5f1eb..e682b31a 100644 --- a/parser/static/create/create_field_names.c +++ b/parser/static/create/create_field_names.c @@ -16,7 +16,7 @@ t_field_names_array *create_field_names(void) { static t_field_names_array table = {}; - static bool init = false; + static bool init = false; if (!init) { diff --git a/parser/static/create/create_lex_keywords.c b/parser/static/create/create_lex_keywords.c index e7d295d7..b3ed8ca9 100644 --- a/parser/static/create/create_lex_keywords.c +++ b/parser/static/create/create_lex_keywords.c @@ -16,7 +16,7 @@ t_lex_keywords_array *create_lex_keywords(void) { static t_lex_keywords_array table = {}; - static bool init = false; + static bool init = false; if (!init) { diff --git a/parser/static/create/create_lex_modes.c b/parser/static/create/create_lex_modes.c index a253edd2..0fc00233 100644 --- a/parser/static/create/create_lex_modes.c +++ b/parser/static/create/create_lex_modes.c @@ -16,7 +16,7 @@ t_lex_modes_array *create_lex_modes(void) { static t_lex_modes_array table = {}; - static bool init = false; + static bool init = false; if (!init) { diff --git a/parser/static/create/create_lex_normal.c b/parser/static/create/create_lex_normal.c index cb9fd9fe..d9839159 100644 --- a/parser/static/create/create_lex_normal.c +++ b/parser/static/create/create_lex_normal.c @@ -16,7 +16,7 @@ t_lex_normal_array *create_lex_normal(void) { static t_lex_normal_array table = {}; - static bool init = false; + static bool init = false; if (!init) { diff --git a/parser/static/create/create_non_terminal_alias_map.c b/parser/static/create/create_non_terminal_alias_map.c index d5835563..ab72289c 100644 --- a/parser/static/create/create_non_terminal_alias_map.c +++ b/parser/static/create/create_non_terminal_alias_map.c @@ -16,7 +16,7 @@ t_non_terminal_alias_map_array *create_non_terminal_alias_map(void) { static t_non_terminal_alias_map_array table = {}; - static bool init = false; + static bool init = false; if (!init) { diff --git a/parser/static/create/create_parse_actions_entries.c b/parser/static/create/create_parse_actions_entries.c index eff5d0dd..1f1a556c 100644 --- a/parser/static/create/create_parse_actions_entries.c +++ b/parser/static/create/create_parse_actions_entries.c @@ -17,7 +17,7 @@ t_parse_actions_entries_array *create_parse_actions_entries(void) { static t_parse_actions_entries_array table = {}; - static bool init = false; + static bool init = false; if (!init) { diff --git a/parser/static/create/create_parse_table.c b/parser/static/create/create_parse_table.c index cfbfd8de..8ea06ab5 100644 --- a/parser/static/create/create_parse_table.c +++ b/parser/static/create/create_parse_table.c @@ -16,7 +16,7 @@ t_parse_table_array *create_parse_table(void) { static t_parse_table_array table = {}; - static bool init = false; + static bool init = false; if (!init) { diff --git a/parser/static/create/create_primary_state_ids.c b/parser/static/create/create_primary_state_ids.c index 61435f90..97ee64af 100644 --- a/parser/static/create/create_primary_state_ids.c +++ b/parser/static/create/create_primary_state_ids.c @@ -16,7 +16,7 @@ t_primary_state_ids_array *create_primary_state_ids(void) { static t_primary_state_ids_array table = {}; - static bool init = false; + static bool init = false; if (!init) { diff --git a/parser/static/create/create_small_parse_table.c b/parser/static/create/create_small_parse_table.c index c8197afd..8f3bb1ea 100644 --- a/parser/static/create/create_small_parse_table.c +++ b/parser/static/create/create_small_parse_table.c @@ -16,7 +16,7 @@ t_small_parse_table_array *create_small_parse_table(void) { static t_small_parse_table_array table = {}; - static bool init = false; + static bool init = false; if (!init) { diff --git a/parser/static/create/create_small_parse_table_map.c b/parser/static/create/create_small_parse_table_map.c index a941b1ff..bb248018 100644 --- a/parser/static/create/create_small_parse_table_map.c +++ b/parser/static/create/create_small_parse_table_map.c @@ -16,7 +16,7 @@ t_small_parse_table_map_array *create_small_parse_table_map(void) { static t_small_parse_table_map_array table = {}; - static bool init = false; + static bool init = false; if (!init) { diff --git a/parser/static/create/create_symbols_metadata.c b/parser/static/create/create_symbols_metadata.c index 928d38d6..c831d9f4 100644 --- a/parser/static/create/create_symbols_metadata.c +++ b/parser/static/create/create_symbols_metadata.c @@ -16,7 +16,7 @@ t_symbols_metadata_array *create_symbols_metadata(void) { static t_symbols_metadata_array table = {}; - static bool init = false; + static bool init = false; if (!init) { diff --git a/parser/static/create/create_symbols_names.c b/parser/static/create/create_symbols_names.c index e4387662..3ba3c355 100644 --- a/parser/static/create/create_symbols_names.c +++ b/parser/static/create/create_symbols_names.c @@ -16,7 +16,7 @@ t_symbols_names_array *create_symbols_names(void) { static t_symbols_names_array table = {}; - static bool init = false; + static bool init = false; if (!init) { diff --git a/parser/static/create/create_unique_symbols_map.c b/parser/static/create/create_unique_symbols_map.c index a3bc559e..f86418b7 100644 --- a/parser/static/create/create_unique_symbols_map.c +++ b/parser/static/create/create_unique_symbols_map.c @@ -16,7 +16,7 @@ t_unique_symbols_map_array *create_unique_symbols_map(void) { static t_unique_symbols_map_array table = {}; - static bool init = false; + static bool init = false; if (!init) { diff --git a/parser/static/headers/external_scanner_symbol_identifiers.h b/parser/static/headers/external_scanner_symbol_identifiers.h index ee2275a6..87ea8d63 100644 --- a/parser/static/headers/external_scanner_symbol_identifiers.h +++ b/parser/static/headers/external_scanner_symbol_identifiers.h @@ -13,7 +13,8 @@ #ifndef EXTERNAL_SCANNER_SYMBOL_IDENTIFIERS_H # define EXTERNAL_SCANNER_SYMBOL_IDENTIFIERS_H -enum e_external_scanner_symbol_identifiers { +enum e_external_scanner_symbol_identifiers +{ ts_external_token_heredoc_start = 0, ts_external_token_simple_heredoc_body = 1, ts_external_token__heredoc_body_beginning = 2, diff --git a/parser/static/headers/field_identifiers.h b/parser/static/headers/field_identifiers.h index 9e96841f..ceeb3be4 100644 --- a/parser/static/headers/field_identifiers.h +++ b/parser/static/headers/field_identifiers.h @@ -13,7 +13,8 @@ #ifndef FIELD_IDENTIFIERS_H # define FIELD_IDENTIFIERS_H -enum e_field_identifiers { +enum e_field_identifiers +{ field_alternative = 1, field_arg = 2, field_body = 3, diff --git a/parser/static/headers/symbols.h b/parser/static/headers/symbols.h index 3a5045e1..744f7330 100644 --- a/parser/static/headers/symbols.h +++ b/parser/static/headers/symbols.h @@ -13,7 +13,8 @@ #ifndef SYMBOLS_H # define SYMBOLS_H -enum e_symbols { +enum e_symbols +{ sym_word = 1, anon_sym_for = 2, anon_sym_in = 3, diff --git a/parser/static/lex_funcs/lex_normal/lex_normal_funcs.h b/parser/static/lex_funcs/lex_normal/lex_normal_funcs.h index ae2c0eb2..80f66b43 100644 --- a/parser/static/lex_funcs/lex_normal/lex_normal_funcs.h +++ b/parser/static/lex_funcs/lex_normal/lex_normal_funcs.h @@ -22,6 +22,10 @@ # include "./inline.h" # include "../../../parse_types.h" +bool lex_normal_s237_bis(t_lexer *lexer, t_lexer_state *s, bool *ret); +bool lex_normal_s238_bis(t_lexer *lexer, t_lexer_state *s, bool *ret); +bool lex_normal_s250_bis(t_lexer *lexer, t_lexer_state *s, bool *ret); + bool lex_normal_s0(t_lexer *lexer, t_lexer_state *s); bool lex_normal_s1(t_lexer *lexer, t_lexer_state *s); bool lex_normal_s2(t_lexer *lexer, t_lexer_state *s); diff --git a/parser/static/lex_funcs/lex_normal/state_47.c b/parser/static/lex_funcs/lex_normal/state_47.c index aed2147d..213682df 100644 --- a/parser/static/lex_funcs/lex_normal/state_47.c +++ b/parser/static/lex_funcs/lex_normal/state_47.c @@ -32,22 +32,10 @@ bool lex_normal_s236(t_lexer *lexer, t_lexer_state *s) bool lex_normal_s237(t_lexer *lexer, t_lexer_state *s) { - if (s->eof) - return (lex_advance(251, lexer, s)); - if (s->lookahead == '\n') - return (lex_advance(308, lexer, s)); - if (s->lookahead == '#') - return (lex_advance(437, lexer, s)); - if (s->lookahead == '&') - return (lex_advance(355, lexer, s)); - if (s->lookahead == ')') - return (lex_advance(273, lexer, s)); - if (s->lookahead == ';') - return (lex_advance(535, lexer, s)); - if (s->lookahead == '<') - return (lex_advance(288, lexer, s)); - if (s->lookahead == '>') - return (lex_advance(291, lexer, s)); + bool ret; + + if (lex_normal_s237_bis(lexer, s, &ret)) + return (ret); if (s->lookahead == '\\') return (lex_skip(246, lexer, s)); if (s->lookahead == '`') @@ -64,22 +52,10 @@ bool lex_normal_s237(t_lexer *lexer, t_lexer_state *s) bool lex_normal_s238(t_lexer *lexer, t_lexer_state *s) { - if (s->eof) - return (lex_advance(251, lexer, s)); - if (s->lookahead == '\n') - return (lex_advance(308, lexer, s)); - if (s->lookahead == '#') - return (lex_advance(437, lexer, s)); - if (s->lookahead == '&') - return (lex_advance(355, lexer, s)); - if (s->lookahead == ')') - return (lex_advance(273, lexer, s)); - if (s->lookahead == ';') - return (lex_advance(535, lexer, s)); - if (s->lookahead == '<') - return (lex_advance(288, lexer, s)); - if (s->lookahead == '>') - return (lex_advance(291, lexer, s)); + bool ret; + + if (lex_normal_s238_bis(lexer, s, &ret)) + return (ret); if (s->lookahead == '\\') return (lex_skip(247, lexer, s)); if (s->lookahead == '`') diff --git a/parser/static/lex_funcs/lex_normal/state_50.c b/parser/static/lex_funcs/lex_normal/state_50.c index 1656b207..7d2aa042 100644 --- a/parser/static/lex_funcs/lex_normal/state_50.c +++ b/parser/static/lex_funcs/lex_normal/state_50.c @@ -14,22 +14,10 @@ bool lex_normal_s250(t_lexer *lexer, t_lexer_state *s) { - if (s->eof) - return (lex_advance(251, lexer, s)); - if (lex_normal_map250(lexer, s)) - return (true); - if (s->lookahead == '\\') - return (lex_skip(245, lexer, s)); - if (s->lookahead == '^') - return (lex_advance(351, lexer, s)); - if (s->lookahead == '`') - return (lex_advance(432, lexer, s)); - if (s->lookahead == 'd') - return (lex_advance(231, lexer, s)); - if (s->lookahead == 'e') - return (lex_advance(229, lexer, s)); - if (s->lookahead == 'f') - return (lex_advance(227, lexer, s)); + bool ret; + + if (lex_normal_s250_bis(lexer, s, &ret)) + return (ret); if (s->lookahead == 'i') return (lex_advance(230, lexer, s)); if (s->lookahead == '|') diff --git a/parser/static/lex_funcs/lex_normal/state_additional.c b/parser/static/lex_funcs/lex_normal/state_additional.c new file mode 100644 index 00000000..0ebc1529 --- /dev/null +++ b/parser/static/lex_funcs/lex_normal/state_additional.c @@ -0,0 +1,76 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* state_additional.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maiboyer +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2024/04/14 19:17:54 by maiboyer #+# #+# */ +/* Updated: 2024/04/14 19:18:20 by maiboyer ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "./lex_normal_funcs.h" + +bool lex_normal_s237_bis(t_lexer *lexer, t_lexer_state *s, bool *ret) +{ + if (s->eof) + return (*ret = lex_advance(251, lexer, s), true); + if (s->lookahead == '\n') + return (*ret = lex_advance(308, lexer, s), true); + if (s->lookahead == '#') + return (*ret = lex_advance(437, lexer, s), true); + if (s->lookahead == '&') + return (*ret = lex_advance(355, lexer, s), true); + if (s->lookahead == ')') + return (*ret = lex_advance(273, lexer, s), true); + if (s->lookahead == ';') + return (*ret = lex_advance(535, lexer, s), true); + if (s->lookahead == '<') + return (*ret = lex_advance(288, lexer, s), true); + if (s->lookahead == '>') + return (*ret = lex_advance(291, lexer, s), true); + return (false); +} + +bool lex_normal_s238_bis(t_lexer *lexer, t_lexer_state *s, bool *ret) +{ + if (s->eof) + return (*ret = lex_advance(251, lexer, s), true); + if (s->lookahead == '\n') + return (*ret = lex_advance(308, lexer, s), true); + if (s->lookahead == '#') + return (*ret = lex_advance(437, lexer, s), true); + if (s->lookahead == '&') + return (*ret = lex_advance(355, lexer, s), true); + if (s->lookahead == ')') + return (*ret = lex_advance(273, lexer, s), true); + if (s->lookahead == ';') + return (*ret = lex_advance(535, lexer, s), true); + if (s->lookahead == '<') + return (*ret = lex_advance(288, lexer, s), true); + if (s->lookahead == '>') + return (*ret = lex_advance(291, lexer, s), true); + return (false); +} + +bool lex_normal_s250_bis(t_lexer *lexer, t_lexer_state *s, bool *ret) +{ + if (s->eof) + return (*ret = lex_advance(251, lexer, s), true); + if (lex_normal_map250(lexer, s)) + return (*ret = true, true); + if (s->lookahead == '\\') + return (*ret = lex_skip(245, lexer, s), true); + if (s->lookahead == '^') + return (*ret = lex_advance(351, lexer, s), true); + if (s->lookahead == '`') + return (*ret = lex_advance(432, lexer, s), true); + if (s->lookahead == 'd') + return (*ret = lex_advance(231, lexer, s), true); + if (s->lookahead == 'e') + return (*ret = lex_advance(229, lexer, s), true); + if (s->lookahead == 'f') + return (*ret = lex_advance(227, lexer, s), true); + return (false); +}