rpn

package
v0.0.0-...-4c43aeb Latest Latest
Warning

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

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

Documentation

Overview

Example
package main

import (
	"bramp.net/antlr4/rpn"

	"fmt"
	"github.com/antlr/antlr4/runtime/Go/antlr"
)

type exampleListener struct {
	*rpn.BaserpnListener
}

func (l *exampleListener) EnterEveryRule(ctx antlr.ParserRuleContext) {
	fmt.Println(ctx.GetText())
}
func main() {
	// Setup the input
	is := antlr.NewInputStream("...some text to parse...")

	// Create the Lexer
	lexer := rpn.NewrpnLexer(is)
	stream := antlr.NewCommonTokenStream(lexer, antlr.TokenDefaultChannel)

	// Create the Parser
	p := rpn.NewrpnParser(stream)
	p.BuildParseTrees = true
	p.AddErrorListener(antlr.NewDiagnosticErrorListener(true))

	// Finally walk the tree
	tree := p.Expression()
	antlr.ParseTreeWalkerDefault.Walk(&exampleListener{}, tree)
}
Output:

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewrpnLexer

func NewrpnLexer(input antlr.CharStream) *rpnLexer

func NewrpnParser

func NewrpnParser(input antlr.TokenStream) *rpnParser

Types

type BaserpnListener

type BaserpnListener struct{}

BaserpnListener is a complete listener for a parse tree produced by rpnParser.

func (*BaserpnListener) EnterEveryRule

func (s *BaserpnListener) EnterEveryRule(ctx antlr.ParserRuleContext)

EnterEveryRule is called when any rule is entered.

func (*BaserpnListener) EnterExpression

func (s *BaserpnListener) EnterExpression(ctx *ExpressionContext)

EnterExpression is called when production expression is entered.

func (*BaserpnListener) EnterOper

func (s *BaserpnListener) EnterOper(ctx *OperContext)

EnterOper is called when production oper is entered.

func (*BaserpnListener) EnterScientific

func (s *BaserpnListener) EnterScientific(ctx *ScientificContext)

EnterScientific is called when production scientific is entered.

func (*BaserpnListener) EnterSignedAtom

func (s *BaserpnListener) EnterSignedAtom(ctx *SignedAtomContext)

EnterSignedAtom is called when production signedAtom is entered.

func (*BaserpnListener) EnterTerm

func (s *BaserpnListener) EnterTerm(ctx *TermContext)

EnterTerm is called when production term is entered.

func (*BaserpnListener) EnterVariable

func (s *BaserpnListener) EnterVariable(ctx *VariableContext)

EnterVariable is called when production variable is entered.

func (*BaserpnListener) ExitEveryRule

func (s *BaserpnListener) ExitEveryRule(ctx antlr.ParserRuleContext)

ExitEveryRule is called when any rule is exited.

func (*BaserpnListener) ExitExpression

func (s *BaserpnListener) ExitExpression(ctx *ExpressionContext)

ExitExpression is called when production expression is exited.

func (*BaserpnListener) ExitOper

func (s *BaserpnListener) ExitOper(ctx *OperContext)

ExitOper is called when production oper is exited.

func (*BaserpnListener) ExitScientific

func (s *BaserpnListener) ExitScientific(ctx *ScientificContext)

ExitScientific is called when production scientific is exited.

func (*BaserpnListener) ExitSignedAtom

func (s *BaserpnListener) ExitSignedAtom(ctx *SignedAtomContext)

ExitSignedAtom is called when production signedAtom is exited.

func (*BaserpnListener) ExitTerm

func (s *BaserpnListener) ExitTerm(ctx *TermContext)

ExitTerm is called when production term is exited.

func (*BaserpnListener) ExitVariable

func (s *BaserpnListener) ExitVariable(ctx *VariableContext)

ExitVariable is called when production variable is exited.

func (*BaserpnListener) VisitErrorNode

func (s *BaserpnListener) VisitErrorNode(node antlr.ErrorNode)

VisitErrorNode is called when an error node is visited.

func (*BaserpnListener) VisitTerminal

func (s *BaserpnListener) VisitTerminal(node antlr.TerminalNode)

VisitTerminal is called when a terminal node is visited.

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

func (s *ExpressionContext) AllTerm() []ITermContext

