moved a subset of source file to the kern package

This commit is contained in:
2026-04-27 19:43:37 +02:00
parent f100adead3
commit 4d910dd069
107 changed files with 2080 additions and 1380 deletions
+12 -8
View File
@@ -4,6 +4,10 @@
// operator-pre-inc-dec.go
package expr
import (
"git.portale-stac.it/go-pkg/expr/kern"
)
// -------- pre increment term
func newPreIncTerm(tk *Token) *term {
@@ -17,18 +21,18 @@ func newPreIncTerm(tk *Token) *term {
}
}
func evalPreInc(ctx ExprContext, opTerm *term) (v any, err error) {
func evalPreInc(ctx kern.ExprContext, opTerm *term) (v any, err error) {
var childValue any
if childValue, err = opTerm.evalPrefix(ctx); err != nil {
return
}
if IsInteger(childValue) && opTerm.children[0].symbol() == SymVariable {
if kern.IsInteger(childValue) && opTerm.children[0].symbol() == SymVariable {
i := childValue.(int64) + 1
ctx.SetVar(opTerm.children[0].source(), i)
ctx.SetVar(opTerm.children[0].Source(), i)
v = i
} else {
err = opTerm.errIncompatibleType(childValue)
err = opTerm.errIncompatiblePrefixPostfixType(childValue)
}
return
}
@@ -46,18 +50,18 @@ func newPreDecTerm(tk *Token) *term {
}
}
func evalPreDec(ctx ExprContext, opTerm *term) (v any, err error) {
func evalPreDec(ctx kern.ExprContext, opTerm *term) (v any, err error) {
var childValue any
if childValue, err = opTerm.evalPrefix(ctx); err != nil {
return
}
if IsInteger(childValue) && opTerm.children[0].symbol() == SymVariable {
if kern.IsInteger(childValue) && opTerm.children[0].symbol() == SymVariable {
i := childValue.(int64) - 1
ctx.SetVar(opTerm.children[0].source(), i)
ctx.SetVar(opTerm.children[0].Source(), i)
v = i
} else {
err = opTerm.errIncompatibleType(childValue)
err = opTerm.errIncompatiblePrefixPostfixType(childValue)
}
return
}