Transformation of Applicative Specifications into Imperative ...
Transformation of Applicative Specifications into Imperative ... Transformation of Applicative Specifications into Imperative ...
APPENDIX D. SPECIFICATION OF TRANSFORMER IN RSL1 bindingList : Binding ∗ valueExprList : ValueExpr ∗ , BOOL_FFA_ENV_TYPES_LDL :: bool : Bool formalfa : FormalFunctionApplication envMap : ENV typesMap : TYPES letdefList : LetDef ∗ , BOOL_ENV_TYPES :: bool : Bool envMap : ENV typesMap : TYPES, BOOL_ENV :: bool : Bool envMap : ENV, PRECOND_TYPES :: preCond : OptionalPreCondition typesMap : TYPES, VE_TYPES :: valueExpr : ValueExpr typesMap : TYPES, VEL_TYPES :: valueExprList : ValueExpr ∗ typesMap : TYPES, VEPL_TYPES :: valueExprPairList : ValueExprPair ∗ typesMap : TYPES, BOOL_FFP_ENV_TYPES_LDL :: bool : Bool formalfp : FormalFunctionParameter envMap : ENV typesMap : TYPES letdefList : LetDef ∗ , LDL_ENV :: letdefList : LetDef ∗ envMap : ENV, BINDINGLIST_VEL :: bindingList : Binding ∗ valueExprList : ValueExpr ∗ , LDL_TYPES :: letdefList : LetDef ∗ typesMap : TYPES, LD_TYPES :: letdef : LetDef typesMap : TYPES, EIL_TYPES :: elsIfList : Elsif ∗ typesMap : TYPES, CBL_TYPES :: caseBranchList : CaseBranch ∗ typesMap : TYPES, PATTERN_TYPES :: pattern : Pattern typesMap : TYPES, PL_TYPES :: patternList : Pattern ∗ typesMap : TYPES, LP_TYPES :: listPattern : ListPattern typesMap : TYPES, OIP_TYPES :: optInnerPattern : OptionalInnerPattern typesMap : TYPES, SE_TYPES :: setExpr : SetExpr typesMap : TYPES, 310
D.2. FORMAL SPECIFICATION OF THE TRANSFORMER IN RSL1 OVEL_TYPES :: optValueExprList : OptionalValueExprList typesMap : TYPES, OVEPL_TYPES :: optValueExprPairList : OptionalValueExprPairList typesMap : TYPES, OR_TYPES :: optRestriction : OptionalRestriction typesMap : TYPES, LE_TYPES :: listExpr : ListExpr typesMap : TYPES, ME_TYPES :: mapExpr : MapExpr typesMap : TYPES value TRRSLAst : RSLAst × Text × TRANS → TRResult TRRSLAst(rslast, schemeid, trans) ≡ case TRClassExpr( class_expr(schemedef(libmodule(rslast))), trans) of Class_transformable(ce) → RSLast_transformable( mk_RSLAst( mk_LibModule( context_list(libmodule(rslast)), mk_SchemeDef(mk_Id(schemeid), ce)))), Class_not_transformable → RSLast_not_transformable end, TRClassExpr : ClassExpr × TRANS → ClassResult TRClassExpr(ce, trans) ≡ case ce of BasicClassExpr(dl) → case TRDeclList( dl, expandTYPINGSMap( getIds(getTypeDecl(dl)), makeTYPINGSMap(getTypeDecl(dl)), trans), establishFuncMap(dl, trans), trans, 〈〉) of DL_transformable(dlres) → Class_transformable( BasicClassExpr( makeVariables(dlres, trans))), 311
- Page 276 and 277: APPENDIX C. FORMAL SPECIFICATIONS O
- Page 278 and 279: APPENDIX C. FORMAL SPECIFICATIONS O
- Page 280 and 281: APPENDIX C. FORMAL SPECIFICATIONS O
- Page 282 and 283: APPENDIX C. FORMAL SPECIFICATIONS O
- Page 284 and 285: APPENDIX C. FORMAL SPECIFICATIONS O
- Page 286 and 287: APPENDIX C. FORMAL SPECIFICATIONS O
- Page 288 and 289: APPENDIX C. FORMAL SPECIFICATIONS O
- Page 290 and 291: APPENDIX C. FORMAL SPECIFICATIONS O
- Page 292 and 293: APPENDIX C. FORMAL SPECIFICATIONS O
- Page 294 and 295: APPENDIX C. FORMAL SPECIFICATIONS O
- Page 296 and 297: APPENDIX C. FORMAL SPECIFICATIONS O
- Page 298 and 299: APPENDIX C. FORMAL SPECIFICATIONS O
- Page 300 and 301: APPENDIX C. FORMAL SPECIFICATIONS O
- Page 302 and 303: APPENDIX C. FORMAL SPECIFICATIONS O
- Page 304 and 305: APPENDIX C. FORMAL SPECIFICATIONS O
- Page 306 and 307: APPENDIX C. FORMAL SPECIFICATIONS O
- Page 308 and 309: APPENDIX C. FORMAL SPECIFICATIONS O
- Page 310 and 311: APPENDIX C. FORMAL SPECIFICATIONS O
- Page 312 and 313: APPENDIX C. FORMAL SPECIFICATIONS O
- Page 314 and 315: APPENDIX C. FORMAL SPECIFICATIONS O
- Page 316 and 317: APPENDIX C. FORMAL SPECIFICATIONS O
- Page 318 and 319: APPENDIX D. SPECIFICATION OF TRANSF
- Page 320 and 321: APPENDIX D. SPECIFICATION OF TRANSF
- Page 322 and 323: APPENDIX D. SPECIFICATION OF TRANSF
- Page 324 and 325: APPENDIX D. SPECIFICATION OF TRANSF
- Page 328 and 329: APPENDIX D. SPECIFICATION OF TRANSF
- Page 330 and 331: APPENDIX D. SPECIFICATION OF TRANSF
- Page 332 and 333: APPENDIX D. SPECIFICATION OF TRANSF
- Page 334 and 335: APPENDIX D. SPECIFICATION OF TRANSF
- Page 336 and 337: APPENDIX D. SPECIFICATION OF TRANSF
- Page 338 and 339: APPENDIX D. SPECIFICATION OF TRANSF
- Page 340 and 341: APPENDIX D. SPECIFICATION OF TRANSF
- Page 342 and 343: APPENDIX D. SPECIFICATION OF TRANSF
- Page 344 and 345: APPENDIX D. SPECIFICATION OF TRANSF
- Page 346 and 347: APPENDIX D. SPECIFICATION OF TRANSF
- Page 348 and 349: APPENDIX D. SPECIFICATION OF TRANSF
- Page 350 and 351: APPENDIX D. SPECIFICATION OF TRANSF
- Page 352 and 353: APPENDIX D. SPECIFICATION OF TRANSF
- Page 354 and 355: APPENDIX D. SPECIFICATION OF TRANSF
- Page 356 and 357: APPENDIX D. SPECIFICATION OF TRANSF
- Page 358 and 359: APPENDIX D. SPECIFICATION OF TRANSF
- Page 360 and 361: APPENDIX D. SPECIFICATION OF TRANSF
- Page 362 and 363: APPENDIX D. SPECIFICATION OF TRANSF
- Page 364 and 365: APPENDIX D. SPECIFICATION OF TRANSF
- Page 366 and 367: APPENDIX D. SPECIFICATION OF TRANSF
- Page 368 and 369: APPENDIX D. SPECIFICATION OF TRANSF
- Page 370 and 371: APPENDIX D. SPECIFICATION OF TRANSF
- Page 372 and 373: APPENDIX D. SPECIFICATION OF TRANSF
- Page 374 and 375: APPENDIX D. SPECIFICATION OF TRANSF
APPENDIX D. SPECIFICATION OF TRANSFORMER IN RSL1<br />
bindingList : Binding ∗<br />
valueExprList : ValueExpr ∗ ,<br />
BOOL_FFA_ENV_TYPES_LDL ::<br />
bool : Bool<br />
formalfa : FormalFunctionApplication<br />
envMap : ENV<br />
typesMap : TYPES<br />
letdefList : LetDef ∗ ,<br />
BOOL_ENV_TYPES ::<br />
bool : Bool envMap : ENV typesMap : TYPES,<br />
BOOL_ENV :: bool : Bool envMap : ENV,<br />
PRECOND_TYPES ::<br />
preCond : OptionalPreCondition typesMap : TYPES,<br />
VE_TYPES :: valueExpr : ValueExpr typesMap : TYPES,<br />
VEL_TYPES ::<br />
valueExprList : ValueExpr ∗ typesMap : TYPES,<br />
VEPL_TYPES ::<br />
valueExprPairList : ValueExprPair ∗<br />
typesMap : TYPES,<br />
BOOL_FFP_ENV_TYPES_LDL ::<br />
bool : Bool<br />
formalfp : FormalFunctionParameter<br />
envMap : ENV<br />
typesMap : TYPES<br />
letdefList : LetDef ∗ ,<br />
LDL_ENV :: letdefList : LetDef ∗ envMap : ENV,<br />
BINDINGLIST_VEL ::<br />
bindingList : Binding ∗<br />
valueExprList : ValueExpr ∗ ,<br />
LDL_TYPES ::<br />
letdefList : LetDef ∗ typesMap : TYPES,<br />
LD_TYPES :: letdef : LetDef typesMap : TYPES,<br />
EIL_TYPES :: elsIfList : Elsif ∗ typesMap : TYPES,<br />
CBL_TYPES ::<br />
caseBranchList : CaseBranch ∗ typesMap : TYPES,<br />
PATTERN_TYPES :: pattern : Pattern typesMap : TYPES,<br />
PL_TYPES ::<br />
patternList : Pattern ∗ typesMap : TYPES,<br />
LP_TYPES ::<br />
listPattern : ListPattern typesMap : TYPES,<br />
OIP_TYPES ::<br />
optInnerPattern : OptionalInnerPattern<br />
typesMap : TYPES,<br />
SE_TYPES :: setExpr : SetExpr typesMap : TYPES,<br />
310