Documentation ¶
Index ¶
Constants ¶
const ( INTEGER_OBJ = "INTEGER" BOOLEAN_OBJ = "BOOLEAN" NULL_OBJ = "NULL" RETURN_VALUE_OBJ = "RETURN_VALUE" ERROR_OBJ = "ERROR" FUNCTION_OBJ = "FUNCTION" COMPILED_FUNCTION_OBJ = "COMPILED_FUNCTION_OBJ" STRING_OBJ = "STRING" BUILTIN_OBJ = "BUILTIN" ARRAY_OBJ = "ARRAY" HASH_OBJ = "HASH" )
constantes para los tipos de datos del lenguaje interpretado.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Array ¶
type Array struct {
Elements []Object
}
Objeo Array
func (*Array) Type ¶
func (ao *Array) Type() ObjectType
type Boolean ¶
type Boolean struct {
Value bool
}
Tipo de dato Boolean que soportará nuestro lenguaje interpretado Monkey. (iox en la segunda implementación)
func (*Boolean) Type ¶
func (b *Boolean) Type() ObjectType
type Builtin ¶
type Builtin struct {
Fn BuiltinFunction
}
Objeto Builtin
func (*Builtin) Type ¶
func (b *Builtin) Type() ObjectType
type BuiltinFunction ¶
... significa que la función acepta 0+ parametros del tipo especificado a la derecha.
type CompiledFunction ¶
type CompiledFunction struct {
Instructions code.Instructions
}
func (*CompiledFunction) Inspect ¶
func (cf *CompiledFunction) Inspect() string
func (*CompiledFunction) Type ¶
func (cf *CompiledFunction) Type() ObjectType
type Environment ¶
type Environment struct {
// contains filtered or unexported fields
}
Tabla de simbolos
func NewEnclosedEnvironment ¶
func NewEnclosedEnvironment(outer *Environment) *Environment
type Error ¶
type Error struct {
Message string
}
func (*Error) Type ¶
func (e *Error) Type() ObjectType
type Function ¶
type Function struct { Parameters []*ast.Identifier Body *ast.BlockStatement Env *Environment }
Objeto función.
func (*Function) Type ¶
func (f *Function) Type() ObjectType
type HashKey ¶
type HashKey struct { Type ObjectType Value uint64 }
type Null ¶
type Null struct { }
Tipo de dato Null soportado para nuestro lenguaje Monkey este tipo es una estructura vacía.
type Object ¶
type Object interface { Type() ObjectType Inspect() string }
Object es una interface que comprende todos los valores que pueden almacenar los tipos de datos definidos en el lenguaje de programación interpretado. Se le puede llamar: 1. Sistema de objetos. 2. Sistema de tipos. 3. Representación de Objetos. En resumen: es el tipo de dato "nativo" que nuestro lenguaje interpretado será capaz de exponer. El objetivo de tener un sistema de tipos es "envolver" el valor real que el lenguaje necesita.
type ReturnValue ¶
type ReturnValue struct {
Value Object
}
Objeto Return
func (*ReturnValue) Inspect ¶
func (rv *ReturnValue) Inspect() string
func (*ReturnValue) Type ¶
func (rv *ReturnValue) Type() ObjectType