Search in sources :

Example 11 with ICommonsBuilder

use of org.whole.lang.commons.builders.ICommonsBuilder in project whole by wholeplatform.

the class AttributesMatcherFactory method getRefAttrPattern.

private static IEntity getRefAttrPattern() {
    if (refAttrPattern == null) {
        ModelBuilderOperation mop = new ModelBuilderOperation();
        IXmlBuilder xb = (IXmlBuilder) mop.wGetBuilder(XmlLanguageKit.URI);
        ICommonsBuilder cb = (ICommonsBuilder) mop.wGetBuilder(CommonsLanguageKit.URI);
        xb.Attribute_();
        xb.Name("ref");
        cb.Variable_();
        cb.VarType(XmlEntityDescriptorEnum.Value);
        cb.VarName("value");
        cb.Quantifier(QuantifierEnum.MANDATORY);
        cb._Variable();
        xb._Attribute();
        refAttrPattern = mop.wGetResult();
    }
    return refAttrPattern;
}
Also used : ModelBuilderOperation(org.whole.lang.builders.ModelBuilderOperation) IXmlBuilder(org.whole.lang.xml.builders.IXmlBuilder) ICommonsBuilder(org.whole.lang.commons.builders.ICommonsBuilder)

Example 12 with ICommonsBuilder

use of org.whole.lang.commons.builders.ICommonsBuilder in project whole by wholeplatform.

the class CommonsLanguageDeployer method deploy.

public void deploy(ReflectionFactory platform) {
    platform.addLanguageKit(new CommonsLanguageKit());
    platform.addOperationFactory(CommonsLanguageKit.URI, GenericBuilderAdapterOperation.ID, new IBuilderFactory() {

        public IBuilder create(IBuilder strategy, IEntityContext entityContext) {
            return new CommonsGenericBuilderAdapter((ICommonsBuilder) strategy, entityContext);
        }
    });
    platform.addOperationFactory(CommonsLanguageKit.URI, SpecificBuilderAdapterOperation.ID, new IBuilderFactory() {

        public IBuilder create(IBuilder strategy, IEntityContext entityContext) {
            return new CommonsSpecificBuilderAdapter(strategy, entityContext);
        }
    });
    platform.addOperationFactory(CommonsLanguageKit.URI, ContentAssistOperation.ID, new IVisitorFactory() {

        public IVisitor create(IOperation operation, int stage) {
            return new CommonsContentAssistVisitor();
        }
    });
    platform.addOperationFactory(CommonsLanguageKit.URI, InterpreterOperation.ID, new IVisitorFactory() {

        public IVisitor create(IOperation operation, int stage) {
            if (stage == 0)
                return new CommonsInterpreterVisitor();
            else
                return null;
        }
    });
    platform.addOperationFactory(CommonsLanguageKit.URI, DynamicCompilerOperation.ID, new IVisitorFactory() {

        public IVisitor create(IOperation operation, int stage) {
            if (stage == 0)
                return new CommonsDynamicCompilerVisitor();
            else
                return null;
        }
    });
    platform.addOperationFactory(CommonsLanguageKit.URI, PrettyPrinterOperation.ID, new IVisitorFactory() {

        public IVisitor create(IOperation operation, int stage) {
            return new CommonsPrettyPrinterVisitor((PrettyPrinterOperation) operation);
        }
    });
    platform.addOperationFactory(CommonsLanguageKit.URI, FindDeclarationOperation.ID, new IVisitorFactory() {

        public IVisitor create(IOperation operation, int stage) {
            return null;
        }
    });
    platform.addOperationFactory(CommonsLanguageKit.URI, FindDeclarationsOperation.ID, new IVisitorFactory() {

        public IVisitor create(IOperation operation, int stage) {
            return null;
        }
    });
    platform.addOperationFactory(CommonsLanguageKit.URI, IOperation.ANY_ID, new IVisitorFactory() {

        public IVisitor create(IOperation operation, int stage) {
            if (stage == 0)
                return new CommonsInterpreterVisitor();
            else
                return null;
        }
    });
}
Also used : IBuilder(org.whole.lang.builders.IBuilder) IOperation(org.whole.lang.operations.IOperation) PrettyPrinterOperation(org.whole.lang.operations.PrettyPrinterOperation) CommonsContentAssistVisitor(org.whole.lang.commons.visitors.CommonsContentAssistVisitor) IVisitor(org.whole.lang.visitors.IVisitor) IEntityContext(org.whole.lang.contexts.IEntityContext) CommonsGenericBuilderAdapter(org.whole.lang.commons.builders.CommonsGenericBuilderAdapter) IBuilderFactory(org.whole.lang.builders.IBuilderFactory) IVisitorFactory(org.whole.lang.visitors.IVisitorFactory) ICommonsBuilder(org.whole.lang.commons.builders.ICommonsBuilder) CommonsPrettyPrinterVisitor(org.whole.lang.commons.visitors.CommonsPrettyPrinterVisitor) CommonsDynamicCompilerVisitor(org.whole.lang.commons.visitors.CommonsDynamicCompilerVisitor) CommonsInterpreterVisitor(org.whole.lang.commons.visitors.CommonsInterpreterVisitor) CommonsSpecificBuilderAdapter(org.whole.lang.commons.builders.CommonsSpecificBuilderAdapter)

