Skip to content

Commit

Permalink
JLS progress
Browse files Browse the repository at this point in the history
git-svn-id: https://slps.svn.sourceforge.net/svnroot/slps@402 ab42f6e0-554d-0410-b580-99e487e6eeb2
  • Loading branch information
grammarware committed Nov 3, 2008
1 parent 0b3e568 commit 08e22ac
Show file tree
Hide file tree
Showing 11 changed files with 173 additions and 69 deletions.
1 change: 0 additions & 1 deletion topics/java/lci/java-lci.csproj
Expand Up @@ -72,7 +72,6 @@
<None Include="xbgf\extend-jls2.xbgf" />
<None Include="xbgf\extendModifiers.xbgf" />
<None Include="xbgf\generalize-app3.xbgf" />
<None Include="xbgf\generalize-jls1.xbgf" />
<None Include="xbgf\generalizeBlock.xbgf" />
<None Include="xbgf\generalizeLabels.xbgf" />
<None Include="xbgf\generalizeModifiers-doc1.xbgf" />
Expand Down
1 change: 1 addition & 0 deletions topics/java/lci/xbgf/correct-app3.xbgf
Expand Up @@ -178,6 +178,7 @@ Annotation:

<!-- ISSUE CORRECT SPECERROR
same with continue -->
<!-- REVISE -->
<xbgf:replace>
<bgf:expression>
<sequence>
Expand Down
151 changes: 118 additions & 33 deletions topics/java/lci/xbgf/edit-doc1.xbgf
Expand Up @@ -79,33 +79,15 @@
,([n(Primary), t(.), t(new), n(Identifier), t((), ?(n(ArgumentList)), t()), ?(n(ClassBody))])])
-->
<!-- GENERALITY -->
<xbgf:project>
<bgf:production>
<nonterminal>ClassInstanceCreationExpression</nonterminal>
<bgf:expression>
<sequence>
<bgf:expression>
<terminal>new</terminal>
</bgf:expression>
<bgf:expression>
<terminal>(</terminal>
</bgf:expression>
<bgf:expression>
<optional>
<bgf:expression>
<nonterminal>ArgumentList</nonterminal>
</bgf:expression>
</optional>
</bgf:expression>
<bgf:expression>
<terminal>)</terminal>
</bgf:expression>
</sequence>
</bgf:expression>
</bgf:production>
</xbgf:project>
<!-- GENERALITY -->
<xbgf:inject>
<xbgf:replace>
<bgf:expression>
<nonterminal>ClassType</nonterminal>
</bgf:expression>
<bgf:expression>
<nonterminal>ClassOrInterfaceType</nonterminal>
</bgf:expression>
</xbgf:replace>
<xbgf:add>
<bgf:production>
<nonterminal>ClassInstanceCreationExpression</nonterminal>
<bgf:expression>
Expand All @@ -130,16 +112,12 @@
<terminal>)</terminal>
</bgf:expression>
<bgf:expression>
<optional>
<bgf:expression>
<nonterminal>ClassBody</nonterminal>
</bgf:expression>
</optional>
</bgf:expression>
</sequence>
</bgf:expression>
</bgf:production>
</xbgf:inject>
</xbgf:add>
<xbgf:add>
<bgf:production>
<nonterminal>ClassInstanceCreationExpression</nonterminal>
Expand Down Expand Up @@ -182,5 +160,112 @@
</bgf:production>
</xbgf:add>
<xbgf:horizontal>ClassInstanceCreationExpression</xbgf:horizontal>

