runtimev2

package
v0.3.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 24, 2025 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CheckFnParamDef

func CheckFnParamDef(params []*Param) error

func CheckPassParam

func CheckPassParam(ctx *Task, expr *ast.CallExpr, params []*Param) *errchain.PlError

func GetParam

func GetParam(ctx *Task, expr *ast.CallExpr, params []*Param, i int) (any, *errchain.PlError)

GetParam get the value by specifying the parameter position, index starts from 1

func GetParamBool

func GetParamBool(ctx *Task, expr *ast.CallExpr, params []*Param, i int) (bool, *errchain.PlError)

func GetParamFloat

func GetParamFloat(ctx *Task, expr *ast.CallExpr, params []*Param, i int) (float64, *errchain.PlError)

func GetParamInt

func GetParamInt(ctx *Task, expr *ast.CallExpr, params []*Param, i int) (int64, *errchain.PlError)

func GetParamList

func GetParamList(ctx *Task, expr *ast.CallExpr, params []*Param, i int) ([]any, *errchain.PlError)

func GetParamMap

func GetParamMap(ctx *Task, expr *ast.CallExpr, params []*Param, i int) (map[string]any, *errchain.PlError)

func GetParamString

func GetParamString(ctx *Task, expr *ast.CallExpr, params []*Param, i int) (string, *errchain.PlError)

func NewRunError

func NewRunError(ctx *Task, err string, pos token.LnColPos) *errchain.PlError

func RunArithmeticExpr

func RunArithmeticExpr(ctx *Task, expr *ast.ArithmeticExpr) *errchain.PlError

func RunArithmeticExprCheck

func RunArithmeticExprCheck(ctx *Task, ctxCheck *ContextCheck, expr *ast.ArithmeticExpr) *errchain.PlError

func RunAssignmentExpr

func RunAssignmentExpr(ctx *Task, expr *ast.AssignmentExpr) *errchain.PlError

RunAssignmentExpr runs assignment expression, but actually it is a stmt

func RunAssignmentExprCheck

func RunAssignmentExprCheck(ctx *Task, ctxCheck *ContextCheck, expr *ast.AssignmentExpr) *errchain.PlError

func RunAttrExprCheck

func RunAttrExprCheck(ctx *Task, ctxCheck *ContextCheck, expr *ast.AttrExpr) *errchain.PlError

func RunBreakStmt

func RunBreakStmt(ctx *Task, stmt *ast.BreakStmt) *errchain.PlError

func RunBreakStmtCheck

func RunBreakStmtCheck(ctx *Task, ctxCheck *ContextCheck, stmt *ast.BreakStmt) *errchain.PlError

func RunCallExpr

func RunCallExpr(ctx *Task, expr *ast.CallExpr) *errchain.PlError

func RunCallExprCheck

func RunCallExprCheck(ctx *Task, ctxCheck *ContextCheck, expr *ast.CallExpr) *errchain.PlError

func RunConditionExpr

func RunConditionExpr(ctx *Task, expr *ast.ConditionalExpr) *errchain.PlError

func RunConditionExprCheck

func RunConditionExprCheck(ctx *Task, ctxCheck *ContextCheck, expr *ast.ConditionalExpr) *errchain.PlError

func RunContinueStmt

func RunContinueStmt(ctx *Task, stmt *ast.ContinueStmt) *errchain.PlError

func RunContinueStmtCheck

func RunContinueStmtCheck(ctx *Task, ctxCheck *ContextCheck, stmt *ast.ContinueStmt) *errchain.PlError

func RunExpr

func RunExpr(ctx *Task, node *ast.Node) *errchain.PlError

RunExpr for all expr.

func RunForInStmt

func RunForInStmt(ctx *Task, stmt *ast.ForInStmt) *errchain.PlError

func RunForInStmtCheck

func RunForInStmtCheck(ctx *Task, ctxCheck *ContextCheck, stmt *ast.ForInStmt) *errchain.PlError

func RunForStmt

func RunForStmt(ctx *Task, stmt *ast.ForStmt) *errchain.PlError

func RunForStmtCheck

func RunForStmtCheck(ctx *Task, ctxCheck *ContextCheck, stmt *ast.ForStmt) *errchain.PlError

func RunIfElseStmt

func RunIfElseStmt(ctx *Task, stmt *ast.IfelseStmt) *errchain.PlError

func RunIfElseStmtCheck

func RunIfElseStmtCheck(ctx *Task, ctxCheck *ContextCheck, stmt *ast.IfelseStmt) *errchain.PlError

func RunInExpr

func RunInExpr(ctx *Task, expr *ast.InExpr) *errchain.PlError

func RunInExprCheck

func RunInExprCheck(ctx *Task, ctxCheck *ContextCheck, expr *ast.InExpr) *errchain.PlError

func RunIndexExprGet

func RunIndexExprGet(ctx *Task, expr *ast.IndexExpr) *errchain.PlError

func RunIndexExprGetCheck

func RunIndexExprGetCheck(ctx *Task, ctxCheck *ContextCheck, expr *ast.IndexExpr) *errchain.PlError

