public override ProgNodeValue Evaluate(ProgNodeContext context) { ProgNodeValue value = expression.Evaluate(context); context.SymTable.Assign(variable, value, 0); return(null); }
/***************************/ /*** Protected Functions ***/ /***************************/ public override ProgNodeValue Evaluate(ProgNodeContext context) { ProgNodeValue left = leftExp.Evaluate(context); ProgNodeValue right = rightExp.Evaluate(context); int type = GetBoxType(left, right); return(ExecBoxing(left, right, type)); }
public override ProgNodeValue Evaluate(ProgNodeContext context) { while (expression.Evaluate(context).GetBoolean()) { codeBlock.Evaluate(context); } return(null); }
public ProgNodeValue GetInitialize(ProgNodeContext context) { ProgNodeValue value = null; if (Initialize != null) { value = Initialize.Evaluate(context); } return(value); }
public int GetSize(ProgNodeContext context) { int size = 1; if (Size != null) { size = Size.Evaluate(context).GetInteger(); } return(size); }
public override ProgNodeValue Evaluate(ProgNodeContext context) { context.SymTable.NewScope(); foreach (ProgNode node in nodeList) { node.Evaluate(context); } context.SymTable.DeleteScope(); return(null); }
/**************************/ /*** Override Functions ***/ /**************************/ public override ProgNodeValue Evaluate(ProgNodeContext context) { foreach (var variable in variables) { int size = variable.GetSize(context); ProgNodeValue initialize = variable.GetInitialize(context); context.SymTable.Declare(variable.Name, variable.Type, size, initialize); } return(null); }
public override ProgNodeValue Evaluate(ProgNodeContext context) { ProgNodeValue value = null; return(value); }
public override ProgNodeValue Evaluate(ProgNodeContext context) { return(null); }