Documentation ¶
Overview ¶
Example ¶
package main import ( "bramp.net/antlr4/rpn" "fmt" "github.com/antlr/antlr4/runtime/Go/antlr" ) type exampleListener struct { *rpn.BaserpnListener } func (l *exampleListener) EnterEveryRule(ctx antlr.ParserRuleContext) { fmt.Println(ctx.GetText()) } func main() { // Setup the input is := antlr.NewInputStream("...some text to parse...") // Create the Lexer lexer := rpn.NewrpnLexer(is) stream := antlr.NewCommonTokenStream(lexer, antlr.TokenDefaultChannel) // Create the Parser p := rpn.NewrpnParser(stream) p.BuildParseTrees = true p.AddErrorListener(antlr.NewDiagnosticErrorListener(true)) // Finally walk the tree tree := p.Expression() antlr.ParseTreeWalkerDefault.Walk(&exampleListener{}, tree) }
Output:
Index ¶
- func NewrpnLexer(input antlr.CharStream) *rpnLexer
- func NewrpnParser(input antlr.TokenStream) *rpnParser
- type BaserpnListener
- func (s *BaserpnListener) EnterEveryRule(ctx antlr.ParserRuleContext)
- func (s *BaserpnListener) EnterExpression(ctx *ExpressionContext)
- func (s *BaserpnListener) EnterOper(ctx *OperContext)
- func (s *BaserpnListener) EnterScientific(ctx *ScientificContext)
- func (s *BaserpnListener) EnterSignedAtom(ctx *SignedAtomContext)
- func (s *BaserpnListener) EnterTerm(ctx *TermContext)
- func (s *BaserpnListener) EnterVariable(ctx *VariableContext)
- func (s *BaserpnListener) ExitEveryRule(ctx antlr.ParserRuleContext)
- func (s *BaserpnListener) ExitExpression(ctx *ExpressionContext)
- func (s *BaserpnListener) ExitOper(ctx *OperContext)
- func (s *BaserpnListener) ExitScientific(ctx *ScientificContext)
- func (s *BaserpnListener) ExitSignedAtom(ctx *SignedAtomContext)
- func (s *BaserpnListener) ExitTerm(ctx *TermContext)
- func (s *BaserpnListener) ExitVariable(ctx *VariableContext)
- func (s *BaserpnListener) VisitErrorNode(node antlr.ErrorNode)
- func (s *BaserpnListener) VisitTerminal(node antlr.TerminalNode)
- type ExpressionContext
- func (s *ExpressionContext) AllTerm() []ITermContext
- func (s *ExpressionContext) EnterRule(listener antlr.ParseTreeListener)
- func (s *ExpressionContext) ExitRule(listener antlr.ParseTreeListener)
- func (s *ExpressionContext) GetParser() antlr.Parser
- func (s *ExpressionContext) GetRuleContext() antlr.RuleContext
- func (*ExpressionContext) IsExpressionContext()
- func (s *ExpressionContext) SignedAtom() ISignedAtomContext
- func (s *ExpressionContext) Term(i int) ITermContext
- func (s *ExpressionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string
- type IExpressionContext
- type IOperContext
- type IScientificContext
- type ISignedAtomContext
- type ITermContext
- type IVariableContext
- type OperContext
- func (s *OperContext) ACOS() antlr.TerminalNode
- func (s *OperContext) ASIN() antlr.TerminalNode
- func (s *OperContext) ATAN() antlr.TerminalNode
- func (s *OperContext) COS() antlr.TerminalNode
- func (s *OperContext) DIV() antlr.TerminalNode
- func (s *OperContext) EnterRule(listener antlr.ParseTreeListener)
- func (s *OperContext) ExitRule(listener antlr.ParseTreeListener)
- func (s *OperContext) GetParser() antlr.Parser
- func (s *OperContext) GetRuleContext() antlr.RuleContext
- func (*OperContext) IsOperContext()
- func (s *OperContext) LN() antlr.TerminalNode
- func (s *OperContext) LOG() antlr.TerminalNode
- func (s *OperContext) MINUS() antlr.TerminalNode
- func (s *OperContext) PLUS() antlr.TerminalNode
- func (s *OperContext) POW() antlr.TerminalNode
- func (s *OperContext) SIN() antlr.TerminalNode
- func (s *OperContext) TAN() antlr.TerminalNode
- func (s *OperContext) TIMES() antlr.TerminalNode
- func (s *OperContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string
- type ScientificContext
- func (s *ScientificContext) EnterRule(listener antlr.ParseTreeListener)
- func (s *ScientificContext) ExitRule(listener antlr.ParseTreeListener)
- func (s *ScientificContext) GetParser() antlr.Parser
- func (s *ScientificContext) GetRuleContext() antlr.RuleContext
- func (*ScientificContext) IsScientificContext()
- func (s *ScientificContext) SCIENTIFIC_NUMBER() antlr.TerminalNode
- func (s *ScientificContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string
- type SignedAtomContext
- func (s *SignedAtomContext) EnterRule(listener antlr.ParseTreeListener)
- func (s *SignedAtomContext) ExitRule(listener antlr.ParseTreeListener)
- func (s *SignedAtomContext) GetParser() antlr.Parser
- func (s *SignedAtomContext) GetRuleContext() antlr.RuleContext
- func (*SignedAtomContext) IsSignedAtomContext()
- func (s *SignedAtomContext) MINUS() antlr.TerminalNode
- func (s *SignedAtomContext) PLUS() antlr.TerminalNode
- func (s *SignedAtomContext) Scientific() IScientificContext
- func (s *SignedAtomContext) SignedAtom() ISignedAtomContext
- func (s *SignedAtomContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string
- func (s *SignedAtomContext) Variable() IVariableContext
- type TermContext
- func (s *TermContext) EnterRule(listener antlr.ParseTreeListener)
- func (s *TermContext) ExitRule(listener antlr.ParseTreeListener)
- func (s *TermContext) GetParser() antlr.Parser
- func (s *TermContext) GetRuleContext() antlr.RuleContext
- func (*TermContext) IsTermContext()
- func (s *TermContext) Oper() IOperContext
- func (s *TermContext) SignedAtom() ISignedAtomContext
- func (s *TermContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string
- type VariableContext
- func (s *VariableContext) EnterRule(listener antlr.ParseTreeListener)
- func (s *VariableContext) ExitRule(listener antlr.ParseTreeListener)
- func (s *VariableContext) GetParser() antlr.Parser
- func (s *VariableContext) GetRuleContext() antlr.RuleContext
- func (*VariableContext) IsVariableContext()
- func (s *VariableContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string
- func (s *VariableContext) VARIABLE() antlr.TerminalNode
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewrpnLexer ¶
func NewrpnLexer(input antlr.CharStream) *rpnLexer
func NewrpnParser ¶
func NewrpnParser(input antlr.TokenStream) *rpnParser
Types ¶
type BaserpnListener ¶
type BaserpnListener struct{}
BaserpnListener is a complete listener for a parse tree produced by rpnParser.
func (*BaserpnListener) EnterEveryRule ¶
func (s *BaserpnListener) EnterEveryRule(ctx antlr.ParserRuleContext)
EnterEveryRule is called when any rule is entered.
func (*BaserpnListener) EnterExpression ¶
func (s *BaserpnListener) EnterExpression(ctx *ExpressionContext)
EnterExpression is called when production expression is entered.
func (*BaserpnListener) EnterOper ¶
func (s *BaserpnListener) EnterOper(ctx *OperContext)
EnterOper is called when production oper is entered.
func (*BaserpnListener) EnterScientific ¶
func (s *BaserpnListener) EnterScientific(ctx *ScientificContext)
EnterScientific is called when production scientific is entered.
func (*BaserpnListener) EnterSignedAtom ¶
func (s *BaserpnListener) EnterSignedAtom(ctx *SignedAtomContext)
EnterSignedAtom is called when production signedAtom is entered.
func (*BaserpnListener) EnterTerm ¶
func (s *BaserpnListener) EnterTerm(ctx *TermContext)
EnterTerm is called when production term is entered.
func (*BaserpnListener) EnterVariable ¶
func (s *BaserpnListener) EnterVariable(ctx *VariableContext)
EnterVariable is called when production variable is entered.
func (*BaserpnListener) ExitEveryRule ¶
func (s *BaserpnListener) ExitEveryRule(ctx antlr.ParserRuleContext)
ExitEveryRule is called when any rule is exited.
func (*BaserpnListener) ExitExpression ¶
func (s *BaserpnListener) ExitExpression(ctx *ExpressionContext)
ExitExpression is called when production expression is exited.
func (*BaserpnListener) ExitOper ¶
func (s *BaserpnListener) ExitOper(ctx *OperContext)
ExitOper is called when production oper is exited.
func (*BaserpnListener) ExitScientific ¶
func (s *BaserpnListener) ExitScientific(ctx *ScientificContext)
ExitScientific is called when production scientific is exited.
func (*BaserpnListener) ExitSignedAtom ¶
func (s *BaserpnListener) ExitSignedAtom(ctx *SignedAtomContext)
ExitSignedAtom is called when production signedAtom is exited.
func (*BaserpnListener) ExitTerm ¶
func (s *BaserpnListener) ExitTerm(ctx *TermContext)
ExitTerm is called when production term is exited.
func (*BaserpnListener) ExitVariable ¶
func (s *BaserpnListener) ExitVariable(ctx *VariableContext)
ExitVariable is called when production variable is exited.
func (*BaserpnListener) VisitErrorNode ¶
func (s *BaserpnListener) VisitErrorNode(node antlr.ErrorNode)
VisitErrorNode is called when an error node is visited.
func (*BaserpnListener) VisitTerminal ¶
func (s *BaserpnListener) VisitTerminal(node antlr.TerminalNode)
VisitTerminal is called when a terminal node is visited.
type ExpressionContext ¶
type ExpressionContext struct { *antlr.BaseParserRuleContext // contains filtered or unexported fields }
func NewEmptyExpressionContext ¶
func NewEmptyExpressionContext() *ExpressionContext
func NewExpressionContext ¶
func NewExpressionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ExpressionContext
func (*ExpressionContext) AllTerm ¶
func (s *ExpressionContext) AllTerm() []ITermContext
func (*ExpressionContext) EnterRule ¶
func (s *ExpressionContext) EnterRule(listener antlr.ParseTreeListener)
func (*ExpressionContext) ExitRule ¶
func (s *ExpressionContext) ExitRule(listener antlr.ParseTreeListener)
func (*ExpressionContext) GetParser ¶
func (s *ExpressionContext) GetParser() antlr.Parser
func (*ExpressionContext) GetRuleContext ¶
func (s *ExpressionContext) GetRuleContext() antlr.RuleContext
func (*ExpressionContext) IsExpressionContext ¶
func (*ExpressionContext) IsExpressionContext()
func (*ExpressionContext) SignedAtom ¶
func (s *ExpressionContext) SignedAtom() ISignedAtomContext
func (*ExpressionContext) Term ¶
func (s *ExpressionContext) Term(i int) ITermContext
func (*ExpressionContext) ToStringTree ¶
func (s *ExpressionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string
type IExpressionContext ¶
type IExpressionContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // IsExpressionContext differentiates from other interfaces. IsExpressionContext() }
IExpressionContext is an interface to support dynamic dispatch.
type IOperContext ¶
type IOperContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // IsOperContext differentiates from other interfaces. IsOperContext() }
IOperContext is an interface to support dynamic dispatch.
type IScientificContext ¶
type IScientificContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // IsScientificContext differentiates from other interfaces. IsScientificContext() }
IScientificContext is an interface to support dynamic dispatch.
type ISignedAtomContext ¶
type ISignedAtomContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // IsSignedAtomContext differentiates from other interfaces. IsSignedAtomContext() }
ISignedAtomContext is an interface to support dynamic dispatch.
type ITermContext ¶
type ITermContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // IsTermContext differentiates from other interfaces. IsTermContext() }
ITermContext is an interface to support dynamic dispatch.
type IVariableContext ¶
type IVariableContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // IsVariableContext differentiates from other interfaces. IsVariableContext() }
IVariableContext is an interface to support dynamic dispatch.
type OperContext ¶
type OperContext struct { *antlr.BaseParserRuleContext // contains filtered or unexported fields }
func NewEmptyOperContext ¶
func NewEmptyOperContext() *OperContext
func NewOperContext ¶
func NewOperContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *OperContext
func (*OperContext) ACOS ¶
func (s *OperContext) ACOS() antlr.TerminalNode
func (*OperContext) ASIN ¶
func (s *OperContext) ASIN() antlr.TerminalNode
func (*OperContext) ATAN ¶
func (s *OperContext) ATAN() antlr.TerminalNode
func (*OperContext) COS ¶
func (s *OperContext) COS() antlr.TerminalNode
func (*OperContext) DIV ¶
func (s *OperContext) DIV() antlr.TerminalNode
func (*OperContext) EnterRule ¶
func (s *OperContext) EnterRule(listener antlr.ParseTreeListener)
func (*OperContext) ExitRule ¶
func (s *OperContext) ExitRule(listener antlr.ParseTreeListener)
func (*OperContext) GetParser ¶
func (s *OperContext) GetParser() antlr.Parser
func (*OperContext) GetRuleContext ¶
func (s *OperContext) GetRuleContext() antlr.RuleContext
func (*OperContext) IsOperContext ¶
func (*OperContext) IsOperContext()
func (*OperContext) LN ¶
func (s *OperContext) LN() antlr.TerminalNode
func (*OperContext) LOG ¶
func (s *OperContext) LOG() antlr.TerminalNode
func (*OperContext) MINUS ¶
func (s *OperContext) MINUS() antlr.TerminalNode
func (*OperContext) PLUS ¶
func (s *OperContext) PLUS() antlr.TerminalNode
func (*OperContext) POW ¶
func (s *OperContext) POW() antlr.TerminalNode
func (*OperContext) SIN ¶
func (s *OperContext) SIN() antlr.TerminalNode
func (*OperContext) TAN ¶
func (s *OperContext) TAN() antlr.TerminalNode
func (*OperContext) TIMES ¶
func (s *OperContext) TIMES() antlr.TerminalNode
func (*OperContext) ToStringTree ¶
func (s *OperContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string
type ScientificContext ¶
type ScientificContext struct { *antlr.BaseParserRuleContext // contains filtered or unexported fields }
func NewEmptyScientificContext ¶
func NewEmptyScientificContext() *ScientificContext
func NewScientificContext ¶
func NewScientificContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ScientificContext
func (*ScientificContext) EnterRule ¶
func (s *ScientificContext) EnterRule(listener antlr.ParseTreeListener)
func (*ScientificContext) ExitRule ¶
func (s *ScientificContext) ExitRule(listener antlr.ParseTreeListener)
func (*ScientificContext) GetParser ¶
func (s *ScientificContext) GetParser() antlr.Parser
func (*ScientificContext) GetRuleContext ¶
func (s *ScientificContext) GetRuleContext() antlr.RuleContext
func (*ScientificContext) IsScientificContext ¶
func (*ScientificContext) IsScientificContext()
func (*ScientificContext) SCIENTIFIC_NUMBER ¶
func (s *ScientificContext) SCIENTIFIC_NUMBER() antlr.TerminalNode
func (*ScientificContext) ToStringTree ¶
func (s *ScientificContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string
type SignedAtomContext ¶
type SignedAtomContext struct { *antlr.BaseParserRuleContext // contains filtered or unexported fields }
func NewEmptySignedAtomContext ¶
func NewEmptySignedAtomContext() *SignedAtomContext
func NewSignedAtomContext ¶
func NewSignedAtomContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *SignedAtomContext
func (*SignedAtomContext) EnterRule ¶
func (s *SignedAtomContext) EnterRule(listener antlr.ParseTreeListener)
func (*SignedAtomContext) ExitRule ¶
func (s *SignedAtomContext) ExitRule(listener antlr.ParseTreeListener)
func (*SignedAtomContext) GetParser ¶
func (s *SignedAtomContext) GetParser() antlr.Parser
func (*SignedAtomContext) GetRuleContext ¶
func (s *SignedAtomContext) GetRuleContext() antlr.RuleContext
func (*SignedAtomContext) IsSignedAtomContext ¶
func (*SignedAtomContext) IsSignedAtomContext()
func (*SignedAtomContext) MINUS ¶
func (s *SignedAtomContext) MINUS() antlr.TerminalNode
func (*SignedAtomContext) PLUS ¶
func (s *SignedAtomContext) PLUS() antlr.TerminalNode
func (*SignedAtomContext) Scientific ¶
func (s *SignedAtomContext) Scientific() IScientificContext
func (*SignedAtomContext) SignedAtom ¶
func (s *SignedAtomContext) SignedAtom() ISignedAtomContext
func (*SignedAtomContext) ToStringTree ¶
func (s *SignedAtomContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string
func (*SignedAtomContext) Variable ¶
func (s *SignedAtomContext) Variable() IVariableContext
type TermContext ¶
type TermContext struct { *antlr.BaseParserRuleContext // contains filtered or unexported fields }
func NewEmptyTermContext ¶
func NewEmptyTermContext() *TermContext
func NewTermContext ¶
func NewTermContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *TermContext
func (*TermContext) EnterRule ¶
func (s *TermContext) EnterRule(listener antlr.ParseTreeListener)
func (*TermContext) ExitRule ¶
func (s *TermContext) ExitRule(listener antlr.ParseTreeListener)
func (*TermContext) GetParser ¶
func (s *TermContext) GetParser() antlr.Parser
func (*TermContext) GetRuleContext ¶
func (s *TermContext) GetRuleContext() antlr.RuleContext
func (*TermContext) IsTermContext ¶
func (*TermContext) IsTermContext()
func (*TermContext) Oper ¶
func (s *TermContext) Oper() IOperContext
func (*TermContext) SignedAtom ¶
func (s *TermContext) SignedAtom() ISignedAtomContext
func (*TermContext) ToStringTree ¶
func (s *TermContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string
type VariableContext ¶
type VariableContext struct { *antlr.BaseParserRuleContext // contains filtered or unexported fields }
func NewEmptyVariableContext ¶
func NewEmptyVariableContext() *VariableContext
func NewVariableContext ¶
func NewVariableContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *VariableContext
func (*VariableContext) EnterRule ¶
func (s *VariableContext) EnterRule(listener antlr.ParseTreeListener)
func (*VariableContext) ExitRule ¶
func (s *VariableContext) ExitRule(listener antlr.ParseTreeListener)
func (*VariableContext) GetParser ¶
func (s *VariableContext) GetParser() antlr.Parser
func (*VariableContext) GetRuleContext ¶
func (s *VariableContext) GetRuleContext() antlr.RuleContext
func (*VariableContext) IsVariableContext ¶
func (*VariableContext) IsVariableContext()
func (*VariableContext) ToStringTree ¶
func (s *VariableContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string
func (*VariableContext) VARIABLE ¶
func (s *VariableContext) VARIABLE() antlr.TerminalNode