2021-04-10 10:29:19 -04:00
|
|
|
{
|
|
|
|
"name": "CMake",
|
|
|
|
"rules": {
|
|
|
|
"source_file": {
|
|
|
|
"type": "REPEAT",
|
|
|
|
"content": {
|
|
|
|
"type": "SYMBOL",
|
|
|
|
"name": "command_invocation"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"line_ending": {
|
|
|
|
"type": "SYMBOL",
|
|
|
|
"name": "newline"
|
|
|
|
},
|
2021-04-10 15:55:47 -04:00
|
|
|
"seperation": {
|
|
|
|
"type": "CHOICE",
|
|
|
|
"members": [
|
|
|
|
{
|
|
|
|
"type": "SYMBOL",
|
|
|
|
"name": "space"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "SYMBOL",
|
|
|
|
"name": "line_ending"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
2021-04-10 10:29:19 -04:00
|
|
|
"space": {
|
|
|
|
"type": "PATTERN",
|
|
|
|
"value": "[ \\t]+"
|
|
|
|
},
|
|
|
|
"newline": {
|
|
|
|
"type": "PATTERN",
|
|
|
|
"value": "\\n"
|
|
|
|
},
|
|
|
|
"identifier": {
|
|
|
|
"type": "PATTERN",
|
|
|
|
"value": "[A-Za-z_][A-Za-z0-9_]*"
|
|
|
|
},
|
|
|
|
"argument": {
|
|
|
|
"type": "CHOICE",
|
|
|
|
"members": [
|
|
|
|
{
|
|
|
|
"type": "SYMBOL",
|
2021-04-10 12:12:41 -04:00
|
|
|
"name": "unquoted_argument"
|
2021-04-10 15:55:47 -04:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "SYMBOL",
|
|
|
|
"name": "bracket_argument"
|
2021-04-10 10:29:19 -04:00
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
2021-04-10 15:55:47 -04:00
|
|
|
"unquoted_argument": {
|
|
|
|
"type": "REPEAT1",
|
|
|
|
"content": {
|
|
|
|
"type": "PATTERN",
|
|
|
|
"value": "[^ ()#\\\"\\\\]"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"bracket_argument": {
|
|
|
|
"type": "SEQ",
|
2021-04-10 10:29:19 -04:00
|
|
|
"members": [
|
|
|
|
{
|
|
|
|
"type": "SYMBOL",
|
2021-04-10 15:55:47 -04:00
|
|
|
"name": "bracket_open"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "CHOICE",
|
|
|
|
"members": [
|
|
|
|
{
|
|
|
|
"type": "SYMBOL",
|
|
|
|
"name": "bracket_content"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "BLANK"
|
|
|
|
}
|
|
|
|
]
|
2021-04-10 10:29:19 -04:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "SYMBOL",
|
2021-04-10 15:55:47 -04:00
|
|
|
"name": "bracket_close"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"bracket_open": {
|
|
|
|
"type": "SEQ",
|
|
|
|
"members": [
|
|
|
|
{
|
|
|
|
"type": "STRING",
|
|
|
|
"value": "["
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "REPEAT",
|
|
|
|
"content": {
|
|
|
|
"type": "STRING",
|
|
|
|
"value": "="
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "STRING",
|
|
|
|
"value": "["
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"bracket_content": {
|
|
|
|
"type": "REPEAT1",
|
|
|
|
"content": {
|
|
|
|
"type": "PATTERN",
|
|
|
|
"value": "[^\\]]"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"bracket_close": {
|
|
|
|
"type": "SEQ",
|
|
|
|
"members": [
|
|
|
|
{
|
|
|
|
"type": "STRING",
|
|
|
|
"value": "]"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "REPEAT",
|
|
|
|
"content": {
|
|
|
|
"type": "STRING",
|
|
|
|
"value": "="
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "STRING",
|
|
|
|
"value": "]"
|
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"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"command_invocation": {
|
|
|
|
"type": "SEQ",
|
|
|
|
"members": [
|
|
|
|
{
|
|
|
|
"type": "REPEAT",
|
|
|
|
"content": {
|
|
|
|
"type": "SYMBOL",
|
|
|
|
"name": "space"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "SYMBOL",
|
|
|
|
"name": "identifier"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "REPEAT",
|
|
|
|
"content": {
|
|
|
|
"type": "SYMBOL",
|
|
|
|
"name": "space"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "STRING",
|
|
|
|
"value": "("
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "REPEAT",
|
|
|
|
"content": {
|
|
|
|
"type": "SYMBOL",
|
|
|
|
"name": "seperation"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "CHOICE",
|
|
|
|
"members": [
|
|
|
|
{
|
|
|
|
"type": "SYMBOL",
|
|
|
|
"name": "arguments"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "BLANK"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "STRING",
|
|
|
|
"value": ")"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"extras": [
|
|
|
|
{
|
|
|
|
"type": "PATTERN",
|
|
|
|
"value": "\\s"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"conflicts": [],
|
|
|
|
"precedences": [],
|
|
|
|
"externals": [],
|
|
|
|
"inline": [],
|
|
|
|
"supertypes": []
|
|
|
|
}
|
|
|
|
|