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

汇编语言

开发平台:

WINDOWS

  1. /****************************************************/
  2. /* File: symtab.h                                   */
  3. /* Symbol table interface */
  4. /* for the C_Minus compiler */
  5. /****************************************************/
  6. #ifndef _SYMTAB_H_
  7. #define _SYMTAB_H_
  8. /* the power of two used as multiplier
  9.    in hash function */
  10. #define SHIFT 4
  11. extern Symtab * GlobalTable; //global symble table for variables
  12. extern Symtab * pTable; //global symble table for variables
  13. extern FunEntry * FunTable[SIZE]; //symble table for functions
  14. /* create a new variable table
  15.  * and link it to its parent
  16.  */
  17. Symtab * Createtab(Symtab * pTable, FunEntry *pEntry);
  18. /* insert a new entry to the variable table */
  19. ValEntry * Insert_Var(Symtab * pTable, char * name, Type type, int count);
  20. /* lookup a variable in the symbol table */
  21. int Lookup_Var(Symtab * pTable, FunEntry * pFun, char * name, ValEntry * pEntry);
  22. /* insert a new entry to the function table */
  23. FunEntry * Insert_Fun(char * name, Type type, TreeNode * pTreeNode);
  24. /* lookup a function in the symbol table */
  25. FunEntry * Lookup_Fun(char * name);
  26. /* procedure printFunTab prints a formatted 
  27.  * listing of the function table contents 
  28.  * to the listing file
  29.  */
  30. void printFunTab(void);
  31. /* procedure printSymTab prints a formatted 
  32.  * listing of the symbol table contents 
  33.  * to the listing file
  34.  */
  35. void printSymTab(TreeNode * tree);
  36. #endif