ast

package
v0.2.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 8, 2018 License: MIT Imports: 5 Imported by: 38

Documentation

Index

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 added in v0.2.3

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 added in v0.2.3

func (a *Node) String() string

type Range

type Range struct {
	Not    bool
	Lo, Hi rune
}

type Text

type Text struct {
	Text string
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL