Transformation of Applicative Specifications into Imperative ...
Transformation of Applicative Specifications into Imperative ... Transformation of Applicative Specifications into Imperative ...
APPENDIX F. SOURCE CODE public void visitBracketedTypeExpr ( BracketedTypeExpr bracketedExpr ) { r e s u l t . append ( " ( " ) ; bracketedExpr . b_type_expr ( ) . accept ( this ) ; r e s u l t . append ( " ) " ) ; } public void visitUNIT (UNIT r s l _ u n i t ) { r e s u l t . append ( " Unit " ) ; } public void visitINT (INT tm_rsl_int ) { r e s u l t . append ( " Int " ) ; } public void visitNAT (NAT rsl_nat ) { r e s u l t . append ( "Nat" ) ; } public void visitREAL (REAL r s l _ r e a l ) { r e s u l t . append ( " Real " ) ; } public void visitBOOL (BOOL rsl_bool ) { r e s u l t . append ( " Bool " ) ; } public void visitCHAR (CHAR rsl_char ) { r e s u l t . append ( "Char" ) ; } public void visitTEXT (TEXT r s l _ t e x t ) { r e s u l t . append ( "Text" ) ; } public void v i s i t F i n i t e S e t T y p e E x p r ( FiniteSetTypeExpr finiteSetTypeExpr ) { finiteSetTypeExpr . type_expr ( ) . accept ( this ) ; r e s u l t . append ( "−s e t " ) ; } public void v i s i t I n f i n i t e S e t T y p e E x p r ( InfiniteSetTypeExpr i n f i n i t e S e t T y p e E x p r ) { i n f i n i t e S e t T y p e E x p r . i_type_expr ( ) . accept ( this ) ; r e s u l t . append ( "−i n f s e t " ) ; } public void v i s i t F i n i t e L i s t T y p e E x p r ( FiniteListTypeExpr 538
} F.2. VISITOR MODULES f i n i t e L i s t T y p e E x p r ) { f i n i t e L i s t T y p e E x p r . type_expr ( ) . accept ( this ) ; r e s u l t . append ( "− l i s t " ) ; public void v i s i t I n f i n i t e L i s t T y p e E x p r ( I n f i n i t e L i s t T y p e E x p r i n f i n i t e L i s t T y p e E x p r ) { i n f i n i t e L i s t T y p e E x p r . i_type_expr ( ) . accept ( this ) ; r e s u l t . append ( "− i n f l i s t " ) ; } public void visitFiniteMapTypeExpr ( FiniteMapTypeExpr finiteMapTypeExpr ) { finiteMapTypeExpr . type_expr_dom ( ) . accept ( this ) ; r e s u l t . append ( " −m−> " ) ; finiteMapTypeExpr . type_expr_range ( ) . accept ( this ) ; } public void visitInfiniteMapTypeExpr ( InfiniteMapTypeExpr infiniteMapTypeExpr ) { infiniteMapTypeExpr . i_type_expr_dom ( ) . accept ( this ) ; r e s u l t . append ( " −~m−> " ) ; infiniteMapTypeExpr . i_type_expr_range ( ) . accept ( this ) ; } public void visitTOTAL_FUNCTION_ARROW(TOTAL_FUNCTION_ARROW totalFunctionArrow ) { r e s u l t . append ( "−>" ) ; } public void visitPARTIAL_FUNCTION_ARROW(PARTIAL_FUNCTION_ARROW partialFunctionArrow ) { r e s u l t . append ( "−~−>" ) ; } public void v i s i t R e s u l t D e s c ( ResultDesc r e s u l t D e s c ) { r e s u l t D e s c . read_access_desc ( ) . accept ( this ) ; r e s u l t D e s c . write_access_desc ( ) . accept ( this ) ; r e s u l t D e s c . type_expr ( ) . accept ( this ) ; } public void visitReadAccessDesc ( ReadAccessDesc readAccessDesc ) { r e s u l t . append ( " read " ) ; for ( Access ac : readAccessDesc . a c c e s s _ l i s t ( ) . g e t L i s t ( ) ) { ac . accept ( this ) ; r e s u l t . append ( " , " ) ; } i f ( readAccessDesc . a c c e s s _ l i s t ( ) . l e n ( ) > 0) { r e s u l t . d e l e t e ( r e s u l t . l ength ( ) − 2 , r e s u l t . length ( ) − 1) ; 539
- Page 504 and 505: APPENDIX E. ANTLR GRAMMAR ; | | | |
- Page 506 and 507: APPENDIX E. ANTLR GRAMMAR ; | NAT {
- Page 508 and 509: APPENDIX E. ANTLR GRAMMAR ; { ve3 =
- Page 510 and 511: APPENDIX E. ANTLR GRAMMAR ( | RPARE
- Page 512 and 513: APPENDIX E. ANTLR GRAMMAR | { optio
- Page 514 and 515: APPENDIX E. ANTLR GRAMMAR new RSLLi
- Page 516 and 517: APPENDIX E. ANTLR GRAMMAR infix_op_
- Page 518 and 519: APPENDIX E. ANTLR GRAMMAR : v l = v
- Page 520 and 521: APPENDIX E. ANTLR GRAMMAR } t e s t
- Page 522 and 523: APPENDIX E. ANTLR GRAMMAR } : ’ .
- Page 524 and 525: APPENDIX E. ANTLR GRAMMAR 508
- Page 526 and 527: APPENDIX F. SOURCE CODE System . e
- Page 528 and 529: APPENDIX F. SOURCE CODE } } catch (
- Page 530 and 531: APPENDIX F. SOURCE CODE F.2 Visitor
- Page 532 and 533: APPENDIX F. SOURCE CODE public void
- Page 534 and 535: APPENDIX F. SOURCE CODE public void
- Page 536 and 537: APPENDIX F. SOURCE CODE public void
- Page 538 and 539: APPENDIX F. SOURCE CODE public void
- Page 540 and 541: APPENDIX F. SOURCE CODE public void
- Page 542 and 543: APPENDIX F. SOURCE CODE public void
- Page 544 and 545: APPENDIX F. SOURCE CODE public void
- Page 546 and 547: APPENDIX F. SOURCE CODE StringRSLAs
- Page 548 and 549: APPENDIX F. SOURCE CODE } nameOrWil
- Page 550 and 551: APPENDIX F. SOURCE CODE } public vo
- Page 552 and 553: APPENDIX F. SOURCE CODE } r e s u l
- Page 556 and 557: APPENDIX F. SOURCE CODE } } public
- Page 558 and 559: APPENDIX F. SOURCE CODE } v a l u e
- Page 560 and 561: APPENDIX F. SOURCE CODE } public vo
- Page 562 and 563: APPENDIX F. SOURCE CODE } public vo
- Page 564 and 565: APPENDIX F. SOURCE CODE public void
- Page 566 and 567: APPENDIX F. SOURCE CODE } r e s u l
- Page 568 and 569: APPENDIX F. SOURCE CODE } } r e s u
- Page 570 and 571: APPENDIX G. TEST RESULTS continued
- Page 572 and 573: APPENDIX G. TEST RESULTS continued
- Page 574 and 575: APPENDIX G. TEST RESULTS continued
- Page 576: APPENDIX G. TEST RESULTS continued
}<br />
F.2. VISITOR MODULES<br />
f i n i t e L i s t T y p e E x p r ) {<br />
f i n i t e L i s t T y p e E x p r . type_expr ( ) . accept ( this ) ;<br />
r e s u l t . append ( "− l i s t " ) ;<br />
public void v i s i t I n f i n i t e L i s t T y p e E x p r ( I n f i n i t e L i s t T y p e E x p r<br />
i n f i n i t e L i s t T y p e E x p r ) {<br />
i n f i n i t e L i s t T y p e E x p r . i_type_expr ( ) . accept ( this ) ;<br />
r e s u l t . append ( "− i n f l i s t " ) ;<br />
}<br />
public void visitFiniteMapTypeExpr ( FiniteMapTypeExpr<br />
finiteMapTypeExpr ) {<br />
finiteMapTypeExpr . type_expr_dom ( ) . accept ( this ) ;<br />
r e s u l t . append ( " −m−> " ) ;<br />
finiteMapTypeExpr . type_expr_range ( ) . accept ( this ) ;<br />
}<br />
public void visitInfiniteMapTypeExpr ( InfiniteMapTypeExpr<br />
infiniteMapTypeExpr ) {<br />
infiniteMapTypeExpr . i_type_expr_dom ( ) . accept ( this ) ;<br />
r e s u l t . append ( " −~m−> " ) ;<br />
infiniteMapTypeExpr . i_type_expr_range ( ) . accept ( this ) ;<br />
}<br />
public void visitTOTAL_FUNCTION_ARROW(TOTAL_FUNCTION_ARROW<br />
totalFunctionArrow ) {<br />
r e s u l t . append ( "−>" ) ;<br />
}<br />
public void visitPARTIAL_FUNCTION_ARROW(PARTIAL_FUNCTION_ARROW<br />
partialFunctionArrow ) {<br />
r e s u l t . append ( "−~−>" ) ;<br />
}<br />
public void v i s i t R e s u l t D e s c ( ResultDesc r e s u l t D e s c ) {<br />
r e s u l t D e s c . read_access_desc ( ) . accept ( this ) ;<br />
r e s u l t D e s c . write_access_desc ( ) . accept ( this ) ;<br />
r e s u l t D e s c . type_expr ( ) . accept ( this ) ;<br />
}<br />
public void visitReadAccessDesc ( ReadAccessDesc readAccessDesc ) {<br />
r e s u l t . append ( " read " ) ;<br />
for ( Access ac : readAccessDesc . a c c e s s _ l i s t ( ) . g e t L i s t ( ) ) {<br />
ac . accept ( this ) ;<br />
r e s u l t . append ( " , " ) ;<br />
}<br />
i f ( readAccessDesc . a c c e s s _ l i s t ( ) . l e n ( ) > 0) {<br />
r e s u l t . d e l e t e ( r e s u l t . l ength ( ) − 2 , r e s u l t . length ( ) − 1) ;<br />
539