1: /*
2: * @(#)context.h 3.7 4/24/85
3: */
4:
5: /*
6: * Copyright (c) 1983 Regents of the University of California,
7: * All rights reserved. Redistribution permitted subject to
8: * the terms of the Berkeley Software License Agreement.
9: */
10:
11: #include <stdio.h>
12:
13: struct context {
14: struct context *x_link; /* nested contexts */
15: char x_type; /* tag for union */
16: union {
17: struct { /* input is a file */
18: char *X_filename; /* input file name */
19: FILE *X_fp; /* input stream */
20: short X_lineno; /* current line number */
21: char X_bol; /* at beginning of line */
22: char X_noerr; /* don't report errors */
23: struct ww *X_errwin; /* error window */
24: } x_f;
25: struct { /* input is a buffer */
26: char *X_buf; /* input buffer */
27: char *X_bufp; /* current position in buf */
28: struct value *X_arg; /* argument for alias */
29: int X_narg; /* number of arguments */
30: } x_b;
31: } x_un;
32: /* holding place for current token */
33: int x_token; /* the token */
34: struct value x_val; /* values associated with token */
35: /* parser error flags */
36: unsigned x_erred :1; /* had an error */
37: unsigned x_synerred :1; /* had syntax error */
38: unsigned x_abort :1; /* fatal error */
39: };
40: #define x_buf x_un.x_b.X_buf
41: #define x_bufp x_un.x_b.X_bufp
42: #define x_arg x_un.x_b.X_arg
43: #define x_narg x_un.x_b.X_narg
44: #define x_filename x_un.x_f.X_filename
45: #define x_fp x_un.x_f.X_fp
46: #define x_lineno x_un.x_f.X_lineno
47: #define x_bol x_un.x_f.X_bol
48: #define x_errwin x_un.x_f.X_errwin
49: #define x_noerr x_un.x_f.X_noerr
50:
51: /* x_type values, 0 is reserved */
52: #define X_FILE 1 /* input is a file */
53: #define X_BUF 2 /* input is a buffer */
54:
55: struct context cx; /* the current context */
Defined variables
cx
defined in line
55; used 126 times
- in /usr/src/ucb/window/context.c line
26-37(7),
45-49(3),
57-70(10),
82-85(5),
91-96(3)
- in /usr/src/ucb/window/error.c line
25,
59-63(6)
- in /usr/src/ucb/window/parser.h line
17-20(5)
- in /usr/src/ucb/window/parser1.c line
172-173(3),
182-183(2),
190(2)
- in /usr/src/ucb/window/parser5.c line
71-76(4)
- in /usr/src/ucb/window/scanner.c line
21-33(8),
44-50(6),
74,
81,
119-124(2),
149-198(14),
250-259(3),
265-277(6),
335-344(3),
350,
357-362(3),
369-380(7),
387-392(3),
398-407(3),
414-423(3),
430-435(2),
442-447(2),
454-459(2),
466-471(2),
478-483(2),
492
Defined struct's
Defined macros
X_BUF
defined in line
53; used 2 times
x_arg
defined in line
42; used 3 times
x_bol
defined in line
47; used 5 times
x_buf
defined in line
40; used 2 times
x_fp
defined in line
45; used 5 times
Usage of this include