Transformation of Applicative Specifications into Imperative ...
Transformation of Applicative Specifications into Imperative ... Transformation of Applicative Specifications into Imperative ...
APPENDIX F. SOURCE CODE System . e x i t ( 1 ) ; } try { + f i l e n a m e + " . r s l not found ! " ) ; System . out . p r i n t l n ( " S t a r t i n g : " + f i l e n a m e ) ; System . out . p r i n t l n ( " S t a r t i n g p a r s i n g " ) ; RSLLexer l e x e r = new RSLLexer ( f r ) ; RSLParser p a r s e r = new RSLParser ( l e x e r ) ; RSLAst a r s l a s t = p a r s e r . r s l a s t ( ) ; i f ( a r s l a s t == null ) { System . out . p r i n t l n ( " Tree not c r e a t e d ! " ) ; System . e x i t ( 1 ) ; } System . out . p r i n t l n ( "Ending p a r s i n g \n" ) ; try { StringRSLAstVisitor a r s l A s t V i s i t o r = new StringRSLAstVisitor ( ) ; a r s l a s t . accept ( a r s l A s t V i s i t o r ) ; } catch ( NullPointerException npe ) { System . out . p r i n t l n ( " Tree not c r e a t e d " + " c o r r e c t ! \ n" + "The RSL " + " s p e c i f i c a t i o n " + " i s not " + " within the " + " subset o f RSL" ) ; System . e x i t ( 1 ) ; } F i l e f i l e = new F i l e ( f i l e n a m e ) ; try { TRResult r e s u l t = TransformerRSL1 . TRRSLAst( a r s l a s t , newFilename , new TRANS( v a r i a b l e s ) ) ; i f ( r e s u l t instanceof RSLast_transformable ) { System . out . p r i n t l n ( " Transformable " ) ; 510
} F.1. RSLRUNNER RSLast_transformable r e s u l t a s t = ( RSLast_transformable ) r e s u l t ; RSLAst i r s l a s t = r e s u l t a s t . r e s u l t ( ) ; StringRSLAstVisitor i r s l A s t V i s i t o r = new StringRSLAstVisitor ( ) ; i r s l a s t . accept ( i r s l A s t V i s i t o r ) ; System . out . p r i n t l n ( "RSL: \ n" + i r s l A s t V i s i t o r . g e t R e s u l t ( ) ) ; System . out . p r i n t l n ( "Ending : " + f i l e n a m e ) ; try { i f ( f i l e . getParent ( ) ! = null ) { newFilename = f i l e . getParent ( ) + f i l e . s e p a r a t o r + newFilename ; } F i l e W r i t e r fw = new F i l e W r i t e r ( newFilename + " . r s l " , f a l s e ) ; fw . w r i t e ( "/∗" + DateFormat . getDateTimeInstance ( DateFormat . LONG, DateFormat . LONG, Locale .UK) . format (new Date ( ) ) + "∗/\n" ) ; fw . w r i t e ( i r s l A s t V i s i t o r . g e t R e s u l t ( ) . t o S t r i n g ( ) ) ; fw . f l u s h ( ) ; fw . c l o s e ( ) ; } catch ( IOException i o e ) { i o e . printStackTrace ( ) ; System . e x i t ( 1 ) ; } } else { System . out . p r i n t l n ( "The f i l e : " + f i l e n a m e + " . r s l cannot " + "be transformed " ) ; } 511
- Page 476 and 477: APPENDIX D. SPECIFICATION OF TRANSF
- Page 478 and 479: APPENDIX D. SPECIFICATION OF TRANSF
- Page 480 and 481: APPENDIX D. SPECIFICATION OF TRANSF
- Page 482 and 483: APPENDIX D. SPECIFICATION OF TRANSF
- Page 484 and 485: APPENDIX D. SPECIFICATION OF TRANSF
- Page 486 and 487: APPENDIX D. SPECIFICATION OF TRANSF
- Page 488 and 489: APPENDIX D. SPECIFICATION OF TRANSF
- Page 490 and 491: APPENDIX D. SPECIFICATION OF TRANSF
- Page 492 and 493: APPENDIX E. ANTLR GRAMMAR END = "en
- Page 494 and 495: APPENDIX E. ANTLR GRAMMAR ; d = d e
- Page 496 and 497: APPENDIX E. ANTLR GRAMMAR ; } ( com
- Page 498 and 499: APPENDIX E. ANTLR GRAMMAR ; ) ∗ }
- Page 500 and 501: APPENDIX E. ANTLR GRAMMAR ; } else
- Page 502 and 503: APPENDIX E. ANTLR GRAMMAR prod_bind
- 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 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 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
}<br />
F.1. RSLRUNNER<br />
RSLast_transformable r e s u l t a s t =<br />
( RSLast_transformable ) r e s u l t ;<br />
RSLAst i r s l a s t = r e s u l t a s t . r e s u l t ( ) ;<br />
StringRSLAstVisitor i r s l A s t V i s i t o r =<br />
new StringRSLAstVisitor ( ) ;<br />
i r s l a s t . accept ( i r s l A s t V i s i t o r ) ;<br />
System . out . p r i n t l n ( "RSL: \ n"<br />
+ i r s l A s t V i s i t o r .<br />
g e t R e s u l t ( ) ) ;<br />
System . out . p r i n t l n ( "Ending : " + f i l e n a m e ) ;<br />
try {<br />
i f ( f i l e . getParent ( ) ! = null ) {<br />
newFilename = f i l e . getParent ( )<br />
+ f i l e . s e p a r a t o r<br />
+ newFilename ;<br />
}<br />
F i l e W r i t e r fw =<br />
new F i l e W r i t e r ( newFilename<br />
+ " . r s l " , f a l s e ) ;<br />
fw . w r i t e ( "/∗"<br />
+ DateFormat .<br />
getDateTimeInstance ( DateFormat .<br />
LONG,<br />
DateFormat .<br />
LONG,<br />
Locale .UK) .<br />
format (new Date ( ) )<br />
+ "∗/\n" ) ;<br />
fw . w r i t e ( i r s l A s t V i s i t o r . g e t R e s u l t ( ) .<br />
t o S t r i n g ( ) ) ;<br />
fw . f l u s h ( ) ;<br />
fw . c l o s e ( ) ;<br />
}<br />
catch ( IOException i o e ) {<br />
i o e . printStackTrace ( ) ;<br />
System . e x i t ( 1 ) ;<br />
}<br />
}<br />
else {<br />
System . out . p r i n t l n ( "The f i l e : "<br />
+ f i l e n a m e<br />
+ " . r s l cannot "<br />
+ "be transformed " ) ;<br />
}<br />
511