Documentation
¶
Index ¶
- type Buffer
- func (b *Buffer) Consume(l int) bool
- func (b *Buffer) ConsumeManyNotOf(chars string) string
- func (b *Buffer) ConsumeManyOf(chars string) string
- func (b *Buffer) ConsumeOne() string
- func (b *Buffer) ConsumeOneNotOf(chars string) string
- func (b *Buffer) ConsumeOneOf(chars string) string
- func (b *Buffer) ConsumeString(s string) bool
- func (b Buffer) Duplicate() *Buffer
- func (b Buffer) Empty() bool
- func (b Buffer) GetAll() string
- func (b Buffer) GetRune() rune
- func (b Buffer) GetString(l int) string
- func (b Buffer) Len() int
- func (b *Buffer) MustConsume(l int)
- func (b Buffer) Pos() int
- type NodeAssignment
- type NodeBlockArgument
- type NodeBlockCompile
- type NodeBlockRun
- type NodeCall
- type NodeCallArgument
- type NodeExpression
- type NodeIntLiteral
- type NodeLHS
- type NodeReference
- type NodeRoot
- type NodeStatement
- type NodeStringLiteral
- type NodeSymbolName
- type Parser
- func (p *Parser) Error(b *Buffer, err string)
- func (p *Parser) ParseAssignment(b *Buffer) *NodeAssignment
- func (p *Parser) ParseBlockArgument(b *Buffer) *NodeBlockArgument
- func (p *Parser) ParseBlockArguments(b *Buffer) []*NodeBlockArgument
- func (p *Parser) ParseBlockCompile(b *Buffer) *NodeBlockCompile
- func (p *Parser) ParseBlockReturn(b *Buffer) []*NodeBlockArgument
- func (p *Parser) ParseBlockRun(b *Buffer) *NodeBlockRun
- func (p *Parser) ParseCall(b *Buffer) *NodeCall
- func (p *Parser) ParseCallArgument(b *Buffer) *NodeCallArgument
- func (p *Parser) ParseCallArgumentNamed(b *Buffer) *NodeCallArgument
- func (p *Parser) ParseCallArguments(b *Buffer) []*NodeCallArgument
- func (p *Parser) ParseExpression(b *Buffer) *NodeExpression
- func (p *Parser) ParseIntLiteral(b *Buffer) *NodeIntLiteral
- func (p *Parser) ParseLHS(b *Buffer) *NodeLHS
- func (p *Parser) ParseReference(b *Buffer) *NodeReference
- func (p *Parser) ParseRoot(b *Buffer) *NodeRoot
- func (p *Parser) ParseStatement(b *Buffer) *NodeStatement
- func (p *Parser) ParseStringLiteral(b *Buffer) *NodeStringLiteral
- func (p *Parser) ParseSymbolName(b *Buffer) *NodeSymbolName
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Buffer ¶
type Buffer struct {
// contains filtered or unexported fields
}
func (*Buffer) ConsumeManyNotOf ¶
func (*Buffer) ConsumeManyOf ¶
func (*Buffer) ConsumeOne ¶
func (*Buffer) ConsumeOneNotOf ¶
func (*Buffer) ConsumeOneOf ¶
func (*Buffer) ConsumeString ¶
func (*Buffer) MustConsume ¶
type NodeAssignment ¶
type NodeAssignment struct {
LHS *NodeLHS
Expression *NodeExpression
}
type NodeBlockArgument ¶
type NodeBlockArgument struct {
Name *NodeSymbolName
Type *NodeReference
}
type NodeBlockCompile ¶
type NodeBlockCompile struct {
Arguments []*NodeBlockArgument
Return []*NodeBlockArgument
Statements []*NodeStatement
}
type NodeBlockRun ¶
type NodeBlockRun struct {
Arguments []*NodeBlockArgument
Return []*NodeBlockArgument
Statements []*NodeStatement
}
type NodeCall ¶
type NodeCall struct {
Reference *NodeReference
Arguments []*NodeCallArgument
BlockCompile *NodeBlockCompile
BlockRun *NodeBlockRun
}
type NodeCallArgument ¶
type NodeCallArgument struct {
Name *NodeSymbolName
Value *NodeExpression
}
type NodeExpression ¶
type NodeExpression struct {
// One of
IntLiteral *NodeIntLiteral
StringLiteral *NodeStringLiteral
Call *NodeCall
Reference *NodeReference
BlockCompile *NodeBlockCompile
BlockRun *NodeBlockRun
}
type NodeIntLiteral ¶
type NodeIntLiteral struct {
Value int64
}
type NodeLHS ¶
type NodeLHS struct {
// One of
SymbolName *NodeSymbolName
}
type NodeReference ¶
type NodeReference struct {
SymbolNames []*NodeSymbolName
}
type NodeRoot ¶
type NodeRoot struct {
Statements []*NodeStatement
}
type NodeStatement ¶
type NodeStatement struct {
// One of
Assignment *NodeAssignment
Call *NodeCall
}
func (NodeStatement) Tree ¶
func (n NodeStatement) Tree(prefix string) string
type NodeStringLiteral ¶
type NodeStringLiteral struct {
Value string
}
type NodeSymbolName ¶
type NodeSymbolName struct {
Value string
}
type Parser ¶
func (*Parser) ParseAssignment ¶
func (p *Parser) ParseAssignment(b *Buffer) *NodeAssignment
func (*Parser) ParseBlockArgument ¶
func (p *Parser) ParseBlockArgument(b *Buffer) *NodeBlockArgument
func (*Parser) ParseBlockArguments ¶
func (p *Parser) ParseBlockArguments(b *Buffer) []*NodeBlockArgument
func (*Parser) ParseBlockCompile ¶
func (p *Parser) ParseBlockCompile(b *Buffer) *NodeBlockCompile
func (*Parser) ParseBlockReturn ¶
func (p *Parser) ParseBlockReturn(b *Buffer) []*NodeBlockArgument
func (*Parser) ParseBlockRun ¶
func (p *Parser) ParseBlockRun(b *Buffer) *NodeBlockRun
func (*Parser) ParseCallArgument ¶
func (p *Parser) ParseCallArgument(b *Buffer) *NodeCallArgument
func (*Parser) ParseCallArgumentNamed ¶
func (p *Parser) ParseCallArgumentNamed(b *Buffer) *NodeCallArgument
func (*Parser) ParseCallArguments ¶
func (p *Parser) ParseCallArguments(b *Buffer) []*NodeCallArgument
func (*Parser) ParseExpression ¶
func (p *Parser) ParseExpression(b *Buffer) *NodeExpression
func (*Parser) ParseIntLiteral ¶
func (p *Parser) ParseIntLiteral(b *Buffer) *NodeIntLiteral
func (*Parser) ParseReference ¶
func (p *Parser) ParseReference(b *Buffer) *NodeReference
func (*Parser) ParseStatement ¶
func (p *Parser) ParseStatement(b *Buffer) *NodeStatement
func (*Parser) ParseStringLiteral ¶
func (p *Parser) ParseStringLiteral(b *Buffer) *NodeStringLiteral
func (*Parser) ParseSymbolName ¶
func (p *Parser) ParseSymbolName(b *Buffer) *NodeSymbolName
Click to show internal directories.
Click to hide internal directories.