Example 13 with ICommonsBuilder

use of org.whole.lang.commons.builders.ICommonsBuilder in project whole by wholeplatform.

the class FunctionParam method apply.

public void apply(IBuilderOperation op) {
    IImpBuilder b0 = (IImpBuilder) op.wGetBuilder(ImpLanguageKit.URI);
    ICommonsBuilder cb = (ICommonsBuilder) op.wGetBuilder(CommonsLanguageKit.URI);
    b0.FunctionDeclaration_();
    b0.PrimitiveType("void");
    b0.Name("testFunctionParam");
    cb.Resolver();
    b0.BlockStatement_(4);
    b0.FunctionDeclaration_();
    b0.PrimitiveType("int");
    b0.Name("ifact");
    b0.Parameters_(1);
    b0.Parameter_();
    b0.PrimitiveType("int");
    b0.Name("n");
    b0._Parameter();
    b0._Parameters();
    b0.BlockStatement_(3);
    b0.VariableDeclaration_();
    b0.PrimitiveType("int");
    b0.Name("result");
    b0.IntLiteral(1);
    b0._VariableDeclaration();
    b0.WhileStatement_();
    b0.GreaterThan_();
    b0.NameExpression("n");
    b0.IntLiteral(0);
    b0._GreaterThan();
    b0.BlockStatement_(2);
    b0.ExpressionStatement_();
    b0.AssignmentExpression_();
    b0.Name("result");
    b0.Multiplication_();
    b0.NameExpression("result");
    b0.NameExpression("n");
    b0._Multiplication();
    b0._AssignmentExpression();
    b0._ExpressionStatement();
    b0.ExpressionStatement_();
    b0.AssignmentExpression_();
    b0.Name("n");
    b0.Subtraction_();
    b0.NameExpression("n");
    b0.IntLiteral(1);
    b0._Subtraction();
    b0._AssignmentExpression();
    b0._ExpressionStatement();
    b0._BlockStatement();
    b0._WhileStatement();
    b0.ReturnStatement_();
    b0.NameExpression("result");
    b0._ReturnStatement();
    b0._BlockStatement();
    b0._FunctionDeclaration();
    b0.FunctionDeclaration_();
    b0.PrimitiveType("int");
    b0.Name("exec");
    b0.Parameters_(2);
    b0.Parameter_();
    b0.PrimitiveType("function");
    b0.Name("f");
    b0._Parameter();
    b0.Parameter_();
    b0.PrimitiveType("int");
    b0.Name("par");
    b0._Parameter();
    b0._Parameters();
    b0.ReturnStatement_();
    b0.FunctionInvocationExpression_();
    b0.NameExpression("f");
    b0.Arguments_(1);
    b0.NameExpression("par");
    b0._Arguments();
    b0._FunctionInvocationExpression();
    b0._ReturnStatement();
    b0._FunctionDeclaration();
    b0.PrintlnStatement_();
    b0.FunctionInvocationExpression_();
    b0.NameExpression("ifact");
    b0.Arguments_(1);
    b0.IntLiteral(4);
    b0._Arguments();
    b0._FunctionInvocationExpression();
    b0._PrintlnStatement();
    b0.PrintlnStatement_();
    b0.FunctionInvocationExpression_();
    b0.NameExpression("exec");
    b0.Arguments_(2);
    b0.NameExpression("ifact");
    b0.IntLiteral(4);
    b0._Arguments();
    b0._FunctionInvocationExpression();
    b0._PrintlnStatement();
    b0._BlockStatement();
    b0._FunctionDeclaration();
}
Also used : IImpBuilder(org.whole.examples.lang.imp.builders.IImpBuilder) ICommonsBuilder(org.whole.lang.commons.builders.ICommonsBuilder)

Example 14 with ICommonsBuilder

use of org.whole.lang.commons.builders.ICommonsBuilder in project whole by wholeplatform.

the class MetaProgram method apply.

