Transformation of Applicative Specifications into Imperative ...
Transformation of Applicative Specifications into Imperative ... Transformation of Applicative Specifications into Imperative ...
APPENDIX F. SOURCE CODE public void visitOVERRIDE (OVERRIDE r s l _ o v e r r i d e ) { r e s u l t . append ( " ! ! " ) ; } public void visitCOMPOSITION(COMPOSITION rsl_composition ) { r e s u l t . append ( "#" ) ; } public void visitIMPLIES (IMPLIES i m p l i e s ) { r e s u l t . append ( "=>" ) ; } public void visitOR (OR or ) { r e s u l t . append ( " \ \ / " ) ; } public void visitAND (AND and ) { r e s u l t . append ( " / \ \ " ) ; } public void visitABS (ABS rsl_abs ) { r e s u l t . append ( " abs " ) ; } public void visitINTCAST (INTCAST r s l _ i n t c a s t ) { r e s u l t . append ( " i n t " ) ; } public void visitREALCAST (REALCAST r s l _ r e a l c a s t ) { r e s u l t . append ( " r e a l " ) ; } public void visitLEN (LEN r s l _ l e n ) { r e s u l t . append ( " l e n " ) ; } public void visitINDS (INDS r s l _ i n d s ) { r e s u l t . append ( " inds " ) ; } public void visitELEMS (ELEMS rsl_elems ) { r e s u l t . append ( " elems " ) ; } public void visitHD (HD rsl_hd ) { r e s u l t . append ( "hd " ) ; } public void visitTL (TL r s l _ t l ) { 548
} r e s u l t . append ( " t l " ) ; public void visitNOT (NOT rsl_not ) { r e s u l t . append ( "~" ) ; } F.2. VISITOR MODULES public void visitPREFIXMINUS (PREFIXMINUS r s l _ p r e f i x m i n u s ) { r e s u l t . append ( "−" ) ; } public void visitPREFIXPLUS (PREFIXPLUS p r e f i x p l u s ) { r e s u l t . append ( "+" ) ; } public void visitCARD (CARD rsl_card ) { r e s u l t . append ( " card " ) ; } public void visitDOM (DOM rsl_dom ) { r e s u l t . append ( "dom " ) ; } public void visitRNG (RNG rsl_rng ) { r e s u l t . append ( " rng " ) ; } public void v i s i t L e t D e f ( LetDef l e t D e f ) { l e t D e f . binding ( ) . accept ( this ) ; r e s u l t . append ( " = " ) ; l e t D e f . value_expr ( ) . accept ( this ) ; } public void visitMakeBinding ( MakeBinding binding ) { binding . binding ( ) . accept ( this ) ; } public void visitMakeRecordPattern ( MakeRecordPattern recordPattern ) { recordPattern . value_or_variable_name ( ) . accept ( this ) ; r e s u l t . append ( " ( " ) ; for ( Pattern pattern : recordPattern . i n n e r _ p a t t e r n _ l i s t ( ) . g e t L i s t ( ) ) { pattern . accept ( this ) ; r e s u l t . append ( " , " ) ; } i f ( recordPattern . i n n e r _ p a t t e r n _ 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 ( ) ) ; } 549
- 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 554 and 555: APPENDIX F. SOURCE CODE public void
- 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 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 />
r e s u l t . append ( " t l " ) ;<br />
public void visitNOT (NOT rsl_not ) {<br />
r e s u l t . append ( "~" ) ;<br />
}<br />
F.2. VISITOR MODULES<br />
public void visitPREFIXMINUS (PREFIXMINUS r s l _ p r e f i x m i n u s ) {<br />
r e s u l t . append ( "−" ) ;<br />
}<br />
public void visitPREFIXPLUS (PREFIXPLUS p r e f i x p l u s ) {<br />
r e s u l t . append ( "+" ) ;<br />
}<br />
public void visitCARD (CARD rsl_card ) {<br />
r e s u l t . append ( " card " ) ;<br />
}<br />
public void visitDOM (DOM rsl_dom ) {<br />
r e s u l t . append ( "dom " ) ;<br />
}<br />
public void visitRNG (RNG rsl_rng ) {<br />
r e s u l t . append ( " rng " ) ;<br />
}<br />
public void v i s i t L e t D e f ( LetDef l e t D e f ) {<br />
l e t D e f . binding ( ) . accept ( this ) ;<br />
r e s u l t . append ( " = " ) ;<br />
l e t D e f . value_expr ( ) . accept ( this ) ;<br />
}<br />
public void visitMakeBinding ( MakeBinding binding ) {<br />
binding . binding ( ) . accept ( this ) ;<br />
}<br />
public void visitMakeRecordPattern ( MakeRecordPattern recordPattern )<br />
{<br />
recordPattern . value_or_variable_name ( ) . accept ( this ) ;<br />
r e s u l t . append ( " ( " ) ;<br />
for ( Pattern pattern :<br />
recordPattern . i n n e r _ p a t t e r n _ l i s t ( ) . g e t L i s t ( ) ) {<br />
pattern . accept ( this ) ;<br />
r e s u l t . append ( " , " ) ;<br />
}<br />
i f ( recordPattern . i n n e r _ p a t t e r n _ 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 ( ) ) ;<br />
}<br />
549