Compare commits
2 Commits
f57570f14b
...
b4a114108b
Author | SHA1 | Date | |
---|---|---|---|
b4a114108b | |||
20e6af2257 |
@ -1 +1 @@
|
||||
Subproject commit 3182e7c860ac74d1d4e2846152eef45c4111bd63
|
||||
Subproject commit ad429b35634097c1f81a7ce01f5890fb4594a128
|
11
grammar.js
11
grammar.js
@ -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(
|
||||
|
@ -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": "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"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "SYMBOL",
|
||||
"name": "control_flow"
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -242,6 +227,10 @@
|
||||
{
|
||||
"type": "STRING",
|
||||
"value": "="
|
||||
},
|
||||
{
|
||||
"type": "STRING",
|
||||
"value": "=="
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@ -248,6 +248,10 @@
|
||||
"type": "=",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "==",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "close",
|
||||
"named": true
|
||||
|
2663
src/parser.c
2663
src/parser.c
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user