39 lines
1023 B
C
39 lines
1023 B
C
/****************************************************/
|
|
/* File: util.h */
|
|
/* Utility functions for the TINY compiler */
|
|
/* Compiler Construction: Principles and Practice */
|
|
/* Kenneth C. Louden */
|
|
/****************************************************/
|
|
|
|
#ifndef _UTIL_H_
|
|
#define _UTIL_H_
|
|
|
|
#include "globals.h"
|
|
|
|
/* Procedure printToken prints a token
|
|
* and its lexeme to the listing file
|
|
*/
|
|
void printToken( TokenType, const char* );
|
|
|
|
/* Function newStmtNode creates a new statement
|
|
* node for syntax tree construction
|
|
*/
|
|
TreeNode * newStmtNode(StmtKind);
|
|
|
|
/* Function newExpNode creates a new expression
|
|
* node for syntax tree construction
|
|
*/
|
|
TreeNode * newExpNode(ExpKind);
|
|
|
|
/* Function copyString allocates and makes a new
|
|
* copy of an existing string
|
|
*/
|
|
char * copyString( char * );
|
|
|
|
/* procedure printTree prints a syntax tree to the
|
|
* listing file using indentation to indicate subtrees
|
|
*/
|
|
void printTree( TreeNode * );
|
|
|
|
#endif
|