85 lines
2.0 KiB
C
85 lines
2.0 KiB
C
// vim:fileencoding=utf-8:foldmethod=marker
|
|
|
|
#ifndef TYPE_ENUMS_H
|
|
#define TYPE_ENUMS_H
|
|
|
|
#include "wapp_core.h"
|
|
|
|
typedef enum {
|
|
CTYPE_VOID,
|
|
CTYPE_BOOL,
|
|
CTYPE_CHAR,
|
|
CTYPE_C8,
|
|
CTYPE_C16,
|
|
CTYPE_C32,
|
|
CTYPE_I8,
|
|
CTYPE_I16,
|
|
CTYPE_I32,
|
|
CTYPE_I64,
|
|
CTYPE_U8,
|
|
CTYPE_U16,
|
|
CTYPE_U32,
|
|
CTYPE_U64,
|
|
CTYPE_F32,
|
|
CTYPE_F64,
|
|
CTYPE_F128,
|
|
CTYPE_IPTR,
|
|
CTYPE_UPTR,
|
|
|
|
COUNT_CTYPE,
|
|
} CType;
|
|
internal Str8RO ctypes[COUNT_CTYPE] = {
|
|
[CTYPE_VOID] = wapp_str8_lit_ro("void"),
|
|
[CTYPE_BOOL] = wapp_str8_lit_ro("b32"),
|
|
[CTYPE_CHAR] = wapp_str8_lit_ro("char"),
|
|
[CTYPE_C8] = wapp_str8_lit_ro("c8"),
|
|
[CTYPE_C16] = wapp_str8_lit_ro("c16"),
|
|
[CTYPE_C32] = wapp_str8_lit_ro("c32"),
|
|
[CTYPE_I8] = wapp_str8_lit_ro("i8"),
|
|
[CTYPE_I16] = wapp_str8_lit_ro("i16"),
|
|
[CTYPE_I32] = wapp_str8_lit_ro("i32"),
|
|
[CTYPE_I64] = wapp_str8_lit_ro("i64"),
|
|
[CTYPE_U8] = wapp_str8_lit_ro("u8"),
|
|
[CTYPE_U16] = wapp_str8_lit_ro("u16"),
|
|
[CTYPE_U32] = wapp_str8_lit_ro("u32"),
|
|
[CTYPE_U64] = wapp_str8_lit_ro("u64"),
|
|
[CTYPE_F32] = wapp_str8_lit_ro("f32"),
|
|
[CTYPE_F64] = wapp_str8_lit_ro("f64"),
|
|
[CTYPE_F128] = wapp_str8_lit_ro("f128"),
|
|
[CTYPE_IPTR] = wapp_str8_lit_ro("iptr"),
|
|
[CTYPE_UPTR] = wapp_str8_lit_ro("uptr"),
|
|
};
|
|
|
|
typedef enum {
|
|
CQUALIFIER_NONE,
|
|
CQUALIFIER_CONST,
|
|
CQUALIFIER_EXTERNAL,
|
|
CQUALIFIER_INTERNAL,
|
|
CQUALIFIER_PERSISTENT,
|
|
|
|
COUNT_CQUALIFIER,
|
|
} CQualifier;
|
|
internal Str8RO cqualifiers[COUNT_CQUALIFIER] = {
|
|
[CQUALIFIER_NONE] = wapp_str8_lit_ro(""),
|
|
[CQUALIFIER_CONST] = wapp_str8_lit_ro("const "),
|
|
[CQUALIFIER_EXTERNAL] = wapp_str8_lit_ro("external "),
|
|
[CQUALIFIER_INTERNAL] = wapp_str8_lit_ro("internal "),
|
|
[CQUALIFIER_PERSISTENT] = wapp_str8_lit_ro("persistent "),
|
|
};
|
|
|
|
|
|
typedef enum {
|
|
CPOINTERTYPE_NONE,
|
|
CPOINTERTYPE_SINGLE,
|
|
CPOINTERTYPE_DOUBLE,
|
|
|
|
COUNT_CPOINTERTYPE,
|
|
} CPointerType;
|
|
internal Str8RO cpointertypes[COUNT_CPOINTERTYPE] = {
|
|
[CPOINTERTYPE_NONE] = wapp_str8_lit_ro(""),
|
|
[CPOINTERTYPE_SINGLE] = wapp_str8_lit_ro("*"),
|
|
[CPOINTERTYPE_DOUBLE] = wapp_str8_lit_ro("**"),
|
|
};
|
|
|
|
#endif // !TYPE_ENUMS_H
|