trans.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334
  1. #ifndef NORCSID
  2. #define RCS_TRANS "$Header$"
  3. #endif
  4. /* This structure is the center of all actions */
  5. /* It contains the description of all phases,
  6. the suffices they consume and produce and various properties */
  7. typedef struct transform trf;
  8. struct transform {
  9. char *t_in ; /* Suffices in '.o.k' */
  10. char *t_out ; /* Result '.suffix' or 'name' */
  11. char *t_name ; /* The name of this transformation */
  12. list_head t_mapf ; /* Mapflags argument, uses varrep */
  13. char *t_argd ; /* Argument descriptor, uses varrep */
  14. char *t_needed ; /* Suffix indicating the libraries needed */
  15. char *t_rts ; /* Suffix indicating the major language used*/
  16. int t_stdin:1 ; /* The input is taken on stdin */
  17. int t_stdout:1 ; /* The output comes on stdout */
  18. int t_combine:1 ; /* Transform several files to one result */
  19. int t_visited:1 ; /* NO before setup, YES after */
  20. int t_prep:2 ; /* Needs preprocessor YES/NO/MAYBE */
  21. int t_optim:1 ; /* Is optimizer */
  22. int t_isprep:1 ; /* Is preprocessor */
  23. int t_keep:1 ; /* Keep the output file */
  24. char *t_prog ; /* Pathname for load file */
  25. list_head t_flags ; /* List of flags */
  26. list_head t_args ; /* List of arguments */
  27. int t_scan:1 ; /* Used while finding path's */
  28. int t_do:1 ; /* Is in path to execute */
  29. } ;
  30. #define t_cont(elem) ((trf *)l_content(elem))