@@ -42,7 +42,7 @@ TernaryTail
42
42
}
43
43
44
44
ConditionalOr
45
- = and :ConditionalAnd |1.. , S "||" |
45
+ = and :ConditionalAnd |1.. , $( S "||" ) |
46
46
{
47
47
/* : Eventual<Expr> */
48
48
if (and .length === 1 ) {
@@ -53,7 +53,7 @@ ConditionalOr
53
53
}
54
54
55
55
ConditionalAnd
56
- = relation :Relation |1.. , S "&&" |
56
+ = relation :Relation |1.. , $( S "&&" ) |
57
57
{
58
58
/* : Eventual<Expr> */
59
59
if (relation .length === 1 ) {
@@ -82,7 +82,7 @@ RelationTail
82
82
83
83
Relop "relational operator"
84
84
= (
85
- operator :("<=" / "<" / ">=" / ">" / "==" / "!=" )
85
+ operator :$ ("<=" / "<" / ">=" / ">" / "==" / "!=" )
86
86
{ return ` _${ operator} _` }
87
87
)
88
88
/ "in" { return " @in" }
@@ -123,7 +123,7 @@ MultiplicationTail
123
123
124
124
Unary
125
125
= Member
126
- / S ops :( "!" + / "-" + ) expr :Member
126
+ / S ops :$ ( "!" + / "-" + ) expr :Member
127
127
{
128
128
/* : Eventual<Expr> */
129
129
if (ops .length % 2 === 0 ) {
@@ -150,31 +150,31 @@ MemberTail
150
150
Access
151
151
= "." S field :Identifier S ! [(]
152
152
{ return ((prevExpr : Eventual < Expr > ) => builder .newSelectExpr (offset (), prevExpr, field)) }
153
- / "." S Identifier :Identifier S "(" args :ExprList ")"
154
- { return ((prevExpr : Eventual < Expr > ) => builder .newMemberCallExpr (offset (), prevExpr, Identifier , args)) }
153
+ / "." S identifier :Identifier S "(" args :ExprList ")"
154
+ { return ((prevExpr : Eventual < Expr > ) => builder .newMemberCallExpr (offset (), prevExpr, identifier , args)) }
155
155
/ "[" index :Expr "]"
156
156
{ return ((prevExpr : Eventual < Expr > ) => builder .newCallExpr (offset (), " _[_]" , [prevExpr, index])) }
157
157
158
158
Primary
159
159
= Literal
160
160
/ "." ? S name :Identifier ! (S [({]) ! ("." Identifier |1.. , "." | "{" )
161
161
{ return builder .newIdentExpr (offset (), name) }
162
- / "." ? S Identifier :Identifier S "(" args :ExprList ")"
163
- { return builder .newCallExpr (offset (), Identifier , args) }
162
+ / "." ? S identifier :Identifier S "(" args :ExprList ")"
163
+ { return builder .newCallExpr (offset (), identifier , args) }
164
164
/ "." ? name :$Identifier |1.. , "." | S "{" entries :FieldInits ("," )? S "}"
165
165
{ return builder .newStructExpr (offset (), entries, name) }
166
166
/ "(" @ Expr ")"
167
167
/ elements :("[" @ ExprList ("," )? S "]" )
168
168
{ return builder .newListExpr (offset (), elements) }
169
- / entries :("{" @ MapInits ( "," )? S "}" )
169
+ / entries :("{" @ MapInits $(( "," )? S "}" ) )
170
170
{ return builder .newStructExpr (offset (), entries) }
171
171
172
172
ExprList
173
173
= Expr |0.. , "," |
174
174
175
175
FieldInits
176
176
= (
177
- S key :Identifier S ":" value :Expr
177
+ S key :Identifier $( S ":" ) value :Expr
178
178
{ return builder .newStructEntry (offset (), key, value) }
179
179
)|0.. , "," |
180
180
@@ -210,7 +210,7 @@ UnsignedIntLiteral "unsigned integer literal"
210
210
{ return builder .newUnsignedInt64Expr (offset (), digits) }
211
211
212
212
FloatLiteral "float literal"
213
- = digits : $("-" ? Digit * "." Digit + Exponent ? / "-" ? Digit + Exponent )
213
+ = digits :$("-" ? Digit * "." Digit + Exponent ? / "-" ? Digit + Exponent )
214
214
{ return builder .newDoubleExpr (offset (), digits) }
215
215
216
216
Digit "digit"
285
285
= WhiteSpace ?
286
286
287
287
WhiteSpace "whitespace"
288
- = [\t\n\f\r ]+
288
+ = $( [\t\n\f\r ]+ )
289
289
290
290
Comment "comment"
291
291
= '//' ! NewLine * NewLine
0 commit comments