<xbgf:factor>
<bgf:expression>
<choice>
<bgf:expression>
<sequence>
<bgf:expression>
<terminal>new</terminal>
</bgf:expression>
<bgf:expression>
<nonterminal>ClassOrInterfaceType</nonterminal>
</bgf:expression>
<bgf:expression>
<terminal>(</terminal>
</bgf:expression>
<bgf:expression>
<optional>
<bgf:expression>
<nonterminal>ArgumentList</nonterminal>
</bgf:expression>
</optional>
</bgf:expression>
<bgf:expression>
<terminal>)</terminal>
</bgf:expression>
</sequence>
</bgf:expression>
<bgf:expression>
<sequence>
<bgf:expression>
<terminal>new</terminal>
</bgf:expression>
<bgf:expression>
<nonterminal>ClassOrInterfaceType</nonterminal>
</bgf:expression>
<bgf:expression>
<terminal>(</terminal>
</bgf:expression>
<bgf:expression>
<optional>
<bgf:expression>
<nonterminal>ArgumentList</nonterminal>
</bgf:expression>
</optional>
</bgf:expression>
<bgf:expression>
<terminal>)</terminal>
</bgf:expression>
<bgf:expression>
<nonterminal>ClassBody</nonterminal>
</bgf:expression>
</sequence>
</bgf:expression>
</choice>
</bgf:expression>
<bgf:expression>
<sequence>
<bgf:expression>
<terminal>new</terminal>
</bgf:expression>
<bgf:expression>
<nonterminal>ClassOrInterfaceType</nonterminal>
</bgf:expression>
<bgf:expression>
<terminal>(</terminal>
</bgf:expression>
<bgf:expression>
<optional>
<bgf:expression>
<nonterminal>ArgumentList</nonterminal>
</bgf:expression>
</optional>
</bgf:expression>
<bgf:expression>
<terminal>)</terminal>
</bgf:expression>
<bgf:expression>
<choice>
<bgf:expression>
<epsilon/>
</bgf:expression>
<bgf:expression>
<nonterminal>ClassBody</nonterminal>
</bgf:expression>
</choice>
</bgf:expression>
</sequence>
</bgf:expression>
</xbgf:factor>
<xbgf:massage>
<bgf:expression>
<choice>
<bgf:expression>
<epsilon/>
</bgf:expression>
<bgf:expression>
<nonterminal>ClassBody</nonterminal>
</bgf:expression>
</choice>
</bgf:expression>
<bgf:expression>
<optional>
<bgf:expression>
<nonterminal>ClassBody</nonterminal>
</bgf:expression>
</optional>
</bgf:expression>
</xbgf:massage>

</xbgf:sequence>
6 changes: 3 additions & 3 deletions topics/java/lci/xbgf/edit-doc2.xbgf
Expand Up @@ -4,7 +4,7 @@

<xbgf:horizontal>Primary</xbgf:horizontal>

<!-- BREFACTOR
<!-- GENERALITY?
ConstructorBody is defined as:
{ [ ExplicitConstructorInvocation ] [ BlockStatements ] }
-->
Expand All @@ -16,7 +16,7 @@
<xbgf:eliminate>ExplicitConstructorInvocation</xbgf:eliminate>
<xbgf:eliminate>ArgumentList</xbgf:eliminate>

<!-- ISSUE PERMISSIVENESS
<!-- ISSUE PERMISSIVENESS
Some productions use a more general QualifiedIdentifierList instead of TypeList
-->
<xbgf:introduce>
Expand Down Expand Up @@ -204,6 +204,6 @@
<in>
<nonterminal>ArrayInitializer</nonterminal>
</in>
</xbgf:replace>
</xbgf:replace>