func (*ExpressionContext) EnterRule

func (s *ExpressionContext) EnterRule(listener antlr.ParseTreeListener)

func (*ExpressionContext) ExitRule

func (s *ExpressionContext) ExitRule(listener antlr.ParseTreeListener)

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

func (s *ExpressionContext) SignedAtom() ISignedAtomContext

func (*ExpressionContext) Term

func (s *ExpressionContext) Term(i int) ITermContext

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 IOperContext

type IOperContext interface {
	antlr.ParserRuleContext

	// GetParser returns the parser.
	GetParser() antlr.Parser

	// IsOperContext differentiates from other interfaces.
	IsOperContext()
}

IOperContext is an interface to support dynamic dispatch.

type IScientificContext

type IScientificContext interface {
	antlr.ParserRuleContext

	// GetParser returns the parser.
	GetParser() antlr.Parser

	// IsScientificContext differentiates from other interfaces.
	IsScientificContext()
}

IScientificContext is an interface to support dynamic dispatch.

type ISignedAtomContext

type ISignedAtomContext interface {
	antlr.ParserRuleContext

	// GetParser returns the parser.
	GetParser() antlr.Parser

	// IsSignedAtomContext differentiates from other interfaces.
	IsSignedAtomContext()
}

ISignedAtomContext is an interface to support dynamic dispatch.

type ITermContext

type ITermContext interface {
	antlr.ParserRuleContext

	// GetParser returns the parser.
	GetParser() antlr.Parser

	// IsTermContext differentiates from other interfaces.
	IsTermContext()
}

ITermContext is an interface to support dynamic dispatch.

type IVariableContext

type IVariableContext interface {
	antlr.ParserRuleContext

	// GetParser returns the parser.
	GetParser() antlr.Parser

	// IsVariableContext differentiates from other interfaces.
	IsVariableContext()
}

IVariableContext is an interface to support dynamic dispatch.

type OperContext

type OperContext struct {
	*antlr.BaseParserRuleContext
	// contains filtered or unexported fields
}

func NewEmptyOperContext

func NewEmptyOperContext() *OperContext

func NewOperContext

func NewOperContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *OperContext

func (*OperContext) ACOS

func (s *OperContext) ACOS() antlr.TerminalNode

func (*OperContext) ASIN

func (s *OperContext) ASIN() antlr.TerminalNode

func (*OperContext) ATAN

func (s *OperContext) ATAN() antlr.TerminalNode

func (*OperContext) COS

func (s *OperContext) COS() antlr.TerminalNode

func (*OperContext) DIV

func (s *OperContext) DIV() antlr.TerminalNode

func (*OperContext) EnterRule

func (s *OperContext) EnterRule(listener antlr.ParseTreeListener)

func (*OperContext) ExitRule

func (s *OperContext) ExitRule(listener antlr.ParseTreeListener)

func (*OperContext) GetParser

func (s *OperContext) GetParser() antlr.Parser

func (*OperContext) GetRuleContext

func (s *OperContext) GetRuleContext() antlr.RuleContext

func (*OperContext) IsOperContext

func (*OperContext) IsOperContext()

func (*OperContext) LN

func (s *OperContext) LN() antlr.TerminalNode

func (*OperContext) LOG

func (s *OperContext) LOG() antlr.TerminalNode

func (*OperContext) MINUS

func (s *OperContext) MINUS() antlr.TerminalNode

func (*OperContext) PLUS

func (s *OperContext) PLUS() antlr.TerminalNode

func (*OperContext) POW

func (s *OperContext) POW() antlr.TerminalNode

func (*OperContext) SIN

func (s *OperContext) SIN() antlr.TerminalNode

func (*OperContext) TAN

func (s *OperContext) TAN() antlr.TerminalNode

func (*OperContext) TIMES

func (s *OperContext) TIMES() antlr.TerminalNode

func (*OperContext) ToStringTree

