Documentation
¶
Index ¶
- Variables
- type Node
- type Tree
- func (t *Tree) AddAction(text string)
- func (t *Tree) AddAlternate()
- func (t *Tree) AddCharacter(text string)
- func (t *Tree) AddDot()
- func (t *Tree) AddDoubleCharacter(text string)
- func (t *Tree) AddDoubleRange()
- func (t *Tree) AddExpression()
- func (t *Tree) AddHexaCharacter(text string)
- func (t *Tree) AddImport(text string)
- func (t *Tree) AddName(text string)
- func (t *Tree) AddNil()
- func (t *Tree) AddOctalCharacter(text string)
- func (t *Tree) AddPackage(text string)
- func (t *Tree) AddPeekFor()
- func (t *Tree) AddPeekNot()
- func (t *Tree) AddPeg(text string)
- func (t *Tree) AddPlus()
- func (t *Tree) AddPredicate(text string)
- func (t *Tree) AddPush()
- func (t *Tree) AddQuery()
- func (t *Tree) AddRange()
- func (t *Tree) AddRule(name string)
- func (t *Tree) AddSequence()
- func (t *Tree) AddStar()
- func (t *Tree) AddState(text string)
- func (t *Tree) AddStateChange(text string)
- func (t *Tree) Compile(file string, args []string, out io.Writer) (err error)
- func (n *Tree) Copy() *node
- func (n *Tree) Escaped() string
- func (n *Tree) Front() *node
- func (n *Tree) GetId() int
- func (n *Tree) Init()
- func (n *Tree) Len() (c int)
- func (n *Tree) Next() *node
- func (n *Tree) ParentDetect() bool
- func (n *Tree) ParentMultipleKey() bool
- func (n *Tree) PopFront() *node
- func (n *Tree) PushBack(value *node)
- func (n *Tree) PushFront(value *node)
- func (n *Tree) SetId(id int)
- func (n *Tree) SetParentDetect(detect bool)
- func (n *Tree) SetParentMultipleKey(multipleKey bool)
- func (n *Tree) SetString(s string)
- func (n *Tree) SetType(t Type)
- func (n *Tree) Slice() []*node
- func (n *Tree) String() string
- type Type
Constants ¶
This section is empty.
Variables ¶
View Source
var TypeMap = [...]string{
"TypeUnknown",
"TypeRule",
"TypeName",
"TypeDot",
"TypeCharacter",
"TypeRange",
"TypeString",
"TypePredicate",
"TypeStateChange",
"TypeCommit",
"TypeAction",
"TypePackage",
"TypeImport",
"TypeState",
"TypeAlternate",
"TypeUnorderedAlternate",
"TypeSequence",
"TypePeekFor",
"TypePeekNot",
"TypeQuery",
"TypeStar",
"TypePlus",
"TypePeg",
"TypePush",
"TypeImplicitPush",
"TypeNil",
"TypeLast"}
Functions ¶
This section is empty.
Types ¶
type Node ¶
type Node interface {
fmt.Stringer
Escaped() string
SetString(s string)
GetType() Type
SetType(t Type)
GetId() int
SetId(id int)
Init()
Front() *node
Next() *node
PushFront(value *node)
PopFront() *node
PushBack(value *node)
Len() int
Copy() *node
Slice() []*node
ParentDetect() bool
SetParentDetect(detect bool)
ParentMultipleKey() bool
SetParentMultipleKey(detect bool)
// contains filtered or unexported methods
}
type Tree ¶
type Tree struct {
Rules map[string]Node
Ast bool
Strict bool
Generator string
RuleNames []Node
PackageName string
Imports []string
EndSymbol rune
PegRuleType string
StructName string
StructVariables string
RulesCount int
Bits int
HasActions bool
Actions []Node
HasPush bool
HasCommit bool
HasDot bool
HasCharacter bool
HasString bool
HasRange bool
// contains filtered or unexported fields
}
A tree data structure into which a PEG can be parsed.
func (*Tree) AddAlternate ¶
func (t *Tree) AddAlternate()
func (*Tree) AddCharacter ¶
func (*Tree) AddDoubleCharacter ¶
func (*Tree) AddDoubleRange ¶
func (t *Tree) AddDoubleRange()
func (*Tree) AddExpression ¶
func (t *Tree) AddExpression()
func (*Tree) AddHexaCharacter ¶
func (*Tree) AddOctalCharacter ¶
func (*Tree) AddPackage ¶
func (*Tree) AddPeekFor ¶
func (t *Tree) AddPeekFor()
func (*Tree) AddPeekNot ¶
func (t *Tree) AddPeekNot()
func (*Tree) AddPredicate ¶
func (*Tree) AddSequence ¶
func (t *Tree) AddSequence()
func (*Tree) AddStateChange ¶
func (*Tree) ParentDetect ¶
func (n *Tree) ParentDetect() bool
func (*Tree) ParentMultipleKey ¶
func (n *Tree) ParentMultipleKey() bool
func (*Tree) SetParentDetect ¶
func (n *Tree) SetParentDetect(detect bool)
func (*Tree) SetParentMultipleKey ¶
func (n *Tree) SetParentMultipleKey(multipleKey bool)
type Type ¶
type Type uint8
const ( TypeUnknown Type = iota TypeRule TypeName TypeDot TypeCharacter TypeRange TypeString TypePredicate TypeStateChange TypeCommit TypeAction TypePackage TypeImport TypeState TypeAlternate TypeUnorderedAlternate TypeSequence TypePeekFor TypePeekNot TypeQuery TypeStar TypePlus TypePeg TypePush TypeImplicitPush TypeNil TypeLast )
Click to show internal directories.
Click to hide internal directories.