Skip to content

Commit 26ec797

Browse files
committed
Fix #3. Use { and } for explicit grouping
1 parent c13be13 commit 26ec797

File tree

2 files changed

+15
-11
lines changed

2 files changed

+15
-11
lines changed

fluent.asdl

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,16 @@ module Fluent
99

1010
pat = Pattern(expr* elements, bool quoted)
1111

12-
expr = MessageReference(iden id)
13-
| ExternalArgument(iden id)
14-
| CallExpression(iden callee, expr* args)
15-
| SelectExpression(expr exp, mem* vars)
16-
| MemberExpression(expr obj, memkey key)
17-
| KeyValueArgument(iden name, argval val)
18-
| Number(string value)
19-
| String(string value)
12+
expr = Selector(sel)
13+
| SelectExpression(sel sel, mem* vars)
14+
15+
sel = MessageReference(iden id)
16+
| ExternalArgument(iden id)
17+
| CallExpression(iden callee, expr* args)
18+
| MemberExpression(expr obj, memkey key)
19+
| KeyValueArgument(iden name, argval val)
20+
| Number(string value)
21+
| String(string value)
2022

2123
mem = Member(memkey key, pat value, bool default)
2224
memkey = Number(string value)

fluent.ebnf

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,15 +32,17 @@ quoted-text ::= ([^{"] | '\{' | '\"')+
3232
block-text ::= NL __ '|' unquoted-pattern
3333

3434
placeable ::= '{' __ expression __ '}'
35-
expression ::= quoted-pattern
35+
expression ::= selector-expression | select-expression
36+
37+
selector-expression ::= quoted-pattern
3638
| number
3739
| identifier
3840
| variable
39-
| select-expression
4041
| member-expression
4142
| call-expression
43+
| placeable
4244

43-
select-expression ::= expression __ ' ->' __ variants-list
45+
select-expression ::= selector-expression __ ' ->' __ variants-list
4446
member-expression ::= identifier '[' keyword ']'
4547
call-expression ::= builtin '(' __ arglist? __ ')'
4648
arglist ::= argument (__ ',' __ arglist)?

0 commit comments

Comments
 (0)