mirror of
https://github.com/SEPPDROID/Digital-Research-Source-Code.git
synced 2025-10-23 08:24:18 +00:00
152 lines
2.8 KiB
C
152 lines
2.8 KiB
C
/**************************
|
|
* Token classes
|
|
*************************/
|
|
#define END_OF_FILE 0
|
|
#define RESERVED 1
|
|
#define IDENTIFIER 2
|
|
#define NUMERIC 3
|
|
#define OPERATOR 4
|
|
#define STRING 5
|
|
#define LABEL 6
|
|
#define END_OF_LINE 7
|
|
#define COMMA 8
|
|
#define PERIOD 9
|
|
#define LEFT_PAREN 10
|
|
#define RIGHT_PAREN 11
|
|
#define SUBSCRIPT 12
|
|
#define MODULE 13
|
|
#define ERROR 19
|
|
|
|
|
|
/**************************
|
|
* Token types
|
|
*************************/
|
|
/*
|
|
* Operators
|
|
*/
|
|
#define PLUS 20 /* + */
|
|
#define MINUS 21 /* - */
|
|
#define TIMES 22 /* * */
|
|
#define DIVIDE 23 /* / */
|
|
#define NOT_EQUAL 24 /* <> */
|
|
#define LESS_EQUAL 25 /* <= */
|
|
#define GREATER_EQUAL 26 /* >= */
|
|
#define LESS 27 /* < */
|
|
#define GREATER 28 /* > */
|
|
#define EQUAL 29 /* = */
|
|
#define EQUATE 30 /* := */
|
|
#define COLON 31 /* : */
|
|
#define AT_OP 32 /* @ */
|
|
|
|
/*
|
|
* Reserved word values
|
|
*/
|
|
/* Statements */
|
|
#define DECLARE 40
|
|
#define DO 41
|
|
#define END 42
|
|
#define IF 43
|
|
#define THEN 44
|
|
#define ELSE 45
|
|
#define GOTO 46
|
|
#define GO 47
|
|
#define CALL 48
|
|
#define RETURN 49
|
|
#define DISABLE 50
|
|
#define ENABLE 51
|
|
#define OUTPUT 52
|
|
#define OUTWORD 53
|
|
#define OUTHWORD 54
|
|
|
|
/* Operators */
|
|
#define AND 60
|
|
#define OR 61
|
|
#define XOR 62
|
|
#define NOT 63
|
|
#define MOD 64
|
|
|
|
/* DO options */
|
|
#define CASE 70
|
|
#define WHILE 71
|
|
#define TO 72
|
|
#define BY 73
|
|
|
|
/* DECLARE types */
|
|
#define BYTE 80
|
|
#define WORD 81
|
|
#define DWORD 82
|
|
#define INTEGER 83
|
|
#define REAL 84
|
|
#define ADDRESS 85
|
|
#define SELECTOR 86
|
|
#define POINTER 87
|
|
#define STRUCTURE 88
|
|
|
|
/* DECLARE options */
|
|
#define BASED 90
|
|
#define LITERALLY 91
|
|
#define DATA 92
|
|
#define EXTERNAL 93
|
|
#define INITIAL 94
|
|
#define PUBLIC 95
|
|
#define AT 96
|
|
|
|
/* Misc reserved words */
|
|
#define PROCEDURE 101
|
|
#define REENTRANT 102
|
|
#define INTERRUPT 103
|
|
|
|
/* Control Directives */
|
|
#define C_CODE 200
|
|
#define C_NOCODE 201
|
|
#define C_COND 202
|
|
#define C_NOCOND 203
|
|
#define C_DEBUG 204
|
|
#define C_NODEBUG 205
|
|
#define C_EJECT 206
|
|
#define C_IF 207
|
|
#define C_ELSEIF 208
|
|
#define C_ELSE 209
|
|
#define C_ENDIF 210
|
|
#define C_INCLUDE 211
|
|
#define C_INTERFACE 212
|
|
#define C_LEFTMARGIN 213
|
|
#define C_LIST 214
|
|
#define C_NOLIST 215
|
|
#define C_OBJECT 216
|
|
#define C_NOOBJECT 217
|
|
#define C_OPTIMIZE 218
|
|
#define C_OVERFLOW 219
|
|
#define C_NOOVERFLOW 220
|
|
#define C_PAGELENGTH 221
|
|
#define C_PAGEWIDTH 222
|
|
#define C_PAGING 223
|
|
#define C_NOPAGING 224
|
|
#define C_PRINT 225
|
|
#define C_NOPRINT 226
|
|
#define C_RAM 227
|
|
#define C_ROM 228
|
|
#define C_SAVE 229
|
|
#define C_RESTORE 230
|
|
#define C_SET 231
|
|
#define C_RESET 232
|
|
#define C_SMALL 233
|
|
#define C_COMPACT 234
|
|
#define C_MEDIUM 235
|
|
#define C_LARGE 236
|
|
#define C_SUBTITLE 237
|
|
#define C_SYMBOLS 238
|
|
#define C_NOSYMBOLS 239
|
|
#define C_TITLE 240
|
|
#define C_TYPE 241
|
|
#define C_NOTYPE 242
|
|
#define C_XREF 243
|
|
#define C_NOXREF 244
|
|
#define C_INTVECTOR 245
|
|
#define C_NOINTVECTOR 246
|
|
#define C_MOD86 247
|
|
#define C_MOD186 248
|
|
#define C_WORD16 249
|
|
#define C_WORD32 250
|
|
|