Skip to content

Commit

Permalink
JLS case study workout: slicing, atomicity, automated analysis
Browse files Browse the repository at this point in the history
git-svn-id: https://slps.svn.sourceforge.net/svnroot/slps@606 ab42f6e0-554d-0410-b580-99e487e6eeb2
  • Loading branch information
grammarware committed Apr 23, 2009
1 parent 6db3305 commit f414416
Show file tree
Hide file tree
Showing 14 changed files with 1,590 additions and 1,515 deletions.
28 changes: 28 additions & 0 deletions topics/java/lci-sliced/Makefile
@@ -0,0 +1,28 @@
validator = ../../../shared/tools/checkxml

build:
time make slice
time make test
time make csv

slice:
../../../shared/python/sliceXbgf.py ../lci/java.lcf .

test:
../../../shared/tools/lci java.lcf architecture

csv:
../../../shared/python/lcf2csv.py java.lcf csv

check:
${validator} lcf java.lcf
ls -1 xbgf/*.xbgf | xargs -n1 ${validator} xbgf
ls -1 bgf/*.bgf | xargs -n1 ${validator} bgf

clean:
rm -f *~
rm -f bgf/* xbgf/* *.txt
rm -rf bin obj
rm -f *.user *.suo
rm -f architecture*
rm -f java.log
2 changes: 1 addition & 1 deletion topics/java/lci/Makefile
Expand Up @@ -3,7 +3,7 @@ validator = ../../../shared/tools/checkxml
build:

test:
../../../shared/tools/lci java.lcf architecture
../../../shared/tools/lci java3.lcf architecture

check:
${validator} lcf java.lcf
Expand Down
318 changes: 160 additions & 158 deletions topics/java/lci/xbgf/edit-doc2.xbgf
Expand Up @@ -1309,192 +1309,194 @@
ArrayInitializer is defined as: (syntax)
"{" [ VariableInitializers [ "," ] ] "}"
-->
<xbgf:extract>
<bgf:production>
<nonterminal>TMP</nonterminal>
<xbgf:atomic>
<xbgf:extract>
<bgf:production>
<nonterminal>TMP</nonterminal>
<bgf:expression>
<sequence>
<bgf:expression>
<nonterminal>VariableInitializer</nonterminal>
</bgf:expression>
<bgf:expression>
<star>
<bgf:expression>
<sequence>
<bgf:expression>
<terminal>,</terminal>
</bgf:expression>
<bgf:expression>
<nonterminal>VariableInitializer</nonterminal>
</bgf:expression>
</sequence>
</bgf:expression>
</star>
</bgf:expression>
</sequence>
</bgf:expression>
</bgf:production>
</xbgf:extract>
<xbgf:massage>
<bgf:expression>
<optional>
<bgf:expression>
<nonterminal>TMP</nonterminal>
</bgf:expression>
</optional>
</bgf:expression>
<bgf:expression>
<choice>
<bgf:expression>
<nonterminal>TMP</nonterminal>
</bgf:expression>
<bgf:expression>
<epsilon/>
</bgf:expression>
</choice>
</bgf:expression>
</xbgf:massage>
<xbgf:distribute>
<nonterminal>ArrayInitializer</nonterminal>
</xbgf:distribute>
<xbgf:vertical>
<nonterminal>ArrayInitializer</nonterminal>
</xbgf:vertical>
<xbgf:disappear>
<bgf:production>
<nonterminal>ArrayInitializer</nonterminal>
<bgf:expression>
<sequence>
<bgf:expression>
<terminal>{</terminal>
</bgf:expression>
<bgf:expression>
<marked>
<bgf:expression>
<optional>
<bgf:expression>
<terminal>,</terminal>
</bgf:expression>
</optional>
</bgf:expression>
</marked>
</bgf:expression>
<bgf:expression>
<terminal>}</terminal>
</bgf:expression>
</sequence>
</bgf:expression>
</bgf:production>
</xbgf:disappear>
<xbgf:horizontal>ArrayInitializer</xbgf:horizontal>
<xbgf:factor>
<bgf:expression>
<choice>
<bgf:expression>
<sequence>
<bgf:expression>
<terminal>{</terminal>
</bgf:expression>
<bgf:expression>
<nonterminal>TMP</nonterminal>
</bgf:expression>
<bgf:expression>
<optional>
<bgf:expression>
<terminal>,</terminal>
</bgf:expression>
</optional>
</bgf:expression>
<bgf:expression>
<terminal>}</terminal>
</bgf:expression>
</sequence>
</bgf:expression>
<bgf:expression>
<sequence>
<bgf:expression>
<terminal>{</terminal>
</bgf:expression>
<bgf:expression>
<terminal>}</terminal>
</bgf:expression>
</sequence>
</bgf:expression>
</choice>
</bgf:expression>
<bgf:expression>
<sequence>
<bgf:expression>
<nonterminal>VariableInitializer</nonterminal>
<terminal>{</terminal>
</bgf:expression>
<bgf:expression>
<star>
<choice>
<bgf:expression>
<sequence>
<bgf:expression>
<terminal>,</terminal>
<nonterminal>TMP</nonterminal>
</bgf:expression>
<bgf:expression>
<nonterminal>VariableInitializer</nonterminal>
<optional>
<bgf:expression>
<terminal>,</terminal>
</bgf:expression>
</optional>
</bgf:expression>
</sequence>
</bgf:expression>
</star>
<bgf:expression>
<epsilon/>
</bgf:expression>
</choice>
</bgf:expression>
<bgf:expression>
<terminal>}</terminal>
</bgf:expression>
</sequence>
</bgf:expression>
</bgf:production>
</xbgf:extract>
<xbgf:massage>
<bgf:expression>
<optional>
<bgf:expression>
<nonterminal>TMP</nonterminal>
</bgf:expression>
</optional>
</bgf:expression>
<bgf:expression>
<choice>
<bgf:expression>
<nonterminal>TMP</nonterminal>
</bgf:expression>
<bgf:expression>
<epsilon/>
</bgf:expression>
</choice>
</bgf:expression>
</xbgf:massage>
<xbgf:distribute>
<nonterminal>ArrayInitializer</nonterminal>
</xbgf:distribute>
<xbgf:vertical>
<nonterminal>ArrayInitializer</nonterminal>
</xbgf:vertical>
<xbgf:disappear>
<bgf:production>
<nonterminal>ArrayInitializer</nonterminal>
</xbgf:factor>
<xbgf:massage>
<bgf:expression>
<sequence>
<bgf:expression>
<terminal>{</terminal>
</bgf:expression>
<choice>
<bgf:expression>
<marked>
<sequence>
<bgf:expression>
<nonterminal>TMP</nonterminal>
</bgf:expression>
<bgf:expression>
<optional>
<bgf:expression>
<terminal>,</terminal>
</bgf:expression>
</optional>
</bgf:expression>
</marked>
</sequence>
</bgf:expression>
<bgf:expression>
<terminal>}</terminal>
<epsilon/>
</bgf:expression>
</sequence>
</choice>
</bgf:expression>
</bgf:production>
</xbgf:disappear>
<xbgf:horizontal>ArrayInitializer</xbgf:horizontal>
<xbgf:factor>
<bgf:expression>
<choice>
<bgf:expression>
<sequence>
<bgf:expression>
<terminal>{</terminal>
</bgf:expression>
<bgf:expression>
<nonterminal>TMP</nonterminal>
</bgf:expression>
<bgf:expression>
<optional>
<bgf:expression>
<terminal>,</terminal>
</bgf:expression>
</optional>
</bgf:expression>
<bgf:expression>
<terminal>}</terminal>
</bgf:expression>
</sequence>
</bgf:expression>
<bgf:expression>
<sequence>
<bgf:expression>
<terminal>{</terminal>
</bgf:expression>
<bgf:expression>
<terminal>}</terminal>
</bgf:expression>
</sequence>
</bgf:expression>
</choice>
</bgf:expression>
<bgf:expression>
<sequence>
<bgf:expression>
<terminal>{</terminal>
</bgf:expression>
<bgf:expression>
<choice>
<bgf:expression>
<sequence>
<bgf:expression>
<nonterminal>TMP</nonterminal>
</bgf:expression>
<bgf:expression>
<optional>
<bgf:expression>
<terminal>,</terminal>
</bgf:expression>
</optional>
</bgf:expression>
</sequence>
</bgf:expression>
<bgf:expression>
<epsilon/>
</bgf:expression>
</choice>
</bgf:expression>
<bgf:expression>
<terminal>}</terminal>
</bgf:expression>
</sequence>
</bgf:expression>
</xbgf:factor>
<xbgf:massage>
<bgf:expression>
<choice>
<bgf:expression>
<sequence>
<bgf:expression>
<nonterminal>TMP</nonterminal>
</bgf:expression>
<bgf:expression>
<optional>
<bgf:expression>
<terminal>,</terminal>
</bgf:expression>
</optional>
</bgf:expression>
</sequence>
</bgf:expression>
<bgf:expression>
<epsilon/>
</bgf:expression>
</choice>
</bgf:expression>
<bgf:expression>
<optional>
<bgf:expression>
<sequence>
<bgf:expression>
<nonterminal>TMP</nonterminal>
</bgf:expression>
<bgf:expression>
<optional>
<bgf:expression>
<terminal>,</terminal>
</bgf:expression>
</optional>
</bgf:expression>
</sequence>
</bgf:expression>
</optional>
</bgf:expression>
</xbgf:massage>
<xbgf:inline>TMP</xbgf:inline>
<bgf:expression>
<optional>
<bgf:expression>
<sequence>
<bgf:expression>
<nonterminal>TMP</nonterminal>
</bgf:expression>
<bgf:expression>
<optional>
<bgf:expression>
<terminal>,</terminal>
</bgf:expression>
</optional>
</bgf:expression>
</sequence>
</bgf:expression>
</optional>
</bgf:expression>
</xbgf:massage>
<xbgf:inline>TMP</xbgf:inline>
</xbgf:atomic>

</xbgf:sequence>

0 comments on commit f414416

Please sign in to comment.