Commit | Line | Data |
---|---|---|
1fb887dd | 1 | /* |
3b06703c | 2 | * @(#)context.h 3.2 83/12/07 |
1fb887dd EW |
3 | */ |
4 | ||
5 | struct context { | |
6 | struct context *x_link; /* nested contexts */ | |
7 | char x_type; | |
8 | union { /* input info */ | |
9 | struct { | |
10 | char *X_filename; | |
11 | FILE *X_fp; | |
3b06703c | 12 | short X_lineno; |
1fb887dd | 13 | char X_bol; |
3b06703c | 14 | char X_noerrwin; |
1fb887dd | 15 | struct ww *X_errwin; |
1fb887dd EW |
16 | } x_f; |
17 | struct { | |
18 | char *X_buf; | |
19 | char *X_bufp; | |
20 | } x_b; | |
21 | } x_un; | |
22 | int x_token; /* holding place for token */ | |
23 | struct value x_val; | |
24 | unsigned x_erred :1; /* parser error flags */ | |
25 | unsigned x_synerred :1; | |
26 | unsigned x_abort :1; | |
27 | }; | |
28 | #define x_buf x_un.x_b.X_buf | |
29 | #define x_bufp x_un.x_b.X_bufp | |
30 | #define x_filename x_un.x_f.X_filename | |
31 | #define x_fp x_un.x_f.X_fp | |
32 | #define x_lineno x_un.x_f.X_lineno | |
1fb887dd EW |
33 | #define x_bol x_un.x_f.X_bol |
34 | #define x_errwin x_un.x_f.X_errwin | |
3b06703c | 35 | #define x_noerrwin x_un.x_f.X_noerrwin |
1fb887dd EW |
36 | |
37 | #define X_FILE 1 | |
38 | #define X_BUF 2 | |
39 | ||
40 | struct context cx; | |
41 | ||
42 | struct context *x_alloc(); |