Skip to content

Commit

Permalink
massage does not use fixed point computations anymore, JLS case works
Browse files Browse the repository at this point in the history
git-svn-id: https://slps.svn.sourceforge.net/svnroot/slps@513 ab42f6e0-554d-0410-b580-99e487e6eeb2
  • Loading branch information
grammarware committed Mar 5, 2009
1 parent 6eb6385 commit 376b4e3
Show file tree
Hide file tree
Showing 5 changed files with 264 additions and 19 deletions.
8 changes: 4 additions & 4 deletions shared/prolog/xbgf1.pro
Original file line number Diff line number Diff line change
Expand Up @@ -658,10 +658,10 @@ massage_rules(','([X,?(','([Y,X]))]),','([?(','([X,Y])),X])).
massage_rules(','([X,+(','([Y,X]))]),','([+(','([X,Y])),X])).
massage_rules(','([X,*(','([Y,X]))]),','([*(','([X,Y])),X])).
%% Binary distributivity of optionality
massage_rules(?(','([?(X),Y])),','([?(X),?(Y)])).
massage_rules(?(','([X,?(Y)])),','([?(X),?(Y)])).
massage_rules(?(','([*(X),Y])),','([*(X),?(Y)])).
massage_rules(?(','([X,*(Y)])),','([?(X),*(Y)])).
%massage_rules(?(','([?(X),?(Y)])),','([?(X),?(Y)])).
%%massage_rules(?(','([*(X),?(Y)])),','([*(X),?(Y)])).
%massage_rules(?(','([?(X),*(Y)])),','([?(X),*(Y)])).
%massage_rules(?(','([*(X),*(Y)])),','([*(X),*(Y)])).
massage_rules(?(';'([X,Y])),';'([?(X),?(Y)])).

%
Expand Down
3 changes: 3 additions & 0 deletions topics/java/lci/java-lci.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,9 @@
<None Include="..\..\..\shared\xsd\lcf.xsd">
<Link>lcf.xsd</Link>
</None>
<None Include="..\..\..\shared\xsd\ldf.xsd">
<Link>ldf.xsd</Link>
</None>
<None Include="..\..\..\shared\xsd\xbgf.xsd">
<Link>xbgf.xsd</Link>
</None>
Expand Down
Binary file modified topics/java/lci/snapshot/architecture_large.pdf
Binary file not shown.
134 changes: 128 additions & 6 deletions topics/java/lci/xbgf/edit-doc2.xbgf
Original file line number Diff line number Diff line change
Expand Up @@ -1337,23 +1337,145 @@
</xbgf:extract>
<xbgf:massage>
<bgf:expression>
<sequence>
<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>
<optional>
<sequence>
<bgf:expression>
<terminal>{</terminal>
</bgf:expression>
<bgf:expression>
<nonterminal>TMP</nonterminal>
</bgf:expression>
</optional>
<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>
<optional>
<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>
<terminal>,</terminal>
<epsilon/>
</bgf:expression>
</optional>
</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>
Expand Down
138 changes: 129 additions & 9 deletions topics/java/lci/xbgf/editDeclarations.xbgf
Original file line number Diff line number Diff line change
Expand Up @@ -1379,9 +1379,7 @@
</in>
</xbgf:fold>

<!--
Fixing brutally

<!-- ISSUE CORRECT
- Fail: ArrayInitializer.
- [], ,([t({), ?(,([n(VariableInitializer), *(,([t((,)), n(VariableInitializer)]))])), ?(t((,))), t(})])
vs.
Expand Down Expand Up @@ -1415,23 +1413,145 @@
</xbgf:extract>
<xbgf:massage>
<bgf:expression>
<sequence>
<optional>
<bgf:expression>
<optional>
<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>
</optional>
<bgf:expression>
<optional>
<bgf:expression>
<terminal>,</terminal>
</bgf:expression>
</optional>
</bgf:expression>
<bgf:expression>
<terminal>}</terminal>
</bgf:expression>
</sequence>
</bgf:expression>
<bgf:expression>
<optional>
<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>
<terminal>,</terminal>
<epsilon/>
</bgf:expression>
</optional>
</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>
Expand Down

0 comments on commit 376b4e3

Please sign in to comment.