func (s *OperContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string

type ScientificContext

type ScientificContext struct {
	*antlr.BaseParserRuleContext
	// contains filtered or unexported fields
}

func NewEmptyScientificContext

func NewEmptyScientificContext() *ScientificContext

func NewScientificContext

func NewScientificContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ScientificContext

func (*ScientificContext) EnterRule

func (s *ScientificContext) EnterRule(listener antlr.ParseTreeListener)

func (*ScientificContext) ExitRule

func (s *ScientificContext) ExitRule(listener antlr.ParseTreeListener)

func (*ScientificContext) GetParser

func (s *ScientificContext) GetParser() antlr.Parser

func (*ScientificContext) GetRuleContext

func (s *ScientificContext) GetRuleContext() antlr.RuleContext

func (*ScientificContext) IsScientificContext

func (*ScientificContext) IsScientificContext()

func (*ScientificContext) SCIENTIFIC_NUMBER

func (s *ScientificContext) SCIENTIFIC_NUMBER() antlr.TerminalNode

func (*ScientificContext) ToStringTree

func (s *ScientificContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string

type SignedAtomContext

type SignedAtomContext struct {
	*antlr.BaseParserRuleContext
	// contains filtered or unexported fields
}

func NewEmptySignedAtomContext

func NewEmptySignedAtomContext() *SignedAtomContext

func NewSignedAtomContext

func NewSignedAtomContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *SignedAtomContext

func (*SignedAtomContext) EnterRule

func (s *SignedAtomContext) EnterRule(listener antlr.ParseTreeListener)

func (*SignedAtomContext) ExitRule

func (s *SignedAtomContext) ExitRule(listener antlr.ParseTreeListener)

func (*SignedAtomContext) GetParser

func (s *SignedAtomContext) GetParser() antlr.Parser

func (*SignedAtomContext) GetRuleContext

func (s *SignedAtomContext) GetRuleContext() antlr.RuleContext

func (*SignedAtomContext) IsSignedAtomContext

func (*SignedAtomContext) IsSignedAtomContext()

func (*SignedAtomContext) MINUS

func (*SignedAtomContext) PLUS

func (*SignedAtomContext) Scientific

func (s *SignedAtomContext) Scientific() IScientificContext

func (*SignedAtomContext) SignedAtom

func (s *SignedAtomContext) SignedAtom() ISignedAtomContext

func (*SignedAtomContext) ToStringTree

func (s *SignedAtomContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string

func (*SignedAtomContext) Variable

func (s *SignedAtomContext) Variable() IVariableContext

type TermContext

type TermContext struct {
	*antlr.BaseParserRuleContext
	// contains filtered or unexported fields
}

func NewEmptyTermContext

func NewEmptyTermContext() *TermContext

func NewTermContext

func NewTermContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *TermContext

func (*TermContext) EnterRule

func (s *TermContext) EnterRule(listener antlr.ParseTreeListener)

func (*TermContext) ExitRule

func (s *TermContext) ExitRule(listener antlr.ParseTreeListener)

func (*TermContext) GetParser

func (s *TermContext) GetParser() antlr.Parser

func (*TermContext) GetRuleContext

func (s *TermContext) GetRuleContext() antlr.RuleContext

func (*TermContext) IsTermContext

func (*TermContext) IsTermContext()

func (*TermContext) Oper

func (s *TermContext) Oper() IOperContext

func (*TermContext) SignedAtom

func (s *TermContext) SignedAtom() ISignedAtomContext

func (*TermContext) ToStringTree

func (s *TermContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string

type VariableContext

type VariableContext struct {
	*antlr.BaseParserRuleContext
	// contains filtered or unexported fields
}

func NewEmptyVariableContext

func NewEmptyVariableContext() *VariableContext

func NewVariableContext

func NewVariableContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *VariableContext

func (*VariableContext) EnterRule

func (s *VariableContext) EnterRule(listener antlr.ParseTreeListener)

func (*VariableContext) ExitRule

func (s *VariableContext) ExitRule(listener antlr.ParseTreeListener)

func (*VariableContext) GetParser

func (s *VariableContext) GetParser() antlr.Parser

func (*VariableContext) GetRuleContext

func (s *VariableContext) GetRuleContext() antlr.RuleContext

func (*VariableContext) IsVariableContext

func (*VariableContext) IsVariableContext()

func (*VariableContext) ToStringTree

func (s *VariableContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string

func (*VariableContext) VARIABLE

func (s *VariableContext) VARIABLE() antlr.TerminalNode

Jump to

Keyboard shortcuts

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