Documentation ¶
Index ¶
- type ConstPool
- func (cp *ConstPool) Bytes() []byte
- func (cp *ConstPool) Clear()
- func (cp *ConstPool) Get(index uint16) interface{}
- func (cp *ConstPool) GetFloat(index uint16) float64
- func (cp *ConstPool) GetInt(index uint16) int64
- func (cp *ConstPool) GetString(index uint16) string
- func (cp *ConstPool) GetSym(index int) lisp.Symbol
- func (cp *ConstPool) InsertFloat(x float64) int
- func (cp *ConstPool) InsertInt(x int64) int
- func (cp *ConstPool) InsertString(x string) int
- func (cp *ConstPool) InsertSym(x string) int
- type DataStack
- func (st *DataStack) Bind(name string)
- func (st *DataStack) Discard(n uint16)
- func (st *DataStack) Dup(ref uint16)
- func (st *DataStack) Len() int
- func (st *DataStack) Lookup(name string) int
- func (st *DataStack) MaxLen() int
- func (st *DataStack) Push()
- func (st *DataStack) PushConst(index uint16)
- func (st *DataStack) Rebind(ref int, name string)
- func (st *DataStack) Replace(index uint16)
- func (st *DataStack) String() string
- type ScopeStack
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ConstPool ¶
type ConstPool struct {
// contains filtered or unexported fields
}
ConstPool is a set of distincs constant values. It stores atoms of int, float, string and symbol types.
Serves as a builder for Emacs function constant vector.
func (*ConstPool) Clear ¶
func (cp *ConstPool) Clear()
Clear removes all stored elements. Storage is reused.
func (*ConstPool) InsertFloat ¶
InsertFloat inserts given argument if it is not already present. Returns constant vector index.
func (*ConstPool) InsertInt ¶
InsertInt inserts given argument if it is not already present. Returns constant vector index.
func (*ConstPool) InsertString ¶
InsertString inserts given argument if it is not already present. Returns constant vector index.
type DataStack ¶
type DataStack struct {
// contains filtered or unexported fields
}
DataStack emulates Elisp data (parameter) stack. Used to generate stack-ref instructions.
func NewDataStack ¶
NewDataStack creates new stack that is populated by provided bindings.
type ScopeStack ¶
type ScopeStack struct {
// contains filtered or unexported fields
}
func (*ScopeStack) PopScope ¶
func (ss *ScopeStack) PopScope() int
func (*ScopeStack) PushScope ¶
func (ss *ScopeStack) PushScope()
func (*ScopeStack) SetScopeDepth ¶
func (ss *ScopeStack) SetScopeDepth(depth int)