public void apply(IBuilderOperation op) {
    IImpBuilder b0 = (IImpBuilder) op.wGetBuilder(ImpLanguageKit.URI);
    ICommonsBuilder cb = (ICommonsBuilder) op.wGetBuilder(CommonsLanguageKit.URI);
    b0.FunctionDeclaration_();
    b0.PrimitiveType("void");
    b0.Name("testTemplates");
    cb.Resolver();
    b0.BlockStatement_(6);
    b0.VariableDeclaration_();
    b0.PrimitiveType("entity");
    b0.Name("l");
    cb.StageUpFragment_();
    b0.StringLiteral("ciao");
    cb._StageUpFragment();
    b0._VariableDeclaration();
    b0.VariableDeclaration_();
    b0.PrimitiveType("entity");
    b0.Name("e");
    cb.StageUpFragment_();
    b0.PrintlnStatement_();
    cb.StageDownFragment_();
    b0.NameExpression("l");
    cb._StageDownFragment();
    b0._PrintlnStatement();
    cb._StageUpFragment();
    b0._VariableDeclaration();
    b0.PrintlnStatement_();
    b0.NameExpression("e");
    b0._PrintlnStatement();
    b0.VariableDeclaration_();
    b0.PrimitiveType("entity");
    b0.Name("f");
    cb.StageUpFragment_();
    b0.FunctionDeclaration_();
    b0.PrimitiveType("void");
    b0.Name("t");
    cb.Resolver();
    b0.BlockStatement_(2);
    b0.PrintlnStatement_();
    b0.StringLiteral("test");
    b0._PrintlnStatement();
    cb.StageDownFragment_();
    b0.NameExpression("e");
    cb._StageDownFragment();
    b0._BlockStatement();
    b0._FunctionDeclaration();
    cb._StageUpFragment();
    b0._VariableDeclaration();
    b0.PrintlnStatement_();
    b0.NameExpression("f");
    b0._PrintlnStatement();
    b0.ExpressionStatement_();
    b0.FunctionInvocationExpression_();
    b0.NameExpression("f");
    cb.Resolver();
    b0._FunctionInvocationExpression();
    b0._ExpressionStatement();
    b0._BlockStatement();
    b0._FunctionDeclaration();
}
Also used : IImpBuilder(org.whole.examples.lang.imp.builders.IImpBuilder) ICommonsBuilder(org.whole.lang.commons.builders.ICommonsBuilder)

Example 15 with ICommonsBuilder

use of org.whole.lang.commons.builders.ICommonsBuilder in project whole by wholeplatform.

the class XsiModelTemplate method apply.

public void apply(IBuilderOperation operation) {
    IXmlBuilder builder = (IXmlBuilder) operation.wGetBuilder(XmlLanguageKit.URI);
    ICommonsBuilder cb = (ICommonsBuilder) operation.wGetBuilder(CommonsLanguageKit.URI);
    if (EntityUtils.hasParent(model) && MappingStrategyUtils.hasElementNCName(model)) {
        builder.Document_();
        builder.Prolog_();
        builder.XMLDecl_();
        builder.Version("1.0");
        builder.Encoding(encoding);
        cb.Resolver();
        builder._XMLDecl();
        cb.Resolver();
        cb.Resolver();
        builder._Prolog();
        apply(builder);
        builder._Document();
    } else
        apply(builder);
}
Also used : IXmlBuilder(org.whole.lang.xml.builders.IXmlBuilder) ICommonsBuilder(org.whole.lang.commons.builders.ICommonsBuilder)

Aggregations

ICommonsBuilder (org.whole.lang.commons.builders.ICommonsBuilder)17 ModelBuilderOperation (org.whole.lang.builders.ModelBuilderOperation)8 IArtifactsBuilder (org.whole.lang.artifacts.builders.IArtifactsBuilder)5 IXmlBuilder (org.whole.lang.xml.builders.IXmlBuilder)5 IImpBuilder (org.whole.examples.lang.imp.builders.IImpBuilder)3 IModelsBuilder (org.whole.lang.models.builders.IModelsBuilder)3 IBuilder (org.whole.lang.builders.IBuilder)1 IBuilderFactory (org.whole.lang.builders.IBuilderFactory)1 CommonsGenericBuilderAdapter (org.whole.lang.commons.builders.CommonsGenericBuilderAdapter)1 CommonsSpecificBuilderAdapter (org.whole.lang.commons.builders.CommonsSpecificBuilderAdapter)1 CommonsContentAssistVisitor (org.whole.lang.commons.visitors.CommonsContentAssistVisitor)1 CommonsDynamicCompilerVisitor (org.whole.lang.commons.visitors.CommonsDynamicCompilerVisitor)1 CommonsInterpreterVisitor (org.whole.lang.commons.visitors.CommonsInterpreterVisitor)1 CommonsPrettyPrinterVisitor (org.whole.lang.commons.visitors.CommonsPrettyPrinterVisitor)1 IEntityContext (org.whole.lang.contexts.IEntityContext)1 IOperation (org.whole.lang.operations.IOperation)1 PrettyPrinterOperation (org.whole.lang.operations.PrettyPrinterOperation)1 AbstractTemplateFactory (org.whole.lang.templates.AbstractTemplateFactory)1 IVisitor (org.whole.lang.visitors.IVisitor)1 IVisitorFactory (org.whole.lang.visitors.IVisitorFactory)1