next up previous contents
Next: Iterate Up: Evaluation Rules Previous: Stmt   Contents


Assign

Since the Vesta SDL is functional, assignments do not produce side-effects. Instead, they introduce a new name into the evaluation context whose value is that of the given expression.

<

Assign     ::= Id [ TypeQual ] [ Op ] = Expr 
Op         ::= AddOp | MulOp
AddOp      ::= +  |  ++  |  -
MulOp      ::= *

<

Id Op = Expr desugars to Id = Id Op Expr

<

Eval( Id = Expr , C) = _bind1(id, Eval( Expr , C))



Allan Heydon, Roy Levin, Timothy Mann, Yuan Yu