Documentation
¶
Index ¶
- Constants
- Variables
- func AddSTDFunc(m *ir.Module, s *Scope)
- type ArrayInitNode
- type ArrayTypeNode
- type AwaitNode
- type BasicTypeNode
- type BinNode
- type BoolConstNode
- type BoolExpNode
- type BreakNode
- type CallFuncNode
- type CompareNode
- type ContinueNode
- type DefAndAssignNode
- type DefineNode
- type EmptyNode
- type ExpNode
- type Field
- type ForNode
- type FuncNode
- type FuncTypeNode
- type IfElseNode
- type IfNode
- type ImportNode
- type InlineFuncNode
- type InterfaceDefNode
- type NilNode
- type Node
- type NotNode
- type NumNode
- type PackageNode
- type ParamNode
- type ParamsNode
- type ProgramNode
- type RetNode
- type SLNode
- type Scope
- type StringNode
- type StructDefNode
- type StructInitNode
- type TakePtrNode
- type TakeValNode
- type TypeNode
- type UnaryNode
- type VarBlockNode
- type YieldNode
Constants ¶
View Source
const ( INDEX_RELOAD = "IndexOp" INDEX_SET_RELOAD = "IndexSetOp" CORO_MOD = "github.com/Chronostasys/calc/runtime/coro" GEN_MOD = "github.com/Chronostasys/calc/runtime/generator" CORO_SM_MOD = CORO_MOD + "/sm" CORO_SYNC_MOD = "github.com/Chronostasys/calc/runtime/coro/sync" LIBUV = "github.com/Chronostasys/calc/runtime/libuv" SLICE = "github.com/Chronostasys/calc/runtime/slice" RUNTIME = "github.com/Chronostasys/calc/runtime" )
Variables ¶
View Source
var ScopeMap = map[string]*Scope{}
Functions ¶
func AddSTDFunc ¶
Types ¶
type ArrayInitNode ¶
type ArrayTypeNode ¶
func (*ArrayTypeNode) Clone ¶
func (n *ArrayTypeNode) Clone() TypeNode
func (*ArrayTypeNode) GetPtrLevel ¶
func (n *ArrayTypeNode) GetPtrLevel() int
func (*ArrayTypeNode) SetPtrLevel ¶
func (v *ArrayTypeNode) SetPtrLevel(i int)
func (*ArrayTypeNode) String ¶
func (v *ArrayTypeNode) String(s *Scope) string
type BasicTypeNode ¶
type BasicTypeNode struct { ResType int CustomTp []string PtrLevel int Generics []TypeNode Pkg string }
func (*BasicTypeNode) Clone ¶
func (n *BasicTypeNode) Clone() TypeNode
func (*BasicTypeNode) GetPtrLevel ¶
func (n *BasicTypeNode) GetPtrLevel() int
func (*BasicTypeNode) SetPtrLevel ¶
func (v *BasicTypeNode) SetPtrLevel(i int)
func (*BasicTypeNode) String ¶
func (v *BasicTypeNode) String(s *Scope) string
type BoolConstNode ¶
type BoolConstNode struct {
Val bool
}
type BoolExpNode ¶
type CallFuncNode ¶
type CompareNode ¶
type ContinueNode ¶
type ContinueNode struct { }
type DefAndAssignNode ¶
type DefineNode ¶
type FuncNode ¶
type FuncNode struct { Params *ParamsNode ID string RetType TypeNode Statements Node Generics []string Async bool // contains filtered or unexported fields }
func (*FuncNode) AddtoScope ¶
type FuncTypeNode ¶
type FuncTypeNode struct { Args *ParamsNode Ret TypeNode // contains filtered or unexported fields }
func (*FuncTypeNode) Clone ¶
func (n *FuncTypeNode) Clone() TypeNode
func (*FuncTypeNode) GetPtrLevel ¶
func (n *FuncTypeNode) GetPtrLevel() int
func (*FuncTypeNode) SetPtrLevel ¶
func (v *FuncTypeNode) SetPtrLevel(i int)
func (*FuncTypeNode) String ¶
func (v *FuncTypeNode) String(*Scope) string
type IfElseNode ¶
type ImportNode ¶
type InlineFuncNode ¶
type InterfaceDefNode ¶
type InterfaceDefNode struct { Funcs map[string]*FuncNode OrderedIDS []string // contains filtered or unexported fields }
func (*InterfaceDefNode) Clone ¶
func (n *InterfaceDefNode) Clone() TypeNode
func (*InterfaceDefNode) GetPtrLevel ¶
func (n *InterfaceDefNode) GetPtrLevel() int
func (*InterfaceDefNode) SetPtrLevel ¶
func (v *InterfaceDefNode) SetPtrLevel(i int)
func (*InterfaceDefNode) String ¶
func (v *InterfaceDefNode) String(*Scope) string
type PackageNode ¶
type PackageNode struct {
Name string
}
type ParamsNode ¶
type ProgramNode ¶
type ProgramNode struct { PKG *PackageNode Imports *ImportNode Children []Node GlobalScope *Scope }
func Merge ¶
func Merge(ns ...*ProgramNode) *ProgramNode
func (*ProgramNode) CalcGlobals ¶
func (n *ProgramNode) CalcGlobals(m *ir.Module)
func (*ProgramNode) Emit ¶
func (n *ProgramNode) Emit(m *ir.Module)
type Scope ¶
type Scope struct { Pkgname string // contains filtered or unexported fields }
func MergeGlobalScopes ¶
func NewGlobalScope ¶
type StringNode ¶
type StringNode struct { Str string // contains filtered or unexported fields }
type StructDefNode ¶
type StructDefNode struct { Orderedfields []*Field // contains filtered or unexported fields }
func (*StructDefNode) Clone ¶
func (n *StructDefNode) Clone() TypeNode
func (*StructDefNode) GetPtrLevel ¶
func (n *StructDefNode) GetPtrLevel() int
func (*StructDefNode) SetPtrLevel ¶
func (v *StructDefNode) SetPtrLevel(i int)
func (*StructDefNode) String ¶
func (v *StructDefNode) String(*Scope) string
type StructInitNode ¶
type TakePtrNode ¶
type TakePtrNode struct {
Node ExpNode
}
type TakeValNode ¶
type VarBlockNode ¶
type VarBlockNode struct { Token string Idxs []Node Next *VarBlockNode // contains filtered or unexported fields }
Click to show internal directories.
Click to hide internal directories.