Skip to content

Commit 47c76b3

Browse files
committed
change <initializer> to category for extensibility
1 parent b5dc271 commit 47c76b3

File tree

1 file changed

+15
-15
lines changed

1 file changed

+15
-15
lines changed

STD.pm6

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -217,6 +217,9 @@ proto token quote_mod {*}
217217
token category:trait_mod { <sym> }
218218
proto token trait_mod is endsym<keyspace> {*}
219219

220+
token category:initializer { <sym> }
221+
proto token initializer is endsym<ws> {*}
222+
220223
token category:type_declarator { <sym> }
221224
proto token type_declarator is endsym<keyspace> {*}
222225

@@ -2831,21 +2834,18 @@ grammar P6 is STD {
28312834
<.getdecl>
28322835
}
28332836

2834-
token initializer {
2835-
<?before '=' | '.=' | ':=' | '::=' >
2836-
<infix> <.ws>
2837-
[
2838-
:my $infix = $<infix>.Str;
2839-
[
2840-
|| <?{ $infix eq '=' }>
2841-
[ <EXPR(($*LEFTSIGIL eq '$' ?? (item %item_assignment) !! (item %list_prefix) ))>
2842-
|| <.panic: "Malformed initializer"> ]
2843-
|| <?{ $infix eq ':=' or $infix eq '::=' }> [
2844-
<EXPR(item %list_prefix)> || <.panic: "Malformed binding"> ]
2845-
|| <?{ $infix eq '.=' }>
2846-
[ <dottyopish> || <.panic: "Malformed mutator method call"> ]
2847-
]
2848-
]
2837+
token initializer:sym<=> {
2838+
<sym> <EXPR(($*LEFTSIGIL eq '$' ?? (item %item_assignment) !! (item %list_prefix) ))>
2839+
|| <.panic: "Malformed initializer">
2840+
}
2841+
token initializer:sym<:=> {
2842+
<sym> <EXPR(item %list_prefix)> || <.panic: "Malformed binding">
2843+
}
2844+
token initializer:sym<::=> {
2845+
<sym> <EXPR(item %list_prefix)> || <.panic: "Malformed binding">
2846+
}
2847+
token initializer:sym<.=> {
2848+
<sym> <dottyopish> || <.panic: "Malformed mutator method call">
28492849
}
28502850

28512851
token type_constraint {

0 commit comments

Comments
 (0)