home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gold Fish 1
/
GoldFishApril1994_CD1.img
/
d1xx
/
d183
/
pcq
/
source
/
pasconst.i
< prev
next >
Wrap
Text File
|
1989-02-25
|
3KB
|
146 lines
{
pasconst.i (of PCQ Pascal)
Copyright (c) 1989 Patrick Quaid.
These are the constants required for the compiler. Some of
these lists should become enumerated types, but I didn't want to
foul up the rampant overloading.
}
symtablesize = 2000; { number of id's in table }
spellsize = 10000; { room for id names }
literalsize = 5000; { room for character literals }
linesize = 128; { vestigal, I think }
eqsize = 127; { size of the error buffer }
{
These are for the object field of idrecords. Note that it
turns out enum is not used. Enumerations are just constants now.
}
global = 1;
local = 2;
refarg = 3;
valarg = 4;
proc = 5;
func = 6;
obtype = 7;
field = 8;
enum = 9;
stanproc = 10;
stanfunc = 11;
constant = 12;
{
These are for the offset fields of types, and tell what
type of type it is. The odd naming convention is left over from
Small-C.
}
varray = 1;
vset = 2;
vrecord = 3;
vordinal = 4;
vpointer = 5;
venumer = 6;
vsubrange = 7;
vsynonym = 8;
vfile = 9;
vreal = 10;
{
These are the symbol numbers. Note that the first 40 or so
correspond to the appropriate entries in the reserved array.
}
unknown1 = 0;
and1 = 1;
array1 = 2;
begin1 = 3;
by1 = 4;
case1 = 5;
const1 = 6;
div1 = 7;
do1 = 8;
downto1 = 9;
else1 = 10;
end1 = 11;
extern1 = 12;
file1 = 13;
for1 = 14;
forward1 = 15;
func1 = 16;
goto1 = 17;
if1 = 18;
in1 = 19;
label1 = 20;
mod1 = 21;
not1 = 22;
of1 = 23;
or1 = 24;
packed1 = 25;
private1 = 26;
proc1 = 27;
program1 = 28;
record1 = 29;
repeat1 = 30;
return1 = 31;
set1 = 32;
then1 = 33;
to1 = 34;
type1 = 35;
until1 = 36;
var1 = 37;
while1 = 38;
with1 = 39;
lastreserved = 39;
{
The following symbols represent everything but the reserved
words. Some of these are left over from when I needed C stuff, and
I left them in for when I re-implement it....
}
ident1 = 45;
numeral1 = 46;
asterisk1 = 47;
becomes1 = 48;
colon1 = 49;
comma1 = 50;
dotdot1 = 51;
endtext1 = 52;
equal1 = 53;
greater1 = 54;
leftbrack1 = 55;
leftparent1 = 56;
less1 = 57;
minus1 = 58;
newline1 = 59;
notequal1 = 60;
notgreater1 = 61;
notless1 = 62;
period1 = 63;
plus1 = 64;
rightbrack1 = 65;
rightparent1 = 66;
semicolon1 = 67;
leftcurl1 = 68;
rightcurl1 = 69;
quote1 = 70;
apostrophe1 = 71;
carat1 = 72;
pound1 = 73;
incr1 = 74;
decr1 = 75;
shiftleft1 = 76;
shiftright1 = 77;
ampersand1 = 78;
realdiv1 = 79;
realnumeral1 = 80;