public ZincFunctionItem(IZincTypeInstExpression typeInst, ZincIdent ident, IEnumerable<ZincTypeInstExprAndIdent> parameters, ZincAnnotations annotations, IZincExp body = null) : base(annotations,body,ident,typeInst,parameters) { ident.Usage = ZincIdentUsage.Function; }
/// <summary> /// Initializes a new instance of the <see cref="ZincVarDeclItem"/> class with a given <see cref="ZincTypeInstExprAndIdent"/> /// that describes the variable and type to initialize, a <see cref="ZincAnnotation"/> instance that annotates the declaration /// and optionally an <see cref="IZincExp"/> instance that describes the value that must be assigned. /// </summary> /// <param name="tia">A type-identifier tuple that describes the name and the type of the variable.</param> /// <param name="anns">The annotations of the variable declaration.</param> /// <param name="exp">Optionally, an expression that assigns a value to the variable.</param> public ZincVarDeclItem(ZincTypeInstExprAndIdent tia, ZincAnnotations anns = null, IZincExp exp = null) : base(anns,exp,tia) { this.TypeInstExprAndIdent.Ident.Usage = ZincIdentUsage.GlobalVariable; }
public ZincPredicateItem(ZincIdent ident, IList<ZincTypeInstExprAndIdent> parameters, ZincAnnotations annotations, IZincExp body = null) : base(annotations,body,ident,parameters) { ident.Usage = ZincIdentUsage.Function; }
public ZincPredicateItem(ZincIdent ident, IEnumerable <ZincTypeInstExprAndIdent> parameters, ZincAnnotations annotations, IZincExp body = null) : base(annotations, body, ident, parameters) { ident.Usage = ZincIdentUsage.Function; }
/// <summary> /// Initializes a new instance of the <see cref="ZincAsExIdTieTiasBoxBase"/> class /// with a given initial <see cref="IZincAnnotations"/>, <see cref="IZincExp"/>, <see cref="IZincIdent"/>, /// <see cref="IZincTypeInstExpression"/> and <see cref="IZincTypeInstExprAndIdent"/> instances. /// </summary> /// <param name='anns'> /// The given initial <see cref="IZincAnnotations"/> instance. /// </param> /// <param name='expr'> /// The given initial <see cref="IZincExp"/> instance. /// </param> /// <param name='id'> /// The given initial <see cref="IZincIdent"/> instance. /// </param> /// <param name='tie'> /// The given initial <see cref="IZincTypeInstExpression"/> instance. /// </param> /// <param name='tias'> /// The given initial <see cref="IZincTypeInstExprAndIdent"/> instances. /// </param> protected ZincAsExIdTieTiasBoxBase (ZincAnnotations anns, IZincExp expr, ZincIdent id, IZincTypeInstExpression tie, params ZincTypeInstExprAndIdent[] tias) : base(anns,expr,id,tias) { this.typeInstExpression = tie; }
/// <summary> /// Initializes a new instance of the <see cref="ZincSolveItem"/> class with a given <see cref="ZincSolveType"/>, /// an <see cref="IZincExp"/> that must be minimized/maximized and some <see cref="ZincAnnotations"/>. /// </summary> /// <param name="annotations">The annotations provided for the task.</param> /// <param name="solveType">The task that must be carried out.</param> /// <param name="expression">The <see cref="IZincExp"/> that must be minized/maximized.</param> public ZincSolveItem(ZincAnnotations annotations, ZincSolveType solveType, IZincExp expression) : base(annotations, expression) { this.SolveType = solveType; }
/// <summary> /// Initializes a new instance of the <see cref="ZincAsExTiaBoxBase"/> class /// with a given initial <see cref="IZincAnnotations"/>, <see cref="IZincExp"/> and /// <see cref="IZincTypeInstExprAndIdent"/> instances. /// </summary> /// <param name='anns'> /// The given initial <see cref="IZincAnnotations"/> instance. /// </param> /// <param name='expr'> /// The given initial <see cref="IZincExp"/> instance. /// </param> /// <param name='tia'> /// The given initial <see cref="IZincTypeInstExprAndIdent"/> instances. /// </param> protected ZincAsExTiaBoxBase(ZincAnnotations anns, IZincExp expr, IZincTypeInstExprAndIdent tia) : base(anns, expr) { this.TypeInstExprAndIdent = tia; }
/// <summary> /// Initializes a new instance of the <see cref="ZincAsExIdTieTiasBoxBase"/> class /// with a given initial <see cref="IZincAnnotations"/>, <see cref="IZincExp"/>, <see cref="IZincIdent"/>, /// <see cref="IZincTypeInstExpression"/> and <see cref="IZincTypeInstExprAndIdent"/> instances. /// </summary> /// <param name='anns'> /// The given initial <see cref="IZincAnnotations"/> instance. /// </param> /// <param name='expr'> /// The given initial <see cref="IZincExp"/> instance. /// </param> /// <param name='id'> /// The given initial <see cref="IZincIdent"/> instance. /// </param> /// <param name='tie'> /// The given initial <see cref="IZincTypeInstExpression"/> instance. /// </param> /// <param name='tias'> /// The given initial <see cref="IZincTypeInstExprAndIdent"/> instances. /// </param> protected ZincAsExIdTieTiasBoxBase(ZincAnnotations anns, IZincExp expr, ZincIdent id, IZincTypeInstExpression tie, params ZincTypeInstExprAndIdent[] tias) : base(anns,expr,id,tias) { this.typeInstExpression = tie; }
/// <summary> /// Initializes a new instance of the <see cref="ZincSolveItem"/> class with a given <see cref="ZincAnnotations"/> /// instance. The task is set to <see cref="ZincSolveType.Satisfy"/> and the no <see cref="IZincExp"/> is given. /// </summary> /// <param name="annotations">The annotations provided for the <see cref="ZincSolveType.Satisfy"/> task.</param> /// <remarks> /// <para>The task is set to <see cref="ZincSolveType.Satisfy"/>.</para> /// <para>No expression is given as the <see cref="ZincSolveType.Satisfy"/> does not require one.</para> /// </remarks> public ZincSolveItem(ZincAnnotations annotations) : this(annotations, ZincSolveType.Satisfy, null) { }
/// <summary> /// Initializes a new instance of the <see cref="ZincSolveItem"/> class with a given <see cref="ZincSolveType"/>, /// an <see cref="IZincExp"/> that must be minimized/maximized and some <see cref="ZincAnnotations"/>. /// </summary> /// <param name="annotations">The annotations provided for the task.</param> /// <param name="solveType">The task that must be carried out.</param> /// <param name="expression">The <see cref="IZincExp"/> that must be minized/maximized.</param> public ZincSolveItem(ZincAnnotations annotations, ZincSolveType solveType, IZincExp expression) : base(annotations,expression) { this.SolveType = solveType; }
/// <summary> /// Initializes a new instance of the <see cref="ZincSolveItem"/> class with a given <see cref="ZincAnnotations"/> /// instance. The task is set to <see cref="ZincSolveType.Satisfy"/> and the no <see cref="IZincExp"/> is given. /// </summary> /// <param name="annotations">The annotations provided for the <see cref="ZincSolveType.Satisfy"/> task.</param> /// <remarks> /// <para>The task is set to <see cref="ZincSolveType.Satisfy"/>.</para> /// <para>No expression is given as the <see cref="ZincSolveType.Satisfy"/> does not require one.</para> /// </remarks> public ZincSolveItem(ZincAnnotations annotations) : this(annotations,ZincSolveType.Satisfy,null) { }
/// <summary> /// Initializes a new instance of the <see cref="ZincVarDeclItem"/> class with a given <see cref="ZincTypeInstExprAndIdent"/> /// that describes the variable and type to initialize, a <see cref="ZincAnnotation"/> instance that annotates the declaration /// and optionally an <see cref="IZincExp"/> instance that describes the value that must be assigned. /// </summary> /// <param name="tia">A type-identifier tuple that describes the name and the type of the variable.</param> /// <param name="anns">The annotations of the variable declaration.</param> /// <param name="exp">Optionally, an expression that assigns a value to the variable.</param> public ZincVarDeclItem(ZincTypeInstExprAndIdent tia, ZincAnnotations anns = null, IZincExp exp = null) : base(anns, exp, tia) { this.TypeInstExprAndIdent.Ident.Usage = ZincIdentUsage.GlobalVariable; }
public ZincFunctionItem(IZincTypeInstExpression typeInst, ZincIdent ident, IList <ZincTypeInstExprAndIdent> parameters, ZincAnnotations annotations, IZincExp body = null) : base(annotations, body, ident, typeInst, parameters) { ident.Usage = ZincIdentUsage.Function; }
/// <summary> /// Initializes a new instance of the <see cref="ZincAsExTiaBoxBase"/> class /// with a given initial <see cref="IZincAnnotations"/>, <see cref="IZincExp"/> and /// <see cref="IZincTypeInstExprAndIdent"/> instances. /// </summary> /// <param name='anns'> /// The given initial <see cref="IZincAnnotations"/> instance. /// </param> /// <param name='expr'> /// The given initial <see cref="IZincExp"/> instance. /// </param> /// <param name='tia'> /// The given initial <see cref="IZincTypeInstExprAndIdent"/> instances. /// </param> protected ZincAsExTiaBoxBase(ZincAnnotations anns, IZincExp expr, IZincTypeInstExprAndIdent tia) : base(anns,expr) { this.TypeInstExprAndIdent = tia; }