Skip to content

Commit

Permalink
meta-massage
Browse files Browse the repository at this point in the history
git-svn-id: https://slps.svn.sourceforge.net/svnroot/slps@1105 ab42f6e0-554d-0410-b580-99e487e6eeb2
  • Loading branch information
grammarware committed Jul 23, 2011
1 parent e74ce4a commit b818a88
Show file tree
Hide file tree
Showing 8 changed files with 240 additions and 247 deletions.
28 changes: 13 additions & 15 deletions topics/grammars/wiki/mediawiki-bnf/Makefile
Expand Up @@ -10,7 +10,7 @@ extract:

${tooldir}/mergebgf raw.1.bgf raw.2.bgf raw.3.bgf raw.4.bgf raw.5.bgf ext.01.bgf

${tooldir}/xbgf utilise-plus.xbgf ext.01.bgf ext.02.bgf
${tooldir}/xbgf utilise-repetition.xbgf ext.01.bgf ext.02.bgf
${tooldir}/xbgf remove-concatenation.xbgf ext.02.bgf ext.03.bgf
${tooldir}/xbgf remove-extension-points.xbgf ext.03.bgf ext.04.bgf
${tooldir}/xbgf remove-php-legacy.xbgf ext.04.bgf ext.05.bgf
Expand All @@ -20,24 +20,22 @@ extract:
${tooldir}/xbgf remove-duplicates.xbgf ext.08.bgf ext.09.bgf
${tooldir}/xbgf dehtmlify.xbgf ext.09.bgf ext.10.bgf
${tooldir}/xbgf utilise-question.xbgf ext.10.bgf ext.11.bgf
${tooldir}/xbgf utilise-star.xbgf ext.11.bgf ext.12.bgf
${tooldir}/xbgf fix-markup.xbgf ext.12.bgf ext.13.bgf
${tooldir}/xbgf define-special-symbols.xbgf ext.13.bgf ext.14.bgf
${tooldir}/xbgf fake-exclusion.xbgf ext.14.bgf ext.15.bgf
${tooldir}/xbgf remove-postfix-case.xbgf ext.15.bgf ext.16.bgf
${tooldir}/xbgf fix-names.xbgf ext.16.bgf ext.17.bgf
${tooldir}/xbgf unify-whitespace.xbgf ext.17.bgf ext.18.bgf
${tooldir}/xbgf connect-grammar.xbgf ext.18.bgf ext.19.bgf
${tooldir}/xbgf refactor-repetition.xbgf ext.19.bgf ext.20.bgf
${tooldir}/xbgf define-lexicals.xbgf ext.20.bgf ext.21.bgf
${tooldir}/xbgf fix-markup.xbgf ext.11.bgf ext.12.bgf
${tooldir}/xbgf define-special-symbols.xbgf ext.12.bgf ext.13.bgf
${tooldir}/xbgf fake-exclusion.xbgf ext.13.bgf ext.14.bgf
${tooldir}/xbgf remove-postfix-case.xbgf ext.14.bgf ext.15.bgf
${tooldir}/xbgf fix-names.xbgf ext.15.bgf ext.16.bgf
${tooldir}/xbgf unify-whitespace.xbgf ext.16.bgf ext.17.bgf
${tooldir}/xbgf connect-grammar.xbgf ext.17.bgf ext.18.bgf
${tooldir}/xbgf refactor-repetition.xbgf ext.18.bgf ext.19.bgf
${tooldir}/xbgf define-lexicals.xbgf ext.19.bgf ext.20.bgf

${hunter} mediawiki.config.wiki plain.edd add.bgf
${tooldir}/mergebgf ext.21.bgf add.bgf ext.22.bgf
${tooldir}/subgrammar ext.21.bgf wiki-page grammar.bgf
#${hunter} mediawiki.config.wiki plain.edd add.bgf
#${tooldir}/mergebgf ext.21.bgf add.bgf ext.22.bgf
${tooldir}/subgrammar ext.20.bgf wiki-page grammar.bgf

${tooldir}/bgf2html grammar.bgf view.html
${tooldir}/checkbgf grammar.bgf
${tooldir}/checkbgf ext.01.bgf

plot:
${tooldir}/bgf2dot grammar.bgf grammar.dot
Expand Down
81 changes: 25 additions & 56 deletions topics/grammars/wiki/mediawiki-bnf/connect-grammar.xbgf
@@ -1,5 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<xbgf:sequence xmlns:xbgf="http://planet-sl.org/xbgf" xmlns:bgf="http://planet-sl.org/bgf">
<!-- intentionally bottom -->
<xbgf:eliminate>
<nonterminal>BlockHTML</nonterminal>
</xbgf:eliminate>
<!-- Noparse block -->
<xbgf:define>
<bgf:production>
Expand All @@ -13,10 +17,23 @@
</bgf:expression>
</bgf:production>
</xbgf:define>
<!-- Beautification engage! -->
<xbgf:reroot>
<root>wiki-page</root>
</xbgf:reroot>
<!-- ImageOtherParameter -->
<xbgf:vertical>
<nonterminal>image-option</nonterminal>
</xbgf:vertical>
<xbgf:add>
<vertical>
<bgf:production>
<nonterminal>image-option</nonterminal>
<bgf:expression>
<nonterminal>image-other-parameter</nonterminal>
</bgf:expression>
</bgf:production>
</vertical>
</xbgf:add>
<xbgf:horizontal>
<nonterminal>image-option</nonterminal>
</xbgf:horizontal>
<!-- digits!!! -->
<xbgf:define>
<bgf:production>
Expand All @@ -38,29 +55,6 @@
<add>DIGIT</add>
<to>decimal-digit</to>
</xbgf:unite>
<!-- ImageOtherParameter -->
<xbgf:vertical>
<nonterminal>image-option</nonterminal>
</xbgf:vertical>
<xbgf:add>
<vertical>
<bgf:production>
<nonterminal>image-option</nonterminal>
<bgf:expression>
<nonterminal>image-other-parameter</nonterminal>
</bgf:expression>
</bgf:production>
</vertical>
</xbgf:add>
<xbgf:horizontal>
<nonterminal>image-option</nonterminal>
</xbgf:horizontal>
<xbgf:eliminate>
<nonterminal>BlockHTML</nonterminal>
</xbgf:eliminate>
<xbgf:eliminate>
<nonterminal>newlines</nonterminal>
</xbgf:eliminate>
<!--
mw("img_upright") ::= "upright" [, ["=",] PositiveInteger]
mw("img_width") ::= PositiveNumber "px" ;
Expand All @@ -73,35 +67,10 @@
<add>PositiveNumber</add>
<to>digits</to>
</xbgf:unite>
<!--
removing French idiosyncrasy
-->
<xbgf:vertical>
<nonterminal>text-with-formatting</nonterminal>
</xbgf:vertical>
<xbgf:remove>
<vertical>
<bgf:production>
<nonterminal>text-with-formatting</nonterminal>
<bgf:expression>
<nonterminal>open-guillemet</nonterminal>
</bgf:expression>
</bgf:production>
</vertical>
</xbgf:remove>
<xbgf:remove>
<vertical>
<bgf:production>
<nonterminal>text-with-formatting</nonterminal>
<bgf:expression>
<nonterminal>close-guillemet</nonterminal>
</bgf:expression>
</bgf:production>
</vertical>
</xbgf:remove>
<xbgf:horizontal>
<nonterminal>text-with-formatting</nonterminal>
</xbgf:horizontal>
<!-- Defined in Inline Text and Fundamentals, never used -->
<xbgf:eliminate>
<nonterminal>newlines</nonterminal>
</xbgf:eliminate>
<!-- ImageModeParameter -->
<xbgf:unite>
<add>ImageModeThumb</add>
Expand Down
17 changes: 9 additions & 8 deletions topics/grammars/wiki/mediawiki-bnf/define-lexicals.xbgf
@@ -1,5 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<xbgf:sequence xmlns:xbgf="http://planet-sl.org/xbgf" xmlns:bgf="http://planet-sl.org/bgf">
<!-- Any -->
<xbgf:redefine>
<bgf:production>
<nonterminal>random-character</nonterminal>
<bgf:expression>
<any/>
</bgf:expression>
</bgf:production>
</xbgf:redefine>
<!-- Mainstream -->
<xbgf:define>
<bgf:production>
Expand All @@ -26,14 +35,6 @@
</bgf:production>
</xbgf:define>
<!-- Any -->
<xbgf:redefine>
<bgf:production>
<nonterminal>random-character</nonterminal>
<bgf:expression>
<any/>
</bgf:expression>
</bgf:production>
</xbgf:redefine>
<xbgf:define>
<bgf:production>
<nonterminal>any-text</nonterminal>
Expand Down
70 changes: 70 additions & 0 deletions topics/grammars/wiki/mediawiki-bnf/define-special-symbols.xbgf
Expand Up @@ -87,4 +87,74 @@
<xbgf:horizontal>
<nonterminal>TableParameters</nonterminal>
</xbgf:horizontal>
<!-- defining some unresolved nonterminals from configuration; valid only for default configuration of MediaWiki for Wikipedia (which is great for a baseline grammar) -->
<xbgf:define>
<bgf:production>
<nonterminal>FROM_LANGUAGE_FILE</nonterminal>
<bgf:expression>
<terminal>#redirect</terminal>
</bgf:expression>
</bgf:production>
</xbgf:define>
<xbgf:inline>FROM_LANGUAGE_FILE</xbgf:inline>
<xbgf:define>
<bgf:production>
<nonterminal>STRING_FROM_DB</nonterminal>
<bgf:expression>
<terminal>Wikipedia</terminal>
</bgf:expression>
</bgf:production>
</xbgf:define>
<xbgf:inline>STRING_FROM_DB</xbgf:inline>
<!-- [_0-9A-Za-z\x80-\xff] -->
<xbgf:define>
<bgf:production>
<nonterminal>STRING_FROM_CONFIG</nonterminal>
<bgf:expression>
<value>string</value>
</bgf:expression>
</bgf:production>
</xbgf:define>
<xbgf:inline>STRING_FROM_CONFIG</xbgf:inline>
<!-- by default, "Category" -->
<xbgf:define>
<bgf:production>
<nonterminal>NS_CATEGORY</nonterminal>
<bgf:expression>
<terminal>Category</terminal>
</bgf:expression>
</bgf:production>
</xbgf:define>
<xbgf:inline>NS_CATEGORY</xbgf:inline>
<!-- <protocol> ::= ALLOWED_PROTOCOL_FROM_CONFIG (e.g. "http://", "mailto:") -->
<xbgf:define>
<bgf:production>
<nonterminal>ALLOWED_PROTOCOL_FROM_CONFIG</nonterminal>
<bgf:expression>
<choice>
<bgf:expression>
<terminal>http://</terminal>
</bgf:expression>
<bgf:expression>
<terminal>https://</terminal>
</bgf:expression>
<bgf:expression>
<terminal>ftp://</terminal>
</bgf:expression>
<bgf:expression>
<terminal>ftps://</terminal>
</bgf:expression>
<bgf:expression>
<terminal>mailto:</terminal>
</bgf:expression>
</choice>
</bgf:expression>
</bgf:production>
</xbgf:define>
<xbgf:inline>ALLOWED_PROTOCOL_FROM_CONFIG</xbgf:inline>
<!-- seems this way, need to validate -->
<xbgf:unite>
<add>LEGAL_ARTICLE_ENTITY</add>
<to>article-title</to>
</xbgf:unite>
</xbgf:sequence>
106 changes: 18 additions & 88 deletions topics/grammars/wiki/mediawiki-bnf/fix-names.xbgf
@@ -1,32 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<xbgf:sequence xmlns:xbgf="http://planet-sl.org/xbgf" xmlns:bgf="http://planet-sl.org/bgf">
<!-- misleading singular/plural mismatch -->
<xbgf:rename>
<nonterminal>
<from>title-legal-chars</from>
<to>title-legal-char</to>
</nonterminal>
</xbgf:rename>
<xbgf:unite>
<add>harmless-characters</add>
<to>harmless-character</to>
</xbgf:unite>
<!-- misspelled -->
<xbgf:unite>
<add>unespaced-less-than</add>
<to>unescaped-less-than</to>
</xbgf:unite>
<xbgf:unite>
<add>ImageParamUpgright</add>
<to>ImageParamUpright</to>
</xbgf:unite>
<xbgf:unite>
<add>ImageValignParameter</add>
<to>ImageVAlignParameter</to>
</xbgf:unite>
<xbgf:unite>
<add>TableCellParameter</add>
<to>TableCellParameters</to>
</xbgf:unite>
<xbgf:unite>
<add>harmless-characters</add>
<to>harmless-character</to>
</xbgf:unite>
<!-- ImageAlignParameter ::= ImageAlignLeft | ImageAlign|Center | ImageAlignRight | ImageAlignNone -->
<xbgf:replace>
<bgf:expression>
Expand All @@ -47,6 +35,19 @@
</choice>
</bgf:expression>
</xbgf:replace>
<!-- misspelled names -->
<xbgf:unite>
<add>unespaced-less-than</add>
<to>unescaped-less-than</to>
</xbgf:unite>
<xbgf:unite>
<add>ImageParamUpgright</add>
<to>ImageParamUpright</to>
</xbgf:unite>
<xbgf:unite>
<add>ImageValignParameter</add>
<to>ImageVAlignParameter</to>
</xbgf:unite>
<!-- fixing errors that emerged due to inconsistency of naming convention -->
<xbgf:unite>
<add>noparseblock</add>
Expand Down Expand Up @@ -393,75 +394,4 @@
<to>wiki-markup-characters</to>
</nonterminal>
</xbgf:rename>
<!-- defining some unresolved nonterminals from configuration; valid only for default configuration of MediaWiki for Wikipedia (which is great for a baseline grammar) -->
<xbgf:define>
<bgf:production>
<nonterminal>FROM_LANGUAGE_FILE</nonterminal>
<bgf:expression>
<terminal>#redirect</terminal>
</bgf:expression>
</bgf:production>
</xbgf:define>
<xbgf:inline>FROM_LANGUAGE_FILE</xbgf:inline>
<xbgf:define>
<bgf:production>
<nonterminal>STRING_FROM_DB</nonterminal>
<bgf:expression>
<terminal>Wikipedia</terminal>
</bgf:expression>
</bgf:production>
</xbgf:define>
<xbgf:inline>STRING_FROM_DB</xbgf:inline>
<!-- [_0-9A-Za-z\x80-\xff] -->
<xbgf:define>
<bgf:production>
<nonterminal>STRING_FROM_CONFIG</nonterminal>
<bgf:expression>
<value>string</value>
</bgf:expression>
</bgf:production>
</xbgf:define>
<xbgf:inline>STRING_FROM_CONFIG</xbgf:inline>
<!-- by default, "Category" -->
<xbgf:define>
<bgf:production>
<nonterminal>NS_CATEGORY</nonterminal>
<bgf:expression>
<terminal>Category</terminal>
</bgf:expression>
</bgf:production>
</xbgf:define>
<xbgf:inline>NS_CATEGORY</xbgf:inline>
<!-- <protocol> ::= ALLOWED_PROTOCOL_FROM_CONFIG (e.g. "http://", "mailto:") -->
<xbgf:define>
<bgf:production>
<nonterminal>ALLOWED_PROTOCOL_FROM_CONFIG</nonterminal>
<bgf:expression>
<choice>
<bgf:expression>
<terminal>http://</terminal>
</bgf:expression>
<bgf:expression>
<terminal>https://</terminal>
</bgf:expression>
<bgf:expression>
<terminal>ftp://</terminal>
</bgf:expression>
<bgf:expression>
<terminal>ftps://</terminal>
</bgf:expression>
<bgf:expression>
<terminal>mailto:</terminal>
</bgf:expression>
</choice>
</bgf:expression>
</bgf:production>
</xbgf:define>
<xbgf:inline>ALLOWED_PROTOCOL_FROM_CONFIG</xbgf:inline>
<!-- seems this way, need to validate -->
<xbgf:unite>
<add>LEGAL_ARTICLE_ENTITY</add>
<to>article-title</to>
</xbgf:unite>

</xbgf:sequence>

0 comments on commit b818a88

Please sign in to comment.