package org.whole.examples.dataintegration.motogp;
import org.whole.lang.builders.IBuilderOperation;
import org.whole.lang.templates.AbstractTemplateFactory;
public class MotoGP_TeamsCSVGrammar 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("MotoGP_TeamsCSVGrammar");
b0.LanguageDescriptor_();
b0.URI("http://dataintegration.examples.whole.org/MotoGP");
b0.Namespace("org.whole.examples.dataintegration.motogp");
b0.Name("MotoGP");
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("Teams");
b1.Resolver();
b0.Productions_(2);
b0.Production_();
b0.NonTerminal("NL");
b0.LiteralTerminal_();
b0.RegExp("\\r\\n|[\\n\\r\\u2028\\u2029\\u0085]");
b1.Resolver();
b0.Literal("\n");
b0._LiteralTerminal();
b1.Resolver();
b0._Production();
b0.Production_();
b0.NonTerminal("SEP");
b0.LiteralTerminal_();
b0.RegExp(";");
b0.Category("DELIMITER");
b0.Literal(";");
b0._LiteralTerminal();
b1.Resolver();
b0._Production();
b0._Productions();
b0.Productions_(4);
b0.Production_();
b0.NonTerminal("Teams");
b0.Repeat_();
b0.Size(2);
b0.Unbounded();
b0.NonTerminal("NL");
b0.Production_();
b0.NonTerminal("Team");
b0.Concatenate_(7);
b0.As_();
b0.NonTerminal("Name");
b0.Name("name");
b0._As();
b0.NonTerminal("SEP");
b0.As_();
b0.NonTerminal("Name");
b0.Name("manufacturer");
b0._As();
b0.NonTerminal("SEP");
b0.As_();
b0.NonTerminal("Rider");
b0.Name("rider1");
b0._As();
b0.NonTerminal("SEP");
b0.As_();
b0.NonTerminal("Rider");
b0.Name("rider2");
b0._As();
b0._Concatenate();
b1.Resolver();
b0._Production();
b0._Repeat();
b1.Resolver();
b0._Production();
b0.Production_();
b0.NonTerminal("Rider");
b0.Concatenate_(3);
b0.As_();
b0.NonTerminal("Name");
b0.Name("name");
b0._As();
b0.NonTerminal("SEP");
b0.As_();
b0.NonTerminal("Number");
b0.Name("number");
b0._As();
b0._Concatenate();
b1.Resolver();
b0._Production();
b0.Production_();
b0.NonTerminal("Name");
b0.DataTerminal_();
b0.RegExp("[a-zA-Z0-9 ]*");
b0.Category("LITERAL");
b0.Format("%s");
b0._DataTerminal();
b0.DataType("STRING");
b0._Production();
b0.Production_();
b0.NonTerminal("Number");
b0.DataTerminal_();
b0.RegExp("[0-9]+");
b0.Category("LITERAL");
b0.Format("%d");
b0._DataTerminal();
b0.DataType("INT");
b0._Production();
b0._Productions();
b0.URI("http://dataintegration.examples.whole.org/MotoGP_TeamsCSVGrammar");
b0.Namespace("org.whole.examples.dataintegration.motogp.grammars");
b1.Resolver();
b0._Grammar();
}
}