tree-sitter-cmake/src/grammar.json

3345 lines
90 KiB
JSON
Raw Normal View History

2021-04-10 10:29:19 -04:00
{
"name": "cmake",
2021-04-10 10:29:19 -04:00
"rules": {
"source_file": {
"type": "REPEAT",
"content": {
"type": "SYMBOL",
2021-06-07 18:02:13 -04:00
"name": "_command_invocation"
2021-04-10 10:29:19 -04:00
}
},
"escape_sequence": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_escape_identity"
},
{
"type": "SYMBOL",
"name": "_escape_encoded"
},
{
"type": "SYMBOL",
"name": "_escape_semicolon"
}
]
},
"_escape_identity": {
"type": "PATTERN",
"value": "\\\\[^A-Za-z0-9;]"
},
"_escape_encoded": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "\\t"
},
{
"type": "STRING",
"value": "\\r"
},
{
"type": "STRING",
"value": "\\n"
}
]
},
"_escape_semicolon": {
"type": "STRING",
"value": ";"
},
"variable": {
"type": "PREC_LEFT",
"value": 0,
"content": {
"type": "REPEAT1",
"content": {
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "[a-zA-Z0-9/_.+-]"
},
{
"type": "SYMBOL",
"name": "escape_sequence"
}
]
}
}
},
"variable_ref": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "normal_var"
},
{
"type": "SYMBOL",
"name": "env_var"
},
{
"type": "SYMBOL",
"name": "cache_var"
}
]
},
"normal_var": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "${"
},
{
"type": "SYMBOL",
"name": "variable"
},
{
"type": "STRING",
"value": "}"
}
]
},
"env_var": {
"type": "SEQ",
"members": [
{
"type": "STRING",
2021-06-16 15:37:14 -04:00
"value": "$ENV"
},
{
"type": "STRING",
"value": "{"
},
{
"type": "SYMBOL",
"name": "variable"
},
{
"type": "STRING",
"value": "}"
}
]
},
"cache_var": {
"type": "SEQ",
"members": [
{
"type": "STRING",
2021-06-16 15:37:14 -04:00
"value": "$CACHE"
},
{
"type": "STRING",
"value": "{"
},
{
"type": "SYMBOL",
"name": "variable"
},
{
"type": "STRING",
"value": "}"
}
]
},
2021-04-10 10:29:19 -04:00
"argument": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
2021-04-11 09:48:26 -04:00
"name": "bracket_argument"
2021-04-10 15:55:47 -04:00
},
2021-04-11 11:27:20 -04:00
{
"type": "SYMBOL",
"name": "quoted_argument"
},
2021-04-10 15:55:47 -04:00
{
"type": "SYMBOL",
2021-04-11 09:48:26 -04:00
"name": "unquoted_argument"
2021-04-10 10:29:19 -04:00
}
]
},
2021-04-10 15:55:47 -04:00
"bracket_argument": {
"type": "SEQ",
2021-04-10 10:29:19 -04:00
"members": [
{
"type": "SYMBOL",
2021-04-10 19:10:37 -04:00
"name": "_bracket_open"
2021-04-10 15:55:47 -04:00
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "bracket_content"
2021-04-10 15:55:47 -04:00
},
{
"type": "BLANK"
}
]
2021-04-10 10:29:19 -04:00
},
{
"type": "SYMBOL",
2021-04-10 19:10:37 -04:00
"name": "_bracket_close"
2021-04-10 15:55:47 -04:00
}
]
},
2021-04-10 19:10:37 -04:00
"_bracket_open": {
2021-04-10 15:55:47 -04:00
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "["
},
{
"type": "REPEAT",
"content": {
"type": "STRING",
"value": "="
}
},
{
"type": "STRING",
"value": "["
}
]
},
"bracket_content": {
2021-04-10 15:55:47 -04:00
"type": "REPEAT1",
"content": {
"type": "PATTERN",
"value": "[^\\]]"
}
},
2021-04-10 19:10:37 -04:00
"_bracket_close": {
2021-04-10 15:55:47 -04:00
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "]"
},
{
"type": "REPEAT",
"content": {
"type": "STRING",
"value": "="
}
},
{
"type": "STRING",
"value": "]"
2021-04-10 10:29:19 -04:00
}
]
},
2021-04-11 11:27:20 -04:00
"quoted_argument": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "\""
},
{
"type": "CHOICE",
2021-04-11 11:27:20 -04:00
"members": [
{
"type": "SYMBOL",
"name": "quoted_element"
2021-04-11 11:27:20 -04:00
},
{
"type": "BLANK"
2021-04-11 11:27:20 -04:00
}
]
},
{
"type": "STRING",
"value": "\""
2021-04-11 11:27:20 -04:00
}
]
},
"quoted_element": {
"type": "REPEAT1",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "variable_ref"
},
{
"type": "PATTERN",
"value": "[^\\\\\"]"
},
{
"type": "SYMBOL",
"name": "escape_sequence"
},
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "\\"
},
{
2021-06-16 15:37:14 -04:00
"type": "PATTERN",
"value": "\\n+"
}
]
}
]
}
},
2021-04-11 09:48:26 -04:00
"unquoted_argument": {
"type": "REPEAT1",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "variable_ref"
},
2021-04-11 09:48:26 -04:00
{
"type": "PATTERN",
"value": "[^ ()#\\\"\\\\]"
},
{
"type": "SYMBOL",
"name": "escape_sequence"
}
]
}
},
2021-06-17 16:32:18 -04:00
"if_command": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "if"
},
{
"type": "STRING",
"value": "("
},
{
"type": "REPEAT",
"content": {
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "[ \\t]+"
},
{
"type": "PATTERN",
"value": "\\n+"
}
]
}
},
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "argument"
},
{
"type": "STRING",
"value": "1"
},
{
"type": "STRING",
"value": "ON"
},
{
"type": "STRING",
"value": "YES"
},
{
"type": "STRING",
"value": "TRUE"
},
{
"type": "STRING",
"value": "Y"
},
{
"type": "STRING",
"value": "0"
},
{
"type": "STRING",
"value": "OFF"
},
{
"type": "STRING",
"value": "NO"
},
{
"type": "STRING",
"value": "FALSE"
},
{
"type": "STRING",
"value": "N"
},
{
"type": "STRING",
"value": "IGNORE"
},
{
"type": "STRING",
"value": "NOTFOUND"
},
{
"type": "STRING",
"value": "NOT"
},
{
"type": "STRING",
"value": "AND"
},
{
"type": "STRING",
"value": "OR"
},
{
"type": "STRING",
"value": "COMMAND"
},
{
"type": "STRING",
"value": "POLICY"
},
{
"type": "STRING",
"value": "TARGET"
},
{
"type": "STRING",
"value": "TEST"
},
{
"type": "STRING",
"value": "DEFINED"
},
{
"type": "STRING",
"value": "CACHE"
},
{
"type": "STRING",
"value": "ENV"
},
{
"type": "STRING",
"value": "IN_LIST"
},
{
"type": "STRING",
"value": "EXISTS"
},
{
"type": "STRING",
"value": "IS_NEWER_THAN"
},
{
"type": "STRING",
"value": "IS_DIRECTORY"
},
{
"type": "STRING",
"value": "IS_SYMLINK"
},
{
"type": "STRING",
"value": "IS_ABSOLUTE"
},
{
"type": "STRING",
"value": "MATCHES"
},
{
"type": "STRING",
"value": "LESS"
},
{
"type": "STRING",
"value": "GREATER"
},
{
"type": "STRING",
"value": "EQUAL"
},
{
"type": "STRING",
"value": "LESS_EQUAL"
},
{
"type": "STRING",
"value": "GREATER_EQUAL"
},
{
"type": "STRING",
"value": "STRLESS"
},
{
"type": "STRING",
"value": "STRGREATER"
},
{
"type": "STRING",
"value": "STREQUAL"
},
{
"type": "STRING",
"value": "STRLESS_EQUAL"
},
{
"type": "STRING",
"value": "STRGREATER_EQUAL"
},
{
"type": "STRING",
"value": "VERSION_LESS"
},
{
"type": "STRING",
"value": "VERSION_GREATER"
},
{
"type": "STRING",
"value": "VERSION_EQUAL"
},
{
"type": "STRING",
"value": "VERSION_LESS_EQUAL"
},
{
"type": "STRING",
"value": "VERSION_GREATER_EQUAL"
}
]
},
{
"type": "REPEAT",
"content": {
"type": "PREC_LEFT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "REPEAT1",
"content": {
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "[ \\t]+"
},
{
"type": "PATTERN",
"value": "\\n+"
}
]
}
},
{
"type": "CHOICE",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "argument"
},
{
"type": "STRING",
"value": "1"
},
{
"type": "STRING",
"value": "ON"
},
{
"type": "STRING",
"value": "YES"
},
{
"type": "STRING",
"value": "TRUE"
},
{
"type": "STRING",
"value": "Y"
},
{
"type": "STRING",
"value": "0"
},
{
"type": "STRING",
"value": "OFF"
},
{
"type": "STRING",
"value": "NO"
},
{
"type": "STRING",
"value": "FALSE"
},
{
"type": "STRING",
"value": "N"
},
{
"type": "STRING",
"value": "IGNORE"
},
{
"type": "STRING",
"value": "NOTFOUND"
},
{
"type": "STRING",
"value": "NOT"
},
{
"type": "STRING",
"value": "AND"
},
{
"type": "STRING",
"value": "OR"
},
{
"type": "STRING",
"value": "COMMAND"
},
{
"type": "STRING",
"value": "POLICY"
},
{
"type": "STRING",
"value": "TARGET"
},
{
"type": "STRING",
"value": "TEST"
},
{
"type": "STRING",
"value": "DEFINED"
},
{
"type": "STRING",
"value": "CACHE"
},
{
"type": "STRING",
"value": "ENV"
},
{
"type": "STRING",
"value": "IN_LIST"
},
{
"type": "STRING",
"value": "EXISTS"
},
{
"type": "STRING",
"value": "IS_NEWER_THAN"
},
{
"type": "STRING",
"value": "IS_DIRECTORY"
},
{
"type": "STRING",
"value": "IS_SYMLINK"
},
{
"type": "STRING",
"value": "IS_ABSOLUTE"
},
{
"type": "STRING",
"value": "MATCHES"
},
{
"type": "STRING",
"value": "LESS"
},
{
"type": "STRING",
"value": "GREATER"
},
{
"type": "STRING",
"value": "EQUAL"
},
{
"type": "STRING",
"value": "LESS_EQUAL"
},
{
"type": "STRING",
"value": "GREATER_EQUAL"
},
{
"type": "STRING",
"value": "STRLESS"
},
{
"type": "STRING",
"value": "STRGREATER"
},
{
"type": "STRING",
"value": "STREQUAL"
},
{
"type": "STRING",
"value": "STRLESS_EQUAL"
},
{
"type": "STRING",
"value": "STRGREATER_EQUAL"
},
{
"type": "STRING",
"value": "VERSION_LESS"
},
{
"type": "STRING",
"value": "VERSION_GREATER"
},
{
"type": "STRING",
"value": "VERSION_EQUAL"
},
{
"type": "STRING",
"value": "VERSION_LESS_EQUAL"
},
{
"type": "STRING",
"value": "VERSION_GREATER_EQUAL"
}
]
},
{
"type": "BLANK"
}
]
}
]
}
}
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
"elseif_command": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "elseif"
},
{
"type": "STRING",
"value": "("
},
{
"type": "REPEAT",
"content": {
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "[ \\t]+"
},
{
"type": "PATTERN",
"value": "\\n+"
}
]
}
},
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "argument"
},
{
"type": "STRING",
"value": "1"
},
{
"type": "STRING",
"value": "ON"
},
{
"type": "STRING",
"value": "YES"
},
{
"type": "STRING",
"value": "TRUE"
},
{
"type": "STRING",
"value": "Y"
},
{
"type": "STRING",
"value": "0"
},
{
"type": "STRING",
"value": "OFF"
},
{
"type": "STRING",
"value": "NO"
},
{
"type": "STRING",
"value": "FALSE"
},
{
"type": "STRING",
"value": "N"
},
{
"type": "STRING",
"value": "IGNORE"
},
{
"type": "STRING",
"value": "NOTFOUND"
},
{
"type": "STRING",
"value": "NOT"
},
{
"type": "STRING",
"value": "AND"
},
{
"type": "STRING",
"value": "OR"
},
{
"type": "STRING",
"value": "COMMAND"
},
{
"type": "STRING",
"value": "POLICY"
},
{
"type": "STRING",
"value": "TARGET"
},
{
"type": "STRING",
"value": "TEST"
},
{
"type": "STRING",
"value": "DEFINED"
},
{
"type": "STRING",
"value": "CACHE"
},
{
"type": "STRING",
"value": "ENV"
},
{
"type": "STRING",
"value": "IN_LIST"
},
{
"type": "STRING",
"value": "EXISTS"
},
{
"type": "STRING",
"value": "IS_NEWER_THAN"
},
{
"type": "STRING",
"value": "IS_DIRECTORY"
},
{
"type": "STRING",
"value": "IS_SYMLINK"
},
{
"type": "STRING",
"value": "IS_ABSOLUTE"
},
{
"type": "STRING",
"value": "MATCHES"
},
{
"type": "STRING",
"value": "LESS"
},
{
"type": "STRING",
"value": "GREATER"
},
{
"type": "STRING",
"value": "EQUAL"
},
{
"type": "STRING",
"value": "LESS_EQUAL"
},
{
"type": "STRING",
"value": "GREATER_EQUAL"
},
{
"type": "STRING",
"value": "STRLESS"
},
{
"type": "STRING",
"value": "STRGREATER"
},
{
"type": "STRING",
"value": "STREQUAL"
},
{
"type": "STRING",
"value": "STRLESS_EQUAL"
},
{
"type": "STRING",
"value": "STRGREATER_EQUAL"
},
{
"type": "STRING",
"value": "VERSION_LESS"
},
{
"type": "STRING",
"value": "VERSION_GREATER"
},
{
"type": "STRING",
"value": "VERSION_EQUAL"
},
{
"type": "STRING",
"value": "VERSION_LESS_EQUAL"
},
{
"type": "STRING",
"value": "VERSION_GREATER_EQUAL"
}
]
},
{
"type": "REPEAT",
"content": {
"type": "PREC_LEFT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "REPEAT1",
"content": {
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "[ \\t]+"
},
{
"type": "PATTERN",
"value": "\\n+"
}
]
}
},
{
"type": "CHOICE",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "argument"
},
{
"type": "STRING",
"value": "1"
},
{
"type": "STRING",
"value": "ON"
},
{
"type": "STRING",
"value": "YES"
},
{
"type": "STRING",
"value": "TRUE"
},
{
"type": "STRING",
"value": "Y"
},
{
"type": "STRING",
"value": "0"
},
{
"type": "STRING",
"value": "OFF"
},
{
"type": "STRING",
"value": "NO"
},
{
"type": "STRING",
"value": "FALSE"
},
{
"type": "STRING",
"value": "N"
},
{
"type": "STRING",
"value": "IGNORE"
},
{
"type": "STRING",
"value": "NOTFOUND"
},
{
"type": "STRING",
"value": "NOT"
},
{
"type": "STRING",
"value": "AND"
},
{
"type": "STRING",
"value": "OR"
},
{
"type": "STRING",
"value": "COMMAND"
},
{
"type": "STRING",
"value": "POLICY"
},
{
"type": "STRING",
"value": "TARGET"
},
{
"type": "STRING",
"value": "TEST"
},
{
"type": "STRING",
"value": "DEFINED"
},
{
"type": "STRING",
"value": "CACHE"
},
{
"type": "STRING",
"value": "ENV"
},
{
"type": "STRING",
"value": "IN_LIST"
},
{
"type": "STRING",
"value": "EXISTS"
},
{
"type": "STRING",
"value": "IS_NEWER_THAN"
},
{
"type": "STRING",
"value": "IS_DIRECTORY"
},
{
"type": "STRING",
"value": "IS_SYMLINK"
},
{
"type": "STRING",
"value": "IS_ABSOLUTE"
},
{
"type": "STRING",
"value": "MATCHES"
},
{
"type": "STRING",
"value": "LESS"
},
{
"type": "STRING",
"value": "GREATER"
},
{
"type": "STRING",
"value": "EQUAL"
},
{
"type": "STRING",
"value": "LESS_EQUAL"
},
{
"type": "STRING",
"value": "GREATER_EQUAL"
},
{
"type": "STRING",
"value": "STRLESS"
},
{
"type": "STRING",
"value": "STRGREATER"
},
{
"type": "STRING",
"value": "STREQUAL"
},
{
"type": "STRING",
"value": "STRLESS_EQUAL"
},
{
"type": "STRING",
"value": "STRGREATER_EQUAL"
},
{
"type": "STRING",
"value": "VERSION_LESS"
},
{
"type": "STRING",
"value": "VERSION_GREATER"
},
{
"type": "STRING",
"value": "VERSION_EQUAL"
},
{
"type": "STRING",
"value": "VERSION_LESS_EQUAL"
},
{
"type": "STRING",
"value": "VERSION_GREATER_EQUAL"
}
]
},
{
"type": "BLANK"
}
]
}
]
}
}
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
"else_command": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "else"
},
{
"type": "STRING",
"value": "("
},
{
"type": "REPEAT",
"content": {
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "[ \\t]+"
},
{
"type": "PATTERN",
"value": "\\n+"
}
]
}
},
{
"type": "CHOICE",
"members": [
{
2021-06-17 16:43:12 -04:00
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "argument"
},
{
"type": "STRING",
"value": "1"
},
{
"type": "STRING",
"value": "ON"
},
{
"type": "STRING",
"value": "YES"
},
{
"type": "STRING",
"value": "TRUE"
},
{
"type": "STRING",
"value": "Y"
},
{
"type": "STRING",
"value": "0"
},
{
"type": "STRING",
"value": "OFF"
},
{
"type": "STRING",
"value": "NO"
},
{
"type": "STRING",
"value": "FALSE"
},
{
"type": "STRING",
"value": "N"
},
{
"type": "STRING",
"value": "IGNORE"
},
{
"type": "STRING",
"value": "NOTFOUND"
},
{
"type": "STRING",
"value": "NOT"
},
{
"type": "STRING",
"value": "AND"
},
{
"type": "STRING",
"value": "OR"
},
{
"type": "STRING",
"value": "COMMAND"
},
{
"type": "STRING",
"value": "POLICY"
},
{
"type": "STRING",
"value": "TARGET"
},
{
"type": "STRING",
"value": "TEST"
},
{
"type": "STRING",
"value": "DEFINED"
},
{
"type": "STRING",
"value": "CACHE"
},
{
"type": "STRING",
"value": "ENV"
},
{
"type": "STRING",
"value": "IN_LIST"
},
{
"type": "STRING",
"value": "EXISTS"
},
{
"type": "STRING",
"value": "IS_NEWER_THAN"
},
{
"type": "STRING",
"value": "IS_DIRECTORY"
},
{
"type": "STRING",
"value": "IS_SYMLINK"
},
{
"type": "STRING",
"value": "IS_ABSOLUTE"
},
{
"type": "STRING",
"value": "MATCHES"
},
{
"type": "STRING",
"value": "LESS"
},
{
"type": "STRING",
"value": "GREATER"
},
{
"type": "STRING",
"value": "EQUAL"
},
{
"type": "STRING",
"value": "LESS_EQUAL"
},
{
"type": "STRING",
"value": "GREATER_EQUAL"
},
{
"type": "STRING",
"value": "STRLESS"
},
{
"type": "STRING",
"value": "STRGREATER"
},
{
"type": "STRING",
"value": "STREQUAL"
},
{
"type": "STRING",
"value": "STRLESS_EQUAL"
},
{
"type": "STRING",
"value": "STRGREATER_EQUAL"
},
{
"type": "STRING",
"value": "VERSION_LESS"
},
{
"type": "STRING",
"value": "VERSION_GREATER"
},
{
"type": "STRING",
"value": "VERSION_EQUAL"
},
{
"type": "STRING",
"value": "VERSION_LESS_EQUAL"
},
{
"type": "STRING",
"value": "VERSION_GREATER_EQUAL"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
"endif_command": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "endif"
},
{
"type": "STRING",
"value": "("
},
{
"type": "REPEAT",
"content": {
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "[ \\t]+"
},
{
"type": "PATTERN",
"value": "\\n+"
}
]
}
},
{
"type": "CHOICE",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "argument"
},
{
"type": "STRING",
"value": "1"
},
{
"type": "STRING",
"value": "ON"
},
{
"type": "STRING",
"value": "YES"
},
{
"type": "STRING",
"value": "TRUE"
},
{
"type": "STRING",
"value": "Y"
},
{
"type": "STRING",
"value": "0"
},
{
"type": "STRING",
"value": "OFF"
},
{
"type": "STRING",
"value": "NO"
},
{
"type": "STRING",
"value": "FALSE"
},
{
"type": "STRING",
"value": "N"
},
{
"type": "STRING",
"value": "IGNORE"
},
{
"type": "STRING",
"value": "NOTFOUND"
},
{
"type": "STRING",
"value": "NOT"
},
{
"type": "STRING",
"value": "AND"
},
{
"type": "STRING",
"value": "OR"
},
{
"type": "STRING",
"value": "COMMAND"
},
{
"type": "STRING",
"value": "POLICY"
},
{
"type": "STRING",
"value": "TARGET"
},
{
"type": "STRING",
"value": "TEST"
},
{
"type": "STRING",
"value": "DEFINED"
},
{
"type": "STRING",
"value": "CACHE"
},
{
"type": "STRING",
"value": "ENV"
},
{
"type": "STRING",
"value": "IN_LIST"
},
{
"type": "STRING",
"value": "EXISTS"
},
{
"type": "STRING",
"value": "IS_NEWER_THAN"
},
{
"type": "STRING",
"value": "IS_DIRECTORY"
},
{
"type": "STRING",
"value": "IS_SYMLINK"
},
{
"type": "STRING",
"value": "IS_ABSOLUTE"
},
{
"type": "STRING",
"value": "MATCHES"
},
{
"type": "STRING",
"value": "LESS"
},
{
"type": "STRING",
"value": "GREATER"
},
{
"type": "STRING",
"value": "EQUAL"
},
{
"type": "STRING",
"value": "LESS_EQUAL"
},
{
"type": "STRING",
"value": "GREATER_EQUAL"
},
{
"type": "STRING",
"value": "STRLESS"
},
{
"type": "STRING",
"value": "STRGREATER"
},
{
"type": "STRING",
"value": "STREQUAL"
},
{
"type": "STRING",
"value": "STRLESS_EQUAL"
},
{
"type": "STRING",
"value": "STRGREATER_EQUAL"
},
{
"type": "STRING",
"value": "VERSION_LESS"
},
{
"type": "STRING",
"value": "VERSION_GREATER"
},
{
"type": "STRING",
"value": "VERSION_EQUAL"
},
{
"type": "STRING",
"value": "VERSION_LESS_EQUAL"
},
{
"type": "STRING",
"value": "VERSION_GREATER_EQUAL"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
"if_condition": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "if_command"
},
{
"type": "REPEAT",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_command_invocation"
},
{
"type": "SYMBOL",
"name": "elseif_command"
},
{
"type": "SYMBOL",
"name": "else_command"
}
]
}
},
{
"type": "SYMBOL",
"name": "endif_command"
}
]
},
"foreach_command": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "foreach"
},
{
"type": "STRING",
"value": "("
},
{
"type": "REPEAT",
"content": {
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "[ \\t]+"
},
{
"type": "PATTERN",
"value": "\\n+"
}
]
}
},
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "argument"
},
{
"type": "STRING",
"value": "IN"
},
{
"type": "STRING",
"value": "RANGE"
},
{
"type": "STRING",
"value": "ZIP_LISTS"
},
{
"type": "STRING",
"value": "LISTS"
},
{
"type": "STRING",
"value": "ITEMS"
}
]
},
{
"type": "REPEAT",
"content": {
"type": "PREC_LEFT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "REPEAT1",
"content": {
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "[ \\t]+"
},
{
"type": "PATTERN",
"value": "\\n+"
}
]
}
},
{
"type": "CHOICE",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "argument"
},
{
"type": "STRING",
"value": "IN"
},
{
"type": "STRING",
"value": "RANGE"
},
{
"type": "STRING",
"value": "ZIP_LISTS"
},
{
"type": "STRING",
"value": "LISTS"
},
{
"type": "STRING",
"value": "ITEMS"
}
]
},
{
"type": "BLANK"
}
]
}
]
}
}
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
"endforeach_command": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "endforeach"
},
{
"type": "STRING",
"value": "("
},
{
"type": "REPEAT",
"content": {
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "[ \\t]+"
},
{
"type": "PATTERN",
"value": "\\n+"
}
]
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "argument"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
"foreach_loop": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "foreach_command"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_command_invocation"
}
},
{
"type": "SYMBOL",
"name": "endforeach_command"
}
]
},
"while_command": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "while"
},
{
"type": "STRING",
"value": "("
},
{
"type": "REPEAT",
"content": {
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "[ \\t]+"
},
{
"type": "PATTERN",
"value": "\\n+"
}
]
}
},
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
2021-06-17 16:32:18 -04:00
"members": [
{
2021-06-17 16:43:12 -04:00
"type": "SYMBOL",
"name": "argument"
},
{
"type": "STRING",
"value": "1"
},
{
"type": "STRING",
"value": "ON"
},
{
"type": "STRING",
"value": "YES"
},
{
"type": "STRING",
"value": "TRUE"
},
{
"type": "STRING",
"value": "Y"
},
{
"type": "STRING",
"value": "0"
},
{
"type": "STRING",
"value": "OFF"
},
{
"type": "STRING",
"value": "NO"
},
{
"type": "STRING",
"value": "FALSE"
},
{
"type": "STRING",
"value": "N"
},
{
"type": "STRING",
"value": "IGNORE"
},
{
"type": "STRING",
"value": "NOTFOUND"
},
{
"type": "STRING",
"value": "NOT"
},
{
"type": "STRING",
"value": "AND"
},
{
"type": "STRING",
"value": "OR"
},
{
"type": "STRING",
"value": "COMMAND"
},
{
"type": "STRING",
"value": "POLICY"
},
{
"type": "STRING",
"value": "TARGET"
},
{
"type": "STRING",
"value": "TEST"
},
{
"type": "STRING",
"value": "DEFINED"
},
{
"type": "STRING",
"value": "CACHE"
},
{
"type": "STRING",
"value": "ENV"
},
{
"type": "STRING",
"value": "IN_LIST"
},
{
"type": "STRING",
"value": "EXISTS"
},
{
"type": "STRING",
"value": "IS_NEWER_THAN"
},
{
"type": "STRING",
"value": "IS_DIRECTORY"
},
{
"type": "STRING",
"value": "IS_SYMLINK"
},
{
"type": "STRING",
"value": "IS_ABSOLUTE"
},
{
"type": "STRING",
"value": "MATCHES"
},
{
"type": "STRING",
"value": "LESS"
},
{
"type": "STRING",
"value": "GREATER"
},
{
"type": "STRING",
"value": "EQUAL"
},
{
"type": "STRING",
"value": "LESS_EQUAL"
},
{
"type": "STRING",
"value": "GREATER_EQUAL"
},
{
"type": "STRING",
"value": "STRLESS"
},
{
"type": "STRING",
"value": "STRGREATER"
},
{
"type": "STRING",
"value": "STREQUAL"
},
{
"type": "STRING",
"value": "STRLESS_EQUAL"
},
{
"type": "STRING",
"value": "STRGREATER_EQUAL"
},
{
"type": "STRING",
"value": "VERSION_LESS"
},
{
"type": "STRING",
"value": "VERSION_GREATER"
},
{
"type": "STRING",
"value": "VERSION_EQUAL"
},
{
"type": "STRING",
"value": "VERSION_LESS_EQUAL"
},
{
"type": "STRING",
"value": "VERSION_GREATER_EQUAL"
}
]
},
{
"type": "REPEAT",
"content": {
"type": "PREC_LEFT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
2021-06-17 16:32:18 -04:00
{
2021-06-17 16:43:12 -04:00
"type": "REPEAT1",
"content": {
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "[ \\t]+"
},
{
"type": "PATTERN",
"value": "\\n+"
}
]
}
2021-06-17 16:32:18 -04:00
},
{
2021-06-17 16:43:12 -04:00
"type": "CHOICE",
2021-06-17 16:32:18 -04:00
"members": [
{
"type": "CHOICE",
"members": [
{
2021-06-17 16:43:12 -04:00
"type": "SYMBOL",
"name": "argument"
2021-06-17 16:32:18 -04:00
},
{
2021-06-17 16:43:12 -04:00
"type": "STRING",
"value": "1"
},
{
"type": "STRING",
"value": "ON"
},
{
"type": "STRING",
"value": "YES"
},
{
"type": "STRING",
"value": "TRUE"
},
{
"type": "STRING",
"value": "Y"
},
{
"type": "STRING",
"value": "0"
},
{
"type": "STRING",
"value": "OFF"
},
{
"type": "STRING",
"value": "NO"
},
{
"type": "STRING",
"value": "FALSE"
},
{
"type": "STRING",
"value": "N"
},
{
"type": "STRING",
"value": "IGNORE"
},
{
"type": "STRING",
"value": "NOTFOUND"
},
{
"type": "STRING",
"value": "NOT"
},
{
"type": "STRING",
"value": "AND"
},
{
"type": "STRING",
"value": "OR"
},
{
"type": "STRING",
"value": "COMMAND"
},
{
"type": "STRING",
"value": "POLICY"
},
{
"type": "STRING",
"value": "TARGET"
},
{
"type": "STRING",
"value": "TEST"
},
{
"type": "STRING",
"value": "DEFINED"
},
{
"type": "STRING",
"value": "CACHE"
},
{
"type": "STRING",
"value": "ENV"
},
{
"type": "STRING",
"value": "IN_LIST"
},
{
"type": "STRING",
"value": "EXISTS"
},
{
"type": "STRING",
"value": "IS_NEWER_THAN"
},
{
"type": "STRING",
"value": "IS_DIRECTORY"
},
{
"type": "STRING",
"value": "IS_SYMLINK"
},
{
"type": "STRING",
"value": "IS_ABSOLUTE"
},
{
"type": "STRING",
"value": "MATCHES"
},
{
"type": "STRING",
"value": "LESS"
},
{
"type": "STRING",
"value": "GREATER"
},
{
"type": "STRING",
"value": "EQUAL"
},
{
"type": "STRING",
"value": "LESS_EQUAL"
},
{
"type": "STRING",
"value": "GREATER_EQUAL"
},
{
"type": "STRING",
"value": "STRLESS"
},
{
"type": "STRING",
"value": "STRGREATER"
},
{
"type": "STRING",
"value": "STREQUAL"
},
{
"type": "STRING",
"value": "STRLESS_EQUAL"
},
{
"type": "STRING",
"value": "STRGREATER_EQUAL"
},
{
"type": "STRING",
"value": "VERSION_LESS"
},
{
"type": "STRING",
"value": "VERSION_GREATER"
},
{
"type": "STRING",
"value": "VERSION_EQUAL"
},
{
"type": "STRING",
"value": "VERSION_LESS_EQUAL"
},
{
"type": "STRING",
"value": "VERSION_GREATER_EQUAL"
2021-06-17 16:32:18 -04:00
}
]
2021-06-17 16:43:12 -04:00
},
{
"type": "BLANK"
2021-06-17 16:32:18 -04:00
}
]
}
2021-06-17 16:43:12 -04:00
]
2021-06-17 16:32:18 -04:00
}
2021-06-17 16:43:12 -04:00
}
2021-06-17 16:32:18 -04:00
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
2021-06-17 16:43:12 -04:00
"endwhile_command": {
2021-06-17 16:32:18 -04:00
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
2021-06-17 16:43:12 -04:00
"name": "endwhile"
2021-06-17 16:32:18 -04:00
},
{
"type": "STRING",
"value": "("
},
{
"type": "REPEAT",
"content": {
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "[ \\t]+"
},
{
"type": "PATTERN",
"value": "\\n+"
}
]
}
},
{
"type": "CHOICE",
"members": [
{
2021-06-17 16:43:12 -04:00
"type": "CHOICE",
2021-06-17 16:32:18 -04:00
"members": [
{
2021-06-17 16:43:12 -04:00
"type": "SYMBOL",
"name": "argument"
},
{
"type": "STRING",
"value": "1"
},
{
"type": "STRING",
"value": "ON"
},
{
"type": "STRING",
"value": "YES"
},
{
"type": "STRING",
"value": "TRUE"
},
{
"type": "STRING",
"value": "Y"
},
{
"type": "STRING",
"value": "0"
},
{
"type": "STRING",
"value": "OFF"
},
{
"type": "STRING",
"value": "NO"
},
{
"type": "STRING",
"value": "FALSE"
},
{
"type": "STRING",
"value": "N"
},
{
"type": "STRING",
"value": "IGNORE"
},
{
"type": "STRING",
"value": "NOTFOUND"
},
{
"type": "STRING",
"value": "NOT"
},
{
"type": "STRING",
"value": "AND"
},
{
"type": "STRING",
"value": "OR"
},
{
"type": "STRING",
"value": "COMMAND"
},
{
"type": "STRING",
"value": "POLICY"
},
{
"type": "STRING",
"value": "TARGET"
},
{
"type": "STRING",
"value": "TEST"
},
{
"type": "STRING",
"value": "DEFINED"
},
{
"type": "STRING",
"value": "CACHE"
},
{
"type": "STRING",
"value": "ENV"
},
{
"type": "STRING",
"value": "IN_LIST"
},
{
"type": "STRING",
"value": "EXISTS"
},
{
"type": "STRING",
"value": "IS_NEWER_THAN"
},
{
"type": "STRING",
"value": "IS_DIRECTORY"
},
{
"type": "STRING",
"value": "IS_SYMLINK"
},
{
"type": "STRING",
"value": "IS_ABSOLUTE"
},
{
"type": "STRING",
"value": "MATCHES"
},
{
"type": "STRING",
"value": "LESS"
},
{
"type": "STRING",
"value": "GREATER"
},
{
"type": "STRING",
"value": "EQUAL"
},
{
"type": "STRING",
"value": "LESS_EQUAL"
},
{
"type": "STRING",
"value": "GREATER_EQUAL"
},
{
"type": "STRING",
"value": "STRLESS"
},
{
"type": "STRING",
"value": "STRGREATER"
},
{
"type": "STRING",
"value": "STREQUAL"
},
{
"type": "STRING",
"value": "STRLESS_EQUAL"
2021-06-17 16:32:18 -04:00
},
{
2021-06-17 16:43:12 -04:00
"type": "STRING",
"value": "STRGREATER_EQUAL"
},
{
"type": "STRING",
2021-06-17 16:43:12 -04:00
"value": "VERSION_LESS"
2021-06-14 16:12:45 -04:00
},
{
"type": "STRING",
2021-06-17 16:43:12 -04:00
"value": "VERSION_GREATER"
2021-06-14 16:12:45 -04:00
},
{
"type": "STRING",
2021-06-17 16:43:12 -04:00
"value": "VERSION_EQUAL"
2021-06-14 16:12:45 -04:00
},
{
"type": "STRING",
2021-06-17 16:43:12 -04:00
"value": "VERSION_LESS_EQUAL"
2021-06-14 16:12:45 -04:00
},
{
"type": "STRING",
2021-06-17 16:43:12 -04:00
"value": "VERSION_GREATER_EQUAL"
}
]
},
{
2021-06-17 16:43:12 -04:00
"type": "BLANK"
}
]
},
2021-06-06 14:38:18 -04:00
{
"type": "STRING",
"value": ")"
2021-06-07 17:02:35 -04:00
}
]
},
2021-06-17 16:43:12 -04:00
"while_loop": {
2021-06-07 17:02:35 -04:00
"type": "SEQ",
"members": [
2021-06-06 14:38:18 -04:00
{
2021-06-07 17:02:35 -04:00
"type": "SYMBOL",
2021-06-17 16:43:12 -04:00
"name": "while_command"
2021-06-06 14:38:18 -04:00
},
2021-06-07 17:02:35 -04:00
{
"type": "REPEAT",
"content": {
2021-06-17 16:43:12 -04:00
"type": "SYMBOL",
"name": "_command_invocation"
2021-06-07 17:02:35 -04:00
}
},
2021-06-06 14:38:18 -04:00
{
2021-06-17 16:43:12 -04:00
"type": "SYMBOL",
"name": "endwhile_command"
}
]
},
2021-06-17 17:06:32 -04:00
"function_command": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "function"
},
{
"type": "STRING",
"value": "("
},
{
"type": "REPEAT",
"content": {
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "[ \\t]+"
},
{
"type": "PATTERN",
"value": "\\n+"
}
]
}
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "argument"
},
{
"type": "REPEAT",
"content": {
"type": "PREC_LEFT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "REPEAT1",
"content": {
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "[ \\t]+"
},
{
"type": "PATTERN",
"value": "\\n+"
}
]
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "argument"
},
{
"type": "BLANK"
}
]
}
]
}
}
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
"endfunction_command": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "endfunction"
},
{
"type": "STRING",
"value": "("
},
{
"type": "REPEAT",
"content": {
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "[ \\t]+"
},
{
"type": "PATTERN",
"value": "\\n+"
}
]
}
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "argument"
},
{
"type": "REPEAT",
"content": {
"type": "PREC_LEFT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "REPEAT1",
"content": {
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "[ \\t]+"
},
{
"type": "PATTERN",
"value": "\\n+"
}
]
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "argument"
},
{
"type": "BLANK"
}
]
}
]
}
}
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
"function_def": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "function_command"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_command_invocation"
}
},
{
"type": "SYMBOL",
"name": "endfunction_command"
}
]
},
"macro_command": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "macro"
},
{
"type": "STRING",
"value": "("
},
{
"type": "REPEAT",
"content": {
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "[ \\t]+"
},
{
"type": "PATTERN",
"value": "\\n+"
}
]
}
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "argument"
},
{
"type": "REPEAT",
"content": {
"type": "PREC_LEFT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "REPEAT1",
"content": {
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "[ \\t]+"
},
{
"type": "PATTERN",
"value": "\\n+"
}
]
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "argument"
},
{
"type": "BLANK"
}
]
}
]
}
}
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
"endmacro_command": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "endmacro"
},
{
"type": "STRING",
"value": "("
},
{
"type": "REPEAT",
"content": {
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "[ \\t]+"
},
{
"type": "PATTERN",
"value": "\\n+"
}
]
}
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "argument"
},
{
"type": "REPEAT",
"content": {
"type": "PREC_LEFT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "REPEAT1",
"content": {
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "[ \\t]+"
},
{
"type": "PATTERN",
"value": "\\n+"
}
]
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "argument"
},
{
"type": "BLANK"
}
]
}
]
}
}
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
"macro_def": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "macro_command"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_command_invocation"
}
},
{
"type": "SYMBOL",
"name": "endmacro_command"
}
]
},
"message_command": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "message"
},
{
"type": "STRING",
"value": "("
},
{
"type": "REPEAT",
"content": {
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "[ \\t]+"
},
{
"type": "PATTERN",
"value": "\\n+"
}
]
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "argument"
},
{
"type": "STRING",
"value": "FATAL_ERROR"
},
{
"type": "STRING",
"value": "SEND_ERROR"
},
{
"type": "STRING",
"value": "WARNING"
},
{
"type": "STRING",
"value": "AUTHOR_WARNING"
},
{
"type": "STRING",
"value": "DEPRECATION"
},
{
"type": "STRING",
"value": "NOTICE"
},
{
"type": "STRING",
"value": "STATUS"
},
{
"type": "STRING",
"value": "VERBOSE"
},
{
"type": "STRING",
"value": "DEBUG"
},
{
"type": "STRING",
"value": "TRACE"
},
{
"type": "STRING",
"value": "CHECK_START"
},
{
"type": "STRING",
"value": "CHECK_PASS"
},
{
"type": "STRING",
"value": "CHECK_FAIL"
}
]
},
{
"type": "REPEAT",
"content": {
"type": "PREC_LEFT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "REPEAT1",
"content": {
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "[ \\t]+"
},
{
"type": "PATTERN",
"value": "\\n+"
}
]
}
},
{
"type": "CHOICE",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "argument"
},
{
"type": "STRING",
"value": "FATAL_ERROR"
},
{
"type": "STRING",
"value": "SEND_ERROR"
},
{
"type": "STRING",
"value": "WARNING"
},
{
"type": "STRING",
"value": "AUTHOR_WARNING"
},
{
"type": "STRING",
"value": "DEPRECATION"
},
{
"type": "STRING",
"value": "NOTICE"
},
{
"type": "STRING",
"value": "STATUS"
},
{
"type": "STRING",
"value": "VERBOSE"
},
{
"type": "STRING",
"value": "DEBUG"
},
{
"type": "STRING",
"value": "TRACE"
},
{
"type": "STRING",
"value": "CHECK_START"
},
{
"type": "STRING",
"value": "CHECK_PASS"
},
{
"type": "STRING",
"value": "CHECK_FAIL"
}
]
},
{
"type": "BLANK"
}
]
}
]
}
}
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
"normal_command": {
2021-04-10 10:29:19 -04:00
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "STRING",
"value": "("
},
{
"type": "REPEAT",
"content": {
2021-06-16 15:37:14 -04:00
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "[ \\t]+"
},
{
"type": "PATTERN",
"value": "\\n+"
}
]
2021-04-10 10:29:19 -04:00
}
},
{
"type": "CHOICE",
"members": [
{
2021-06-16 15:37:14 -04:00
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "argument"
},
{
"type": "REPEAT",
"content": {
"type": "PREC_LEFT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "REPEAT1",
"content": {
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "[ \\t]+"
},
{
"type": "PATTERN",
"value": "\\n+"
}
]
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "argument"
},
{
"type": "BLANK"
}
]
}
]
}
}
}
]
2021-04-10 10:29:19 -04:00
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
2021-06-07 18:02:13 -04:00
"_command_invocation": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
2021-06-07 17:29:15 -04:00
"name": "normal_command"
2021-06-07 17:02:35 -04:00
},
2021-06-17 16:32:18 -04:00
{
"type": "SYMBOL",
"name": "if_condition"
},
2021-06-07 17:02:35 -04:00
{
"type": "SYMBOL",
2021-06-07 18:07:49 -04:00
"name": "foreach_loop"
2021-06-17 16:43:12 -04:00
},
{
"type": "SYMBOL",
"name": "while_loop"
2021-06-17 17:06:32 -04:00
},
{
"type": "SYMBOL",
"name": "function_def"
},
{
"type": "SYMBOL",
"name": "macro_def"
},
{
"type": "SYMBOL",
"name": "message_command"
}
]
2021-06-16 15:37:14 -04:00
},
2021-06-17 16:32:18 -04:00
"if": {
"type": "PATTERN",
"value": "[iI][fF]"
},
"elseif": {
"type": "PATTERN",
"value": "[eE][lL][sS][eE][iI][fF]"
},
"else": {
"type": "PATTERN",
"value": "[eE][lL][sS][eE]"
},
"endif": {
"type": "PATTERN",
"value": "[eE][nN][dD][iI][fF]"
},
2021-06-16 15:37:14 -04:00
"foreach": {
"type": "PATTERN",
"value": "[fF][oO][rR][eE][aA][cC][hH]"
},
"endforeach": {
"type": "PATTERN",
"value": "[eE][nN][dD][fF][oO][rR][eE][aA][cC][hH]"
},
2021-06-17 16:43:12 -04:00
"while": {
"type": "PATTERN",
"value": "[wW][hH][iI][lL][eE]"
},
"endwhile": {
"type": "PATTERN",
"value": "[eE][nN][dD][wW][hH][iI][lL][eE]"
},
2021-06-17 17:06:32 -04:00
"function": {
"type": "PATTERN",
"value": "[fF][uU][nN][cC][tT][iI][oO][nN]"
},
"endfunction": {
"type": "PATTERN",
"value": "[eE][nN][dD][fF][uU][nN][cC][tT][iI][oO][nN]"
},
"macro": {
"type": "PATTERN",
"value": "[mM][aA][cC][rR][oO]"
},
"endmacro": {
"type": "PATTERN",
"value": "[eE][nN][dD][mM][aA][cC][rR][oO]"
},
"message": {
"type": "PATTERN",
"value": "[mM][eE][sS][sS][aA][gG][eE]"
},
2021-06-16 15:37:14 -04:00
"identifier": {
"type": "PATTERN",
"value": "[A-Za-z_][A-Za-z0-9_]*"
},
"integer": {
"type": "PATTERN",
"value": "[+-]*\\d+"
2021-04-10 10:29:19 -04:00
}
},
"extras": [
{
"type": "PATTERN",
"value": "\\s"
}
],
"conflicts": [],
"precedences": [],
"externals": [],
"inline": [],
"supertypes": []
}