parser

package
v0.0.0-...-6752d0c Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 9, 2022 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

View Source
const (
	CalcLexerT__0           = 1
	CalcLexerT__1           = 2
	CalcLexerMUL            = 3
	CalcLexerDIV            = 4
	CalcLexerADD            = 5
	CalcLexerSUB            = 6
	CalcLexerId             = 7
	CalcLexerDecimalLiteral = 8
	CalcLexerWS             = 9
)

CalcLexer tokens.

View Source
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.

View Source
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

type CalcLexer struct {
	*antlr.BaseLexer
	// contains filtered or unexported fields
}

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 (*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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL