Documentation ¶
Overview ¶
Code generated by "ωBNF gen" DO NOT EDIT. $ wbnf gen --grammar ../examples/wbnf.wbnf --start grammar --pkg wbnf
Index ¶
- Constants
- Variables
- func Compile(grammar string, resolver ImportResolver) (parser.Parsers, error)
- func Core() parser.Parsers
- func Grammar() parser.Parsers
- func MustCompile(grammar string, resolver ImportResolver) parser.Parsers
- func NewFromAst(node ast.Node) parser.Grammar
- func TestParserNodeToNode(t *testing.T)
- func TestTinyXMLGrammar(t *testing.T)
- type AtomExtRefNode
- type AtomNode
- func (c AtomNode) AllToken() []string
- func (c AtomNode) Choice() int
- func (c AtomNode) OneExtRef() *AtomExtRefNode
- func (c AtomNode) OneIdent() *IdentNode
- func (c AtomNode) OneLookahead() *TermNode
- func (c AtomNode) OneMacrocall() *MacrocallNode
- func (c AtomNode) OneRe() *ReNode
- func (c AtomNode) OneRef() *RefNode
- func (c AtomNode) OneStr() *StrNode
- func (c AtomNode) OneTerm() *TermNode
- func (c AtomNode) OneToken() string
- type CommentNode
- type GrammarNode
- type IdentNode
- type ImportResolver
- type IntNode
- type IsWalkableType
- type MacrocallNode
- type NamedNode
- type PragmaImportNode
- type PragmaImportPathNode
- type PragmaMacrodefNode
- type PragmaNode
- type ProdNode
- type QuantNode
- func (c QuantNode) AllToken() []string
- func (c QuantNode) Choice() int
- func (c QuantNode) OneMax() *IntNode
- func (c QuantNode) OneMin() *IntNode
- func (c QuantNode) OneNamed() *NamedNode
- func (c QuantNode) OneOp() string
- func (c QuantNode) OneOptLeading() string
- func (c QuantNode) OneOptTrailing() string
- func (c QuantNode) OneToken() string
- type ReNode
- type RefNode
- type StmtNode
- type Stopper
- type StrNode
- type TermNode
- type WalkerOps
- func (w WalkerOps) Walk(tree IsWalkableType) Stopper
- func (w WalkerOps) WalkAtomExtRefNode(node AtomExtRefNode) Stopper
- func (w WalkerOps) WalkAtomNode(node AtomNode) Stopper
- func (w WalkerOps) WalkGrammarNode(node GrammarNode) Stopper
- func (w WalkerOps) WalkMacrocallNode(node MacrocallNode) Stopper
- func (w WalkerOps) WalkNamedNode(node NamedNode) Stopper
- func (w WalkerOps) WalkPragmaImportNode(node PragmaImportNode) Stopper
- func (w WalkerOps) WalkPragmaImportPathNode(node PragmaImportPathNode) Stopper
- func (w WalkerOps) WalkPragmaMacrodefNode(node PragmaMacrodefNode) Stopper
- func (w WalkerOps) WalkPragmaNode(node PragmaNode) Stopper
- func (w WalkerOps) WalkProdNode(node ProdNode) Stopper
- func (w WalkerOps) WalkQuantNode(node QuantNode) Stopper
- func (w WalkerOps) WalkRefNode(node RefNode) Stopper
- func (w WalkerOps) WalkStmtNode(node StmtNode) Stopper
- func (w WalkerOps) WalkTermNode(node TermNode) Stopper
- type WrapReNode
Constants ¶
View Source
const ( NoError validationErrorKind = iota UnknownRule DuplicatedRule InvalidRegex NameClashesWithRule MinMaxQuantError MultipleTermsWithSameName // something like `term -> foo op="*" op="|";`, likely missing a separator PossibleCycleDetected NotAMacro IncorrectMacroArgCount )
Variables ¶
View Source
var ( NodeExiter = &nodeExiter{} Aborter = &aborter{} )
Functions ¶
func MustCompile ¶
func MustCompile(grammar string, resolver ImportResolver) parser.Parsers
func TestParserNodeToNode ¶ added in v0.10.0
func TestTinyXMLGrammar ¶ added in v0.10.0
Types ¶
type AtomExtRefNode ¶ added in v0.13.0
func (AtomExtRefNode) OneIdent ¶ added in v0.13.0
func (c AtomExtRefNode) OneIdent() *IdentNode
func (AtomExtRefNode) OneToken ¶ added in v0.13.0
func (c AtomExtRefNode) OneToken() string
type AtomNode ¶ added in v0.11.0
func (AtomNode) OneExtRef ¶ added in v0.13.0
func (c AtomNode) OneExtRef() *AtomExtRefNode
func (AtomNode) OneLookahead ¶ added in v0.32.0
func (AtomNode) OneMacrocall ¶ added in v0.14.0
func (c AtomNode) OneMacrocall() *MacrocallNode
type CommentNode ¶ added in v0.11.0
func (*CommentNode) String ¶ added in v0.11.0
func (c *CommentNode) String() string
type GrammarNode ¶ added in v0.11.0
func NewGrammarNode ¶ added in v0.11.0
func NewGrammarNode(from ast.Node) GrammarNode
func ParseString ¶ added in v0.10.0
func ParseString(input string) (GrammarNode, error)
func (GrammarNode) AllStmt ¶ added in v0.11.0
func (c GrammarNode) AllStmt() []StmtNode
func (GrammarNode) GetAstNode ¶ added in v0.11.0
func (c GrammarNode) GetAstNode() ast.Node
type ImportResolver ¶ added in v0.12.2
type IsWalkableType ¶ added in v0.13.0
type IsWalkableType interface {
// contains filtered or unexported methods
}
type MacrocallNode ¶ added in v0.14.0
func (MacrocallNode) AllTerm ¶ added in v0.14.0
func (c MacrocallNode) AllTerm() []TermNode
func (MacrocallNode) AllToken ¶ added in v0.14.0
func (c MacrocallNode) AllToken() []string
func (MacrocallNode) OneName ¶ added in v0.14.0
func (c MacrocallNode) OneName() *IdentNode
func (MacrocallNode) OneToken ¶ added in v0.14.0
func (c MacrocallNode) OneToken() string
type PragmaImportNode ¶ added in v0.13.0
func (PragmaImportNode) OnePath ¶ added in v0.13.0
func (c PragmaImportNode) OnePath() *PragmaImportPathNode
func (PragmaImportNode) OneToken ¶ added in v0.13.0
func (c PragmaImportNode) OneToken() string
type PragmaImportPathNode ¶ added in v0.13.0
func (PragmaImportPathNode) AllToken ¶ added in v0.13.0
func (c PragmaImportPathNode) AllToken() []string
func (PragmaImportPathNode) Choice ¶ added in v0.13.0
func (c PragmaImportPathNode) Choice() int
type PragmaMacrodefNode ¶ added in v0.14.0
func (PragmaMacrodefNode) AllArgs ¶ added in v0.14.0
func (c PragmaMacrodefNode) AllArgs() []IdentNode
func (PragmaMacrodefNode) AllToken ¶ added in v0.14.0
func (c PragmaMacrodefNode) AllToken() []string
func (PragmaMacrodefNode) OneName ¶ added in v0.14.0
func (c PragmaMacrodefNode) OneName() *IdentNode
func (PragmaMacrodefNode) OneTerm ¶ added in v0.14.0
func (c PragmaMacrodefNode) OneTerm() *TermNode
func (PragmaMacrodefNode) OneToken ¶ added in v0.14.0
func (c PragmaMacrodefNode) OneToken() string
type PragmaNode ¶ added in v0.12.2
func (PragmaNode) Choice ¶ added in v0.12.2
func (c PragmaNode) Choice() int
func (PragmaNode) OneImport ¶ added in v0.12.2
func (c PragmaNode) OneImport() *PragmaImportNode
func (PragmaNode) OneMacrodef ¶ added in v0.14.0
func (c PragmaNode) OneMacrodef() *PragmaMacrodefNode
type QuantNode ¶ added in v0.11.0
func (QuantNode) OneOptLeading ¶ added in v0.11.0
func (QuantNode) OneOptTrailing ¶ added in v0.11.0
type RefNode ¶ added in v0.11.0
func (RefNode) OneDefault ¶ added in v0.11.0
type StmtNode ¶ added in v0.11.0
func (StmtNode) OneComment ¶ added in v0.11.0
func (c StmtNode) OneComment() *CommentNode
func (StmtNode) OnePragma ¶ added in v0.12.2
func (c StmtNode) OnePragma() *PragmaNode
type TermNode ¶ added in v0.11.0
func (TermNode) AllGrammar ¶ added in v0.13.0
func (c TermNode) AllGrammar() []GrammarNode
type WalkerOps ¶ added in v0.12.1
type WalkerOps struct { EnterAtomExtRefNode func(AtomExtRefNode) Stopper ExitAtomExtRefNode func(AtomExtRefNode) Stopper EnterAtomNode func(AtomNode) Stopper ExitAtomNode func(AtomNode) Stopper EnterCommentNode func(CommentNode) Stopper ExitCommentNode func(CommentNode) Stopper EnterGrammarNode func(GrammarNode) Stopper ExitGrammarNode func(GrammarNode) Stopper EnterIdentNode func(IdentNode) Stopper ExitIdentNode func(IdentNode) Stopper EnterIntNode func(IntNode) Stopper ExitIntNode func(IntNode) Stopper EnterMacrocallNode func(MacrocallNode) Stopper ExitMacrocallNode func(MacrocallNode) Stopper EnterNamedNode func(NamedNode) Stopper ExitNamedNode func(NamedNode) Stopper EnterPragmaImportNode func(PragmaImportNode) Stopper ExitPragmaImportNode func(PragmaImportNode) Stopper EnterPragmaImportPathNode func(PragmaImportPathNode) Stopper ExitPragmaImportPathNode func(PragmaImportPathNode) Stopper EnterPragmaMacrodefNode func(PragmaMacrodefNode) Stopper ExitPragmaMacrodefNode func(PragmaMacrodefNode) Stopper EnterPragmaNode func(PragmaNode) Stopper ExitPragmaNode func(PragmaNode) Stopper EnterProdNode func(ProdNode) Stopper ExitProdNode func(ProdNode) Stopper EnterQuantNode func(QuantNode) Stopper ExitQuantNode func(QuantNode) Stopper EnterReNode func(ReNode) Stopper ExitReNode func(ReNode) Stopper EnterRefNode func(RefNode) Stopper ExitRefNode func(RefNode) Stopper EnterStmtNode func(StmtNode) Stopper ExitStmtNode func(StmtNode) Stopper EnterStrNode func(StrNode) Stopper ExitStrNode func(StrNode) Stopper EnterTermNode func(TermNode) Stopper ExitTermNode func(TermNode) Stopper EnterWrapReNode func(WrapReNode) Stopper ExitWrapReNode func(WrapReNode) Stopper }
func (WalkerOps) Walk ¶ added in v0.12.1
func (w WalkerOps) Walk(tree IsWalkableType) Stopper
func (WalkerOps) WalkAtomExtRefNode ¶ added in v0.13.0
func (w WalkerOps) WalkAtomExtRefNode(node AtomExtRefNode) Stopper
func (WalkerOps) WalkAtomNode ¶ added in v0.13.0
func (WalkerOps) WalkGrammarNode ¶ added in v0.13.0
func (w WalkerOps) WalkGrammarNode(node GrammarNode) Stopper
func (WalkerOps) WalkMacrocallNode ¶ added in v0.14.0
func (w WalkerOps) WalkMacrocallNode(node MacrocallNode) Stopper
func (WalkerOps) WalkNamedNode ¶ added in v0.13.0
func (WalkerOps) WalkPragmaImportNode ¶ added in v0.13.0
func (w WalkerOps) WalkPragmaImportNode(node PragmaImportNode) Stopper
func (WalkerOps) WalkPragmaImportPathNode ¶ added in v0.13.0
func (w WalkerOps) WalkPragmaImportPathNode(node PragmaImportPathNode) Stopper
func (WalkerOps) WalkPragmaMacrodefNode ¶ added in v0.14.0
func (w WalkerOps) WalkPragmaMacrodefNode(node PragmaMacrodefNode) Stopper
func (WalkerOps) WalkPragmaNode ¶ added in v0.13.0
func (w WalkerOps) WalkPragmaNode(node PragmaNode) Stopper
func (WalkerOps) WalkProdNode ¶ added in v0.13.0
func (WalkerOps) WalkQuantNode ¶ added in v0.13.0
func (WalkerOps) WalkRefNode ¶ added in v0.13.0
func (WalkerOps) WalkStmtNode ¶ added in v0.13.0
func (WalkerOps) WalkTermNode ¶ added in v0.13.0
type WrapReNode ¶ added in v0.13.0
func (*WrapReNode) String ¶ added in v0.13.0
func (c *WrapReNode) String() string
Click to show internal directories.
Click to hide internal directories.