www.pudn.com > subpas.rar > util.h
/****************************************************/ /* File: util.h */ /* Utility function implementation */ /* for SubPas compiler */ /****************************************************/ #ifndef _UTIL_H_ #define _UTIL_H_ #define ERROR -1 //若在词法分析过程中遇到未知字符,则返回ERROR /* 返回树节点的数据类型 * @param tree 指向该节点的指针 * @return 类型的字符表达式,如"integer","boolean","real"等 */ char * getType(TreeNode * tree); /* 在listing文件中打印出token的识别 */ void printToken(TokenType token, const char *); /* 以下函数分别建立一个Pro节点,Stmt节点,Exp节点 */ TreeNode * newProNode(ProKind); TreeNode * newStmtNode(StmtKind); TreeNode * newExpNode(ExpKind); /* 分配相应空间,将一个字符串复制到该空间中,再返回 * 复制后的字符串指针 */ char * copyString(char *); /*将一个字符串指针压入栈*/ void pushName(char *); /*将栈顶的字符串指针出栈*/ char * popName(void); /* 将语法分析后返回的语法树打印到listing文件中 */ void printTree(TreeNode *); #endif