tree.hh 729 B

1234567891011121314151617181920212223242526272829303132
  1. /* $Header$ */
  2. #define MAXARGS 3
  3. typedef struct tree {
  4. int t_oper; /* operator */
  5. t_addr t_address; /* some operators use an address */
  6. int t_itemno; /* item number in status list */
  7. union {
  8. long tt_ival;
  9. struct {
  10. struct idf *tt_idf;
  11. char *tt_str;
  12. struct scope *tt_scope;
  13. } tt_x;
  14. struct tree *tt_args[MAXARGS];
  15. t_position tt_pos;
  16. } t_xxxx;
  17. #define t_ival t_xxxx.tt_ival
  18. #define t_idf t_xxxx.tt_x.tt_idf
  19. #define t_str t_xxxx.tt_x.tt_str
  20. #define t_sc t_xxxx.tt_x.tt_scope
  21. #define t_args t_xxxx.tt_args
  22. #define t_lino t_xxxx.tt_pos.lineno
  23. #define t_filename t_xxxx.tt_pos.filename
  24. #define t_pos t_xxxx.tt_pos
  25. } t_tree, *p_tree;
  26. /* ALLOCDEF "tree" 100 */
  27. extern p_tree mknode();
  28. extern p_tree run_command;