Pristine Ack-5.5
[Ack-5.5.git] / lang / basic / src / symbols.h
1 /*
2  * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
3  * See the copyright notice in the ACK home directory, in the file "Copyright".
4  */
5
6 #ifndef NORCSID
7 # define RCS_SYMB       "$Id: symbols.h,v 1.2 1994/06/24 11:31:12 ceriel Exp $"
8 #endif
9
10 #define NIL     0
11 #define TRUE    1
12 #define FALSE   0
13
14 #define DEFAULTTYPE     500
15 #define INTTYPE         501
16 #define FLOATTYPE       502
17 #define DOUBLETYPE      503
18 #define STRINGTYPE      504
19
20 #define ABSSYM          520
21 #define ASCSYM          521
22 #define ATNSYM          522
23 #define CDBLSYM         524
24 #define CHRSYM          525
25 #define CINTSYM         526
26 #define COSSYM          527
27 #define CSNGSYM         528
28 #define CVISYM          529
29 #define CVSSYM          530
30 #define CVDSYM          531
31 #define EOFSYM          532
32 #define EXPSYM          533
33 #define FIXSYM          534
34 #define FRESYM          535
35 #define HEXSYM          536
36 #define INPSYM          538
37 #define INSTRSYM        539
38 #define LEFTSYM         540
39 #define LENSYM          541
40 #define LOCSYM          542
41 #define LOGSYM          543
42 #define LPOSSYM         544
43 #define MKISYM          546
44 #define MKSSYM          547
45 #define MKDSYM          548
46 #define OCTSYM          549
47 #define PEEKSYM         550
48 #define POSSYM          551
49 #define RIGHTSYM        552
50 #define RNDSYM          553
51 #define SGNSYM          554
52 #define SINSYM          555
53 #define SPACESYM        556
54 #define SPCSYM          557
55 #define SQRSYM          558
56 #define STRSYM          559
57 #define STRINGSYM       560
58 #define TABSYM          561
59 #define TANSYM          562
60 #define VALSYM          564
61 #define VARPTRSYM       565
62 /* some stuff forgotten */
63 #define INTSYM          567
64 #define AUTOSYM         568
65 #define LISTSYM         569
66 #define LOADSYM         570
67 #define MERGESYM        571
68 #define TRONSYM         572
69 #define TROFFSYM        0     /* NIEUW : was 573, werkte als TRON */
70         /* IMPSYM, EQVSYM en XORSYM zijn tokens geworden */
71 #define OUTSYM 577
72
73 #define MAXDIMENSIONS   10
74
75 typedef struct SYMBOL{
76         char    *symname;
77         int     symalias;
78         int     symtype;
79         int     dimensions;             /* dimension array/function */
80         int     dimlimit[MAXDIMENSIONS]; /* type of parameter */
81         int     dimalias[MAXDIMENSIONS]; 
82         struct  SYMBOL *nextsym;
83         int     isfunction;
84         int     parmsize;
85         int     isparam;
86 } Symbol;
87
88 extern  Symbol *srchsymbol();