Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AttributeNode ¶
type AttributeNode struct {
Name Node // PrimaryExprNode or IdentStreamNode
ColonTok *lexer.Token
Value Node // may be nil
}
func (*AttributeNode) FirstToken ¶
func (n *AttributeNode) FirstToken() lexer.Token
func (*AttributeNode) LastToken ¶
func (n *AttributeNode) LastToken() lexer.Token
func (*AttributeNode) ToJSON ¶
func (n *AttributeNode) ToJSON() interface{}
type BlockExprNode ¶
func (*BlockExprNode) FirstToken ¶
func (n *BlockExprNode) FirstToken() lexer.Token
func (*BlockExprNode) LastToken ¶
func (n *BlockExprNode) LastToken() lexer.Token
func (*BlockExprNode) ToJSON ¶
func (n *BlockExprNode) ToJSON() interface{}
type ElementDeclNode ¶
type ElementDeclNode struct {
Type lexer.Token
Name Node // may be nil
As *lexer.Token
Alias Node
Attrs Node // ListExprNode, may be nil
Colon *lexer.Token
Body Node // BlockExprNode or expression
}
func (*ElementDeclNode) FirstToken ¶
func (n *ElementDeclNode) FirstToken() lexer.Token
func (*ElementDeclNode) LastToken ¶
func (n *ElementDeclNode) LastToken() lexer.Token
func (*ElementDeclNode) ToJSON ¶
func (n *ElementDeclNode) ToJSON() interface{}
type FuncAppNode ¶
func (*FuncAppNode) FirstToken ¶
func (n *FuncAppNode) FirstToken() lexer.Token
func (*FuncAppNode) LastToken ¶
func (n *FuncAppNode) LastToken() lexer.Token
func (*FuncAppNode) ToJSON ¶
func (n *FuncAppNode) ToJSON() interface{}
type IdentStreamNode ¶
func (*IdentStreamNode) FirstToken ¶
func (n *IdentStreamNode) FirstToken() lexer.Token
func (*IdentStreamNode) LastToken ¶
func (n *IdentStreamNode) LastToken() lexer.Token
func (*IdentStreamNode) ToJSON ¶
func (n *IdentStreamNode) ToJSON() interface{}
type InfixExprNode ¶
func (*InfixExprNode) FirstToken ¶
func (n *InfixExprNode) FirstToken() lexer.Token
func (*InfixExprNode) LastToken ¶
func (n *InfixExprNode) LastToken() lexer.Token
func (*InfixExprNode) ToJSON ¶
func (n *InfixExprNode) ToJSON() interface{}
type ListExprNode ¶
func (*ListExprNode) FirstToken ¶
func (n *ListExprNode) FirstToken() lexer.Token
func (*ListExprNode) LastToken ¶
func (n *ListExprNode) LastToken() lexer.Token
func (*ListExprNode) ToJSON ¶
func (n *ListExprNode) ToJSON() interface{}
type LiteralNode ¶
func (*LiteralNode) FirstToken ¶
func (n *LiteralNode) FirstToken() lexer.Token
func (*LiteralNode) LastToken ¶
func (n *LiteralNode) LastToken() lexer.Token
func (*LiteralNode) ToJSON ¶
func (n *LiteralNode) ToJSON() interface{}
type Parser ¶
type Parser struct {
Errors []Error
// contains filtered or unexported fields
}
func (*Parser) Parse ¶
func (p *Parser) Parse() *ProgramNode
type PrimaryExprNode ¶
type PrimaryExprNode struct {
Expr Node // VariableNode or LiteralNode
}
func (*PrimaryExprNode) FirstToken ¶
func (n *PrimaryExprNode) FirstToken() lexer.Token
func (*PrimaryExprNode) LastToken ¶
func (n *PrimaryExprNode) LastToken() lexer.Token
func (*PrimaryExprNode) ToJSON ¶
func (n *PrimaryExprNode) ToJSON() interface{}
type ProgramNode ¶
type ProgramNode struct {
Source string
Body []Node
First lexer.Token // first body token (or EOF)
Last lexer.Token // last body token (or EOF)
}
func (*ProgramNode) FirstToken ¶
func (n *ProgramNode) FirstToken() lexer.Token
func (*ProgramNode) LastToken ¶
func (n *ProgramNode) LastToken() lexer.Token
func (*ProgramNode) ToJSON ¶
func (n *ProgramNode) ToJSON() interface{}
type TupleExprNode ¶
func (*TupleExprNode) FirstToken ¶
func (n *TupleExprNode) FirstToken() lexer.Token
func (*TupleExprNode) LastToken ¶
func (n *TupleExprNode) LastToken() lexer.Token
func (*TupleExprNode) ToJSON ¶
func (n *TupleExprNode) ToJSON() interface{}
type VariableNode ¶
func (*VariableNode) FirstToken ¶
func (n *VariableNode) FirstToken() lexer.Token
func (*VariableNode) LastToken ¶
func (n *VariableNode) LastToken() lexer.Token
func (*VariableNode) ToJSON ¶
func (n *VariableNode) ToJSON() interface{}
Click to show internal directories.
Click to hide internal directories.