| 45 | | * if `d` is a tuple, create the concrete tuple of type `d` with each component obtained by evaluating `InitialValue[component, componentType]` |
| 46 | | * XXX problem: maybe take address argument instead of variable, or LHS expression???. Or just `Initialize(LHSExpression, DynamicType)` statement. |
| 47 | | * if `d` is an array type, create a unique symbolic constant name based on the LHS expression and a symbolic constant with that name and type `d` (no recursion in this case) |
| | 45 | * define a method in the `Evaluator`, `SymbolicExpression computeInitialValue(LHSExpression expr, SymbolicType dynamicType);` |
| | 46 | * if `dynamicType` is a tuple type, create the concrete tuple of type of that type with each component obtained by evaluating `computeInitialValue(dotExpression(…), componentType)` |
| | 47 | * if `dynamicType` is an array type, create a unique symbolic constant name based on the LHS expression and a symbolic constant with that name and type `dynamicType` (no recursion in this case) |