22 lines
423 B
Go
22 lines
423 B
Go
// Copyright (c) 2024 Celestino Amoroso (celestino.amoroso@gmail.com).
|
|
// All rights reserved.
|
|
|
|
// term.go
|
|
package kern
|
|
|
|
import (
|
|
"fmt"
|
|
)
|
|
|
|
type Term interface {
|
|
fmt.Stringer
|
|
// Children() []Term
|
|
Source() string
|
|
GetChildCount() (count int)
|
|
GetChild(index int) Term
|
|
GetChildSource(index int) string
|
|
Compute(ctx ExprContext) (result any, err error)
|
|
IsAssign() bool
|
|
Errorf(template string, args ...any) (err error)
|
|
}
|