Update grammar

This commit is contained in:
Quentin Boyer 2026-04-22 22:19:21 +02:00
parent 29710a61d7
commit 73b72b410f
4 changed files with 941 additions and 625 deletions

View file

@ -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
View file

@ -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
View file

@ -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

File diff suppressed because it is too large Load diff