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();
}
}