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 TRIfExpr : IfExpr × ExpType × FUNC × TRANS × TYPES → VE_TYPES TRIfExpr(ie, et, func, trans, types) ≡ mk_VE_TYPES( Make_IfExpr( mk_IfExpr( valueExpr( TRValueExpr( condition(ie), Known(TypeLiteral(BOOL)), func, trans, types)), valueExpr( TRValueExpr( if_case(ie), et, func, trans, typesMap( TRValueExpr( condition(ie), Known(TypeLiteral(BOOL)), func, trans, types)))), elsIfList( TRElsif( elsif_list(ie), et, func, trans, typesMap( TRValueExpr( if_case(ie), et, func, trans, typesMap( TRValueExpr( condition(ie), Known(TypeLiteral(BOOL)), func, trans, types)))))), valueExpr( TRValueExpr( else_case(ie), et, func, trans, typesMap( TRElsif( elsif_list(ie), et, func, trans, typesMap( TRValueExpr( if_case(ie), et, func, trans, typesMap( TRValueExpr( 400
D.2. FORMAL SPECIFICATION OF THE TRANSFORMER IN RSL1 ), condition(ie), Known( TypeLiteral(BOOL) ), func, trans, types)))))))))), typesMap( TRValueExpr( else_case(ie), et, func, trans, typesMap( TRElsif( elsif_list(ie), et, func, trans, typesMap( TRValueExpr( if_case(ie), et, func, trans, typesMap( TRValueExpr( condition(ie), Known(TypeLiteral(BOOL)), func, trans, types)))))))) TRElsif : Elsif ∗ × ExpType × FUNC × TRANS × TYPES → EIL_TYPES TRElsif(eil, et, func, trans, types) ≡ if eil = 〈〉 then mk_EIL_TYPES(〈〉, types) else mk_EIL_TYPES( 〈mk_Elsif( valueExpr( TRValueExpr( condition(hd eil), Known(TypeLiteral(BOOL)), func, trans, types)), valueExpr( TRValueExpr( elsif_case(hd eil), et, func, trans, typesMap( TRValueExpr( condition(hd eil), Known(TypeLiteral(BOOL)), func, trans, types)))))〉 elsIfList( TRElsif( 401
- 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
- Page 376 and 377: APPENDIX D. SPECIFICATION OF TRANSF
- Page 378 and 379: APPENDIX D. SPECIFICATION OF TRANSF
- Page 380 and 381: APPENDIX D. SPECIFICATION OF TRANSF
- Page 382 and 383: APPENDIX D. SPECIFICATION OF TRANSF
- Page 384 and 385: APPENDIX D. SPECIFICATION OF TRANSF
- Page 386 and 387: APPENDIX D. SPECIFICATION OF TRANSF
- Page 388 and 389: APPENDIX D. SPECIFICATION OF TRANSF
- Page 390 and 391: APPENDIX D. SPECIFICATION OF TRANSF
- Page 392 and 393: APPENDIX D. SPECIFICATION OF TRANSF
- Page 394 and 395: APPENDIX D. SPECIFICATION OF TRANSF
- Page 396 and 397: APPENDIX D. SPECIFICATION OF TRANSF
- Page 398 and 399: APPENDIX D. SPECIFICATION OF TRANSF
- Page 400 and 401: APPENDIX D. SPECIFICATION OF TRANSF
- Page 402 and 403: APPENDIX D. SPECIFICATION OF TRANSF
- Page 404 and 405: APPENDIX D. SPECIFICATION OF TRANSF
- Page 406 and 407: APPENDIX D. SPECIFICATION OF TRANSF
- Page 408 and 409: APPENDIX D. SPECIFICATION OF TRANSF
- Page 410 and 411: APPENDIX D. SPECIFICATION OF TRANSF
- Page 412 and 413: APPENDIX D. SPECIFICATION OF TRANSF
- Page 414 and 415: APPENDIX D. SPECIFICATION OF TRANSF
- Page 418 and 419: APPENDIX D. SPECIFICATION OF TRANSF
- Page 420 and 421: APPENDIX D. SPECIFICATION OF TRANSF
- Page 422 and 423: APPENDIX D. SPECIFICATION OF TRANSF
- Page 424 and 425: APPENDIX D. SPECIFICATION OF TRANSF
- Page 426 and 427: APPENDIX D. SPECIFICATION OF TRANSF
- Page 428 and 429: APPENDIX D. SPECIFICATION OF TRANSF
- Page 430 and 431: APPENDIX D. SPECIFICATION OF TRANSF
- Page 432 and 433: APPENDIX D. SPECIFICATION OF TRANSF
- Page 434 and 435: APPENDIX D. SPECIFICATION OF TRANSF
- Page 436 and 437: APPENDIX D. SPECIFICATION OF TRANSF
- Page 438 and 439: APPENDIX D. SPECIFICATION OF TRANSF
- Page 440 and 441: APPENDIX D. SPECIFICATION OF TRANSF
- Page 442 and 443: APPENDIX D. SPECIFICATION OF TRANSF
- Page 444 and 445: APPENDIX D. SPECIFICATION OF TRANSF
- Page 446 and 447: APPENDIX D. SPECIFICATION OF TRANSF
- Page 448 and 449: APPENDIX D. SPECIFICATION OF TRANSF
- Page 450 and 451: APPENDIX D. SPECIFICATION OF TRANSF
- Page 452 and 453: APPENDIX D. SPECIFICATION OF TRANSF
- Page 454 and 455: APPENDIX D. SPECIFICATION OF TRANSF
- Page 456 and 457: APPENDIX D. SPECIFICATION OF TRANSF
- Page 458 and 459: APPENDIX D. SPECIFICATION OF TRANSF
- Page 460 and 461: APPENDIX D. SPECIFICATION OF TRANSF
- Page 462 and 463: APPENDIX D. SPECIFICATION OF TRANSF
- Page 464 and 465: APPENDIX D. SPECIFICATION OF TRANSF
APPENDIX D. SPECIFICATION OF TRANSFORMER IN RSL1<br />
TRIfExpr :<br />
IfExpr × ExpType × FUNC × TRANS × TYPES →<br />
VE_TYPES<br />
TRIfExpr(ie, et, func, trans, types) ≡<br />
mk_VE_TYPES(<br />
Make_IfExpr(<br />
mk_IfExpr(<br />
valueExpr(<br />
TRValueExpr(<br />
condition(ie),<br />
Known(TypeLiteral(BOOL)), func,<br />
trans, types)),<br />
valueExpr(<br />
TRValueExpr(<br />
if_case(ie), et, func, trans,<br />
typesMap(<br />
TRValueExpr(<br />
condition(ie),<br />
Known(TypeLiteral(BOOL)), func,<br />
trans, types)))),<br />
elsIfList(<br />
TRElsif(<br />
elsif_list(ie), et, func, trans,<br />
typesMap(<br />
TRValueExpr(<br />
if_case(ie), et, func, trans,<br />
typesMap(<br />
TRValueExpr(<br />
condition(ie),<br />
Known(TypeLiteral(BOOL)),<br />
func, trans, types)))))),<br />
valueExpr(<br />
TRValueExpr(<br />
else_case(ie), et, func, trans,<br />
typesMap(<br />
TRElsif(<br />
elsif_list(ie), et, func,<br />
trans,<br />
typesMap(<br />
TRValueExpr(<br />
if_case(ie), et, func,<br />
trans,<br />
typesMap(<br />
TRValueExpr(<br />
400