value

package
v0.0.8 Latest Latest
Warning

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

Go to latest
Published: Jun 7, 2018 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Assigner

type Assigner interface {
	Set(k Value, v Value)
	SetLocal(k Value, v Value)
	Get(k Value) (Value, bool)
	Child() Assigner
}

type Bool

type Bool bool

func (Bool) Binary

func (v Bool) Binary(t token.Token, y Value) (Value, error)

func (Bool) Point

func (v Bool) Point() Value

func (Bool) String

func (v Bool) String() string

func (Bool) UnaryPre

func (v Bool) UnaryPre(t token.Token) (Value, error)

func (Bool) UnarySuf

func (v Bool) UnarySuf(t token.Token) (Value, error)

type Func

type Func struct {
	Args  ast.Expr
	Scope Assigner
	Body  ast.Expr
}

func (*Func) Binary

func (v *Func) Binary(t token.Token, y Value) (Value, error)

func (*Func) Point

func (v *Func) Point() Value

func (*Func) String

func (v *Func) String() string

func (*Func) UnaryPre

func (v *Func) UnaryPre(t token.Token) (Value, error)

func (*Func) UnarySuf

func (v *Func) UnarySuf(t token.Token) (Value, error)

type FuncBuiltin

type FuncBuiltin struct {
	Val reflect.Value
}

func NewFuncBuiltin

func NewFuncBuiltin(body interface{}) *FuncBuiltin

func (*FuncBuiltin) Binary

func (v *FuncBuiltin) Binary(t token.Token, y Value) (Value, error)

func (*FuncBuiltin) Call

func (v *FuncBuiltin) Call(v0 Value) (rr Value, err0 error)

func (*FuncBuiltin) Point

func (v *FuncBuiltin) Point() Value

func (*FuncBuiltin) String

func (v *FuncBuiltin) String() string

func (*FuncBuiltin) UnaryPre

func (v *FuncBuiltin) UnaryPre(t token.Token) (Value, error)

func (*FuncBuiltin) UnarySuf

func (v *FuncBuiltin) UnarySuf(t token.Token) (Value, error)

type Map

type Map map[Value]Value

func (Map) Binary

func (m Map) Binary(t token.Token, y Value) (Value, error)

func (Map) Child

func (m Map) Child() Assigner

func (Map) Get

func (m Map) Get(k Value) (Value, bool)

func (Map) Point

func (m Map) Point() Value

func (Map) Set

func (m Map) Set(k Value, v Value)

func (Map) SetLocal

func (m Map) SetLocal(k Value, v Value)

func (Map) String

func (m Map) String() string

func (Map) UnaryPre

func (m Map) UnaryPre(t token.Token) (Value, error)

func (Map) UnarySuf

func (m Map) UnarySuf(t token.Token) (Value, error)

type Number

type Number interface {
	Value
	Int() numberInt
	Float() numberFloat
	BigInt() numberBigInt
	BigFloat() numberBigFloat
}

func ParseNumber

func ParseNumber(s string) Number

type Scope

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

func NewScope

func NewScope(parent *Scope) *Scope

func (*Scope) Child

func (p *Scope) Child() Assigner

func (*Scope) Get

func (p *Scope) Get(name Value) (Value, bool)

func (*Scope) Set

func (p *Scope) Set(name Value, val Value)

func (*Scope) SetLocal

func (p *Scope) SetLocal(name Value, val Value)

type String

type String string

func (String) Binary

func (v String) Binary(t token.Token, y Value) (Value, error)

func (String) Clone

func (v String) Clone() String

func (String) Point

func (v String) Point() Value

func (String) String

func (v String) String() string

func (String) UnaryPre

func (v String) UnaryPre(t token.Token) (Value, error)

func (String) UnarySuf

func (v String) UnarySuf(t token.Token) (Value, error)

type Tuple

type Tuple struct {
	List     []Value
	Ellipsis bool
}

func (*Tuple) Binary

func (v *Tuple) Binary(t token.Token, y Value) (Value, error)

func (*Tuple) Index

func (v *Tuple) Index(i int) Value

func (*Tuple) Len

func (v *Tuple) Len() int

func (*Tuple) Point

func (v *Tuple) Point() Value

func (*Tuple) String

func (v *Tuple) String() string

func (*Tuple) UnaryPre

func (v *Tuple) UnaryPre(t token.Token) (Value, error)

func (*Tuple) UnarySuf

func (v *Tuple) UnarySuf(t token.Token) (Value, error)

type Value

type Value interface {
	fmt.Stringer
	Binary(t token.Token, y Value) (Value, error)
	UnaryPre(t token.Token) (Value, error)
	UnarySuf(t token.Token) (Value, error)
	Point() Value
}
var (
	True  Value = Bool(true)
	False Value = Bool(false)
)

Boolean constant definition

var Nil Value = _Nil{}

func NewTuple

func NewTuple(vs []Value, ellip bool) Value

type Var

type Var struct {
	Scope    Assigner
	Ellipsis bool
	Name     Value
}

func (*Var) Binary

func (v *Var) Binary(t token.Token, y Value) (Value, error)

func (*Var) Point

func (v *Var) Point() Value

func (*Var) String

func (v *Var) String() string

func (*Var) UnaryPre

func (v *Var) UnaryPre(t token.Token) (Value, error)

func (*Var) UnarySuf

func (v *Var) UnarySuf(t token.Token) (Value, error)

Jump to

Keyboard shortcuts

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