coins.ast
Interface TypeId

All Known Implementing Classes:
ConstantExpr, Declarator, EncodedType, Evaluator, Function, Lex, OldFuncArgs, Parser, StringLiteral, ToHirC, ToHirSym, TypeDecoder

public interface TypeId

Type identifiers and storage specifiers. The type identifiers are used for encoding a type. The way of encoding is borrowed from the C++ compiler implementation. For example,

A typedef-ed name is expanded into a composition of primitive types before it is encoded. The resulting representation of encoding a type never includes typedef-ed names.


Field Summary
static char ARRAY_T
           
static char CHAR_T
           
static char CONST_T
           
static char DOUBLE_T
           
static char ELLIPSIS_T
           
static char ENUM_BEGIN
           
static char ENUM_END
           
static char FLOAT_T
           
static char FUNCTION_T
           
static char INT_T
           
static char LONG_DOUBLE_T
           
static char LONG_LONG_T
           
static char LONG_T
           
static char NO_DIMENSION_T
           
static char OFFSET_T
           
static char POINTER_T
           
static char RESTRICT_T
           
static char RETURN_T
           
static int S_AUTO
          auto specifier
static int S_EXTERN
          extern specifier
static int S_INLINE
          inline specifier
static int S_NONE
          No storage specifier.
static int S_REGISTER
          register specifier
static int S_STATIC
          static specifier
static char SHORT_T
           
static char SIGNED_T
           
static char SIZE_T
           
static char STRUCT_BEGIN
           
static char STRUCT_END
           
static char UNION_BEGIN
           
static char UNION_END
           
static char UNSIGNED_T
           
static char VOID_T
           
static char VOLATILE_T
           
 

Field Detail

CONST_T

public static final char CONST_T
See Also:
Constant Field Values

VOLATILE_T

public static final char VOLATILE_T
See Also:
Constant Field Values

RESTRICT_T

public static final char RESTRICT_T
See Also:
Constant Field Values

SIGNED_T

public static final char SIGNED_T
See Also:
Constant Field Values

UNSIGNED_T

public static final char UNSIGNED_T
See Also:
Constant Field Values

STRUCT_BEGIN

public static final char STRUCT_BEGIN
See Also:
Constant Field Values

STRUCT_END

public static final char STRUCT_END
See Also:
Constant Field Values

UNION_BEGIN

public static final char UNION_BEGIN
See Also:
Constant Field Values

UNION_END

public static final char UNION_END
See Also:
Constant Field Values

ENUM_BEGIN

public static final char ENUM_BEGIN
See Also:
Constant Field Values

ENUM_END

public static final char ENUM_END
See Also:
Constant Field Values

POINTER_T

public static final char POINTER_T
See Also:
Constant Field Values

ARRAY_T

public static final char ARRAY_T
See Also:
Constant Field Values

NO_DIMENSION_T

public static final char NO_DIMENSION_T
See Also:
Constant Field Values

FUNCTION_T

public static final char FUNCTION_T
See Also:
Constant Field Values

RETURN_T

public static final char RETURN_T
See Also:
Constant Field Values

ELLIPSIS_T

public static final char ELLIPSIS_T
See Also:
Constant Field Values

CHAR_T

public static final char CHAR_T
See Also:
Constant Field Values

SHORT_T

public static final char SHORT_T
See Also:
Constant Field Values

INT_T

public static final char INT_T
See Also:
Constant Field Values

LONG_T

public static final char LONG_T
See Also:
Constant Field Values

LONG_LONG_T

public static final char LONG_LONG_T
See Also:
Constant Field Values

FLOAT_T

public static final char FLOAT_T
See Also:
Constant Field Values

DOUBLE_T

public static final char DOUBLE_T
See Also:
Constant Field Values

LONG_DOUBLE_T

public static final char LONG_DOUBLE_T
See Also:
Constant Field Values

VOID_T

public static final char VOID_T
See Also:
Constant Field Values

OFFSET_T

public static final char OFFSET_T
See Also:
Constant Field Values

SIZE_T

public static final char SIZE_T
See Also:
Constant Field Values

S_NONE

public static final int S_NONE
No storage specifier.

See Also:
Constant Field Values

S_STATIC

public static final int S_STATIC
static specifier

See Also:
Constant Field Values

S_EXTERN

public static final int S_EXTERN
extern specifier

See Also:
Constant Field Values

S_AUTO

public static final int S_AUTO
auto specifier

See Also:
Constant Field Values

S_INLINE

public static final int S_INLINE
inline specifier

See Also:
Constant Field Values

S_REGISTER

public static final int S_REGISTER
register specifier

See Also:
Constant Field Values