feat: major grammar improvements

- Enable ASCII blocks in print commands
- Add import as expression (not just statement)
- Fix operator precedence (& and | now lower than comparisons)
- Allow comments and newlines as top-level statements
- Fix source_file to handle leading comments and empty lines

Progress: 253 → 98 errors (155 files fixed, 55% success)
This commit is contained in:
2025-11-26 23:32:44 +01:00
parent 99dadd9ca7
commit 0b78c43138
5 changed files with 15079 additions and 15017 deletions

88
src/node-types.json generated
View File

@@ -47,6 +47,10 @@
"type": "identifier",
"named": true
},
{
"type": "import_expression",
"named": true
},
{
"type": "index_expression",
"named": true
@@ -145,6 +149,10 @@
"type": "identifier",
"named": true
},
{
"type": "import_expression",
"named": true
},
{
"type": "index_expression",
"named": true
@@ -243,6 +251,10 @@
"type": "identifier",
"named": true
},
{
"type": "import_expression",
"named": true
},
{
"type": "index_expression",
"named": true
@@ -326,6 +338,10 @@
"type": "identifier",
"named": true
},
{
"type": "import_expression",
"named": true
},
{
"type": "index_expression",
"named": true
@@ -371,7 +387,7 @@
"fields": {},
"children": {
"multiple": true,
"required": true,
"required": false,
"types": [
{
"type": "block_comment",
@@ -413,10 +429,6 @@
"type": "function_declaration",
"named": true
},
{
"type": "import_statement",
"named": true
},
{
"type": "print_command",
"named": true
@@ -481,6 +493,10 @@
"type": "identifier",
"named": true
},
{
"type": "import_expression",
"named": true
},
{
"type": "index_expression",
"named": true
@@ -615,6 +631,10 @@
"type": "identifier",
"named": true
},
{
"type": "import_expression",
"named": true
},
{
"type": "index_expression",
"named": true
@@ -702,6 +722,10 @@
"type": "identifier",
"named": true
},
{
"type": "import_expression",
"named": true
},
{
"type": "index_expression",
"named": true
@@ -800,6 +824,10 @@
"type": "identifier",
"named": true
},
{
"type": "import_expression",
"named": true
},
{
"type": "index_expression",
"named": true
@@ -887,6 +915,10 @@
"type": "identifier",
"named": true
},
{
"type": "import_expression",
"named": true
},
{
"type": "index_expression",
"named": true
@@ -957,7 +989,7 @@
}
},
{
"type": "import_statement",
"type": "import_expression",
"named": true,
"fields": {},
"children": {
@@ -1015,6 +1047,10 @@
"type": "identifier",
"named": true
},
{
"type": "import_expression",
"named": true
},
{
"type": "index_expression",
"named": true
@@ -1098,6 +1134,10 @@
"type": "identifier",
"named": true
},
{
"type": "import_expression",
"named": true
},
{
"type": "index_expression",
"named": true
@@ -1181,6 +1221,10 @@
"type": "identifier",
"named": true
},
{
"type": "import_expression",
"named": true
},
{
"type": "index_expression",
"named": true
@@ -1305,6 +1349,10 @@
"type": "identifier",
"named": true
},
{
"type": "import_expression",
"named": true
},
{
"type": "index_expression",
"named": true
@@ -1367,6 +1415,10 @@
"multiple": true,
"required": true,
"types": [
{
"type": "ascii_string",
"named": true
},
{
"type": "color_code",
"named": true
@@ -1445,6 +1497,10 @@
"type": "identifier",
"named": true
},
{
"type": "import_expression",
"named": true
},
{
"type": "index_expression",
"named": true
@@ -1533,10 +1589,6 @@
"type": "function_declaration",
"named": true
},
{
"type": "import_statement",
"named": true
},
{
"type": "print_command",
"named": true
@@ -1616,6 +1668,10 @@
"type": "identifier",
"named": true
},
{
"type": "import_expression",
"named": true
},
{
"type": "index_expression",
"named": true
@@ -1699,6 +1755,10 @@
"type": "identifier",
"named": true
},
{
"type": "import_expression",
"named": true
},
{
"type": "index_expression",
"named": true
@@ -1792,6 +1852,10 @@
"type": "identifier",
"named": true
},
{
"type": "import_expression",
"named": true
},
{
"type": "index_expression",
"named": true
@@ -1836,6 +1900,10 @@
"type": "!",
"named": false
},
{
"type": "!=",
"named": false
},
{
"type": "\"",
"named": false