Dimb-comp-stmt
Disambiguate a compound statement.
- Signature
(dimb-comp-stmt cstmt fundefp table)
→
(mv erp new-cstmt new-table)
- Arguments
- cstmt — Guard (comp-stmtp cstmt).
- fundefp — Guard (booleanp fundefp).
- table — Guard (dimb-tablep table).
- Returns
- erp — Type (maybe-msgp erp).
- new-cstmt — Type (comp-stmtp new-cstmt).
- new-table — Type (dimb-tablep new-table).
The fundefp flag says whether the compound statement
is the body of a function definition.
If that is the case, we do not push a new scope and then pop it,
because that is already done in dimb-fundef:
the body itself of the function does not start a new scope;
it is the function definition itself that starts a new scope,
involving the parameters.