diff --git a/src/oberon-internals.h b/src/oberon-internals.h
index 31c8054c6f2cab8f088c5de904e443aa73f67105..528842bb6c8b24f0503c85b1b45ca3d0ed9ae551 100644 (file)
--- a/src/oberon-internals.h
+++ b/src/oberon-internals.h
OBERON_TYPE_CHAR,
OBERON_TYPE_STRING,
OBERON_TYPE_SET,
- OBERON_TYPE_NIL
+ OBERON_TYPE_NIL,
+ OBERON_TYPE_SYSTEM_BYTE,
+ OBERON_TYPE_SYSTEM_PTR
};
typedef oberon_expr_t * (*GenerateFuncCallback)(oberon_context_t *, int, oberon_expr_t *);
{
enum oberon_type_kind class;
int size;
+ oberon_type_t * shorter;
+ oberon_type_t * longer;
int num_decl;
oberon_type_t * base;
struct oberon_module_t
{
char * name;
- int ready;
+ bool ready;
+ bool intrinsic;
oberon_scope_t * decl;
oberon_module_t * mod;
/*** END PARSER DATA ***/
+ oberon_scope_t * world_scope;
oberon_type_t * notype_type;
oberon_type_t * nil_type;
oberon_type_t * bool_type;
oberon_type_t * string_type;
oberon_type_t * set_type;
- oberon_scope_t * world_scope;
+ oberon_module_t * system_module;
+ oberon_type_t * system_byte_type;
+ oberon_type_t * system_ptr_type;
+
oberon_module_t * module_list;
ModuleImportCallback import_module;
gen_context_t * gen_context;
MODE_STRING,
MODE_TYPE,
MODE_SET,
- MODE_LEN
+ MODE_LEN,
+ MODE_SYSBYTE
};
enum oberon_operator_kind
OP_COMPLEMENTATION,
OP_IN,
- OP_ASH
+ OP_ASH,
+ OP_LSH,
+ OP_ROT
};
struct oberon_item_t