package org.whole.lang.grammars.util; import org.whole.lang.builders.IBuilderOperation; import org.whole.lang.templates.AbstractTemplateFactory; public class TestGrammar1 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("TestGrammar1"); b0.LanguageDescriptor_(); b0.URI("http://lang.whole.org/Test1"); b0.Namespace("org.whole.lang.grammars.util"); b0.Name("Test1"); 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("CSVSimple"); b1.Resolver(); b0.Productions_(0); b0._Productions(); b0.Productions_(20); b0.Production_(); b0.NonTerminal("SingleLiteral"); b0.LiteralTerminal_(); b0.RegExp("a literal terminal"); b0.Category("DELIMITER"); b0.Literal("a literal terminal"); b0._LiteralTerminal(); b1.Resolver(); b0._Production(); b0.Production_(); b0.NonTerminal("SinglePatternLiteral"); b0.LiteralTerminal_(); b0.RegExp("[0-9a-zA-Z]{6}[a-zA-Z]{2}"); b0.Category("DELIMITER"); b0.Literal("abcedfgh"); b0._LiteralTerminal(); b1.Resolver(); b0._Production(); b0.Production_(); b0.NonTerminal("LiteralSequence"); b0.Concatenate_(5); b0.LiteralTerminal_(); b0.RegExp("BEGIN"); b0.Category("DELIMITER"); b0.Literal("BEGIN"); b0._LiteralTerminal(); b0.LiteralTerminal_(); b0.RegExp("[AB]"); b0.Category("DELIMITER"); b0.Literal("A"); b0._LiteralTerminal(); b0.LiteralTerminal_(); b0.RegExp("[0-9]{2,5}"); b0.Category("DELIMITER"); b0.Literal("666"); b0._LiteralTerminal(); b0.LiteralTerminal_(); b0.RegExp("(,[0-9]{2})*"); b0.Category("DELIMITER"); b0.Literal(",12,23,34"); b0._LiteralTerminal(); b0.LiteralTerminal_(); b0.RegExp("END"); b0.Category("DELIMITER"); b0.Literal("END"); b0._LiteralTerminal(); b0._Concatenate(); b1.Resolver(); b0._Production(); b0.Production_(); b0.NonTerminal("SingleData"); b0.DataTerminal_(); b0.RegExp(".*"); b0.Category("LITERAL"); b0.Format("%s"); b0._DataTerminal(); b1.Resolver(); b0._Production(); b0.Production_(); b0.NonTerminal("DataSequence"); b0.Concatenate_(6); b0.LiteralTerminal_(); b0.RegExp("\\Q(\\E"); b0.Category("DELIMITER"); b0.Literal("("); b0._LiteralTerminal(); b0.As_(); b0.DataTerminal_(); b0.RegExp("[AB]"); b0.Category("DELIMITER"); b0.Format("%s"); b0._DataTerminal(); b0.Name("f1"); b0._As(); b0.As_(); b0.DataTerminal_(); b0.RegExp("[0-9]+"); b0.Category("DELIMITER"); b0.Format("%d"); b0._DataTerminal(); b0.Name("f2"); b0._As(); b0.LiteralTerminal_(); b0.RegExp(","); b0.Category("DELIMITER"); b0.Literal(","); b0._LiteralTerminal(); b0.As_(); b0.DataTerminal_(); b0.RegExp("[0-9]+"); b0.Category("DELIMITER"); b0.Format("%d"); b0._DataTerminal(); b0.Name("f3"); b0._As(); b0.LiteralTerminal_(); b0.RegExp("\\Q)\\E"); b0.Category("DELIMITER"); b0.Literal(")"); b0._LiteralTerminal(); b0._Concatenate(); b1.Resolver(); b0._Production(); b0.Production_(); b0.NonTerminal("DataSequenceWithDataTypes"); b0.Concatenate_(6); b0.LiteralTerminal_(); b0.RegExp("\\Q(\\E"); b0.Category("DELIMITER"); b0.Literal("("); b0._LiteralTerminal(); b0.As_(); b0.Production_(); b0.NonTerminal("EF1"); b0.DataTerminal_(); b0.RegExp("[AB]"); b0.Category("DELIMITER"); b0.Format("%s"); b0._DataTerminal(); b0.DataType("CHAR"); b0._Production(); b0.Name("f1"); b0._As(); b0.As_(); b0.Production_(); b0.NonTerminal("EF2"); b0.DataTerminal_(); b0.RegExp("[0-9]+"); b0.Category("DELIMITER"); b0.Format("%d"); b0._DataTerminal(); b0.DataType("INT"); b0._Production(); b0.Name("f2"); b0._As(); b0.LiteralTerminal_(); b0.RegExp(","); b0.Category("DELIMITER"); b0.Literal(","); b0._LiteralTerminal(); b0.As_(); b0.NonTerminal("EF2"); b0.Name("f3"); b0._As(); b0.LiteralTerminal_(); b0.RegExp("\\Q)\\E"); b0.Category("DELIMITER"); b0.Literal(")"); b0._LiteralTerminal(); b0._Concatenate(); b1.Resolver(); b0._Production(); b0.Production_(); b0.NonTerminal("OptionalLiteral"); b0.Concatenate_(3); b0.LiteralTerminal_(); b0.RegExp("a"); b0.Category("DELIMITER"); b0.Literal("a"); b0._LiteralTerminal(); b0.Optional_(); b0.LiteralTerminal_(); b0.RegExp("n optional"); b0.Category("DELIMITER"); b0.Literal("n optional"); b0._LiteralTerminal(); b0._Optional(); b0.LiteralTerminal_(); b0.RegExp(" literal terminal"); b0.Category("DELIMITER"); b0.Literal(" literal terminal"); b0._LiteralTerminal(); b0._Concatenate(); b1.Resolver(); b0._Production(); b0.Production_(); b0.NonTerminal("OptionalConcatenate"); b0.Concatenate_(3); b0.LiteralTerminal_(); b0.RegExp("a"); b0.Category("DELIMITER"); b0.Literal("a"); b0._LiteralTerminal(); b0.Optional_(); b0.Concatenate_(3); b0.LiteralTerminal_(); b0.RegExp("n"); b0.Category("DELIMITER"); b0.Literal("n"); b0._LiteralTerminal(); b0.LiteralTerminal_(); b0.RegExp("\\s+"); b0.Category("DELIMITER"); b0.Literal(" "); b0._LiteralTerminal(); b0.LiteralTerminal_(); b0.RegExp("optional"); b0.Category("DELIMITER"); b0.Literal("optional"); b0._LiteralTerminal(); b0._Concatenate(); b0._Optional(); b0.DataTerminal_(); b0.RegExp(" concatenate"); b0.Category("DELIMITER"); b0.Format("%s"); b0._DataTerminal(); b0._Concatenate(); b1.Resolver(); b0._Production(); b0.Production_(); b0.NonTerminal("RepeatedLiteral"); b0.Concatenate_(3); b0.LiteralTerminal_(); b0.RegExp("Message: "); b0.Category("DELIMITER"); b0.Literal("Message: "); b0._LiteralTerminal(); b0.Repeat_(); b0.Size(1); b0.Size(3); b0.LiteralTerminal_(); b0.RegExp(" "); b0.Category("DELIMITER"); b0.Literal(" "); b0._LiteralTerminal(); b0.Concatenate_(1); b0.LiteralTerminal_(); b0.RegExp("bla"); b0.Category("DELIMITER"); b0.Literal("bla"); b0._LiteralTerminal(); b0._Concatenate(); b0._Repeat(); b0.LiteralTerminal_(); b0.RegExp("\\Q.\\E"); b0.Category("DELIMITER"); b0.Literal("."); b0._LiteralTerminal(); b0._Concatenate(); b1.Resolver(); b0._Production(); b0.Production_(); b0.NonTerminal("RepeatedOptionalLiteral"); b0.Concatenate_(3); b0.LiteralTerminal_(); b0.RegExp("Message: "); b0.Category("DELIMITER"); b0.Literal("Message: "); b0._LiteralTerminal(); b0.Repeat_(); b0.Size(0); b0.Size(3); b0.LiteralTerminal_(); b0.RegExp(" "); b0.Category("DELIMITER"); b0.Literal(" "); b0._LiteralTerminal(); b0.LiteralTerminal_(); b0.RegExp("bla"); b0.Category("DELIMITER"); b0.Literal("bla"); b0._LiteralTerminal(); b0._Repeat(); b0.LiteralTerminal_(); b0.RegExp("\\Q.\\E"); b0.Category("DELIMITER"); b0.Literal("."); b0._LiteralTerminal(); b0._Concatenate(); b1.Resolver(); b0._Production(); b0.Production_(); b0.NonTerminal("RepeatedUnboundedLiteral"); b0.Concatenate_(3); b0.LiteralTerminal_(); b0.RegExp("Message: "); b0.Category("DELIMITER"); b0.Literal("Message: "); b0._LiteralTerminal(); b0.Repeat_(); b0.Size(0); b0.Unbounded(); b0.LiteralTerminal_(); b0.RegExp(" "); b0.Category("DELIMITER"); b0.Literal(" "); b0._LiteralTerminal(); b0.LiteralTerminal_(); b0.RegExp("bla"); b0.Category("DELIMITER"); b0.Literal("bla"); b0._LiteralTerminal(); b0._Repeat(); b0.LiteralTerminal_(); b0.RegExp("\\Q.\\E"); b0.Category("DELIMITER"); b0.Literal("."); b0._LiteralTerminal(); b0._Concatenate(); b1.Resolver(); b0._Production(); b0.Production_(); b0.NonTerminal("ChooseLiteral"); b0.Concatenate_(3); b0.LiteralTerminal_(); b0.RegExp("My "); b0.Category("DELIMITER"); b0.Literal("My "); b0._LiteralTerminal(); b0.Choose_(2); b0.LiteralTerminal_(); b0.RegExp("dog"); b0.Category("DELIMITER"); b0.Literal("dog"); b0._LiteralTerminal(); b0.LiteralTerminal_(); b0.RegExp("cat"); b0.Category("DELIMITER"); b0.Literal("cat"); b0._LiteralTerminal(); b0._Choose(); b0.LiteralTerminal_(); b0.RegExp("\\Q is sleeping.\\E"); b0.Category("DELIMITER"); b0.Literal(" is sleeping."); b0._LiteralTerminal(); b0._Concatenate(); b1.Resolver(); b0._Production(); b0.Production_(); b0.NonTerminal("ChoosePolymorphic"); b0.Concatenate_(3); b0.LiteralTerminal_(); b0.RegExp("My "); b0.Category("DELIMITER"); b0.Literal("My "); b0._LiteralTerminal(); b0.Choose_(2); b0.Production_(); b0.NonTerminal("ChooseType1"); b0.LiteralTerminal_(); b0.RegExp("dog"); b0.Category("DELIMITER"); b0.Literal("dog"); b0._LiteralTerminal(); b1.Resolver(); b0._Production(); b0.Production_(); b0.NonTerminal("ChooseType2"); b0.LiteralTerminal_(); b0.RegExp("cat"); b0.Category("DELIMITER"); b0.Literal("cat"); b0._LiteralTerminal(); b1.Resolver(); b0._Production(); b0._Choose(); b0.LiteralTerminal_(); b0.RegExp("\\Q is sleeping.\\E"); b0.Category("DELIMITER"); b0.Literal(" is sleeping."); b0._LiteralTerminal(); b0._Concatenate(); b1.Resolver(); b0._Production(); b0.Production_(); b0.NonTerminal("ChooseEnum"); b0.Choose_(2); b0.As_(); b0.LiteralTerminal_(); b0.RegExp("dog"); b0.Category("DELIMITER"); b0.Literal("dog"); b0._LiteralTerminal(); b0.Name("DOG"); b0._As(); b0.As_(); b0.LiteralTerminal_(); b0.RegExp("cat"); b0.Category("DELIMITER"); b0.Literal("cat"); b0._LiteralTerminal(); b0.Name("CAT"); b0._As(); b0._Choose(); b1.Resolver(); b0._Production(); b0.Production_(); b0.NonTerminal("CSVSimple"); b0.Concatenate_(2); b0.LiteralTerminal_(); b0.RegExp(".*\\n"); b0.Category("DELIMITER"); b0.Literal("a string, an int, a char, a double\\n"); b0._LiteralTerminal(); b0.Repeat_(); b0.Size(0); b0.Unbounded(); b0.LiteralTerminal_(); b0.RegExp("\\n"); b1.Resolver(); b0.Literal("\n"); b0._LiteralTerminal(); b0.Concatenate_(7); b0.As_(); b0.NonTerminal("STRING"); b0.Name("AString"); b0._As(); b0.LiteralTerminal_(); b0.RegExp(","); b1.Resolver(); b0.Literal(", "); b0._LiteralTerminal(); b0.As_(); b0.NonTerminal("INT"); b0.Name("AnInt"); b0._As(); b0.LiteralTerminal_(); b0.RegExp(","); b1.Resolver(); b0.Literal(", "); b0._LiteralTerminal(); b0.As_(); b0.NonTerminal("CHAR"); b0.Name("AChar"); b0._As(); b0.LiteralTerminal_(); b0.RegExp(","); b1.Resolver(); b0.Literal(", "); b0._LiteralTerminal(); b0.As_(); b0.NonTerminal("DOUBLE"); b0.Name("ADouble"); b0._As(); b0._Concatenate(); b0._Repeat(); b0._Concatenate(); b1.Resolver(); b0._Production(); b0.Production_(); b0.NonTerminal("STRING"); b0.DataTerminal_(); b0.RegExp("(?:\")(.*)(?:\")|[^\",]*"); b0.Category("LITERAL"); b0.Format("%s"); b0._DataTerminal(); b0.DataType("STRING"); b0._Production(); b0.Production_(); b0.NonTerminal("CHAR"); b0.DataTerminal_(); b0.RegExp("(?s)."); b0.Category("LITERAL"); b0.Format("%s"); b0._DataTerminal(); b0.DataType("CHAR"); b0._Production(); b0.Production_(); b0.NonTerminal("INT"); b0.DataTerminal_(); b0.RegExp("([-+]?([0-9]++))"); b0.Category("LITERAL"); b0.Format("%d"); b0._DataTerminal(); b0.DataType("INT"); b0._Production(); b0.Production_(); b0.NonTerminal("FLOAT"); b0.DataTerminal_(); b0.RegExp("([-+]?([0-9]++(\\.[0-9]*+)?)|(\\.[0-9]++))"); b0.Category("LITERAL"); b0.Format("%d"); b0._DataTerminal(); b0.DataType("FLOAT"); b0._Production(); b0.Production_(); b0.NonTerminal("DOUBLE"); b0.DataTerminal_(); b0.RegExp("([-+]?([0-9]++(\\.[0-9]*+)?)|(\\.[0-9]++))"); b0.Category("LITERAL"); b0.Format("%d"); b0._DataTerminal(); b0.DataType("DOUBLE"); b0._Production(); b0._Productions(); b0.URI("http://lang.whole.org/TestGrammar1"); b0.Namespace("org.whole.lang.grammars.util"); b1.Resolver(); b1.Resolver(); b1.Resolver(); b1.Resolver(); b0._Grammar(); } }