idf.str 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. /*
  2. * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
  3. * See the copyright notice in the ACK home directory, in the file "Copyright".
  4. */
  5. /* $Id$ */
  6. /* IDENTIFIER DESCRIPTOR */
  7. #ifndef LANG_CEM_CEMCOM_ANSI_IDF_STR
  8. #define LANG_CEM_CEMCOM_ANSI_IDF_STR
  9. #include "nopp.h"
  10. struct id_u {
  11. #ifndef NOPP
  12. struct macro *idd_macro;
  13. int idd_resmac; /* if nonzero: keyword of macroproc. */
  14. #endif /* NOPP */
  15. int idd_reserved; /* non-zero for reserved words */
  16. char *idd_file; /* file containing the occurrence */
  17. unsigned int idd_line; /* line number of the occurrence */
  18. struct def *idd_label; /* labels */
  19. struct def *idd_def; /* variables, typedefs, enum-constants */
  20. struct sdef *idd_sdef; /* selector tags */
  21. struct tag *idd_tag; /* struct, union, and enum tags */
  22. int idd_special; /* special action needed at occurrence */
  23. };
  24. #define IDF_TYPE struct id_u
  25. #define id_macro id_user.idd_macro
  26. #define id_resmac id_user.idd_resmac
  27. #define id_reserved id_user.idd_reserved
  28. #define id_file id_user.idd_file
  29. #define id_line id_user.idd_line
  30. #define id_label id_user.idd_label
  31. #define id_def id_user.idd_def
  32. #define id_sdef id_user.idd_sdef
  33. #define id_tag id_user.idd_tag
  34. #define id_special id_user.idd_special
  35. #include <idf_pkg.spec>
  36. #ifndef NOPP
  37. struct dependency {
  38. struct dependency *next;
  39. struct idf *dep_idf;
  40. };
  41. /* ALLOCDEF "dependency" 10 */
  42. #endif /* NOPP */
  43. extern int level;
  44. extern struct idf *gen_idf();
  45. #endif /* LANG_CEM_CEMCOM_ANSI_IDF_STR */