- All Superinterfaces:
ArithmeticType,ObjectType,Type,UnqualifiedObjectType
- All Known Subinterfaces:
FloatingType,StandardSignedIntegerType
An instance of this class represents a "standard basic type". The standard
basic types are: the "char" type, the standard signed and unsigned integer
types, and the floating types. See C11 Sec. 6.2.5 for the definition of
"basic type".
Sec. 6.7.2 of the C11 Standard covers "type specifiers". Each standard basic
type is specified by a sequence of type specifiers. The order in which these
specifiers appear does not matter, but the multiplicity does (e.g. "long long
int" specifies a different type than "long int"). Hence the sequence may be
thought of as a multiset (set with multiplicity). This is the way it is
described in the Standard.
A standard basic type may have more than one multiset that specifies it. For
example "long" and "long int" specify the same type.
The basic multisets comprise the following elements, with multiplicity:
char, short, int, long, float, double, signed, unsigned, bool, complex.
The allowable multisets are defined in C11 Sec. 6.7.2.2, and are as follows.
For a line with more than one multiset, each multiset on the line specifies
the same type.
- char - signed char - unsigned char - short, signed short, short int, or signed short int - unsigned short, or unsigned short int - int, signed, or signed int - unsigned, or unsigned int - long, signed long, long int, or signed long int - unsigned long, or unsigned long int - long long, signed long long, long long int, or signed long long int - unsigned long long, or unsigned long long int - float - double - long double - _Bool - float _Complex - double _Complex - long double _Complex
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from interface dev.civl.abc.ast.type.IF.Type
Type.TypeKind -
Method Summary
Modifier and TypeMethodDescriptionReturns the basic type kind.Methods inherited from interface dev.civl.abc.ast.type.IF.ArithmeticType
inComplexDomain, inRealDomain, isEnumeration, isFloating, isIntegerMethods inherited from interface dev.civl.abc.ast.type.IF.ObjectType
hasKnownConstantSize, isComplete, isConstantQualifiedMethods inherited from interface dev.civl.abc.ast.type.IF.Type
compatibleWith, equivalentTo, getId, ignoreQualifiersAtomic, isScalar, isVariablyModified, kind, print
-
Method Details
-
getBasicTypeKind
StandardBasicType.BasicTypeKind getBasicTypeKind()Returns the basic type kind.- Returns:
- the basic type kind
-