Documentation ¶ Index ¶ func Insert(parent *Node, children ...*Node) type Kind func (k Kind) String() string type Lexer type List type Node func NewNode(k Kind, v interface{}, ch ...*Node) *Node func Parse(lexer Lexer) (*Node, error) func (a *Node) Equal(b *Node) bool func (a *Node) String() string type Range type Text Constants ¶ This section is empty. Variables ¶ This section is empty. Functions ¶ func Insert ¶ func Insert(parent *Node, children ...*Node) Types ¶ type Kind ¶ type Kind int const ( KindNothing Kind = iota KindPattern KindList KindRange KindText KindAny KindSuper KindSingle KindAnyOf ) func (Kind) String ¶ func (k Kind) String() string type Lexer ¶ type Lexer interface { Next() lexer.Token } type List ¶ type List struct { Not bool Chars string } type Node ¶ type Node struct { Parent *Node Children []*Node Value interface{} Kind Kind } func NewNode ¶ func NewNode(k Kind, v interface{}, ch ...*Node) *Node func Parse ¶ func Parse(lexer Lexer) (*Node, error) func (*Node) Equal ¶ func (a *Node) Equal(b *Node) bool func (*Node) String ¶ func (a *Node) String() string type Range ¶ type Range struct { Not bool Lo, Hi rune } type Text ¶ type Text struct { Text string } Source Files ¶ View all Source files ast.goparser.go Click to show internal directories. Click to hide internal directories.