Transformation of Applicative Specifications into Imperative ...
Transformation of Applicative Specifications into Imperative ... Transformation of Applicative Specifications into Imperative ...
APPENDIX E. ANTLR GRAMMAR | { optional_value_expr_list . g e t L i s t ( ) . add ( ve1 ) ; } ( COMMA ve1 = value_expr { optional_value_expr_list . g e t L i s t ( ) . add ( ve1 ) ; } ) ∗ RLIST { l e = new EnumeratedListExpr ( new ValueExprList ( optional_value_expr_list ) ) ; } | BAR b = binding IN ve2 = value_expr (FORWHICH ve3 = value_expr ) ? RLIST { i f ( ve3 == null ) { or = new NoRestriction ( ) ; } else { or = new R e s t r i c t i o n ( ve3 ) ; }} { l e = new ComprehendedListExpr ( ve1 , b , ve2 , or ) ; } ) | RLIST { l e = new EnumeratedListExpr (new NoValueExprList ( ) ) ; } ) { ve = new Make_ListExpr ( l e ) ; } | LBRACKET ( vep1 = value_expr_pair ( { optional_value_expr_pair_list . g e t L i s t ( ) . add ( vep1 ) ; } ( COMMA vep1 = value_expr_pair { optional_value_expr_pair_list . g e t L i s t ( ) . add ( vep1 ) ; } ) ∗ RBRACKET {me = new EnumeratedMapExpr ( new ValueExprPairList ( optional_value_expr_pair_list ) ) ; } | BAR ( ty = typing { t y p i n g _ l i s t . g e t L i s t ( ) . add ( ty ) ; } )+ (FORWHICH ve2 = value_expr ) ? RBRACKET { i f ( ve2 == null ) { or = new NoRestriction ( ) ; } 496
; else { or = new R e s t r i c t i o n ( ve2 ) ; }} {me = new ComprehendedMapExpr ( vep1 , ) | RBRACKET {me = t y p i n g _ l i s t , or ) ; } new EnumeratedMapExpr (new NoValueExprPairList ( ) ) ; } ) {ve = new Make_MapExpr(me) ; } | CASE ve1 = value_expr OF p = pattern TOTALARROW ve2 = value_expr { caseBranchList . g e t L i s t ( ) . add (new CaseBranch (p , ( ve2 ) ) ; } COMMA p = pattern TOTALARROW ve2 = value_expr { caseBranchList . g e t L i s t ( ) . add (new CaseBranch (p , ve2 ) ) ; } ) ∗ END { ve = new CaseExpr ( ve1 , | LET ld = l et_def caseBranchList ) ; } { l e t D e f L i s t . g e t L i s t ( ) . add ( ld ) ; } ( COMMA ld = let_def { l e t D e f L i s t . g e t L i s t ( ) . add ( ld ) ; } ) ∗ IN ve1 = value_expr END { ve = new LetExpr ( l e t D e f L i s t , ve1 ) ; } l et_def returns [ LetDef ld ] { ld = null ; LetBinding b = null ; ValueExpr ve = null ; } : b = let_binding EQUAL ve = value_expr { ld = new LetDef (b , ve ) ; } ; let_binding returns [ LetBinding lb ] { lb = null ; Binding b = null ; Id i d e n t i f i e r = null ; Make_ValueOrVariableName vovn = null ; Pattern p = null ; Pattern ip = null ; RSLListDefault p a t t e r n L i s t = 497
- Page 462 and 463: APPENDIX D. SPECIFICATION OF TRANSF
- Page 464 and 465: APPENDIX D. SPECIFICATION OF TRANSF
- Page 466 and 467: APPENDIX D. SPECIFICATION OF TRANSF
- Page 468 and 469: APPENDIX D. SPECIFICATION OF TRANSF
- Page 470 and 471: APPENDIX D. SPECIFICATION OF TRANSF
- Page 472 and 473: APPENDIX D. SPECIFICATION OF TRANSF
- Page 474 and 475: APPENDIX D. SPECIFICATION OF TRANSF
- 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 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
;<br />
else {<br />
or = new R e s t r i c t i o n ( ve2 ) ;<br />
}}<br />
{me =<br />
new ComprehendedMapExpr ( vep1 ,<br />
)<br />
|<br />
RBRACKET<br />
{me =<br />
t y p i n g _ l i s t , or ) ; }<br />
new EnumeratedMapExpr (new NoValueExprPairList ( ) ) ; }<br />
)<br />
{ve = new Make_MapExpr(me) ; }<br />
|<br />
CASE ve1 = value_expr OF<br />
p = pattern TOTALARROW ve2 = value_expr<br />
{ caseBranchList . g e t L i s t ( ) . add (new CaseBranch (p ,<br />
(<br />
ve2 ) ) ; }<br />
COMMA p = pattern TOTALARROW ve2 = value_expr<br />
{ caseBranchList . g e t L i s t ( ) . add (new CaseBranch (p , ve2 ) ) ; }<br />
) ∗<br />
END { ve = new CaseExpr ( ve1 ,<br />
|<br />
LET ld = l et_def<br />
caseBranchList ) ; }<br />
{ l e t D e f L i s t . g e t L i s t ( ) . add ( ld ) ; }<br />
(<br />
COMMA ld = let_def<br />
{ l e t D e f L i s t . g e t L i s t ( ) . add ( ld ) ; }<br />
) ∗<br />
IN ve1 = value_expr<br />
END { ve = new LetExpr ( l e t D e f L i s t , ve1 ) ; }<br />
l et_def returns [ LetDef ld ] {<br />
ld = null ;<br />
LetBinding b = null ;<br />
ValueExpr ve = null ;<br />
}<br />
: b = let_binding EQUAL ve = value_expr<br />
{ ld = new LetDef (b , ve ) ; }<br />
;<br />
let_binding returns [ LetBinding lb ] {<br />
lb = null ;<br />
Binding b = null ;<br />
Id i d e n t i f i e r = null ;<br />
Make_ValueOrVariableName vovn = null ;<br />
Pattern p = null ;<br />
Pattern ip = null ;<br />
RSLListDefault p a t t e r n L i s t =<br />
497