Skip to content

Commit 4de6ccd

Browse files
committed
Revert "Allow include statements anywhere"
This reverts commit 5d067ae.
1 parent bdc4fb2 commit 4de6ccd

File tree

5 files changed

+652085
-689265
lines changed

5 files changed

+652085
-689265
lines changed

grammar.js

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,6 @@ module.exports = grammar({
6969
/\s|\\\r?\n/,
7070
$.comment,
7171
'&',
72-
$.include_statement,
7372
],
7473

7574
inline: $ => [
@@ -107,6 +106,7 @@ module.exports = grammar({
107106
),
108107

109108
_top_level_item: $ => prec(2, choice(
109+
seq($.include_statement, $._end_of_statement),
110110
$.program,
111111
$.module,
112112
$.submodule,
@@ -508,6 +508,7 @@ module.exports = grammar({
508508
$.function,
509509
$.module_procedure,
510510
$.subroutine,
511+
$.include_statement,
511512
alias($.preproc_if_in_internal_procedures, $.preproc_if),
512513
alias($.preproc_ifdef_in_internal_procedures, $.preproc_ifdef),
513514
$.preproc_include,
@@ -519,6 +520,7 @@ module.exports = grammar({
519520
// Variable Declarations
520521

521522
_specification_part: $ => prec(1, choice(
523+
prec(1, seq($.include_statement, $._end_of_statement)),
522524
seq($.use_statement, $._end_of_statement),
523525
seq($.implicit_statement, $._end_of_statement),
524526
seq($.save_statement, $._end_of_statement),
@@ -683,6 +685,7 @@ module.exports = grammar({
683685
alias(caseInsensitive('sequence'), $.sequence_statement),
684686
$._end_of_statement
685687
),
688+
seq($.include_statement, $._end_of_statement),
686689
seq($.variable_declaration, $._end_of_statement),
687690
$.preproc_include,
688691
$.preproc_def,
@@ -1043,6 +1046,7 @@ module.exports = grammar({
10431046
$.call_expression,
10441047
$.subroutine_call,
10451048
$.keyword_statement,
1049+
$.include_statement,
10461050
$.if_statement,
10471051
$.arithmetic_if_statement,
10481052
$.where_statement,
@@ -1144,8 +1148,7 @@ module.exports = grammar({
11441148

11451149
include_statement: $ => seq(
11461150
caseInsensitive('include'),
1147-
field("path", alias($.string_literal, $.filename)),
1148-
$._end_of_statement,
1151+
field("path", alias($.string_literal, $.filename))
11491152
),
11501153

11511154
data_statement: $ => seq(

src/grammar.json

Lines changed: 51 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,19 @@
3232
"content": {
3333
"type": "CHOICE",
3434
"members": [
35+
{
36+
"type": "SEQ",
37+
"members": [
38+
{
39+
"type": "SYMBOL",
40+
"name": "include_statement"
41+
},
42+
{
43+
"type": "SYMBOL",
44+
"name": "_end_of_statement"
45+
}
46+
]
47+
},
3548
{
3649
"type": "SYMBOL",
3750
"name": "program"
@@ -9056,6 +9069,10 @@
90569069
"type": "SYMBOL",
90579070
"name": "subroutine"
90589071
},
9072+
{
9073+
"type": "SYMBOL",
9074+
"name": "include_statement"
9075+
},
90599076
{
90609077
"type": "ALIAS",
90619078
"content": {
@@ -9098,6 +9115,23 @@
90989115
"content": {
90999116
"type": "CHOICE",
91009117
"members": [
9118+
{
9119+
"type": "PREC",
9120+
"value": 1,
9121+
"content": {
9122+
"type": "SEQ",
9123+
"members": [
9124+
{
9125+
"type": "SYMBOL",
9126+
"name": "include_statement"
9127+
},
9128+
{
9129+
"type": "SYMBOL",
9130+
"name": "_end_of_statement"
9131+
}
9132+
]
9133+
}
9134+
},
91019135
{
91029136
"type": "SEQ",
91039137
"members": [
@@ -10427,6 +10461,19 @@
1042710461
}
1042810462
]
1042910463
},
10464+
{
10465+
"type": "SEQ",
10466+
"members": [
10467+
{
10468+
"type": "SYMBOL",
10469+
"name": "include_statement"
10470+
},
10471+
{
10472+
"type": "SYMBOL",
10473+
"name": "_end_of_statement"
10474+
}
10475+
]
10476+
},
1043010477
{
1043110478
"type": "SEQ",
1043210479
"members": [
@@ -12854,6 +12901,10 @@
1285412901
"type": "SYMBOL",
1285512902
"name": "keyword_statement"
1285612903
},
12904+
{
12905+
"type": "SYMBOL",
12906+
"name": "include_statement"
12907+
},
1285712908
{
1285812909
"type": "SYMBOL",
1285912910
"name": "if_statement"
@@ -13475,10 +13526,6 @@
1347513526
"named": true,
1347613527
"value": "filename"
1347713528
}
13478-
},
13479-
{
13480-
"type": "SYMBOL",
13481-
"name": "_end_of_statement"
1348213529
}
1348313530
]
1348413531
},
@@ -20745,10 +20792,6 @@
2074520792
{
2074620793
"type": "STRING",
2074720794
"value": "&"
20748-
},
20749-
{
20750-
"type": "SYMBOL",
20751-
"name": "include_statement"
2075220795
}
2075320796
],
2075420797
"conflicts": [

0 commit comments

Comments
 (0)