package org.whole.lang.grammars.util; import org.whole.lang.builders.IBuilderOperation; import org.whole.lang.templates.AbstractTemplateFactory; public class TestXmlGrammar 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("XmlGrammar"); b0.URI("http://lang.whole.org/Xml"); b0.NonTerminal("Document"); b0.LiteralTerminal_(); b0.RegExp("\\p{javaWhitespace}+"); b0.Category("SEPARATOR"); b0.Literal(""); b0._LiteralTerminal(); b0.Productions_(2); b0.Production_(); b0.NonTerminal("STRING"); b0.DataTerminal_(); b0.RegExp("(?s).*"); b0.Category("LITERAL"); b0.Format("%s"); b0._DataTerminal(); 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._Production(); b0.Production_(); b0.NonTerminal("SP"); b0.LiteralTerminal_(); b0.RegExp("\\p{javaWhitespace}+"); b0.Category("SEPARATOR"); b0.Literal(" "); b0._LiteralTerminal(); b1.Resolver(); b0._Production(); b0._Productions(); b0.Productions_(4); b0.Production_(); b0.NonTerminal("Document"); b0.Concatenate_(2); b0.Production_(); b0.NonTerminal("Prolog"); b0.Optional_(); b0.Production_(); b0.NonTerminal("XmlDecl"); b0.Concatenate_(9); b0.LiteralTerminal_(); b0.RegExp("\\Q<?xml\\E"); b0.Category("DELIMITER"); b0.Literal("<?xml"); b0._LiteralTerminal(); b0.LiteralTerminal_(); b0.RegExp(" version"); b0.Category("DELIMITER"); b0.Literal(" version"); b0._LiteralTerminal(); b0.LiteralTerminal_(); b0.RegExp("="); b0.Category("DELIMITER"); b0.Literal("="); b0._LiteralTerminal(); b0.LiteralTerminal_(); b0.RegExp("\""); b0.Category("DELIMITER"); b0.Literal("\""); b0._LiteralTerminal(); b0.Production_(); b0.NonTerminal("Version"); b0.NonTerminal("STRING"); b1.Resolver(); b0._Production(); b0.LiteralTerminal_(); b0.RegExp("\""); b0.Category("DELIMITER"); b0.Literal("\""); b0._LiteralTerminal(); b0.As_(); b0.Optional_(); b0.Concatenate_(5); b0.LiteralTerminal_(); b0.RegExp(" encoding"); b0.Category("DELIMITER"); b0.Literal(" encoding"); b0._LiteralTerminal(); b0.LiteralTerminal_(); b0.RegExp("="); b0.Category("DELIMITER"); b0.Literal("="); b0._LiteralTerminal(); b0.LiteralTerminal_(); b0.RegExp("\""); b0.Category("DELIMITER"); b0.Literal("\""); b0._LiteralTerminal(); b0.Production_(); b0.NonTerminal("Encoding"); b0.NonTerminal("STRING"); b1.Resolver(); b0._Production(); b0.LiteralTerminal_(); b0.RegExp("\""); b0.Category("DELIMITER"); b0.Literal("\""); b0._LiteralTerminal(); b0._Concatenate(); b0._Optional(); b0.Name("encoding"); b0._As(); b0.LiteralTerminal_(); b0.RegExp("\\Q?>\\E"); b0.Category("DELIMITER"); b0.Literal(" ?>"); b0._LiteralTerminal(); b0.Empty_(); b0.Literal("\n"); b0._Empty(); b0._Concatenate(); b1.Resolver(); b0._Production(); b0._Optional(); b1.Resolver(); b0._Production(); b0.NonTerminal("Element"); b0._Concatenate(); b1.Resolver(); b0._Production(); b0.Production_(); b0.NonTerminal("Element"); b0.Concatenate_(8); b0.LiteralTerminal_(); b0.RegExp("<"); b0.Category("DELIMITER"); b0.Literal("<"); b0._LiteralTerminal(); b0.As_(); b0.NonTerminal("IName"); b0.Name("tag"); b0._As(); b0.As_(); b0.Optional_(); b0.Concatenate_(2); b0.NonTerminal("SP"); b0.Production_(); b0.NonTerminal("Attributes"); b0.Repeat_(); b0.Size(0); b0.Unbounded(); b0.NonTerminal("SP"); b0.Production_(); b0.NonTerminal("Attribute"); b0.Concatenate_(5); b0.As_(); b0.NonTerminal("IName"); b0.Name("name"); b0._As(); b0.LiteralTerminal_(); b0.RegExp("="); b0.Category("DELIMITER"); b0.Literal("="); b0._LiteralTerminal(); b0.LiteralTerminal_(); b0.RegExp("\""); b0.Category("DELIMITER"); b0.Literal("\""); b0._LiteralTerminal(); b0.Production_(); b0.NonTerminal("Value"); b0.NonTerminal("STRING"); b1.Resolver(); b0._Production(); b0.LiteralTerminal_(); b0.RegExp("\""); b0.Category("DELIMITER"); b0.Literal("\""); b0._LiteralTerminal(); b0._Concatenate(); b1.Resolver(); b0._Production(); b0._Repeat(); b1.Resolver(); b0._Production(); b0._Concatenate(); b0._Optional(); b0.Name("attributes"); b0._As(); b0.LiteralTerminal_(); b0.RegExp(">"); b0.Category("DELIMITER"); b0.Literal(">"); b0._LiteralTerminal(); b0.As_(); b0.NonTerminal("IContent"); b0.Name("content"); b0._As(); b0.LiteralTerminal_(); b0.RegExp("\\Q<\\\\E"); b0.Category("DELIMITER"); b0.Literal("<\\"); b0._LiteralTerminal(); b0.As_(); b0.NonTerminal("IName"); b0.Name("tag"); b0._As(); b0.LiteralTerminal_(); b0.RegExp(">"); b0.Category("DELIMITER"); b0.Literal(">"); b0._LiteralTerminal(); b0._Concatenate(); b1.Resolver(); b0._Production(); b0.Production_(); b0.NonTerminal("IName"); b0.Choose_(2); b0.Production_(); b0.NonTerminal("Name"); b0.NonTerminal("STRING"); b1.Resolver(); b0._Production(); b0.Production_(); b0.NonTerminal("QualifiedName"); b0.Concatenate_(3); b0.Production_(); b0.NonTerminal("NameSpace"); b0.NonTerminal("STRING"); b1.Resolver(); b0._Production(); b0.LiteralTerminal_(); b0.RegExp(":"); b0.Category("DELIMITER"); b0.Literal(":"); b0._LiteralTerminal(); b0.As_(); b0.NonTerminal("Name"); b0.Name("name"); b0._As(); b0._Concatenate(); b1.Resolver(); b0._Production(); b0._Choose(); b1.Resolver(); b0._Production(); b0.Production_(); b0.NonTerminal("IContent"); b0.Choose_(5); b0.Production_(); b0.NonTerminal("Content"); b0.Repeat_(); b0.Size(0); b0.Unbounded(); b0.Empty_(); b0.Literal("\n\t"); b0._Empty(); b0.NonTerminal("IContent"); b0._Repeat(); b1.Resolver(); b0._Production(); b0.NonTerminal("Element"); b0.Production_(); b0.NonTerminal("CharData"); b0.NonTerminal("STRING"); b1.Resolver(); b0._Production(); b0.Production_(); b0.NonTerminal("CDataSect"); b0.Repeat_(); b0.Size(0); b0.Unbounded(); b1.Resolver(); b0.Production_(); b0.NonTerminal("CDataSectData"); b0.NonTerminal("STRING"); b1.Resolver(); b0._Production(); b0._Repeat(); b1.Resolver(); b0._Production(); b0.Production_(); b0.NonTerminal("Comment"); b0.Production_(); b0.NonTerminal("CommentText"); b0.NonTerminal("STRING"); b1.Resolver(); b0._Production(); b1.Resolver(); b0._Production(); b0._Choose(); b1.Resolver(); b0._Production(); b0._Productions(); b0.URI("http://lang.whole.org/XmlGrammar"); b0.Namespace("org.whole.lang.xml"); b1.Resolver(); b1.Resolver(); b1.Resolver(); b1.Resolver(); b0._Grammar(); } }