Skip to content

Commit

Permalink
Rascal-C reconnected to the FL convergence scenario
Browse files Browse the repository at this point in the history
  • Loading branch information
grammarware committed Jun 24, 2012
1 parent fb751b5 commit 22cc245
Show file tree
Hide file tree
Showing 9 changed files with 242 additions and 11 deletions.
3 changes: 3 additions & 0 deletions topics/convergence/guided/bgf/.gitignore
@@ -1,2 +1,5 @@
*.res.bgf
*.normal.*
*.xbgf
*.bnf
TMP-res
46 changes: 37 additions & 9 deletions topics/convergence/xbgf/fl/fl.lcf
Expand Up @@ -67,8 +67,10 @@
<source>
<name>python</name>
<grammar>
<extraction><expand>tools</expand>/py2bgf <expand>fl</expand>/python/parser2.py
</extraction>
<extraction>cp /Users/zaytsev/projects/slps/topics/convergence/xbgf/fl/snapshot/python.bgf
</extraction>
<!-- <extraction><expand>tools</expand>/py2bgf <expand>fl</expand>/python/parser2.py
</extraction> -->
</grammar>
</source>
<source>
Expand Down Expand Up @@ -106,10 +108,12 @@
</testing>
</source>
<source>
<name>rascal</name>
<name>rascal-c</name>
<grammar>
<extraction><expand>tools</expand>/rsc2bgf <expand>fl</expand>/rascal/FL.rsc
</extraction>
<!-- <extraction><expand>tools</expand>/rscs2bgf <expand>fl</expand>/rascal/src/Concrete.rsc
</extraction> -->
<extraction>cp /Users/zaytsev/projects/slps/topics/convergence/xbgf/fl/snapshot/rascal-c.bgf
</extraction>
</grammar>
</source>
<source>
Expand All @@ -127,7 +131,7 @@
</grammar>
</source>
<source>
<name>ecore2</name>
<name>emf</name>
<derived>
<from>xsd</from>
<using>xsd2ecore</using>
Expand Down Expand Up @@ -173,6 +177,15 @@
</extraction>
</grammar>
</source>
<source>
<name>rascal-a</name>
<grammar>
<extraction>cp /Users/zaytsev/projects/slps/topics/convergence/xbgf/fl/snapshot/rascal-a.bgf
</extraction>
<!-- <extraction><expand>tools</expand>/rscd2bgf <expand>fl</expand>/rascal/src/Abstract.rsc
</extraction> -->
</grammar>
</source>

