摘要: (一)编译程序总体结构 ZhouPascalCompiler是一个简化版的的Pacal编译器,由词法分析器、语法分析器、语义分析与中间代码生成器以及贯穿于前三个阶段的符号表管理器和出错处理器组成。它的工作流程为:输入源程序code.txt,词法分析分析出其中的单词符号,如果在分析过程中未出现词法错误 阅读全文
posted @ 2016-10-09 13:22 lyzhou 阅读(1528) 评论(0) 推荐(0) 编辑
摘要: main.c 语法分析器与中间代码生成器,它调用词法分析器 token_analyze 词法分析器 queue.h 队列 stack.h 栈 linklist.h 链表 data_struct.h Token数据结构 FourElemFormula 四元式相关,如四元式的数据结构、打印(到文件)函数 阅读全文
posted @ 2016-10-09 13:19 lyzhou 阅读(1044) 评论(0) 推荐(0) 编辑
摘要: 一、符号表结构 二、哈希表的具体结构 三、与符号表相关的函数 int hashpjw(char *s) 散列函数计算 symtbl *mktable(symtbl *bt) 初始化一个符号表,表头before指向bt void addwidth(symtbl *st,int offset)将offs 阅读全文
posted @ 2016-10-09 13:16 lyzhou 阅读(1043) 评论(0) 推荐(0) 编辑
摘要: 1 /* 2 Author:ZhouLiyan* 3 Date:2016.08.01 4 Loc:Haerbin Institute Of Technology 5 */ 6 7 #include <stdio.h> 8 #include <stdlib.h> 9 #include <string. 阅读全文
posted @ 2016-10-09 13:14 lyzhou 阅读(1582) 评论(0) 推荐(0) 编辑
摘要: 一、语法分析器的工作流程为:每次从词法分析器产生的lex.txt文件中读取一个单词符号,根据预测分析表以及状态(整型)栈、符号(token结构体类型)栈的栈顶决定执行移进/规约/接受/error动作。 1 #include <stdio.h> 2 #include <stdlib.h> 3 #inc 阅读全文
posted @ 2016-10-09 13:00 lyzhou 阅读(3303) 评论(4) 推荐(0) 编辑