@@ -32,7 +32,7 @@ module.exports = grammar({
3232 [ $ . _prefix ] ,
3333 [ $ . _expression , $ . _variable_declarator ] ,
3434 [ $ . _expression , $ . function_call_statement ] ,
35- [ $ . function_name , $ . function_name_field ]
35+ [ $ . function_name , $ . function_name_field ]
3636 ] ,
3737
3838 externals : $ => [
@@ -46,7 +46,7 @@ module.exports = grammar({
4646 // Return statement
4747 return_statement : $ => seq (
4848 'return' ,
49- optional ( sequence ( $ . _expression ) ) ,
49+ optional ( commaSeq ( $ . _expression ) ) ,
5050 optional ( $ . _empty_statement )
5151 ) ,
5252
@@ -77,26 +77,26 @@ module.exports = grammar({
7777
7878 // Statements: Variable eclarations
7979 variable_declaration : $ => seq (
80- sequence ( alias ( $ . _variable_declarator , $ . variable_declarator ) ) ,
80+ commaSeq ( alias ( $ . _variable_declarator , $ . variable_declarator ) ) ,
8181 '=' ,
82- sequence ( $ . _expression )
82+ commaSeq ( $ . _expression )
8383 ) ,
8484
8585 local_variable_declaration : $ => seq (
8686 'local' ,
8787 alias ( $ . _local_variable_declarator , $ . variable_declarator ) ,
88- optional ( seq ( '=' , sequence ( $ . _expression ) ) )
88+ optional ( seq ( '=' , commaSeq ( $ . _expression ) ) )
8989 ) ,
9090
9191 _variable_declarator : $ => choice (
9292 $ . identifier ,
9393 seq ( $ . _prefix , '[' , $ . _expression , ']' ) ,
94- $ . field_expression
94+ $ . field_expression
9595 ) ,
9696
97- field_expression : $ => seq ( $ . _prefix , '.' , alias ( $ . identifier , $ . property_identifier ) ) ,
97+ field_expression : $ => seq ( $ . _prefix , '.' , alias ( $ . identifier , $ . property_identifier ) ) ,
9898
99- _local_variable_declarator : $ => sequence ( $ . identifier ) ,
99+ _local_variable_declarator : $ => commaSeq ( $ . identifier ) ,
100100
101101 // Statements: Control statements
102102 do_statement : $ => seq (
@@ -177,9 +177,9 @@ module.exports = grammar({
177177 ) ,
178178
179179 _in_loop_expression : $ => seq (
180- sequence ( $ . identifier ) ,
180+ commaSeq ( $ . identifier ) ,
181181 'in' ,
182- sequence ( $ . _expression ) ,
182+ commaSeq ( $ . _expression ) ,
183183 ) ,
184184
185185 // Statements: Simple statements
@@ -219,22 +219,22 @@ module.exports = grammar({
219219 ) ) ,
220220
221221 arguments : $ => choice (
222- seq ( '(' , optional ( sequence ( $ . _expression ) ) , ')' ) ,
222+ seq ( '(' , optional ( commaSeq ( $ . _expression ) ) , ')' ) ,
223223 $ . table ,
224224 $ . string
225225 ) ,
226226
227227 function_name : $ => seq (
228- choice ( $ . identifier ,
229- $ . function_name_field
230- ) ,
228+ choice ( $ . identifier ,
229+ $ . function_name_field
230+ ) ,
231231 optional ( seq ( ':' , alias ( $ . identifier , $ . method ) ) )
232232 ) ,
233233
234- function_name_field : $ => seq (
234+ function_name_field : $ => seq (
235235 field ( "object" , $ . identifier ) ,
236236 repeat ( seq ( '.' , alias ( $ . identifier , $ . property_identifier ) ) ) ,
237- ) ,
237+ ) ,
238238
239239 parameters : $ => seq (
240240 '(' ,
@@ -363,31 +363,30 @@ module.exports = grammar({
363363
364364 // Expressions: Primitives
365365 number : $ => {
366- const
367- decimal_digits = / [ 0 - 9 ] + /
368- signed_integer = seq ( optional ( choice ( '-' , '+' ) ) , decimal_digits )
369- decimal_exponent_part = seq ( choice ( 'e' , 'E' ) , signed_integer )
370-
371- decimal_integer_literal = choice (
372- '0' ,
373- seq ( optional ( '0' ) , / [ 1 - 9 ] / , optional ( decimal_digits ) )
374- )
375-
376- hex_digits = / [ a - f A - F 0 - 9 ] + /
377- hex_exponent_part = seq ( choice ( 'p' , 'P' ) , signed_integer )
378-
379- decimal_literal = choice (
380- seq ( decimal_integer_literal , '.' , optional ( decimal_digits ) , optional ( decimal_exponent_part ) ) ,
381- seq ( '.' , decimal_digits , optional ( decimal_exponent_part ) ) ,
382- seq ( decimal_integer_literal , optional ( decimal_exponent_part ) )
383- )
384-
385- hex_literal = seq (
386- choice ( '0x' , '0X' ) ,
387- hex_digits ,
388- optional ( seq ( '.' , hex_digits ) ) ,
389- optional ( hex_exponent_part )
390- )
366+ const decimal_digits = / [ 0 - 9 ] + /
367+ const signed_integer = seq ( optional ( choice ( '-' , '+' ) ) , decimal_digits )
368+ const decimal_exponent_part = seq ( choice ( 'e' , 'E' ) , signed_integer )
369+
370+ const decimal_integer_literal = choice (
371+ '0' ,
372+ seq ( optional ( '0' ) , / [ 1 - 9 ] / , optional ( decimal_digits ) )
373+ )
374+
375+ const hex_digits = / [ a - f A - F 0 - 9 ] + /
376+ const hex_exponent_part = seq ( choice ( 'p' , 'P' ) , signed_integer )
377+
378+ const decimal_literal = choice (
379+ seq ( decimal_integer_literal , '.' , optional ( decimal_digits ) , optional ( decimal_exponent_part ) ) ,
380+ seq ( '.' , decimal_digits , optional ( decimal_exponent_part ) ) ,
381+ seq ( decimal_integer_literal , optional ( decimal_exponent_part ) )
382+ )
383+
384+ const hex_literal = seq (
385+ choice ( '0x' , '0X' ) ,
386+ hex_digits ,
387+ optional ( seq ( '.' , hex_digits ) ) ,
388+ optional ( hex_exponent_part )
389+ )
391390
392391 return token ( choice (
393392 decimal_literal ,
@@ -404,6 +403,6 @@ module.exports = grammar({
404403 }
405404} )
406405
407- function sequence ( rule ) {
406+ function commaSeq ( rule ) {
408407 return seq ( rule , repeat ( seq ( ',' , rule ) ) )
409408}
0 commit comments