diff --git a/shared/xsl/exbgf2xbgf.xslt b/shared/xsl/exbgf2xbgf.xslt
index d1c19787..a813c0b7 100644
--- a/shared/xsl/exbgf2xbgf.xslt
+++ b/shared/xsl/exbgf2xbgf.xslt
@@ -24,14 +24,32 @@
[EXBGF] shielded ::= extract + ... + inline
- SHIELDED-BY-EXBGF
+ SHIELDED-ENTITY
- SHIELDED-BY-EXBGF
+ SHIELDED-ENTITY
+
+
+
+ [EXBGF] shieldedD ::= extract + ...
+
+
+ SHIELDED-ENTITY
+
+
+
+
+
+
+
+ SHIELDED-ENTITY
+
- [EXBGF] massageDouble ::= massage
+ [EXBGF] massage-double ::= massage
@@ -639,6 +657,7 @@
(It needs to be used as an optional in order for this to work)
equivalent to exbgf:inlineY + exbgf:massageOP2S + xbgf:extract
equivalent to xbgf:deyaccify + exbgf:promoteP2S
+ equivalent to exbgf:inlineYO + xbgf:extract
-->
[EXBGF] promoteY2S ::= deyaccify + inline + massage + extract
@@ -697,6 +716,47 @@
+
+
+ [EXBGF] inlineYO ::= deyaccify + inline + massage
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
- [EXBGF] eliminateMany ::= eliminate...
+ [EXBGF] eliminate-many ::= eliminate...
@@ -860,27 +920,6 @@
-
-
- [EXBGF] factorV ::= horizontal + factor + vertical
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ [EXBGF] reextractY ::= deyaccify + inline + extract
+
+
+
+
+
+
+
+
+
+
+
+
+ [EXBGF] extract-twice ::= extract + ... + fold
+
+
+
+
+
+
+
+
+ [EXBGF] unfold ::= unfold...
+
+
+
-
+
-
-
+
+
+
+
+
+ [EXBGF] unfoldY ::= deyaccify + unfold
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ [EXBGF] foldY ::= deyaccify + fold
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ [EXBGF] factor-out ::= horizontal + factor + vertical
+
+
+ [EXBGF] factor-out ::= factor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ [EXBGF] pull-out ::= horizontal + factor + vertical + extract + vertical
+
+
+ [EXBGF] pull-out ::= factor + extract + vertical
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/topics/convergence/java/exbgf/correct-read1.exbgf b/topics/convergence/java/exbgf/correct-read1.exbgf
index ed884c27..b1beefe3 100644
--- a/topics/convergence/java/exbgf/correct-read1.exbgf
+++ b/topics/convergence/java/exbgf/correct-read1.exbgf
@@ -17,23 +17,21 @@
ConstantModifier
-
-
-
- ConstantModifiers
-
-
-
- ConstantModifiers
-
-
- ConstantModifier
-
-
-
-
-
-
+
+
+ ConstantModifiers
+
+
+
+ ConstantModifiers
+
+
+ ConstantModifier
+
+
+
+
+
-
- CastExpression
-
-
-
-
-
-
-
- (
-
-
- PrimitiveType
-
-
- )
-
-
- UnaryExpression
-
-
-
-
-
-
- (
-
-
- PrimitiveType
-
-
-
-
- Dims
-
-
-
-
- )
-
-
- UnaryExpression
-
-
-
-
-
-
-
+
+ CastExpression
+
+
(
PrimitiveType
+
+
-
-
-
-
+
+
+
+
-
-
- Dims
-
-
+ Dims
-
+
+
+
)
UnaryExpression
-
-
-
-
-
-
- Dims
-
-
-
-
-
- Dims
-
-
- CastExpression
-
+
+
+
+
+
+ Dims
+
+
+
+
+
+ Dims
+
+
diff --git a/topics/convergence/java/exbgf/correct-read2.exbgf b/topics/convergence/java/exbgf/correct-read2.exbgf
index 5a7514ed..a2ab95c1 100644
--- a/topics/convergence/java/exbgf/correct-read2.exbgf
+++ b/topics/convergence/java/exbgf/correct-read2.exbgf
@@ -74,96 +74,48 @@
','([t('('), n('ReferenceType'), t(')'), n('UnaryExpressionNotPlusMinus')]),
','([t('('), n('PrimitiveType'), ?(n('Dims')), t(')'), n('UnaryExpression')])])),
-->
-
- CastExpression
-
-
-
-
-
-
-
- (
-
-
- PrimitiveType
-
-
- )
-
-
- UnaryExpression
-
-
-
-
-
-
- (
-
-
- PrimitiveType
-
-
-
-
- Dims
-
-
-
-
- )
-
-
- UnaryExpression
-
-
-
-
-
-
-
+
+ CastExpression
+
+
(
PrimitiveType
+
+
-
-
-
-
+
+
+
+
-
-
- Dims
-
-
+ Dims
-
+
+
+
)
UnaryExpression
-
-
-
-
-
-
- Dims
-
-
-
-
-
- Dims
-
-
- CastExpression
-
+
+
+
+
+
+ Dims
+
+
+
+
+
+ Dims
+
+
diff --git a/topics/convergence/java/exbgf/correct-read3.exbgf b/topics/convergence/java/exbgf/correct-read3.exbgf
index 2f970db3..2a78ad6b 100644
--- a/topics/convergence/java/exbgf/correct-read3.exbgf
+++ b/topics/convergence/java/exbgf/correct-read3.exbgf
@@ -135,98 +135,50 @@
','([t('('), n('ReferenceType'), t(')'), n('UnaryExpressionNotPlusMinus')]),
','([t('('), n('PrimitiveType'), ?(n('Dims')), t(')'), n('UnaryExpression')])])),
-->
-
- CastExpression
-
-
-
-
-
-
-
- (
-
-
- PrimitiveType
-
-
- )
-
-
- UnaryExpression
-
-
-
-
-
-
- (
-
-
- PrimitiveType
-
-
-
-
- Dims
-
-
-
-
- )
-
-
- UnaryExpression
-
-
-
-
-
-
-
+
+ CastExpression
+
+
(
PrimitiveType
+
+
-
-
-
-
+
+
+
+
-
-
- Dims
-
-
+ Dims
-
+
+
+
)
UnaryExpression
-
-
-
-
-
-
- Dims
-
-
-
-
-
- Dims
-
-
- CastExpression
-
+
+
+
+
+
+ Dims
+
+
+
+
+
+ Dims
+
+
-
-
-
- TypeName
-
-
-
- TypeName
-
-
- .
-
-
- Identifier
-
-
-
-
-
-
+
+
+ TypeName
+
+
+
+ TypeName
+
+
+ .
+
+
+ Identifier
+
+
+
+
+
-
-
- VariableModifiers
-
-
-
-
- VariableModifiers
-
-
-
-
- LocalVariableDeclaration
-
-
+
+ VariableModifiers
+ LocalVariableDeclaration
+
diff --git a/topics/convergence/java/exbgf/edit-read1.exbgf b/topics/convergence/java/exbgf/edit-read1.exbgf
index 4f3c8ba4..552761dc 100644
--- a/topics/convergence/java/exbgf/edit-read1.exbgf
+++ b/topics/convergence/java/exbgf/edit-read1.exbgf
@@ -27,49 +27,25 @@
-
- PackageName
-
-
- PackageOrTypeName
-
-
- PackageName
-
- TypeImportOnDemandDeclaration
-
-
-
- PackageOrTypeName
-
- TypeImportOnDemandDeclaration
-
-
-
-
+ -->
+
PackageName
-
- TypeName
-
-
-
+ TypeImportOnDemandDeclaration
+ TypeName
+
+
PackageOrTypeName
-
- TypeName
-
-
+ TypeImportOnDemandDeclaration
+ TypeName
+
+
ClassInstanceCreationExpression
@@ -148,9 +124,7 @@
-
-
-
+
ClassInstanceCreationExpression
@@ -191,65 +165,10 @@
-
- ClassInstanceCreationExpression
-
-
-
-
-
-
-
- new
-
-
- ClassOrInterfaceType
-
-
- (
-
-
-
-
- ArgumentList
-
-
-
-
- )
-
-
-
-
-
-
- new
-
-
- ClassOrInterfaceType
-
-
- (
-
-
-
-
- ArgumentList
-
-
-
-
- )
-
-
- ClassBody
-
-
-
-
-
-
-
+
+ ClassInstanceCreationExpression
+
+
new
@@ -269,23 +188,19 @@
)
+
+
-
-
-
-
-
- ClassBody
-
-
+
-
-
-
-
- ClassBody
-
-
- ClassInstanceCreationExpression
-
+
+ ClassBody
+
+
+
+
+
+ ClassBody
+
+
diff --git a/topics/convergence/java/exbgf/edit-read2.exbgf b/topics/convergence/java/exbgf/edit-read2.exbgf
index ab19975e..b2361c0f 100644
--- a/topics/convergence/java/exbgf/edit-read2.exbgf
+++ b/topics/convergence/java/exbgf/edit-read2.exbgf
@@ -13,12 +13,10 @@
ConstructorBody
MethodBody
-
+
ExplicitConstructorInvocation
-
-
ArgumentList
-
+
@@ -49,12 +47,13 @@
-
+
TypeList
-
- ConstructorDeclaratorRest
-
-
+ ConstructorDeclaratorRest
+ MethodDeclaratorRest
+ VoidInterfaceMethodDeclaratorRest
+ InterfaceMethodDeclaratorRest
+
@@ -180,21 +179,18 @@
-
- BracketsOpt
-
- ConstructorDeclaratorRest
-
-
-
-
+
+
- ConstructorDeclaratorRest
+ MethodDeclaratorRest
FormalParameters
+
+ BracketsOpt
+
@@ -202,24 +198,10 @@
throws
-
- QualifiedIdentifier
-
-
-
-
-
- [
-
-
- ]
-
-
-
-
+ Type
@@ -231,21 +213,7 @@
,
- QualifiedIdentifier
-
-
-
-
-
-
- [
-
-
- ]
-
-
-
-
+ Type
@@ -261,16 +229,32 @@
-
-
-
- ConstructorDeclaratorRest
+ Type
+
+
+
+ QualifiedIdentifier
+
+
+ BracketsOpt
+
+
+
+
+
+
+
+
+ MethodDeclaratorRest
FormalParameters
+
+ BracketsOpt
+
@@ -281,6 +265,9 @@
QualifiedIdentifier
+
+ BracketsOpt
+
@@ -288,24 +275,10 @@
,
-
- QualifiedIdentifier
-
-
-
-
-
- [
-
-
- ]
-
-
-
-
+ Type
@@ -323,18 +296,24 @@
-
-
-
- TypeList
-
- MethodDeclaratorRest
-
-
+
+ Type
+
+
+
+ QualifiedIdentifier
+
+
+ BracketsOpt
+
+
+
+
+
- MethodDeclaratorRest
+ VoidInterfaceMethodDeclaratorRest
@@ -376,7 +355,7 @@
- MethodBody
+ ;
@@ -398,7 +377,7 @@
- MethodDeclaratorRest
+ VoidInterfaceMethodDeclaratorRest
@@ -443,7 +422,7 @@
- MethodBody
+ ;
@@ -462,34 +441,17 @@
-
- BracketsOpt
-
- MethodDeclaratorRest
-
-
-
-
+
+
- MethodDeclaratorRest
+ InterfaceMethodDeclaratorRest
FormalParameters
-
-
-
-
- [
-
-
- ]
-
-
-
-
+ BracketsOpt
@@ -498,24 +460,10 @@
throws
-
- QualifiedIdentifier
-
-
-
-
-
- [
-
-
- ]
-
-
-
-
+ Type
@@ -527,21 +475,7 @@
,
- QualifiedIdentifier
-
-
-
-
-
-
- [
-
-
- ]
-
-
-
-
+ Type
@@ -552,34 +486,36 @@
- MethodBody
+ ;
-
-
-
- MethodDeclaratorRest
+ Type
+
+
+
+ QualifiedIdentifier
+
+
+ BracketsOpt
+
+
+
+
+
+
+
+
+ InterfaceMethodDeclaratorRest
FormalParameters
-
-
-
-
- [
-
-
- ]
-
-
-
-
+ BracketsOpt
@@ -591,6 +527,9 @@
QualifiedIdentifier
+
+ BracketsOpt
+
@@ -598,24 +537,10 @@
,
-
- QualifiedIdentifier
-
-
-
-
-
- [
-
-
- ]
-
-
-
-
+ Type
@@ -628,31 +553,41 @@
- MethodBody
+ ;
-
-
-
- TypeList
-
- VoidInterfaceMethodDeclaratorRest
-
-
-
-
- VoidInterfaceMethodDeclaratorRest
+ Type
- FormalParameters
+ QualifiedIdentifier
BracketsOpt
+
+
+
+
+
+ BracketsOpt
+ ConstructorDeclaratorRest
+ MethodDeclaratorRest
+ VoidInterfaceMethodDeclaratorRest
+ InterfaceMethodDeclaratorRest
+
+
+
+
+ ConstructorDeclaratorRest
+
+
+
+ FormalParameters
+
@@ -660,10 +595,24 @@
throws
+
+ QualifiedIdentifier
+
- Type
+
+
+
+
+ [
+
+
+ ]
+
+
+
+
@@ -675,7 +624,21 @@
,
- Type
+ QualifiedIdentifier
+
+
+
+
+
+
+ [
+
+
+ ]
+
+
+
+
@@ -686,37 +649,21 @@
- ;
-
-
-
-
-
- Type
-
-
-
- QualifiedIdentifier
-
-
- BracketsOpt
+ MethodBody
-
-
-
+
+
+
- VoidInterfaceMethodDeclaratorRest
+ ConstructorDeclaratorRest
FormalParameters
-
- BracketsOpt
-
@@ -727,9 +674,6 @@
QualifiedIdentifier
-
- BracketsOpt
-
@@ -737,10 +681,24 @@
,
+
+ QualifiedIdentifier
+
- Type
+
+
+
+
+ [
+
+
+ ]
+
+
+
+
@@ -753,35 +711,17 @@
- ;
-
-
-
-
-
- Type
-
-
-
- QualifiedIdentifier
-
-
- BracketsOpt
+ MethodBody
-
-
- BracketsOpt
-
- VoidInterfaceMethodDeclaratorRest
-
-
+
+
- VoidInterfaceMethodDeclaratorRest
+ MethodDeclaratorRest
@@ -862,7 +802,7 @@
- ;
+ MethodBody
@@ -871,7 +811,7 @@
- VoidInterfaceMethodDeclaratorRest
+ MethodDeclaratorRest
@@ -938,30 +878,35 @@
- ;
+ MethodBody
-
-
- TypeList
-
- InterfaceMethodDeclaratorRest
-
-
-
-
+
+
+
- InterfaceMethodDeclaratorRest
+ VoidInterfaceMethodDeclaratorRest
FormalParameters
- BracketsOpt
+
+
+
+
+ [
+
+
+ ]
+
+
+
+
@@ -970,10 +915,24 @@
throws
+
+ QualifiedIdentifier
+
- Type
+
+
+
+
+ [
+
+
+ ]
+
+
+
+
@@ -985,7 +944,21 @@
,
- Type
+ QualifiedIdentifier
+
+
+
+
+
+
+ [
+
+
+ ]
+
+
+
+
@@ -1001,31 +974,29 @@
+
+
+
- Type
-
-
-
- QualifiedIdentifier
-
-
- BracketsOpt
-
-
-
-
-
-
-
-
- InterfaceMethodDeclaratorRest
+ VoidInterfaceMethodDeclaratorRest
FormalParameters
- BracketsOpt
+
+
+
+
+ [
+
+
+ ]
+
+
+
+
@@ -1037,9 +1008,6 @@
QualifiedIdentifier
-
- BracketsOpt
-
@@ -1047,10 +1015,24 @@
,
+
+ QualifiedIdentifier
+
- Type
+
+
+
+
+ [
+
+
+ ]
+
+
+
+
@@ -1068,26 +1050,8 @@
-
- Type
-
-
-
- QualifiedIdentifier
-
-
- BracketsOpt
-
-
-
-
-
-
- BracketsOpt
-
- InterfaceMethodDeclaratorRest
-
-
+
+
@@ -1323,180 +1287,128 @@
"{" [ VariableInitializers [ "," ] ] "}"
-->
-
-
-
-
- VariableInitializer
-
-
-
-
-
-
- ,
-
-
- VariableInitializer
-
-
-
-
-
-
-
-
- ArrayInitializer
-
-
-
- ArrayInitializer
+
+
+
+ VariableInitializer
+
+
+
- {
-
-
-
-
-
-
- ,
-
-
-
-
+ ,
- }
+ VariableInitializer
-
-
-
-
+
+
+
+
+
+ ArrayInitializer
+
+
+
+ ArrayInitializer
+
+
+
+ {
+
+
+
+
+
+
+ ,
+
+
+
+
+
+
+ }
+
+
+
+
+
+
+
+
+
+ {
+
+
+
-
+
-
-
- {
-
-
- VariableInitializer
-
+ VariableInitializer
+
+
+
-
+
-
-
- ,
-
-
- VariableInitializer
-
-
+ ,
-
-
-
-
- ,
+ VariableInitializer
-
-
-
- }
+
-
+
-
-
- {
-
+
- }
+ ,
-
+
-
+
-
-
- {
-
+
+
+
+
+
+ }
+
+
+
+
+
+
+ VariableInitializer
+
+
+
-
+
-
-
- VariableInitializer
-
-
-
-
-
-
- ,
-
-
- VariableInitializer
-
-
-
-
-
-
-
-
- ,
-
-
-
-
+ ,
-
+ VariableInitializer
-
+
+
+
+
+
- }
+ ,
-
+
-
-
-
-
- VariableInitializer
-
-
-
-
-
-
- ,
-
-
- VariableInitializer
-
-
-
-
-
-
-
-
- ,
-
-
-
-
-
-
+
+
diff --git a/topics/convergence/java/exbgf/editDeclarations.exbgf b/topics/convergence/java/exbgf/editDeclarations.exbgf
index 9a58ccb3..77165b14 100644
--- a/topics/convergence/java/exbgf/editDeclarations.exbgf
+++ b/topics/convergence/java/exbgf/editDeclarations.exbgf
@@ -475,74 +475,36 @@
ImportDeclaration
-
-
-
-
-
-
- import
-
-
- QualifiedIdentifier
-
-
- ;
-
-
-
-
-
-
- import
-
-
- QualifiedIdentifier
-
-
- .
-
-
- *
-
-
- ;
-
-
-
-
-
-
-
-
- import
-
-
- QualifiedIdentifier
-
-
-
-
-
-
-
-
-
- .
-
-
- *
-
-
-
-
-
-
- ;
-
-
-
-
+
+
+
+ import
+
+
+ QualifiedIdentifier
+
+
+
+
+
+
+
+
+
+ .
+
+
+ *
+
+
+
+
+
+
+ ;
+
+
+
@@ -566,35 +528,23 @@
vs.
- [], ,([t({), *(n(ClassBodyDeclaration)), t(})])
-->
- ClassBodyDeclarations
-
- ClassBodyDeclaration
-
+ ClassBodyDeclarations
- InterfaceMemberDeclarations
-
- InterfaceBodyDeclaration
-
+ InterfaceMemberDeclarations
- ImportDeclarations
- TypeDeclarations
+ ImportDeclarations
+ TypeDeclarations
PackageDeclaration
-
- ImportDeclaration
-
-
- TypeDeclaration
-
InterfaceBodyDeclaration
-
-
-
-
-
-
- ModifiersOpt
-
-
- Type
-
-
- VariableDeclarators
-
-
- ;
-
-
-
-
-
-
- ModifiersOpt
-
-
- Type
-
-
- MethodDeclarator
-
-
-
-
- Throws
-
-
-
-
- ;
-
-
-
-
-
-
- ModifiersOpt
-
-
- void
-
-
- MethodDeclarator
-
-
-
-
- Throws
-
-
-
-
- ;
-
-
-
-
-
-
-
-
- ModifiersOpt
-
-
-
-
-
-
- Type
-
-
- VariableDeclarators
-
-
- ;
-
-
-
-
-
-
- Type
-
-
- MethodDeclarator
-
-
-
-
- Throws
-
-
-
-
- ;
-
-
-
-
-
-
- void
-
-
- MethodDeclarator
-
-
-
-
- Throws
-
-
-
-
- ;
-
-
-
-
-
-
-
-
+
+
+
+ ModifiersOpt
+
+
+
+
+
+
+ Type
+
+
+ VariableDeclarators
+
+
+ ;
+
+
+
+
+
+
+ Type
+
+
+ MethodDeclarator
+
+
+
+
+ Throws
+
+
+
+
+ ;
+
+
+
+
+
+
+ void
+
+
+ MethodDeclarator
+
+
+
+
+ Throws
+
+
+
+
+ ;
+
+
+
+
+
+
@@ -857,174 +738,87 @@
InterfaceMemberDecl
-
-
-
-
-
-
- Type
-
-
- Identifier
-
-
- VariableDeclaratorRest
-
-
-
-
-
-
- ,
-
-
- Identifier
-
-
- VariableDeclaratorRest
-
-
-
-
-
-
- ;
-
-
-
-
-
-
- Type
-
-
- Identifier
-
-
- (
-
-
-
-
- FormalParameterList
-
-
-
-
- )
-
-
-
-
-
-
- [
-
-
- ]
-
-
-
-
-
-
-
-
- Throws
-
-
-
-
- ;
-
-
-
-
-
-
-
-
- Type
-
-
- Identifier
-
-
-
-
-
-
- VariableDeclaratorRest
-
-
-
-
-
-
- ,
-
-
- Identifier
-
-
- VariableDeclaratorRest
-
-
-
-
-
-
- ;
-
-
-
-
-
-
- (
-
-
-
-
- FormalParameterList
-
-
-
-
- )
-
-
-
-
-
-
- [
-
-
- ]
-
-
-
-
-
-
-
-
- Throws
-
-
-
-
- ;
-
-
-
-
-
-
-
-
+
+
+
+ Type
+
+
+ Identifier
+
+
+
+
+
+
+ VariableDeclaratorRest
+
+
+
+
+
+
+ ,
+
+
+ Identifier
+
+
+ VariableDeclaratorRest
+
+
+
+
+
+
+ ;
+
+
+
+
+
+
+ (
+
+
+
+
+ FormalParameterList
+
+
+
+
+ )
+
+
+
+
+
+
+ [
+
+
+ ]
+
+
+
+
+
+
+
+
+ Throws
+
+
+
+
+ ;
+
+
+
+
+
+
@@ -1252,10 +1046,7 @@
-
- ArrayInitializer
-
-
+
ArrayInitializer
@@ -1284,110 +1075,56 @@
-
-
-
-
-
-
-
- {
-
-
-
-
- VariableInitializer
-
-
-
-
-
-
- ,
-
-
- VariableInitializer
-
-
-
-
-
-
-
-
-
-
- ,
-
-
-
-
- }
-
-
-
-
-
-
- {
-
-
- }
-
-
-
-
-
-
-
-
- {
-
-
-
-
-
-
-
-
- VariableInitializer
-
-
-
-
-
-
- ,
-
-
- VariableInitializer
-
-
-
-
-
-
-
-
-
-
- ,
-
-
-
-
-
-
-
-
-
-
-
- }
-
-
-
-
+
+
+
+
+ {
+
+
+
+
+
+
+
+
+ VariableInitializer
+
+
+
+
+
+
+ ,
+
+
+ VariableInitializer
+
+
+
+
+
+
+
+
+
+
+ ,
+
+
+
+
+
+
+
+
+
+
+
+ }
+
+
+
@@ -1552,10 +1289,7 @@
vs.
- [], ;([t((;)), ,([?(t(static)), n(Block)]), ,([n(ModifiersOpt), n(MethodOrFieldDecl)]), ,([n(ModifiersOpt), t(void), n(Identifier), n(MethodDeclaratorRest)]), ,([n(ModifiersOpt), n(Identifier), n(ConstructorDeclaratorRest)]), ,([n(ModifiersOpt), n(ClassOrInterfaceDeclaration)])])
-->
-
- ClassMemberDeclaration
-
- ClassMemberDeclaration
+ ClassMemberDeclaration
StaticInitializer
ConstructorDeclaration
MethodDeclaration
@@ -1742,11 +1476,7 @@ Block:
;
-
-
-
-
+
ClassBodyDeclaration
@@ -1862,67 +1592,28 @@ Block:
-->
ClassBodyDeclaration
-
-
-
-
-
-
- ModifiersOpt
-
-
- Type
-
-
- Identifier
-
-
- MethodDeclaratorRest
-
-
-
-
-
-
- ModifiersOpt
-
-
- Type
-
-
- Identifier
-
-
- VariableDeclaratorRest
-
-
-
-
-
-
-
-
- ModifiersOpt
-
-
- Type
-
-
- Identifier
-
-
-
-
- MethodDeclaratorRest
-
-
- VariableDeclaratorRest
-
-
-
-
-
-
+
+
+
+ ModifiersOpt
+
+
+ Type
+
+
+ Identifier
+
+
+
+
+ MethodDeclaratorRest
+
+
+ VariableDeclaratorRest
+
+
+
+
MethodOrFieldRest
diff --git a/topics/convergence/java/exbgf/editExpressions-jls1.exbgf b/topics/convergence/java/exbgf/editExpressions-jls1.exbgf
index 0b62cc55..a532d3f3 100644
--- a/topics/convergence/java/exbgf/editExpressions-jls1.exbgf
+++ b/topics/convergence/java/exbgf/editExpressions-jls1.exbgf
@@ -9,20 +9,21 @@
-->
ArrayCreationExpression
PrimaryNoNewArray
- Dims
- DimExprs
- DimExpr
-
-
-
-
- [
-
-
- ]
-
-
-
+
+
+
+
+ [
+
+
+ ]
+
+
+
+ Dims
+ DimExprs
+ DimExpr
+
BracketsOpt
@@ -56,64 +57,28 @@
vs.
- [], ,([t(super), n(SuperSuffix)])
-->
-
-
-
-
-
-
- super
-
-
- .
-
-
- Identifier
-
-
- Arguments
-
-
-
-
-
-
- super
-
-
- .
-
-
- Identifier
-
-
-
-
-
-
-
-
- super
-
-
- .
-
-
- Identifier
-
-
-
-
- Arguments
-
-
-
-
-
-
-
-
-
+
+
+
+ super
+
+
+ .
+
+
+ Identifier
+
+
+
+
+ Arguments
+
+
+
+
+
+
+
Arguments
diff --git a/topics/convergence/java/exbgf/editExpressions-read2.exbgf b/topics/convergence/java/exbgf/editExpressions-read2.exbgf
index 3d40197d..e91c1ed1 100644
--- a/topics/convergence/java/exbgf/editExpressions-read2.exbgf
+++ b/topics/convergence/java/exbgf/editExpressions-read2.exbgf
@@ -161,12 +161,12 @@
-
+
ArrayCreationExpression
DimExprs
DimExpr
Dims
-
+
ArrayCreatorRest
@@ -431,96 +431,43 @@
-
+
IdentifierSuffix
-
-
-
-
-
- .
-
-
- this
-
-
-
-
-
-
- .
-
-
- class
-
-
-
-
-
-
- .
-
-
- super
-
-
- Arguments
-
-
-
-
-
-
- .
-
-
- new
-
-
- InnerCreator
-
-
-
-
-
-
-
-
- .
-
-
-
-
- class
-
-
- this
-
-
-
-
- super
-
-
- Arguments
-
-
-
-
-
-
- new
-
-
- InnerCreator
-
-
-
-
-
-
-
-
+
+
+ .
+
+
+
+
+ class
+
+
+ this
+
+
+
+
+ super
+
+
+ Arguments
+
+
+
+
+
+
+ new
+
+
+ InnerCreator
+
+
+
+
+
+
ClassBodyDeclaration
-
-
-
-
-
-
- ModifiersOpt
-
-
- MethodOrFieldDecl
-
-
-
-
-
+
+
ModifiersOpt
-
- void
-
-
- Identifier
-
-
- MethodDeclaratorRest
-
-
-
-
-
-
- ModifiersOpt
-
-
- Identifier
-
-
- ConstructorDeclaratorRest
-
-
-
-
-
-
- ModifiersOpt
-
-
- ClassDeclaration
-
-
-
-
-
-
- ModifiersOpt
-
-
- InterfaceDeclaration
-
-
-
-
-
-
-
-
- ModifiersOpt
-
-
-
-
- MethodOrFieldDecl
-
-
-
-
- void
-
-
- Identifier
-
-
- MethodDeclaratorRest
-
-
-
-
-
-
- Identifier
-
-
- ConstructorDeclaratorRest
-
-
-
-
- ClassDeclaration
-
-
- InterfaceDeclaration
-
-
-
-
-
-
-
+
+
+
+ MethodOrFieldDecl
+
+
+
+
+ void
+
+
+ Identifier
+
+
+ MethodDeclaratorRest
+
+
+
+
+
+
+ Identifier
+
+
+ ConstructorDeclaratorRest
+
+
+
+
+ ClassDeclaration
+
+
+ InterfaceDeclaration
+
+
+
+
+
+
MemberDecl
@@ -491,11 +426,8 @@
-
+
-
- MemberDecl
-
Expression3
-
-
-
-
-
-
- ++
-
-
- Expression3
-
-
-
-
-
-
- --
-
-
- Expression3
-
-
-
-
-
-
- +
-
-
- Expression3
-
-
-
-
-
-
- -
-
-
- Expression3
-
-
-
-
-
-
- ~
-
-
- Expression3
-
-
-
-
-
-
- !
-
-
- Expression3
-
-
-
-
-
-
-
-
-
-
- ++
-
-
- --
-
-
- +
-
-
- -
-
-
- ~
-
-
- !
-
-
-
-
- Expression3
-
-
-
-
+
+
+
+
+ ++
+
+
+ --
+
+
+ +
+
+
+ -
+
+
+ ~
+
+
+ !
+
+
+
+
+ Expression3
+
+
+
PrefixOp
@@ -476,66 +409,28 @@ CreatedName:
Expression3
-
-
-
-
-
-
- (
-
-
- Type
-
-
- )
-
-
- Expression3
-
-
-
-
-
-
- (
-
-
- Expression
-
-
- )
-
-
- Expression3
-
-
-
-
-
-
-
-
- (
-
-
-
-
- Type
-
-
- Expression
-
-
-
-
- )
-
-
- Expression3
-
-
-
-
+
+
+
+ (
+
+
+
+
+ Type
+
+
+ Expression
+
+
+
+
+ )
+
+
+ Expression3
+
+
+
diff --git a/topics/convergence/java/exbgf/generalize-impl3.exbgf b/topics/convergence/java/exbgf/generalize-impl3.exbgf
index 0682c492..2bf95dde 100644
--- a/topics/convergence/java/exbgf/generalize-impl3.exbgf
+++ b/topics/convergence/java/exbgf/generalize-impl3.exbgf
@@ -18,42 +18,22 @@ Later should be a massage (AB|AB?)->AB?
Expression1Rest
Expression1
-
-
-
-
-
-
- Expression2
-
-
- Expression1Rest
-
-
-
-
- Expression2
-
-
-
-
-
-
- Expression2
-
-
-
-
- Expression1Rest
-
-
-
-
-
-
-
-
-
+
+
+
+ Expression2
+
+
+
+
+ Expression1Rest
+
+
+
+
+
+
+
Expression1Rest
diff --git a/topics/convergence/java/exbgf/inlineStatements.exbgf b/topics/convergence/java/exbgf/inlineStatements.exbgf
index 5d9fc16f..4819f9e9 100644
--- a/topics/convergence/java/exbgf/inlineStatements.exbgf
+++ b/topics/convergence/java/exbgf/inlineStatements.exbgf
@@ -47,38 +47,36 @@
- [], ,([t(if), n(ParExpression), n(Statement)])
-->
-
-
-
- Statement
-
-
-
- if
-
-
- (
-
-
- Expression
-
-
- )
-
-
- StatementNoShortIf
-
-
- else
-
-
- Statement
-
-
-
-
-
-
+
+
+ Statement
+
+
+
+ if
+
+
+ (
+
+
+ Expression
+
+
+ )
+
+
+ StatementNoShortIf
+
+
+ else
+
+
+ Statement
+
+
+
+
+
@@ -128,18 +126,12 @@
StatementNoShortIf
-
+
WhileStatementNoShortIf
-
-
IfThenElseStatementNoShortIf
-
-
ForStatementNoShortIf
-
-
LabeledStatementNoShortIf
-
+
+
-
-
-
- BlockStatement
-
- ClassDeclaration
-
-
-
-
-
-
-
-
- BlockStatement
-
- ClassOrInterfaceDeclaration
-
-
-
-
+
+ ClassDeclaration
+ ClassOrInterfaceDeclaration
+ BlockStatement
+
diff --git a/topics/convergence/java/exbgf/refactor-impl2.exbgf b/topics/convergence/java/exbgf/refactor-impl2.exbgf
index 6afadb49..27de6229 100644
--- a/topics/convergence/java/exbgf/refactor-impl2.exbgf
+++ b/topics/convergence/java/exbgf/refactor-impl2.exbgf
@@ -43,10 +43,10 @@
-
+
Expression1Rest
-
+
MemberDecl
- ClassBodyDeclarations
-
- ClassBodyDeclaration
-
+ ClassBodyDeclarations
-
-
-
-
- Block
-
-
-
-
- static
-
-
- Block
-
-
-
-
-
-
-
-
-
-
-
-
-
- static
-
-
-
-
- Block
-
-
-
-
+
+
+
+
+
+
+ static
+
+
+
+
+ Block
+
+
+
+
static
diff --git a/topics/convergence/java/exbgf/refactorClasses-read3.exbgf b/topics/convergence/java/exbgf/refactorClasses-read3.exbgf
index ff674fc9..7b3eae36 100644
--- a/topics/convergence/java/exbgf/refactorClasses-read3.exbgf
+++ b/topics/convergence/java/exbgf/refactorClasses-read3.exbgf
@@ -96,11 +96,13 @@
vs.
- [], ,([t({), ?(n(ClassBodyDeclarations)), t(})])
-->
- ClassBodyDeclarations
-
- ClassBodyDeclaration
-
-
+ ClassBodyDeclarations
+
ModifiersOpt
@@ -158,7 +160,33 @@
-
+ Interfaces
+
+ ConstructorDeclaration
+ InstanceInitializer
+ StaticInitializer
+
+ FieldDeclaration
+ MethodDeclaration
ClassMemberDeclaration
@@ -212,72 +240,190 @@
ClassMemberDeclaration
-
- ClassMemberDeclaration
-
+ ClassMemberDeclaration
- Interfaces
-
- InstanceInitializer
- StaticInitializer
-
- ClassBodyDeclaration
-
-
-
-
-
- Block
-
-
-
-
- static
-
-
- Block
-
-
-
-
-
-
+ - [], ;([,([n(ModifiersOpt), n(Type), n(VariableDeclarators), t(;)]), ,([n(ModifiersOpt), ?(n(TypeParameters)), n(ResultType), n(Identifier), n(MethodDeclaratorRest)]), ,([n(ModifiersOpt), n(ClassDeclaration)]), ,([n(ModifiersOpt), n(InterfaceDeclaration)]), t(;), ,([?(t(static)), n(Block)]), ,([n(ModifiersOpt), ?(n(TypeParameters)), n(Identifier), n(ConstructorDeclaratorRest)])])
+ -->
+
+
+ ClassBodyDeclaration
+
+
+
+
+
+
+ static
+
+
+
+
+ Block
+
+
+
+
+ static
+
+
+ ConstructorDeclarator
+ MethodDeclarator
+ MethodHeader
+
+
+
+
+ BracketsOpt
+
+
+
+ Dims
+
+
+
+
+
+
+ Dims
+ BracketsOpt
+
+
-
-
-
-
-
- static
-
-
+ [
- Block
+ ]
-
-
-
- static
-
+
+
+
+
+
+ ConstructorDeclaratorRest
+
+
+
+ (
+
+
+
+
+ FormalParameterList
+
+
+
+
+ )
+
+
+
+
+ Throws
+
+
+
+
+ ConstructorBody
+
+
+
+
+
+
+
+ MethodDeclaratorRest
+
+
+
+ (
+
+
+
+
+ FormalParameterList
+
+
+
+
+ )
+
+
+ BracketsOpt
+
+
+
+
+ Throws
+
+
+
+
+ MethodBody
+
+
+
+
+
+
+ ClassBodyDeclaration
+
+
+
+ FormalParameters
+
+
+
+ (
+
+
+
+
+ FormalParameterList
+
+
+
+
+ )
+
+
+
+
+
+
+ FormalParameters
+
+ AbstractMethodDeclaration
+
+
+
+ - [], ,([n(FormalParameters), t(,), n(LastFormalParameter)])
+ -->
FormalParameterDeclsRest
@@ -324,6 +470,19 @@
+
+ FormalParameterDeclsRest
+
+
+
+ ...
+
+
+ VariableDeclaratorId
+
+
+
+
@@ -354,163 +513,51 @@
-
-
-
- FormalParameters
-
-
-
- (
-
-
-
-
- FormalParameterDecls
-
-
-
-
- )
-
-
-
-
-
-
-
-
- FormalParameterDeclsRest
-
-
-
- ...
-
-
- VariableDeclaratorId
-
-
-
-
-
- ClassMemberDeclaration
- ConstructorDeclaration
- MethodDeclaration
- ConstructorDeclarator
- MethodHeader
- FieldDeclaration
-
- MethodDeclarator
-
+ - [], ,([t((), ?(n(FormalParameterDecls)), t())])
+ -->
+
FormalParameterList
FormalParameterDecls
- ClassBodyDeclaration
+ FormalParameters
-
- FormalParameters
-
- ClassBodyDeclaration
-
-
-
-
- ConstructorDeclaratorRest
-
-
-
- FormalParameters
-
-
-
-
- Throws
-
-
-
-
- ConstructorBody
-
-
-
-
-
-
-
-
- BracketsOpt
-
-
-
- Dims
-
-
-
-
-
-
- Dims
-
-
- Dims
-
- BracketsOpt
-
-
-
-
-
- [
-
-
- ]
-
-
-
-
-
- BracketsOpt
-
-
-
- MethodDeclaratorRest
-
-
-
- FormalParameters
-
-
- BracketsOpt
-
-
-
-
- Throws
-
-
-
-
- MethodBody
-
-
-
-
-
- ClassBodyDeclaration
-
-
+
+
+
+
+
+
+ FormalParameter
+
+
+
+
+
+
+ ,
+
+
+ FormalParameter
+
+
+
+
+
+
+
+
+ SHIELDED-ENTITY
+ FormalParameters
+ FormalParameterList
+
+
diff --git a/topics/convergence/java/exbgf/refactorDeclarations-read2.exbgf b/topics/convergence/java/exbgf/refactorDeclarations-read2.exbgf
index 510c011d..e740b3be 100644
--- a/topics/convergence/java/exbgf/refactorDeclarations-read2.exbgf
+++ b/topics/convergence/java/exbgf/refactorDeclarations-read2.exbgf
@@ -15,52 +15,29 @@
VariableDeclarator
-
-
-
-
- VariableDeclaratorId
-
-
-
-
- VariableDeclaratorId
-
-
- =
-
-
- VariableInitializer
-
-
-
-
-
-
-
-
- VariableDeclaratorId
-
-
-
-
-
-
-
-
-
- =
-
-
- VariableInitializer
-
-
-
-
-
-
-
-
+
+
+
+ VariableDeclaratorId
+
+
+
+
+
+
+
+
+
+ =
+
+
+ VariableInitializer
+
+
+
+
+
+
@@ -113,14 +90,8 @@
- [], ,([?(n(PackageDeclaration)), ?(n(ImportDeclarations)), ?(n(TypeDeclarations))])
-->
PackageDeclaration
- ImportDeclarations
-
- ImportDeclaration
-
- TypeDeclarations
-
- TypeDeclaration
-
+ ImportDeclarations
+ TypeDeclarations
PackageDeclaration
- ImportDeclarations
-
- ImportDeclaration
-
- TypeDeclarations
-
- TypeDeclaration
-
+ ImportDeclarations
+ TypeDeclarations
ImportDeclaration
-
-
-
-
-
-
- import
-
-
- QualifiedIdentifier
-
-
- ;
-
-
-
-
-
-
- import
-
-
- QualifiedIdentifier
-
-
- .
-
-
- *
-
-
- ;
-
-
-
-
-
-
-
-
- import
-
-
- QualifiedIdentifier
-
-
-
-
-
-
-
-
-
- .
-
-
- *
-
-
-
-
-
-
- ;
-
-
-
-
+
+
+
+ import
+
+
+ QualifiedIdentifier
+
+
+
+
+
+
+
+
+
+ .
+
+
+ *
+
+
+
+
+
+
+ ;
+
+
+
@@ -237,244 +170,109 @@
- SHIELDED-BY-EXBGF
+ SHIELDED-ENTITY
- SHIELDED-BY-EXBGF
+ SHIELDED-ENTITY
ImportDeclaration
-
-
-
-
-
-
- import
-
-
- static
-
-
- Identifier
-
-
-
-
- SHIELDED-BY-EXBGF
-
-
-
-
- ;
-
-
-
-
-
-
- import
-
-
- static
-
-
- Identifier
-
-
-
-
- SHIELDED-BY-EXBGF
-
-
-
-
- .
-
-
- *
-
-
- ;
-
-
-
-
-
-
-
-
- import
-
-
- static
-
-
- Identifier
-
-
-
-
- SHIELDED-BY-EXBGF
-
-
-
-
-
-
-
-
- .
-
-
- *
-
-
-
-
-
-
-
-
-
- ;
-
-
-
-
-
-
+
+
- .
+ import
- *
+ static
-
-
-
-
-
-
-
-
- import
-
-
- Identifier
-
-
-
-
- SHIELDED-BY-EXBGF
-
-
-
-
-
-
-
-
- .
-
-
- *
-
-
-
-
-
-
- ;
-
-
-
-
-
-
- import
-
-
- static
-
-
- Identifier
-
-
-
-
- SHIELDED-BY-EXBGF
-
-
-
-
-
-
-
-
- .
-
-
- *
-
-
-
-
-
-
- ;
-
-
-
-
-
-
-
-
- import
-
-
-
-
- static
-
-
-
-
-
-
-
- Identifier
-
-
-
-
- SHIELDED-BY-EXBGF
-
-
-
-
-
-
-
-
- .
-
-
- *
-
-
-
-
-
-
- ;
-
-
-
-
+
+ Identifier
+
+
+
+
+ SHIELDED-ENTITY
+
+
+
+
+
+
+
+
+ .
+
+
+ *
+
+
+
+
+
+
+
+
+
+ ;
+
+
+
+
+
+
+ .
+
+
+ *
+
+
+
+
+
+
+ import
+
+
+
+
+ static
+
+
+
+
+
+
+
+ Identifier
+
+
+
+
+ SHIELDED-ENTITY
+
+
+
+
+
+
+
+
+ .
+
+
+ *
+
+
+
+
+
+
+ ;
+
+
+
static
@@ -667,165 +465,70 @@ AnnotationTypeElementRest:
AnnotationTypeElementDeclaration
-
-
-
-
-
-
- ModifiersOpt
-
-
- Type
-
-
- Identifier
-
-
- (
-
-
- )
-
-
- BracketsOpt
-
-
-
-
- DefaultValue
-
-
-
-
- ;
-
-
-
-
-
-
- ModifiersOpt
-
-
- Type
-
-
- VariableDeclarators
-
-
- ;
-
-
-
-
-
-
- ModifiersOpt
-
-
- ClassDeclaration
-
-
-
-
-
-
- ModifiersOpt
-
-
- InterfaceDeclaration
-
-
-
-
-
-
- ModifiersOpt
-
-
- EnumDeclaration
-
-
-
-
-
-
- ModifiersOpt
-
-
- AnnotationTypeDeclaration
-
-
-
-
-
-
-
-
- ModifiersOpt
-
-
-
-
-
-
- Type
-
-
- Identifier
-
-
- (
-
-
- )
-
-
- BracketsOpt
-
-
-
-
- DefaultValue
-
-
-
-
- ;
-
-
-
-
-
-
- Type
-
-
- VariableDeclarators
-
-
- ;
-
-
-
-
- ClassDeclaration
-
-
- InterfaceDeclaration
-
-
- EnumDeclaration
-
-
- AnnotationTypeDeclaration
-
-
-
-
-
-
+
+
+
+ ModifiersOpt
+
+
+
+
+
+
+ Type
+
+
+ Identifier
+
+
+ (
+
+
+ )
+
+
+ BracketsOpt
+
+
+
+
+ DefaultValue
+
+
+
+
+ ;
+
+
+
+
+
+
+ Type
+
+
+ VariableDeclarators
+
+
+ ;
+
+
+
+
+ ClassDeclaration
+
+
+ InterfaceDeclaration
+
+
+ EnumDeclaration
+
+
+ AnnotationTypeDeclaration
+
+
+
+
AnnotationTypeElementRest
@@ -932,68 +635,33 @@ AnnotationTypeElementRest:
AnnotationTypeElementRest
-
-
-
-
-
-
- Type
-
-
- Identifier
-
-
- AnnotationMethodRest
-
-
- ;
-
-
-
-
-
-
- Type
-
-
- AnnotationConstantRest
-
-
- ;
-
-
-
-
-
-
-
-
- Type
-
-
-
-
-
-
- Identifier
-
-
- AnnotationMethodRest
-
-
-
-
- AnnotationConstantRest
-
-
-
-
- ;
-
-
-
-
+
+
+
+ Type
+
+
+
+
+
+
+ Identifier
+
+
+ AnnotationMethodRest
+
+
+
+
+ AnnotationConstantRest
+
+
+
+
+ ;
+
+
+
AnnotationMethodOrConstantRest
diff --git a/topics/convergence/java/exbgf/refactorExpressions.exbgf b/topics/convergence/java/exbgf/refactorExpressions.exbgf
index aaf1fb89..e6a2b246 100644
--- a/topics/convergence/java/exbgf/refactorExpressions.exbgf
+++ b/topics/convergence/java/exbgf/refactorExpressions.exbgf
@@ -155,17 +155,15 @@ vs
Expression3
PostDecrementExpression
PostIncrementExpression
-
+
PostfixExpression
QualifiedIdentifier
-
-
-
+
PostfixExpression
@@ -183,8 +181,8 @@ vs
PostfixExpression
-
+
PostfixExpression
@@ -736,42 +734,22 @@ vs
ConditionalExpression
-
-
-
-
- Expression2
-
-
-
-
- Expression2
-
-
- Expression1Rest
-
-
-
-
-
-
-
-
- Expression2
-
-
-
-
-
-
-
- Expression1Rest
-
-
-
-
-
-
+
+
+
+ Expression2
+
+
+
+
+
+
+
+ Expression1Rest
+
+
+
+
Expression1Rest
diff --git a/topics/convergence/java/exbgf/refactorInterfaces-read2.exbgf b/topics/convergence/java/exbgf/refactorInterfaces-read2.exbgf
index 551eef86..df15d925 100644
--- a/topics/convergence/java/exbgf/refactorInterfaces-read2.exbgf
+++ b/topics/convergence/java/exbgf/refactorInterfaces-read2.exbgf
@@ -118,10 +118,7 @@
vs.
- [], ,([t({), ?(n(InterfaceMemberDeclarations)), t(})])
-->
- InterfaceMemberDeclarations
-
- InterfaceBodyDeclaration
-
+ InterfaceMemberDeclarations
-
-
-
-
- InterfaceBodyDeclaration
-
-
-
- ModifiersOpt
-
-
- Type
-
-
- VariableDeclarators
-
-
-
-
-
-
+
+
+
+ InterfaceBodyDeclaration
+
+
+
+ ModifiersOpt
+
+
+ Type
+
+
+ VariableDeclarators
+
+
+
+
+
+
+
@@ -267,7 +265,7 @@
- SHIELDED-BY-EXBGF
+ SHIELDED-ENTITY
@@ -301,88 +299,27 @@
-
-
- InterfaceBodyDeclaration
-
-
-
-
-
-
-
- ModifiersOpt
-
-
- InterfaceMethodOrFieldDecl
-
-
-
-
-
-
- ModifiersOpt
-
-
- SHIELDED-BY-EXBGF
-
-
-
-
-
-
- ModifiersOpt
-
-
- ClassOrInterfaceDeclaration
-
-
-
-
-
-
-
-
- ModifiersOpt
-
-
-
-
- InterfaceMethodOrFieldDecl
-
-
- SHIELDED-BY-EXBGF
-
-
- ClassOrInterfaceDeclaration
-
-
-
-
-
-
-
-
- InterfaceMemberDecl
+
+
+ InterfaceMemberDecl
+
-
-
- InterfaceMethodOrFieldDecl
-
-
- SHIELDED-BY-EXBGF
-
-
- ClassOrInterfaceDeclaration
-
-
+ ModifiersOpt
-
-
+
+
+
+ InterfaceMethodOrFieldDecl
+
+
+ SHIELDED-ENTITY
+
+
+ ClassOrInterfaceDeclaration
+
+
+
+
diff --git a/topics/convergence/java/exbgf/refactorInterfaces-read3.exbgf b/topics/convergence/java/exbgf/refactorInterfaces-read3.exbgf
index 7e95c6e2..764138b4 100644
--- a/topics/convergence/java/exbgf/refactorInterfaces-read3.exbgf
+++ b/topics/convergence/java/exbgf/refactorInterfaces-read3.exbgf
@@ -150,7 +150,7 @@
-
+
ExtendsInterfaces
@@ -374,113 +374,88 @@
-
-
-
-
-
-
- @
-
-
- QualifiedIdentifier
-
-
- (
-
-
- Identifier
-
-
- =
-
-
- ElementValue
-
-
- )
-
-
-
-
-
-
- @
-
-
- QualifiedIdentifier
-
-
-
-
-
-
- @
-
-
- QualifiedIdentifier
-
-
- (
-
-
- ElementValue
-
-
- )
-
-
-
-
-
-
-
-
- @
-
-
- QualifiedIdentifier
-
-
-
-
-
-
- (
-
-
-
-
-
-
- Identifier
-
-
- =
-
-
-
-
-
-
-
-
-
- ElementValue
-
-
- )
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+ @
+
+
+ QualifiedIdentifier
+
+
+
+
+
+
+ (
+
+
+
+
+ Identifier
+
+
+ =
+
+
+
+
+ ElementValue
+
+
+ )
+
+
+
+
+
+
+ (
+
+
+ ElementValue
+
+
+ )
+
+
+
+
+
+
+
+
+
+
+
+
+ (
+
+
+
+
+
+
+ Identifier
+
+
+ =
+
+
+
+
+
+
+
+
+
+ ElementValue
+
+
+ )
+
+
+
@@ -577,52 +552,29 @@
-
-
-
-
- ElementValue
-
-
-
-
- ElementValue
-
-
- ,
-
-
- ElementValues
-
-
-
-
-
-
-
-
- ElementValue
-
-
-
-
-
-
- ,
-
-
- ElementValues
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+ ElementValue
+
+
+
+
+
+
+ ,
+
+
+ ElementValues
+
+
+
+
+
+
+
+
+
diff --git a/topics/convergence/java/exbgf/refactorMinorMismatches.exbgf b/topics/convergence/java/exbgf/refactorMinorMismatches.exbgf
index 5ec0ae3b..c9d5feef 100644
--- a/topics/convergence/java/exbgf/refactorMinorMismatches.exbgf
+++ b/topics/convergence/java/exbgf/refactorMinorMismatches.exbgf
@@ -7,83 +7,40 @@
- [], ,([t(try), n(Block), ?(n(Catches)), t(finally), n(Block)])
- [], ,([t(try), n(Block), n(Catches)])
-->
-
+
Statement
-
-
-
-
-
- try
-
-
- Block
-
-
-
-
- Catches
-
-
-
-
- finally
-
-
- Block
-
-
-
-
-
-
- try
-
-
- Block
-
-
- Catches
-
-
-
-
-
-
-
-
- try
-
-
- Block
-
-
-
-
-
-
-
-
- Catches
-
-
-
-
- finally
-
-
- Block
-
-
-
-
- Catches
-
-
-
-
-
-
+
+
+ try
+
+
+ Block
+
+
+
+
+
+
+
+
+ Catches
+
+
+
+
+ finally
+
+
+ Block
+
+
+
+
+ Catches
+
+
+
+
-
+
ClassBodyDeclaration
-
-
-
-
-
- ModifiersOpt
-
-
- Identifier
-
-
- ConstructorDeclaratorRest
-
-
-
-
-
-
- ModifiersOpt
-
-
- ClassOrInterfaceDeclaration
-
-
-
-
-
-
- ModifiersOpt
-
-
- void
-
-
- Identifier
-
-
- MethodDeclaratorRest
-
-
-
-
-
-
- ModifiersOpt
-
-
- MethodOrFieldDecl
-
-
-
-
-
-
-
-
- ModifiersOpt
-
-
-
-
-
-
- Identifier
-
-
- ConstructorDeclaratorRest
-
-
-
-
- ClassOrInterfaceDeclaration
-
-
-
-
- void
-
-
- Identifier
-
-
- MethodDeclaratorRest
-
-
-
-
- MethodOrFieldDecl
-
-
-
-
-
-
+
+
+ ModifiersOpt
+
+
+
+
+
+
+ Identifier
+
+
+ ConstructorDeclaratorRest
+
+
+
+
+ ClassOrInterfaceDeclaration
+
+
+
+
+ void
+
+
+ Identifier
+
+
+ MethodDeclaratorRest
+
+
+
+
+ MethodOrFieldDecl
+
+
+
diff --git a/topics/convergence/java/exbgf/refactorStatements-jls1.exbgf b/topics/convergence/java/exbgf/refactorStatements-jls1.exbgf
index 9229118b..c9e1a85c 100644
--- a/topics/convergence/java/exbgf/refactorStatements-jls1.exbgf
+++ b/topics/convergence/java/exbgf/refactorStatements-jls1.exbgf
@@ -121,74 +121,35 @@
Statement
-
-
-
-
-
-
- if
-
-
- ParExpression
-
-
- Statement
-
-
- else
-
-
- Statement
-
-
-
-
-
-
- if
-
-
- ParExpression
-
-
- Statement
-
-
-
-
-
-
-
-
- if
-
-
- ParExpression
-
-
- Statement
-
-
-
-
-
-
-
-
-
- else
-
-
- Statement
-
-
-
-
-
-
-
-
+
+
+
+ if
+
+
+ ParExpression
+
+
+ Statement
+
+
+
+
+
+
+
+
+
+ else
+
+
+ Statement
+
+
+
+
+
+
@@ -405,52 +366,29 @@
VariableDeclarator
-
-
-
-
- VariableDeclaratorId
-
-
-
-
- VariableDeclaratorId
-
-
- =
-
-
- VariableInitializer
-
-
-
-
-
-
-
-
- VariableDeclaratorId
-
-
-
-
-
-
-
-
-
- =
-
-
- VariableInitializer
-
-
-
-
-
-
-
-
+
+
+
+ VariableDeclaratorId
+
+
+
+
+
+
+
+
+
+ =
+
+
+ VariableInitializer
+
+
+
+
+
+
diff --git a/topics/convergence/java/exbgf/refactorStatements-read3.exbgf b/topics/convergence/java/exbgf/refactorStatements-read3.exbgf
index 617d343c..0a20a173 100644
--- a/topics/convergence/java/exbgf/refactorStatements-read3.exbgf
+++ b/topics/convergence/java/exbgf/refactorStatements-read3.exbgf
@@ -10,77 +10,39 @@
vs.
;([,([t(assert), n(Expression), t((;))]),
,([t(assert), n(Expression), t(:), n(Expression), t((;))])]),
--->
+ -->
Statement
-
-
-
-
-
-
- assert
-
-
- Expression
-
-
- ;
-
-
-
-
-
-
- assert
-
-
- Expression
-
-
- :
-
-
- Expression
-
-
- ;
-
-
-
-
-
-
-
-
- assert
-
-
- Expression
-
-
-
-
-
-
- :
-
-
- Expression
-
-
-
-
-
-
-
-
-
- ;
-
-
-
-
+
+
+
+ assert
+
+
+ Expression
+
+
+
+
+
+
+ :
+
+
+ Expression
+
+
+
+
+
+
+
+
+
+ ;
+
+
+
@@ -99,228 +61,82 @@
- [], ;([
,([t(for), t((), ?(n(ForInit)), t((;)), ?(n(Expression)), t((;)), ?(n(ForUpdate)), t()), n(Statement)]),
,([t(for), t((), ?(n(VariableModifiers)), n(Type), n(Identifier), t(:), n(Expression), t()), n(Statement)])])
--->
-
-
-
-
-
-
- for
-
-
- (
-
-
-
-
- ForInit
-
-
-
-
- ;
-
-
-
-
- Expression
-
-
-
-
- ;
-
-
-
-
- ForUpdate
-
-
-
-
- )
-
-
- Statement
-
-
-
-
-
-
- for
-
-
- (
-
-
-
-
- VariableModifiers
-
-
-
-
- Type
-
-
- Identifier
-
-
- :
-
-
- Expression
-
-
- )
-
-
- Statement
-
-
-
-
-
-
-
-
- for
-
-
- (
-
-
-
-
-
-
-
-
- ForInit
-
-
-
-
- ;
-
-
-
-
- Expression
-
-
-
-
- ;
-
-
-
-
- ForUpdate
-
-
-
-
-
-
-
-
-
-
- VariableModifiers
-
-
-
-
- Type
-
-
- Identifier
-
-
- :
-
-
- Expression
-
-
-
-
-
-
- )
-
-
- Statement
-
-
-
-
-
-
- ForControl
+ -->
+
+ ForControl
+
+
+ for
+
-
+ (
+
+
+
+
+
-
-
-
-
- ForInit
-
-
-
-
- ;
-
-
-
-
- Expression
-
-
-
+
- ;
+ ForInit
-
-
-
- ForUpdate
-
-
-
-
+
-
-
-
-
- VariableModifiers
-
-
-
-
- Type
-
+ ;
+
+
+
- Identifier
+ Expression
+
+
+
+ ;
+
+
+
- :
+ ForUpdate
+
+
+
+
+
+
+
+
- Expression
+ VariableModifiers
-
+
+
+
+ Type
+
+
+ Identifier
-
+
+ :
+
+
+ Expression
+
+
+
+
+
+
+ )
-
-
+
+ Statement
+
+
+
-
-
-
-
-
-
- try
-
-
- Block
-
-
- Catches
-
-
-
-
-
-
- try
-
-
- Block
-
-
-
-
- Catches
-
-
-
-
- finally
-
-
- Block
-
-
-
-
-
-
-
-
- try
-
-
- Block
-
-
-
-
- Catches
-
-
-
-
-
-
- Catches
-
-
-
-
- finally
-
-
- Block
-
-
-
-
-
-
-
-
+ -->
+
+
+
+ try
+
+
+ Block
+
+
+
+
+ Catches
+
+
+
+
+
+
+ Catches
+
+
+
+
+ finally
+
+
+ Block
+
+
+
+
+
+
VariableModifiers
-
-
-
- VariableModifier
-
- Annotation
-
-
-
-
+
+
+ VariableModifier
+
+ Annotation
+
+
+
VariableModifier
diff --git a/topics/convergence/java/exbgf/refactorTypes-read3.exbgf b/topics/convergence/java/exbgf/refactorTypes-read3.exbgf
index 3cb23ef3..9c93030a 100644
--- a/topics/convergence/java/exbgf/refactorTypes-read3.exbgf
+++ b/topics/convergence/java/exbgf/refactorTypes-read3.exbgf
@@ -754,18 +754,11 @@
"?" ( ( "extends" | "super" ) Type )?
-->
-
- TypeDeclSpecifier
-
- WildcardBounds
-
-
-
+
TypeDeclSpecifier
-
- TypeArgument
-
-
+ WildcardBounds
+ TypeArgument
+
@@ -953,165 +946,125 @@
WildcardBounds
Wildcard
-
-
-
+
+
+
+
+ extends
+
+
+ super
+
+
+
+
+ Type
+
+
+
+ ActualTypeArgumentList
+
+
+ BracketsOpt
+ Type
+
+
+
+ Type
- extends
+ QualifiedIdentifier
- Type
+
+
+
+
+
+
+ TypeArguments
+
+
+
+
+
+
+
+
+
+
+ [
+
+
+ ]
+
+
+
+
+
+
+
+
+ .
+
+
+ Identifier
+
+
+
+
-
-
-
-
- super
+
+
+ TypeArguments
+
+
- Type
+
+
+
+
+ [
+
+
+ ]
+
+
+
+
-
-
-
+
+
+
+
+
-
-
- extends
-
-
- super
-
-
+ .
- Type
+ Identifier
-
-
- ActualTypeArgumentList
-
-
- BracketsOpt
-
- Type
-
-
-
-
-
- Type
+
+
-
+
- QualifiedIdentifier
+ TypeArguments
-
-
-
-
-
-
-
- TypeArguments
-
-
-
-
-
-
-
-
-
-
- [
-
-
- ]
-
-
-
-
-
-
-
-
- .
-
-
- Identifier
-
-
-
-
-
-
-
-
- TypeArguments
-
-
-
-
-
-
-
-
- [
-
-
- ]
-
-
-
-
-
-
+
-
-
-
- BracketsOpt
-
- Type
-
-
-
-
- dotId
-
-
- .
-
-
- Identifier
-
-
+ SHIELDED-ENTITY
-
-
-
-
-
-
-
- TypeArguments
-
-
-
-
- dotId
-
-
- dotId
+
+
-
-
-
-
-
-
- ModifiersOpt
-
-
-
-
- TypeParameters
-
-
-
-
- Identifier
-
-
- ConstructorDeclaratorRest
-
-
-
-
-
-
- ModifiersOpt
-
-
-
-
- TypeParameters
-
-
-
-
- ResultType
-
-
- Identifier
-
-
- MethodDeclaratorRest
-
-
-
-
-
-
-
-
- ModifiersOpt
-
-
-
-
- TypeParameters
-
-
-
-
-
-
-
-
- Identifier
-
-
- ConstructorDeclaratorRest
-
-
-
-
-
-
- ResultType
-
-
- Identifier
-
-
- MethodDeclaratorRest
-
-
-
-
-
-
-
-
+
+
+
+ ModifiersOpt
+
+
+
+
+ TypeParameters
+
+
+
+
+
+
+
+
+ Identifier
+
+
+ ConstructorDeclaratorRest
+
+
+
+
+
+
+ ResultType
+
+
+ Identifier
+
+
+ MethodDeclaratorRest
+
+
+
+
+
+
GenericMethodOrConstructorRest
@@ -220,30 +170,7 @@
-
-
-
- ClassBodyDeclaration
-
-
-
- ModifiersOpt
-
-
- void
-
-
- Identifier
-
-
- VoidMethodDeclaratorRest
-
-
-
-
-
-
-
+
VoidMethodDeclaratorRest
@@ -278,22 +205,40 @@
-
-
-
+
+
- ClassBodyDeclaration
+ MethodOrFieldRest
+
+ VariableDeclaratorRest
+
+
+
+ MethodOrFieldRest
+
+ MethodDeclaratorRest
+
+
+
+
+
+ MethodOrFieldDecl
- ModifiersOpt
+ Type
- MethodOrFieldDecl
+ Identifier
+
+
+ MethodOrFieldRest
+
+
ClassBodyDeclaration
@@ -302,50 +247,50 @@
ModifiersOpt
+
+ void
+
Identifier
- ConstructorDeclaratorRest
+ VoidMethodDeclaratorRest
-
-
-
+
- MethodOrFieldDecl
+ ClassBodyDeclaration
- Type
-
-
- Identifier
+ ModifiersOpt
- MethodOrFieldRest
+ MethodOrFieldDecl
-
-
-
-
- MethodOrFieldRest
-
- VariableDeclaratorRest
-
-
+
- MethodOrFieldRest
+ ClassBodyDeclaration
- MethodDeclaratorRest
+
+
+ ModifiersOpt
+
+
+ Identifier
+
+
+ ConstructorDeclaratorRest
+
+
-
+
ClassBodyDeclaration
-
-
-
-
-
-
- ModifiersOpt
-
-
- Identifier
-
-
- ConstructorDeclaratorRest
-
-
-
-
-
-
- ModifiersOpt
-
-
- MethodOrFieldDecl
-
-
-
-
-
-
- ModifiersOpt
-
-
- void
-
-
- Identifier
-
-
- VoidMethodDeclaratorRest
-
-
-
-
-
-
- ModifiersOpt
-
-
- InterfaceDeclaration
-
-
-
-
-
-
- ModifiersOpt
-
-
- ClassDeclaration
-
-
-
-
-
-
- ModifiersOpt
-
-
- GenericMethodOrConstructorDecl
-
-
-
-
-
-
-
-
- ModifiersOpt
-
-
-
-
-
-
- Identifier
-
-
- ConstructorDeclaratorRest
-
-
-
-
- MethodOrFieldDecl
-
-
-
-
- void
-
-
- Identifier
-
-
- VoidMethodDeclaratorRest
-
-
-
-
- InterfaceDeclaration
-
-
- ClassDeclaration
-
-
- GenericMethodOrConstructorDecl
-
-
-
-
-
-
+
+
+
+ ModifiersOpt
+
+
+
+
+
+
+ Identifier
+
+
+ ConstructorDeclaratorRest
+
+
+
+
+ MethodOrFieldDecl
+
+
+
+
+ void
+
+
+ Identifier
+
+
+ VoidMethodDeclaratorRest
+
+
+
+
+ InterfaceDeclaration
+
+
+ ClassDeclaration
+
+
+ GenericMethodOrConstructorDecl
+
+
+
+
MemberDecl
diff --git a/topics/convergence/java/exbgf/relaxExpressions-read3.exbgf b/topics/convergence/java/exbgf/relaxExpressions-read3.exbgf
index 2207daaa..c90a6fc6 100644
--- a/topics/convergence/java/exbgf/relaxExpressions-read3.exbgf
+++ b/topics/convergence/java/exbgf/relaxExpressions-read3.exbgf
@@ -176,396 +176,78 @@
Expression3
-
-
-
-
-
-
- Expression3
-
-
- &
-
-
- Expression3
-
-
-
-
-
-
- Expression3
-
-
- &&
-
-
- Expression3
-
-
-
-
-
-
- Expression3
-
-
- ||
-
-
- Expression3
-
-
-
-
-
-
- Expression3
-
-
- |
-
-
- Expression3
-
-
-
-
-
-
- Expression3
-
-
- ^
-
-
- Expression3
-
-
-
-
-
-
- Expression3
-
-
- ==
-
-
- Expression3
-
-
-
-
-
-
- Expression3
-
-
- !=
-
-
- Expression3
-
-
-
-
-
-
- Expression3
-
-
- <
-
-
- Expression3
-
-
-
-
-
-
- Expression3
-
-
- >
-
-
- Expression3
-
-
-
-
-
-
- Expression3
-
-
- <=
-
-
- Expression3
-
-
-
-
-
-
- Expression3
-
-
- >=
-
-
- Expression3
-
-
-
-
-
-
- Expression3
-
-
- <<
-
-
- Expression3
-
-
-
-
-
-
- Expression3
-
-
- >>
-
-
- Expression3
-
-
-
-
-
-
- Expression3
-
-
- >>>
-
-
- Expression3
-
-
-
-
-
-
- Expression3
-
-
- +
-
-
- Expression3
-
-
-
-
-
-
- Expression3
-
-
- -
-
-
- Expression3
-
-
-
-
-
-
- Expression3
-
-
- *
-
-
- Expression3
-
-
-
-
-
-
- Expression3
-
-
- /
-
-
- Expression3
-
-
-
-
-
-
- Expression3
-
-
- %
-
-
- Expression3
-
-
-
-
-
-
-
-
- Expression3
-
-
-
-
- &
-
-
- &&
-
-
- ||
-
-
- |
-
-
- ^
-
-
- ==
-
-
- !=
-
-
- <
-
-
- >
-
-
- <=
-
-
- >=
-
-
- <<
-
-
- >>
-
-
- >>>
-
-
- +
-
-
- -
-
-
- *
-
-
- /
-
-
- %
-
-
-
-
- Expression3
-
-
-
-
-
-
- InfixOp
+
+ InfixOp
+
-
-
- &
-
-
- &&
-
-
- ||
-
-
- |
-
-
- ^
-
-
- ==
-
-
- !=
-
-
- <
-
-
- >
-
-
- <=
-
-
- >=
-
-
- <<
-
-
- >>
-
-
- >>>
-
-
- +
-
-
- -
-
-
- *
-
-
- /
-
-
- %
-
-
+ Expression3
-
-
+
+
+
+ &
+
+
+ &&
+
+
+ ||
+
+
+ |
+
+
+ ^
+
+
+ ==
+
+
+ !=
+
+
+ <
+
+
+ >
+
+
+ <=
+
+
+ >=
+
+
+ <<
+
+
+ >>
+
+
+ >>>
+
+
+ +
+
+
+ -
+
+
+ *
+
+
+ /
+
+
+ %
+
+
+
+
+ Expression3
+
+
+
@@ -580,150 +262,57 @@
Expression2
-
-
-
-
-
-
- Expression3
-
-
- instanceof
-
-
- Type
-
-
-
-
-
-
- Expression3
-
-
-
-
-
-
- InfixOp
-
-
- Expression3
-
-
-
-
-
-
-
-
-
-
-
-
- Expression3
-
-
-
-
-
-
- instanceof
-
-
- Type
-
-
-
-
-
-
-
-
- InfixOp
-
-
- Expression3
-
-
-
-
-
-
-
-
-
-
-
-
- Expression2Rest
+
+ Expression2Rest
+
+
+ Expression3
+
+
+
+
+
+
+ instanceof
+
+
+ Type
+
+
+
-
+
- instanceof
+ InfixOp
- Type
+ Expression3
-
-
-
-
-
- InfixOp
-
-
- Expression3
-
-
-
-
-
-
+
-
-
-
-
-
-
- Expression3
-
-
-
-
- Expression3
-
-
- Expression2Rest
-
-
-
-
-
-
-
-
- Expression3
-
-
-
-
-
-
-
- Expression2Rest
-
-
-
-
-
-
+
+
+
+
+
+
+ Expression3
+
+
+
+
+
+
+
+ Expression2Rest
+
+
+
+
Expression2Rest
@@ -736,80 +325,6 @@
Expression1
-
-
-
-
- Expression2
-
-
-
-
- Expression2
-
-
- ?
-
-
- Expression
-
-
- :
-
-
- Expression1
-
-
-
-
-
-
-
-
- Expression2
-
-
-
-
-
-
-
-
-
- ?
-
-
- Expression
-
-
- :
-
-
- Expression1
-
-
-
-
-
-
-
-
-
-
-
- ?
-
-
- Expression
-
-
- :
-
-
- Expression1
-
-
-
Expression1Rest
@@ -831,137 +346,58 @@
+
+
+
+ Expression2
+
+
+
+
+
+
+
+ Expression1Rest
+
+
+
+
+
+ Expression1Rest
+
PreIncrementExpression
PreDecrementExpression
UnaryExpressionNotPlusMinus
-
-
-
-
-
-
-
- ++
-
-
- Expression3
-
-
-
-
-
-
- --
-
-
- Expression3
-
-
-
-
-
-
- +
-
-
- Expression3
-
-
-
-
-
-
- -
-
-
- Expression3
-
-
-
-
-
-
- ~
-
-
- Expression3
-
-
-
-
-
-
- !
-
-
- Expression3
-
-
-
-
-
-
-
-
-
-
- ++
-
-
- --
-
-
- +
-
-
- -
-
-
- ~
-
-
- !
-
-
-
-
- Expression3
-
-
-
-
-
-
- PrefixOp
+
+ PrefixOp
+
+
-
-
- ++
-
-
- --
-
-
- +
-
-
- -
-
-
- ~
-
-
- !
-
-
+ ++
-
-
+
+ --
+
+
+ +
+
+
+ -
+
+
+ ~
+
+
+ !
+
+
+
+
+ Expression3
+
+
+
@@ -1504,64 +896,33 @@
LeftHandSide
-
-
-
-
- Expression1
-
-
-
-
-
-
-
-
- Expression1
-
-
- AssignmentOperator
-
-
-
-
-
-
- Expression1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Expression1
-
-
- AssignmentOperator
-
-
-
-
-
-
-
-
-
-
-
- Expression1
-
-
-
-
+
+
+
+
+
+
+
+
+ Expression1
+
+
+ AssignmentOperator
+
+
+
+
+
+
+
+
+
+
+
+ Expression1
+
+
+
diff --git a/topics/convergence/java/java.lcf b/topics/convergence/java/java.lcf
index 1905cc16..c7862828 100644
--- a/topics/convergence/java/java.lcf
+++ b/topics/convergence/java/java.lcf
@@ -172,16 +172,13 @@
deyaccify-read3
-
inlineStatements
refactorStatements-read3
refactorClasses-read3
refactorEnums
-
relaxClasses-read3
-
refactorTypes-read3
generalizeStatements
refactorInterfaces-read3