add variadic_parameter; closes #68

pull/904/head
PrestonKnopp 2025-09-30 23:25:54 +07:00
parent ec2c830eda
commit d6c71f4b0c
2 changed files with 35 additions and 0 deletions

@ -836,12 +836,19 @@ module.exports = grammar({
),
),
variadic_parameter: ($) =>
seq(
"...",
$._parameters,
),
_parameters: ($) =>
choice(
$.identifier,
$.typed_parameter,
$.default_parameter,
$.typed_default_parameter,
$.variadic_parameter,
),
parameters: ($) => seq("(", optional(trailCommaSep1($._parameters)), ")"),

@ -1,3 +1,31 @@
============================================
Functions: Variadic parameters
============================================
func sum(first_number: float, ...numbers: Array) -> float:
return 0.0
---
(source
(function_definition
(name)
(parameters
(typed_parameter
(identifier)
(type
(identifier)))
(variadic_parameter
(typed_parameter
(identifier)
(type
(identifier)))))
(type
(identifier))
(body
(return_statement
(float)))))
============================================
Functions: Generic types in parameters and return types
============================================