@@ -181,9 +181,12 @@ module.exports = grammar({
181181 ] ,
182182
183183 rules : {
184- source_file : $ => optional ( $ . _block ) ,
184+ source_file : $ => optional ( seq (
185+ sep1 ( $ . _terminator , $ . _block_form ) ,
186+ optional ( $ . _terminator )
187+ ) ) ,
185188
186- _block : $ => seq (
189+ block : $ => seq (
187190 sep1 ( $ . _terminator , $ . _block_form ) ,
188191 optional ( $ . _terminator )
189192 ) ,
@@ -258,7 +261,7 @@ module.exports = grammar({
258261 choice ( 'module' , 'baremodule' ) ,
259262 field ( 'name' , choice ( $ . identifier , $ . interpolation_expression ) ) ,
260263 optional ( $ . _terminator ) ,
261- optional ( $ . _block ) ,
264+ optional ( $ . block ) ,
262265 'end' ,
263266 ) ,
264267
@@ -288,7 +291,7 @@ module.exports = grammar({
288291 'struct' ,
289292 $ . type_head ,
290293 optional ( $ . _terminator ) ,
291- optional ( $ . _block ) ,
294+ optional ( $ . block ) ,
292295 'end' ,
293296 ) ,
294297
@@ -304,15 +307,15 @@ module.exports = grammar({
304307 'function' ,
305308 $ . signature ,
306309 optional ( $ . _terminator ) ,
307- optional ( $ . _block ) ,
310+ optional ( $ . block ) ,
308311 'end' ,
309312 ) ,
310313
311314 macro_definition : $ => seq (
312315 'macro' ,
313316 $ . signature ,
314317 optional ( $ . _terminator ) ,
315- optional ( $ . _block ) ,
318+ optional ( $ . block ) ,
316319 'end' ,
317320 ) ,
318321
@@ -341,23 +344,23 @@ module.exports = grammar({
341344 $ . using_statement ,
342345 ) ,
343346
344- compound_statement : $ => seq ( 'begin' , optional ( $ . _terminator ) , optional ( $ . _block ) , 'end' ) ,
347+ compound_statement : $ => seq ( 'begin' , optional ( $ . _terminator ) , optional ( $ . block ) , 'end' ) ,
345348
346- quote_statement : $ => seq ( 'quote' , optional ( $ . _terminator ) , optional ( $ . _block ) , 'end' ) ,
349+ quote_statement : $ => seq ( 'quote' , optional ( $ . _terminator ) , optional ( $ . block ) , 'end' ) ,
347350
348351 let_statement : $ => seq (
349352 'let' ,
350353 sep ( ',' , $ . _bracket_form ) ,
351354 $ . _terminator ,
352- optional ( $ . _block ) ,
355+ optional ( $ . block ) ,
353356 'end' ,
354357 ) ,
355358
356359 if_statement : $ => seq (
357360 'if' ,
358361 field ( 'condition' , $ . _expression ) ,
359362 optional ( $ . _terminator ) ,
360- optional ( $ . _block ) ,
363+ optional ( $ . block ) ,
361364 field ( 'alternative' , repeat ( $ . elseif_clause ) ) ,
362365 field ( 'alternative' , optional ( $ . else_clause ) ) ,
363366 'end' ,
@@ -367,19 +370,19 @@ module.exports = grammar({
367370 'elseif' ,
368371 field ( 'condition' , $ . _expression ) ,
369372 optional ( $ . _terminator ) ,
370- optional ( $ . _block ) ,
373+ optional ( $ . block ) ,
371374 ) ,
372375
373376 else_clause : $ => seq (
374377 'else' ,
375378 optional ( $ . _terminator ) ,
376- optional ( $ . _block ) ,
379+ optional ( $ . block ) ,
377380 ) ,
378381
379382 try_statement : $ => seq (
380383 'try' ,
381384 optional ( $ . _terminator ) ,
382- optional ( $ . _block ) ,
385+ optional ( $ . block ) ,
383386 choice (
384387 seq (
385388 $ . catch_clause ,
@@ -399,28 +402,28 @@ module.exports = grammar({
399402 'catch' ,
400403 optional ( $ . identifier ) ,
401404 optional ( $ . _terminator ) ,
402- optional ( $ . _block ) ,
405+ optional ( $ . block ) ,
403406 ) ) ,
404407
405408 finally_clause : $ => seq (
406409 'finally' ,
407410 optional ( $ . _terminator ) ,
408- optional ( $ . _block ) ,
411+ optional ( $ . block ) ,
409412 ) ,
410413
411414 for_statement : $ => seq (
412415 'for' ,
413416 sep1 ( ',' , $ . for_binding ) ,
414417 optional ( $ . _terminator ) ,
415- optional ( $ . _block ) ,
418+ optional ( $ . block ) ,
416419 'end' ,
417420 ) ,
418421
419422 while_statement : $ => seq (
420423 'while' ,
421424 field ( 'condition' , $ . _expression ) ,
422425 optional ( $ . _terminator ) ,
423- optional ( $ . _block ) ,
426+ optional ( $ . block ) ,
424427 'end' ,
425428 ) ,
426429
@@ -688,7 +691,7 @@ module.exports = grammar({
688691 'do' ,
689692 sep ( ',' , $ . _bracket_form ) ,
690693 $ . _terminator ,
691- optional ( $ . _block ) ,
694+ optional ( $ . block ) ,
692695 'end' ,
693696 ) ,
694697
0 commit comments