Compare commits

...

2 Commits

Author SHA1 Message Date
b4a114108b Add equality operator 2023-09-29 09:17:38 -04:00
20e6af2257 Add list support 2023-09-29 08:59:27 -04:00
5 changed files with 850 additions and 1867 deletions

@ -1 +1 @@
Subproject commit 3182e7c860ac74d1d4e2846152eef45c4111bd63
Subproject commit ad429b35634097c1f81a7ce01f5890fb4594a128

View File

@ -1,6 +1,8 @@
module.exports = grammar({
name: 'dust',
word: $ => $.identifier,
rules: {
root: $ => repeat1($.item),
@ -21,10 +23,10 @@ module.exports = grammar({
open_statement: $ => prec.left(seq($.expression)),
expression: $ => choice(
prec(0, $.control_flow),
prec(1, $.value),
prec(2, $.identifier),
prec(3, $.operation),
$.value,
$.identifier,
$.operation,
$.control_flow,
),
close: $ => ";",
@ -66,6 +68,7 @@ module.exports = grammar({
'+',
'-',
'=',
'==',
),
operation: $ => prec.left(seq(

View File

@ -1,5 +1,6 @@
{
"name": "dust",
"word": "identifier",
"rules": {
"root": {
"type": "REPEAT1",
@ -84,36 +85,20 @@
"type": "CHOICE",
"members": [
{
"type": "PREC",
"value": 0,
"content": {
"type": "SYMBOL",
"name": "control_flow"
}
"type": "SYMBOL",
"name": "value"
},
{
"type": "PREC",
"value": 1,
"content": {
"type": "SYMBOL",
"name": "value"
}
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "PREC",
"value": 2,
"content": {
"type": "SYMBOL",
"name": "identifier"
}
"type": "SYMBOL",
"name": "operation"
},
{
"type": "PREC",
"value": 3,
"content": {
"type": "SYMBOL",
"name": "operation"
}
"type": "SYMBOL",
"name": "control_flow"
}
]
},
@ -242,6 +227,10 @@
{
"type": "STRING",
"value": "="
},
{
"type": "STRING",
"value": "=="
}
]
},

View File

@ -248,6 +248,10 @@
"type": "=",
"named": false
},
{
"type": "==",
"named": false
},
{
"type": "close",
"named": true

File diff suppressed because it is too large Load Diff