Updated syntax with a simpler one

This commit is contained in:
Maieul BOYER 2024-06-06 19:43:58 +02:00
parent 38fa2d2e84
commit aeb576024f
No known key found for this signature in database
4465 changed files with 195554 additions and 526060 deletions

View file

@ -6,7 +6,7 @@
/* By: maiboyer <maiboyer@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/04/14 19:17:54 by maiboyer #+# #+# */
/* Updated: 2024/05/02 14:39:56 by maiboyer ### ########.fr */
/* Updated: 2024/04/14 19:18:20 by maiboyer ### ########.fr */
/* */
/* ************************************************************************** */
@ -14,14 +14,14 @@
# define CONSTANTS_H
# define LANGUAGE_VERSION 14
# define STATE_COUNT 7671
# define LARGE_STATE_COUNT 528
# define SYMBOL_COUNT 280
# define STATE_COUNT 4087
# define LARGE_STATE_COUNT 257
# define SYMBOL_COUNT 212
# define ALIAS_COUNT 0
# define TOKEN_COUNT 175
# define EXTERNAL_TOKEN_COUNT 29
# define FIELD_COUNT 19
# define TOKEN_COUNT 138
# define EXTERNAL_TOKEN_COUNT 26
# define FIELD_COUNT 16
# define MAX_ALIAS_SEQUENCE_LENGTH 8
# define PRODUCTION_ID_COUNT 159
# define PRODUCTION_ID_COUNT 93
#endif
#endif // CONSTANTS_H

View file

@ -6,7 +6,7 @@
/* By: maiboyer <maiboyer@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/04/14 19:17:54 by maiboyer #+# #+# */
/* Updated: 2024/05/02 14:40:04 by maiboyer ### ########.fr */
/* Updated: 2024/04/14 19:18:20 by maiboyer ### ########.fr */
/* */
/* ************************************************************************** */
@ -32,17 +32,14 @@ enum e_external_scanner_symbol_identifiers {
ts_external_token__bare_dollar = 15,
ts_external_token__brace_start = 16,
ts_external_token__immediate_double_hash = 17,
ts_external_token__external_expansion_sym_hash = 18,
ts_external_token__external_expansion_sym_bang = 19,
ts_external_token__external_expansion_sym_equal = 20,
ts_external_token_RBRACE = 21,
ts_external_token_RBRACK = 22,
ts_external_token_LT_LT = 23,
ts_external_token_LT_LT_DASH = 24,
ts_external_token_heredoc_redirect_token1 = 25,
ts_external_token_LPAREN = 26,
ts_external_token_esac = 27,
ts_external_token___error_recovery = 28,
ts_external_token_RBRACE = 18,
ts_external_token_RBRACK = 19,
ts_external_token_LT_LT = 20,
ts_external_token_LT_LT_DASH = 21,
ts_external_token_heredoc_redirect_token1 = 22,
ts_external_token_LPAREN = 23,
ts_external_token_esac = 24,
ts_external_token___error_recovery = 25,
};
#endif
#endif // EXTERNAL_SCANNER_SYMBOL_IDENTIFIERS_H

View file

@ -6,7 +6,7 @@
/* By: maiboyer <maiboyer@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/04/14 19:17:54 by maiboyer #+# #+# */
/* Updated: 2024/05/02 14:40:12 by maiboyer ### ########.fr */
/* Updated: 2024/04/14 19:18:20 by maiboyer ### ########.fr */
/* */
/* ************************************************************************** */
@ -22,17 +22,14 @@ enum e_field_identifiers {
field_descriptor = 6,
field_destination = 7,
field_fallthrough = 8,
field_index = 9,
field_initializer = 10,
field_left = 11,
field_name = 12,
field_operator = 13,
field_redirect = 14,
field_right = 15,
field_termination = 16,
field_update = 17,
field_value = 18,
field_variable = 19,
field_left = 9,
field_name = 10,
field_operator = 11,
field_redirect = 12,
field_right = 13,
field_termination = 14,
field_value = 15,
field_variable = 16,
};
#endif
#endif // FIELD_IDENTIFIERS_H

