Documentation ¶
Index ¶
- Constants
- type BaseCalcListener
- func (s *BaseCalcListener) EnterEveryRule(ctx antlr.ParserRuleContext)
- func (s *BaseCalcListener) EnterIdExpr(ctx *IdExprContext)
- func (s *BaseCalcListener) EnterIdentifier(ctx *IdentifierContext)
- func (s *BaseCalcListener) EnterLitExpr(ctx *LitExprContext)
- func (s *BaseCalcListener) EnterLiteral(ctx *LiteralContext)
- func (s *BaseCalcListener) EnterOpExpr(ctx *OpExprContext)
- func (s *BaseCalcListener) EnterParenExpr(ctx *ParenExprContext)
- func (s *BaseCalcListener) ExitEveryRule(ctx antlr.ParserRuleContext)
- func (s *BaseCalcListener) ExitIdExpr(ctx *IdExprContext)
- func (s *BaseCalcListener) ExitIdentifier(ctx *IdentifierContext)
- func (s *BaseCalcListener) ExitLitExpr(ctx *LitExprContext)
- func (s *BaseCalcListener) ExitLiteral(ctx *LiteralContext)
- func (s *BaseCalcListener) ExitOpExpr(ctx *OpExprContext)
- func (s *BaseCalcListener) ExitParenExpr(ctx *ParenExprContext)
- func (s *BaseCalcListener) VisitErrorNode(node antlr.ErrorNode)
- func (s *BaseCalcListener) VisitTerminal(node antlr.TerminalNode)
- type BaseCalcVisitor
- func (v *BaseCalcVisitor) VisitIdExpr(ctx *IdExprContext) interface{}
- func (v *BaseCalcVisitor) VisitIdentifier(ctx *IdentifierContext) interface{}
- func (v *BaseCalcVisitor) VisitLitExpr(ctx *LitExprContext) interface{}
- func (v *BaseCalcVisitor) VisitLiteral(ctx *LiteralContext) interface{}
- func (v *BaseCalcVisitor) VisitOpExpr(ctx *OpExprContext) interface{}
- func (v *BaseCalcVisitor) VisitParenExpr(ctx *ParenExprContext) interface{}
- type CalcLexer
- type CalcListener
- type CalcParser
- func (p *CalcParser) Expr() (localctx IExprContext)
- func (p *CalcParser) Expr_Sempred(localctx antlr.RuleContext, predIndex int) bool
- func (p *CalcParser) Identifier() (localctx IIdentifierContext)
- func (p *CalcParser) Literal() (localctx ILiteralContext)
- func (p *CalcParser) Sempred(localctx antlr.RuleContext, ruleIndex, predIndex int) bool
- type CalcVisitor
- type ExprContext
- type IExprContext
- type IIdentifierContext
- type ILiteralContext
- type IdExprContext
- func (s *IdExprContext) Accept(visitor antlr.ParseTreeVisitor) interface{}
- func (s *IdExprContext) EnterRule(listener antlr.ParseTreeListener)
- func (s *IdExprContext) ExitRule(listener antlr.ParseTreeListener)
- func (s *IdExprContext) GetRuleContext() antlr.RuleContext
- func (s *IdExprContext) Identifier() IIdentifierContext
- type IdentifierContext
- func (s *IdentifierContext) Accept(visitor antlr.ParseTreeVisitor) interface{}
- func (s *IdentifierContext) EnterRule(listener antlr.ParseTreeListener)
- func (s *IdentifierContext) ExitRule(listener antlr.ParseTreeListener)
- func (s *IdentifierContext) GetParser() antlr.Parser
- func (s *IdentifierContext) GetRuleContext() antlr.RuleContext
- func (s *IdentifierContext) Id() antlr.TerminalNode
- func (*IdentifierContext) IsIdentifierContext()
- func (s *IdentifierContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string
- type LitExprContext
- func (s *LitExprContext) Accept(visitor antlr.ParseTreeVisitor) interface{}
- func (s *LitExprContext) EnterRule(listener antlr.ParseTreeListener)
- func (s *LitExprContext) ExitRule(listener antlr.ParseTreeListener)
- func (s *LitExprContext) GetRuleContext() antlr.RuleContext
- func (s *LitExprContext) Literal() ILiteralContext
- type LiteralContext
- func (s *LiteralContext) Accept(visitor antlr.ParseTreeVisitor) interface{}
- func (s *LiteralContext) DecimalLiteral() antlr.TerminalNode
- func (s *LiteralContext) EnterRule(listener antlr.ParseTreeListener)
- func (s *LiteralContext) ExitRule(listener antlr.ParseTreeListener)
- func (s *LiteralContext) GetParser() antlr.Parser
- func (s *LiteralContext) GetRuleContext() antlr.RuleContext
- func (*LiteralContext) IsLiteralContext()
- func (s *LiteralContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string
- type OpExprContext
- func (s *OpExprContext) ADD() antlr.TerminalNode
- func (s *OpExprContext) Accept(visitor antlr.ParseTreeVisitor) interface{}
- func (s *OpExprContext) AllExpr() []IExprContext
- func (s *OpExprContext) DIV() antlr.TerminalNode
- func (s *OpExprContext) EnterRule(listener antlr.ParseTreeListener)
- func (s *OpExprContext) ExitRule(listener antlr.ParseTreeListener)
- func (s *OpExprContext) Expr(i int) IExprContext
- func (s *OpExprContext) GetLeft() IExprContext
- func (s *OpExprContext) GetOp() antlr.Token
- func (s *OpExprContext) GetRight() IExprContext
- func (s *OpExprContext) GetRuleContext() antlr.RuleContext
- func (s *OpExprContext) MUL() antlr.TerminalNode
- func (s *OpExprContext) SUB() antlr.TerminalNode
- func (s *OpExprContext) SetLeft(v IExprContext)
- func (s *OpExprContext) SetOp(v antlr.Token)
- func (s *OpExprContext) SetRight(v IExprContext)
- type ParenExprContext
- func (s *ParenExprContext) Accept(visitor antlr.ParseTreeVisitor) interface{}
- func (s *ParenExprContext) EnterRule(listener antlr.ParseTreeListener)
- func (s *ParenExprContext) ExitRule(listener antlr.ParseTreeListener)
- func (s *ParenExprContext) Expr() IExprContext
- func (s *ParenExprContext) GetRuleContext() antlr.RuleContext
Constants ¶
const ( CalcLexerT__0 = 1 CalcLexerT__1 = 2 CalcLexerMUL = 3 CalcLexerDIV = 4 CalcLexerADD = 5 CalcLexerSUB = 6 CalcLexerId = 7 CalcLexerDecimalLiteral = 8 CalcLexerWS = 9 )
CalcLexer tokens.
const ( CalcParserEOF = antlr.TokenEOF CalcParserT__0 = 1 CalcParserT__1 = 2 CalcParserMUL = 3 CalcParserDIV = 4 CalcParserADD = 5 CalcParserSUB = 6 CalcParserId = 7 CalcParserDecimalLiteral = 8 CalcParserWS = 9 )
CalcParser tokens.
const ( CalcParserRULE_expr = 0 CalcParserRULE_identifier = 1 CalcParserRULE_literal = 2 )
CalcParser rules.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BaseCalcListener ¶
type BaseCalcListener struct{}
BaseCalcListener is a complete listener for a parse tree produced by CalcParser.
func (*BaseCalcListener) EnterEveryRule ¶
func (s *BaseCalcListener) EnterEveryRule(ctx antlr.ParserRuleContext)
EnterEveryRule is called when any rule is entered.
func (*BaseCalcListener) EnterIdExpr ¶
func (s *BaseCalcListener) EnterIdExpr(ctx *IdExprContext)
EnterIdExpr is called when production IdExpr is entered.
func (*BaseCalcListener) EnterIdentifier ¶
func (s *BaseCalcListener) EnterIdentifier(ctx *IdentifierContext)
EnterIdentifier is called when production identifier is entered.
func (*BaseCalcListener) EnterLitExpr ¶
func (s *BaseCalcListener) EnterLitExpr(ctx *LitExprContext)
EnterLitExpr is called when production LitExpr is entered.
func (*BaseCalcListener) EnterLiteral ¶
func (s *BaseCalcListener) EnterLiteral(ctx *LiteralContext)
EnterLiteral is called when production literal is entered.
func (*BaseCalcListener) EnterOpExpr ¶
func (s *BaseCalcListener) EnterOpExpr(ctx *OpExprContext)
EnterOpExpr is called when production OpExpr is entered.
func (*BaseCalcListener) EnterParenExpr ¶
func (s *BaseCalcListener) EnterParenExpr(ctx *ParenExprContext)
EnterParenExpr is called when production ParenExpr is entered.
func (*BaseCalcListener) ExitEveryRule ¶
func (s *BaseCalcListener) ExitEveryRule(ctx antlr.ParserRuleContext)
ExitEveryRule is called when any rule is exited.
func (*BaseCalcListener) ExitIdExpr ¶
func (s *BaseCalcListener) ExitIdExpr(ctx *IdExprContext)
ExitIdExpr is called when production IdExpr is exited.
func (*BaseCalcListener) ExitIdentifier ¶
func (s *BaseCalcListener) ExitIdentifier(ctx *IdentifierContext)
ExitIdentifier is called when production identifier is exited.
func (*BaseCalcListener) ExitLitExpr ¶
func (s *BaseCalcListener) ExitLitExpr(ctx *LitExprContext)
ExitLitExpr is called when production LitExpr is exited.
func (*BaseCalcListener) ExitLiteral ¶
func (s *BaseCalcListener) ExitLiteral(ctx *LiteralContext)
ExitLiteral is called when production literal is exited.
func (*BaseCalcListener) ExitOpExpr ¶
func (s *BaseCalcListener) ExitOpExpr(ctx *OpExprContext)
ExitOpExpr is called when production OpExpr is exited.
func (*BaseCalcListener) ExitParenExpr ¶
func (s *BaseCalcListener) ExitParenExpr(ctx *ParenExprContext)
ExitParenExpr is called when production ParenExpr 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 BaseCalcVisitor ¶
type BaseCalcVisitor struct {
*antlr.BaseParseTreeVisitor
}
func (*BaseCalcVisitor) VisitIdExpr ¶
func (v *BaseCalcVisitor) VisitIdExpr(ctx *IdExprContext) interface{}
func (*BaseCalcVisitor) VisitIdentifier ¶
func (v *BaseCalcVisitor) VisitIdentifier(ctx *IdentifierContext) interface{}
func (*BaseCalcVisitor) VisitLitExpr ¶
func (v *BaseCalcVisitor) VisitLitExpr(ctx *LitExprContext) interface{}
func (*BaseCalcVisitor) VisitLiteral ¶
func (v *BaseCalcVisitor) VisitLiteral(ctx *LiteralContext) interface{}
func (*BaseCalcVisitor) VisitOpExpr ¶
func (v *BaseCalcVisitor) VisitOpExpr(ctx *OpExprContext) interface{}
func (*BaseCalcVisitor) VisitParenExpr ¶
func (v *BaseCalcVisitor) VisitParenExpr(ctx *ParenExprContext) interface{}
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 // EnterIdExpr is called when entering the IdExpr production. EnterIdExpr(c *IdExprContext) // EnterLitExpr is called when entering the LitExpr production. EnterLitExpr(c *LitExprContext) // EnterParenExpr is called when entering the ParenExpr production. EnterParenExpr(c *ParenExprContext) // EnterOpExpr is called when entering the OpExpr production. EnterOpExpr(c *OpExprContext) // EnterIdentifier is called when entering the identifier production. EnterIdentifier(c *IdentifierContext) // EnterLiteral is called when entering the literal production. EnterLiteral(c *LiteralContext) // ExitIdExpr is called when exiting the IdExpr production. ExitIdExpr(c *IdExprContext) // ExitLitExpr is called when exiting the LitExpr production. ExitLitExpr(c *LitExprContext) // ExitParenExpr is called when exiting the ParenExpr production. ExitParenExpr(c *ParenExprContext) // ExitOpExpr is called when exiting the OpExpr production. ExitOpExpr(c *OpExprContext) // ExitIdentifier is called when exiting the identifier production. ExitIdentifier(c *IdentifierContext) // ExitLiteral is called when exiting the literal production. ExitLiteral(c *LiteralContext) }
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) Expr ¶
func (p *CalcParser) Expr() (localctx IExprContext)
func (*CalcParser) Expr_Sempred ¶
func (p *CalcParser) Expr_Sempred(localctx antlr.RuleContext, predIndex int) bool
func (*CalcParser) Identifier ¶
func (p *CalcParser) Identifier() (localctx IIdentifierContext)
func (*CalcParser) Literal ¶
func (p *CalcParser) Literal() (localctx ILiteralContext)
func (*CalcParser) Sempred ¶
func (p *CalcParser) Sempred(localctx antlr.RuleContext, ruleIndex, predIndex int) bool
type CalcVisitor ¶
type CalcVisitor interface { antlr.ParseTreeVisitor // Visit a parse tree produced by CalcParser#IdExpr. VisitIdExpr(ctx *IdExprContext) interface{} // Visit a parse tree produced by CalcParser#LitExpr. VisitLitExpr(ctx *LitExprContext) interface{} // Visit a parse tree produced by CalcParser#ParenExpr. VisitParenExpr(ctx *ParenExprContext) interface{} // Visit a parse tree produced by CalcParser#OpExpr. VisitOpExpr(ctx *OpExprContext) interface{} // Visit a parse tree produced by CalcParser#identifier. VisitIdentifier(ctx *IdentifierContext) interface{} // Visit a parse tree produced by CalcParser#literal. VisitLiteral(ctx *LiteralContext) interface{} }
A complete Visitor for a parse tree produced by CalcParser.
type ExprContext ¶
type ExprContext struct { *antlr.BaseParserRuleContext // contains filtered or unexported fields }
func NewEmptyExprContext ¶
func NewEmptyExprContext() *ExprContext
func NewExprContext ¶
func NewExprContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ExprContext
func (*ExprContext) CopyFrom ¶
func (s *ExprContext) CopyFrom(ctx *ExprContext)
func (*ExprContext) GetParser ¶
func (s *ExprContext) GetParser() antlr.Parser
func (*ExprContext) GetRuleContext ¶
func (s *ExprContext) GetRuleContext() antlr.RuleContext
func (*ExprContext) IsExprContext ¶
func (*ExprContext) IsExprContext()
func (*ExprContext) ToStringTree ¶
func (s *ExprContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string
type IExprContext ¶
type IExprContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // IsExprContext differentiates from other interfaces. IsExprContext() }
IExprContext is an interface to support dynamic dispatch.
type IIdentifierContext ¶
type IIdentifierContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // IsIdentifierContext differentiates from other interfaces. IsIdentifierContext() }
IIdentifierContext is an interface to support dynamic dispatch.
type ILiteralContext ¶
type ILiteralContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // IsLiteralContext differentiates from other interfaces. IsLiteralContext() }
ILiteralContext is an interface to support dynamic dispatch.
type IdExprContext ¶
type IdExprContext struct {
*ExprContext
}
func NewIdExprContext ¶
func NewIdExprContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *IdExprContext
func (*IdExprContext) Accept ¶
func (s *IdExprContext) Accept(visitor antlr.ParseTreeVisitor) interface{}
func (*IdExprContext) EnterRule ¶
func (s *IdExprContext) EnterRule(listener antlr.ParseTreeListener)
func (*IdExprContext) ExitRule ¶
func (s *IdExprContext) ExitRule(listener antlr.ParseTreeListener)
func (*IdExprContext) GetRuleContext ¶
func (s *IdExprContext) GetRuleContext() antlr.RuleContext
func (*IdExprContext) Identifier ¶
func (s *IdExprContext) Identifier() IIdentifierContext
type IdentifierContext ¶
type IdentifierContext struct { *antlr.BaseParserRuleContext // contains filtered or unexported fields }
func NewEmptyIdentifierContext ¶
func NewEmptyIdentifierContext() *IdentifierContext
func NewIdentifierContext ¶
func NewIdentifierContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *IdentifierContext
func (*IdentifierContext) Accept ¶
func (s *IdentifierContext) Accept(visitor antlr.ParseTreeVisitor) interface{}
func (*IdentifierContext) EnterRule ¶
func (s *IdentifierContext) EnterRule(listener antlr.ParseTreeListener)
func (*IdentifierContext) ExitRule ¶
func (s *IdentifierContext) ExitRule(listener antlr.ParseTreeListener)
func (*IdentifierContext) GetParser ¶
func (s *IdentifierContext) GetParser() antlr.Parser
func (*IdentifierContext) GetRuleContext ¶
func (s *IdentifierContext) GetRuleContext() antlr.RuleContext
func (*IdentifierContext) Id ¶
func (s *IdentifierContext) Id() antlr.TerminalNode
func (*IdentifierContext) IsIdentifierContext ¶
func (*IdentifierContext) IsIdentifierContext()
func (*IdentifierContext) ToStringTree ¶
func (s *IdentifierContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string
type LitExprContext ¶
type LitExprContext struct {
*ExprContext
}
func NewLitExprContext ¶
func NewLitExprContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *LitExprContext
func (*LitExprContext) Accept ¶
func (s *LitExprContext) Accept(visitor antlr.ParseTreeVisitor) interface{}
func (*LitExprContext) EnterRule ¶
func (s *LitExprContext) EnterRule(listener antlr.ParseTreeListener)
func (*LitExprContext) ExitRule ¶
func (s *LitExprContext) ExitRule(listener antlr.ParseTreeListener)
func (*LitExprContext) GetRuleContext ¶
func (s *LitExprContext) GetRuleContext() antlr.RuleContext
func (*LitExprContext) Literal ¶
func (s *LitExprContext) Literal() ILiteralContext
type LiteralContext ¶
type LiteralContext struct { *antlr.BaseParserRuleContext // contains filtered or unexported fields }
func NewEmptyLiteralContext ¶
func NewEmptyLiteralContext() *LiteralContext
func NewLiteralContext ¶
func NewLiteralContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *LiteralContext
func (*LiteralContext) Accept ¶
func (s *LiteralContext) Accept(visitor antlr.ParseTreeVisitor) interface{}
func (*LiteralContext) DecimalLiteral ¶
func (s *LiteralContext) DecimalLiteral() antlr.TerminalNode
func (*LiteralContext) EnterRule ¶
func (s *LiteralContext) EnterRule(listener antlr.ParseTreeListener)
func (*LiteralContext) ExitRule ¶
func (s *LiteralContext) ExitRule(listener antlr.ParseTreeListener)
func (*LiteralContext) GetParser ¶
func (s *LiteralContext) GetParser() antlr.Parser
func (*LiteralContext) GetRuleContext ¶
func (s *LiteralContext) GetRuleContext() antlr.RuleContext
func (*LiteralContext) IsLiteralContext ¶
func (*LiteralContext) IsLiteralContext()
func (*LiteralContext) ToStringTree ¶
func (s *LiteralContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string
type OpExprContext ¶
type OpExprContext struct { *ExprContext // contains filtered or unexported fields }
func NewOpExprContext ¶
func NewOpExprContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *OpExprContext
func (*OpExprContext) ADD ¶
func (s *OpExprContext) ADD() antlr.TerminalNode
func (*OpExprContext) Accept ¶
func (s *OpExprContext) Accept(visitor antlr.ParseTreeVisitor) interface{}
func (*OpExprContext) AllExpr ¶
func (s *OpExprContext) AllExpr() []IExprContext
func (*OpExprContext) DIV ¶
func (s *OpExprContext) DIV() antlr.TerminalNode
func (*OpExprContext) EnterRule ¶
func (s *OpExprContext) EnterRule(listener antlr.ParseTreeListener)
func (*OpExprContext) ExitRule ¶
func (s *OpExprContext) ExitRule(listener antlr.ParseTreeListener)
func (*OpExprContext) Expr ¶
func (s *OpExprContext) Expr(i int) IExprContext
func (*OpExprContext) GetLeft ¶
func (s *OpExprContext) GetLeft() IExprContext
func (*OpExprContext) GetOp ¶
func (s *OpExprContext) GetOp() antlr.Token
func (*OpExprContext) GetRight ¶
func (s *OpExprContext) GetRight() IExprContext
func (*OpExprContext) GetRuleContext ¶
func (s *OpExprContext) GetRuleContext() antlr.RuleContext
func (*OpExprContext) MUL ¶
func (s *OpExprContext) MUL() antlr.TerminalNode
func (*OpExprContext) SUB ¶
func (s *OpExprContext) SUB() antlr.TerminalNode
func (*OpExprContext) SetLeft ¶
func (s *OpExprContext) SetLeft(v IExprContext)
func (*OpExprContext) SetOp ¶
func (s *OpExprContext) SetOp(v antlr.Token)
func (*OpExprContext) SetRight ¶
func (s *OpExprContext) SetRight(v IExprContext)
type ParenExprContext ¶
type ParenExprContext struct {
*ExprContext
}
func NewParenExprContext ¶
func NewParenExprContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *ParenExprContext
func (*ParenExprContext) Accept ¶
func (s *ParenExprContext) Accept(visitor antlr.ParseTreeVisitor) interface{}
func (*ParenExprContext) EnterRule ¶
func (s *ParenExprContext) EnterRule(listener antlr.ParseTreeListener)
func (*ParenExprContext) ExitRule ¶
func (s *ParenExprContext) ExitRule(listener antlr.ParseTreeListener)
func (*ParenExprContext) Expr ¶
func (s *ParenExprContext) Expr() IExprContext
func (*ParenExprContext) GetRuleContext ¶
func (s *ParenExprContext) GetRuleContext() antlr.RuleContext