sddl
Class Interpreter
java.lang.Object
sddl.syntax.analysis.AnalysisAdapter
sddl.syntax.analysis.DepthFirstAdapter
sddl.Interpreter
- All Implemented Interfaces:
- Analysis, Switch
public class Interpreter
- extends DepthFirstAdapter
Methods inherited from class sddl.syntax.analysis.DepthFirstAdapter |
caseAAdditionalArg, caseAAdditionalObject, caseAAdditionalOption, caseAArgList, caseAObjectList, caseAOptions, caseAWithPart, caseStart, defaultIn, defaultOut, inAAddAddExp, inAAdditionalArg, inAAdditionalId, inAAdditionalObject, inAAdditionalOption, inAAdditionalType, inAAndAndExp, inAArgList, inAAssignStm, inAAtPart, inACallRightExp, inACoordLeftUnaryExp, inACurvedBidirArrowLineOp, inACurvedBwdArrowLineOp, inACurvedFwdArrowLineOp, inACurvedLineLineOp, inADivMulExp, inADrawingTerm, inAElsePart, inAEqEqExp, inAExpStm, inAFalseTerm, inAFile, inAFitLeftUnaryExp, inAForStm, inAFunction, inAGeqCmpExp, inAGetLeftUnaryExp, inAGtCmpExp, inAIdList, inAIfStm, inAIndexRightExp, inAIntTerm, inALeqCmpExp, inALineLineExp, inAListTerm, inALtCmpExp, inAMinusAddExp, inAMultMulExp, inANeqEqExp, inANotLeftUnaryExp, inAObjectList, inAOption, inAOptions, inAOrExp, inAParTerm, inAPointTerm, inAPrimitive, inAPutLeftUnaryExp, inARealTerm, inAReturnStm, inARotatedRightExp, inAScaledRightExp, inASignature, inASimpleAddExp, inASimpleAndExp, inASimpleCmpExp, inASimpleEqExp, inASimpleExp, inASimpleLeftUnaryExp, inASimpleLineExp, inASimpleMulExp, inASimpleRightExp, inASlantedRightExp, inAStaticCallTerm, inAStraightBidirArrowLineOp, inAStraightBwdArrowLineOp, inAStraightFwdArrowLineOp, inAStraightLineLineOp, inAStringTerm, inATranslatedRightExp, inATrueTerm, inATypeList, inAVarTerm, inAWhileStm, inAWithExp, inAWithPart, inStart, outAAddAddExp, outAAdditionalArg, outAAdditionalId, outAAdditionalObject, outAAdditionalOption, outAAdditionalType, outAAndAndExp, outAArgList, outAAssignStm, outAAtPart, outACallRightExp, outACoordLeftUnaryExp, outACurvedBidirArrowLineOp, outACurvedBwdArrowLineOp, outACurvedFwdArrowLineOp, outACurvedLineLineOp, outADivMulExp, outADrawingTerm, outAElsePart, outAEqEqExp, outAExpStm, outAFalseTerm, outAFile, outAFitLeftUnaryExp, outAForStm, outAFunction, outAGeqCmpExp, outAGetLeftUnaryExp, outAGtCmpExp, outAIdList, outAIfStm, outAIndexRightExp, outAIntTerm, outALeqCmpExp, outALineLineExp, outAListTerm, outALtCmpExp, outAMinusAddExp, outAMultMulExp, outANeqEqExp, outANotLeftUnaryExp, outAObjectList, outAOption, outAOptions, outAOrExp, outAParTerm, outAPointTerm, outAPrimitive, outAPutLeftUnaryExp, outARealTerm, outAReturnStm, outARotatedRightExp, outAScaledRightExp, outASignature, outASimpleAddExp, outASimpleAndExp, outASimpleCmpExp, outASimpleEqExp, outASimpleExp, outASimpleLeftUnaryExp, outASimpleLineExp, outASimpleMulExp, outASimpleRightExp, outASlantedRightExp, outAStaticCallTerm, outAStraightBidirArrowLineOp, outAStraightBwdArrowLineOp, outAStraightFwdArrowLineOp, outAStraightLineLineOp, outAStringTerm, outATranslatedRightExp, outATrueTerm, outATypeList, outAVarTerm, outAWhileStm, outAWithExp, outAWithPart, outStart |
Methods inherited from class sddl.syntax.analysis.AnalysisAdapter |
caseEOF, caseTAndKwd, caseTAroundKwd, caseTAssign, caseTAtKwd, caseTBlank, caseTByKwd, caseTCallKwd, caseTClassName, caseTComma, caseTComment, caseTCoordKwd, caseTCurvedBidirArrowKwd, caseTCurvedBwdArrowKwd, caseTCurvedFwdArrowKwd, caseTCurvedLineKwd, caseTDiv, caseTDoKwd, caseTDot, caseTElseKwd, caseTEndKwd, caseTEq, caseTFalseKwd, caseTFitKwd, caseTForKwd, caseTFromKwd, caseTFunKwd, caseTGeq, caseTGetKwd, caseTGt, caseTId, caseTIfKwd, caseTInKwd, caseTInteger, caseTLBr, caseTLCr, caseTLeq, caseTLPar, caseTLt, caseTMinus, caseTMult, caseTNeq, caseTNot, caseTOfKwd, caseTOrKwd, caseTPlus, caseTPrimitiveKwd, caseTPutKwd, caseTRBr, caseTRCr, caseTReal, caseTReturnKwd, caseTRotatedKwd, caseTRPar, caseTSc, caseTScaledKwd, caseTSlantedKwd, caseTStaticKwd, caseTStraightBidirArrowKwd, caseTStraightBwdArrowKwd, caseTStraightFwdArrowKwd, caseTStraightLineKwd, caseTString, caseTThenKwd, caseTToKwd, caseTTranslatedKwd, caseTTrueKwd, caseTWhileKwd, caseTWithKwd, defaultCase, getIn, getOut, setIn, setOut |
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Interpreter
public Interpreter()
setPrintWriter
public void setPrintWriter(java.io.PrintWriter out)
printStackTrace
public void printStackTrace()
modifyFunName
public java.lang.String modifyFunName(java.lang.String firstName)
visit
public void visit(Node node)
caseAFile
public void caseAFile(AFile node)
- Specified by:
caseAFile
in interface Analysis
- Overrides:
caseAFile
in class DepthFirstAdapter
caseAPrimitive
public void caseAPrimitive(APrimitive node)
- Specified by:
caseAPrimitive
in interface Analysis
- Overrides:
caseAPrimitive
in class DepthFirstAdapter
caseASignature
public void caseASignature(ASignature node)
- Specified by:
caseASignature
in interface Analysis
- Overrides:
caseASignature
in class DepthFirstAdapter
caseATypeList
public void caseATypeList(ATypeList node)
- Specified by:
caseATypeList
in interface Analysis
- Overrides:
caseATypeList
in class DepthFirstAdapter
caseAAdditionalType
public void caseAAdditionalType(AAdditionalType node)
- Specified by:
caseAAdditionalType
in interface Analysis
- Overrides:
caseAAdditionalType
in class DepthFirstAdapter
caseAFunction
public void caseAFunction(AFunction node)
- Specified by:
caseAFunction
in interface Analysis
- Overrides:
caseAFunction
in class DepthFirstAdapter
caseAIdList
public void caseAIdList(AIdList node)
- Specified by:
caseAIdList
in interface Analysis
- Overrides:
caseAIdList
in class DepthFirstAdapter
caseAAdditionalId
public void caseAAdditionalId(AAdditionalId node)
- Specified by:
caseAAdditionalId
in interface Analysis
- Overrides:
caseAAdditionalId
in class DepthFirstAdapter
caseAExpStm
public void caseAExpStm(AExpStm node)
- Specified by:
caseAExpStm
in interface Analysis
- Overrides:
caseAExpStm
in class DepthFirstAdapter
topExpStmIsLegal
public boolean topExpStmIsLegal(AExpStm node)
caseAAssignStm
public void caseAAssignStm(AAssignStm node)
- Specified by:
caseAAssignStm
in interface Analysis
- Overrides:
caseAAssignStm
in class DepthFirstAdapter
caseAWhileStm
public void caseAWhileStm(AWhileStm node)
- Specified by:
caseAWhileStm
in interface Analysis
- Overrides:
caseAWhileStm
in class DepthFirstAdapter
caseAIfStm
public void caseAIfStm(AIfStm node)
- Specified by:
caseAIfStm
in interface Analysis
- Overrides:
caseAIfStm
in class DepthFirstAdapter
caseAForStm
public void caseAForStm(AForStm node)
- Specified by:
caseAForStm
in interface Analysis
- Overrides:
caseAForStm
in class DepthFirstAdapter
caseAReturnStm
public void caseAReturnStm(AReturnStm node)
- Specified by:
caseAReturnStm
in interface Analysis
- Overrides:
caseAReturnStm
in class DepthFirstAdapter
caseAElsePart
public void caseAElsePart(AElsePart node)
- Specified by:
caseAElsePart
in interface Analysis
- Overrides:
caseAElsePart
in class DepthFirstAdapter
caseAOrExp
public void caseAOrExp(AOrExp node)
- Specified by:
caseAOrExp
in interface Analysis
- Overrides:
caseAOrExp
in class DepthFirstAdapter
caseASimpleExp
public void caseASimpleExp(ASimpleExp node)
- Specified by:
caseASimpleExp
in interface Analysis
- Overrides:
caseASimpleExp
in class DepthFirstAdapter
caseAAndAndExp
public void caseAAndAndExp(AAndAndExp node)
- Specified by:
caseAAndAndExp
in interface Analysis
- Overrides:
caseAAndAndExp
in class DepthFirstAdapter
caseASimpleAndExp
public void caseASimpleAndExp(ASimpleAndExp node)
- Specified by:
caseASimpleAndExp
in interface Analysis
- Overrides:
caseASimpleAndExp
in class DepthFirstAdapter
caseAWithExp
public void caseAWithExp(AWithExp node)
- Specified by:
caseAWithExp
in interface Analysis
- Overrides:
caseAWithExp
in class DepthFirstAdapter
caseALineLineExp
public void caseALineLineExp(ALineLineExp node)
- Specified by:
caseALineLineExp
in interface Analysis
- Overrides:
caseALineLineExp
in class DepthFirstAdapter
caseASimpleLineExp
public void caseASimpleLineExp(ASimpleLineExp node)
- Specified by:
caseASimpleLineExp
in interface Analysis
- Overrides:
caseASimpleLineExp
in class DepthFirstAdapter
caseAStraightLineLineOp
public void caseAStraightLineLineOp(AStraightLineLineOp node)
- Specified by:
caseAStraightLineLineOp
in interface Analysis
- Overrides:
caseAStraightLineLineOp
in class DepthFirstAdapter
caseACurvedLineLineOp
public void caseACurvedLineLineOp(ACurvedLineLineOp node)
- Specified by:
caseACurvedLineLineOp
in interface Analysis
- Overrides:
caseACurvedLineLineOp
in class DepthFirstAdapter
caseAStraightFwdArrowLineOp
public void caseAStraightFwdArrowLineOp(AStraightFwdArrowLineOp node)
- Specified by:
caseAStraightFwdArrowLineOp
in interface Analysis
- Overrides:
caseAStraightFwdArrowLineOp
in class DepthFirstAdapter
caseACurvedFwdArrowLineOp
public void caseACurvedFwdArrowLineOp(ACurvedFwdArrowLineOp node)
- Specified by:
caseACurvedFwdArrowLineOp
in interface Analysis
- Overrides:
caseACurvedFwdArrowLineOp
in class DepthFirstAdapter
caseAStraightBwdArrowLineOp
public void caseAStraightBwdArrowLineOp(AStraightBwdArrowLineOp node)
- Specified by:
caseAStraightBwdArrowLineOp
in interface Analysis
- Overrides:
caseAStraightBwdArrowLineOp
in class DepthFirstAdapter
caseACurvedBwdArrowLineOp
public void caseACurvedBwdArrowLineOp(ACurvedBwdArrowLineOp node)
- Specified by:
caseACurvedBwdArrowLineOp
in interface Analysis
- Overrides:
caseACurvedBwdArrowLineOp
in class DepthFirstAdapter
caseAStraightBidirArrowLineOp
public void caseAStraightBidirArrowLineOp(AStraightBidirArrowLineOp node)
- Specified by:
caseAStraightBidirArrowLineOp
in interface Analysis
- Overrides:
caseAStraightBidirArrowLineOp
in class DepthFirstAdapter
caseACurvedBidirArrowLineOp
public void caseACurvedBidirArrowLineOp(ACurvedBidirArrowLineOp node)
- Specified by:
caseACurvedBidirArrowLineOp
in interface Analysis
- Overrides:
caseACurvedBidirArrowLineOp
in class DepthFirstAdapter
promote
public int promote(java.lang.Object one,
java.lang.Object two)
caseAEqEqExp
public void caseAEqEqExp(AEqEqExp node)
- Specified by:
caseAEqEqExp
in interface Analysis
- Overrides:
caseAEqEqExp
in class DepthFirstAdapter
caseANeqEqExp
public void caseANeqEqExp(ANeqEqExp node)
- Specified by:
caseANeqEqExp
in interface Analysis
- Overrides:
caseANeqEqExp
in class DepthFirstAdapter
caseASimpleEqExp
public void caseASimpleEqExp(ASimpleEqExp node)
- Specified by:
caseASimpleEqExp
in interface Analysis
- Overrides:
caseASimpleEqExp
in class DepthFirstAdapter
caseALtCmpExp
public void caseALtCmpExp(ALtCmpExp node)
- Specified by:
caseALtCmpExp
in interface Analysis
- Overrides:
caseALtCmpExp
in class DepthFirstAdapter
caseAGtCmpExp
public void caseAGtCmpExp(AGtCmpExp node)
- Specified by:
caseAGtCmpExp
in interface Analysis
- Overrides:
caseAGtCmpExp
in class DepthFirstAdapter
caseALeqCmpExp
public void caseALeqCmpExp(ALeqCmpExp node)
- Specified by:
caseALeqCmpExp
in interface Analysis
- Overrides:
caseALeqCmpExp
in class DepthFirstAdapter
caseAGeqCmpExp
public void caseAGeqCmpExp(AGeqCmpExp node)
- Specified by:
caseAGeqCmpExp
in interface Analysis
- Overrides:
caseAGeqCmpExp
in class DepthFirstAdapter
caseASimpleCmpExp
public void caseASimpleCmpExp(ASimpleCmpExp node)
- Specified by:
caseASimpleCmpExp
in interface Analysis
- Overrides:
caseASimpleCmpExp
in class DepthFirstAdapter
caseAAddAddExp
public void caseAAddAddExp(AAddAddExp node)
- Specified by:
caseAAddAddExp
in interface Analysis
- Overrides:
caseAAddAddExp
in class DepthFirstAdapter
caseAMinusAddExp
public void caseAMinusAddExp(AMinusAddExp node)
- Specified by:
caseAMinusAddExp
in interface Analysis
- Overrides:
caseAMinusAddExp
in class DepthFirstAdapter
caseASimpleAddExp
public void caseASimpleAddExp(ASimpleAddExp node)
- Specified by:
caseASimpleAddExp
in interface Analysis
- Overrides:
caseASimpleAddExp
in class DepthFirstAdapter
caseAMultMulExp
public void caseAMultMulExp(AMultMulExp node)
- Specified by:
caseAMultMulExp
in interface Analysis
- Overrides:
caseAMultMulExp
in class DepthFirstAdapter
caseADivMulExp
public void caseADivMulExp(ADivMulExp node)
- Specified by:
caseADivMulExp
in interface Analysis
- Overrides:
caseADivMulExp
in class DepthFirstAdapter
caseASimpleMulExp
public void caseASimpleMulExp(ASimpleMulExp node)
- Specified by:
caseASimpleMulExp
in interface Analysis
- Overrides:
caseASimpleMulExp
in class DepthFirstAdapter
caseANotLeftUnaryExp
public void caseANotLeftUnaryExp(ANotLeftUnaryExp node)
- Specified by:
caseANotLeftUnaryExp
in interface Analysis
- Overrides:
caseANotLeftUnaryExp
in class DepthFirstAdapter
caseAGetLeftUnaryExp
public void caseAGetLeftUnaryExp(AGetLeftUnaryExp node)
- Specified by:
caseAGetLeftUnaryExp
in interface Analysis
- Overrides:
caseAGetLeftUnaryExp
in class DepthFirstAdapter
caseAPutLeftUnaryExp
public void caseAPutLeftUnaryExp(APutLeftUnaryExp node)
- Specified by:
caseAPutLeftUnaryExp
in interface Analysis
- Overrides:
caseAPutLeftUnaryExp
in class DepthFirstAdapter
caseAFitLeftUnaryExp
public void caseAFitLeftUnaryExp(AFitLeftUnaryExp node)
- Specified by:
caseAFitLeftUnaryExp
in interface Analysis
- Overrides:
caseAFitLeftUnaryExp
in class DepthFirstAdapter
caseACoordLeftUnaryExp
public void caseACoordLeftUnaryExp(ACoordLeftUnaryExp node)
- Specified by:
caseACoordLeftUnaryExp
in interface Analysis
- Overrides:
caseACoordLeftUnaryExp
in class DepthFirstAdapter
caseASimpleLeftUnaryExp
public void caseASimpleLeftUnaryExp(ASimpleLeftUnaryExp node)
- Specified by:
caseASimpleLeftUnaryExp
in interface Analysis
- Overrides:
caseASimpleLeftUnaryExp
in class DepthFirstAdapter
caseAAtPart
public void caseAAtPart(AAtPart node)
- Specified by:
caseAAtPart
in interface Analysis
- Overrides:
caseAAtPart
in class DepthFirstAdapter
caseACallRightExp
public void caseACallRightExp(ACallRightExp node)
- Specified by:
caseACallRightExp
in interface Analysis
- Overrides:
caseACallRightExp
in class DepthFirstAdapter
caseAIndexRightExp
public void caseAIndexRightExp(AIndexRightExp node)
- Specified by:
caseAIndexRightExp
in interface Analysis
- Overrides:
caseAIndexRightExp
in class DepthFirstAdapter
caseAScaledRightExp
public void caseAScaledRightExp(AScaledRightExp node)
- Specified by:
caseAScaledRightExp
in interface Analysis
- Overrides:
caseAScaledRightExp
in class DepthFirstAdapter
caseASlantedRightExp
public void caseASlantedRightExp(ASlantedRightExp node)
- Specified by:
caseASlantedRightExp
in interface Analysis
- Overrides:
caseASlantedRightExp
in class DepthFirstAdapter
caseATranslatedRightExp
public void caseATranslatedRightExp(ATranslatedRightExp node)
- Specified by:
caseATranslatedRightExp
in interface Analysis
- Overrides:
caseATranslatedRightExp
in class DepthFirstAdapter
caseARotatedRightExp
public void caseARotatedRightExp(ARotatedRightExp node)
- Specified by:
caseARotatedRightExp
in interface Analysis
- Overrides:
caseARotatedRightExp
in class DepthFirstAdapter
caseASimpleRightExp
public void caseASimpleRightExp(ASimpleRightExp node)
- Specified by:
caseASimpleRightExp
in interface Analysis
- Overrides:
caseASimpleRightExp
in class DepthFirstAdapter
caseAParTerm
public void caseAParTerm(AParTerm node)
- Specified by:
caseAParTerm
in interface Analysis
- Overrides:
caseAParTerm
in class DepthFirstAdapter
caseAPointTerm
public void caseAPointTerm(APointTerm node)
- Specified by:
caseAPointTerm
in interface Analysis
- Overrides:
caseAPointTerm
in class DepthFirstAdapter
caseADrawingTerm
public void caseADrawingTerm(ADrawingTerm node)
- Specified by:
caseADrawingTerm
in interface Analysis
- Overrides:
caseADrawingTerm
in class DepthFirstAdapter
caseAVarTerm
public void caseAVarTerm(AVarTerm node)
- Specified by:
caseAVarTerm
in interface Analysis
- Overrides:
caseAVarTerm
in class DepthFirstAdapter
caseAIntTerm
public void caseAIntTerm(AIntTerm node)
- Specified by:
caseAIntTerm
in interface Analysis
- Overrides:
caseAIntTerm
in class DepthFirstAdapter
caseARealTerm
public void caseARealTerm(ARealTerm node)
- Specified by:
caseARealTerm
in interface Analysis
- Overrides:
caseARealTerm
in class DepthFirstAdapter
caseATrueTerm
public void caseATrueTerm(ATrueTerm node)
- Specified by:
caseATrueTerm
in interface Analysis
- Overrides:
caseATrueTerm
in class DepthFirstAdapter
caseAFalseTerm
public void caseAFalseTerm(AFalseTerm node)
- Specified by:
caseAFalseTerm
in interface Analysis
- Overrides:
caseAFalseTerm
in class DepthFirstAdapter
caseAStringTerm
public void caseAStringTerm(AStringTerm node)
- Specified by:
caseAStringTerm
in interface Analysis
- Overrides:
caseAStringTerm
in class DepthFirstAdapter
caseAListTerm
public void caseAListTerm(AListTerm node)
- Specified by:
caseAListTerm
in interface Analysis
- Overrides:
caseAListTerm
in class DepthFirstAdapter
caseAStaticCallTerm
public void caseAStaticCallTerm(AStaticCallTerm node)
- Specified by:
caseAStaticCallTerm
in interface Analysis
- Overrides:
caseAStaticCallTerm
in class DepthFirstAdapter
changePrimitives
public java.lang.Class[] changePrimitives(java.lang.Class[] classArray)
callTerm
public void callTerm(java.lang.String funName,
java.lang.Object receiver,
java.util.LinkedList<java.lang.Object> args,
Token currentLocation)
caseAOption
public void caseAOption(AOption node)
- Specified by:
caseAOption
in interface Analysis
- Overrides:
caseAOption
in class DepthFirstAdapter