func RunListInitExpr

func RunListInitExpr(ctx *Task, expr *ast.ListLiteral) *errchain.PlError

func RunListInitExprCheck

func RunListInitExprCheck(ctx *Task, ctxCheck *ContextCheck, expr *ast.ListLiteral) *errchain.PlError

func RunMapInitExpr

func RunMapInitExpr(ctx *Task, expr *ast.MapLiteral) *errchain.PlError

func RunMapInitExprCheck

func RunMapInitExprCheck(ctx *Task, ctxCheck *ContextCheck, expr *ast.MapLiteral) *errchain.PlError

func RunParenExpr

func RunParenExpr(ctx *Task, expr *ast.ParenExpr) *errchain.PlError

func RunParenExprCheck

func RunParenExprCheck(ctx *Task, ctxCheck *ContextCheck, expr *ast.ParenExpr) *errchain.PlError

func RunSliceExpr

func RunSliceExpr(ctx *Task, expr *ast.SliceExpr) *errchain.PlError

func RunSliceExprCheck

func RunSliceExprCheck(ctx *Task, ctxCheck *ContextCheck, expr *ast.SliceExpr) *errchain.PlError

func RunStmtCheck

func RunStmtCheck(ctx *Task, ctxCheck *ContextCheck, node *ast.Node) *errchain.PlError

func RunStmts

func RunStmts(ctx *Task, nodes ast.Stmts) *errchain.PlError

func RunStmtsCheck

func RunStmtsCheck(ctx *Task, ctxCheck *ContextCheck, nodes ast.Stmts) *errchain.PlError

func RunUnaryExpr

func RunUnaryExpr(ctx *Task, expr *ast.UnaryExpr) *errchain.PlError

func RunUnaryExprCheck

func RunUnaryExprCheck(ctx *Task, ctxCheck *ContextCheck, expr *ast.UnaryExpr) *errchain.PlError

Types

type ContextCheck

type ContextCheck struct {
	// contains filtered or unexported fields
}

type Desc

type Desc struct {
	Name   string            `json:"name"`
	Desc   string            `json:"desc"`
	Params map[string]string `json:"params"`
	Return map[string]string `json:"return"`
}

type Fn

type Fn struct {
	CallCheck FnCall
	Call      FnCall
	Cat       []string

	Desc FnDesc
}

type FnCall

type FnCall func(ctx *Task, fn *ast.CallExpr) *errchain.PlError

type FnDesc

type FnDesc struct {
	Name    string
	Params  []*Param
	Returns []*Param

	Desc string
}

func (FnDesc) OMarkdown

func (desc FnDesc) OMarkdown(tab string) string

func (FnDesc) OStruct

func (desc FnDesc) OStruct() Desc

func (FnDesc) Signature

func (desc FnDesc) Signature() string

func (FnDesc) String

func (desc FnDesc) String() string

type Opt

type Opt func(ctx *Task)

func WithPrivate

func WithPrivate(v map[TaskP]any) Opt

type Param

type Param struct {
	Name string
	Desc string
	Typs []ast.DType

	Val func() any

	Variable bool
}

func (*Param) TypStr

func (p *Param) TypStr() string

type PlReg

type PlReg struct {
	Val []V
}

func (*PlReg) Count

func (reg *PlReg) Count() int

func (*PlReg) GetMultiRet

func (reg *PlReg) GetMultiRet() ([]V, error)

func (*PlReg) GetRet

func (reg *PlReg) GetRet() (V, error)

func (*PlReg) Reset

func (reg *PlReg) Reset()

func (*PlReg) ReturnAppend

func (reg *PlReg) ReturnAppend(val ...V)

type Script

type Script struct {
	Name  string
	Stmts ast.Stmts
	Fn    map[string]*Fn
}

func (*Script) Check

func (s *Script) Check() *errchain.PlError

func (*Script) Run

func (s *Script) Run(signal Signal, opt ...Opt) *errchain.PlError

type Signal

type Signal interface {
	ExitSignal() bool
}

type Task

type Task struct {
	Regs PlReg
	// contains filtered or unexported fields
}

func NewTask

func NewTask(name string, funcs map[string]*Fn) *Task

func (*Task) GetFn

func (ctx *Task) GetFn(name string) (FnCall, bool)

func (*Task) GetFnCheck

func (ctx *Task) GetFnCheck(name string) (FnCall, bool)

func (*Task) GetKey

func (ctx *Task) GetKey(key string) (*runtime.Varb, error)

func (*Task) PValue

func (ctx *Task) PValue(k TaskP) (any, bool)

func (*Task) ProcExit

func (ctx *Task) ProcExit() bool

func (*Task) SetExit

func (ctx *Task) SetExit()

func (*Task) SetVarb

func (ctx *Task) SetVarb(key string, v V)

func (*Task) StackEnterNew

func (ctx *Task) StackEnterNew()

func (*Task) StackExitCur

func (ctx *Task) StackExitCur()

func (*Task) StmtRetrun

func (ctx *Task) StmtRetrun() bool

type TaskP

type TaskP string

type V

type V struct {
	V any
	T ast.DType
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL