proinf.h 923 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  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. #ifndef UTIL_OPT_PROINF_H
  7. #define UTIL_OPT_PROINF_H
  8. struct num {
  9. num_p n_next;
  10. unsigned n_number;
  11. unsigned n_jumps;
  12. num_p n_repl;
  13. short n_flags;
  14. short n_size; /* size of element on top at this label */
  15. line_p n_line;
  16. };
  17. /* contents of .n_flags */
  18. #define NUMDATA 000001
  19. #define NUMREACH 000002
  20. #define NUMKNOWN 000004
  21. #define NUMMARK 000010
  22. #define NUMSCAN 000020
  23. #define NUMSET 000040
  24. #define NUMCOND 000100
  25. #define NUMFALLTHROUGH 000200
  26. #define NNUMHASH 37
  27. extern num_p numlookup();
  28. struct regs {
  29. reg_p r_next;
  30. offset r_par[4];
  31. };
  32. typedef struct proinf {
  33. offset localbytes;
  34. line_p lastline;
  35. sym_p symbol;
  36. reg_p freg;
  37. bool gtoproc;
  38. num_p numhash[NNUMHASH];
  39. } proinf;
  40. extern proinf curpro;
  41. #endif /* UTIL_OPT_PROINF_H */