astwalk

package
v0.0.0-...-d57dce6 Latest Latest
Warning

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

Go to latest
Published: Feb 28, 2025 License: GPL-3.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

View Source
const (
	TypeAny    = object.ObjAny
	TypeInt    = object.ObjInteger
	TypeFloat  = object.ObjFloat64
	TypeString = object.ObjString
	TypeBool   = object.ObjBool
	TypeNull   = object.ObjNull
	TypeArray  = object.ObjArray
	TypeError  = object.ObjError
)

Variables

View Source
var (
	Null  = object.Null{}
	True  = object.PrimitiveOf(true)
	False = object.PrimitiveOf(false)
)

Functions

func DefaultEnv

func DefaultEnv() *object.Env

func Eval

func Eval(node ast.Node, env *object.Env) object.Object

func EvalWithInference

func EvalWithInference(node ast.Node, env *object.Env) object.Object

Example usage in the Eval function, or similar functions for evaluation

func Infer

func Infer(sexp *ast.SExp, env *object.Env, eval object.Eval) object.Object

Types

type TypeInferencer

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

TypeInferencer structure to handle type inference

func NewTypeInferencer

func NewTypeInferencer(env *object.Env) *TypeInferencer

NewTypeInferencer initializes a TypeInferencer with a given environment

func (*TypeInferencer) Infer

func (ti *TypeInferencer) Infer(node ast.Node) (*object.Type, error)

Infer infers the type of an AST node

Jump to

Keyboard shortcuts

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