diff --git a/topics/languedoc/xbgf/Makefile b/topics/languedoc/xbgf/Makefile index 7a70f96c..8280f87a 100644 --- a/topics/languedoc/xbgf/Makefile +++ b/topics/languedoc/xbgf/Makefile @@ -1,25 +1,24 @@ validator = ../../../shared/tools/checkxml +xldf = ../../../shared/tools/xldf +xbgf = ../../../shared/tools/xbgf -build: bgf_pretty.bgf xbgf.ldf - python ../../../topics/transformation/xldf/xldf.py xldf/completeIntro.xldf xbgf.ldf xbgf1.ldf - python ../../../topics/transformation/xldf/xldf.py xldf/completeFoldSection.xldf xbgf1.ldf xbgf2.ldf - python ../../../topics/transformation/xldf/xldf.py xldf/completeRefSection.xldf xbgf2.ldf xbgf3.ldf - python ../../../topics/transformation/xldf/xldf.py xldf/completeIncSection.xldf xbgf3.ldf xbgf4.ldf - python ../../../topics/transformation/xldf/xldf.py xldf/completeDecSection.xldf xbgf4.ldf xbgf5.ldf - python ../../../topics/transformation/xldf/xldf.py xldf/completeRevSections.xldf xbgf5.ldf xbgf6.ldf - python ../../../topics/transformation/xldf/xldf.py xldf/completeDecorSection.xldf xbgf6.ldf xbgf7.ldf +build: xbgf.ldf + ${xldf} xldf/completeIntro.xldf xbgf.ldf xbgf1.ldf + ${xldf} xldf/completeFoldSection.xldf xbgf1.ldf xbgf2.ldf + ${xldf} xldf/completeRefSection.xldf xbgf2.ldf xbgf3.ldf + ${xldf} xldf/completeIncSection.xldf xbgf3.ldf xbgf4.ldf + ${xldf} xldf/completeDecSection.xldf xbgf4.ldf xbgf5.ldf + ${xldf} xldf/completeRevSections.xldf xbgf5.ldf xbgf6.ldf + ${xldf} xldf/completeDecorSection.xldf xbgf6.ldf xbgf7.ldf xsltproc ../../../shared/xsl/ldf2tex.xslt xbgf7.ldf > xbgf.tex pdflatex -interaction=batchmode xbgf pdflatex -interaction=batchmode xbgf -bgf_pretty.bgf: - ../../../shared/tools/xsd2bgf ../../../shared/xsd/bgf.xsd bgf.bgf - ../../../shared/tools/xbgf beautify_bgf.xbgf bgf.bgf bgf_pretty.bgf - -xbgf.ldf: +xbgf.ldf: ../../../shared/tools/xsd2bgf ../../../shared/xsd/xbgf.xsd xbgf.bgf - ../../../shared/tools/xbgf beautify_xbgf.xbgf xbgf.bgf xbgf_1.bgf - ../../../topics/extraction/xsd2ldf/ldfgen.py ../../../shared/xsd/xbgf.xsd xbgf_1.bgf xbgf.ldf + ${xbgf} beautify_bgf.xbgf xbgf.bgf xbgf_1.bgf + ${xbgf} beautify_xbgf.xbgf xbgf_1.bgf xbgf_2.bgf + ../../../topics/extraction/xsd2ldf/ldfgen.py ../../../shared/xsd/xbgf.xsd xbgf_2.bgf xbgf.ldf rebuild: make clean diff --git a/topics/languedoc/xbgf/beautify_bgf.xbgf b/topics/languedoc/xbgf/beautify_bgf.xbgf index 6a17c137..7190c7ec 100644 --- a/topics/languedoc/xbgf/beautify_bgf.xbgf +++ b/topics/languedoc/xbgf/beautify_bgf.xbgf @@ -70,19 +70,14 @@ - + expression - - - - - - - - - + + value + + @@ -108,11 +103,5 @@ - expression - label - nonterminal - terminal - selector - \ No newline at end of file diff --git a/topics/languedoc/xbgf/beautify_xbgf.xbgf b/topics/languedoc/xbgf/beautify_xbgf.xbgf index 7dc64429..cb4adf81 100644 --- a/topics/languedoc/xbgf/beautify_xbgf.xbgf +++ b/topics/languedoc/xbgf/beautify_xbgf.xbgf @@ -233,59 +233,8 @@ - - - scope - - - - - - - label - - label - - - - - - - - nonterminal - - nonterminal - - - - - - - - - - - scope - - - - label - - - - - - nonterminal - - nonterminal - - - - - - - - - + + scope + \ No newline at end of file diff --git a/topics/languedoc/xbgf/xldf/completeFoldSection.xldf b/topics/languedoc/xbgf/xldf/completeFoldSection.xldf index 31cb75e5..6ca46a91 100644 --- a/topics/languedoc/xbgf/xldf/completeFoldSection.xldf +++ b/topics/languedoc/xbgf/xldf/completeFoldSection.xldf @@ -194,7 +194,7 @@ - Extract also works vertically. Given the input: + Extraction also works vertically. Given the input: diff --git a/topics/languedoc/xbgf/xldf/completeIntro.xldf b/topics/languedoc/xbgf/xldf/completeIntro.xldf index 67d56160..691a8423 100644 --- a/topics/languedoc/xbgf/xldf/completeIntro.xldf +++ b/topics/languedoc/xbgf/xldf/completeIntro.xldf @@ -71,18 +71,43 @@ BGF is a BNF-like Grammar Format, an XML dialect of Extended Backus Naur Form - that was used in the language convergence infrastructure. Its grammar is presented + that was used in the language convergence infrastructure. The grammar of + its abstract syntax, generated from the corresponding XML Schema, is presented below in a slightly beautified form (all undefined nonterminals are strings): - - notation-section - bgf_pretty.bgf - - + +
element-grammar
+ notation-section +
+ +
element-production
+ notation-section +
+ +
element-expression
+ notation-section +
+ +
simpleType-value
+ notation-section +
+ +
simpleType-label
+
+ +
simpleType-nonterminal
+
+ +
simpleType-selector
+
+ +
simpleType-terminal
+
+ notation-section @@ -146,7 +171,9 @@ its semantics only means that we do not want to have empty samples while an empty grammar is still acceptable in general. Since this is data refinement, a semantic decreasing transformation is used without - hesitation. The rest of the transformational sequence is trivial refactorings. + hesitation. The rest of the transformational sequence are + trivial refactorings (verticalisations are already performed in the + example from the previous section). The BNF source undergoes the following transformation for stripping diff --git a/topics/languedoc/xbgf/xldf/completeRefSection.xldf b/topics/languedoc/xbgf/xldf/completeRefSection.xldf index f134f46f..1ee79486 100644 --- a/topics/languedoc/xbgf/xldf/completeRefSection.xldf +++ b/topics/languedoc/xbgf/xldf/completeRefSection.xldf @@ -29,7 +29,7 @@
- + | \varepsilon @@ -149,22 +149,22 @@
- Second, a composion of two EBNF modifers can be massaged to one modifier according + Second, a composition of two EBNF modifers can be massaged to one modifier according to the table below:
- + y - x? + y? - x^+ + y^+ - x^\star + y^\star