Skip to content

Commit b5dc271

Browse files
committed
new rule to handle what can go inside param :x()
1 parent afb775b commit b5dc271

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

STD.pm6

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2872,16 +2872,24 @@ grammar P6 is STD {
28722872

28732873
token named_param {
28742874
:my $*GOAL ::= ')';
2875+
:dba('named parameter')
28752876
':'
28762877
[
2877-
| <name=.identifier> '(' <.ws>
2878-
[ <named_param> | <param_var> <.ws> ]
2879-
[ ')' || <.panic: "Unable to parse named parameter; couldn't find right parenthesis"> ]
2878+
| <name=.identifier> '(' ~ ')' <named_param_term>
28802879
| <param_var(1)>
2881-
| '\\' <name=.identifier> {.add_name($<name>.Str); }
2880+
| '\\' <defterm>
28822881
]
28832882
}
28842883

2884+
token named_param_term {
2885+
<.ws>
2886+
[
2887+
| <named_param>
2888+
| <param_var>
2889+
| '\\' <defterm>
2890+
] <.ws>
2891+
}
2892+
28852893
token param_var($named = 0) {
28862894
:dba('formal parameter')
28872895
[

0 commit comments

Comments
 (0)