View file

@ -6,7 +6,7 @@
/* By: maiboyer <maiboyer@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/04/14 19:17:54 by maiboyer #+# #+# */
/* Updated: 2024/05/02 14:40:22 by maiboyer ### ########.fr */
/* Updated: 2024/04/14 19:18:20 by maiboyer ### ########.fr */
/* */
/* ************************************************************************** */
@ -18,281 +18,213 @@ enum e_symbols {
anon_sym_for = 2,
anon_sym_select = 3,
anon_sym_in = 4,
anon_sym_LPAREN_LPAREN = 5,
anon_sym_RPAREN_RPAREN = 6,
anon_sym_SEMI = 7,
anon_sym_COMMA = 8,
anon_sym_EQ = 9,
anon_sym_PLUS_PLUS = 10,
anon_sym_DASH_DASH = 11,
anon_sym_PLUS_EQ = 12,
anon_sym_DASH_EQ = 13,
anon_sym_STAR_EQ = 14,
anon_sym_SLASH_EQ = 15,
anon_sym_PERCENT_EQ = 16,
anon_sym_STAR_STAR_EQ = 17,
anon_sym_LT_LT_EQ = 18,
anon_sym_GT_GT_EQ = 19,
anon_sym_AMP_EQ = 20,
anon_sym_CARET_EQ = 21,
anon_sym_PIPE_EQ = 22,
anon_sym_PIPE_PIPE = 23,
anon_sym_DASHo = 24,
anon_sym_AMP_AMP = 25,
anon_sym_DASHa = 26,
anon_sym_PIPE = 27,
anon_sym_CARET = 28,
anon_sym_AMP = 29,
anon_sym_EQ_EQ = 30,
anon_sym_BANG_EQ = 31,
anon_sym_LT = 32,
anon_sym_GT = 33,
anon_sym_LT_EQ = 34,
anon_sym_GT_EQ = 35,
anon_sym_LT_LT = 36,
anon_sym_GT_GT = 37,
anon_sym_PLUS = 38,
anon_sym_DASH = 39,
anon_sym_STAR = 40,
anon_sym_SLASH = 41,
anon_sym_PERCENT = 42,
anon_sym_STAR_STAR = 43,
anon_sym_LPAREN = 44,
anon_sym_RPAREN = 45,
aux_sym__c_word_token1 = 46,
anon_sym_while = 47,
anon_sym_until = 48,
anon_sym_do = 49,
anon_sym_done = 50,
anon_sym_if = 51,
anon_sym_then = 52,
anon_sym_fi = 53,
anon_sym_elif = 54,
anon_sym_else = 55,
anon_sym_case = 56,
anon_sym_esac = 57,
anon_sym_SEMI_SEMI = 58,
anon_sym_SEMI_AMP = 59,
anon_sym_SEMI_SEMI_AMP = 60,
anon_sym_function = 61,
anon_sym_LBRACE = 62,
anon_sym_RBRACE = 63,
anon_sym_PIPE_AMP = 64,
anon_sym_BANG = 65,
anon_sym_LBRACK = 66,
anon_sym_RBRACK = 67,
anon_sym_LBRACK_LBRACK = 68,
anon_sym_RBRACK_RBRACK = 69,
anon_sym_declare = 70,
anon_sym_typeset = 71,
anon_sym_export = 72,
anon_sym_readonly = 73,
anon_sym_local = 74,
anon_sym_unset = 75,
anon_sym_unsetenv = 76,
anon_sym_EQ_TILDE = 77,
anon_sym_AMP_GT = 78,
anon_sym_AMP_GT_GT = 79,
anon_sym_LT_AMP = 80,
anon_sym_GT_AMP = 81,
anon_sym_GT_PIPE = 82,
anon_sym_LT_AMP_DASH = 83,
anon_sym_GT_AMP_DASH = 84,
anon_sym_LT_LT_DASH = 85,
aux_sym_heredoc_redirect_token1 = 86,
anon_sym_LT_LT_LT = 87,
anon_sym_QMARK = 88,
anon_sym_COLON = 89,
anon_sym_PLUS_PLUS2 = 90,
anon_sym_DASH_DASH2 = 91,
anon_sym_DASH2 = 92,
anon_sym_PLUS2 = 93,
anon_sym_TILDE = 94,
anon_sym_DOLLAR_LPAREN_LPAREN = 95,
anon_sym_DOLLAR_LBRACK = 96,
aux_sym_brace_expression_token1 = 97,
anon_sym_DOT_DOT = 98,
anon_sym_RBRACE2 = 99,
aux_sym_concatenation_token1 = 100,
anon_sym_DOLLAR = 101,
sym__special_character = 102,
anon_sym_DQUOTE = 103,
sym_string_content = 104,
sym_raw_string = 105,
sym_ansi_c_string = 106,
aux_sym_number_token1 = 107,
aux_sym_number_token2 = 108,
anon_sym_POUND = 109,
anon_sym_DOLLAR_LBRACE = 110,
anon_sym_RBRACE3 = 111,
anon_sym_BANG2 = 112,
anon_sym_AT = 113,
anon_sym_STAR2 = 114,
anon_sym_POUND2 = 115,
anon_sym_EQ2 = 116,
anon_sym_COLON_EQ = 117,
anon_sym_DASH3 = 118,
anon_sym_COLON_DASH = 119,
anon_sym_PLUS3 = 120,
anon_sym_COLON_PLUS = 121,
anon_sym_QMARK2 = 122,
anon_sym_COLON_QMARK = 123,
anon_sym_PERCENT_PERCENT = 124,
aux_sym__expansion_regex_token1 = 125,
anon_sym_SLASH_SLASH = 126,
anon_sym_SLASH_POUND = 127,
anon_sym_SLASH_PERCENT = 128,
anon_sym_COMMA_COMMA = 129,
anon_sym_CARET_CARET = 130,
anon_sym_U = 131,
anon_sym_u = 132,
anon_sym_L = 133,
anon_sym_Q = 134,
anon_sym_E = 135,
anon_sym_P = 136,
anon_sym_A = 137,
anon_sym_K = 138,
anon_sym_a = 139,
anon_sym_k = 140,
anon_sym_DOLLAR_LPAREN = 141,
anon_sym_BQUOTE = 142,
anon_sym_DOLLAR_BQUOTE = 143,
anon_sym_LT_LPAREN = 144,
anon_sym_GT_LPAREN = 145,
sym_comment = 146,
sym__comment_word = 147,
aux_sym__simple_variable_name_token1 = 148,
aux_sym__multiline_variable_name_token1 = 149,
anon_sym_AT2 = 150,
anon_sym_0 = 151,
anon_sym__ = 152,
sym_heredoc_start = 153,
sym_simple_heredoc_body = 154,
sym__heredoc_body_beginning = 155,
sym_heredoc_content = 156,
sym_heredoc_end = 157,
sym_file_descriptor = 158,
sym__empty_value = 159,
sym__concat = 160,
sym_variable_name = 161,
sym_test_operator = 162,
sym_regex = 163,
sym__regex_no_slash = 164,
sym__regex_no_space = 165,
sym__expansion_word = 166,
sym_extglob_pattern = 167,
sym__bare_dollar = 168,
sym__brace_start = 169,
sym__immediate_double_hash = 170,
sym__external_expansion_sym_hash = 171,
sym__external_expansion_sym_bang = 172,
sym__external_expansion_sym_equal = 173,
sym___error_recovery = 174,
sym_program = 175,
sym__statements = 176,
aux_sym__terminated_statement = 177,
sym__statement_not_pipeline = 178,
sym_redirected_statement = 179,
sym_for_statement = 180,
sym_c_style_for_statement = 181,
sym__for_body = 182,
sym__c_expression = 183,
sym__c_expression_not_assignment = 184,
sym__c_variable_assignment = 185,
sym__c_unary_expression = 186,
sym__c_binary_expression = 187,
sym__c_postfix_expression = 188,
sym__c_parenthesized_expression = 189,
sym_while_statement = 190,
sym_do_group = 191,
sym_if_statement = 192,
sym_elif_clause = 193,
sym_else_clause = 194,
sym_case_statement = 195,
sym_case_item = 196,
sym_last_case_item = 197,
sym_function_definition = 198,
sym_compound_statement = 199,
sym_subshell = 200,
sym_pipeline = 201,
sym_list = 202,
sym_negated_command = 203,
sym_test_command = 204,
sym__test_command_binary_expression = 205,
sym_declaration_command = 206,
sym_unset_command = 207,
sym_command = 208,
sym_command_name = 209,
sym_variable_assignment = 210,
sym_variable_assignments = 211,
sym_subscript = 212,
sym_file_redirect = 213,
sym_heredoc_redirect = 214,
sym__heredoc_pipeline = 215,
sym__heredoc_expression = 216,
aux_sym__heredoc_command = 217,
sym__heredoc_body = 218,
sym_heredoc_body = 219,
sym__simple_heredoc_body = 220,
sym_herestring_redirect = 221,
sym__expression = 222,
sym_binary_expression = 223,
sym_ternary_expression = 224,
sym_unary_expression = 225,
sym_postfix_expression = 226,
sym_parenthesized_expression = 227,
sym_arithmetic_expansion = 228,
sym_brace_expression = 229,
sym__arithmetic_expression = 230,
sym__arithmetic_literal = 231,
sym__arithmetic_binary_expression = 232,
sym__arithmetic_ternary_expression = 233,
sym__arithmetic_unary_expression = 234,
sym__arithmetic_postfix_expression = 235,
sym__arithmetic_parenthesized_expression = 236,
sym_concatenation = 237,
sym_string = 238,
sym_translated_string = 239,
sym_array = 240,
sym_number = 241,
sym_simple_expansion = 242,
sym_expansion = 243,
sym__expansion_body = 244,
sym__expansion_expression = 245,
sym__expansion_regex = 246,
sym__expansion_regex_replacement = 247,
sym__expansion_regex_removal = 248,
sym__expansion_max_length = 249,
sym__expansion_max_length_expression = 250,
sym__expansion_max_length_binary_expression = 251,
sym__expansion_operator = 252,
sym__concatenation_in_expansion = 253,
sym_command_substitution = 254,
sym_process_substitution = 255,
sym__extglob_blob = 256,
sym__c_terminator = 257,
aux_sym__statements_repeat1 = 258,
aux_sym_redirected_statement_repeat1 = 259,
aux_sym_redirected_statement_repeat2 = 260,
aux_sym_for_statement_repeat1 = 261,
aux_sym__for_body_repeat1 = 262,
aux_sym_if_statement_repeat1 = 263,
aux_sym_case_statement_repeat1 = 264,
aux_sym_case_item_repeat1 = 265,
aux_sym_pipeline_repeat1 = 266,
aux_sym_declaration_command_repeat1 = 267,
aux_sym_unset_command_repeat1 = 268,
aux_sym_command_repeat1 = 269,
aux_sym_command_repeat2 = 270,
aux_sym_variable_assignments_repeat1 = 271,
aux_sym_heredoc_body_repeat1 = 272,
aux_sym__literal_repeat1 = 273,
aux_sym_arithmetic_expansion_repeat1 = 274,
aux_sym_concatenation_repeat1 = 275,
aux_sym_string_repeat1 = 276,
aux_sym__expansion_body_repeat1 = 277,
aux_sym__expansion_regex_repeat1 = 278,
aux_sym__concatenation_in_expansion_repeat1 = 279,
anon_sym_while = 5,
anon_sym_until = 6,
anon_sym_do = 7,
anon_sym_done = 8,
anon_sym_if = 9,
anon_sym_then = 10,
anon_sym_fi = 11,
anon_sym_elif = 12,
anon_sym_else = 13,
anon_sym_case = 14,
anon_sym_esac = 15,
anon_sym_LPAREN = 16,
anon_sym_PIPE = 17,
anon_sym_RPAREN = 18,
anon_sym_SEMI_SEMI = 19,
anon_sym_SEMI_AMP = 20,
anon_sym_SEMI_SEMI_AMP = 21,
anon_sym_function = 22,
anon_sym_LBRACE = 23,
anon_sym_RBRACE = 24,
anon_sym_PIPE_AMP = 25,
anon_sym_AMP_AMP = 26,
anon_sym_PIPE_PIPE = 27,
anon_sym_BANG = 28,
anon_sym_declare = 29,
anon_sym_typeset = 30,
anon_sym_export = 31,
anon_sym_readonly = 32,
anon_sym_local = 33,
anon_sym_unset = 34,
anon_sym_unsetenv = 35,
anon_sym_EQ = 36,
anon_sym_LT = 37,
anon_sym_GT = 38,
anon_sym_GT_GT = 39,
anon_sym_AMP_GT = 40,
anon_sym_AMP_GT_GT = 41,
anon_sym_LT_AMP = 42,
anon_sym_GT_AMP = 43,
anon_sym_GT_PIPE = 44,
anon_sym_LT_AMP_DASH = 45,
anon_sym_GT_AMP_DASH = 46,
anon_sym_LT_LT = 47,
anon_sym_LT_LT_DASH = 48,
aux_sym_heredoc_redirect_token1 = 49,
anon_sym_DOLLAR_LPAREN_LPAREN = 50,
anon_sym_COMMA = 51,
anon_sym_RPAREN_RPAREN = 52,
aux_sym_brace_expression_token1 = 53,
anon_sym_DOT_DOT = 54,
anon_sym_RBRACE2 = 55,
anon_sym_PLUS_EQ = 56,
anon_sym_DASH_EQ = 57,
anon_sym_STAR_EQ = 58,
anon_sym_SLASH_EQ = 59,
anon_sym_PERCENT_EQ = 60,
anon_sym_LT_LT_EQ = 61,
anon_sym_GT_GT_EQ = 62,
anon_sym_AMP_EQ = 63,
anon_sym_CARET_EQ = 64,
anon_sym_PIPE_EQ = 65,
anon_sym_CARET = 66,
anon_sym_AMP = 67,
anon_sym_EQ_EQ = 68,
anon_sym_BANG_EQ = 69,
anon_sym_LT_EQ = 70,
anon_sym_GT_EQ = 71,
anon_sym_PLUS = 72,
anon_sym_DASH = 73,
anon_sym_STAR = 74,
anon_sym_SLASH = 75,
anon_sym_PERCENT = 76,
anon_sym_QMARK = 77,
anon_sym_COLON = 78,
anon_sym_PLUS_PLUS = 79,
anon_sym_DASH_DASH = 80,
anon_sym_DASH2 = 81,
anon_sym_PLUS2 = 82,
anon_sym_TILDE = 83,
anon_sym_PLUS_PLUS2 = 84,
anon_sym_DASH_DASH2 = 85,
aux_sym_concatenation_token1 = 86,
anon_sym_DOLLAR = 87,
sym__special_character = 88,
anon_sym_DQUOTE = 89,
sym_string_content = 90,
sym_raw_string = 91,
aux_sym_number_token1 = 92,
aux_sym_number_token2 = 93,
anon_sym_POUND = 94,
anon_sym_DOLLAR_LBRACE = 95,
anon_sym_RBRACE3 = 96,
anon_sym_COLON_DASH = 97,
anon_sym_DASH3 = 98,
anon_sym_COLON_EQ = 99,
anon_sym_EQ2 = 100,
anon_sym_COLON_QMARK = 101,
anon_sym_QMARK2 = 102,
anon_sym_COLON_PLUS = 103,
anon_sym_PLUS3 = 104,
anon_sym_PERCENT_PERCENT = 105,
aux_sym__expansion_regex_token1 = 106,
anon_sym_DOLLAR_LPAREN = 107,
anon_sym_BQUOTE = 108,
anon_sym_DOLLAR_BQUOTE = 109,
sym_comment = 110,
sym__comment_word = 111,
aux_sym__simple_variable_name_token1 = 112,
aux_sym__multiline_variable_name_token1 = 113,
anon_sym_AT = 114,
anon_sym_0 = 115,
anon_sym__ = 116,
anon_sym_SEMI = 117,
anon_sym_RBRACK = 118,
sym_heredoc_start = 119,
sym_simple_heredoc_body = 120,
sym__heredoc_body_beginning = 121,
sym_heredoc_content = 122,
sym_heredoc_end = 123,
sym_file_descriptor = 124,
sym__empty_value = 125,
sym__concat = 126,
sym_variable_name = 127,
sym_test_operator = 128,
sym_regex = 129,
sym__regex_no_slash = 130,
sym__regex_no_space = 131,
sym__expansion_word = 132,
sym_extglob_pattern = 133,
sym__bare_dollar = 134,
sym__brace_start = 135,
sym__immediate_double_hash = 136,
sym___error_recovery = 137,
sym_program = 138,
sym__statements = 139,
aux_sym__terminated_statement = 140,
sym__statement_not_pipeline = 141,
sym_redirected_statement = 142,
sym_for_statement = 143,
sym_while_statement = 144,
sym_do_group = 145,
sym_if_statement = 146,
sym_elif_clause = 147,
sym_else_clause = 148,
sym_case_statement = 149,
sym_case_item = 150,
sym_last_case_item = 151,
sym_function_definition = 152,
sym_compound_statement = 153,
sym_subshell = 154,
sym_pipeline = 155,
sym_list = 156,
sym_negated_command = 157,
sym_declaration_command = 158,
sym_unset_command = 159,
sym_command = 160,
sym_command_name = 161,
sym_variable_assignment = 162,
sym_variable_assignments = 163,
sym_file_redirect = 164,
sym_heredoc_redirect = 165,
sym__heredoc_pipeline = 166,
sym__heredoc_expression = 167,
aux_sym__heredoc_command = 168,
sym__heredoc_body = 169,
sym_heredoc_body = 170,
sym__simple_heredoc_body = 171,
sym_arithmetic_expansion = 172,
sym_brace_expression = 173,
sym__arithmetic_expression = 174,
sym__arithmetic_literal = 175,
sym__arithmetic_binary_expression = 176,
sym__arithmetic_ternary_expression = 177,
sym__arithmetic_unary_expression = 178,
sym__arithmetic_postfix_expression = 179,
sym__arithmetic_parenthesized_expression = 180,
sym_concatenation = 181,
sym_string = 182,
sym_number = 183,
sym_simple_expansion = 184,
sym_expansion = 185,
sym__expansion_body = 186,
sym__expansion_expression = 187,
sym__expansion_regex = 188,
sym__concatenation_in_expansion = 189,
sym_command_substitution = 190,
sym__extglob_blob = 191,
aux_sym__statements_repeat1 = 192,
aux_sym_redirected_statement_repeat1 = 193,
aux_sym_redirected_statement_repeat2 = 194,
aux_sym_for_statement_repeat1 = 195,
aux_sym_if_statement_repeat1 = 196,
aux_sym_case_statement_repeat1 = 197,
aux_sym_case_item_repeat1 = 198,
aux_sym_pipeline_repeat1 = 199,
aux_sym_declaration_command_repeat1 = 200,
aux_sym_unset_command_repeat1 = 201,
aux_sym_command_repeat1 = 202,
aux_sym_command_repeat2 = 203,
aux_sym_variable_assignments_repeat1 = 204,
aux_sym_heredoc_body_repeat1 = 205,
aux_sym__literal_repeat1 = 206,
aux_sym_arithmetic_expansion_repeat1 = 207,
aux_sym_concatenation_repeat1 = 208,
aux_sym_string_repeat1 = 209,
aux_sym__expansion_regex_repeat1 = 210,
aux_sym__concatenation_in_expansion_repeat1 = 211,
};
#endif
#endif // SYMBOLS_H