meta-language 1.0.0

A self-describing links-network core for lossless language representation
Documentation
(grammar (start makefile) (matching longest) (settling tokens precedence dynamic ambiguity))
(extra (class plain (char %20) (char %09) (char %0A) (char %0D) (char %0C) (char %0B)))
(extra (alias %27%5C (seq (literal %5C) (choice unordered (seq (optional (literal %0D)) (literal %0A)) (literal %0D)))))
(extra (ref comment))
(rule makefile normal (repeat0 (ref thing)) (concept grammar.makefile))
(rule thing silent (choice unordered (ref rule) (ref variable_definition) (ref directive) (seq (ref function) (alias unnamed_token (immediateToken (repeat1 (class plain (char %0D) (char %0A))))))) (concept grammar.thing) (source-names (tree-sitter _thing)))
(rule rule normal (choice unordered (ref ordinary_rule) (ref static_pattern_rule)) (concept grammar.build-rule))
(rule ordinary_rule silent (precedence 0 right (seq (ref targets_alias) (choice unordered (literal %3A) (literal %26%3A) (literal %3A%3A)) (optional (alias unnamed_token (immediateToken (repeat1 (class plain (char %09) (char %20)))))) (optional (ref prerequisites_choice)) (choice unordered (ref recipe) (alias unnamed_token (immediateToken (repeat1 (class plain (char %0D) (char %0A)))))))) (concept grammar.ordinary-rule) (source-names (tree-sitter _ordinary_rule)))
(rule static_pattern_rule silent (precedence 0 right (seq (ref targets_alias) (literal %3A) (optional (alias unnamed_token (immediateToken (repeat1 (class plain (char %09) (char %20)))))) (ref target_pattern) (literal %3A) (optional (alias unnamed_token (immediateToken (repeat1 (class plain (char %09) (char %20)))))) (optional (ref prerequisites_pattern)) (choice unordered (ref recipe) (alias unnamed_token (immediateToken (repeat1 (class plain (char %0D) (char %0A)))))))) (concept grammar.static-pattern-rule) (source-names (tree-sitter _static_pattern_rule)))
(rule targets_alias silent (alias targets (ref list)) (concept grammar.targets-alias) (source-names (tree-sitter _targets)))
(rule target_pattern silent (capture labeled target (alias pattern_list (ref list))) (concept grammar.static-target-pattern) (source-names (tree-sitter _target_pattern)))
(rule prerequisites_choice silent (choice unordered (ref normal_prerequisites) (seq (optional (ref normal_prerequisites)) (literal %7C) (ref order_only_prerequisites))) (concept grammar.prerequisites-choice) (source-names (tree-sitter _prerequisites)))
(rule normal_prerequisites silent (capture labeled normal (alias prerequisites (ref list))) (concept grammar.normal-prerequisites) (source-names (tree-sitter _normal_prerequisites)))
(rule order_only_prerequisites silent (capture labeled order_only (alias prerequisites (ref list))) (concept grammar.order-only-prerequisites) (source-names (tree-sitter _order_only_prerequisites)))
(rule prerequisites_pattern silent (capture labeled prerequisite (alias pattern_list (ref list))) (concept grammar.prerequisites-pattern) (source-names (tree-sitter _prerequisites_pattern)))
(rule recipe normal (precedence 0 right (choice unordered (seq (ref attached_recipe_line) (alias unnamed_token (immediateToken (repeat1 (class plain (char %0D) (char %0A))))) (repeat0 (choice unordered (ref conditional) (ref prefixed_recipe_line)))) (seq (alias unnamed_token (immediateToken (repeat1 (class plain (char %0D) (char %0A))))) (repeat1 (choice unordered (ref conditional) (ref prefixed_recipe_line)))))) (concept grammar.recipe))
(rule attached_recipe_line silent (seq (literal %3B) (optional (ref recipe_line))) (concept grammar.attached-recipe-line) (source-names (tree-sitter _attached_recipe_line)))
(rule prefixed_recipe_line silent (seq (ref recipe_prefix) (optional (ref recipe_line)) (alias unnamed_token (immediateToken (repeat1 (class plain (char %0D) (char %0A)))))) (concept grammar.prefixed-recipe-line) (source-names (tree-sitter _prefixed_recipe_line)))
(rule recipe_line normal (seq (optional (choice unordered (token (lexicalPrecedence 1 (literal %40))) (token (lexicalPrecedence 1 (literal -))) (token (lexicalPrecedence 1 (literal %2B))))) (optional (seq (alias shell_text (ref shell_text_with_split)) (repeat0 (seq (optional (ref recipe_prefix)) (alias shell_text (ref shell_text_with_split)))) (optional (ref recipe_prefix)))) (alias shell_text (ref shell_text_without_split))) (concept grammar.recipe-line))
(rule variable_definition silent (choice unordered (ref search_path_assignment) (ref recipe_prefix_assignment) (ref variable_assignment) (ref shell_assignment) (ref define_directive)) (concept grammar.variable-definition) (source-names (tree-sitter _variable_definition)))
(rule search_path_assignment normal (seq (capture labeled name (token (seq (literal VPATH) (not (ref word_characters))))) (optional (alias unnamed_token (immediateToken (repeat1 (class plain (char %09) (char %20)))))) (capture labeled operator (choice unordered (literal %3D) (literal %3A%3D) (literal %3A%3A%3D) (literal %3F%3D) (literal %2B%3D))) (capture labeled value (ref paths)) (alias unnamed_token (immediateToken (repeat1 (class plain (char %0D) (char %0A)))))) (concept grammar.search-path-assignment) (source-names (tree-sitter VPATH_assignment)))
(rule recipe_prefix_assignment normal (seq (capture labeled name (literal .RECIPEPREFIX)) (optional (alias unnamed_token (immediateToken (repeat1 (class plain (char %09) (char %20)))))) (capture labeled operator (choice unordered (literal %3D) (literal %3A%3D) (literal %3A%3A%3D) (literal %3F%3D) (literal %2B%3D))) (capture labeled value (ref text)) (alias unnamed_token (immediateToken (repeat1 (class plain (char %0D) (char %0A)))))) (concept grammar.recipe-prefix-assignment) (source-names (tree-sitter RECIPEPREFIX_assignment)))
(rule variable_assignment normal (seq (optional (ref target_or_pattern_assignment)) (ref name) (optional (alias unnamed_token (immediateToken (repeat1 (class plain (char %09) (char %20)))))) (capture labeled operator (choice unordered (literal %3D) (literal %3A%3D) (literal %3A%3A%3D) (literal %3F%3D) (literal %2B%3D))) (optional (alias unnamed_token (immediateToken (repeat1 (class plain (char %09) (char %20)))))) (optional (capture labeled value (ref text))) (alias unnamed_token (immediateToken (repeat1 (class plain (char %0D) (char %0A)))))) (concept grammar.variable-assignment))
(rule target_or_pattern_assignment silent (seq (capture labeled target_or_pattern (ref list)) (literal %3A) (optional (alias unnamed_token (immediateToken (repeat1 (class plain (char %09) (char %20))))))) (concept grammar.target-or-pattern-assignment) (source-names (tree-sitter _target_or_pattern_assignment)))
(rule shell_assignment normal (seq (capture labeled name (ref word)) (optional (alias unnamed_token (immediateToken (repeat1 (class plain (char %09) (char %20)))))) (capture labeled operator (literal %21%3D)) (optional (alias unnamed_token (immediateToken (repeat1 (class plain (char %09) (char %20)))))) (capture labeled value (ref shell_command_alias)) (alias unnamed_token (immediateToken (repeat1 (class plain (char %0D) (char %0A)))))) (concept grammar.shell-assignment))
(rule define_directive normal (seq (token (seq (literal define) (not (ref word_characters)))) (capture labeled name (ref word)) (optional (alias unnamed_token (immediateToken (repeat1 (class plain (char %09) (char %20)))))) (optional (capture labeled operator (choice unordered (literal %3D) (literal %3A%3D) (literal %3A%3A%3D) (literal %3F%3D) (literal %2B%3D)))) (optional (alias unnamed_token (immediateToken (repeat1 (class plain (char %09) (char %20)))))) (alias unnamed_token (immediateToken (repeat1 (class plain (char %0D) (char %0A))))) (optional (capture labeled value (alias raw_text (repeat1 (ref raw_line))))) (token (lexicalPrecedence 1 (literal endef))) (alias unnamed_token (immediateToken (repeat1 (class plain (char %0D) (char %0A)))))) (concept grammar.define-directive))
(rule directive silent (choice unordered (ref include_directive) (ref search_path_directive) (ref export_directive) (ref remove_export_directive) (ref override_directive) (ref remove_definition_directive) (ref private_directive) (ref conditional)) (concept grammar.directive) (source-names (tree-sitter _directive)))
(rule include_directive normal (choice unordered (seq (token (seq (literal include) (not (ref word_characters)))) (capture labeled filenames (ref list)) (alias unnamed_token (immediateToken (repeat1 (class plain (char %0D) (char %0A)))))) (seq (token (seq (literal sinclude) (not (ref word_characters)))) (capture labeled filenames (ref list)) (alias unnamed_token (immediateToken (repeat1 (class plain (char %0D) (char %0A)))))) (seq (literal -include) (capture labeled filenames (ref list)) (alias unnamed_token (immediateToken (repeat1 (class plain (char %0D) (char %0A))))))) (concept grammar.include-directive))
(rule search_path_directive normal (choice unordered (seq (token (seq (literal vpath) (not (ref word_characters)))) (alias unnamed_token (immediateToken (repeat1 (class plain (char %0D) (char %0A)))))) (seq (token (seq (literal vpath) (not (ref word_characters)))) (capture labeled pattern (ref word)) (alias unnamed_token (immediateToken (repeat1 (class plain (char %0D) (char %0A)))))) (seq (token (seq (literal vpath) (not (ref word_characters)))) (capture labeled pattern (ref word)) (capture labeled directories (ref paths)) (alias unnamed_token (immediateToken (repeat1 (class plain (char %0D) (char %0A))))))) (concept grammar.search-path-directive) (source-names (tree-sitter vpath_directive)))
(rule export_directive normal (choice unordered (seq (token (seq (literal export) (not (ref word_characters)))) (alias unnamed_token (immediateToken (repeat1 (class plain (char %0D) (char %0A)))))) (seq (token (seq (literal export) (not (ref word_characters)))) (capture labeled variables (ref list)) (alias unnamed_token (immediateToken (repeat1 (class plain (char %0D) (char %0A)))))) (seq (token (seq (literal export) (not (ref word_characters)))) (ref variable_assignment))) (concept grammar.export-directive))
(rule remove_export_directive normal (choice unordered (seq (token (seq (literal unexport) (not (ref word_characters)))) (alias unnamed_token (immediateToken (repeat1 (class plain (char %0D) (char %0A)))))) (seq (token (seq (literal unexport) (not (ref word_characters)))) (capture labeled variables (ref list)) (alias unnamed_token (immediateToken (repeat1 (class plain (char %0D) (char %0A))))))) (concept grammar.remove-export-directive) (source-names (tree-sitter unexport_directive)))
(rule override_directive normal (choice unordered (seq (token (seq (literal override) (not (ref word_characters)))) (ref define_directive)) (seq (token (seq (literal override) (not (ref word_characters)))) (ref variable_assignment)) (seq (token (seq (literal override) (not (ref word_characters)))) (ref remove_definition_directive))) (concept grammar.override-directive))
(rule remove_definition_directive normal (seq (token (seq (literal undefine) (not (ref word_characters)))) (capture labeled variable (ref word)) (alias unnamed_token (immediateToken (repeat1 (class plain (char %0D) (char %0A)))))) (concept grammar.remove-definition-directive) (source-names (tree-sitter undefine_directive)))
(rule private_directive normal (seq (token (seq (literal private) (not (ref word_characters)))) (ref variable_assignment)) (concept grammar.private-directive))
(rule conditional normal (seq (capture labeled condition (ref conditional_directives)) (optional (capture labeled consequence (ref conditional_consequence))) (repeat0 (ref else_if_directive)) (optional (ref else_directive)) (token (seq (literal endif) (not (ref word_characters)))) (alias unnamed_token (immediateToken (repeat1 (class plain (char %0D) (char %0A)))))) (concept grammar.if-statement))
(rule else_if_directive normal (seq (token (seq (literal else) (not (ref word_characters)))) (capture labeled condition (ref conditional_directives)) (optional (capture labeled consequence (ref conditional_consequence)))) (concept grammar.else-if-directive) (source-names (tree-sitter elsif_directive)))
(rule else_directive normal (seq (token (seq (literal else) (not (ref word_characters)))) (alias unnamed_token (immediateToken (repeat1 (class plain (char %0D) (char %0A))))) (optional (capture labeled consequence (ref conditional_consequence)))) (concept grammar.else-clause))
(rule conditional_directives silent (choice unordered (ref if_equal_directive) (ref if_not_equal_directive) (ref if_defined_directive) (ref if_not_defined_directive)) (concept grammar.conditional-directives) (source-names (tree-sitter _conditional_directives)))
(rule conditional_consequence silent (repeat1 (choice unordered (ref thing) (ref prefixed_recipe_line))) (concept grammar.conditional-consequence) (source-names (tree-sitter _conditional_consequence)))
(rule if_equal_directive normal (seq (token (seq (literal ifeq) (not (ref word_characters)))) (ref conditional_arguments_comparison) (alias unnamed_token (immediateToken (repeat1 (class plain (char %0D) (char %0A)))))) (concept grammar.if-equal-directive) (source-names (tree-sitter ifeq_directive)))
(rule if_not_equal_directive normal (seq (token (seq (literal ifneq) (not (ref word_characters)))) (ref conditional_arguments_comparison) (alias unnamed_token (immediateToken (repeat1 (class plain (char %0D) (char %0A)))))) (concept grammar.if-not-equal-directive) (source-names (tree-sitter ifneq_directive)))
(rule if_defined_directive normal (seq (token (seq (literal ifdef) (not (ref word_characters)))) (capture labeled variable (ref primary)) (alias unnamed_token (immediateToken (repeat1 (class plain (char %0D) (char %0A)))))) (concept grammar.if-defined-directive) (source-names (tree-sitter ifdef_directive)))
(rule if_not_defined_directive normal (seq (token (seq (literal ifndef) (not (ref word_characters)))) (capture labeled variable (ref primary)) (alias unnamed_token (immediateToken (repeat1 (class plain (char %0D) (char %0A)))))) (concept grammar.if-not-defined-directive) (source-names (tree-sitter ifndef_directive)))
(rule conditional_arguments_comparison silent (choice unordered (seq (literal %28) (optional (capture labeled arg0 (ref primary))) (literal %2C) (optional (capture labeled arg1 (ref primary))) (literal %29)) (seq (capture labeled arg0 (ref primary)) (capture labeled arg1 (ref primary)))) (concept grammar.conditional-arguments-comparison) (source-names (tree-sitter _conditional_args_cmp)))
(rule variable silent (choice unordered (ref variable_reference) (ref substitution_reference) (ref automatic_variable)) (concept grammar.variable) (source-names (tree-sitter _variable)))
(rule variable_reference normal (seq (choice unordered (literal %24) (literal %24%24)) (choice unordered (choice unordered (seq (immediateToken (literal %28)) (ref primary) (literal %29)) (seq (immediateToken (literal %7B)) (ref primary) (literal %7D))) (alias word (immediateToken (class negated (char %0A)))))) (concept grammar.variable-reference))
(rule substitution_reference normal (seq (choice unordered (literal %24) (literal %24%24)) (choice unordered (seq (immediateToken (literal %28)) (seq (capture labeled text (ref primary)) (literal %3A) (capture labeled pattern (ref primary)) (literal %3D) (capture labeled replacement (ref primary))) (literal %29)) (seq (immediateToken (literal %7B)) (seq (capture labeled text (ref primary)) (literal %3A) (capture labeled pattern (ref primary)) (literal %3D) (capture labeled replacement (ref primary))) (literal %7D)))) (concept grammar.substitution-reference))
(rule automatic_variable normal (seq (choice unordered (literal %24) (literal %24%24)) (choice unordered (choice unordered (immediateToken (lexicalPrecedence 1 (literal %40))) (immediateToken (lexicalPrecedence 1 (literal %25))) (immediateToken (lexicalPrecedence 1 (literal %3C))) (immediateToken (lexicalPrecedence 1 (literal %3F))) (immediateToken (lexicalPrecedence 1 (literal %5E))) (immediateToken (lexicalPrecedence 1 (literal %2B))) (immediateToken (lexicalPrecedence 1 (literal %2F))) (immediateToken (lexicalPrecedence 1 (literal %2A)))) (choice unordered (seq (immediateToken (literal %28)) (seq (choice unordered (token (lexicalPrecedence 1 (literal %40))) (token (lexicalPrecedence 1 (literal %25))) (token (lexicalPrecedence 1 (literal %3C))) (token (lexicalPrecedence 1 (literal %3F))) (token (lexicalPrecedence 1 (literal %5E))) (token (lexicalPrecedence 1 (literal %2B))) (token (lexicalPrecedence 1 (literal %2F))) (token (lexicalPrecedence 1 (literal %2A)))) (optional (choice unordered (immediateToken (seq (literal D) (not (ref word_characters)))) (immediateToken (seq (literal F) (not (ref word_characters))))))) (literal %29)) (seq (immediateToken (literal %7B)) (seq (choice unordered (token (lexicalPrecedence 1 (literal %40))) (token (lexicalPrecedence 1 (literal %25))) (token (lexicalPrecedence 1 (literal %3C))) (token (lexicalPrecedence 1 (literal %3F))) (token (lexicalPrecedence 1 (literal %5E))) (token (lexicalPrecedence 1 (literal %2B))) (token (lexicalPrecedence 1 (literal %2F))) (token (lexicalPrecedence 1 (literal %2A)))) (optional (choice unordered (immediateToken (seq (literal D) (not (ref word_characters)))) (immediateToken (seq (literal F) (not (ref word_characters))))))) (literal %7D))))) (concept grammar.automatic-variable))
(rule function silent (choice unordered (ref function_call) (ref shell_function)) (concept grammar.function-expansion) (source-names (tree-sitter _function)))
(rule function_call normal (seq (choice unordered (literal %24) (literal %24%24)) (immediateToken (literal %28)) (capture labeled function (choice unordered (immediateToken (seq (literal subst) (not (ref word_characters)))) (immediateToken (seq (literal patsubst) (not (ref word_characters)))) (immediateToken (seq (literal strip) (not (ref word_characters)))) (immediateToken (seq (literal findstring) (not (ref word_characters)))) (immediateToken (seq (literal filter) (not (ref word_characters)))) (immediateToken (seq (literal filter-out) (not (ref word_characters)))) (immediateToken (seq (literal sort) (not (ref word_characters)))) (immediateToken (seq (literal word) (not (ref word_characters)))) (immediateToken (seq (literal words) (not (ref word_characters)))) (immediateToken (seq (literal wordlist) (not (ref word_characters)))) (immediateToken (seq (literal firstword) (not (ref word_characters)))) (immediateToken (seq (literal lastword) (not (ref word_characters)))) (immediateToken (seq (literal dir) (not (ref word_characters)))) (immediateToken (seq (literal notdir) (not (ref word_characters)))) (immediateToken (seq (literal suffix) (not (ref word_characters)))) (immediateToken (seq (literal basename) (not (ref word_characters)))) (immediateToken (seq (literal addsuffix) (not (ref word_characters)))) (immediateToken (seq (literal addprefix) (not (ref word_characters)))) (immediateToken (seq (literal join) (not (ref word_characters)))) (immediateToken (seq (literal wildcard) (not (ref word_characters)))) (immediateToken (seq (literal realpath) (not (ref word_characters)))) (immediateToken (seq (literal abspath) (not (ref word_characters)))) (immediateToken (seq (literal error) (not (ref word_characters)))) (immediateToken (seq (literal warning) (not (ref word_characters)))) (immediateToken (seq (literal info) (not (ref word_characters)))) (immediateToken (seq (literal origin) (not (ref word_characters)))) (immediateToken (seq (literal flavor) (not (ref word_characters)))) (immediateToken (seq (literal foreach) (not (ref word_characters)))) (immediateToken (seq (literal if) (not (ref word_characters)))) (immediateToken (seq (literal or) (not (ref word_characters)))) (immediateToken (seq (literal and) (not (ref word_characters)))) (immediateToken (seq (literal call) (not (ref word_characters)))) (immediateToken (seq (literal eval) (not (ref word_characters)))) (immediateToken (seq (literal file) (not (ref word_characters)))) (immediateToken (seq (literal value) (not (ref word_characters)))))) (optional (alias unnamed_token (immediateToken (repeat1 (class plain (char %09) (char %20)))))) (ref arguments) (literal %29)) (concept grammar.call-expression))
(rule arguments normal (seq (capture labeled argument (ref text)) (repeat0 (seq (literal %2C) (capture labeled argument (ref text))))) (concept grammar.argument-list))
(rule shell_function normal (seq (choice unordered (literal %24) (literal %24%24)) (immediateToken (literal %28)) (capture labeled function (token (seq (literal shell) (not (ref word_characters))))) (optional (alias unnamed_token (immediateToken (repeat1 (class plain (char %09) (char %20)))))) (ref shell_command_alias) (literal %29)) (concept grammar.shell-function))
(rule list normal (precedence 1 none (seq (ref primary) (repeat0 (seq (choice unordered (alias unnamed_token (immediateToken (repeat1 (class plain (char %09) (char %20))))) (alias %27%5C (immediateToken (seq (literal %5C) (choice unordered (seq (optional (literal %0D)) (literal %0A)) (literal %0D)))))) (ref primary))) (optional (alias unnamed_token (immediateToken (repeat1 (class plain (char %09) (char %20)))))))) (concept grammar.list))
(rule paths normal (seq (ref primary) (repeat0 (seq (choice unordered (immediateToken (literal %3A)) (immediateToken (literal %3B))) (ref primary)))) (concept grammar.path-list))
(rule primary silent (choice unordered (ref word) (ref archive) (ref variable) (ref function) (ref concatenation) (ref string)) (concept grammar.primary) (source-names (tree-sitter _primary)))
(rule concatenation normal (precedence 0 right (seq (ref primary) (repeat1 (precedence 0 left (ref primary))))) (concept grammar.concatenation))
(rule name silent (capture labeled name (ref word)) (concept grammar.name) (source-names (tree-sitter _name)))
(rule string normal (capture labeled string (choice unordered (seq (literal %22) (optional (ref string_content)) (literal %22)) (seq (literal %27) (optional (ref string_content)) (literal %27)))) (concept grammar.string))
(rule string_content silent (repeat1 (choice unordered (ref variable) (ref function) (alias unnamed_token (token (lexicalPrecedence -1 (repeat1 (choice unordered (class negated (char %27) (char %22) (char %24) (char %0D) (char %0A) (char %5C)) (literal %5C%5C) (seq (literal %5C) (class negated (char %0D) (char %0A)))))))))) (concept grammar.string-content) (source-names (tree-sitter _string)))
(rule word token (repeat1 (choice unordered (class plain (range a z) (range A Z) (range 0 9) (char %25) (char %2B) (char -) (char .) (char %40) (char _) (char %2A) (char %3F) (char %2F)) (seq (literal %5C) (class plain (char a) (char b) (char t) (char n) (char v) (char f) (char r) (char E) (char %21) (char %22) (char %23) (char %24) (char %26) (char %27) (char %28) (char %29) (char %2A) (char %2C) (char %3B) (char %3C) (char %3E) (char %3F) (char %5B) (char %5C) (char %5D) (char %5E) (char %60) (char %7B) (char %7C) (char %7D) (char %7E))) (seq (literal %5C) (repeat 3 3 (class plain (range 0 9)))))) (concept grammar.word))
(rule archive normal (seq (capture labeled archive (ref word)) (immediateToken (literal %28)) (capture labeled members (ref list)) (immediateToken (literal %29))) (concept grammar.archive))
(rule recipe_prefix silent (literal %09) (concept grammar.recipe-prefix) (source-names (tree-sitter _recipeprefix)))
(rule raw_line token (seq (repeat0 (class negated (char %0A))) (repeat1 (class plain (char %0D) (char %0A)))) (concept grammar.raw-line) (source-names (tree-sitter _rawline)))
(rule shell_text_without_split silent (choice unordered (seq (alias unnamed_token (token (repeat1 (choice unordered (class negated (char %24) (char %0D) (char %0A) (char %5C)) (seq (literal %5C) (class plain (char a) (char b) (char t) (char n) (char v) (char f) (char r) (char E) (char %21) (char %22) (char %23) (char %24) (char %26) (char %27) (char %28) (char %29) (char %2A) (char %2C) (char %3B) (char %3C) (char %3E) (char %3F) (char %5B) (char %5C) (char %5D) (char %5E) (char %60) (char %7B) (char %7C) (char %7D) (char %7E))) (seq (literal %5C) (repeat 3 3 (class plain (range 0 9)))) (seq (literal %5C) (class negated (char %0A) (char %0D))))))) (repeat0 (seq (choice unordered (ref variable) (ref function) (alias escape (literal %24%24)) (alias escape (literal %2F%2F))) (optional (alias unnamed_token (token (repeat1 (choice unordered (class negated (char %24) (char %0D) (char %0A) (char %5C)) (seq (literal %5C) (class plain (char a) (char b) (char t) (char n) (char v) (char f) (char r) (char E) (char %21) (char %22) (char %23) (char %24) (char %26) (char %27) (char %28) (char %29) (char %2A) (char %2C) (char %3B) (char %3C) (char %3E) (char %3F) (char %5B) (char %5C) (char %5D) (char %5E) (char %60) (char %7B) (char %7C) (char %7D) (char %7E))) (seq (literal %5C) (repeat 3 3 (class plain (range 0 9)))) (seq (literal %5C) (class negated (char %0A) (char %0D))))))))))) (seq (choice unordered (ref variable) (ref function) (alias escape (literal %24%24)) (alias escape (literal %2F%2F))) (repeat0 (seq (optional (alias unnamed_token (token (repeat1 (choice unordered (class negated (char %24) (char %0D) (char %0A) (char %5C)) (seq (literal %5C) (class plain (char a) (char b) (char t) (char n) (char v) (char f) (char r) (char E) (char %21) (char %22) (char %23) (char %24) (char %26) (char %27) (char %28) (char %29) (char %2A) (char %2C) (char %3B) (char %3C) (char %3E) (char %3F) (char %5B) (char %5C) (char %5D) (char %5E) (char %60) (char %7B) (char %7C) (char %7D) (char %7E))) (seq (literal %5C) (repeat 3 3 (class plain (range 0 9)))) (seq (literal %5C) (class negated (char %0A) (char %0D)))))))) (choice unordered (ref variable) (ref function) (alias escape (literal %24%24)) (alias escape (literal %2F%2F))))) (optional (alias unnamed_token (token (repeat1 (choice unordered (class negated (char %24) (char %0D) (char %0A) (char %5C)) (seq (literal %5C) (class plain (char a) (char b) (char t) (char n) (char v) (char f) (char r) (char E) (char %21) (char %22) (char %23) (char %24) (char %26) (char %27) (char %28) (char %29) (char %2A) (char %2C) (char %3B) (char %3C) (char %3E) (char %3F) (char %5B) (char %5C) (char %5D) (char %5E) (char %60) (char %7B) (char %7C) (char %7D) (char %7E))) (seq (literal %5C) (repeat 3 3 (class plain (range 0 9)))) (seq (literal %5C) (class negated (char %0A) (char %0D)))))))))) (concept grammar.shell-text-without-split) (source-names (tree-sitter _shell_text_without_split)))
(rule shell_text_with_split normal (seq (ref shell_text_without_split) (alias %27%5C (immediateToken (seq (literal %5C) (choice unordered (seq (optional (literal %0D)) (literal %0A)) (literal %0D)))))) (concept grammar.shell-text-with-split))
(rule shell_command_alias silent (alias shell_command (ref text)) (concept grammar.shell-command-alias) (source-names (tree-sitter _shell_command)))
(rule text normal (choice unordered (seq (alias unnamed_token (token (repeat1 (choice unordered (choice unordered (class negated (char %24) (char %28) (char %29) (char %0A) (char %0D) (char %5C)) (alias %27%5C (seq (literal %5C) (choice unordered (seq (optional (literal %0D)) (literal %0A)) (literal %0D))))) (seq (literal %5C) (class plain (char a) (char b) (char t) (char n) (char v) (char f) (char r) (char E) (char %21) (char %22) (char %23) (char %24) (char %26) (char %27) (char %28) (char %29) (char %2A) (char %2C) (char %3B) (char %3C) (char %3E) (char %3F) (char %5B) (char %5C) (char %5D) (char %5E) (char %60) (char %7B) (char %7C) (char %7D) (char %7E))) (seq (literal %5C) (repeat 3 3 (class plain (range 0 9)))) (seq (literal %5C) (class negated (char %0A) (char %0D))))))) (repeat0 (seq (choice unordered (ref variable) (ref function) (alias escape (literal %24%24)) (alias escape (literal %2F%2F))) (optional (alias unnamed_token (token (repeat1 (choice unordered (choice unordered (class negated (char %24) (char %28) (char %29) (char %0A) (char %0D) (char %5C)) (alias %27%5C (seq (literal %5C) (choice unordered (seq (optional (literal %0D)) (literal %0A)) (literal %0D))))) (seq (literal %5C) (class plain (char a) (char b) (char t) (char n) (char v) (char f) (char r) (char E) (char %21) (char %22) (char %23) (char %24) (char %26) (char %27) (char %28) (char %29) (char %2A) (char %2C) (char %3B) (char %3C) (char %3E) (char %3F) (char %5B) (char %5C) (char %5D) (char %5E) (char %60) (char %7B) (char %7C) (char %7D) (char %7E))) (seq (literal %5C) (repeat 3 3 (class plain (range 0 9)))) (seq (literal %5C) (class negated (char %0A) (char %0D))))))))))) (seq (choice unordered (ref variable) (ref function) (alias escape (literal %24%24)) (alias escape (literal %2F%2F))) (repeat0 (seq (optional (alias unnamed_token (token (repeat1 (choice unordered (choice unordered (class negated (char %24) (char %28) (char %29) (char %0A) (char %0D) (char %5C)) (alias %27%5C (seq (literal %5C) (choice unordered (seq (optional (literal %0D)) (literal %0A)) (literal %0D))))) (seq (literal %5C) (class plain (char a) (char b) (char t) (char n) (char v) (char f) (char r) (char E) (char %21) (char %22) (char %23) (char %24) (char %26) (char %27) (char %28) (char %29) (char %2A) (char %2C) (char %3B) (char %3C) (char %3E) (char %3F) (char %5B) (char %5C) (char %5D) (char %5E) (char %60) (char %7B) (char %7C) (char %7D) (char %7E))) (seq (literal %5C) (repeat 3 3 (class plain (range 0 9)))) (seq (literal %5C) (class negated (char %0A) (char %0D)))))))) (choice unordered (ref variable) (ref function) (alias escape (literal %24%24)) (alias escape (literal %2F%2F))))) (optional (alias unnamed_token (token (repeat1 (choice unordered (choice unordered (class negated (char %24) (char %28) (char %29) (char %0A) (char %0D) (char %5C)) (alias %27%5C (seq (literal %5C) (choice unordered (seq (optional (literal %0D)) (literal %0A)) (literal %0D))))) (seq (literal %5C) (class plain (char a) (char b) (char t) (char n) (char v) (char f) (char r) (char E) (char %21) (char %22) (char %23) (char %24) (char %26) (char %27) (char %28) (char %29) (char %2A) (char %2C) (char %3B) (char %3C) (char %3E) (char %3F) (char %5B) (char %5C) (char %5D) (char %5E) (char %60) (char %7B) (char %7C) (char %7D) (char %7E))) (seq (literal %5C) (repeat 3 3 (class plain (range 0 9)))) (seq (literal %5C) (class negated (char %0A) (char %0D)))))))))) (concept grammar.text))
(rule comment token (lexicalPrecedence -1 (seq (literal %23) (repeat0 (class negated (char %0A))))) (concept grammar.comment))
(rule word_characters token (repeat1 (choice unordered (class plain (range a z) (range A Z) (range 0 9) (char %25) (char %2B) (char -) (char .) (char %40) (char _) (char %2A) (char %3F) (char %2F)) (seq (literal %5C) (class plain (char a) (char b) (char t) (char n) (char v) (char f) (char r) (char E) (char %21) (char %22) (char %23) (char %24) (char %26) (char %27) (char %28) (char %29) (char %2A) (char %2C) (char %3B) (char %3C) (char %3E) (char %3F) (char %5B) (char %5C) (char %5D) (char %5E) (char %60) (char %7B) (char %7C) (char %7D) (char %7E))) (seq (literal %5C) (repeat 3 3 (class plain (range 0 9)))))) (concept grammar.word-characters))