Class ParserVisitor
java.lang.Object
org.antlr.v4.runtime.tree.AbstractParseTreeVisitor<Expression>
- All Implemented Interfaces:
calculatorVisitor<Expression>, org.antlr.v4.runtime.tree.ParseTreeVisitor<Expression>
Builds Expression objects from the ANTLR parse tree.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionRule: atom : complex #AtomComplexRule: atom : number #AtomNumberRule: complete : expressionIN EOF #CompleteInfixRule: complete : expressionPOST EOF #CompletePostfixRule: complete : expressionPRE EOF #CompletePrefixRule: complex : number?Rule: constant : EULER #ConstEulerRule: constant : PI #ConstPiRule: expressionIN : multExp ((PLUS | MINUS) multExp)* #INAddSubRule: functionIN : funcname LPAR expressionIN (COMMA expressionIN)* RPAR #InfixFunctionCallRule: atomIN : functionIN #INFunctionRule: atomIN : (LPAR expressionIN RPAR)?Rule: multExp : powExp (LPAR powExp RPAR)* #INMultRule: atomIN : (LPAR expressionIN RPAR) #INParenthesisRule: powExp : atomIN (POW atomIN)* #INPowRule: atomIN : (PLUS | MINUS)* atom (constant)* #INSignedAtomRule: multExp : powExp ((TIMES | DIV) powExp)* #INTimesDivRule: number : constant #NumberConstantRule: number : real #NumberRealRule: number : scientific #NumberScientificRule: expressionPOST : expressionPOST expressionPOST operator #Post2ParamRule: expressionPOST : atom #PostAtomRule: expressionPOST : LPAR expressionPOST+ RPAR funcname | LPAR expressionPOST (COMMA expressionPOST)* RPAR funcname #PostFuncRule: expressionPOST : expressionPOST funcname #PostFunc1ParamRule: expressionPOST : LPAR expressionPOST expressionPOST+ RPAR | LPAR expressionPOST (COMMA expressionPOST)+ RPAR #PostMultRule: expressionPOST : LPAR expressionPOST expressionPOST+ RPAR operator | LPAR expressionPOST (COMMA expressionPOST)+ RPAR operator #PostPlus2ParamRule: expressionPRE : operator expressionPRE expressionPRE #Pre2ParamRule: expressionPRE : atom #PreAtomRule: expressionPRE : funcname LPAR expressionPRE+ RPAR | funcname LPAR expressionPRE (COMMA expressionPRE)* RPAR #PreFuncRule: expressionPRE : funcname expressionPRE #PreFunc1ParamRule: expressionPRE : LPAR expressionPRE expressionPRE+ RPAR | LPAR expressionPRE (COMMA expressionPRE)+ RPAR #PreMultRule: expressionPRE : operator LPAR expressionPRE expressionPRE+ RPAR | operator LPAR expressionPRE (COMMA expressionPRE)+ RPAR #PrePlus2ParamRule: real : INT (DOT INT)?Rule: scientific : (real | INT) E (PLUS | MINUS)?Methods inherited from class calculatorBaseVisitor
visitFnAcos, visitFnAsin, visitFnAtan, visitFnCos, visitFnCosh, visitFnLn, visitFnLog, visitFnSin, visitFnSinh, visitFnSqrt, visitFnTan, visitFnTanh, visitOpDiv, visitOpMinus, visitOpPlus, visitOpPow, visitOpTimesMethods inherited from class org.antlr.v4.runtime.tree.AbstractParseTreeVisitor
aggregateResult, defaultResult, shouldVisitNextChild, visit, visitChildren, visitErrorNode, visitTerminalMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.antlr.v4.runtime.tree.ParseTreeVisitor
visit, visitChildren, visitErrorNode, visitTerminal
-
Constructor Details
-
ParserVisitor
public ParserVisitor()
-
-
Method Details
-
visitCompleteInfix
Rule: complete : expressionIN EOF #CompleteInfix- Specified by:
visitCompleteInfixin interfacecalculatorVisitor<Expression>- Overrides:
visitCompleteInfixin classcalculatorBaseVisitor<Expression>- Parameters:
ctx- the parse tree- Returns:
- the visitor result
-
visitCompletePostfix
Rule: complete : expressionPOST EOF #CompletePostfix- Specified by:
visitCompletePostfixin interfacecalculatorVisitor<Expression>- Overrides:
visitCompletePostfixin classcalculatorBaseVisitor<Expression>- Parameters:
ctx- the parse tree- Returns:
- the visitor result
-
visitCompletePrefix
Rule: complete : expressionPRE EOF #CompletePrefix- Specified by:
visitCompletePrefixin interfacecalculatorVisitor<Expression>- Overrides:
visitCompletePrefixin classcalculatorBaseVisitor<Expression>- Parameters:
ctx- the parse tree- Returns:
- the visitor result
-
visitPre2Param
Rule: expressionPRE : operator expressionPRE expressionPRE #Pre2Param- Specified by:
visitPre2Paramin interfacecalculatorVisitor<Expression>- Overrides:
visitPre2Paramin classcalculatorBaseVisitor<Expression>- Parameters:
ctx- the parse tree- Returns:
- the visitor result
-
visitPrePlus2Param
Rule: expressionPRE : operator LPAR expressionPRE expressionPRE+ RPAR | operator LPAR expressionPRE (COMMA expressionPRE)+ RPAR #PrePlus2Param- Specified by:
visitPrePlus2Paramin interfacecalculatorVisitor<Expression>- Overrides:
visitPrePlus2Paramin classcalculatorBaseVisitor<Expression>- Parameters:
ctx- the parse tree- Returns:
- the visitor result
-
visitPreMult
Rule: expressionPRE : LPAR expressionPRE expressionPRE+ RPAR | LPAR expressionPRE (COMMA expressionPRE)+ RPAR #PreMult- Specified by:
visitPreMultin interfacecalculatorVisitor<Expression>- Overrides:
visitPreMultin classcalculatorBaseVisitor<Expression>- Parameters:
ctx- the parse tree- Returns:
- the visitor result
-
visitPreFunc
Rule: expressionPRE : funcname LPAR expressionPRE+ RPAR | funcname LPAR expressionPRE (COMMA expressionPRE)* RPAR #PreFunc- Specified by:
visitPreFuncin interfacecalculatorVisitor<Expression>- Overrides:
visitPreFuncin classcalculatorBaseVisitor<Expression>- Parameters:
ctx- the parse tree- Returns:
- the visitor result
-
visitPreAtom
Rule: expressionPRE : atom #PreAtom- Specified by:
visitPreAtomin interfacecalculatorVisitor<Expression>- Overrides:
visitPreAtomin classcalculatorBaseVisitor<Expression>- Parameters:
ctx- the parse tree- Returns:
- the visitor result
-
visitPreFunc1Param
Rule: expressionPRE : funcname expressionPRE #PreFunc1Param- Specified by:
visitPreFunc1Paramin interfacecalculatorVisitor<Expression>- Overrides:
visitPreFunc1Paramin classcalculatorBaseVisitor<Expression>- Parameters:
ctx- the parse tree- Returns:
- the visitor result
-
visitPost2Param
Rule: expressionPOST : expressionPOST expressionPOST operator #Post2Param- Specified by:
visitPost2Paramin interfacecalculatorVisitor<Expression>- Overrides:
visitPost2Paramin classcalculatorBaseVisitor<Expression>- Parameters:
ctx- the parse tree- Returns:
- the visitor result
-
visitPostPlus2Param
Rule: expressionPOST : LPAR expressionPOST expressionPOST+ RPAR operator | LPAR expressionPOST (COMMA expressionPOST)+ RPAR operator #PostPlus2Param- Specified by:
visitPostPlus2Paramin interfacecalculatorVisitor<Expression>- Overrides:
visitPostPlus2Paramin classcalculatorBaseVisitor<Expression>- Parameters:
ctx- the parse tree- Returns:
- the visitor result
-
visitPostMult
Rule: expressionPOST : LPAR expressionPOST expressionPOST+ RPAR | LPAR expressionPOST (COMMA expressionPOST)+ RPAR #PostMult- Specified by:
visitPostMultin interfacecalculatorVisitor<Expression>- Overrides:
visitPostMultin classcalculatorBaseVisitor<Expression>- Parameters:
ctx- the parse tree- Returns:
- the visitor result
-
visitPostFunc
Rule: expressionPOST : LPAR expressionPOST+ RPAR funcname | LPAR expressionPOST (COMMA expressionPOST)* RPAR funcname #PostFunc- Specified by:
visitPostFuncin interfacecalculatorVisitor<Expression>- Overrides:
visitPostFuncin classcalculatorBaseVisitor<Expression>- Parameters:
ctx- the parse tree- Returns:
- the visitor result
-
visitPostAtom
Rule: expressionPOST : atom #PostAtom- Specified by:
visitPostAtomin interfacecalculatorVisitor<Expression>- Overrides:
visitPostAtomin classcalculatorBaseVisitor<Expression>- Parameters:
ctx- the parse tree- Returns:
- the visitor result
-
visitPostFunc1Param
Rule: expressionPOST : expressionPOST funcname #PostFunc1Param- Specified by:
visitPostFunc1Paramin interfacecalculatorVisitor<Expression>- Overrides:
visitPostFunc1Paramin classcalculatorBaseVisitor<Expression>- Parameters:
ctx- the parse tree- Returns:
- the visitor result
-
visitINAddSub
Rule: expressionIN : multExp ((PLUS | MINUS) multExp)* #INAddSub- Specified by:
visitINAddSubin interfacecalculatorVisitor<Expression>- Overrides:
visitINAddSubin classcalculatorBaseVisitor<Expression>- Parameters:
ctx- the parse tree- Returns:
- the visitor result
-
visitINTimesDiv
Rule: multExp : powExp ((TIMES | DIV) powExp)* #INTimesDiv- Specified by:
visitINTimesDivin interfacecalculatorVisitor<Expression>- Overrides:
visitINTimesDivin classcalculatorBaseVisitor<Expression>- Parameters:
ctx- the parse tree- Returns:
- the visitor result
-
visitINMult
Rule: multExp : powExp (LPAR powExp RPAR)* #INMult- Specified by:
visitINMultin interfacecalculatorVisitor<Expression>- Overrides:
visitINMultin classcalculatorBaseVisitor<Expression>- Parameters:
ctx- the parse tree- Returns:
- the visitor result
-
visitINPow
Rule: powExp : atomIN (POW atomIN)* #INPow- Specified by:
visitINPowin interfacecalculatorVisitor<Expression>- Overrides:
visitINPowin classcalculatorBaseVisitor<Expression>- Parameters:
ctx- the parse tree- Returns:
- the visitor result
-
visitINSignedAtom
Rule: atomIN : (PLUS | MINUS)* atom (constant)* #INSignedAtom- Specified by:
visitINSignedAtomin interfacecalculatorVisitor<Expression>- Overrides:
visitINSignedAtomin classcalculatorBaseVisitor<Expression>- Parameters:
ctx- the parse tree- Returns:
- the visitor result
-
visitINImplicitMult
Rule: atomIN : (LPAR expressionIN RPAR)? atom (constant)* (LPAR expressionIN RPAR)? #INImplicitMult- Specified by:
visitINImplicitMultin interfacecalculatorVisitor<Expression>- Overrides:
visitINImplicitMultin classcalculatorBaseVisitor<Expression>- Parameters:
ctx- the parse tree- Returns:
- the visitor result
-
visitINParenthesis
Rule: atomIN : (LPAR expressionIN RPAR) #INParenthesis- Specified by:
visitINParenthesisin interfacecalculatorVisitor<Expression>- Overrides:
visitINParenthesisin classcalculatorBaseVisitor<Expression>- Parameters:
ctx- the parse tree- Returns:
- the visitor result
-
visitINFunction
Rule: atomIN : functionIN #INFunction- Specified by:
visitINFunctionin interfacecalculatorVisitor<Expression>- Overrides:
visitINFunctionin classcalculatorBaseVisitor<Expression>- Parameters:
ctx- the parse tree- Returns:
- the visitor result
-
visitAtomComplex
Rule: atom : complex #AtomComplex- Specified by:
visitAtomComplexin interfacecalculatorVisitor<Expression>- Overrides:
visitAtomComplexin classcalculatorBaseVisitor<Expression>- Parameters:
ctx- the parse tree- Returns:
- the visitor result
-
visitAtomNumber
Rule: atom : number #AtomNumber- Specified by:
visitAtomNumberin interfacecalculatorVisitor<Expression>- Overrides:
visitAtomNumberin classcalculatorBaseVisitor<Expression>- Parameters:
ctx- the parse tree- Returns:
- the visitor result
-
visitNumberConstant
Rule: number : constant #NumberConstant- Specified by:
visitNumberConstantin interfacecalculatorVisitor<Expression>- Overrides:
visitNumberConstantin classcalculatorBaseVisitor<Expression>- Parameters:
ctx- the parse tree- Returns:
- the visitor result
-
visitNumberReal
Rule: number : real #NumberReal- Specified by:
visitNumberRealin interfacecalculatorVisitor<Expression>- Overrides:
visitNumberRealin classcalculatorBaseVisitor<Expression>- Parameters:
ctx- the parse tree- Returns:
- the visitor result
-
visitNumberScientific
Rule: number : scientific #NumberScientific- Specified by:
visitNumberScientificin interfacecalculatorVisitor<Expression>- Overrides:
visitNumberScientificin classcalculatorBaseVisitor<Expression>- Parameters:
ctx- the parse tree- Returns:
- the visitor result
-
visitScientificNumber
Rule: scientific : (real | INT) E (PLUS | MINUS)? INT #ScientificNumber- Specified by:
visitScientificNumberin interfacecalculatorVisitor<Expression>- Overrides:
visitScientificNumberin classcalculatorBaseVisitor<Expression>- Parameters:
ctx- the parse tree- Returns:
- the visitor result
-
visitRealNumber
Rule: real : INT (DOT INT)? #RealNumber- Specified by:
visitRealNumberin interfacecalculatorVisitor<Expression>- Overrides:
visitRealNumberin classcalculatorBaseVisitor<Expression>- Parameters:
ctx- the parse tree- Returns:
- the visitor result
-
visitComplexNumber
Rule: complex : number? (constant)* I #ComplexNumber- Specified by:
visitComplexNumberin interfacecalculatorVisitor<Expression>- Overrides:
visitComplexNumberin classcalculatorBaseVisitor<Expression>- Parameters:
ctx- the parse tree- Returns:
- the visitor result
-
visitConstPi
Rule: constant : PI #ConstPi- Specified by:
visitConstPiin interfacecalculatorVisitor<Expression>- Overrides:
visitConstPiin classcalculatorBaseVisitor<Expression>- Parameters:
ctx- the parse tree- Returns:
- the visitor result
-
visitConstEuler
Rule: constant : EULER #ConstEuler- Specified by:
visitConstEulerin interfacecalculatorVisitor<Expression>- Overrides:
visitConstEulerin classcalculatorBaseVisitor<Expression>- Parameters:
ctx- the parse tree- Returns:
- the visitor result
-
visitInfixFunctionCall
Rule: functionIN : funcname LPAR expressionIN (COMMA expressionIN)* RPAR #InfixFunctionCall- Specified by:
visitInfixFunctionCallin interfacecalculatorVisitor<Expression>- Overrides:
visitInfixFunctionCallin classcalculatorBaseVisitor<Expression>- Parameters:
ctx- the parse tree- Returns:
- the visitor result
-