From ae07ddf7a15ff0cd66b5f5c2c971eb34c79ae396 Mon Sep 17 00:00:00 2001 From: grammarware Date: Thu, 21 Apr 2011 14:57:28 +0000 Subject: [PATCH] =?UTF-8?q?TESCOL=20=E2=86=92=20Grammar=20Tank?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://slps.svn.sourceforge.net/svnroot/slps@1029 ab42f6e0-554d-0410-b580-99e487e6eeb2 --- Makefile | 3 + _dev/Makefile.for.zoo | 14 + _dev/Makefile.mod.zoo | 14 + _dev/tank.xml | 614 ++++++++++++++++++++++++++++++++++++++++++ _dev/zoo.xml | 96 ++++++- tank/index.html | 340 ++++++++++++++++++++++- zoo/index.html | 35 ++- 7 files changed, 1109 insertions(+), 7 deletions(-) create mode 100644 _dev/Makefile.for.zoo create mode 100644 _dev/Makefile.mod.zoo create mode 100644 _dev/tank.xml diff --git a/Makefile b/Makefile index f5be07a6..ac998796 100644 --- a/Makefile +++ b/Makefile @@ -17,10 +17,13 @@ zooprj: make -f _dev/Makefile.c.zoo make -f _dev/Makefile.cpp.zoo make -f _dev/Makefile.csharp.zoo + make -f _dev/Makefile.for.zoo make -f _dev/Makefile.java.zoo + make -f _dev/Makefile.mod.zoo make -f _dev/Makefile.xpath.zoo make -f _dev/Makefile.fl.tank make -f _dev/Makefile.ebnf.tank + make -f _dev/Makefile.tescol.tank make zoolists zoolists: diff --git a/_dev/Makefile.for.zoo b/_dev/Makefile.for.zoo new file mode 100644 index 00000000..70d6ad66 --- /dev/null +++ b/_dev/Makefile.for.zoo @@ -0,0 +1,14 @@ +all: + make for90 -f _dev/Makefile.for.zoo + chmod 644 zoo/fortran/*.bgf + ls -1 zoo/fortran/*.bgf | xargs -n1 -I _ basename _ .bgf | xargs -n1 -I ZZZ make ZZZ.formats -f _dev/Makefile.for.zoo + +%.formats: + ../shared/tools/bgf2html zoo/fortran/$*.bgf zoo/fortran/$*.html + ../shared/tools/bgf2bnf zoo/fortran/$*.bgf zoo/fortran/$*.bnf + ../shared/tools/bgf2dms zoo/fortran/$*.bgf zoo/fortran/$*.dms + ../shared/tools/bgf2sdf zoo/fortran/$*.bgf zoo/fortran/$*.sdf + ../shared/tools/bgf2rsc zoo/fortran/$*.bgf zoo/fortran/$*.rsc + +for90: + cp ../topics/grammars/fortran/fortran.sdf.rec.bgf zoo/fortran/fortran90.bgf diff --git a/_dev/Makefile.mod.zoo b/_dev/Makefile.mod.zoo new file mode 100644 index 00000000..6d798cd8 --- /dev/null +++ b/_dev/Makefile.mod.zoo @@ -0,0 +1,14 @@ +all: + make mod3 -f _dev/Makefile.mod.zoo + chmod 644 zoo/modula/*.bgf + ls -1 zoo/modula/*.bgf | xargs -n1 -I _ basename _ .bgf | xargs -n1 -I ZZZ make ZZZ.formats -f _dev/Makefile.mod.zoo + +%.formats: + ../shared/tools/bgf2html zoo/modula/$*.bgf zoo/modula/$*.html + ../shared/tools/bgf2bnf zoo/modula/$*.bgf zoo/modula/$*.bnf + ../shared/tools/bgf2dms zoo/modula/$*.bgf zoo/modula/$*.dms + ../shared/tools/bgf2sdf zoo/modula/$*.bgf zoo/modula/$*.sdf + ../shared/tools/bgf2rsc zoo/modula/$*.bgf zoo/modula/$*.rsc + +mod3: + cp ../topics/grammars/modula/modula.3.sdf.rec.bgf zoo/modula/modula3.bgf diff --git a/_dev/tank.xml b/_dev/tank.xml new file mode 100644 index 00000000..0f95f4d8 --- /dev/null +++ b/_dev/tank.xml @@ -0,0 +1,614 @@ + + + Tank + + Export + + topics/export/hypertext/bgf2xhtml.xslt + BGF⇒HTML + + + shared/xsl/bgf2bnf.xslt + BGF⇒BNF + + + topics/export/ebnf/bgf2dms.xslt + BGF⇒DMS + + + shared/xsl/bgf2sdf.xslt + BGF⇒SDF + + + topics/export/rascal/bgf2rsc.xslt + BGF⇒Rascal + + + + Extraction + + topics/extraction/sdf/Main.sdf + Main.sdf + + + topics/extraction/sdf/Main.asf + Main.asf + + + topics/extraction/sdf/Tokens.sdf + Tokens.sdf + + + topics/extraction/sdf/Tokens.asf + Tokens.asf + + + + Extraction + + topics/extraction/rascal/extract.py + extract.py + + + + Extraction + + shared/prolog/cli/xsd2bgf.pro + xsd2bgf.pro + + + + R. Lämmel, V. Zaytsev. An Introduction to Grammar Convergence. iFM 2009. + + http://www.formal-methods.de/ifm09/ + iFM + + + http://dx.doi.org/10.1007/978-3-642-00255-7_17 + LNCS + + + http://portal.acm.org/citation.cfm?id=1506936.1506955 + ACM + + + http://grammarware.net/text/2009/convergence.pdf + Paper + + + http://grammarware.net/slides/2009/ifm.pdf + Slides + + + + V. Zaytsev. Recovery, Convergence and Documentation of Languages. Vrije Universiteit Amsterdam, 2010. + + http://grammarware.net/text/2010/zaytsev-thesis.pdf + Thesis + + + http://grammarware.net/slides/2010/phd-swat.pdf + Slides + + + + + fl + Factorial Language + FL + + FL in ANTLR + + + Ralf Lämmel, <code>FL.g</code> + + 17 May – 16 July 2008 + + topics/fl/java1/FL.g + SVN + + + http://www.antlr.org/ + ANTLR + + + + Extracted + antlr + + + Extraction + + topics/extraction/antlr/antlrstrip.py + antlrstrip.py + + + topics/extraction/antlr/slps/antlr2bgf/StrippedANTLR.g + StrippedANTLR.g + + + + + + + + FL in DCG + + + Ralf Lämmel, <code>Parser.pro</code> + + 28 July – 3 September 2008 + + topics/fl/prolog1/Parser.pro + SVN + + + + Extracted + dcg + + + Extraction + + shared/prolog/cli/dcg2bgf.pro + dcg2bgf.pro + + + + R. Lämmel, G. Riedewald. Prological Language Processing. LDTA 2001. + + http://ldta.info/2001/ + LDTA + + + http://homepages.cwi.nl/~ralf/plp/paper.pdf + Paper + + + http://homepages.cwi.nl/~ralf/plp/slides.pdf + Slides + + + + + + + + FL in Ecore + + + Guido Wachsmuth, Vadim Zaytsev, <code>fl.ecore</code> + + 26 June 2008 – 28 May 2009 + + topics/fl/emf1/fl.ecore + SVN + + + + Extracted + ecore + + + + Vadim Zaytsev, <code>fl.ecore</code> generated from <code>fl.xsd</code> + + 28 May 2009 + + topics/fl/emf2/model/fl.ecore + SVN + + + http://www.eclipse.org + Eclipse + + + + Extracted + ecore2 + + + Extraction + + topics/extraction/ecore/ecore2bgf.xslt + ecore2bgf.xslt + + + + + + + FL in Java + + + Ralf Lämmel, <code>Program.java</code>, <code>Function.java</code> et al. + + 17 May – 28 July 2008 + + http://slps.svn.sourceforge.net/viewvc/slps/topics/fl/java1/types/ + SVN + + + + Extracted + om + + + + Ralf Lämmel, <code>Program.java</code>, <code>Function.java</code> et al. generated from <code>fl.xsd</code>. + + 21 May – 28 July 2008 + + http://slps.svn.sourceforge.net/viewvc/slps/topics/fl/java3/fl/ + SVN + + + http://jaxb.java.net/ + JAXB + + + + Extracted + jaxb + + + Extraction + + topics/extraction/java/slps/java2bgf/Tool.java + slps.java2bgf.Tool + + + + + + + + FL in SDF + + + Ralf Lämmel, Vadim Zaytsev, <code>FL.sdf</code>, <code>Syntax.sdf</code>, et al. + + 1–25 Aug 2008 + + http://slps.svn.sourceforge.net/viewvc/slps/topics/fl/asfsdf/ + SVN + + + + Extracted + sdf + + + + + + + + FL in TXL + + + Vadim Zaytsev, <code>FL.Txl</code>. + + 6–7 Jul 2009 + + topics/fl/txl/FL.Txl + SVN + + + + Extracted + txl + + + Extraction + + topics/extraction/txl/TXLGrammar/Txl/txl.grm + txl.grm + + + topics/extraction/txl/txl2bgf.xslt + txl2bgf.xslt + + + + + + + FL in XML Schema + + + Ralf Lämmel, <code>fl.xsd</code>. + + 20 May – 29 July 2008 + + topics/fl/xsd/fl.xsd + SVN + + + + Extracted + xsd + + + + + + + + + ebnf + Metasyntax + (E)BNF + + BGF + + + Ralf Lämmel, Vadim Zaytsev, <code>bgf.xsd</code> + + 28 July 2008 – 5 February 2009 + + shared/xsd/bgf.xsd + SVN + + + + Extracted + bgf + + + + + + + + BNF in BGF + + + Vadim Zaytsev, <code>bnf-bgf.bgf</code> + + 11 July 2010 – 11 February 2011 + + topics/grammars/bnf/bnf-bgf.bgf + SVN + + + + Extracted + bnf-bgf + + + + + BNF in SDF + + + Tijs van der Storm, <code>BNF.sdf</code> + + 28 March 2003 + + http://www.meta-environment.org/ + MetaEnv + + + + Extracted + bnf-sdf + + + + Recovery + + topics/grammars/bnf/bnf.sdf.correct.xbgf + bnf.sdf.correct.xbgf + + + topics/investigation/subgrammar/subgrammar.py + subgrammar.py + + + + + + EBNF of ISO + + + ISO/IEC 14977:1996(E). + <em>Information Technology—Syntactic Metalanguage—Extended BNF</em> + + 1996 + + http://www.cl.cam.ac.uk/~mgk25/iso-14977.pdf + PDF + + + topics/grammars/bnf/ebnf.iso.informal.bgf + SVN + + + + Extracted + ebnf-iso + + + Recovery + + topics/grammars/bnf/ebnf.iso.generalize.xbgf + ebnf.iso.generalize.xbgf + + + + + + EBNF in SDF + + + Paul Klint, W3C version of <code>EBNF.sdf</code> + + 27 March 2007 + + http://www.meta-environment.org/ + MetaEnv + + + + Extracted + ebnf-sdf + + + + Recovery + + topics/grammars/bnf/correct.ebnf.xbgf + correct.ebnf.xbgf + + + topics/investigation/subgrammar/subgrammar.py + subgrammar.py + + + + + + Rascal + + + Jurgen Vinju, Arnold Lankamp, Tijs van der Storm, <code>RascalRascal.rsc</code> + + 10 August 2010 – 5 April 2011 + + http://www.rascal-mpl.org/ + Rascal + + + + Extracted + rascal + + + + Recovery + + topics/investigation/subgrammar/subgrammar.py + subgrammar.py + + + topics/grammars/rascal/horizontalize.xbgf + horizontalize.xbgf + + + + + + YACC + + + Paul Klint, <code>YACC.sdf</code> + + 28 March 2007 + + http://www.meta-environment.org/ + MetaEnv + + + http://dinosaur.compilertools.net/#yacc + YACC + + + + Extracted + yacc + + + + Recovery + + topics/grammars/bnf/refactor.yacc.xbgf + refactor.yacc.xbgf + + + topics/investigation/subgrammar/subgrammar.py + subgrammar.py + + + + + + + tescol + TESt COmpiler Language + TESCOL + + TESCOL + + + Bernd Fischer, <em>COMP2010: Compiler Engineering</em> course work + + 11 March – 22 April 2010 + + http://328d.net/ + 328d + + + Referencereference + 0000000000 + 0000100001 + 0001000010 + 0001100011 + 0010000100 + 0010100101 + 0011000110 + 0011100111 + 0100001000 + 0100101001 + 0101001010 + 0101101011 + 0110001100 + 0110101101 + 0111001110 + 0111101111 + 1000010000 + 1000110001 + 1001010010 + 1001110011 + 1010010100 + 1010110101 + 1011010110 + 1011110111 + 1100011000 + 1100111001 + 1101011010 + 1101111011 + 1110011100 + 1110111101 + 1111011110 + 1111111111 + + Extraction + + topics/extraction/antlr/ANTLR3.rsc + ANTLR3.rsc + + + topics/extraction/antlr/antlrpp.py + antlrpp.py + + + topics/extraction/antlr/slps/antlr2bgf/StrippedANTLR.g + StrippedANTLR.g + + + + + R. Lämmel, V. Zaytsev. Comparison of Context-free Grammars Based on Parsing Generated Test Data. + + http://grammarware.net/text/2011/testmatch.pdf + Draft + + + ../testmatch + Online + + + + + diff --git a/_dev/zoo.xml b/_dev/zoo.xml index 512dba06..48abc666 100644 --- a/_dev/zoo.xml +++ b/_dev/zoo.xml @@ -1,6 +1,25 @@ Zoo + + Extraction + + topics/extraction/sdf/Main.sdf + Main.sdf + + + topics/extraction/sdf/Main.asf + Main.asf + + + topics/extraction/sdf/Tokens.sdf + Tokens.sdf + + + topics/extraction/sdf/Tokens.asf + Tokens.asf + + Extraction @@ -462,6 +481,49 @@ + + fortran + Fortran + + Fortran-90 + + Jan Derricks, <code>Fortran90.sdf</code> + 12 July 2007 + + http://www.meta-environment.org/ + MetaEnv + + + + Extracted + fortran + + + + Recovery + + topics/investigation/subgrammar/subgrammar.py + subgrammar.py + + + topics/grammars/fortran/refactor.xbgf + refactor.xbgf + + + + + J. Derricks. Fortran grammatica-extractie. MSc thesis, 2007. + + http://repository.cwi.nl/search/abstract.php?publnr=12415 + Abstract + + + http://homepages.cwi.nl/~paulk/thesesMasterSoftwareEngineering/2007/JanDerriks.pdf + Thesis + + + + java Java @@ -673,12 +735,44 @@ Draft - http://slps.sf.net/testmatch + ../testmatch Online + + modula + Modula + + Modula-3 + + Jurgen Vinju, Tijs van der Storm, <code>Modula-3.sdf</code> + 13 February 2006 – 19 September 2008 + + http://www.meta-environment.org/ + MetaEnv + + + + Extracted + modula3 + + + + Recovery + + topics/investigation/subgrammar/subgrammar.py + subgrammar.py + + + topics/grammars/modula/refactor.xbgf + refactor.xbgf + + + + + xpath XPath diff --git a/tank/index.html b/tank/index.html index 7f4e3703..d3315442 100644 --- a/tank/index.html +++ b/tank/index.html @@ -13,7 +13,7 @@

Software Language Processing Suite

Grammar Zoo | Grammar Tank

The objective of the Grammar Tank is to compose a grammar base of multiple different grammars for the same intended language to be used in language engineering research. -

16 grammars and counting

FL(E)BNF


Factorial Language

FL in ANTLRFL in DCGFL in EcoreFL in JavaFL in SDFFL in TXLFL in XML Schema

FL in ANTLR