Compare commits

..

No commits in common. "b4a114108bc8522aed9cd1fc51ff4201d3729967" and "f57570f14bb8542562f58b7572a9d440cca7bb21" have entirely different histories.

5 changed files with 1933 additions and 916 deletions

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

View File

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

View File

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

View File

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

File diff suppressed because it is too large Load Diff