LLlex.h 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. /* $Id$ */
  2. /*
  3. * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
  4. * See the copyright notice in the ACK home directory, in the file "Copyright".
  5. */
  6. /* D E F I N I T I O N S F O R T H E L E X I C A L A N A L Y Z E R */
  7. /* A token from the input stream is represented by an integer,
  8. called a "symbol", but it may have other information associated
  9. to it.
  10. */
  11. #include <em_arith.h>
  12. /* the structure of a token: */
  13. struct token {
  14. int tok_symb; /* the token itself */
  15. union {
  16. arith tok_val; /* numeric values */
  17. char *tok_str; /* string/filespecifier */
  18. } tok_data;
  19. };
  20. #include "file_info.h"
  21. #define tk_symb tok_symb
  22. #define tk_val tok_data.tok_val
  23. #define tk_str tok_data.tok_str
  24. extern struct token dot;
  25. extern int ReplaceMacros; /* "LLlex.c" */
  26. extern int AccFileSpecifier; /* "LLlex.c" */
  27. extern int AccDefined; /* "LLlex.c" */
  28. extern int UnknownIdIsZero; /* "LLlex.c" */
  29. extern int NoUnstack; /* "input.c" */
  30. extern int Unstacked; /* "input.c" */
  31. extern int err_occurred; /* "error.c" */
  32. #define DOT dot.tk_symb
  33. #define EOF (-1)