<!--
<source>
Expand Down Expand Up @@ -219,8 +232,14 @@
<target>
<name>scannerless</name>
<branch>
<input>rascal</input>
<input>rascal-c</input>
<structural-matching>
<perform>refactor-seplist</perform>
<automated>
<method>strips</method>
<result>stripSelectors</result>
</automated>
<perform>refactor-function</perform>
<perform>multipleNewlines-rascal</perform>
</structural-matching>
</branch>
Expand Down Expand Up @@ -289,7 +308,7 @@
</relaxation>
</branch>
<branch>
<input>ecore2</input>
<input>emf</input>
<nominal-matching>
<perform>rename-emf</perform>
<automated>
Expand Down Expand Up @@ -330,9 +349,18 @@
</branch>
</target>
<target>
<name>abstract</name>
<name>adt</name>
<branch>
<input>java</input>
</branch>
<branch>
<input>rascal-a</input>
</branch>
</target>
<target>
<name>abstract</name>
<branch>
<input>adt</input>
<structural-matching>
<perform>unerase</perform>
<automated>
Expand Down
File renamed without changes.
2 changes: 2 additions & 0 deletions topics/convergence/xbgf/fl/snapshot/rascal-a.bgf
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<bgf:grammar xmlns:bgf="http://planet-sl.org/bgf"><bgf:production><label>prg</label><nonterminal>FLPrg</nonterminal><bgf:expression><selectable><selector>fs</selector><bgf:expression><star><bgf:expression><nonterminal>FLFun</nonterminal></bgf:expression></star></bgf:expression></selectable></bgf:expression></bgf:production><bgf:production><label>fun</label><nonterminal>FLFun</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>f</selector><bgf:expression><value>string</value></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>args</selector><bgf:expression><star><bgf:expression><nonterminal>str</nonterminal></bgf:expression></star></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>body</selector><bgf:expression><nonterminal>FLExpr</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>FLExpr</nonterminal><bgf:expression><choice><bgf:expression><selectable><selector>binary</selector><bgf:expression><sequence><bgf:expression><selectable><selector>e1</selector><bgf:expression><nonterminal>FLExpr</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>op</selector><bgf:expression><nonterminal>FLOp</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>e2</selector><bgf:expression><nonterminal>FLExpr</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>apply</selector><bgf:expression><sequence><bgf:expression><selectable><selector>f</selector><bgf:expression><value>string</value></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>vargs</selector><bgf:expression><star><bgf:expression><nonterminal>FLExpr</nonterminal></bgf:expression></star></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>ifThenElse</selector><bgf:expression><sequence><bgf:expression><selectable><selector>c</selector><bgf:expression><nonterminal>FLExpr</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>t</selector><bgf:expression><nonterminal>FLExpr</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>e</selector><bgf:expression><nonterminal>FLExpr</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>argument</selector><bgf:expression><selectable><selector>a</selector><bgf:expression><value>string</value></bgf:expression></selectable></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>literal</selector><bgf:expression><selectable><selector>i</selector><bgf:expression><value>int</value></bgf:expression></selectable></bgf:expression></selectable></bgf:expression></choice></bgf:expression></bgf:production><bgf:production><nonterminal>FLOp</nonterminal><bgf:expression><choice><bgf:expression><selectable><selector>minus</selector><bgf:expression><epsilon /></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>plus</selector><bgf:expression><epsilon /></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>equal</selector><bgf:expression><epsilon /></bgf:expression></selectable></bgf:expression></choice></bgf:expression></bgf:production></bgf:grammar>
2 changes: 2 additions & 0 deletions topics/convergence/xbgf/fl/snapshot/rascal-c.bgf
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<bgf:grammar xmlns:bgf="http://planet-sl.org/bgf"><bgf:production><label>prg</label><nonterminal>Program</nonterminal><bgf:expression><selectable><selector>functions</selector><bgf:expression><seplistplus><bgf:expression><nonterminal>Function</nonterminal></bgf:expression><bgf:expression><terminal>\n</terminal></bgf:expression></seplistplus></bgf:expression></selectable></bgf:expression></bgf:production><bgf:production><label>ifThenElse</label><nonterminal>Expr</nonterminal><bgf:expression><sequence><bgf:expression><terminal>if</terminal></bgf:expression><bgf:expression><selectable><selector>cond</selector><bgf:expression><nonterminal>Expr</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><terminal>then</terminal></bgf:expression><bgf:expression><selectable><selector>thenbranch</selector><bgf:expression><nonterminal>Expr</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><terminal>else</terminal></bgf:expression><bgf:expression><selectable><selector>elsebranch</selector><bgf:expression><nonterminal>Expr</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>Expr</nonterminal><bgf:expression><sequence><bgf:expression><terminal>(</terminal></bgf:expression><bgf:expression><selectable><selector>e</selector><bgf:expression><nonterminal>Expr</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><terminal>)</terminal></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><label>literal</label><nonterminal>Expr</nonterminal><bgf:expression><selectable><selector>i</selector><bgf:expression><nonterminal>Int</nonterminal></bgf:expression></selectable></bgf:expression></bgf:production><bgf:production><label>argument</label><nonterminal>Expr</nonterminal><bgf:expression><selectable><selector>a</selector><bgf:expression><nonterminal>Name</nonterminal></bgf:expression></selectable></bgf:expression></bgf:production><bgf:production><label>binary</label><nonterminal>Expr</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>lexpr</selector><bgf:expression><nonterminal>Expr</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>op</selector><bgf:expression><nonterminal>Ops</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>rexpr</selector><bgf:expression><nonterminal>Expr</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><label>apply</label><nonterminal>Expr</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>f</selector><bgf:expression><nonterminal>Name</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>vargs</selector><bgf:expression><plus><bgf:expression><nonterminal>Expr</nonterminal></bgf:expression></plus></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><label>plus</label><nonterminal>Ops</nonterminal><bgf:expression><terminal>+</terminal></bgf:expression></bgf:production><bgf:production><label>equal</label><nonterminal>Ops</nonterminal><bgf:expression><terminal>==</terminal></bgf:expression></bgf:production><bgf:production><label>minus</label><nonterminal>Ops</nonterminal><bgf:expression><terminal>-</terminal></bgf:expression></bgf:production><bgf:production><label>fun</label><nonterminal>Function</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>f</selector><bgf:expression><nonterminal>Name</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>args</selector><bgf:expression><plus><bgf:expression><nonterminal>Name</nonterminal></bgf:expression></plus></bgf:expression></selectable></bgf:expression><bgf:expression><terminal>=</terminal></bgf:expression><bgf:expression><selectable><selector>body</selector><bgf:expression><nonterminal>Expr</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></bgf:production></bgf:grammar>
11 changes: 11 additions & 0 deletions topics/convergence/xbgf/fl/xbgf/multipleNewlines-rascal.xbgf
@@ -1,5 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<xbgf:sequence xmlns:bgf="http://planet-sl.org/bgf" xmlns:xbgf="http://planet-sl.org/xbgf">
<xbgf:extract>
<bgf:production>
<nonterminal>Newline</nonterminal>
<bgf:expression>
<terminal>\n</terminal>
</bgf:expression>
</bgf:production>
</xbgf:extract>
<xbgf:undefine>
<nonterminal>Newline</nonterminal>
</xbgf:undefine>
<xbgf:widen>
<bgf:expression>
<nonterminal>Newline</nonterminal>
Expand Down
95 changes: 95 additions & 0 deletions topics/convergence/xbgf/fl/xbgf/refactor-function.xbgf
@@ -0,0 +1,95 @@
<?xml version="1.0" encoding="UTF-8"?>
<xbgf:sequence xmlns:bgf="http://planet-sl.org/bgf" xmlns:xbgf="http://planet-sl.org/xbgf">
<xbgf:concretize>
<bgf:production>
<nonterminal>Program</nonterminal>
<bgf:expression>
<sequence>
<bgf:expression>
<star>
<bgf:expression>
<sequence>
<bgf:expression>
<nonterminal>Function</nonterminal>
</bgf:expression>
<bgf:expression>
<terminal>\n</terminal>
</bgf:expression>
</sequence>
</bgf:expression>
</star>
</bgf:expression>
<bgf:expression>
<sequence>
<bgf:expression>
<nonterminal>Function</nonterminal>
</bgf:expression>
<bgf:expression>
<marked>
<bgf:expression>
<terminal>\n</terminal>
</bgf:expression>
</marked>
</bgf:expression>
</sequence>
</bgf:expression>
</sequence>
</bgf:expression>
</bgf:production>
</xbgf:concretize>
<xbgf:inline>Function</xbgf:inline>
<xbgf:extract>
<bgf:production>
<nonterminal>Function</nonterminal>
<bgf:expression>
<sequence>
<bgf:expression>
<nonterminal>Name</nonterminal>
</bgf:expression>
<bgf:expression>
<plus>
<bgf:expression>
<nonterminal>Name</nonterminal>
</bgf:expression>
</plus>
</bgf:expression>
<bgf:expression>
<terminal>=</terminal>
</bgf:expression>
<bgf:expression>
<nonterminal>Expr</nonterminal>
</bgf:expression>
<bgf:expression>
<terminal>\n</terminal>
</bgf:expression>
</sequence>
</bgf:expression>
</bgf:production>
</xbgf:extract>
<xbgf:massage>
<bgf:expression>
<sequence>
<bgf:expression>
<star>
<bgf:expression>
<nonterminal>Function</nonterminal>
</bgf:expression>
</star>
</bgf:expression>
<bgf:expression>
<nonterminal>Function</nonterminal>
</bgf:expression>
</sequence>
</bgf:expression>
<bgf:expression>
<plus>
<bgf:expression>
<nonterminal>Function</nonterminal>
</bgf:expression>
</plus>
</bgf:expression>
<in>
<nonterminal>Program</nonterminal>
</in>
</xbgf:massage>
</xbgf:sequence>
92 changes: 92 additions & 0 deletions topics/convergence/xbgf/fl/xbgf/refactor-seplist.xbgf
@@ -0,0 +1,92 @@
<?xml version="1.0" encoding="UTF-8"?>
<xbgf:sequence xmlns:bgf="http://planet-sl.org/bgf" xmlns:xbgf="http://planet-sl.org/xbgf">
<xbgf:massage>
<bgf:expression>
<seplistplus>
<bgf:expression>
<nonterminal>Function</nonterminal>
</bgf:expression>
<bgf:expression>
<terminal>\n</terminal>
</bgf:expression>
</seplistplus>
</bgf:expression>
<bgf:expression>
<sequence>
<bgf:expression>
<nonterminal>Function</nonterminal>
</bgf:expression>
<bgf:expression>
<star>
<bgf:expression>
<sequence>
<bgf:expression>
<terminal>\n</terminal>
</bgf:expression>
<bgf:expression>
<nonterminal>Function</nonterminal>
</bgf:expression>
</sequence>
</bgf:expression>
</star>
</bgf:expression>
</sequence>
</bgf:expression>
<in>
<nonterminal>Program</nonterminal>
</in>
</xbgf:massage>
<xbgf:massage>
<bgf:expression>
<sequence>
<bgf:expression>
<nonterminal>Function</nonterminal>
</bgf:expression>
<bgf:expression>
<star>
<bgf:expression>
<sequence>
<bgf:expression>
<terminal>\n</terminal>
</bgf:expression>
<bgf:expression>
<nonterminal>Function</nonterminal>
</bgf:expression>
</sequence>
</bgf:expression>
</star>
</bgf:expression>
</sequence>
</bgf:expression>
<bgf:expression>
<sequence>
<bgf:expression>
<star>
<bgf:expression>
<sequence>
<bgf:expression>
<nonterminal>Function</nonterminal>
</bgf:expression>
<bgf:expression>
<terminal>\n</terminal>
</bgf:expression>
</sequence>
</bgf:expression>
</star>
</bgf:expression>
<bgf:expression>
<nonterminal>Function</nonterminal>
</bgf:expression>
</sequence>
</bgf:expression>
<in>
<nonterminal>Program</nonterminal>
</in>
</xbgf:massage>
<xbgf:unlabel>
<label>prg</label>
</xbgf:unlabel>
<xbgf:unlabel>
<label>fun</label>
</xbgf:unlabel>
</xbgf:sequence>
2 changes: 0 additions & 2 deletions topics/fl/rascal/bin/.gitignore

This file was deleted.

0 comments on commit 22cc245

Please sign in to comment.