diff --git a/shared/prolog/readXbgf.pro b/shared/prolog/readXbgf.pro index ad1378ac..4762bc1f 100644 --- a/shared/prolog/readXbgf.pro +++ b/shared/prolog/readXbgf.pro @@ -347,10 +347,11 @@ xml2xbgf(T,unchain(P2)) child(name(bgf:production),T,P1), xmlToP(P1,P2). -xml2xbgf(T,undefine(N)) +xml2xbgf(T,undefine(Ns2)) :- self(name(xbgf:undefine),T), - content(T,N). + children(name(nonterminal),T,Ns1), + maplist(content,Ns1,Ns2). xml2xbgf(T,redefine(Ps2)) :- diff --git a/shared/prolog/xbgf1.pro b/shared/prolog/xbgf1.pro index 776b5dc0..b7fd9851 100644 --- a/shared/prolog/xbgf1.pro +++ b/shared/prolog/xbgf1.pro @@ -109,7 +109,7 @@ ps2n(Ps1,N) redefine(Ps1,G1,G2) :- ps2n(Ps1,N), - undefine(N,G1,G3), + undefine1(N,G1,G3), define(Ps1,G3,G2). @@ -1379,8 +1379,13 @@ unchain(P1,g(Rs,Ps1),g(Rs,Ps4)) % % Undefine a nonterminal, i.e., remove all productions % +undefine([],g(Rs1,Ps1),g(Rs1,Ps1)). +undefine([N|Ns],g(Rs1,Ps1),g(Rs3,Ps3)) + :- + undefine1(N,g(Rs1,Ps1),g(Rs2,Ps2)), + undefine(Ns,g(Rs2,Ps2),g(Rs3,Ps3)). -undefine(N,g(Rs1,Ps1),g(Rs2,Ps2)) +undefine1(N,g(Rs1,Ps1),g(Rs2,Ps2)) :- definedNs(Ps1,Defined), require( diff --git a/shared/xsd/slps-xsd.csproj b/shared/xsd/slps-xsd.csproj index 67d8f74e..702d1c44 100644 --- a/shared/xsd/slps-xsd.csproj +++ b/shared/xsd/slps-xsd.csproj @@ -10,7 +10,7 @@ Properties slps_xsd slps-xsd - v3.5 + v4.0 512 @@ -32,6 +32,7 @@ false false true + true @@ -59,6 +60,7 @@ --> + diff --git a/shared/xsd/xbgf.xsd b/shared/xsd/xbgf.xsd index 0c30d1fe..cd2205b1 100644 --- a/shared/xsd/xbgf.xsd +++ b/shared/xsd/xbgf.xsd @@ -1084,11 +1084,10 @@ - - - - - + + + + diff --git a/shared/xsl/slps-xsl.csproj b/shared/xsl/slps-xsl.csproj index b2bcb916..3560dcc3 100644 --- a/shared/xsl/slps-xsl.csproj +++ b/shared/xsl/slps-xsl.csproj @@ -10,7 +10,7 @@ Properties slps_xsl slps-xsl - v3.5 + v4.0 512 @@ -32,6 +32,7 @@ false false true + true @@ -97,4 +98,7 @@ true + + + \ No newline at end of file diff --git a/shared/xsl/xbgf2xbnf.xslt b/shared/xsl/xbgf2xbnf.xslt index a391af6c..117ba9c8 100644 --- a/shared/xsl/xbgf2xbnf.xslt +++ b/shared/xsl/xbgf2xbnf.xslt @@ -5,7 +5,7 @@ xmlns:xhtml="http://www.w3.org/1999/xhtml"> - + - + @@ -91,7 +91,19 @@ - + + + ( + + + , + + + ); + + + + ( @@ -198,7 +210,7 @@ ); - + ( @@ -258,4 +270,4 @@ - + \ No newline at end of file diff --git a/topics/java/lci/java-lci.csproj b/topics/java/lci/java-lci.csproj index f507eb48..e8581478 100644 --- a/topics/java/lci/java-lci.csproj +++ b/topics/java/lci/java-lci.csproj @@ -1,5 +1,5 @@  - + Debug AnyCPU @@ -10,8 +10,29 @@ Properties java_lci java-lci - v3.5 + v4.0 512 + + + + + 3.5 + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + false + true + true @@ -54,6 +75,7 @@ xbgf.xsd + @@ -126,4 +148,26 @@ + + + False + .NET Framework 3.5 SP1 Client Profile + false + + + False + .NET Framework 3.5 SP1 + true + + + False + Microsoft Visual Basic PowerPacks 10.0 + true + + + False + Windows Installer 3.1 + true + + \ No newline at end of file diff --git a/topics/java/lci/java-lci.sln b/topics/java/lci/java-lci.sln index 4480a20f..3b4c288d 100644 --- a/topics/java/lci/java-lci.sln +++ b/topics/java/lci/java-lci.sln @@ -1,6 +1,5 @@ - -Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual C# Express 2008 +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "java-lci", "java-lci.csproj", "{9DF685A6-6572-47F9-8DE3-1E827BFDB62F}" EndProject Global diff --git a/topics/java/lci/xbgf/correct-impl2.xbgf b/topics/java/lci/xbgf/correct-impl2.xbgf index 8eda2e23..53dafd05 100644 --- a/topics/java/lci/xbgf/correct-impl2.xbgf +++ b/topics/java/lci/xbgf/correct-impl2.xbgf @@ -214,7 +214,9 @@ - Identifier + + Identifier + - Identifier + + Identifier + - ConstructorBody + + ConstructorBody + ConstructorBody diff --git a/topics/java/lci/xbgf/inlineStatements.xbgf b/topics/java/lci/xbgf/inlineStatements.xbgf index b8239e3a..3850a6b3 100644 --- a/topics/java/lci/xbgf/inlineStatements.xbgf +++ b/topics/java/lci/xbgf/inlineStatements.xbgf @@ -136,7 +136,9 @@ IfThenStatement - StatementNoShortIf + + StatementNoShortIf + WhileStatementNoShortIf IfThenElseStatementNoShortIf ForStatementNoShortIf diff --git a/topics/java/lci/xbgf/refactorExpressions.xbgf b/topics/java/lci/xbgf/refactorExpressions.xbgf index 3e596338..05da9861 100644 --- a/topics/java/lci/xbgf/refactorExpressions.xbgf +++ b/topics/java/lci/xbgf/refactorExpressions.xbgf @@ -725,21 +725,16 @@ vs - MultiplicativeExpression - - AdditiveExpression - - ShiftExpression - - RelationalExpression - - EqualityExpression - - AndExpression - - ExclusiveOrExpression - - InclusiveOrExpression + + MultiplicativeExpression + AdditiveExpression + ShiftExpression + RelationalExpression + EqualityExpression + AndExpression + ExclusiveOrExpression + InclusiveOrExpression + ConditionalAndExpression @@ -823,9 +818,10 @@ vs - LeftHandSide - - Assignment + + LeftHandSide + Assignment + diff --git a/topics/java/lci/xbgf/refactorInterfaces-read3.xbgf b/topics/java/lci/xbgf/refactorInterfaces-read3.xbgf index ae6d9e2d..3ba8b913 100644 --- a/topics/java/lci/xbgf/refactorInterfaces-read3.xbgf +++ b/topics/java/lci/xbgf/refactorInterfaces-read3.xbgf @@ -646,7 +646,9 @@ ExceptionTypeList vs QualifiedIdentifierList --> - ExceptionTypeList + + ExceptionTypeList + ExceptionTypeList diff --git a/topics/java/lci/xbgf/refactorStatements-jls1.xbgf b/topics/java/lci/xbgf/refactorStatements-jls1.xbgf index ef9f640a..a6d38e14 100644 --- a/topics/java/lci/xbgf/refactorStatements-jls1.xbgf +++ b/topics/java/lci/xbgf/refactorStatements-jls1.xbgf @@ -274,7 +274,9 @@ - StatementNoShortIf + + StatementNoShortIf + ForStatementNoShortIf WhileStatementNoShortIf LabeledStatementNoShortIf diff --git a/topics/languedoc/xbgf/xldf/completeRevSections.xldf b/topics/languedoc/xbgf/xldf/completeRevSections.xldf index a2dcc6ea..bc05c446 100644 --- a/topics/languedoc/xbgf/xldf/completeRevSections.xldf +++ b/topics/languedoc/xbgf/xldf/completeRevSections.xldf @@ -37,6 +37,68 @@ + + undefine + + + undefine + + + + + + + + nonterminal + + nonterminal + + + + + + + + + tag + + string + + + + + + + + + + undefine + + + + + + nonterminal + + + + + + + + tag + + string + + + + + + + + + + inject diff --git a/topics/transformation/xbgf/tests/undefine.baseline b/topics/transformation/xbgf/tests/undefine1.baseline similarity index 100% rename from topics/transformation/xbgf/tests/undefine.baseline rename to topics/transformation/xbgf/tests/undefine1.baseline diff --git a/topics/transformation/xbgf/tests/undefine.bgf b/topics/transformation/xbgf/tests/undefine1.bgf similarity index 100% rename from topics/transformation/xbgf/tests/undefine.bgf rename to topics/transformation/xbgf/tests/undefine1.bgf diff --git a/topics/transformation/xbgf/tests/undefine.xbgf b/topics/transformation/xbgf/tests/undefine1.xbgf similarity index 61% rename from topics/transformation/xbgf/tests/undefine.xbgf rename to topics/transformation/xbgf/tests/undefine1.xbgf index bb760744..d4ccedca 100644 --- a/topics/transformation/xbgf/tests/undefine.xbgf +++ b/topics/transformation/xbgf/tests/undefine1.xbgf @@ -1,5 +1,7 @@ - op + + op + diff --git a/topics/transformation/xbgf/tests/undefine2.baseline b/topics/transformation/xbgf/tests/undefine2.baseline new file mode 100644 index 00000000..c2fa8955 --- /dev/null +++ b/topics/transformation/xbgf/tests/undefine2.baseline @@ -0,0 +1,16 @@ + + + + + foo + + bar + + + + wez + + qux + + + \ No newline at end of file diff --git a/topics/transformation/xbgf/tests/undefine2.bgf b/topics/transformation/xbgf/tests/undefine2.bgf new file mode 100644 index 00000000..3f25216e --- /dev/null +++ b/topics/transformation/xbgf/tests/undefine2.bgf @@ -0,0 +1,28 @@ + + + + + foo + + bar + + + + bar + + wez + + + + wez + + qux + + + + qux + + foo + + + \ No newline at end of file diff --git a/topics/transformation/xbgf/tests/undefine2.xbgf b/topics/transformation/xbgf/tests/undefine2.xbgf new file mode 100644 index 00000000..38e50532 --- /dev/null +++ b/topics/transformation/xbgf/tests/undefine2.xbgf @@ -0,0 +1,8 @@ + + + bar + qux + +