1
2typedef unsigned char symbol;
3
4/* Or replace 'char' above with 'short' for 16 bit characters.
5
6 More precisely, replace 'char' with whatever type guarantees the
7 character width you need. Note however that sizeof(symbol) should divide
8 HEAD, defined in header.h as 2*sizeof(int), without remainder, otherwise
9 there is an alignment problem. In the unlikely event of a problem here,
10 consult Martin Porter.
11
12*/
13
14struct SN_env {
15 symbol * p;
16 int c; int l; int lb; int bra; int ket;
17 symbol * * S;
18 int * I;
19 unsigned char * B;
20};
21
22extern struct SN_env * SN_create_env(int S_size, int I_size, int B_size);
23extern void SN_close_env(struct SN_env * z, int S_size);
24
25extern int SN_set_current(struct SN_env * z, int size, const symbol * s);
26
27