parser

package
v0.0.0-...-48b9d42 Latest Latest
Warning

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

Go to latest
Published: Dec 18, 2023 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
	CalcLexerNUMBER     = 7
	CalcLexerWHITESPACE = 8
)

CalcLexer tokens.

View Source
const (
	CalcParserEOF        = antlr.TokenEOF
	CalcParserT__0       = 1
	CalcParserT__1       = 2
	CalcParserMUL        = 3
	CalcParserDIV        = 4
	CalcParserADD        = 5
	CalcParserSUB        = 6
	CalcParserNUMBER     = 7
	CalcParserWHITESPACE = 8
)

CalcParser tokens.

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

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

	// 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

Jump to

Keyboard shortcuts

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