CodeGen.h
上传用户:wqdrylgs
上传日期:2007-02-09
资源大小:65k
文件大小:1k
源码类别:

汇编语言

开发平台:

WINDOWS

  1. #ifndef _CODEGEN_H_
  2. #define _CODEGEN_H_
  3. void GenLabel(char lab[LABEL_SIZE]);
  4. void StackSegmentBegin(void);
  5. void StackSegmentEnd(void);
  6. void CodeSegmentBegin(void);
  7. void CodeSegmentEnd(void);
  8. void VarDec_ini(char *name, int value); //local variable declaration with initial value
  9. void VarDec(char *name); //local variable declaration without initial valu
  10. void ArrDec(char *name, int entitynum);
  11. void ent(char *name, int para, int retvalue);
  12. void adi(void);
  13. void andi(void);
  14. void compound_enter(void);
  15. void compound_exit(void);
  16. void cup(char *name, int paranum); //function call end, paranem is the number of actual parameters
  17. void divi(void);
  18. void equi(void);
  19. void leave(char *name);
  20. void fjp(char*label);
  21. void gorei(void);
  22. void greater(void);
  23. void ind(char *name);
  24. void ixa_elem_size(void);
  25. void lab(char *label);
  26. void ldl(char value);
  27. void lda(char *name); //load address
  28. void ldc(int value); //load constant
  29. void less(void);
  30. void lod(char *name);
  31. void lorei(void);
  32. void mst(char *name);
  33. void multi(void);
  34. void neqi(void);
  35. void ori(void);
  36. void pop(void);
  37. void ret(int r);
  38. void stn(char *name);
  39. void subi(void);
  40. void ujp(char *label);
  41. void write(void);
  42. void CodeGen_TreeNode(TreeNode * node);
  43. extern vari_offset;
  44. extern para_offset;
  45. extern label_num;
  46. #endif