@@ -6,7 +6,6 @@ package ottl // import "github.com/open-telemetry/opentelemetry-collector-contri
6
6
import (
7
7
"encoding/hex"
8
8
"fmt"
9
- "strings"
10
9
11
10
"github.com/alecthomas/participle/v2/lexer"
12
11
)
@@ -144,9 +143,8 @@ var compareOpTable = map[string]compareOp{
144
143
145
144
// Capture is how the parser converts an operator string to a compareOp.
146
145
func (c * compareOp ) Capture (values []string ) error {
147
- op , ok := compareOpTable [strings . Join ( values , "" ) ]
146
+ op , ok := compareOpTable [values [ 0 ] ]
148
147
if ! ok {
149
-
150
148
return fmt .Errorf ("'%s' is not a valid operator" , values [0 ])
151
149
}
152
150
* c = op
@@ -176,7 +174,7 @@ func (c *compareOp) String() string {
176
174
// comparison represents an optional boolean condition.
177
175
type comparison struct {
178
176
Left value `parser:"@@"`
179
- Op compareOp `parser:"@( OpComparison | Equal Equal) "`
177
+ Op compareOp `parser:"@OpComparison"`
180
178
Right value `parser:"@@"`
181
179
}
182
180
@@ -220,7 +218,7 @@ type converter struct {
220
218
}
221
219
222
220
type argument struct {
223
- Name string `parser:"(@(Lowercase(Uppercase | Lowercase)*) Equal (?! Equal) )?"`
221
+ Name string `parser:"(@(Lowercase(Uppercase | Lowercase)*) Equal)?"`
224
222
Value value `parser:"@@"`
225
223
}
226
224
@@ -436,14 +434,14 @@ func buildLexer() *lexer.StatefulDefinition {
436
434
{Name : `Float` , Pattern : `[-+]?\d*\.\d+([eE][-+]?\d+)?` },
437
435
{Name : `Int` , Pattern : `[-+]?\d+` },
438
436
{Name : `String` , Pattern : `"(\\"|[^"])*"` },
439
- {Name : `Equal` , Pattern : `=` },
440
437
{Name : `OpNot` , Pattern : `\b(not)\b` },
441
438
{Name : `OpOr` , Pattern : `\b(or)\b` },
442
439
{Name : `OpAnd` , Pattern : `\b(and)\b` },
443
- {Name : `OpComparison` , Pattern : `!=|>=|<=|>|<` },
440
+ {Name : `OpComparison` , Pattern : `==| !=|>=|<=|>|<` },
444
441
{Name : `OpAddSub` , Pattern : `\+|\-` },
445
442
{Name : `OpMultDiv` , Pattern : `\/|\*` },
446
443
{Name : `Boolean` , Pattern : `\b(true|false)\b` },
444
+ {Name : `Equal` , Pattern : `=` },
447
445
{Name : `LParen` , Pattern : `\(` },
448
446
{Name : `RParen` , Pattern : `\)` },
449
447
{Name : `Punct` , Pattern : `[,.\[\]]` },
0 commit comments