2021-04-10 10:29:19 -04:00
|
|
|
{
|
2021-05-28 04:33:07 -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
|
|
|
}
|
|
|
|
},
|
|
|
|
"line_ending": {
|
|
|
|
"type": "SYMBOL",
|
|
|
|
"name": "newline"
|
|
|
|
},
|
2021-04-10 15:55:47 -04:00
|
|
|
"seperation": {
|
2021-06-07 18:07:49 -04:00
|
|
|
"type": "CHOICE",
|
|
|
|
"members": [
|
|
|
|
{
|
|
|
|
"type": "SYMBOL",
|
|
|
|
"name": "space"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "SYMBOL",
|
|
|
|
"name": "line_ending"
|
2021-04-10 15:55:47 -04:00
|
|
|
}
|
2021-06-07 18:07:49 -04:00
|
|
|
]
|
2021-04-10 15:55:47 -04:00
|
|
|
},
|
2021-04-10 10:29:19 -04:00
|
|
|
"space": {
|
|
|
|
"type": "PATTERN",
|
2021-06-07 18:07:49 -04:00
|
|
|
"value": "[ \\t]+"
|
2021-04-10 10:29:19 -04:00
|
|
|
},
|
|
|
|
"newline": {
|
|
|
|
"type": "PATTERN",
|
2021-06-07 18:07:49 -04:00
|
|
|
"value": "\\n+"
|
2021-04-10 10:29:19 -04:00
|
|
|
},
|
2021-06-13 16:39:43 -04:00
|
|
|
"_foreach": {
|
2021-06-07 17:02:35 -04:00
|
|
|
"type": "PATTERN",
|
|
|
|
"value": "[fF][oO][rR][eE][aA][cC][hH]"
|
|
|
|
},
|
2021-06-13 16:39:43 -04:00
|
|
|
"_endforeach": {
|
2021-06-07 17:02:35 -04:00
|
|
|
"type": "PATTERN",
|
|
|
|
"value": "[eE][nN][dD][fF][oO][rR][eE][aA][cC][hH]"
|
|
|
|
},
|
2021-04-10 10:29:19 -04:00
|
|
|
"identifier": {
|
|
|
|
"type": "PATTERN",
|
|
|
|
"value": "[A-Za-z_][A-Za-z0-9_]*"
|
|
|
|
},
|
2021-06-04 08:15:12 -04:00
|
|
|
"integer": {
|
|
|
|
"type": "PATTERN",
|
|
|
|
"value": "[+-]*\\d+"
|
|
|
|
},
|
2021-04-11 09:04:28 -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": ";"
|
|
|
|
},
|
2021-06-03 18:19:26 -04:00
|
|
|
"variable": {
|
2021-06-04 08:15:12 -04:00
|
|
|
"type": "PREC_LEFT",
|
|
|
|
"value": 0,
|
2021-06-03 18:19:26 -04:00
|
|
|
"content": {
|
2021-06-04 08:15:12 -04:00
|
|
|
"type": "REPEAT1",
|
|
|
|
"content": {
|
|
|
|
"type": "CHOICE",
|
|
|
|
"members": [
|
|
|
|
{
|
|
|
|
"type": "PATTERN",
|
|
|
|
"value": "[a-zA-Z0-9/_.+-]"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "SYMBOL",
|
|
|
|
"name": "escape_sequence"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
2021-06-03 18:19:26 -04:00
|
|
|
}
|
|
|
|
},
|
2021-04-17 15:16:33 -04:00
|
|
|
"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": "${"
|
|
|
|
},
|
|
|
|
{
|
2021-05-28 16:12:15 -04:00
|
|
|
"type": "SYMBOL",
|
|
|
|
"name": "variable"
|
2021-04-17 15:16:33 -04:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "STRING",
|
|
|
|
"value": "}"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"env_var": {
|
|
|
|
"type": "SEQ",
|
|
|
|
"members": [
|
|
|
|
{
|
|
|
|
"type": "STRING",
|
|
|
|
"value": "$ENV{"
|
|
|
|
},
|
|
|
|
{
|
2021-05-28 16:12:15 -04:00
|
|
|
"type": "SYMBOL",
|
|
|
|
"name": "variable"
|
2021-04-17 15:16:33 -04:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "STRING",
|
|
|
|
"value": "}"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"cache_var": {
|
|
|
|
"type": "SEQ",
|
|
|
|
"members": [
|
|
|
|
{
|
|
|
|
"type": "STRING",
|
|
|
|
"value": "$CACHE{"
|
|
|
|
},
|
|
|
|
{
|
2021-05-28 16:12:15 -04:00
|
|
|
"type": "SYMBOL",
|
|
|
|
"name": "variable"
|
2021-04-17 15:16:33 -04:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"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",
|
2021-05-28 16:12:15 -04:00
|
|
|
"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": "["
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
2021-05-28 16:12:15 -04:00
|
|
|
"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": "\""
|
|
|
|
},
|
|
|
|
{
|
2021-05-28 16:12:15 -04:00
|
|
|
"type": "CHOICE",
|
2021-04-11 11:27:20 -04:00
|
|
|
"members": [
|
|
|
|
{
|
2021-05-28 16:12:15 -04:00
|
|
|
"type": "SYMBOL",
|
|
|
|
"name": "quoted_element"
|
2021-04-11 11:27:20 -04:00
|
|
|
},
|
|
|
|
{
|
2021-05-28 16:12:15 -04:00
|
|
|
"type": "BLANK"
|
2021-04-11 11:27:20 -04:00
|
|
|
}
|
|
|
|
]
|
2021-05-28 16:12:15 -04:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "STRING",
|
|
|
|
"value": "\""
|
2021-04-11 11:27:20 -04:00
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
2021-05-28 16:12:15 -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": "\\"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "SYMBOL",
|
|
|
|
"name": "newline"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
},
|
2021-04-11 09:48:26 -04:00
|
|
|
"unquoted_argument": {
|
|
|
|
"type": "REPEAT1",
|
|
|
|
"content": {
|
|
|
|
"type": "CHOICE",
|
|
|
|
"members": [
|
2021-04-17 15:16:33 -04:00
|
|
|
{
|
|
|
|
"type": "SYMBOL",
|
|
|
|
"name": "variable_ref"
|
|
|
|
},
|
2021-04-11 09:48:26 -04:00
|
|
|
{
|
|
|
|
"type": "PATTERN",
|
|
|
|
"value": "[^ ()#\\\"\\\\]"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "SYMBOL",
|
|
|
|
"name": "escape_sequence"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
},
|
2021-04-10 10:29:19 -04:00
|
|
|
"arguments": {
|
|
|
|
"type": "SEQ",
|
|
|
|
"members": [
|
|
|
|
{
|
|
|
|
"type": "SYMBOL",
|
|
|
|
"name": "argument"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "REPEAT",
|
|
|
|
"content": {
|
|
|
|
"type": "SYMBOL",
|
|
|
|
"name": "_seperated_arguments"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"_seperated_arguments": {
|
|
|
|
"type": "PREC_LEFT",
|
2021-04-10 15:55:47 -04:00
|
|
|
"value": 0,
|
2021-04-10 10:29:19 -04:00
|
|
|
"content": {
|
|
|
|
"type": "SEQ",
|
|
|
|
"members": [
|
|
|
|
{
|
|
|
|
"type": "REPEAT1",
|
|
|
|
"content": {
|
|
|
|
"type": "SYMBOL",
|
|
|
|
"name": "seperation"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "CHOICE",
|
|
|
|
"members": [
|
|
|
|
{
|
|
|
|
"type": "SYMBOL",
|
|
|
|
"name": "argument"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "BLANK"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
},
|
2021-06-07 17:02:35 -04:00
|
|
|
"foreach_command": {
|
2021-06-03 18:19:26 -04:00
|
|
|
"type": "SEQ",
|
|
|
|
"members": [
|
|
|
|
{
|
2021-06-07 17:02:35 -04:00
|
|
|
"type": "SYMBOL",
|
2021-06-13 16:39:43 -04:00
|
|
|
"name": "_foreach"
|
2021-06-03 18:19:26 -04:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "STRING",
|
2021-06-06 09:44:05 -04:00
|
|
|
"value": "("
|
2021-06-03 18:19:26 -04:00
|
|
|
},
|
|
|
|
{
|
2021-06-07 17:02:35 -04:00
|
|
|
"type": "SYMBOL",
|
2021-06-13 16:34:27 -04:00
|
|
|
"name": "arguments"
|
2021-06-03 18:19:26 -04:00
|
|
|
},
|
2021-06-06 14:38:18 -04:00
|
|
|
{
|
|
|
|
"type": "STRING",
|
|
|
|
"value": ")"
|
2021-06-07 17:02:35 -04:00
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"endforeach_command": {
|
|
|
|
"type": "SEQ",
|
|
|
|
"members": [
|
2021-06-06 14:38:18 -04:00
|
|
|
{
|
2021-06-07 17:02:35 -04:00
|
|
|
"type": "SYMBOL",
|
2021-06-13 16:39:43 -04:00
|
|
|
"name": "_endforeach"
|
2021-06-06 14:38:18 -04:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "STRING",
|
|
|
|
"value": "("
|
|
|
|
},
|
2021-06-07 17:02:35 -04:00
|
|
|
{
|
|
|
|
"type": "REPEAT",
|
|
|
|
"content": {
|
|
|
|
"type": "SYMBOL",
|
|
|
|
"name": "seperation"
|
|
|
|
}
|
|
|
|
},
|
2021-06-06 14:38:18 -04:00
|
|
|
{
|
|
|
|
"type": "CHOICE",
|
|
|
|
"members": [
|
|
|
|
{
|
|
|
|
"type": "SYMBOL",
|
2021-06-13 16:34:27 -04:00
|
|
|
"name": "argument"
|
2021-06-06 14:38:18 -04:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "BLANK"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
2021-06-03 18:19:26 -04:00
|
|
|
{
|
|
|
|
"type": "STRING",
|
|
|
|
"value": ")"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
2021-06-07 18:07:49 -04:00
|
|
|
"foreach_loop": {
|
|
|
|
"type": "SEQ",
|
|
|
|
"members": [
|
|
|
|
{
|
|
|
|
"type": "SYMBOL",
|
|
|
|
"name": "foreach_command"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "REPEAT",
|
|
|
|
"content": {
|
|
|
|
"type": "SYMBOL",
|
|
|
|
"name": "_command_invocation"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "SYMBOL",
|
|
|
|
"name": "endforeach_command"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
2021-06-03 18:19:26 -04:00
|
|
|
"normal_command": {
|
2021-04-10 10:29:19 -04:00
|
|
|
"type": "SEQ",
|
|
|
|
"members": [
|
|
|
|
{
|
|
|
|
"type": "SYMBOL",
|
|
|
|
"name": "identifier"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "STRING",
|
|
|
|
"value": "("
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "REPEAT",
|
|
|
|
"content": {
|
|
|
|
"type": "SYMBOL",
|
|
|
|
"name": "seperation"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "CHOICE",
|
|
|
|
"members": [
|
|
|
|
{
|
|
|
|
"type": "SYMBOL",
|
|
|
|
"name": "arguments"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "BLANK"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "STRING",
|
|
|
|
"value": ")"
|
|
|
|
}
|
|
|
|
]
|
2021-06-03 18:19:26 -04:00
|
|
|
},
|
2021-06-07 18:02:13 -04:00
|
|
|
"_command_invocation": {
|
2021-06-03 18:19:26 -04:00
|
|
|
"type": "CHOICE",
|
|
|
|
"members": [
|
|
|
|
{
|
|
|
|
"type": "SYMBOL",
|
2021-06-07 17:29:15 -04:00
|
|
|
"name": "normal_command"
|
2021-06-07 17:02:35 -04:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "SYMBOL",
|
2021-06-07 18:07:49 -04:00
|
|
|
"name": "foreach_loop"
|
2021-06-03 18:19:26 -04:00
|
|
|
}
|
|
|
|
]
|
2021-04-10 10:29:19 -04:00
|
|
|
}
|
|
|
|
},
|
|
|
|
"extras": [
|
|
|
|
{
|
|
|
|
"type": "PATTERN",
|
|
|
|
"value": "\\s"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"conflicts": [],
|
|
|
|
"precedences": [],
|
|
|
|
"externals": [],
|
|
|
|
"inline": [],
|
|
|
|
"supertypes": []
|
|
|
|
}
|
|
|
|
|