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 vel, expTypeToExpTypeList( removeBrackets(et), lengthVE(vel)), typings, func, trans, env, types), Make_SetExpr(setExpr) → if containsTRANSName( getSetType(et), typings, domainTRANS(trans)) then mk_BOOL_ENV_TYPES(false, env, types) else CheckSetExpr( setExpr, getSetType(et), typings, func, trans, env, types) end, Make_ListExpr(listExpr) → if containsTRANSName( getListType(et), typings, domainTRANS(trans)) then mk_BOOL_ENV_TYPES(false, env, types) else CheckListExpr( listExpr, getListType(et), typings, func, trans, env, types) end, Make_MapExpr(mapExpr) → if or(containsTRANSName( tedom(getMapType(et)), typings, domainTRANS(trans)), containsTRANSName( terange(getMapType(et)), typings, domainTRANS(trans))) then mk_BOOL_ENV_TYPES(false, env, types) else CheckMapExpr( mapExpr, getMapType(et), typings, func, trans, env, types) end, ApplicationExpr(ave, vl) → CheckApplicationExpr( ave, vl, et, typings, func, trans, env, types), BracketedExpr(bve) → mk_BOOL_ENV_TYPES( 326
D.2. FORMAL SPECIFICATION OF THE TRANSFORMER IN RSL1 bool( CheckValueExpr( bve, Unknown, typings, func, trans, env, types)), updateENV( envMap( CheckValueExpr( bve, Unknown, typings, func, trans, env, types)), et, trans), typesMap( CheckValueExpr( bve, Unknown, typings, func, trans, env, types))), ValueInfixExpr(first, op, second) → mk_BOOL_ENV_TYPES( bool( CheckValueExprList( 〈first, second〉, 〈Unknown, Unknown〉, typings, func, trans, env, types)), updateENV( envMap( CheckValueExprList( 〈first, second〉, 〈Unknown, Unknown〉, typings, func, trans, env, types)), et, trans), typesMap( CheckValueExprList( 〈first, second〉, 〈Unknown, Unknown〉, typings, func, trans, env, types))), ValuePrefixExpr(op, operand) → mk_BOOL_ENV_TYPES( bool( CheckValueExpr( operand, Unknown, typings, func, trans, env, types)), updateENV( envMap( CheckValueExpr( operand, Unknown, typings, func, trans, env, types)), et, trans), typesMap( CheckValueExpr( 327
- 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 326 and 327: 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 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
- 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
APPENDIX D. SPECIFICATION OF TRANSFORMER IN RSL1<br />
vel,<br />
expTypeToExpTypeList(<br />
removeBrackets(et), lengthVE(vel)),<br />
typings, func, trans, env, types),<br />
Make_SetExpr(setExpr) →<br />
if<br />
containsTRANSName(<br />
getSetType(et), typings, domainTRANS(trans))<br />
then mk_BOOL_ENV_TYPES(false, env, types)<br />
else<br />
CheckSetExpr(<br />
setExpr, getSetType(et), typings, func,<br />
trans, env, types)<br />
end,<br />
Make_ListExpr(listExpr) →<br />
if<br />
containsTRANSName(<br />
getListType(et), typings,<br />
domainTRANS(trans))<br />
then mk_BOOL_ENV_TYPES(false, env, types)<br />
else<br />
CheckListExpr(<br />
listExpr, getListType(et), typings, func,<br />
trans, env, types)<br />
end,<br />
Make_MapExpr(mapExpr) →<br />
if<br />
or(containsTRANSName(<br />
tedom(getMapType(et)), typings,<br />
domainTRANS(trans)),<br />
containsTRANSName(<br />
terange(getMapType(et)), typings,<br />
domainTRANS(trans)))<br />
then mk_BOOL_ENV_TYPES(false, env, types)<br />
else<br />
CheckMapExpr(<br />
mapExpr, getMapType(et), typings, func,<br />
trans, env, types)<br />
end,<br />
ApplicationExpr(ave, vl) →<br />
CheckApplicationExpr(<br />
ave, vl, et, typings, func, trans, env, types),<br />
BracketedExpr(bve) →<br />
mk_BOOL_ENV_TYPES(<br />
326