Skip to content

Commit 402cc2b

Browse files
committed
Fix #8. Forbid patterns as values of call-expression's key-value arguments
1 parent ab27e60 commit 402cc2b

File tree

2 files changed

+4
-2
lines changed

2 files changed

+4
-2
lines changed

fluent.asdl

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,15 @@ module Fluent
1414
| CallExpression(iden callee, expr* args)
1515
| SelectExpression(expr exp, mem* vars)
1616
| MemberExpression(expr obj, memkey key)
17-
| KeyValueArgument(iden name, expr* val)
17+
| KeyValueArgument(iden name, argval val)
1818
| Number(string value)
1919
| String(string value)
2020

2121
mem = Member(memkey key, pat value, bool default)
2222
memkey = Number(string value)
2323
| Keyword(iden? ns, key name)
24+
argval = Number(string value)
25+
| String(string value)
2426

2527
iden = (string name)
2628
key = (string name)

fluent.ebnf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,4 +46,4 @@ call-expression ::= builtin '(' __ arglist? __ ')'
4646
arglist ::= argument (__ ',' __ arglist)?
4747
argument ::= expression
4848
| keyword-argument
49-
keyword-argument ::= identifier __ ':' __ quoted-pattern
49+
keyword-argument ::= identifier __ ':' __ ('"' quoted-text? '"' | number)

0 commit comments

Comments
 (0)