code_c.h 1003 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. /*
  2. * The Amsterdam Compiler Kit
  3. * See the copyright notice in the ACK home directory, in the file "Copyright".
  4. */
  5. #ifndef LANG_CEM_CEMCOM_ANSI_CODE_H
  6. #define LANG_CEM_CEMCOM_ANSI_CODE_H
  7. struct decspecs;
  8. void init_code(char *dst_file);
  9. label code_string(char *val, int len);
  10. void flush_strings();
  11. void code_scope(char *text, struct def *def);
  12. void begin_proc(struct decspecs *ds, struct idf *idf);
  13. void end_proc(arith fbytes);
  14. void do_return();
  15. void do_return_expr(struct expr *expr);
  16. void code_declaration(struct idf *idf, struct expr *expr, int lvl, int sc);
  17. void loc_init(struct expr *expr, struct idf *id);
  18. void bss(struct idf *idf);
  19. void code_expr(struct expr *expr, int val, int code, label tlbl, label flbl);
  20. void code_break();
  21. void code_continue();
  22. void stack_stmt(label break_label, label cont_label);
  23. void unstack_stmt();
  24. #ifdef DBSYMTAB
  25. void db_line(char *file, unsigned int line);
  26. #endif
  27. #ifdef PREPEND_SCOPES
  28. void prepend_scopes();
  29. #endif
  30. #ifndef LINT
  31. void end_code();
  32. #endif
  33. #endif