Update grammar
This commit is contained in:
parent
29710a61d7
commit
73b72b410f
4 changed files with 941 additions and 625 deletions
|
|
@ -31,6 +31,15 @@ module.exports = grammar({
|
|||
),
|
||||
|
||||
expression: $ => choice(
|
||||
$._field_expression,
|
||||
seq($._field_expression, '+', $.expression),
|
||||
),
|
||||
|
||||
_field_expression: $ => choice(
|
||||
seq($._base_expression, '.', $.identifier),
|
||||
$._base_expression,
|
||||
),
|
||||
_base_expression: $ => choice(
|
||||
$.item_path,
|
||||
$.string_literal,
|
||||
$.array,
|
||||
|
|
|
|||
52
src/grammar.json
generated
52
src/grammar.json
generated
|
|
@ -86,6 +86,58 @@
|
|||
]
|
||||
},
|
||||
"expression": {
|
||||
"type": "CHOICE",
|
||||
"members": [
|
||||
{
|
||||
"type": "SYMBOL",
|
||||
"name": "_field_expression"
|
||||
},
|
||||
{
|
||||
"type": "SEQ",
|
||||
"members": [
|
||||
{
|
||||
"type": "SYMBOL",
|
||||
"name": "_field_expression"
|
||||
},
|
||||
{
|
||||
"type": "STRING",
|
||||
"value": "+"
|
||||
},
|
||||
{
|
||||
"type": "SYMBOL",
|
||||
"name": "expression"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"_field_expression": {
|
||||
"type": "CHOICE",
|
||||
"members": [
|
||||
{
|
||||
"type": "SEQ",
|
||||
"members": [
|
||||
{
|
||||
"type": "SYMBOL",
|
||||
"name": "_base_expression"
|
||||
},
|
||||
{
|
||||
"type": "STRING",
|
||||
"value": "."
|
||||
},
|
||||
{
|
||||
"type": "SYMBOL",
|
||||
"name": "identifier"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "SYMBOL",
|
||||
"name": "_base_expression"
|
||||
}
|
||||
]
|
||||
},
|
||||
"_base_expression": {
|
||||
"type": "CHOICE",
|
||||
"members": [
|
||||
{
|
||||
|
|
|
|||
18
src/node-types.json
generated
18
src/node-types.json
generated
|
|
@ -71,13 +71,21 @@
|
|||
"named": true,
|
||||
"fields": {},
|
||||
"children": {
|
||||
"multiple": false,
|
||||
"multiple": true,
|
||||
"required": true,
|
||||
"types": [
|
||||
{
|
||||
"type": "array",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "expression",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "identifier",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "item_path",
|
||||
"named": true
|
||||
|
|
@ -200,10 +208,18 @@
|
|||
"type": "'",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "+",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": ",",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": ".",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": ":",
|
||||
"named": false
|
||||
|
|
|
|||
1487
src/parser.c
generated
1487
src/parser.c
generated
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue