Skip to content

Commit

Permalink
a NON-working version to support the bug report
Browse files Browse the repository at this point in the history
git-svn-id: https://slps.svn.sourceforge.net/svnroot/slps@255 ab42f6e0-554d-0410-b580-99e487e6eeb2
  • Loading branch information
grammarware committed Sep 11, 2008
1 parent 087be94 commit 41e1883
Show file tree
Hide file tree
Showing 7 changed files with 255 additions and 20 deletions.
2 changes: 1 addition & 1 deletion topics/java/lci/Makefile
Expand Up @@ -3,7 +3,7 @@ validator = ../../../shared/tools/checkxml
build:

diff: test
gdt bgf/jls1.prepare1.structure1.bgf bgf/jls2.prepare2.bgf
gdt bgf/jls1.prepare1.refactorStatements.structure1.bgf bgf/jls2.prepare2.bgf

test:
python ../../convergence/lci/lci.py java.lcf architecture
Expand Down
1 change: 1 addition & 0 deletions topics/java/lci/java.lcf
Expand Up @@ -87,6 +87,7 @@
<branch>
<input>jls1</input>
<perform>prepare1</perform>
<perform>refactorStatements</perform>
<perform>structure1</perform>
</branch>
<branch>
Expand Down
3 changes: 3 additions & 0 deletions topics/java/lci/xbgf/prepare1.xbgf
@@ -1,6 +1,9 @@
<xbgf:sequence
xmlns:bgf="http://planet-sl.org/bgf"
xmlns:xbgf="http://planet-sl.org/xbgf">
<xbgf:reroot>
<root>CompilationUnit</root>
</xbgf:reroot>
<xbgf:vertical>
<nonterminal>Type</nonterminal>
</xbgf:vertical>
Expand Down
30 changes: 30 additions & 0 deletions topics/java/lci/xbgf/prepare2.xbgf
@@ -1,6 +1,9 @@
<xbgf:sequence
xmlns:bgf="http://planet-sl.org/bgf"
xmlns:xbgf="http://planet-sl.org/xbgf">
<xbgf:reroot>
<root>CompilationUnit</root>
</xbgf:reroot>
<xbgf:vertical>
<nonterminal>Type</nonterminal>
</xbgf:vertical>
Expand Down Expand Up @@ -29,4 +32,31 @@
<xbgf:vertical>
<nonterminal>InterfaceMemberDecl</nonterminal>
</xbgf:vertical>

<xbgf:define>
<bgf:production>
<nonterminal>ForInitOpt</nonterminal>
<bgf:expression>
<optional>
<bgf:expression>
<nonterminal>ForInit</nonterminal>
</bgf:expression>
</optional>
</bgf:expression>
</bgf:production>
</xbgf:define>
<xbgf:inline>ForInitOpt</xbgf:inline>
<xbgf:define>
<bgf:production>
<nonterminal>ForUpdateOpt</nonterminal>
<bgf:expression>
<optional>
<bgf:expression>
<nonterminal>ForUpdate</nonterminal>
</bgf:expression>
</optional>
</bgf:expression>
</bgf:production>
</xbgf:define>
<xbgf:inline>ForUpdateOpt</xbgf:inline>
</xbgf:sequence>
4 changes: 4 additions & 0 deletions topics/java/lci/xbgf/prepare3.xbgf
@@ -1,6 +1,10 @@
<xbgf:sequence
xmlns:bgf="http://planet-sl.org/bgf"
xmlns:xbgf="http://planet-sl.org/xbgf">
<xbgf:reroot>
<root>CompilationUnit</root>
</xbgf:reroot>

<xbgf:vertical>
<nonterminal>Type</nonterminal>
</xbgf:vertical>
Expand Down
164 changes: 164 additions & 0 deletions topics/java/lci/xbgf/refactorStatements.xbgf
@@ -0,0 +1,164 @@
<xbgf:sequence
xmlns:bgf="http://planet-sl.org/bgf"
xmlns:xbgf="http://planet-sl.org/xbgf">

<xbgf:extract>
<bgf:production>
<nonterminal>WhileStatement</nonterminal>
<bgf:expression>
<sequence>
<bgf:expression>
<terminal>while</terminal>
</bgf:expression>
<bgf:expression>
<nonterminal>ParExpression</nonterminal>
</bgf:expression>
<bgf:expression>
<nonterminal>Statement</nonterminal>
</bgf:expression>
</sequence>
</bgf:expression>
</bgf:production>
</xbgf:extract>

<xbgf:undefine>IfThenElseStatement</xbgf:undefine>
<xbgf:define>
<bgf:production>
<nonterminal>IfThenElseStatement</nonterminal>
<bgf:expression>
<sequence>
<bgf:expression>
<terminal>if</terminal>
</bgf:expression>
<bgf:expression>
<nonterminal>ParExpression</nonterminal>
</bgf:expression>
<bgf:expression>
<nonterminal>Statement</nonterminal>
</bgf:expression>
<bgf:expression>
<optional>
<bgf:expression>
<sequence>
<bgf:expression>
<terminal>else</terminal>
</bgf:expression>
<bgf:expression>
<nonterminal>Statement</nonterminal>
</bgf:expression>
</sequence>
</bgf:expression>
</optional>
</bgf:expression>
</sequence>
</bgf:expression>
</bgf:production>
</xbgf:define>
<xbgf:prune>IfThenStatement</xbgf:prune>
<xbgf:inline>IfThenElseStatement</xbgf:inline>

<xbgf:inline>ForStatement</xbgf:inline>
<xbgf:inline>WhileStatement</xbgf:inline>
<xbgf:inline>LabeledStatement</xbgf:inline>
<xbgf:vertical>
<nonterminal>StatementWithoutTrailingSubstatement</nonterminal>
</xbgf:vertical>
<xbgf:unite>
<add>StatementWithoutTrailingSubstatement</add>
<to>Statement</to>
</xbgf:unite>
<xbgf:vertical>
<nonterminal>TryStatement</nonterminal>
</xbgf:vertical>
<xbgf:unite>
<add>TryStatement</add>
<to>Statement</to>
</xbgf:unite>
<xbgf:inline>Finally</xbgf:inline>
<xbgf:fold>
<bgf:production>
<nonterminal>DoStatement</nonterminal>
<bgf:expression>
<sequence>
<bgf:expression>
<terminal>do</terminal>
</bgf:expression>
<bgf:expression>
<nonterminal>Statement</nonterminal>
</bgf:expression>
<bgf:expression>
<terminal>while</terminal>
</bgf:expression>
<bgf:expression>
<nonterminal>ParExpression</nonterminal>
</bgf:expression>
<bgf:expression>
<terminal>;</terminal>
</bgf:expression>
</sequence>
</bgf:expression>
</bgf:production>
</xbgf:fold>
<xbgf:project>
<bgf:production>
<nonterminal>ContinueStatement</nonterminal>
<bgf:expression>
<sequence>
<bgf:expression>
<terminal>continue</terminal>
</bgf:expression>
<bgf:expression>
<optional>
<bgf:expression>
<nonterminal>Identifier</nonterminal>
</bgf:expression>
</optional>
</bgf:expression>
</sequence>
</bgf:expression>
</bgf:production>
</xbgf:project>
<xbgf:project>
<bgf:production>
<nonterminal>BreakStatement</nonterminal>
<bgf:expression>
<sequence>
<bgf:expression>
<terminal>break</terminal>
</bgf:expression>
<bgf:expression>
<optional>
<bgf:expression>
<nonterminal>Identifier</nonterminal>
</bgf:expression>
</optional>
</bgf:expression>
</sequence>
</bgf:expression>
</bgf:production>
</xbgf:project>
<xbgf:inline>ThrowStatement</xbgf:inline>
<xbgf:inline>SynchronizedStatement</xbgf:inline>
<xbgf:inline>ReturnStatement</xbgf:inline>
<xbgf:inline>ContinueStatement</xbgf:inline>
<xbgf:inline>BreakStatement</xbgf:inline>
<xbgf:inline>DoStatement</xbgf:inline>
<xbgf:inline>SwitchStatement</xbgf:inline>
<xbgf:inline>EmptyStatement</xbgf:inline>
<xbgf:inline>SwitchBlock</xbgf:inline>


<!--xbgf:restrict>

</xbgf:restrict-->
<xbgf:undefine>StatementExpression</xbgf:undefine>
<xbgf:define>
<bgf:production>
<nonterminal>StatementExpression</nonterminal>
<bgf:expression>
<nonterminal>Expression</nonterminal>
</bgf:expression>
</bgf:production>
</xbgf:define>

</xbgf:sequence>
71 changes: 52 additions & 19 deletions topics/java/lci/xbgf/structure1.xbgf
@@ -1,25 +1,6 @@
<xbgf:sequence
xmlns:bgf="http://planet-sl.org/bgf"
xmlns:xbgf="http://planet-sl.org/xbgf">
<xbgf:inline>ForStatement</xbgf:inline>
<xbgf:inline>WhileStatement</xbgf:inline>
<xbgf:inline>IfThenStatement</xbgf:inline>
<xbgf:inline>LabeledStatement</xbgf:inline>
<xbgf:inline>IfThenElseStatement</xbgf:inline>
<xbgf:inline>StatementWithoutTrailingSubstatement</xbgf:inline>

<!--xbgf:restrict>

</xbgf:restrict-->
<xbgf:undefine>StatementExpression</xbgf:undefine>
<xbgf:define>
<bgf:production>
<nonterminal>StatementExpression</nonterminal>
<bgf:expression>
<nonterminal>Expression</nonterminal>
</bgf:expression>
</bgf:production>
</xbgf:define>

<xbgf:project>
<bgf:production>
Expand Down Expand Up @@ -56,5 +37,57 @@
<xbgf:inline>Super</xbgf:inline>
<xbgf:inline>Interfaces</xbgf:inline>

<xbgf:undefine>ExtendsInterfaces</xbgf:undefine>
<xbgf:define>
<bgf:production>
<nonterminal>ExtendsInterfaces</nonterminal>
<bgf:expression>
<sequence>
<bgf:expression>
<terminal>extends</terminal>
</bgf:expression>
<bgf:expression>
<nonterminal>TypeList</nonterminal>
</bgf:expression>
</sequence>
</bgf:expression>
</bgf:production>
</xbgf:define>
<xbgf:inline>ExtendsInterfaces</xbgf:inline>
<xbgf:project>
<bgf:production>
<nonterminal>InterfaceDeclaration</nonterminal>
<bgf:expression>
<sequence>
<bgf:expression>
<terminal>interface</terminal>
</bgf:expression>
<bgf:expression>
<nonterminal>Identifier</nonterminal>
</bgf:expression>
<bgf:expression>
<optional>
<bgf:expression>
<sequence>
<bgf:expression>
<terminal>extends</terminal>
</bgf:expression>
<bgf:expression>
<nonterminal>TypeList</nonterminal>
</bgf:expression>
</sequence>
</bgf:expression>
</optional>
</bgf:expression>
<bgf:expression>
<nonterminal>InterfaceBody</nonterminal>
</bgf:expression>
</sequence>
</bgf:expression>
</bgf:production>
</xbgf:project>


<xbgf:inline>PackageDeclaration</xbgf:inline>

</xbgf:sequence>

0 comments on commit 41e1883

Please sign in to comment.