package org.whole.lang.queries.util;
import org.whole.lang.model.IEntity;
import org.whole.lang.templates.AbstractTemplateFactory;
import org.whole.lang.templates.AbstractTemplateManager;
import org.whole.lang.templates.ITemplateFactory;
public class PathExpressionsQueriesTemplateManager extends AbstractTemplateManager {
private static class SingletonHolder {
private static final PathExpressionsQueriesTemplateManager instance = new PathExpressionsQueriesTemplateManager();
}
public static PathExpressionsQueriesTemplateManager instance() {
return SingletonHolder.instance;
}
private PathExpressionsQueriesTemplateManager() {
put("path1", newPath1());
put("path1a", newPath1a());
put("path1b", newPath1b());
put("path1c", newPath1c());
put("path1d", newPath1d());
put("path2", newPath2());
put("path3", newPath3());
put("path4", newPath4());
put("path5", newPath5());
put("path6", newPath6());
put("path7", newPath7());
put("path8", newPath8());
put("pathWithTuple", newPathWithTuple());
put("testProduct1", newTestProduct1());
put("testProduct2", newTestProduct2());
put("testProduct3", newTestProduct3());
put("testProduct4", newTestProduct4());
put("findProduction", newFindProduction());
put("nonTerminalSet", newNonTerminalSet());
put("findNonTerminalOccurrences", newFindNonTerminalOccurrences());
put("bindNonTerminalOccurrences", newBindNonTerminalOccurrences());
put("findAllNonTerminalsUsed", newFindAllNonTerminalsUsed());
put("recursiveProduction1", newRecursiveProduction1());
put("recursiveProduction2", newRecursiveProduction2());
put("recursiveProduction3", newRecursiveProduction3());
put("recursiveProduction4", newRecursiveProduction4());
put("recursiveProduction5", newRecursiveProduction5());
put("recursiveProduction6", newRecursiveProduction6());
put("unusedProduction", newUnusedProduction());
put("exactlyOneDefUse", newExactlyOneDefUse());
put("helperResultAs", newHelperResultAs());
}
public ITemplateFactory<IEntity> newPath1() {
return new AbstractTemplateFactory<IEntity>() {
public void apply(org.whole.lang.builders.IBuilderOperation op) {
org.whole.lang.queries.builders.IQueriesBuilder b0 = (org.whole.lang.queries.builders.IQueriesBuilder) op.wGetBuilder(org.whole.lang.queries.reflect.QueriesLanguageKit.URI);
b0.Path_(5);
b0.FeatureStep("phraseStructure");
b0.Filter_();
b0.ChildStep();
b0.IndexTest_();
b0.IntLiteral(0);
b0._IndexTest();
b0._Filter();
b0.FeatureStep("rule");
b0.Filter_();
b0.ChildStep();
b0.IndexTest_();
b0.IntLiteral(0);
b0._IndexTest();
b0._Filter();
b0.FeatureStep("name");
b0._Path();
}
};
}
public ITemplateFactory<IEntity> newPath1a() {
return new AbstractTemplateFactory<IEntity>() {
public void apply(org.whole.lang.builders.IBuilderOperation op) {
org.whole.lang.queries.builders.IQueriesBuilder b0 = (org.whole.lang.queries.builders.IQueriesBuilder) op.wGetBuilder(org.whole.lang.queries.reflect.QueriesLanguageKit.URI);
b0.Path_(2);
b0.FeatureStep("phraseStructure");
b0.Filter_();
b0.ChildStep();
b0.IndexTest_();
b0.IntLiteral(2);
b0._IndexTest();
b0._Filter();
b0._Path();
}
};
}
public ITemplateFactory<IEntity> newPath1b() {
return new AbstractTemplateFactory<IEntity>() {
public void apply(org.whole.lang.builders.IBuilderOperation op) {
org.whole.lang.queries.builders.IQueriesBuilder b0 = (org.whole.lang.queries.builders.IQueriesBuilder) op.wGetBuilder(org.whole.lang.queries.reflect.QueriesLanguageKit.URI);
b0.Path_(2);
b0.FeatureStep("phraseStructure");
b0.Filter_();
b0.ChildStep();
b0.And_();
b0.IndexTest_();
b0.IntLiteral(2);
b0._IndexTest();
b0.TypeTest("Production");
b0._And();
b0._Filter();
b0._Path();
}
};
}
public ITemplateFactory<IEntity> newPath1c() {
return new AbstractTemplateFactory<IEntity>() {
public void apply(org.whole.lang.builders.IBuilderOperation op) {
org.whole.lang.queries.builders.IQueriesBuilder b0 = (org.whole.lang.queries.builders.IQueriesBuilder) op.wGetBuilder(org.whole.lang.queries.reflect.QueriesLanguageKit.URI);
b0.Path_(3);
b0.FeatureStep("phraseStructure");
b0.Filter_();
b0.ChildStep();
b0.IndexTest_();
b0.IntLiteral(0);
b0._IndexTest();
b0._Filter();
b0.Filter_();
b0.FollowingSiblingStep();
b0.IndexTest_();
b0.IntLiteral(2);
b0._IndexTest();
b0._Filter();
b0._Path();
}
};
}
public ITemplateFactory<IEntity> newPath1d() {
return new AbstractTemplateFactory<IEntity>() {
public void apply(org.whole.lang.builders.IBuilderOperation op) {
org.whole.lang.queries.builders.IQueriesBuilder b0 = (org.whole.lang.queries.builders.IQueriesBuilder) op.wGetBuilder(org.whole.lang.queries.reflect.QueriesLanguageKit.URI);
b0.Path_(3);
b0.FeatureStep("phraseStructure");
b0.Filter_();
b0.ChildStep();
b0.IndexTest_();
b0.IntLiteral(0);
b0._IndexTest();
b0._Filter();
b0.Filter_();
b0.FollowingSiblingStep();
b0.And_();
b0.IndexTest_();
b0.IntLiteral(2);
b0._IndexTest();
b0.TypeTest("Production");
b0._And();
b0._Filter();
b0._Path();
}
};
}
public ITemplateFactory<IEntity> newPath2() {
return new AbstractTemplateFactory<IEntity>() {
public void apply(org.whole.lang.builders.IBuilderOperation op) {
org.whole.lang.queries.builders.IQueriesBuilder b0 = (org.whole.lang.queries.builders.IQueriesBuilder) op.wGetBuilder(org.whole.lang.queries.reflect.QueriesLanguageKit.URI);
b0.Path_(4);
b0.FeatureStep("phraseStructure");
b0.Filter_();
b0.ChildStep();
b0.IndexTest_();
b0.IntLiteral(0);
b0._IndexTest();
b0._Filter();
b0.FeatureStep("rule");
b0.Filter_();
b0.DescendantStep();
b0.Or_();
b0.KindTest("SIMPLE");
b0.KindTest("DATA");
b0._Or();
b0._Filter();
b0._Path();
}
};
}
public ITemplateFactory<IEntity> newPath3() {
return new AbstractTemplateFactory<IEntity>() {
public void apply(org.whole.lang.builders.IBuilderOperation op) {
org.whole.lang.queries.builders.IQueriesBuilder b0 = (org.whole.lang.queries.builders.IQueriesBuilder) op.wGetBuilder(org.whole.lang.queries.reflect.QueriesLanguageKit.URI);
b0.Path_(4);
b0.FeatureStep("phraseStructure");
b0.Filter_();
b0.ChildStep();
b0.IndexTest_();
b0.IntLiteral(0);
b0._IndexTest();
b0._Filter();
b0.FeatureStep("rule");
b0.Filter_();
b0.DescendantStep();
b0.Not_();
b0.KindTest("COMPOSITE");
b0._Not();
b0._Filter();
b0._Path();
}
};
}
public ITemplateFactory<IEntity> newPath4() {
return new AbstractTemplateFactory<IEntity>() {
public void apply(org.whole.lang.builders.IBuilderOperation op) {
org.whole.lang.queries.builders.IQueriesBuilder b0 = (org.whole.lang.queries.builders.IQueriesBuilder) op.wGetBuilder(org.whole.lang.queries.reflect.QueriesLanguageKit.URI);
b0.Path_(4);
b0.FeatureStep("phraseStructure");
b0.Filter_();
b0.ChildStep();
b0.SubtypeTest("Production");
b0._Filter();
b0.FeatureStep("rule");
b0.Filter_();
b0.DescendantStep();
b0.SubtypeTest("Production");
b0._Filter();
b0._Path();
}
};
}
public ITemplateFactory<IEntity> newPath5() {
return new AbstractTemplateFactory<IEntity>() {
public void apply(org.whole.lang.builders.IBuilderOperation op) {
org.whole.lang.queries.builders.IQueriesBuilder b0 = (org.whole.lang.queries.builders.IQueriesBuilder) op.wGetBuilder(org.whole.lang.queries.reflect.QueriesLanguageKit.URI);
b0.Path_(2);
b0.Sequence_(2);
b0.FeatureStep("phraseStructure");
b0.FeatureStep("lexicalStructure");
b0._Sequence();
b0.Filter_();
b0.ChildStep();
b0.And_();
b0.SubtypeTest("Production");
b0.ExpressionTest_();
b0.Filter_();
b0.FeatureStep("rule");
b0.TypeTest("Choose");
b0._Filter();
b0._ExpressionTest();
b0._And();
b0._Filter();
b0._Path();
}
};
}
public ITemplateFactory<IEntity> newPath6() {
return new AbstractTemplateFactory<IEntity>() {
public void apply(org.whole.lang.builders.IBuilderOperation op) {
org.whole.lang.queries.builders.IQueriesBuilder b0 = (org.whole.lang.queries.builders.IQueriesBuilder) op.wGetBuilder(org.whole.lang.queries.reflect.QueriesLanguageKit.URI);
b0.Path_(2);
b0.FeatureStep("phraseStructure");
b0.Filter_();
b0.ChildStep();
b0.And_();
b0.TypeTest("Production");
b0.ExpressionTest_();
b0.GreaterOrEquals_();
b0.VariableRefStep("index");
b0.IntLiteral(2);
b0._GreaterOrEquals();
b0._ExpressionTest();
b0._And();
b0._Filter();
b0._Path();
}
};
}
public ITemplateFactory<IEntity> newPath7() {
return new AbstractTemplateFactory<IEntity>() {
public void apply(org.whole.lang.builders.IBuilderOperation op) {
org.whole.lang.queries.builders.IQueriesBuilder b0 = (org.whole.lang.queries.builders.IQueriesBuilder) op.wGetBuilder(org.whole.lang.queries.reflect.QueriesLanguageKit.URI);
b0.Path_(4);
b0.FeatureStep("phraseStructure");
b0.Filter_();
b0.ChildStep();
b0.SubtypeTest("Production");
b0._Filter();
b0.FeatureStep("rule");
b0.Filter_();
b0.DescendantStep();
b0.ExpressionTest_();
org.whole.lang.commons.builders.ICommonsBuilder b1 = (org.whole.lang.commons.builders.ICommonsBuilder) op.wGetBuilder(org.whole.lang.commons.reflect.CommonsLanguageKit.URI);
b1.StageUpFragment_();
org.whole.lang.grammars.builders.IGrammarsBuilder b2 = (org.whole.lang.grammars.builders.IGrammarsBuilder) op.wGetBuilder(org.whole.lang.grammars.reflect.GrammarsLanguageKit.URI);
b2.As_();
b2.NonTerminal("IName");
b2.Name("tag");
b2._As();
b1._StageUpFragment();
b0._ExpressionTest();
b0._Filter();
b0._Path();
}
};
}
public ITemplateFactory<IEntity> newPath8() {
return new AbstractTemplateFactory<IEntity>() {
public void apply(org.whole.lang.builders.IBuilderOperation op) {
org.whole.lang.queries.builders.IQueriesBuilder b0 = (org.whole.lang.queries.builders.IQueriesBuilder) op.wGetBuilder(org.whole.lang.queries.reflect.QueriesLanguageKit.URI);
b0.Path_(4);
b0.FeatureStep("phraseStructure");
b0.Filter_();
b0.ChildStep();
b0.SubtypeTest("Production");
b0._Filter();
b0.FeatureStep("rule");
b0.Filter_();
b0.DescendantStep();
b0.ExpressionTest_();
org.whole.lang.commons.builders.ICommonsBuilder b1 = (org.whole.lang.commons.builders.ICommonsBuilder) op.wGetBuilder(org.whole.lang.commons.reflect.CommonsLanguageKit.URI);
b1.StageUpFragment_();
org.whole.lang.grammars.builders.IGrammarsBuilder b2 = (org.whole.lang.grammars.builders.IGrammarsBuilder) op.wGetBuilder(org.whole.lang.grammars.reflect.GrammarsLanguageKit.URI);
b2.Production_();
b1.Variable_();
b1.VarType("http://lang.whole.org/Grammars#NonTerminal");
b1.VarName("name");
b1.Quantifier("!");
b1._Variable();
b2.NonTerminal("STRING");
b1.Resolver();
b2._Production();
b1._StageUpFragment();
b0._ExpressionTest();
b0._Filter();
b0._Path();
}
};
}
public ITemplateFactory<IEntity> newPathWithTuple() {
return new AbstractTemplateFactory<IEntity>() {
public void apply(org.whole.lang.builders.IBuilderOperation op) {
org.whole.lang.queries.builders.IQueriesBuilder b0 = (org.whole.lang.queries.builders.IQueriesBuilder) op.wGetBuilder(org.whole.lang.queries.reflect.QueriesLanguageKit.URI);
b0.Path_(2);
b0.Filter_();
b0.StringLiteral("a");
b0.VariableTest("exp1");
b0._Filter();
b0.Tuple_(2);
b0.VariableRefStep("exp1");
b0.StringLiteral("b");
b0._Tuple();
b0._Path();
}
};
}
public ITemplateFactory<IEntity> newTestProduct1() {
return new AbstractTemplateFactory<IEntity>() {
public void apply(org.whole.lang.builders.IBuilderOperation op) {
org.whole.lang.queries.builders.IQueriesBuilder b0 = (org.whole.lang.queries.builders.IQueriesBuilder) op.wGetBuilder(org.whole.lang.queries.reflect.QueriesLanguageKit.URI);
b0.CartesianProduct_(2);
b0.Path_(2);
b0.FeatureStep("phraseStructure");
b0.Filter_();
b0.ChildStep();
b0.VariableTest("pp");
b0._Filter();
b0._Path();
b0.Path_(2);
b0.FeatureStep("lexicalStructure");
b0.Filter_();
b0.ChildStep();
b0.VariableTest("lp");
b0._Filter();
b0._Path();
b0._CartesianProduct();
}
};
}
public ITemplateFactory<IEntity> newTestProduct2() {
return new AbstractTemplateFactory<IEntity>() {
public void apply(org.whole.lang.builders.IBuilderOperation op) {
org.whole.lang.queries.builders.IQueriesBuilder b0 = (org.whole.lang.queries.builders.IQueriesBuilder) op.wGetBuilder(org.whole.lang.queries.reflect.QueriesLanguageKit.URI);
b0.Path_(3);
b0.FeatureStep("phraseStructure");
b0.Filter_();
b0.ChildStep();
b0.And_();
b0.TypeTest("Production");
b0.VariableTest("prod");
b0._And();
b0._Filter();
b0.CartesianProduct_(2);
b0.FeatureStep("name");
b0.FeatureStep("rule");
b0._CartesianProduct();
b0._Path();
}
};
}
public ITemplateFactory<IEntity> newTestProduct3() {
return new AbstractTemplateFactory<IEntity>() {
public void apply(org.whole.lang.builders.IBuilderOperation op) {
org.whole.lang.queries.builders.IQueriesBuilder b0 = (org.whole.lang.queries.builders.IQueriesBuilder) op.wGetBuilder(org.whole.lang.queries.reflect.QueriesLanguageKit.URI);
b0.CartesianProduct_(2);
b0.Path_(3);
b0.FeatureStep("phraseStructure");
b0.Filter_();
b0.ChildStep();
b0.TypeTest("Production");
b0._Filter();
b0.Filter_();
b0.FeatureStep("name");
b0.VariableTest("name1");
b0._Filter();
b0._Path();
b0.Path_(3);
b0.FeatureStep("phraseStructure");
b0.Filter_();
b0.ChildStep();
b0.TypeTest("Production");
b0._Filter();
b0.Filter_();
b0.FeatureStep("name");
b0.VariableTest("name2");
b0._Filter();
b0._Path();
b0._CartesianProduct();
}
};
}
public ITemplateFactory<IEntity> newTestProduct4() {
return new AbstractTemplateFactory<IEntity>() {
public void apply(org.whole.lang.builders.IBuilderOperation op) {
org.whole.lang.queries.builders.IQueriesBuilder b0 = (org.whole.lang.queries.builders.IQueriesBuilder) op.wGetBuilder(org.whole.lang.queries.reflect.QueriesLanguageKit.URI);
b0.PointwiseProduct_(2);
b0.Path_(3);
b0.FeatureStep("phraseStructure");
b0.Filter_();
b0.ChildStep();
b0.TypeTest("Production");
b0._Filter();
b0.Filter_();
b0.FeatureStep("name");
b0.VariableTest("name");
b0._Filter();
b0._Path();
b0.Path_(3);
b0.FeatureStep("phraseStructure");
b0.Filter_();
b0.ChildStep();
b0.TypeTest("Production");
b0._Filter();
b0.Filter_();
b0.FeatureStep("rule");
b0.VariableTest("rule");
b0._Filter();
b0._Path();
b0._PointwiseProduct();
}
};
}
public ITemplateFactory<IEntity> newFindProduction() {
return new AbstractTemplateFactory<IEntity>() {
public void apply(org.whole.lang.builders.IBuilderOperation op) {
org.whole.lang.queries.builders.IQueriesBuilder b0 = (org.whole.lang.queries.builders.IQueriesBuilder) op.wGetBuilder(org.whole.lang.queries.reflect.QueriesLanguageKit.URI);
b0.Path_(2);
b0.Sequence_(2);
b0.FeatureStep("phraseStructure");
b0.FeatureStep("lexicalStructure");
b0._Sequence();
b0.Filter_();
b0.ChildStep();
b0.And_();
b0.TypeTest("Production");
b0.ExpressionTest_();
b0.Filter_();
b0.FeatureStep("name");
b0.VariableTest("pname");
b0._Filter();
b0._ExpressionTest();
b0._And();
b0._Filter();
b0._Path();
}
};
}
public ITemplateFactory<IEntity> newNonTerminalSet() {
return new AbstractTemplateFactory<IEntity>() {
public void apply(org.whole.lang.builders.IBuilderOperation op) {
org.whole.lang.queries.builders.IQueriesBuilder b0 = (org.whole.lang.queries.builders.IQueriesBuilder) op.wGetBuilder(org.whole.lang.queries.reflect.QueriesLanguageKit.URI);
b0.Filter_();
b0.DescendantOrSelfStep();
b0.And_();
b0.TypeTest("NonTerminal");
b0.DistinctTest();
b0._And();
b0._Filter();
}
};
}
public ITemplateFactory<IEntity> newFindNonTerminalOccurrences() {
return new AbstractTemplateFactory<IEntity>() {
public void apply(org.whole.lang.builders.IBuilderOperation op) {
org.whole.lang.queries.builders.IQueriesBuilder b0 = (org.whole.lang.queries.builders.IQueriesBuilder) op.wGetBuilder(org.whole.lang.queries.reflect.QueriesLanguageKit.URI);
b0.Path_(3);
b0.FeatureStep("phraseStructure");
b0.Filter_();
b0.ChildStep();
b0.TypeTest("Production");
b0._Filter();
b0.Filter_();
b0.DescendantStep();
b0.TypeTest("NonTerminal");
b0._Filter();
b0._Path();
}
};
}
public ITemplateFactory<IEntity> newBindNonTerminalOccurrences() {
return new AbstractTemplateFactory<IEntity>() {
public void apply(org.whole.lang.builders.IBuilderOperation op) {
org.whole.lang.queries.builders.IQueriesBuilder b0 = (org.whole.lang.queries.builders.IQueriesBuilder) op.wGetBuilder(org.whole.lang.queries.reflect.QueriesLanguageKit.URI);
b0.Path_(3);
b0.FeatureStep("phraseStructure");
b0.Filter_();
b0.ChildStep();
b0.TypeTest("Production");
b0._Filter();
b0.Filter_();
b0.DescendantStep();
b0.And_();
b0.TypeTest("NonTerminal");
b0.VariableTest("nt");
b0._And();
b0._Filter();
b0._Path();
}
};
}
public ITemplateFactory<IEntity> newFindAllNonTerminalsUsed() {
return new AbstractTemplateFactory<IEntity>() {
public void apply(org.whole.lang.builders.IBuilderOperation op) {
org.whole.lang.queries.builders.IQueriesBuilder b0 = (org.whole.lang.queries.builders.IQueriesBuilder) op.wGetBuilder(org.whole.lang.queries.reflect.QueriesLanguageKit.URI);
b0.Path_(4);
b0.FeatureStep("phraseStructure");
b0.Filter_();
b0.ChildStep();
b0.And_();
b0.TypeTest("Production");
b0.ExpressionTest_();
b0.Filter_();
b0.FeatureStep("name");
b0.VariableTest("pname");
b0._Filter();
b0._ExpressionTest();
b0._And();
b0._Filter();
b0.FeatureStep("rule");
b0.Filter_();
b0.DescendantOrSelfStep();
b0.And_();
b0.TypeTest("NonTerminal");
b0.DistinctTest();
b0._And();
b0._Filter();
b0._Path();
}
};
}
public ITemplateFactory<IEntity> newRecursiveProduction1() {
return new AbstractTemplateFactory<IEntity>() {
public void apply(org.whole.lang.builders.IBuilderOperation op) {
org.whole.lang.queries.builders.IQueriesBuilder b0 = (org.whole.lang.queries.builders.IQueriesBuilder) op.wGetBuilder(org.whole.lang.queries.reflect.QueriesLanguageKit.URI);
b0.Path_(2);
b0.FeatureStep("phraseStructure");
b0.Filter_();
b0.ChildStep();
b0.ExpressionTest_();
org.whole.lang.commons.builders.ICommonsBuilder b1 = (org.whole.lang.commons.builders.ICommonsBuilder) op.wGetBuilder(org.whole.lang.commons.reflect.CommonsLanguageKit.URI);
b1.StageUpFragment_();
org.whole.lang.grammars.builders.IGrammarsBuilder b2 = (org.whole.lang.grammars.builders.IGrammarsBuilder) op.wGetBuilder(org.whole.lang.grammars.reflect.GrammarsLanguageKit.URI);
b2.Production_();
b1.Variable_();
b1.VarType("http://lang.whole.org/Grammars#NonTerminal");
b1.VarName("pname");
b1.Quantifier("!");
b1._Variable();
b1.StageDownFragment_();
b0.Path_(1);
b0.Filter_();
b0.DescendantStep();
b0.And_();
b0.TypeTest("NonTerminal");
b0.VariableTest("pname");
b0._And();
b0._Filter();
b0._Path();
b1._StageDownFragment();
b1.Resolver();
b2._Production();
b1._StageUpFragment();
b0._ExpressionTest();
b0._Filter();
b0._Path();
}
};
}
public ITemplateFactory<IEntity> newRecursiveProduction2() {
return new AbstractTemplateFactory<IEntity>() {
public void apply(org.whole.lang.builders.IBuilderOperation op) {
org.whole.lang.queries.builders.IQueriesBuilder b0 = (org.whole.lang.queries.builders.IQueriesBuilder) op.wGetBuilder(org.whole.lang.queries.reflect.QueriesLanguageKit.URI);
b0.Path_(2);
b0.FeatureStep("phraseStructure");
b0.Filter_();
b0.ChildStep();
b0.And_();
b0.TypeTest("Production");
b0.And_();
b0.ExpressionTest_();
b0.Filter_();
b0.FeatureStep("name");
b0.VariableTest("pname");
b0._Filter();
b0._ExpressionTest();
b0.ExpressionTest_();
b0.Path_(2);
b0.FeatureStep("rule");
b0.Filter_();
b0.DescendantOrSelfStep();
b0.And_();
b0.TypeTest("NonTerminal");
b0.VariableTest("pname");
b0._And();
b0._Filter();
b0._Path();
b0._ExpressionTest();
b0._And();
b0._And();
b0._Filter();
b0._Path();
}
};
}
public ITemplateFactory<IEntity> newRecursiveProduction3() {
return new AbstractTemplateFactory<IEntity>() {
public void apply(org.whole.lang.builders.IBuilderOperation op) {
org.whole.lang.queries.builders.IQueriesBuilder b0 = (org.whole.lang.queries.builders.IQueriesBuilder) op.wGetBuilder(org.whole.lang.queries.reflect.QueriesLanguageKit.URI);
b0.Path_(2);
b0.FeatureStep("phraseStructure");
b0.Filter_();
b0.ChildStep();
b0.And_();
b0.TypeTest("Production");
b0.ExpressionTest_();
b0.CartesianProduct_(2);
b0.Filter_();
b0.FeatureStep("name");
b0.VariableTest("pname");
b0._Filter();
b0.Path_(2);
b0.FeatureStep("rule");
b0.Filter_();
b0.DescendantOrSelfStep();
b0.And_();
b0.TypeTest("NonTerminal");
b0.VariableTest("pname");
b0._And();
b0._Filter();
b0._Path();
b0._CartesianProduct();
b0._ExpressionTest();
b0._And();
b0._Filter();
b0._Path();
}
};
}
public ITemplateFactory<IEntity> newRecursiveProduction4() {
return new AbstractTemplateFactory<IEntity>() {
public void apply(org.whole.lang.builders.IBuilderOperation op) {
org.whole.lang.queries.builders.IQueriesBuilder b0 = (org.whole.lang.queries.builders.IQueriesBuilder) op.wGetBuilder(org.whole.lang.queries.reflect.QueriesLanguageKit.URI);
b0.Path_(2);
b0.FeatureStep("phraseStructure");
b0.Filter_();
b0.ChildStep();
b0.And_();
b0.TypeTest("Production");
b0.Some_();
b0.CartesianProduct_(2);
b0.Filter_();
b0.FeatureStep("name");
b0.VariableTest("pname");
b0._Filter();
b0.Path_(2);
b0.FeatureStep("rule");
b0.Filter_();
b0.DescendantOrSelfStep();
b0.And_();
b0.TypeTest("NonTerminal");
b0.VariableTest("nt");
b0._And();
b0._Filter();
b0._Path();
b0._CartesianProduct();
b0.ExpressionTest_();
b0.PointwiseEquals_();
b0.VariableRefStep("pname");
b0.VariableRefStep("nt");
b0._PointwiseEquals();
b0._ExpressionTest();
b0._Some();
b0._And();
b0._Filter();
b0._Path();
}
};
}
public ITemplateFactory<IEntity> newRecursiveProduction5() {
return new AbstractTemplateFactory<IEntity>() {
public void apply(org.whole.lang.builders.IBuilderOperation op) {
org.whole.lang.queries.builders.IQueriesBuilder b0 = (org.whole.lang.queries.builders.IQueriesBuilder) op.wGetBuilder(org.whole.lang.queries.reflect.QueriesLanguageKit.URI);
b0.Path_(2);
b0.FeatureStep("phraseStructure");
b0.Filter_();
b0.ChildStep();
b0.And_();
b0.And_();
b0.TypeTest("Production");
b0.VariableTest("prod");
b0._And();
b0.Some_();
b0.Path_(2);
b0.FeatureStep("rule");
b0.Filter_();
b0.DescendantOrSelfStep();
b0.And_();
b0.TypeTest("NonTerminal");
b0.VariableTest("nt");
b0._And();
b0._Filter();
b0._Path();
b0.ExpressionTest_();
b0.PointwiseEquals_();
b0.Path_(2);
b0.VariableRefStep("prod");
b0.FeatureStep("name");
b0._Path();
b0.VariableRefStep("nt");
b0._PointwiseEquals();
b0._ExpressionTest();
b0._Some();
b0._And();
b0._Filter();
b0._Path();
}
};
}
public ITemplateFactory<IEntity> newRecursiveProduction6() {
return new AbstractTemplateFactory<IEntity>() {
public void apply(org.whole.lang.builders.IBuilderOperation op) {
org.whole.lang.queries.builders.IQueriesBuilder b0 = (org.whole.lang.queries.builders.IQueriesBuilder) op.wGetBuilder(org.whole.lang.queries.reflect.QueriesLanguageKit.URI);
b0.Path_(2);
b0.FeatureStep("phraseStructure");
b0.Filter_();
b0.ChildStep();
b0.And_();
b0.TypeTest("Production");
b0.Some_();
b0.CartesianProduct_(2);
b0.Filter_();
b0.FeatureStep("name");
b0.VariableTest("pname");
b0._Filter();
b0.Path_(2);
b0.FeatureStep("rule");
b0.Filter_();
b0.DescendantOrSelfStep();
b0.And_();
b0.TypeTest("NonTerminal");
b0.VariableTest("nt");
b0._And();
b0._Filter();
b0._Path();
b0._CartesianProduct();
b0.ExpressionTest_();
b0.Equals_();
b0.VariableRefStep("pname");
b0.VariableRefStep("nt");
b0._Equals();
b0._ExpressionTest();
b0._Some();
b0._And();
b0._Filter();
b0._Path();
}
};
}
public ITemplateFactory<IEntity> newUnusedProduction() {
return new AbstractTemplateFactory<IEntity>() {
public void apply(org.whole.lang.builders.IBuilderOperation op) {
org.whole.lang.queries.builders.IQueriesBuilder b0 = (org.whole.lang.queries.builders.IQueriesBuilder) op.wGetBuilder(org.whole.lang.queries.reflect.QueriesLanguageKit.URI);
b0.Path_(2);
b0.FeatureStep("phraseStructure");
b0.Filter_();
b0.ChildStep();
b0.And_();
b0.TypeTest("Production");
b0.Every_();
b0.CartesianProduct_(2);
b0.Filter_();
b0.FeatureStep("name");
b0.VariableTest("pname");
b0._Filter();
b0.Path_(4);
b0.ParentStep();
b0.ChildStep();
b0.FeatureStep("rule");
b0.Filter_();
b0.DescendantOrSelfStep();
b0.And_();
b0.TypeTest("NonTerminal");
b0.VariableTest("nt");
b0._And();
b0._Filter();
b0._Path();
b0._CartesianProduct();
b0.ExpressionTest_();
b0.NotEquals_();
b0.VariableRefStep("pname");
b0.VariableRefStep("nt");
b0._NotEquals();
b0._ExpressionTest();
b0._Every();
b0._And();
b0._Filter();
b0._Path();
}
};
}
public ITemplateFactory<IEntity> newExactlyOneDefUse() {
return new AbstractTemplateFactory<IEntity>() {
public void apply(org.whole.lang.builders.IBuilderOperation op) {
org.whole.lang.queries.builders.IQueriesBuilder b0 = (org.whole.lang.queries.builders.IQueriesBuilder) op.wGetBuilder(org.whole.lang.queries.reflect.QueriesLanguageKit.URI);
b0.Path_(2);
b0.FeatureStep("phraseStructure");
b0.Filter_();
b0.ChildStep();
b0.And_();
b0.TypeTest("Production");
b0.One_();
b0.Path_(2);
b0.FeatureStep("rule");
b0.CartesianProduct_(2);
b0.Filter_();
b0.DescendantOrSelfStep();
b0.And_();
b0.TypeTest("Production");
b0.ExpressionTest_();
b0.Filter_();
b0.FeatureStep("name");
b0.VariableTest("pname");
b0._Filter();
b0._ExpressionTest();
b0._And();
b0._Filter();
b0.Path_(1);
b0.Filter_();
b0.DescendantOrSelfStep();
b0.And_();
b0.And_();
b0.TypeTest("NonTerminal");
b0.VariableTest("nt");
b0._And();
b0.ExpressionTest_();
b0.Filter_();
b0.ParentStep();
b0.Not_();
b0.TypeTest("Production");
b0._Not();
b0._Filter();
b0._ExpressionTest();
b0._And();
b0._Filter();
b0._Path();
b0._CartesianProduct();
b0._Path();
b0.ExpressionTest_();
b0.Equals_();
b0.VariableRefStep("pname");
b0.VariableRefStep("nt");
b0._Equals();
b0._ExpressionTest();
b0._One();
b0._And();
b0._Filter();
b0._Path();
}
};
}
public ITemplateFactory<IEntity> newHelperResultAs() {
return new AbstractTemplateFactory<IEntity>() {
public void apply(org.whole.lang.builders.IBuilderOperation op) {
org.whole.lang.queries.builders.IQueriesBuilder b0 = (org.whole.lang.queries.builders.IQueriesBuilder) op.wGetBuilder(org.whole.lang.queries.reflect.QueriesLanguageKit.URI);
b0.Filter_();
org.whole.lang.commons.builders.ICommonsBuilder b1 = (org.whole.lang.commons.builders.ICommonsBuilder) op.wGetBuilder(org.whole.lang.commons.reflect.CommonsLanguageKit.URI);
b1.SameStageFragment_();
org.whole.lang.java.builders.IJavaBuilder b2 = (org.whole.lang.java.builders.IJavaBuilder) op.wGetBuilder(org.whole.lang.java.reflect.JavaLanguageKit.URI);
b2.MethodInvocation_();
b2.SimpleName("org.whole.lang.util.StringUtils");
b1.Resolver();
b2.SimpleName("toUpperCap");
b2.Arguments_(1);
b2.SimpleName("ftype");
b2._Arguments();
b2._MethodInvocation();
b1._SameStageFragment();
b0.VariableTest("jtype");
b0._Filter();
}
};
}
}