tree-sitter-cmake/src/grammar.json

240 lines
4.4 KiB
JSON
Raw Normal View History

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": []
}