diff --git a/src/oberon-internals.h b/src/oberon-internals.h
index 3963146d4ee87f2d1cb65c0ecb807ffbde9f4e8d..31c8054c6f2cab8f088c5de904e443aa73f67105 100644 (file)
--- a/src/oberon-internals.h
+++ b/src/oberon-internals.h
enum oberon_type_kind
{
- OBERON_TYPE_VOID,
+ OBERON_TYPE_NOTYPE,
OBERON_TYPE_INTEGER,
OBERON_TYPE_BOOLEAN,
OBERON_TYPE_PROCEDURE,
OBERON_TYPE_REAL,
OBERON_TYPE_CHAR,
OBERON_TYPE_STRING,
- OBERON_TYPE_SET
+ OBERON_TYPE_SET,
+ OBERON_TYPE_NIL
};
typedef oberon_expr_t * (*GenerateFuncCallback)(oberon_context_t *, int, oberon_expr_t *);
oberon_module_t * mod;
/*** END PARSER DATA ***/
- oberon_type_t * void_type;
- oberon_type_t * void_ptr_type;
+ oberon_type_t * notype_type;
+ oberon_type_t * nil_type;
oberon_type_t * bool_type;
oberon_type_t * byte_type;
oberon_type_t * shortint_type;
MODE_CHAR,
MODE_STRING,
MODE_TYPE,
- MODE_SET
+ MODE_SET,
+ MODE_LEN
};
enum oberon_operator_kind
OP_UNARY_MINUS,
OP_LOGIC_NOT,
OP_ABS,
+ OP_CAP,
+ OP_ENTIER,
OP_ADD,
OP_SUB,
OP_DIFFERENCE,
OP_SYM_DIFFERENCE,
OP_COMPLEMENTATION,
- OP_IN
+ OP_IN,
+
+ OP_ASH
};
struct oberon_item_t
enum oberon_mode_kind mode;
long integer;
double real;
- int boolean;
char * string;
oberon_object_t * var;