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

📄 syntaxnode.h

📁 用、Visual++6.0 开发的控制台程序
💻 H
字号:

typedef enum { StmtK,ExpK }NodeKind;
typedef enum { IfK,RepeatK,AssignK,ReadK,WriteK }StmtKind;
typedef enum { OpK,ConstK,IdK }ExpKind;

#define MAX_CHILD 3

typedef struct TreeNode{

	struct TreeNode *child[MAX_CHILD];
	struct TreeNode *sibling;
	int lineno;
	NodeKind nodeKind;
	union{ StmtKind stmt; ExpKind exp; } kind;
	union{  int val; char *name;} attr;

	}TreeNode;

void Match(TokenType expected);

TreeNode *StmtNode(StmtKind kind);
TreeNode *ExpNode(ExpKind kind);
void  parseTree(TreeNode *root);
TreeNode *parse();

TreeNode* stmt_sequence();
TreeNode* statement();
TreeNode* if_stmt();
TreeNode* repeat_stmt();
TreeNode* assign_stmt();
TreeNode* read_stmt();
TreeNode* write_stmt();
TreeNode* exp();
TreeNode* simple_exp();
TreeNode* term();
TreeNode* factor();

⌨️ 快捷键说明

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