Skip to content

Commit f6cb866

Browse files
committed
Improve optimizations
1 parent f7337fb commit f6cb866

File tree

3 files changed

+173
-293
lines changed

3 files changed

+173
-293
lines changed

cel.peggy

+12-12
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ TernaryTail
4242
}
4343

4444
ConditionalOr
45-
= and:ConditionalAnd|1.., S "||"|
45+
= and:ConditionalAnd|1.., $(S "||")|
4646
{
4747
/* : Eventual<Expr> */
4848
if (and.length === 1) {
@@ -53,7 +53,7 @@ ConditionalOr
5353
}
5454

5555
ConditionalAnd
56-
= relation:Relation|1.., S "&&"|
56+
= relation:Relation|1.., $(S "&&")|
5757
{
5858
/* : Eventual<Expr> */
5959
if (relation.length === 1) {
@@ -82,7 +82,7 @@ RelationTail
8282

8383
Relop "relational operator"
8484
= (
85-
operator:("<=" / "<" / ">=" / ">" / "==" / "!=")
85+
operator:$("<=" / "<" / ">=" / ">" / "==" / "!=")
8686
{ return `_${operator}_` }
8787
)
8888
/ "in" { return "@in" }
@@ -123,7 +123,7 @@ MultiplicationTail
123123

124124
Unary
125125
= Member
126-
/ S ops:( "!"+ / "-"+ ) expr:Member
126+
/ S ops:$( "!"+ / "-"+ ) expr:Member
127127
{
128128
/* : Eventual<Expr> */
129129
if (ops.length % 2 === 0) {
@@ -150,31 +150,31 @@ MemberTail
150150
Access
151151
= "." S field:Identifier S ![(]
152152
{ 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)) }
155155
/ "[" index:Expr "]"
156156
{ return ((prevExpr: Eventual<Expr>) => builder.newCallExpr(offset(), "_[_]", [prevExpr, index])) }
157157

158158
Primary
159159
= Literal
160160
/ "."? S name:Identifier !(S [({]) !("." Identifier|1.., "."| "{")
161161
{ 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) }
164164
/ "."? name:$Identifier|1.., "."| S "{" entries:FieldInits (",")? S "}"
165165
{ return builder.newStructExpr(offset(), entries, name) }
166166
/ "(" @Expr ")"
167167
/ elements:("[" @ExprList (",")? S "]")
168168
{ return builder.newListExpr(offset(), elements) }
169-
/ entries:("{" @MapInits (",")? S "}")
169+
/ entries:("{" @MapInits $((",")? S "}"))
170170
{ return builder.newStructExpr(offset(), entries) }
171171

172172
ExprList
173173
= Expr|0.., ","|
174174

175175
FieldInits
176176
= (
177-
S key:Identifier S ":" value:Expr
177+
S key:Identifier $(S ":") value:Expr
178178
{ return builder.newStructEntry(offset(), key, value) }
179179
)|0.., ","|
180180

@@ -210,7 +210,7 @@ UnsignedIntLiteral "unsigned integer literal"
210210
{ return builder.newUnsignedInt64Expr(offset(), digits) }
211211

212212
FloatLiteral "float literal"
213-
= digits: $("-"? Digit* "." Digit+ Exponent? / "-"? Digit+ Exponent)
213+
= digits:$("-"? Digit* "." Digit+ Exponent? / "-"? Digit+ Exponent)
214214
{ return builder.newDoubleExpr(offset(), digits) }
215215

216216
Digit "digit"
@@ -285,7 +285,7 @@ S
285285
= WhiteSpace?
286286

287287
WhiteSpace "whitespace"
288-
= [\t\n\f\r ]+
288+
= $([\t\n\f\r ]+)
289289

290290
Comment "comment"
291291
= '//' !NewLine* NewLine

0 commit comments

Comments
 (0)