Skip to content

Commit

Permalink
Java Language Specification + LCI
Browse files Browse the repository at this point in the history
git-svn-id: https://slps.svn.sourceforge.net/svnroot/slps@243 ab42f6e0-554d-0410-b580-99e487e6eeb2
  • Loading branch information
grammarware committed Sep 10, 2008
1 parent e7412c6 commit 8256f2f
Show file tree
Hide file tree
Showing 6 changed files with 202 additions and 0 deletions.
21 changes: 21 additions & 0 deletions topics/java/lci/Makefile
@@ -0,0 +1,21 @@
validator = ../../../shared/tools/checkxml

build:

test:
python ../../convergence/lci/lci.py java.lcf architecture
@rm -f architecture*.dot

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/*
rm -rf bin obj
rm -f *.user *.suo
rm -f architecture*
rm -f fl.log

91 changes: 91 additions & 0 deletions topics/java/lci/java.lcf
@@ -0,0 +1,91 @@
<?xml version="1.0"?>
<lcf:configuration xmlns:lcf="http://planet-sl.org/lcf">

<shortcut>
<name>slps</name>
<expansion>../../..</expansion>
</shortcut>

<shortcut>
<name>java</name>
<expansion>..</expansion>
</shortcut>

<shortcut>
<name>tools</name>
<expansion>
<expand>slps</expand>/shared/tools
</expansion>
</shortcut>

<shortcut>
<name>wrappers</name>
<expansion>
<expand>slps</expand>/shared/wrappers
</expansion>
</shortcut>

<tool>
<name>validation</name>
<grammar>
<expand>tools</expand>/checkxml bgf
</grammar>
<tree>
<expand>tools</expand>/checkbtf
</tree>
</tool>

<tool>
<name>comparison</name>
<grammar>
<expand>tools</expand>/gdt
</grammar>
<tree>
<expand>tools</expand>/tdt
</tree>
</tool>

<tool>
<name>transformation</name>
<grammar>
<expand>tools</expand>/xbgf
</grammar>
<tree>
<expand>tools</expand>/xbtf
</tree>
</tool>

<source>
<name>jls2</name>
<grammar>
<extraction>
<expand>tools</expand>/html2bgf <expand>java</expand>/jls2/syntax.html
</extraction>
</grammar>
</source>

<source>
<name>jls3</name>
<grammar>
<extraction>
<expand>tools</expand>/html2bgf <expand>java</expand>/jls3/syntax.html
</extraction>
</grammar>
</source>

<target>
<name>limit</name>
<branch>
<input>jls2</input>
<perform>prefer3</perform>
<perform>mkSignature</perform>
<perform>addFeatures2to3</perform>
</branch>
<branch>
<input>jls3</input>
<perform>fixErrors3</perform>
<perform>mkSignature</perform>
</branch>
</target>

</lcf:configuration>
45 changes: 45 additions & 0 deletions topics/java/lci/xbgf/addFeatures2to3.xbgf
@@ -0,0 +1,45 @@
<xbgf:sequence
xmlns:bgf="http://planet-sl.org/bgf"
xmlns:xbgf="http://planet-sl.org/xbgf">
<xbgf:undefine>Block</xbgf:undefine>
<xbgf:add>
<bgf:production>
<nonterminal>Modifier</nonterminal>
<bgf:expression>
<nonterminal>Annotation</nonterminal>
</bgf:expression>
</bgf:production>
</xbgf:add>
<xbgf:introduce>
<bgf:production>
<nonterminal>EnumDeclaration</nonterminal>
<bgf:expression>
<sequence>
<bgf:expression>
<terminal>enum</terminal>
</bgf:expression>
<bgf:expression>
<nonterminal>Identifier</nonterminal>
</bgf:expression>
<bgf:expression>
<optional>
<bgf:expression>
<sequence>
<bgf:expression>
<terminal>implements</terminal>
</bgf:expression>
<bgf:expression>
<nonterminal>TypeList</nonterminal>
</bgf:expression>
</sequence>
</bgf:expression>
</optional>
</bgf:expression>
<bgf:expression>
<nonterminal>EnumBody</nonterminal>
</bgf:expression>
</sequence>
</bgf:expression>
</bgf:production>
</xbgf:introduce>
</xbgf:sequence>
23 changes: 23 additions & 0 deletions topics/java/lci/xbgf/fixErrors3.xbgf
@@ -0,0 +1,23 @@
<xbgf:sequence
xmlns:bgf="http://planet-sl.org/bgf"
xmlns:xbgf="http://planet-sl.org/xbgf">
<xbgf:undefine>Block</xbgf:undefine>
<xbgf:define>
<bgf:production>
<nonterminal>Block</nonterminal>
<bgf:expression>
<sequence>
<bgf:expression>
<terminal>{</terminal>
</bgf:expression>
<bgf:expression>
<nonterminal>BlockStatements</nonterminal>
</bgf:expression>
<bgf:expression>
<terminal>}</terminal>
</bgf:expression>
</sequence>
</bgf:expression>
</bgf:production>
</xbgf:define>
</xbgf:sequence>
10 changes: 10 additions & 0 deletions topics/java/lci/xbgf/mkSignature.xbgf
@@ -0,0 +1,10 @@
<xbgf:sequence
xmlns:bgf="http://planet-sl.org/bgf"
xmlns:xbgf="http://planet-sl.org/xbgf">
<xbgf:vertical>
<nonterminal>Modifier</nonterminal>
</xbgf:vertical>
<xbgf:vertical>
<nonterminal>Selector</nonterminal>
</xbgf:vertical>
</xbgf:sequence>
12 changes: 12 additions & 0 deletions topics/java/lci/xbgf/prefer3.xbgf
@@ -0,0 +1,12 @@
<xbgf:sequence
xmlns:bgf="http://planet-sl.org/bgf"
xmlns:xbgf="http://planet-sl.org/xbgf">
<xbgf:rename>
<nonterminal>
<from>Infixop</from>
<to>InfixOp</to>
</nonterminal>
</xbgf:rename>
<xbgf:inline>ModifiersOpt</xbgf:inline>
<xbgf:inline>BracketsOpt</xbgf:inline>
</xbgf:sequence>

0 comments on commit 8256f2f

Please sign in to comment.