jellyj.syntaxtree
Class ConditionalOrExpNode

jellyj.syntaxtree.SyntaxTreeNode
  |
  +--jellyj.syntaxtree.ExpressionNode
        |
        +--jellyj.syntaxtree.ConditionalOrExpNode

public class ConditionalOrExpNode
extends ExpressionNode


Field Summary
 ExpressionNodeleft_d
           
 ExpressionNoderight_d
           

Fields inherited from class jellyj.syntaxtree.ExpressionNode
falseList_d, leftValue_d, statementExp_d, trueList_d, type_d

Fields inherited from class jellyj.syntaxtree.SyntaxTreeNode
column_d, line_d

Constructor Summary
ConditionalOrExpNode(ExpressionNode left, ExpressionNode right)
           

Method Summary
 BigDecimalevaluate(SymbolTable stable)
           
 voidtranslate(ClassGen classGen, MethodGen methodGen)
          Translation: b1 or b2 b1 [truelist := 1, falselist := 2] 1: goto 2: b2
 TypetypeCheck(SymbolTable stable)
           

Methods inherited from class jellyj.syntaxtree.ExpressionNode
addFalseList, addTrueList, appendToFalseList, appendToTrueList, backPatch, desynthesize, evaluateExp, leftValue, lookupPrimop, superExp, synthesize, thisExp, thisOrSuperExp, translateSynthesized, type, typeExp, variableExp

Field Detail

left_d

public ExpressionNode left_d

right_d

public ExpressionNode right_d
Constructor Detail

ConditionalOrExpNode

public ConditionalOrExpNode(ExpressionNode left, ExpressionNode right)
Method Detail

evaluate

public BigDecimal evaluate(SymbolTable stable)
throws jellyj.util.NotConstant

translate

public void translate(ClassGen classGen, MethodGen methodGen)
Translation: b1 or b2 b1 [truelist := 1, falselist := 2] 1: goto 2: b2

typeCheck

public Type typeCheck(SymbolTable stable)
throws jellyj.util.TypeCheckError

Association Links

to Class jellyj.syntaxtree.ExpressionNode

to Class jellyj.syntaxtree.ExpressionNode