parser

package
v0.0.0-...-5ccd1c1 Latest Latest
Warning

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

Go to latest
Published: May 10, 2022 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

View Source
const (
	CalcLexerMUL        = 1
	CalcLexerDIV        = 2
	CalcLexerADD        = 3
	CalcLexerSUB        = 4
	CalcLexerNUMBER     = 5
	CalcLexerWHITESPACE = 6
)

CalcLexer tokens.

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

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

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)

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

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

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