package org.whole.lang.models.codebase;
import org.whole.lang.builders.IBuilderOperation;
import org.whole.lang.templates.AbstractTemplateFactory;
public class GrammarsModel extends AbstractTemplateFactory<org.whole.lang.models.model.Model> {
public void apply(IBuilderOperation op) {
org.whole.lang.models.builders.IModelsBuilder b0 = (org.whole.lang.models.builders.IModelsBuilder) op.wGetBuilder(org.whole.lang.models.reflect.ModelsLanguageKit.URI);
b0.Model_();
b0.SimpleName("Grammars");
b0.TypeRelations_(0);
b0._TypeRelations();
b0.ModelDeclarations_(46);
b0.SimpleEntity_();
b0.EntityModifiers_(0);
b0._EntityModifiers();
b0.SimpleName("Grammar");
b0.Types_(0);
b0._Types();
b0.Features_(12);
b0.Feature_();
b0.FeatureModifiers_(0);
b0._FeatureModifiers();
b0.SimpleName("Name");
b0.SimpleName("name");
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._Feature();
b0.Feature_();
b0.FeatureModifiers_(0);
b0._FeatureModifiers();
b0.SimpleName("TargetLanguage");
b0.SimpleName("targetLanguage");
b1.Resolver();
b0._Feature();
b0.Feature_();
b0.FeatureModifiers_(1);
b0.FeatureModifier("optional");
b0._FeatureModifiers();
b0.SimpleName("NonTerminal");
b0.SimpleName("startSymbol");
b1.Resolver();
b0._Feature();
b0.Feature_();
b0.FeatureModifiers_(1);
b0.FeatureModifier("optional");
b0._FeatureModifiers();
b0.SimpleName("LiteralTerminal");
b0.SimpleName("delimiter");
b1.Resolver();
b0._Feature();
b0.Feature_();
b0.FeatureModifiers_(0);
b0._FeatureModifiers();
b0.SimpleName("Productions");
b0.SimpleName("lexicalStructure");
b1.Resolver();
b0._Feature();
b0.Feature_();
b0.FeatureModifiers_(0);
b0._FeatureModifiers();
b0.SimpleName("Productions");
b0.SimpleName("phraseStructure");
b1.Resolver();
b0._Feature();
b0.Feature_();
b0.FeatureModifiers_(0);
b0._FeatureModifiers();
b0.SimpleName("URI");
b0.SimpleName("uri");
b1.Resolver();
b0._Feature();
b0.Feature_();
b0.FeatureModifiers_(0);
b0._FeatureModifiers();
b0.SimpleName("Namespace");
b0.SimpleName("namespace");
b1.Resolver();
b0._Feature();
b0.Feature_();
b0.FeatureModifiers_(1);
b0.FeatureModifier("optional");
b0._FeatureModifiers();
b0.SimpleName("Version");
b0.SimpleName("version");
b1.Resolver();
b0._Feature();
b0.Feature_();
b0.FeatureModifiers_(1);
b0.FeatureModifier("optional");
b0._FeatureModifiers();
b0.SimpleName("Literal");
b0.SimpleName("spaceLiteral");
b1.Resolver();
b0._Feature();
b0.Feature_();
b0.FeatureModifiers_(1);
b0.FeatureModifier("optional");
b0._FeatureModifiers();
b0.SimpleName("Literal");
b0.SimpleName("indentLiteral");
b1.Resolver();
b0._Feature();
b0.Feature_();
b0.FeatureModifiers_(1);
b0.FeatureModifier("optional");
b0._FeatureModifiers();
b0.SimpleName("Literal");
b0.SimpleName("newLineLiteral");
b1.Resolver();
b0._Feature();
b0._Features();
b0._SimpleEntity();
b0.CompositeEntity_();
b0.EntityModifiers_(0);
b0._EntityModifiers();
b0.SimpleName("Productions");
b0.Types_(0);
b0._Types();
b0.ComponentModifiers_(2);
b0.ComponentModifier("ordered");
b0.ComponentModifier("unique");
b0._ComponentModifiers();
b0.SimpleName("Production");
b0._CompositeEntity();
b0.SimpleEntity_();
b0.EntityModifiers_(0);
b0._EntityModifiers();
b0.SimpleName("Production");
b0.Types_(1);
b0.SimpleName("Rule");
b0._Types();
b0.Features_(3);
b0.Feature_();
b0.FeatureModifiers_(1);
b0.FeatureModifier("id");
b0._FeatureModifiers();
b0.SimpleName("NonTerminal");
b0.SimpleName("name");
b1.Resolver();
b0._Feature();
b0.Feature_();
b0.FeatureModifiers_(0);
b0._FeatureModifiers();
b0.SimpleName("Rule");
b0.SimpleName("rule");
b1.Resolver();
b0._Feature();
b0.Feature_();
b0.FeatureModifiers_(1);
b0.FeatureModifier("optional");
b0._FeatureModifiers();
b0.SimpleName("Template");
b0.SimpleName("template");
b1.Resolver();
b0._Feature();
b0._Features();
b0._SimpleEntity();
b0.SimpleEntity_();
b0.EntityModifiers_(1);
b0.EntityModifier("abstract");
b0._EntityModifiers();
b0.SimpleName("Predicate");
b0.Types_(0);
b0._Types();
b0.Features_(0);
b0._Features();
b0._SimpleEntity();
b0.SimpleEntity_();
b0.EntityModifiers_(0);
b0._EntityModifiers();
b0.SimpleName("And");
b0.Types_(1);
b0.SimpleName("Predicate");
b0._Types();
b0.Features_(2);
b0.Feature_();
b0.FeatureModifiers_(0);
b0._FeatureModifiers();
b0.SimpleName("Predicate");
b0.SimpleName("predicate1");
b1.Resolver();
b0._Feature();
b0.Feature_();
b0.FeatureModifiers_(0);
b0._FeatureModifiers();
b0.SimpleName("Predicate");
b0.SimpleName("predicate2");
b1.Resolver();
b0._Feature();
b0._Features();
b0._SimpleEntity();
b0.SimpleEntity_();
b0.EntityModifiers_(0);
b0._EntityModifiers();
b0.SimpleName("Or");
b0.Types_(1);
b0.SimpleName("Predicate");
b0._Types();
b0.Features_(2);
b0.Feature_();
b0.FeatureModifiers_(0);
b0._FeatureModifiers();
b0.SimpleName("Predicate");
b0.SimpleName("predicate1");
b1.Resolver();
b0._Feature();
b0.Feature_();
b0.FeatureModifiers_(0);
b0._FeatureModifiers();
b0.SimpleName("Predicate");
b0.SimpleName("predicate2");
b1.Resolver();
b0._Feature();
b0._Features();
b0._SimpleEntity();
b0.SimpleEntity_();
b0.EntityModifiers_(0);
b0._EntityModifiers();
b0.SimpleName("Not");
b0.Types_(1);
b0.SimpleName("Predicate");
b0._Types();
b0.Features_(1);
b0.Feature_();
b0.FeatureModifiers_(0);
b0._FeatureModifiers();
b0.SimpleName("Predicate");
b0.SimpleName("predicate");
b1.Resolver();
b0._Feature();
b0._Features();
b0._SimpleEntity();
b0.SimpleEntity_();
b0.EntityModifiers_(1);
b0.EntityModifier("abstract");
b0._EntityModifiers();
b0.SimpleName("Rule");
b0.Types_(1);
b0.SimpleName("Predicate");
b0._Types();
b0.Features_(0);
b0._Features();
b0._SimpleEntity();
b0.SimpleEntity_();
b0.EntityModifiers_(1);
b0.EntityModifier("abstract");
b0._EntityModifiers();
b0.SimpleName("EpsilonRule");
b0.Types_(1);
b0.SimpleName("Rule");
b0._Types();
b0.Features_(0);
b0._Features();
b0._SimpleEntity();
b0.SimpleEntity_();
b0.EntityModifiers_(0);
b0._EntityModifiers();
b0.SimpleName("Empty");
b0.Types_(1);
b0.SimpleName("EpsilonRule");
b0._Types();
b0.Features_(1);
b0.Feature_();
b0.FeatureModifiers_(1);
b0.FeatureModifier("optional");
b0._FeatureModifiers();
b0.SimpleName("Literal");
b0.SimpleName("literal");
b1.Resolver();
b0._Feature();
b0._Features();
b0._SimpleEntity();
b0.SimpleEntity_();
b0.EntityModifiers_(0);
b0._EntityModifiers();
b0.SimpleName("Space");
b0.Types_(1);
b0.SimpleName("EpsilonRule");
b0._Types();
b0.Features_(0);
b0._Features();
b0._SimpleEntity();
b0.SimpleEntity_();
b0.EntityModifiers_(0);
b0._EntityModifiers();
b0.SimpleName("Indent");
b0.Types_(1);
b0.SimpleName("EpsilonRule");
b0._Types();
b0.Features_(0);
b0._Features();
b0._SimpleEntity();
b0.SimpleEntity_();
b0.EntityModifiers_(0);
b0._EntityModifiers();
b0.SimpleName("NewLine");
b0.Types_(1);
b0.SimpleName("EpsilonRule");
b0._Types();
b0.Features_(0);
b0._Features();
b0._SimpleEntity();
b0.SimpleEntity_();
b0.EntityModifiers_(1);
b0.EntityModifier("abstract");
b0._EntityModifiers();
b0.SimpleName("Terminal");
b0.Types_(1);
b0.SimpleName("Rule");
b0._Types();
b0.Features_(2);
b0.Feature_();
b0.FeatureModifiers_(0);
b0._FeatureModifiers();
b0.SimpleName("Pattern");
b0.SimpleName("pattern");
b1.Resolver();
b0._Feature();
b0.Feature_();
b0.FeatureModifiers_(1);
b0.FeatureModifier("optional");
b0._FeatureModifiers();
b0.SimpleName("Category");
b0.SimpleName("category");
b1.Resolver();
b0._Feature();
b0._Features();
b0._SimpleEntity();
b0.SimpleEntity_();
b0.EntityModifiers_(0);
b0._EntityModifiers();
b0.SimpleName("LiteralTerminal");
b0.Types_(1);
b0.SimpleName("Terminal");
b0._Types();
b0.Features_(1);
b0.Feature_();
b0.FeatureModifiers_(0);
b0._FeatureModifiers();
b0.SimpleName("Literal");
b0.SimpleName("literal");
b1.Resolver();
b0._Feature();
b0._Features();
b0._SimpleEntity();
b0.SimpleEntity_();
b0.EntityModifiers_(0);
b0._EntityModifiers();
b0.SimpleName("DataTerminal");
b0.Types_(1);
b0.SimpleName("Terminal");
b0._Types();
b0.Features_(1);
b0.Feature_();
b0.FeatureModifiers_(0);
b0._FeatureModifiers();
b0.SimpleName("Format");
b0.SimpleName("format");
b1.Resolver();
b0._Feature();
b0._Features();
b0._SimpleEntity();
b0.DataEntity_();
b0.EntityModifiers_(0);
b0._EntityModifiers();
b0.SimpleName("NonTerminal");
b0.Types_(1);
b0.SimpleName("Rule");
b0._Types();
b0.DataType("String");
b0._DataEntity();
b0.SimpleEntity_();
b0.EntityModifiers_(0);
b0._EntityModifiers();
b0.SimpleName("Optional");
b0.Types_(1);
b0.SimpleName("Rule");
b0._Types();
b0.Features_(1);
b0.Feature_();
b0.FeatureModifiers_(0);
b0._FeatureModifiers();
b0.SimpleName("Rule");
b0.SimpleName("rule");
b1.Resolver();
b0._Feature();
b0._Features();
b0._SimpleEntity();
b0.SimpleEntity_();
b0.EntityModifiers_(0);
b0._EntityModifiers();
b0.SimpleName("Repeat");
b0.Types_(1);
b0.SimpleName("Rule");
b0._Types();
b0.Features_(4);
b0.Feature_();
b0.FeatureModifiers_(1);
b0.FeatureModifier("optional");
b0._FeatureModifiers();
b0.SimpleName("Size");
b0.SimpleName("lowerBound");
b1.Resolver();
b0._Feature();
b0.Feature_();
b0.FeatureModifiers_(1);
b0.FeatureModifier("optional");
b0._FeatureModifiers();
b0.SimpleName("Bound");
b0.SimpleName("upperBound");
b1.Resolver();
b0._Feature();
b0.Feature_();
b0.FeatureModifiers_(1);
b0.FeatureModifier("optional");
b0._FeatureModifiers();
b0.SimpleName("Rule");
b0.SimpleName("separator");
b1.Resolver();
b0._Feature();
b0.Feature_();
b0.FeatureModifiers_(0);
b0._FeatureModifiers();
b0.SimpleName("Rule");
b0.SimpleName("rule");
b1.Resolver();
b0._Feature();
b0._Features();
b0._SimpleEntity();
b0.CompositeEntity_();
b0.EntityModifiers_(0);
b0._EntityModifiers();
b0.SimpleName("Concatenate");
b0.Types_(1);
b0.SimpleName("Rule");
b0._Types();
b0.ComponentModifiers_(1);
b0.ComponentModifier("ordered");
b0._ComponentModifiers();
b0.SimpleName("Rule");
b0._CompositeEntity();
b0.CompositeEntity_();
b0.EntityModifiers_(0);
b0._EntityModifiers();
b0.SimpleName("Choose");
b0.Types_(1);
b0.SimpleName("Rule");
b0._Types();
b0.ComponentModifiers_(1);
b0.ComponentModifier("ordered");
b0._ComponentModifiers();
b0.SimpleName("Rule");
b0._CompositeEntity();
b0.SimpleEntity_();
b0.EntityModifiers_(0);
b0._EntityModifiers();
b0.SimpleName("When");
b0.Types_(1);
b0.SimpleName("Rule");
b0._Types();
b0.Features_(2);
b0.Feature_();
b0.FeatureModifiers_(0);
b0._FeatureModifiers();
b0.SimpleName("Predicate");
b0.SimpleName("predicate");
b1.Resolver();
b0._Feature();
b0.Feature_();
b0.FeatureModifiers_(0);
b0._FeatureModifiers();
b0.SimpleName("Rule");
b0.SimpleName("rule");
b1.Resolver();
b0._Feature();
b0._Features();
b0._SimpleEntity();
b0.SimpleEntity_();
b0.EntityModifiers_(0);
b0._EntityModifiers();
b0.SimpleName("As");
b0.Types_(1);
b0.SimpleName("Rule");
b0._Types();
b0.Features_(2);
b0.Feature_();
b0.FeatureModifiers_(0);
b0._FeatureModifiers();
b0.SimpleName("Rule");
b0.SimpleName("rule");
b1.Resolver();
b0._Feature();
b0.Feature_();
b0.FeatureModifiers_(0);
b0._FeatureModifiers();
b0.SimpleName("Name");
b0.SimpleName("name");
b1.Resolver();
b0._Feature();
b0._Features();
b0._SimpleEntity();
b0.SimpleEntity_();
b0.EntityModifiers_(0);
b0._EntityModifiers();
b0.SimpleName("Split");
b0.Types_(1);
b0.SimpleName("Rule");
b0._Types();
b0.Features_(2);
b0.Feature_();
b0.FeatureModifiers_(0);
b0._FeatureModifiers();
b0.SimpleName("Splitter");
b0.SimpleName("splitter");
b1.Resolver();
b0._Feature();
b0.Feature_();
b0.FeatureModifiers_(0);
b0._FeatureModifiers();
b0.SimpleName("Rule");
b0.SimpleName("rule");
b1.Resolver();
b0._Feature();
b0._Features();
b0._SimpleEntity();
b0.SimpleEntity_();
b0.EntityModifiers_(1);
b0.EntityModifier("abstract");
b0._EntityModifiers();
b0.SimpleName("Splitter");
b0.Types_(0);
b0._Types();
b0.Features_(0);
b0._Features();
b0._SimpleEntity();
b0.DataEntity_();
b0.EntityModifiers_(0);
b0._EntityModifiers();
b0.SimpleName("BySize");
b0.Types_(1);
b0.SimpleName("Splitter");
b0._Types();
b0.DataType("int");
b0._DataEntity();
b0.DataEntity_();
b0.EntityModifiers_(0);
b0._EntityModifiers();
b0.SimpleName("ByLines");
b0.Types_(1);
b0.SimpleName("Splitter");
b0._Types();
b0.DataType("int");
b0._DataEntity();
b0.SimpleEntity_();
b0.EntityModifiers_(0);
b0._EntityModifiers();
b0.SimpleName("ByDelimiter");
b0.Types_(1);
b0.SimpleName("Splitter");
b0._Types();
b0.Features_(1);
b0.Feature_();
b0.FeatureModifiers_(0);
b0._FeatureModifiers();
b0.SimpleName("Pattern");
b0.SimpleName("delimiter");
b1.Resolver();
b0._Feature();
b0._Features();
b0._SimpleEntity();
b0.SimpleEntity_();
b0.EntityModifiers_(1);
b0.EntityModifier("abstract");
b0._EntityModifiers();
b0.SimpleName("TargetLanguage");
b0.Types_(0);
b0._Types();
b0.Features_(0);
b0._Features();
b0._SimpleEntity();
b0.SimpleEntity_();
b0.EntityModifiers_(0);
b0._EntityModifiers();
b0.SimpleName("LanguageDescriptor");
b0.Types_(1);
b0.SimpleName("TargetLanguage");
b0._Types();
b0.Features_(4);
b0.Feature_();
b0.FeatureModifiers_(0);
b0._FeatureModifiers();
b0.SimpleName("URI");
b0.SimpleName("uri");
b1.Resolver();
b0._Feature();
b0.Feature_();
b0.FeatureModifiers_(0);
b0._FeatureModifiers();
b0.SimpleName("Namespace");
b0.SimpleName("namespace");
b1.Resolver();
b0._Feature();
b0.Feature_();
b0.FeatureModifiers_(0);
b0._FeatureModifiers();
b0.SimpleName("Name");
b0.SimpleName("name");
b1.Resolver();
b0._Feature();
b0.Feature_();
b0.FeatureModifiers_(1);
b0.FeatureModifier("optional");
b0._FeatureModifiers();
b0.SimpleName("Version");
b0.SimpleName("version");
b1.Resolver();
b0._Feature();
b0._Features();
b0._SimpleEntity();
b0.DataEntity_();
b0.EntityModifiers_(0);
b0._EntityModifiers();
b0.SimpleName("Name");
b0.Types_(0);
b0._Types();
b0.DataType("String");
b0._DataEntity();
b0.DataEntity_();
b0.EntityModifiers_(0);
b0._EntityModifiers();
b0.SimpleName("URI");
b0.Types_(1);
b0.SimpleName("TargetLanguage");
b0._Types();
b0.DataType("String");
b0._DataEntity();
b0.DataEntity_();
b0.EntityModifiers_(0);
b0._EntityModifiers();
b0.SimpleName("Namespace");
b0.Types_(0);
b0._Types();
b0.DataType("String");
b0._DataEntity();
b0.DataEntity_();
b0.EntityModifiers_(0);
b0._EntityModifiers();
b0.SimpleName("Version");
b0.Types_(0);
b0._Types();
b0.DataType("String");
b0._DataEntity();
b0.SimpleEntity_();
b0.EntityModifiers_(1);
b0.EntityModifier("abstract");
b0._EntityModifiers();
b0.SimpleName("Bound");
b0.Types_(0);
b0._Types();
b0.Features_(0);
b0._Features();
b0._SimpleEntity();
b0.SimpleEntity_();
b0.EntityModifiers_(0);
b0._EntityModifiers();
b0.SimpleName("Unbounded");
b0.Types_(1);
b0.SimpleName("Bound");
b0._Types();
b0.Features_(0);
b0._Features();
b0._SimpleEntity();
b0.DataEntity_();
b0.EntityModifiers_(0);
b0._EntityModifiers();
b0.SimpleName("Size");
b0.Types_(1);
b0.SimpleName("Bound");
b0._Types();
b0.DataType("int");
b0._DataEntity();
b0.DataEntity_();
b0.EntityModifiers_(0);
b0._EntityModifiers();
b0.SimpleName("Literal");
b0.Types_(0);
b0._Types();
b0.DataType("String");
b0._DataEntity();
b0.SimpleEntity_();
b0.EntityModifiers_(1);
b0.EntityModifier("abstract");
b0._EntityModifiers();
b0.SimpleName("Pattern");
b0.Types_(0);
b0._Types();
b0.Features_(0);
b0._Features();
b0._SimpleEntity();
b0.DataEntity_();
b0.EntityModifiers_(0);
b0._EntityModifiers();
b0.SimpleName("RegExp");
b0.Types_(1);
b0.SimpleName("Pattern");
b0._Types();
b0.DataType("String");
b0._DataEntity();
b0.DataEntity_();
b0.EntityModifiers_(0);
b0._EntityModifiers();
b0.SimpleName("CompiledPattern");
b0.Types_(1);
b0.SimpleName("Pattern");
b0._Types();
b0.DataType("java.util.regex.Pattern");
b0._DataEntity();
b0.DataEntity_();
b0.EntityModifiers_(0);
b0._EntityModifiers();
b0.SimpleName("Format");
b0.Types_(0);
b0._Types();
b0.DataType("String");
b0._DataEntity();
b0.EnumEntity_();
b0.EntityModifiers_(0);
b0._EntityModifiers();
b0.SimpleName("Category");
b0.Types_(0);
b0._Types();
b0.EnumValues_(7);
b0.EnumValue("DELIMITER");
b0.EnumValue("IDENTIFIER");
b0.EnumValue("KEYWORD");
b0.EnumValue("LITERAL");
b0.EnumValue("OPERATOR");
b0.EnumValue("PARENTHESIS");
b0.EnumValue("SEPARATOR");
b0._EnumValues();
b0._EnumEntity();
b0.SimpleEntity_();
b0.EntityModifiers_(1);
b0.EntityModifier("abstract");
b0._EntityModifiers();
b0.SimpleName("Template");
b0.Types_(0);
b0._Types();
b0.Features_(0);
b0._Features();
b0._SimpleEntity();
b0.EnumEntity_();
b0.EntityModifiers_(0);
b0._EntityModifiers();
b0.SimpleName("DataType");
b0.Types_(1);
b0.SimpleName("Template");
b0._Types();
b0.EnumValues_(10);
b0.EnumValue("BOOLEAN");
b0.EnumValue("BYTE");
b0.EnumValue("CHAR");
b0.EnumValue("DOUBLE");
b0.EnumValue("FLOAT");
b0.EnumValue("INT");
b0.EnumValue("LONG");
b0.EnumValue("SHORT");
b0.EnumValue("STRING");
b0.EnumValue("DATE");
b0._EnumValues();
b0._EnumEntity();
b0.DataEntity_();
b0.EntityModifiers_(0);
b0._EntityModifiers();
b0.SimpleName("CustomDataType");
b0.Types_(1);
b0.SimpleName("Template");
b0._Types();
b0.DataType("String");
b0._DataEntity();
b0._ModelDeclarations();
b0.Namespace("org.whole.lang.grammars");
b1.Resolver();
b0.URI("http://lang.whole.org/Grammars");
b0._Model();
}
}