Documentation ¶
Index ¶
- Constants
- type AddSubContext
- func (s *AddSubContext) ADD() antlr.TerminalNode
- func (s *AddSubContext) AllExpression() []IExpressionContext
- func (s *AddSubContext) EnterRule(listener antlr.ParseTreeListener)
- func (s *AddSubContext) ExitRule(listener antlr.ParseTreeListener)
- func (s *AddSubContext) Expression(i int) IExpressionContext
- func (s *AddSubContext) GetOp() antlr.Token
- func (s *AddSubContext) GetRuleContext() antlr.RuleContext
- func (s *AddSubContext) SUB() antlr.TerminalNode
- func (s *AddSubContext) SetOp(v antlr.Token)
- type BaseCalcListener
- func (s *BaseCalcListener) EnterAddSub(ctx *AddSubContext)
- func (s *BaseCalcListener) EnterEveryRule(ctx antlr.ParserRuleContext)
- func (s *BaseCalcListener) EnterMulDiv(ctx *MulDivContext)
- func (s *BaseCalcListener) EnterNumber(ctx *NumberContext)
- func (s *BaseCalcListener) EnterParens(ctx *ParensContext)
- func (s *BaseCalcListener) EnterStart(ctx *StartContext)
- func (s *BaseCalcListener) ExitAddSub(ctx *AddSubContext)
- func (s *BaseCalcListener) ExitEveryRule(ctx antlr.ParserRuleContext)
- func (s *BaseCalcListener) ExitMulDiv(ctx *MulDivContext)
- func (s *BaseCalcListener) ExitNumber(ctx *NumberContext)
- func (s *BaseCalcListener) ExitParens(ctx *ParensContext)
- func (s *BaseCalcListener) ExitStart(ctx *StartContext)
- func (s *BaseCalcListener) VisitErrorNode(node antlr.ErrorNode)
- func (s *BaseCalcListener) VisitTerminal(node antlr.TerminalNode)
- type CalcLexer
- type CalcListener
- type CalcParser
- type ExpressionContext
- func (s *ExpressionContext) CopyFrom(ctx *ExpressionContext)
- func (s *ExpressionContext) GetParser() antlr.Parser
- func (s *ExpressionContext) GetRuleContext() antlr.RuleContext
- func (*ExpressionContext) IsExpressionContext()
- func (s *ExpressionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string
- type IExpressionContext
- type IStartContext
- type MulDivContext
- func (s *MulDivContext) AllExpression() []IExpressionContext
- func (s *MulDivContext) DIV() antlr.TerminalNode
- func (s *MulDivContext) EnterRule(listener antlr.ParseTreeListener)
- func (s *MulDivContext) ExitRule(listener antlr.ParseTreeListener)
- func (s *MulDivContext) Expression(i int) IExpressionContext
- func (s *MulDivContext) GetOp() antlr.Token
- func (s *MulDivContext) GetRuleContext() antlr.RuleContext
- func (s *MulDivContext) MUL() antlr.TerminalNode
- func (s *MulDivContext) SetOp(v antlr.Token)
- type NumberContext
- type ParensContext
- type StartContext
- func (s *StartContext) EOF() antlr.TerminalNode
- func (s *StartContext) EnterRule(listener antlr.ParseTreeListener)
- func (s *StartContext) ExitRule(listener antlr.ParseTreeListener)
- func (s *StartContext) Expression() IExpressionContext
- func (s *StartContext) GetParser() antlr.Parser
- func (s *StartContext) GetRuleContext() antlr.RuleContext
- func (*StartContext) IsStartContext()
- func (s *StartContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string
Constants ¶
const ( CalcLexerT__0 = 1 CalcLexerT__1 = 2 CalcLexerMUL = 3 CalcLexerDIV = 4 CalcLexerADD = 5 CalcLexerSUB = 6 CalcLexerNUMBER = 7 CalcLexerWHITESPACE = 8 )
CalcLexer tokens.
const ( CalcParserEOF = antlr.TokenEOF CalcParserT__0 = 1 CalcParserT__1 = 2 CalcParserMUL = 3 CalcParserDIV = 4 CalcParserADD = 5 CalcParserSUB = 6 CalcParserNUMBER = 7 CalcParserWHITESPACE = 8 )
CalcParser tokens.
const ( CalcParserRULE_start = 0 CalcParserRULE_expression = 1 )
CalcParser rules.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AddSubContext ¶
type AddSubContext struct { *ExpressionContext // contains filtered or unexported fields }
func NewAddSubContext ¶
func NewAddSubContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *AddSubContext
func (*AddSubContext) ADD ¶
func (s *AddSubContext) ADD() antlr.TerminalNode
func (*AddSubContext) AllExpression ¶
func (s *AddSubContext) AllExpression() []IExpressionContext
func (*AddSubContext) EnterRule ¶
func (s *AddSubContext) EnterRule(listener antlr.ParseTreeListener)
func (*AddSubContext) ExitRule ¶
func (s *AddSubContext) ExitRule(listener antlr.ParseTreeListener)
func (*AddSubContext) Expression ¶
func (s *AddSubContext) Expression(i int) IExpressionContext
func (*AddSubContext) GetOp ¶
func (s *AddSubContext) GetOp() antlr.Token
func (*AddSubContext) GetRuleContext ¶
func (s *AddSubContext) GetRuleContext() antlr.RuleContext
func (*AddSubContext) SUB ¶
func (s *AddSubContext) SUB() antlr.TerminalNode
func (*AddSubContext) SetOp ¶
func (s *AddSubContext) SetOp(v antlr.Token)
type BaseCalcListener ¶
type BaseCalcListener struct{}
BaseCalcListener is a complete listener for a parse tree produced by CalcParser.
func (*BaseCalcListener) EnterAddSub ¶
func (s *BaseCalcListener) EnterAddSub(ctx *AddSubContext)
EnterAddSub is called when production AddSub is entered.
func (*BaseCalcListener) EnterEveryRule ¶
func (s *BaseCalcListener) EnterEveryRule(ctx antlr.ParserRuleContext)
EnterEveryRule is called when any rule is entered.
func (*BaseCalcListener) EnterMulDiv ¶
func (s *BaseCalcListener) EnterMulDiv(ctx *MulDivContext)
EnterMulDiv is called when production MulDiv is entered.
func (*BaseCalcListener) EnterNumber ¶
func (s *BaseCalcListener) EnterNumber(ctx *NumberContext)
EnterNumber is called when production Number is entered.
func (*BaseCalcListener) EnterParens ¶
func (s *BaseCalcListener) EnterParens(ctx *ParensContext)
EnterParens is called when production Parens is entered.
func (*BaseCalcListener) EnterStart ¶
func (s *BaseCalcListener) EnterStart(ctx *StartContext)
EnterStart is called when production start is entered.
func (*BaseCalcListener) ExitAddSub ¶
func (s *BaseCalcListener) ExitAddSub(ctx *AddSubContext)
ExitAddSub is called when production AddSub is exited.
func (*BaseCalcListener) ExitEveryRule ¶
func (s *BaseCalcListener) ExitEveryRule(ctx antlr.ParserRuleContext)
ExitEveryRule is called when any rule is exited.
func (*BaseCalcListener) ExitMulDiv ¶
func (s *BaseCalcListener) ExitMulDiv(ctx *MulDivContext)
ExitMulDiv is called when production MulDiv is exited.
func (*BaseCalcListener) ExitNumber ¶
func (s *BaseCalcListener) ExitNumber(ctx *NumberContext)
ExitNumber is called when production Number is exited.
func (*BaseCalcListener) ExitParens ¶
func (s *BaseCalcListener) ExitParens(ctx *ParensContext)
ExitParens is called when production Parens is exited.
func (*BaseCalcListener) ExitStart ¶
func (s *BaseCalcListener) ExitStart(ctx *StartContext)
ExitStart is called when production start is exited.
func (*BaseCalcListener) VisitErrorNode ¶
func (s *BaseCalcListener) VisitErrorNode(node antlr.ErrorNode)
VisitErrorNode is called when an error node is visited.
func (*BaseCalcListener) VisitTerminal ¶
func (s *BaseCalcListener) VisitTerminal(node antlr.TerminalNode)
VisitTerminal is called when a terminal node is visited.
type CalcLexer ¶
func NewCalcLexer ¶
func NewCalcLexer(input antlr.CharStream) *CalcLexer
NewCalcLexer produces a new lexer instance for the optional input antlr.CharStream.
The *CalcLexer instance produced may be reused by calling the SetInputStream method. The initial lexer configuration is expensive to construct, and the object is not thread-safe; however, if used within a Golang sync.Pool, the construction cost amortizes well and the objects can be used in a thread-safe manner.
type CalcListener ¶
type CalcListener interface { antlr.ParseTreeListener // EnterStart is called when entering the start production. EnterStart(c *StartContext) // EnterNumber is called when entering the Number production. EnterNumber(c *NumberContext) // EnterMulDiv is called when entering the MulDiv production. EnterMulDiv(c *MulDivContext) // EnterAddSub is called when entering the AddSub production. EnterAddSub(c *AddSubContext) // EnterParens is called when entering the Parens production. EnterParens(c *ParensContext) // ExitStart is called when exiting the start production. ExitStart(c *StartContext) // ExitNumber is called when exiting the Number production. ExitNumber(c *NumberContext) // ExitMulDiv is called when exiting the MulDiv production. ExitMulDiv(c *MulDivContext) // ExitAddSub is called when exiting the AddSub production. ExitAddSub(c *AddSubContext) // ExitParens is called when exiting the Parens production. ExitParens(c *ParensContext) }
CalcListener is a complete listener for a parse tree produced by CalcParser.
type CalcParser ¶
type CalcParser struct {
*antlr.BaseParser
}
func NewCalcParser ¶
func NewCalcParser(input antlr.TokenStream) *CalcParser
NewCalcParser produces a new parser instance for the optional input antlr.TokenStream.
The *CalcParser instance produced may be reused by calling the SetInputStream method. The initial parser configuration is expensive to construct, and the object is not thread-safe; however, if used within a Golang sync.Pool, the construction cost amortizes well and the objects can be used in a thread-safe manner.
func (*CalcParser) Expression ¶
func (p *CalcParser) Expression() (localctx IExpressionContext)
func (*CalcParser) Expression_Sempred ¶
func (p *CalcParser) Expression_Sempred(localctx antlr.RuleContext, predIndex int) bool
func (*CalcParser) Sempred ¶
func (p *CalcParser) Sempred(localctx antlr.RuleContext, ruleIndex, predIndex int) bool
func (*CalcParser) Start ¶
func (p *CalcParser) Start() (localctx IStartContext)
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) CopyFrom ¶
func (s *ExpressionContext) CopyFrom(ctx *ExpressionContext)
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) 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 IStartContext ¶
type IStartContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // IsStartContext differentiates from other interfaces. IsStartContext() }
IStartContext is an interface to support dynamic dispatch.
type MulDivContext ¶
type MulDivContext struct { *ExpressionContext // contains filtered or unexported fields }
func NewMulDivContext ¶
func NewMulDivContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *MulDivContext
func (*MulDivContext) AllExpression ¶
func (s *MulDivContext) AllExpression() []IExpressionContext
func (*MulDivContext) DIV ¶
func (s *MulDivContext) DIV() antlr.TerminalNode
func (*MulDivContext) EnterRule ¶
func (s *MulDivContext) EnterRule(listener antlr.ParseTreeListener)
func (*MulDivContext) ExitRule ¶
func (s *MulDivContext) ExitRule(listener antlr.ParseTreeListener)
func (*MulDivContext) Expression ¶
func (s *MulDivContext) Expression(i int) IExpressionContext
func (*MulDivContext) GetOp ¶
func (s *MulDivContext) GetOp() antlr.Token
func (*MulDivContext) GetRuleContext ¶
func (s *MulDivContext) GetRuleContext() antlr.RuleContext
func (*MulDivContext) MUL ¶
func (s *MulDivContext) MUL() antlr.TerminalNode
func (*MulDivContext) SetOp ¶
func (s *MulDivContext) SetOp(v antlr.Token)
type NumberContext ¶
type NumberContext struct {
*ExpressionContext
}
func NewNumberContext ¶
func NewNumberContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *NumberContext
func (*NumberContext) EnterRule ¶
func (s *NumberContext) EnterRule(listener antlr.ParseTreeListener)
func (*NumberContext) ExitRule ¶
func (s *NumberContext) ExitRule(listener antlr.ParseTreeListener)
func (*NumberContext) GetRuleContext ¶
func (s *NumberContext) GetRuleContext() antlr.RuleContext
func (*NumberContext) NUMBER ¶
func (s *NumberContext) NUMBER() antlr.TerminalNode
type ParensContext ¶
type ParensContext struct {
*ExpressionContext
}
func NewParensContext ¶
func NewParensContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *ParensContext
func (*ParensContext) EnterRule ¶
func (s *ParensContext) EnterRule(listener antlr.ParseTreeListener)
func (*ParensContext) ExitRule ¶
func (s *ParensContext) ExitRule(listener antlr.ParseTreeListener)
func (*ParensContext) Expression ¶
func (s *ParensContext) Expression() IExpressionContext
func (*ParensContext) GetRuleContext ¶
func (s *ParensContext) GetRuleContext() antlr.RuleContext
type StartContext ¶
type StartContext struct { *antlr.BaseParserRuleContext // contains filtered or unexported fields }
func NewEmptyStartContext ¶
func NewEmptyStartContext() *StartContext
func NewStartContext ¶
func NewStartContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *StartContext
func (*StartContext) EOF ¶
func (s *StartContext) EOF() antlr.TerminalNode
func (*StartContext) EnterRule ¶
func (s *StartContext) EnterRule(listener antlr.ParseTreeListener)
func (*StartContext) ExitRule ¶
func (s *StartContext) ExitRule(listener antlr.ParseTreeListener)
func (*StartContext) Expression ¶
func (s *StartContext) Expression() IExpressionContext
func (*StartContext) GetParser ¶
func (s *StartContext) GetParser() antlr.Parser
func (*StartContext) GetRuleContext ¶
func (s *StartContext) GetRuleContext() antlr.RuleContext
func (*StartContext) IsStartContext ¶
func (*StartContext) IsStartContext()
func (*StartContext) ToStringTree ¶
func (s *StartContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string