public ZincFunctionItem(IZincTypeInstExpression typeInst, ZincIdent ident, IEnumerable<ZincTypeInstExprAndIdent> parameters, ZincAnnotations annotations, IZincExp body = null)
     : base(annotations,body,ident,typeInst,parameters)
 {
     ident.Usage = ZincIdentUsage.Function;
 }
Beispiel #2
0
 /// <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;
 }
Beispiel #5
0
		/// <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;
		}
Beispiel #6
0
 /// <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;
 }
Beispiel #7
0
 /// <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;
 }
Beispiel #9
0
 /// <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)
 {
 }
Beispiel #10
0
 /// <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;
 }
Beispiel #11
0
 /// <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)
 {
 }
Beispiel #12
0
 /// <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;
 }
Beispiel #13
0
 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;
 }