⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 astree.h

📁 decafc的源代码
💻 H
字号:
/**************************************************************************** * File name:	ASTree.h						    * * Description:	header file for ASTree.c				    * * Input:	none							    * * Output:	none							    * * Author:	Luojian Chen                                                * * Date:	April 16, 1997						    * ****************************************************************************/#ifndef _AS_TREE_H_#define _AS_TREE_H_#include "symbolTable.h"#define FIRST_LOCAL_VAR_OFFSET	34#define FIRST_CLASS_VAR_OFFSET	2#define STRING_IF	"if"#define STRING_MAIN	"main"#define STRING_THIS	"this"#define STRING_PRINT	"print"#define STRING_WHILE	"while"#define STRING_LENGTH	"length"#define STRING_SQUARE_BRACKETS	"[]"#define STRING_EQUAL		"="#define STRING_EQUAL_EQUAL	"=="#define STRING_NOT_EQUAL	"!="#define STRING_LESS_EQUAL	"<="#define STRING_GREATER_EQUAL	">="#define STRING_LESS		"<"#define STRING_GREATER		">"#define STRING_LEFT_PARENTHESIS "("typedef enum {	NODE_TYPE_PROGRAM = 0,	NODE_TYPE_CLASS_DEC_LIST,	NODE_TYPE_CLASS_DEC,	NODE_TYPE_CLASS_BODY,	NODE_TYPE_VAR_DEC_LIST,	NODE_TYPE_VAR_DEC,	NODE_TYPE_TYPE,	NODE_TYPE_INT_ARRAY_DEC,	NODE_TYPE_OTHER_ARRAY_DEC,	NODE_TYPE_DIM,	NODE_TYPE_CONSTRUCTOR_DEC,	NODE_TYPE_METHOD_DEC_LIST,	NODE_TYPE_METHOD_DEC,	NODE_TYPE_PARA_LIST,	NODE_TYPE_PARAMETER,	NODE_TYPE_R_PARA_LIST,	NODE_TYPE_BLOCK,	NODE_TYPE_L_VAR_DEC_LIST,	NODE_TYPE_L_VAR_DEC,	NODE_TYPE_STMT_LIST,	NODE_TYPE_STMT,	NODE_TYPE_EMPTY_STMT,	NODE_TYPE_ASGN_STMT,	NODE_TYPE_FUNC_STMT,	NODE_TYPE_PRINT_STMT,	NODE_TYPE_IF_STMT,	NODE_TYPE_WHILE_STMT,	NODE_TYPE_RETURN_STMT,	NODE_TYPE_BLOCK_STMT,	NODE_TYPE_NAME,	NODE_TYPE_ARRAY_ACCESS,	NODE_TYPE_ARG_LIST,	NODE_TYPE_R_ARG_LIST,	NODE_TYPE_EXP,	NODE_TYPE_NEW_EXP,	NODE_TYPE_RELATION_EXP,	NODE_TYPE_FUNCTION_EXP,	NODE_TYPE_READ_EXP,	NODE_TYPE_UNARY_EXP,	NODE_TYPE_INDEX_LIST,	NODE_TYPE_EMPTY_INDEX_LIST,	NODE_TYPE_EMPTY_INDEX,	NODE_TYPE_IDENTIFIER,	NODE_TYPE_NUMBER,	NODE_TYPE_KEYWORD,	NODE_TYPE_OPERATOR,	NODE_TYPE_ERROR} NodeType;/* data structure for a parse tree node */typedef struct node {	NodeType	type;		  /* type of node */	int		numberOfChildren; /* number of child nodes */	struct node	**children;	  /* array of pointers to child nodes */	ElementPtr	typePtr;	union {		SymbolTablePtr	symbolTablePtr;		String		lexeme;		int		value;	} info;	int		lineNumber;	int		columnNumber;} Node;typedef Node	*NodePtr;#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -