package org.whole.lang.grammars.codebase;
import org.whole.lang.builders.IBuilderOperation;
import org.whole.lang.templates.AbstractTemplateFactory;
public class MediaWikiGrammar extends AbstractTemplateFactory<org.whole.lang.grammars.model.Grammar> {
public void apply(IBuilderOperation op) {
org.whole.lang.grammars.builders.IGrammarsBuilder b0 = (org.whole.lang.grammars.builders.IGrammarsBuilder) op.wGetBuilder(org.whole.lang.grammars.reflect.GrammarsLanguageKit.URI);
b0.Grammar_();
b0.Name("MediaWikiGrammar");
b0.LanguageDescriptor_();
b0.URI("whole:org.whole.lang.mediawiki:MediaWiki");
b0.Namespace("org.whole.lang.mediawiki");
b0.Name("MediaWiki");
org.whole.lang.commons.builders.ICommonsBuilder b1 = (org.whole.lang.commons.builders.ICommonsBuilder) op.wGetBuilder(org.whole.lang.commons.reflect.CommonsLanguageKit.URI);
b1.Resolver();
b0._LanguageDescriptor();
b0.NonTerminal("Article");
b1.Resolver();
b0.Productions_(3);
b0.Production_();
b0.NonTerminal("WS");
b0.LiteralTerminal_();
b0.RegExp("\\s*");
b0.Category("DELIMITER");
b0.Literal("");
b0._LiteralTerminal();
b1.Resolver();
b0._Production();
b0.Production_();
b0.NonTerminal("SP");
b0.LiteralTerminal_();
b0.RegExp(" ");
b0.Category("DELIMITER");
b0.Literal(" ");
b0._LiteralTerminal();
b1.Resolver();
b0._Production();
b0.Production_();
b0.NonTerminal("NL");
b0.LiteralTerminal_();
b0.RegExp("\\n");
b0.Category("DELIMITER");
b0.Literal("\n");
b0._LiteralTerminal();
b1.Resolver();
b0._Production();
b0._Productions();
b0.Productions_(15);
b0.Production_();
b0.NonTerminal("Wiki");
b0.Concatenate_(5);
b0.Production_();
b0.NonTerminal("Title");
b0.DataTerminal_();
b0.RegExp(".*");
b0.Category("LITERAL");
b0.Format("%s");
b0._DataTerminal();
b1.Resolver();
b0._Production();
b0.NewLine();
b0.Production_();
b0.NonTerminal("Authors");
b0.Repeat_();
b0.Size(1);
b0.Unbounded();
b0.Space();
b0.Production_();
b0.NonTerminal("Author");
b0.DataTerminal_();
b0.RegExp(".*");
b0.Category("LITERAL");
b0.Format("%s");
b0._DataTerminal();
b1.Resolver();
b0._Production();
b0._Repeat();
b1.Resolver();
b0._Production();
b0.NewLine();
b0.Production_();
b0.NonTerminal("WikiPages");
b0.Repeat_();
b0.Size(1);
b0.Unbounded();
b0.NewLine();
b0.Production_();
b0.NonTerminal("WikiPage");
b0.Concatenate_(3);
b0.As_();
b0.NonTerminal("ArticleTitle");
b0.Name("title");
b0._As();
b0.Space();
b0.NonTerminal("Article");
b0._Concatenate();
b1.Resolver();
b0._Production();
b0._Repeat();
b1.Resolver();
b0._Production();
b0._Concatenate();
b1.Resolver();
b0._Production();
b0.Production_();
b0.NonTerminal("Article");
b0.Production_();
b0.NonTerminal("Blocks");
b0.Repeat_();
b0.Size(1);
b0.Unbounded();
b1.Resolver();
b0.Concatenate_(2);
b0.Production_();
b0.NonTerminal("Block");
b0.Concatenate_(3);
b0.Choose_(2);
b0.Production_();
b0.NonTerminal("SpecialBlock");
b0.Choose_(9);
b0.Production_();
b0.NonTerminal("HorizontalRule");
b0.LiteralTerminal_();
b0.RegExp("----+\\n");
b0.Category("LITERAL");
b0.Literal("----");
b0._LiteralTerminal();
b1.Resolver();
b0._Production();
b0.NonTerminal("Heading");
b0.Production_();
b0.NonTerminal("Nowiki");
b0.Concatenate_(3);
b0.LiteralTerminal_();
b0.RegExp("<nowiki>");
b0.Category("DELIMITER");
b0.Literal("<nowiki>");
b0._LiteralTerminal();
b0.As_();
b0.Split_();
b0.ByDelimiter_();
b0.RegExp("</nowiki>");
b0._ByDelimiter();
b0.Production_();
b0.NonTerminal("RawText");
b0.DataTerminal_();
b0.RegExp("(?s).*");
b0.Category("LITERAL");
b0.Format("%s");
b0._DataTerminal();
b1.Resolver();
b0._Production();
b0._Split();
b0.Name("text");
b0._As();
b0.LiteralTerminal_();
b0.RegExp("</nowiki>");
b0.Category("DELIMITER");
b0.Literal("</nowiki>");
b0._LiteralTerminal();
b0._Concatenate();
b1.Resolver();
b0._Production();
b0.Production_();
b0.NonTerminal("Pre");
b0.Concatenate_(3);
b0.LiteralTerminal_();
b0.RegExp("<pre>");
b0.Category("DELIMITER");
b0.Literal("<pre>");
b0._LiteralTerminal();
b0.As_();
b0.Split_();
b0.ByDelimiter_();
b0.RegExp("</pre>");
b0._ByDelimiter();
b0.NonTerminal("RawText");
b0._Split();
b0.Name("text");
b0._As();
b0.LiteralTerminal_();
b0.RegExp("</pre>");
b0.Category("DELIMITER");
b0.Literal("</pre>");
b0._LiteralTerminal();
b0._Concatenate();
b1.Resolver();
b0._Production();
b0.Production_();
b0.NonTerminal("SpaceBlock");
b0.Repeat_();
b0.Size(1);
b0.Unbounded();
b1.Resolver();
b0.Concatenate_(2);
b0.LiteralTerminal_();
b0.RegExp("\\n+ ");
b0.Category("DELIMITER");
b0.Literal("\n ");
b0._LiteralTerminal();
b0.Production_();
b0.NonTerminal("SpaceLine");
b0.Choose_(2);
b0.Concatenate_(1);
b0.NonTerminal("InlineText");
b0._Concatenate();
b0.Production_();
b0.NonTerminal("EmptyLine");
b0.Empty_();
b0.Literal("");
b0._Empty();
b1.Resolver();
b0._Production();
b0._Choose();
b1.Resolver();
b0._Production();
b0._Concatenate();
b0._Repeat();
b1.Resolver();
b0._Production();
b0.Production_();
b0.NonTerminal("Template");
b0.Concatenate_(4);
b0.LiteralTerminal_();
b0.RegExp("\\Q{{\\E");
b0.Category("DELIMITER");
b0.Literal("{{");
b0._LiteralTerminal();
b0.As_();
b0.NonTerminal("ArticleTitle");
b0.Name("title");
b0._As();
b0.Split_();
b0.ByDelimiter_();
b0.RegExp("}}");
b0._ByDelimiter();
b0.Concatenate_(4);
b0.LiteralTerminal_();
b0.RegExp("\\Q|\\E");
b0.Category("DELIMITER");
b0.Literal("|");
b0._LiteralTerminal();
b0.Split_();
b0.ByDelimiter_();
b0.RegExp("\\|");
b0._ByDelimiter();
b0.As_();
b0.NonTerminal("Text");
b0.Name("heading");
b0._As();
b0._Split();
b0.LiteralTerminal_();
b0.RegExp("\\Q|\\E");
b0.Category("DELIMITER");
b0.Literal("|");
b0._LiteralTerminal();
b0.As_();
b0.NonTerminal("Blocks");
b0.Name("body");
b0._As();
b0._Concatenate();
b0._Split();
b0.LiteralTerminal_();
b0.RegExp("}}");
b0.Category("DELIMITER");
b0.Literal("}}");
b0._LiteralTerminal();
b0._Concatenate();
b1.Resolver();
b0._Production();
b0.Production_();
b0.NonTerminal("List");
b0.Repeat_();
b0.Size(1);
b0.Unbounded();
b0.When_();
b0.LiteralTerminal_();
b0.RegExp("\\n[:#*;]");
b0.Category("DELIMITER");
b0.Literal("");
b0._LiteralTerminal();
b0.Concatenate_(2);
b0.LiteralTerminal_();
b0.RegExp("\\n");
b0.Category("DELIMITER");
b0.Literal("");
b0._LiteralTerminal();
b0.NewLine();
b0._Concatenate();
b0._When();
b0.NonTerminal("ListItem");
b0._Repeat();
b1.Resolver();
b0._Production();
b0.NonTerminal("Table");
b0.NonTerminal("Link");
b0._Choose();
b1.Resolver();
b0._Production();
b0.Production_();
b0.NonTerminal("Paragraph");
b0.Repeat_();
b0.Size(1);
b0.Unbounded();
b0.When_();
b0.And_();
b0.LiteralTerminal_();
b0.RegExp("\\n[^\\n]");
b0.Category("DELIMITER");
b0.Literal("");
b0._LiteralTerminal();
b0.And_();
b0.Not_();
b0.LiteralTerminal_();
b0.RegExp("\\n----");
b0.Category("DELIMITER");
b0.Literal("");
b0._LiteralTerminal();
b0._Not();
b0.And_();
b0.Not_();
b0.LiteralTerminal_();
b0.RegExp("\\n<nowiki>");
b0.Category("DELIMITER");
b0.Literal("");
b0._LiteralTerminal();
b0._Not();
b0.Not_();
b0.LiteralTerminal_();
b0.RegExp("\\n ");
b0.Category("DELIMITER");
b0.Literal("");
b0._LiteralTerminal();
b0._Not();
b0._And();
b0._And();
b0._And();
b0.NonTerminal("NL");
b0._When();
b0.NonTerminal("InlineText");
b0._Repeat();
b1.Resolver();
b0._Production();
b0._Choose();
b0.NewLine();
b0.NewLine();
b0._Concatenate();
b1.Resolver();
b0._Production();
b0.Optional_();
b0.When_();
b0.Not_();
b0.LiteralTerminal_();
b0.RegExp("\\n+ ");
b0.Category("DELIMITER");
b0.Literal("");
b0._LiteralTerminal();
b0._Not();
b0.NonTerminal("WS");
b0._When();
b0._Optional();
b0._Concatenate();
b0._Repeat();
b1.Resolver();
b0._Production();
b1.Resolver();
b0._Production();
b0.Production_();
b0.NonTerminal("ListItemOrItemBody");
b0.Choose_(2);
b0.Production_();
b0.NonTerminal("ListItem");
b0.Choose_(3);
b0.Production_();
b0.NonTerminal("IndentItem");
b0.Concatenate_(2);
b0.LiteralTerminal_();
b0.RegExp(":");
b0.Category("DELIMITER");
b0.Literal(":");
b0._LiteralTerminal();
b0.As_();
b0.NonTerminal("ListItemOrItemBody");
b0.Name("item");
b0._As();
b0._Concatenate();
b1.Resolver();
b0._Production();
b0.Production_();
b0.NonTerminal("EnumeratedItem");
b0.Concatenate_(2);
b0.LiteralTerminal_();
b0.RegExp("#");
b0.Category("DELIMITER");
b0.Literal("#");
b0._LiteralTerminal();
b0.As_();
b0.NonTerminal("ListItemOrItemBody");
b0.Name("item");
b0._As();
b0._Concatenate();
b1.Resolver();
b0._Production();
b0.Production_();
b0.NonTerminal("BulletItem");
b0.Concatenate_(2);
b0.LiteralTerminal_();
b0.RegExp("\\Q*\\E");
b0.Category("DELIMITER");
b0.Literal("*");
b0._LiteralTerminal();
b0.As_();
b0.NonTerminal("ListItemOrItemBody");
b0.Name("item");
b0._As();
b0._Concatenate();
b1.Resolver();
b0._Production();
b0._Choose();
b1.Resolver();
b0._Production();
b0.Production_();
b0.NonTerminal("ItemBody");
b0.Choose_(2);
b0.Production_();
b0.NonTerminal("DefinedTerm");
b0.Concatenate_(3);
b0.LiteralTerminal_();
b0.RegExp(";");
b0.Category("DELIMITER");
b0.Literal(";");
b0._LiteralTerminal();
b0.NonTerminal("Text");
b0.Optional_();
b0.Production_();
b0.NonTerminal("Definition");
b0.Concatenate_(2);
b0.LiteralTerminal_();
b0.RegExp(":");
b0.Category("DELIMITER");
b0.Literal(":");
b0._LiteralTerminal();
b0.NonTerminal("InlineText");
b0._Concatenate();
b1.Resolver();
b0._Production();
b0._Optional();
b0._Concatenate();
b1.Resolver();
b0._Production();
b0.Concatenate_(2);
b0.NonTerminal("WS");
b0.NonTerminal("InlineText");
b0._Concatenate();
b0._Choose();
b1.Resolver();
b0._Production();
b0._Choose();
b1.Resolver();
b0._Production();
b0.Production_();
b0.NonTerminal("Heading");
b0.Choose_(6);
b0.Production_();
b0.NonTerminal("Heading6");
b0.Concatenate_(3);
b0.LiteralTerminal_();
b0.RegExp("======");
b0.Category("DELIMITER");
b0.Literal("======");
b0._LiteralTerminal();
b0.DataTerminal_();
b0.RegExp("[^=]+");
b0.Category("LITERAL");
b0.Format("%s");
b0._DataTerminal();
b0.LiteralTerminal_();
b0.RegExp("======");
b0.Category("DELIMITER");
b0.Literal("======");
b0._LiteralTerminal();
b0._Concatenate();
b1.Resolver();
b0._Production();
b0.Production_();
b0.NonTerminal("Heading5");
b0.Concatenate_(3);
b0.LiteralTerminal_();
b0.RegExp("=====");
b0.Category("DELIMITER");
b0.Literal("=====");
b0._LiteralTerminal();
b0.DataTerminal_();
b0.RegExp("[^=]+");
b0.Category("LITERAL");
b0.Format("%s");
b0._DataTerminal();
b0.LiteralTerminal_();
b0.RegExp("=====");
b0.Category("DELIMITER");
b0.Literal("=====");
b0._LiteralTerminal();
b0._Concatenate();
b1.Resolver();
b0._Production();
b0.Production_();
b0.NonTerminal("Heading4");
b0.Concatenate_(3);
b0.LiteralTerminal_();
b0.RegExp("====");
b0.Category("DELIMITER");
b0.Literal("====");
b0._LiteralTerminal();
b0.DataTerminal_();
b0.RegExp("[^=]+");
b0.Category("LITERAL");
b0.Format("%s");
b0._DataTerminal();
b0.LiteralTerminal_();
b0.RegExp("====");
b0.Category("DELIMITER");
b0.Literal("====");
b0._LiteralTerminal();
b0._Concatenate();
b1.Resolver();
b0._Production();
b0.Production_();
b0.NonTerminal("Heading3");
b0.Concatenate_(3);
b0.LiteralTerminal_();
b0.RegExp("===");
b0.Category("DELIMITER");
b0.Literal("===");
b0._LiteralTerminal();
b0.DataTerminal_();
b0.RegExp("[^=]+");
b0.Category("LITERAL");
b0.Format("%s");
b0._DataTerminal();
b0.LiteralTerminal_();
b0.RegExp("===");
b0.Category("DELIMITER");
b0.Literal("===");
b0._LiteralTerminal();
b0._Concatenate();
b1.Resolver();
b0._Production();
b0.Production_();
b0.NonTerminal("Heading2");
b0.Concatenate_(3);
b0.LiteralTerminal_();
b0.RegExp("==");
b0.Category("DELIMITER");
b0.Literal("==");
b0._LiteralTerminal();
b0.DataTerminal_();
b0.RegExp("[^=]+");
b0.Category("LITERAL");
b0.Format("%s");
b0._DataTerminal();
b0.LiteralTerminal_();
b0.RegExp("==");
b0.Category("DELIMITER");
b0.Literal("==");
b0._LiteralTerminal();
b0._Concatenate();
b1.Resolver();
b0._Production();
b0.Production_();
b0.NonTerminal("Heading1");
b0.Concatenate_(3);
b0.LiteralTerminal_();
b0.RegExp("=");
b0.Category("DELIMITER");
b0.Literal("=");
b0._LiteralTerminal();
b0.DataTerminal_();
b0.RegExp("[^=]+");
b0.Category("LITERAL");
b0.Format("%s");
b0._DataTerminal();
b0.LiteralTerminal_();
b0.RegExp("=");
b0.Category("DELIMITER");
b0.Literal("=");
b0._LiteralTerminal();
b0._Concatenate();
b1.Resolver();
b0._Production();
b0._Choose();
b1.Resolver();
b0._Production();
b0.Production_();
b0.NonTerminal("Table");
b0.Concatenate_(8);
b0.LiteralTerminal_();
b0.RegExp("\\Q{|\\E");
b0.Category("DELIMITER");
b0.Literal("{|");
b0._LiteralTerminal();
b0.Optional_();
b0.Concatenate_(2);
b0.LiteralTerminal_();
b0.RegExp(" *");
b0.Category("DELIMITER");
b0.Literal(" ");
b0._LiteralTerminal();
b0.NonTerminal("Attributes");
b0._Concatenate();
b0._Optional();
b0.LiteralTerminal_();
b0.RegExp(" *");
b0.Category("DELIMITER");
b0.Literal("");
b0._LiteralTerminal();
b0.NonTerminal("NL");
b0.Optional_();
b0.As_();
b0.NonTerminal("TableCaption");
b0.Name("caption");
b0._As();
b0._Optional();
b0.As_();
b0.Production_();
b0.NonTerminal("TableRows");
b0.Repeat_();
b0.Size(1);
b0.Unbounded();
b1.Resolver();
b0.Production_();
b0.NonTerminal("TableRow");
b0.Concatenate_(5);
b0.LiteralTerminal_();
b0.RegExp("(\\Q|-\\E)?");
b0.Category("DELIMITER");
b0.Literal("|-");
b0._LiteralTerminal();
b0.Optional_();
b0.Concatenate_(2);
b0.LiteralTerminal_();
b0.RegExp(" +");
b0.Category("DELIMITER");
b0.Literal(" ");
b0._LiteralTerminal();
b0.NonTerminal("Attributes");
b0._Concatenate();
b0._Optional();
b0.LiteralTerminal_();
b0.RegExp(" *\\n?");
b0.Category("DELIMITER");
b0.Literal("\n");
b0._LiteralTerminal();
b0.As_();
b0.Production_();
b0.NonTerminal("TableColumns");
b0.Repeat_();
b0.Size(1);
b0.Unbounded();
b0.When_();
b0.And_();
b0.LiteralTerminal_();
b0.RegExp("[\\n\\|!]");
b0.Category("DELIMITER");
b0.Literal("");
b0._LiteralTerminal();
b0.And_();
b0.Not_();
b0.LiteralTerminal_();
b0.RegExp("\\n\\Q|}\\E");
b0.Category("DELIMITER");
b0.Literal("");
b0._LiteralTerminal();
b0._Not();
b0.Not_();
b0.LiteralTerminal_();
b0.RegExp("\\n\\Q|-\\E");
b0.Category("DELIMITER");
b0.Literal("");
b0._LiteralTerminal();
b0._Not();
b0._And();
b0._And();
b0.LiteralTerminal_();
b0.RegExp("[\\n\\|!]");
b0.Category("DELIMITER");
b0.Literal("\n");
b0._LiteralTerminal();
b0._When();
b0.Choose_(2);
b0.NonTerminal("TableData");
b0.NonTerminal("TableHeader");
b0._Choose();
b0._Repeat();
b1.Resolver();
b0._Production();
b0.Name("columns");
b0._As();
b0.NonTerminal("NL");
b0._Concatenate();
b1.Resolver();
b0._Production();
b0._Repeat();
b1.Resolver();
b0._Production();
b0.Name("rows");
b0._As();
b0.LiteralTerminal_();
b0.RegExp("\\Q|}\\E");
b0.Category("DELIMITER");
b0.Literal("|}");
b0._LiteralTerminal();
b0.NonTerminal("NL");
b0._Concatenate();
b1.Resolver();
b0._Production();
b0.Production_();
b0.NonTerminal("TableCaption");
b0.Concatenate_(4);
b0.LiteralTerminal_();
b0.RegExp("\\|\\+[ ]*");
b0.Category("DELIMITER");
b0.Literal("|+");
b0._LiteralTerminal();
b0.Optional_();
b0.As_();
b0.When_();
b0.LiteralTerminal_();
b0.RegExp("[^\\n\\|]+\\|");
b0.Category("DELIMITER");
b0.Literal("");
b0._LiteralTerminal();
b0.Concatenate_(2);
b0.NonTerminal("Attributes");
b0.LiteralTerminal_();
b0.RegExp("[ ]*\\|[ ]*");
b0.Category("DELIMITER");
b0.Literal("|");
b0._LiteralTerminal();
b0._Concatenate();
b0._When();
b0.Name("attributes");
b0._As();
b0._Optional();
b0.As_();
b0.NonTerminal("InlineText");
b0.Name("caption");
b0._As();
b0.NonTerminal("NL");
b0._Concatenate();
b1.Resolver();
b0._Production();
b0.Production_();
b0.NonTerminal("TableData");
b0.Concatenate_(3);
b0.LiteralTerminal_();
b0.RegExp("\\|[ ]*");
b0.Category("DELIMITER");
b0.Literal("|");
b0._LiteralTerminal();
b0.Optional_();
b0.As_();
b0.When_();
b0.And_();
b0.LiteralTerminal_();
b0.RegExp("[^\\n\\|]+\\|");
b0.Category("DELIMITER");
b0.Literal("");
b0._LiteralTerminal();
b0.Not_();
b0.LiteralTerminal_();
b0.RegExp("[^\\n\\|]+\\|\\|");
b0.Category("DELIMITER");
b0.Literal("");
b0._LiteralTerminal();
b0._Not();
b0._And();
b0.Concatenate_(2);
b0.NonTerminal("Attributes");
b0.LiteralTerminal_();
b0.RegExp("[ ]*\\|[ ]*");
b0.Category("DELIMITER");
b0.Literal("|");
b0._LiteralTerminal();
b0._Concatenate();
b0._When();
b0.Name("attributes");
b0._As();
b0._Optional();
b0.As_();
b0.Production_();
b0.NonTerminal("TableInlineData");
b0.Choose_(2);
b0.NonTerminal("Pre");
b0.NonTerminal("InlineText");
b0._Choose();
b1.Resolver();
b0._Production();
b0.Name("data");
b0._As();
b0._Concatenate();
b1.Resolver();
b0._Production();
b0.Production_();
b0.NonTerminal("TableHeader");
b0.Concatenate_(3);
b0.LiteralTerminal_();
b0.RegExp("![ ]*");
b0.Category("DELIMITER");
b0.Literal("!");
b0._LiteralTerminal();
b0.Optional_();
b0.As_();
b0.When_();
b0.And_();
b0.LiteralTerminal_();
b0.RegExp("[^\\n\\|]+\\|");
b0.Category("DELIMITER");
b0.Literal("");
b0._LiteralTerminal();
b0.Not_();
b0.LiteralTerminal_();
b0.RegExp("[^\\n\\|]+\\|\\|");
b0.Category("DELIMITER");
b0.Literal("");
b0._LiteralTerminal();
b0._Not();
b0._And();
b0.Concatenate_(2);
b0.NonTerminal("Attributes");
b0.LiteralTerminal_();
b0.RegExp("[ ]*\\|[ ]*");
b0.Category("DELIMITER");
b0.Literal("|");
b0._LiteralTerminal();
b0._Concatenate();
b0._When();
b0.Name("attributes");
b0._As();
b0._Optional();
b0.As_();
b0.NonTerminal("InlineText");
b0.Name("header");
b0._As();
b0._Concatenate();
b1.Resolver();
b0._Production();
b0.Production_();
b0.NonTerminal("Attributes");
b0.Repeat_();
b0.Size(0);
b0.Unbounded();
b0.When_();
b0.LiteralTerminal_();
b0.RegExp("[ ]+\\w");
b0.Category("DELIMITER");
b0.Literal("");
b0._LiteralTerminal();
b0.LiteralTerminal_();
b0.RegExp("[ ]+");
b0.Category("DELIMITER");
b0.Literal(" ");
b0._LiteralTerminal();
b0._When();
b0.Production_();
b0.NonTerminal("Attribute");
b0.Choose_(2);
b0.Production_();
b0.NonTerminal("CSSStyle");
b0.Concatenate_(4);
b0.LiteralTerminal_();
b0.RegExp("style[ ]*=[ ]*");
b0.Category("DELIMITER");
b0.Literal("style=");
b0._LiteralTerminal();
b0.LiteralTerminal_();
b0.RegExp("\"");
b0.Category("DELIMITER");
b0.Literal("\"");
b0._LiteralTerminal();
b0.Repeat_();
b0.Size(1);
b0.Unbounded();
b1.Resolver();
b0.Production_();
b0.NonTerminal("CSSAttribute");
b0.Concatenate_(4);
b0.As_();
b0.DataTerminal_();
b0.RegExp("[\\w\\-]+");
b0.Category("LITERAL");
b0.Format("%s");
b0._DataTerminal();
b0.Name("name");
b0._As();
b0.LiteralTerminal_();
b0.RegExp("[ ]*:[ ]*");
b0.Category("DELIMITER");
b0.Literal(":");
b0._LiteralTerminal();
b0.As_();
b0.DataTerminal_();
b0.RegExp("[^;\"]+");
b0.Category("LITERAL");
b0.Format("%s");
b0._DataTerminal();
b0.Name("value");
b0._As();
b0.LiteralTerminal_();
b0.RegExp("[ ]*;?[ ]*");
b0.Category("DELIMITER");
b0.Literal(";");
b0._LiteralTerminal();
b0._Concatenate();
b1.Resolver();
b0._Production();
b0._Repeat();
b0.LiteralTerminal_();
b0.RegExp("\"");
b0.Category("DELIMITER");
b0.Literal("\"");
b0._LiteralTerminal();
b0._Concatenate();
b1.Resolver();
b0._Production();
b0.Production_();
b0.NonTerminal("HtmlAttribute");
b0.Concatenate_(5);
b0.As_();
b0.DataTerminal_();
b0.RegExp("\\w+");
b0.Category("LITERAL");
b0.Format("%s");
b0._DataTerminal();
b0.Name("name");
b0._As();
b0.LiteralTerminal_();
b0.RegExp("[ ]*=[ ]*");
b0.Category("DELIMITER");
b0.Literal("=");
b0._LiteralTerminal();
b0.Empty_();
b0.Literal("\"");
b0._Empty();
b0.As_();
b0.DataTerminal_();
b0.RegExp("(?:\"([^\"]*)\")|(\\S+)");
b0.Category("LITERAL");
b0.Format("%s");
b0._DataTerminal();
b0.Name("value");
b0._As();
b0.Empty_();
b0.Literal("\"");
b0._Empty();
b0._Concatenate();
b1.Resolver();
b0._Production();
b0._Choose();
b1.Resolver();
b0._Production();
b0._Repeat();
b1.Resolver();
b0._Production();
b0.Production_();
b0.NonTerminal("InlineText");
b0.Repeat_();
b0.Size(1);
b0.Unbounded();
b1.Resolver();
b0.Production_();
b0.NonTerminal("InlineElement");
b0.Choose_(3);
b0.NonTerminal("Nowiki");
b0.Production_();
b0.NonTerminal("Link");
b0.Choose_(3);
b0.Production_();
b0.NonTerminal("FileLink");
b0.Concatenate_(3);
b0.LiteralTerminal_();
b0.RegExp("\\Q[[\\E");
b0.Category("DELIMITER");
b0.Literal("[[");
b0._LiteralTerminal();
b0.Split_();
b0.ByDelimiter_();
b0.RegExp("]]");
b0._ByDelimiter();
b0.Concatenate_(4);
b0.LiteralTerminal_();
b0.RegExp("(?i)File|Image|Media");
b0.Category("DELIMITER");
b0.Literal("File");
b0._LiteralTerminal();
b0.LiteralTerminal_();
b0.RegExp(":");
b0.Category("DELIMITER");
b0.Literal(":");
b0._LiteralTerminal();
b0.As_();
b0.DataTerminal_();
b0.RegExp("[ \\w\\.]+");
b0.Category("LITERAL");
b0.Format("%s");
b0._DataTerminal();
b0.Name("filename");
b0._As();
b0.As_();
b0.Production_();
b0.NonTerminal("FileLinkOptions");
b0.Repeat_();
b0.Size(0);
b0.Unbounded();
b1.Resolver();
b0.Concatenate_(2);
b0.LiteralTerminal_();
b0.RegExp("\\Q|\\E");
b0.Category("DELIMITER");
b0.Literal("|");
b0._LiteralTerminal();
b0.NonTerminal("FileLinkOption");
b0._Concatenate();
b0._Repeat();
b1.Resolver();
b0._Production();
b0.Name("options");
b0._As();
b0._Concatenate();
b0._Split();
b0.LiteralTerminal_();
b0.RegExp("]]");
b0.Category("DELIMITER");
b0.Literal("]]");
b0._LiteralTerminal();
b0._Concatenate();
b1.Resolver();
b0._Production();
b0.Production_();
b0.NonTerminal("InternalLink");
b0.Concatenate_(3);
b0.LiteralTerminal_();
b0.RegExp("\\Q[[\\E");
b0.Category("DELIMITER");
b0.Literal("[[");
b0._LiteralTerminal();
b0.Split_();
b0.ByDelimiter_();
b0.RegExp("]]");
b0._ByDelimiter();
b0.Concatenate_(2);
b0.Production_();
b0.NonTerminal("ArticleLink");
b0.Concatenate_(2);
b0.As_();
b0.NonTerminal("ArticleTitle");
b0.Name("title");
b0._As();
b0.Optional_();
b0.As_();
b0.Concatenate_(2);
b0.LiteralTerminal_();
b0.RegExp("#");
b0.Category("DELIMITER");
b0.Literal("#");
b0._LiteralTerminal();
b0.NonTerminal("ArticleSection");
b0._Concatenate();
b0.Name("section");
b0._As();
b0._Optional();
b0._Concatenate();
b1.Resolver();
b0._Production();
b0.Optional_();
b0.As_();
b0.Concatenate_(2);
b0.LiteralTerminal_();
b0.RegExp("\\Q|\\E");
b0.Category("DELIMITER");
b0.Literal("|");
b0._LiteralTerminal();
b0.NonTerminal("Text");
b0._Concatenate();
b0.Name("description");
b0._As();
b0._Optional();
b0._Concatenate();
b0._Split();
b0.LiteralTerminal_();
b0.RegExp("]]");
b0.Category("DELIMITER");
b0.Literal("]]");
b0._LiteralTerminal();
b0._Concatenate();
b1.Resolver();
b0._Production();
b0.Production_();
b0.NonTerminal("ExternalLink");
b0.Concatenate_(3);
b0.LiteralTerminal_();
b0.RegExp("\\Q[\\E");
b0.Category("DELIMITER");
b0.Literal("[");
b0._LiteralTerminal();
b0.Split_();
b0.ByDelimiter_();
b0.RegExp("]");
b0._ByDelimiter();
b0.Concatenate_(2);
b0.NonTerminal("Url");
b0.Optional_();
b0.As_();
b0.Concatenate_(2);
b0.LiteralTerminal_();
b0.RegExp(" ");
b0.Category("DELIMITER");
b0.Literal(" ");
b0._LiteralTerminal();
b0.NonTerminal("Text");
b0._Concatenate();
b0.Name("description");
b0._As();
b0._Optional();
b0._Concatenate();
b0._Split();
b0.LiteralTerminal_();
b0.RegExp("]");
b0.Category("DELIMITER");
b0.Literal("]");
b0._LiteralTerminal();
b0._Concatenate();
b1.Resolver();
b0._Production();
b0._Choose();
b1.Resolver();
b0._Production();
b0.Production_();
b0.NonTerminal("TextWithFormatting");
b0.Choose_(2);
b0.Production_();
b0.NonTerminal("Formatting");
b0.Choose_(5);
b0.Production_();
b0.NonTerminal("Teletype");
b0.Concatenate_(3);
b0.LiteralTerminal_();
b0.RegExp("<tt>");
b0.Category("DELIMITER");
b0.Literal("<tt>");
b0._LiteralTerminal();
b0.As_();
b0.NonTerminal("TextWithFormatting");
b0.Name("text");
b0._As();
b0.LiteralTerminal_();
b0.RegExp("</tt>");
b0.Category("DELIMITER");
b0.Literal("</tt>");
b0._LiteralTerminal();
b0._Concatenate();
b1.Resolver();
b0._Production();
b0.Production_();
b0.NonTerminal("Deleted");
b0.Concatenate_(3);
b0.LiteralTerminal_();
b0.RegExp("<del>");
b0.Category("DELIMITER");
b0.Literal("<del>");
b0._LiteralTerminal();
b0.As_();
b0.NonTerminal("TextWithFormatting");
b0.Name("text");
b0._As();
b0.LiteralTerminal_();
b0.RegExp("</del>");
b0.Category("DELIMITER");
b0.Literal("</del>");
b0._LiteralTerminal();
b0._Concatenate();
b1.Resolver();
b0._Production();
b0.Production_();
b0.NonTerminal("LineBreak");
b0.LiteralTerminal_();
b0.RegExp("<br */>");
b0.Category("DELIMITER");
b0.Literal("<br />");
b0._LiteralTerminal();
b1.Resolver();
b0._Production();
b0.Production_();
b0.NonTerminal("Bold");
b0.Concatenate_(3);
b0.LiteralTerminal_();
b0.RegExp("'''");
b0.Category("DELIMITER");
b0.Literal("'''");
b0._LiteralTerminal();
b0.As_();
b0.NonTerminal("TextWithFormatting");
b0.Name("text");
b0._As();
b0.LiteralTerminal_();
b0.RegExp("'''");
b0.Category("DELIMITER");
b0.Literal("'''");
b0._LiteralTerminal();
b0._Concatenate();
b1.Resolver();
b0._Production();
b0.Production_();
b0.NonTerminal("Italics");
b0.Concatenate_(3);
b0.LiteralTerminal_();
b0.RegExp("''");
b0.Category("DELIMITER");
b0.Literal("''");
b0._LiteralTerminal();
b0.As_();
b0.NonTerminal("TextWithFormatting");
b0.Name("text");
b0._As();
b0.LiteralTerminal_();
b0.RegExp("''");
b0.Category("DELIMITER");
b0.Literal("''");
b0._LiteralTerminal();
b0._Concatenate();
b1.Resolver();
b0._Production();
b0._Choose();
b1.Resolver();
b0._Production();
b0.Production_();
b0.NonTerminal("Text");
b0.DataTerminal_();
b0.RegExp("(([^\\n\\[<'|]*('[^\\n\\[<'|])?(\\|[^\\n\\[<'|])?)+)");
b0.Category("LITERAL");
b0.Format("%s");
b0._DataTerminal();
b1.Resolver();
b0._Production();
b0._Choose();
b1.Resolver();
b0._Production();
b0._Choose();
b1.Resolver();
b0._Production();
b0._Repeat();
b1.Resolver();
b0._Production();
b0.Production_();
b0.NonTerminal("FileLinkOption");
b0.Choose_(7);
b0.Production_();
b0.NonTerminal("Format");
b0.Choose_(4);
b0.As_();
b0.LiteralTerminal_();
b0.RegExp("border");
b0.Category("DELIMITER");
b0.Literal("border");
b0._LiteralTerminal();
b0.Name("border");
b0._As();
b0.As_();
b0.LiteralTerminal_();
b0.RegExp("frameless");
b0.Category("DELIMITER");
b0.Literal("frameless");
b0._LiteralTerminal();
b0.Name("frameless");
b0._As();
b0.As_();
b0.LiteralTerminal_();
b0.RegExp("frame");
b0.Category("DELIMITER");
b0.Literal("frame");
b0._LiteralTerminal();
b0.Name("frame");
b0._As();
b0.As_();
b0.LiteralTerminal_();
b0.RegExp("thumbnail|thumb");
b0.Category("DELIMITER");
b0.Literal("thumb");
b0._LiteralTerminal();
b0.Name("thumb");
b0._As();
b0._Choose();
b1.Resolver();
b0._Production();
b0.Production_();
b0.NonTerminal("Resizing");
b0.Choose_(2);
b0.Production_();
b0.NonTerminal("UpRight");
b0.LiteralTerminal_();
b0.RegExp("upright");
b0.Category("DELIMITER");
b0.Literal("upright");
b0._LiteralTerminal();
b1.Resolver();
b0._Production();
b0.Production_();
b0.NonTerminal("Dimension");
b0.When_();
b0.LiteralTerminal_();
b0.RegExp("x?\\d+px");
b0.Category("DELIMITER");
b0.Literal("");
b0._LiteralTerminal();
b0.Concatenate_(2);
b0.Optional_();
b0.As_();
b0.Concatenate_(2);
b0.NonTerminal("IntData");
b0.LiteralTerminal_();
b0.RegExp("px");
b0.Category("DELIMITER");
b0.Literal("px");
b0._LiteralTerminal();
b0._Concatenate();
b0.Name("width");
b0._As();
b0._Optional();
b0.Optional_();
b0.As_();
b0.Concatenate_(3);
b0.LiteralTerminal_();
b0.RegExp("x");
b0.Category("DELIMITER");
b0.Literal("x");
b0._LiteralTerminal();
b0.NonTerminal("IntData");
b0.LiteralTerminal_();
b0.RegExp("px");
b0.Category("DELIMITER");
b0.Literal("px");
b0._LiteralTerminal();
b0._Concatenate();
b0.Name("height");
b0._As();
b0._Optional();
b0._Concatenate();
b0._When();
b1.Resolver();
b0._Production();
b0._Choose();
b1.Resolver();
b0._Production();
b0.Production_();
b0.NonTerminal("HorizontalAlignment");
b0.Choose_(4);
b0.As_();
b0.LiteralTerminal_();
b0.RegExp("left");
b0.Category("DELIMITER");
b0.Literal("left");
b0._LiteralTerminal();
b0.Name("left");
b0._As();
b0.As_();
b0.LiteralTerminal_();
b0.RegExp("right");
b0.Category("DELIMITER");
b0.Literal("right");
b0._LiteralTerminal();
b0.Name("right");
b0._As();
b0.As_();
b0.LiteralTerminal_();
b0.RegExp("center");
b0.Category("DELIMITER");
b0.Literal("center");
b0._LiteralTerminal();
b0.Name("center");
b0._As();
b0.As_();
b0.LiteralTerminal_();
b0.RegExp("none");
b0.Category("DELIMITER");
b0.Literal("none");
b0._LiteralTerminal();
b0.Name("none");
b0._As();
b0._Choose();
b1.Resolver();
b0._Production();
b0.Production_();
b0.NonTerminal("VerticalAlignment");
b0.Choose_(8);
b0.As_();
b0.LiteralTerminal_();
b0.RegExp("baseline");
b0.Category("DELIMITER");
b0.Literal("baseline");
b0._LiteralTerminal();
b0.Name("baseline");
b0._As();
b0.As_();
b0.LiteralTerminal_();
b0.RegExp("sub");
b0.Category("DELIMITER");
b0.Literal("sub");
b0._LiteralTerminal();
b0.Name("sub");
b0._As();
b0.As_();
b0.LiteralTerminal_();
b0.RegExp("super");
b0.Category("DELIMITER");
b0.Literal("super");
b0._LiteralTerminal();
b0.Name("super");
b0._As();
b0.As_();
b0.LiteralTerminal_();
b0.RegExp("top");
b0.Category("DELIMITER");
b0.Literal("top");
b0._LiteralTerminal();
b0.Name("top");
b0._As();
b0.As_();
b0.LiteralTerminal_();
b0.RegExp("text-top");
b0.Category("DELIMITER");
b0.Literal("text-top");
b0._LiteralTerminal();
b0.Name("textTop");
b0._As();
b0.As_();
b0.LiteralTerminal_();
b0.RegExp("middle");
b0.Category("DELIMITER");
b0.Literal("middle");
b0._LiteralTerminal();
b0.Name("middle");
b0._As();
b0.As_();
b0.LiteralTerminal_();
b0.RegExp("bottom");
b0.Category("DELIMITER");
b0.Literal("bottom");
b0._LiteralTerminal();
b0.Name("bottom");
b0._As();
b0.As_();
b0.LiteralTerminal_();
b0.RegExp("text-bottom");
b0.Category("DELIMITER");
b0.Literal("text-bottom");
b0._LiteralTerminal();
b0.Name("textBottom");
b0._As();
b0._Choose();
b1.Resolver();
b0._Production();
b0.Production_();
b0.NonTerminal("TargetLink");
b0.Concatenate_(3);
b0.LiteralTerminal_();
b0.RegExp("link");
b0.Category("DELIMITER");
b0.Literal("link");
b0._LiteralTerminal();
b0.LiteralTerminal_();
b0.RegExp("=");
b0.Category("DELIMITER");
b0.Literal("=");
b0._LiteralTerminal();
b0.Optional_();
b0.As_();
b0.NonTerminal("Text");
b0.Name("target");
b0._As();
b0._Optional();
b0._Concatenate();
b1.Resolver();
b0._Production();
b0.Production_();
b0.NonTerminal("Alt");
b0.Concatenate_(3);
b0.LiteralTerminal_();
b0.RegExp("alt");
b0.Category("DELIMITER");
b0.Literal("alt");
b0._LiteralTerminal();
b0.LiteralTerminal_();
b0.RegExp("=");
b0.Category("DELIMITER");
b0.Literal("=");
b0._LiteralTerminal();
b0.As_();
b0.NonTerminal("Text");
b0.Name("text");
b0._As();
b0._Concatenate();
b1.Resolver();
b0._Production();
b0.Production_();
b0.NonTerminal("Caption");
b0.NonTerminal("Text");
b1.Resolver();
b0._Production();
b0._Choose();
b1.Resolver();
b0._Production();
b0.Production_();
b0.NonTerminal("ArticleTitle");
b0.DataTerminal_();
b0.RegExp("[ %!\"$&'\\(\\)*,\\\\+\\-\\./:;=?@^`~\\w\\x80-\\xff]+");
b0.Category("LITERAL");
b0.Format("%s");
b0._DataTerminal();
b1.Resolver();
b0._Production();
b0.Production_();
b0.NonTerminal("ArticleSection");
b0.DataTerminal_();
b0.RegExp("[ %!\"$&'\\(\\)*,\\\\+\\-\\./:;=?@^`~\\w\\x80-\\xff#]+");
b0.Category("LITERAL");
b0.Format("%s");
b0._DataTerminal();
b1.Resolver();
b0._Production();
b0.Production_();
b0.NonTerminal("Url");
b0.DataTerminal_();
b0.RegExp("[\\w/?;:@&=\\.$+\\-!*'\\(\\),%~#{}]+");
b0.Category("LITERAL");
b0.Format("%s");
b0._DataTerminal();
b1.Resolver();
b0._Production();
b0.Production_();
b0.NonTerminal("IntData");
b0.DataTerminal_();
b0.RegExp("\\d+");
b0.Category("DELIMITER");
b0.Format("%d");
b0._DataTerminal();
b0.DataType("INT");
b0._Production();
b0._Productions();
b0.URI("whole:org.whole.lang.mediawiki:MediaWikiGrammar");
b0.Namespace("org.whole.lang.mediawiki");
b1.Resolver();
b1.Resolver();
b1.Resolver();
b1.Resolver();
b0._Grammar();
}
}