Simplify parser
Change-Id: I5ae560d7c984cf9899b908adc2dd645714114202
diff --git a/parser/parser.go b/parser/parser.go
index 0dc2b03..e122edc 100644
--- a/parser/parser.go
+++ b/parser/parser.go
@@ -242,42 +242,22 @@
return nil, fmt.Errorf("failed to parse 'wrap' field in unknown node type '%s': %w", raw.Type, err)
}
- // Check if the wrapped node is a known type
- if wrapRaw.Type == "koral:term" || wrapRaw.Type == "koral:token" || wrapRaw.Type == "koral:termGroup" {
- wrap, err := parseNode(wrapRaw)
- if err != nil {
- return nil, fmt.Errorf("error parsing wrapped node in unknown node type '%s': %w", raw.Type, err)
- }
- catchall.Wrap = wrap
- } else {
- // For unknown types, recursively parse
- wrap, err := parseNode(wrapRaw)
- if err != nil {
- return nil, fmt.Errorf("error parsing wrapped node in unknown node type '%s': %w", raw.Type, err)
- }
- catchall.Wrap = wrap
+ wrap, err := parseNode(wrapRaw)
+ if err != nil {
+ return nil, fmt.Errorf("error parsing wrapped node in unknown node type '%s': %w", raw.Type, err)
}
+ catchall.Wrap = wrap
}
// Parse operands if present
if len(raw.Operands) > 0 {
operands := make([]ast.Node, len(raw.Operands))
for i, op := range raw.Operands {
- // Check if the operand is a known type
- if op.Type == "koral:term" || op.Type == "koral:token" || op.Type == "koral:termGroup" {
- node, err := parseNode(op)
- if err != nil {
- return nil, fmt.Errorf("error parsing operand %d in unknown node type '%s': %w", i+1, raw.Type, err)
- }
- operands[i] = node
- } else {
- // For unknown types, recursively parse
- node, err := parseNode(op)
- if err != nil {
- return nil, fmt.Errorf("error parsing operand %d in unknown node type '%s': %w", i+1, raw.Type, err)
- }
- operands[i] = node
+ node, err := parseNode(op)
+ if err != nil {
+ return nil, fmt.Errorf("error parsing operand %d in unknown node type '%s': %w", i+1, raw.Type, err)
}
+ operands[i] = node
}
catchall.Operands = operands
}