Skip to content

Commit

Permalink
parser: add body variant to getters
Browse files Browse the repository at this point in the history
Fixes #56
  • Loading branch information
jkbz64 committed Sep 4, 2024
1 parent 15a4858 commit 9fba9ea
Show file tree
Hide file tree
Showing 4 changed files with 128,316 additions and 126,343 deletions.
16 changes: 15 additions & 1 deletion grammar.js
Original file line number Diff line number Diff line change
Expand Up @@ -497,7 +497,21 @@ module.exports = grammar({
kw("NO-UNDO")
),

getter: ($) => seq(optional($.access_tuning), kw("GET"), $._terminator),
getter: ($) =>
seq(
optional($.access_tuning),
kw("GET"),
optional(
seq(
optional(seq("(", optional(_list($.function_parameter, ",")), ")")),
":",
optional($.body),
kw("END"),
kw("GET")
)
),
$._terminator
),
setter: ($) =>
seq(
optional($.access_tuning),
Expand Down
265 changes: 215 additions & 50 deletions src/grammar.json
Original file line number Diff line number Diff line change
Expand Up @@ -4103,48 +4103,56 @@
]
},
{
"type": "SEQ",
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "CHOICE",
"type": "SEQ",
"members": [
{
"type": "SEQ",
"type": "STRING",
"value": "("
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "function_parameter"
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "function_parameter"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "function_parameter"
}
]
}
}
]
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "function_parameter"
}
]
}
"type": "BLANK"
}
]
},
{
"type": "BLANK"
"type": "STRING",
"value": ")"
}
]
},
{
"type": "STRING",
"value": ")"
"type": "BLANK"
}
]
},
Expand Down Expand Up @@ -4420,20 +4428,41 @@
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 1,
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[iI][nN][iI][tT][iI][aA][lL]"
}
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 1,
"content": {
"type": "PATTERN",
"value": "[iI][nN][iI][tT][iI][aA][lL]"
}
}
},
"named": false,
"value": "INITIAL"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 1,
"content": {
"type": "PATTERN",
"value": "[iI][nN][iI][tT]"
}
}
},
"named": false,
"value": "INIT"
}
},
"named": false,
"value": "INITIAL"
]
},
{
"type": "SYMBOL",
Expand Down Expand Up @@ -4540,6 +4569,121 @@
"named": false,
"value": "GET"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "function_parameter"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "function_parameter"
}
]
}
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ":"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "body"
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 1,
"content": {
"type": "PATTERN",
"value": "[eE][nN][dD]"
}
}
},
"named": false,
"value": "END"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 1,
"content": {
"type": "PATTERN",
"value": "[gG][eE][tT]"
}
}
},
"named": false,
"value": "GET"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "_terminator"
Expand Down Expand Up @@ -11173,20 +11317,41 @@
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 1,
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[iI][nN][iI][tT][iI][aA][lL]"
}
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 1,
"content": {
"type": "PATTERN",
"value": "[iI][nN][iI][tT][iI][aA][lL]"
}
}
},
"named": false,
"value": "INITIAL"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 1,
"content": {
"type": "PATTERN",
"value": "[iI][nN][iI][tT]"
}
}
},
"named": false,
"value": "INIT"
}
},
"named": false,
"value": "INITIAL"
]
},
{
"type": "SYMBOL",
Expand Down
10 changes: 9 additions & 1 deletion src/node-types.json
Original file line number Diff line number Diff line change
Expand Up @@ -1718,12 +1718,20 @@
"named": true,
"fields": {},
"children": {
"multiple": false,
"multiple": true,
"required": false,
"types": [
{
"type": "access_tuning",
"named": true
},
{
"type": "body",
"named": true
},
{
"type": "function_parameter",
"named": true
}
]
}
Expand Down
Loading

0 comments on commit 9fba9ea

Please sign in to comment.