Add top-level declarations
This commit is contained in:
parent
1449aa939f
commit
3cf701dbb1
|
@ -28,6 +28,7 @@ module.exports = grammar({
|
||||||
rules: {
|
rules: {
|
||||||
source_file: ($) => choice(
|
source_file: ($) => choice(
|
||||||
$._expr,
|
$._expr,
|
||||||
|
optional($._declaration_chunks),
|
||||||
),
|
),
|
||||||
|
|
||||||
// Expressions {{{
|
// Expressions {{{
|
||||||
|
|
|
@ -8,6 +8,18 @@
|
||||||
{
|
{
|
||||||
"type": "SYMBOL",
|
"type": "SYMBOL",
|
||||||
"name": "_expr"
|
"name": "_expr"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "CHOICE",
|
||||||
|
"members": [
|
||||||
|
{
|
||||||
|
"type": "SYMBOL",
|
||||||
|
"name": "_declaration_chunks"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "BLANK"
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
|
@ -1475,8 +1475,8 @@
|
||||||
"named": true,
|
"named": true,
|
||||||
"fields": {},
|
"fields": {},
|
||||||
"children": {
|
"children": {
|
||||||
"multiple": false,
|
"multiple": true,
|
||||||
"required": true,
|
"required": false,
|
||||||
"types": [
|
"types": [
|
||||||
{
|
{
|
||||||
"type": "array_expression",
|
"type": "array_expression",
|
||||||
|
@ -1514,6 +1514,10 @@
|
||||||
"type": "if_expression",
|
"type": "if_expression",
|
||||||
"named": true
|
"named": true
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"type": "import_declaration",
|
||||||
|
"named": true
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"type": "integer_literal",
|
"type": "integer_literal",
|
||||||
"named": true
|
"named": true
|
||||||
|
|
2852
src/parser.c
2852
src/parser.c
File diff suppressed because it is too large
Load diff
34
test/corpus/declarations.txt
Normal file
34
test/corpus/declarations.txt
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
================================================================================
|
||||||
|
Empty declarations
|
||||||
|
================================================================================
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(source_file)
|
||||||
|
|
||||||
|
================================================================================
|
||||||
|
Import
|
||||||
|
================================================================================
|
||||||
|
|
||||||
|
import "a.tih"
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(source_file
|
||||||
|
(import_declaration
|
||||||
|
file: (string_literal)))
|
||||||
|
|
||||||
|
================================================================================
|
||||||
|
Multiple imports
|
||||||
|
================================================================================
|
||||||
|
|
||||||
|
import "a.tih"
|
||||||
|
import "b.tih"
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(source_file
|
||||||
|
(import_declaration
|
||||||
|
file: (string_literal))
|
||||||
|
(import_declaration
|
||||||
|
file: (string_literal)))
|
Loading…
Reference in a new issue