/// <summary> /// Creates a new primitive register description based on the given type. /// </summary> /// <param name="primitiveType">The primitive type to store.</param> /// <param name="kind">The register kind to use.</param> /// <returns>The created register description.</returns> public static RegisterDescription Create( PrimitiveType primitiveType, TKind kind) => new RegisterDescription( primitiveType, primitiveType.BasicValueType, kind);
public Recognizer(TextParser <Unit> parser, bool isIgnored, TKind kind, bool isDelimiter) { Parser = parser; IsIgnored = isIgnored; Kind = kind; IsDelimiter = isDelimiter; }
/// <summary> /// Creates a new advanced register description based on the given type. /// </summary> /// <param name="typeNode">The underlying type to store.</param> /// <param name="basicValueType"> /// The base value type of the stored register. ///</param> /// <param name="kind">The register kind to use.</param> /// <returns>The created register description.</returns> public static RegisterDescription Create( TypeNode typeNode, BasicValueType basicValueType, TKind kind) => new RegisterDescription( typeNode, basicValueType, kind);
/// <summary> /// Constructs a new register description. /// </summary> /// <param name="type">The type.</param> /// <param name="basicValueType"> /// The representative basic value type. /// </param> /// <param name="kind">The register kind.</param> /// <remarks> /// Notet that the basic value type can differ from type.BasicValueType. /// This is due the fact that more advanced types like views or pointers /// can be represented by a single platform specific integer register, /// for instance. This also holds true for strings or reference types. /// </remarks> private RegisterDescription( TypeNode type, BasicValueType basicValueType, TKind kind) { Type = type; BasicValueType = basicValueType; Kind = kind; }
public TCharacter(TKind Kind) : base(Kind) { }
public TInteger(TKind Kind) : base(Kind) { }
public TRealFloat(TKind Kind) : base(Kind) { }
public TComplex(TKind Kind) : base(Kind) { }
public TReal(TKind Kind) : base(Kind) { }
public TStructUnion(TKind Kind, string tag, IEnumerable <Field> fields = null) : base(Kind) { this.tag = tag; this.fields = fields; }
public TScalar(TKind Kind) : base(Kind) { }
public TObject(TKind Kind) : base(Kind) { }
public TUnqualified(TKind Kind) { this.Kind = Kind; }
public TArr(TKind Kind, T element) : base(Kind) { this.element = element; }
public TArithmetic(TKind Kind) : base(Kind) { }
/// <summary> /// Constructs a new register description. /// </summary> /// <param name="basicValueType">The basic value type.</param> /// <param name="kind">The register kind.</param> public RegisterDescription(BasicValueType basicValueType, TKind kind) { BasicValueType = basicValueType; Kind = kind; }
public TBitField(TKind Kind, int bits) : base(Kind) { this.bits = bits; }