</xbgf:sequence>
11 changes: 6 additions & 5 deletions topics/java/lci/xbgf/editDeclarations.xbgf
Expand Up @@ -72,6 +72,7 @@
<nonterminal>ExtendsInterfaces</nonterminal>
</in>
</xbgf:fold>
<!-- TODO -->
<!-- BREFACTOR -->
<xbgf:project>
<bgf:production>
Expand Down Expand Up @@ -725,7 +726,7 @@
</choice>
</bgf:expression>
</bgf:production>
</xbgf:extract>
</xbgf:extract>
<!-- ISSUE EXTEND -->
<xbgf:add>
<bgf:production>
Expand Down Expand Up @@ -1235,7 +1236,7 @@
vs.
- [], ;([,([n(ConstantDeclaratorsRest), t((;))]), n(InterfaceMethodDeclaratorRest)])
-->
<xbgf:undefine>InterfaceMethodOrFieldRest</xbgf:undefine>
<xbgf:undefine>InterfaceMethodOrFieldRest</xbgf:undefine>
<!-- BREFACTOR -->
<xbgf:define>
<bgf:production>
Expand All @@ -1258,7 +1259,7 @@
</choice>
</bgf:expression>
</bgf:production>
</xbgf:define>
</xbgf:define>
<!-- BREFACTOR -->
<xbgf:define>
<bgf:production>
Expand All @@ -1285,7 +1286,7 @@
</sequence>
</bgf:expression>
</bgf:production>
</xbgf:define>
</xbgf:define>
<!-- BREFACTOR -->
<xbgf:define>
<bgf:production>
Expand Down Expand Up @@ -1618,7 +1619,7 @@
</bgf:expression>
</bgf:production>
</xbgf:designate>
<!-- BREFACTOR -->
<!-- BREFACTOR -->
<xbgf:project>
<bgf:production>
<label>target</label>
Expand Down
6 changes: 3 additions & 3 deletions topics/java/lci/xbgf/extend-doc1.xbgf
Expand Up @@ -89,9 +89,9 @@
vs.
- [], ;([n(Literal), ,([n(Type), t(.), t(class)]), ,([t(void), t(.), t(class)]), t(this), ,([n(ClassName), t(.), t(this)]), ,([t((), n(Expression), t())]), n(ClassInstanceCreationExpression), n(FieldAccess), n(MethodInvocation), n(ArrayAccess)])
-->
<!-- BREFACTOR -->
<!-- BREFACTOR -->
<xbgf:undefine>PrimaryNoNewArray</xbgf:undefine>
<!-- BREFACTOR -->
<!-- BREFACTOR -->
<xbgf:define>
<bgf:production>
<nonterminal>PrimaryNoNewArray</nonterminal>
Expand Down Expand Up @@ -597,6 +597,6 @@
</sequence>
</bgf:expression>
</bgf:production>
</xbgf:inject>
</xbgf:inject>

</xbgf:sequence>
14 changes: 8 additions & 6 deletions topics/java/lci/xbgf/generalizeBlock.xbgf
Expand Up @@ -9,13 +9,15 @@
- [], n(Block)
-->
<xbgf:add>
<bgf:production>
<bgf:expression>
<terminal>;</terminal>
</bgf:expression>
<bgf:expression>
<nonterminal>Block</nonterminal>
</bgf:expression>
<in>
<nonterminal>MethodBody</nonterminal>
<bgf:expression>
<terminal>;</terminal>
</bgf:expression>
</bgf:production>
</in>
</xbgf:add>
<xbgf:horizontal>MethodBody</xbgf:horizontal>

</xbgf:sequence>
6 changes: 3 additions & 3 deletions topics/java/lci/xbgf/generalizeModifiers-doc1.xbgf
Expand Up @@ -9,7 +9,7 @@
- [], ,([?(n(Modifiers)), n(Type), n(VariableDeclarators), t((;))])
(and many similar ones)
-->

<xbgf:vertical>
<nonterminal>ClassModifier</nonterminal>
</xbgf:vertical>
Expand All @@ -31,7 +31,7 @@
<xbgf:vertical>
<nonterminal>ConstantModifier</nonterminal>
</xbgf:vertical>

<!-- ISSUE PERMISSIVENESS -->
<xbgf:rename>
<nonterminal>
Expand Down Expand Up @@ -96,5 +96,5 @@
<add>FieldModifiers</add>
<to>Modifiers</to>
</xbgf:unite>

</xbgf:sequence>

0 comments on commit 08e22ac

Please sign in to comment.