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

Defined struct's

context defined in line 13; used 14 times

Defined macros

X_BUF defined in line 53; used 2 times
X_FILE defined in line 52; used 3 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_bufp defined in line 41; used 5 times
x_errwin defined in line 48; used 7 times
x_filename defined in line 44; used 5 times
x_fp defined in line 45; used 5 times
x_narg defined in line 43; used 2 times
x_noerr defined in line 49; used 5 times

Usage of this include

Last modified: 1987-02-17
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 646
Valid CSS Valid XHTML 1.0 Strict