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.