C/C++ 汇编语言(16&32位) JavaScript HTML5 JAVA 编译原理 实验室 人工智能 数据库MySQL Oracle 数据结构 算法导论 算法题库 数值计算 虚拟机 图论 Windows程序设计 Windows操作系统 Linux操作系统 服务器开发 STL泛型 操作系统概论 ...
分类:
其他好文 时间:
2016-05-19 06:40:04
阅读次数:
169
/*
*功能:算符优先
*作者:王文堃
*创建时间:2016/5/15
*/#include
#include
#include
using namespace std;/*
*任务一:构造FIRSTVT,LASTVT
*任务开始时间:2016/5/15
*任务结束时间:2016/5/16
*//*
*任务二:构造算符优先表
*任务开始时间...
分类:
其他好文 时间:
2016-05-18 18:18:59
阅读次数:
181
这里收集了sicily的陈炬桦老师编译原理实验课程的题目,曝上代码以供参考。 (如果这里的代码对您的思路有些许启发的话,请您点击一下推荐,给予作者写作的鼓励,不胜感谢!) 1-词法分析 题目1000:View Code AC代码:View Code 题目1001:View Code AC代码:Vie ...
分类:
其他好文 时间:
2016-05-17 16:09:23
阅读次数:
3107
这两天都没更, 主要是马上要连着要考三门(16, 18, 20), 都没时间学编译器了, 等过了这段时间应该能有很多时间来搞这个, 之后我准备先把之前写的那个词法分析器生成器改造一下, 弄个最简版的正则引擎出来玩玩, 不过这些都是后话了, 今天似乎也没什么时间, 也就把这单元的作业写了一下... 代 ...
分类:
其他好文 时间:
2016-05-14 20:05:21
阅读次数:
173
首先,要有宽泛的计算机基础知识。微机原理,数据结构,数据库,操作系统原理,编译原理,逻辑,编程语言,网络,等等,都要系统地学习过。都精通不大可能,因为人的兴趣都不相同,但是,这些功课的基本知识点是应当了解的。在做测试的时候,我们需要考虑到方方面面的事情。例如对于一个用C写的上网拨号程序,测试员需要考 ...
分类:
其他好文 时间:
2016-05-13 21:53:37
阅读次数:
195
然后就是, 递归下降分析算法(也算是自顶向下分析算法的一个子类(也算是改进))... 然后给出伪代码 ... 然而想象是美好的, 现实是残酷的 : 如上图, 真正要实现的时候却又遇到了问题, 那就是, 当读入第一个token时(此处显然是num), 发现无论是 E + T 和 T 都是可行的, 所以 ...
分类:
其他好文 时间:
2016-05-13 09:15:22
阅读次数:
153
接下来开始研究语法分析的具体实现 ... 总来说有两种 : 自顶向下 和 自底向上 ... 先来看看自顶向下 那么具体到底是怎么实现的呢 : 那么你可以发现, 其实算法实现的过程就是以最左推导的方式在遍历所有可能的情况, 同时遍历所使用的栈, 利用栈做了一个显式的遍历代替了递归... 值得注意的是( ...
分类:
其他好文 时间:
2016-05-13 09:05:31
阅读次数:
87
接下来具体看推导过程... 这是对于表达式 3 + 4 * 5 的推导 ... (其实对于上图我是存在一定疑惑的, 程序从什么时候开始从非终结符到终结符的替换 ? 就是说为什么第一步能E*E, 判断E+E我可以认为是它发现3后面有个 '+', 但是判断 E * E 难道它是从左边开始看的 ? 也有另 ...
分类:
其他好文 时间:
2016-05-13 08:11:13
阅读次数:
86
简介继上节8说到利用手动构建的语法树解析下面的c语言代码: a = 1
sum = 0
input(x)
while(a <= x){
sum = sum + a
a = a+1;
}
print(sum)而一个编译器不应该依赖用户去手动构建对应语言的语法树,我们需要的是一种支持自动构建语法树的策略。本节将要说明的就是如何利用...
分类:
编程语言 时间:
2016-05-13 03:32:26
阅读次数:
263
程序设计语言是为了书写计算机程序而认为设计的符号语言,用于对计算机过程进行、描述、组织和推导。程序语言的发展是一个不断 演化的过程,根本的推动动力是更高的抽象机制以及对程序设计思想的更好地支持。...
分类:
其他好文 时间:
2016-05-13 00:37:02
阅读次数:
148