工作进度1

 

这几天的主要时间花在阅读语言的IEEE标准上,同时也在思考相应的词法,语法模块的实现.

按现在的理解来看,词法模块的工作量并不太大,略微有点难度的就是对宏定义命令和include文件的处理.自己也基本上有了相应的实现思路,剩下的只是具体的工作量的问题.

语法模块的工作可以划分为两个部分,第一部分是语法规则的编写;第二部分则是语义动作的实现.

对第一部分来说,由于自己需要实现的是一个已经很成熟的语言,在这门语言的IEEE标准里已经给出了完整的文法规则,有了标准作为参考,自己的主要 工作就是消除标准中给出的文法规则里包括的一些二义性及冲突,也不存在瓶颈性的问题,唯量而已. 第二部分则是眼下比较重要的部分,因为这一部分的实现会直接影响到跟后端模块的接口,所以这部分的数据结构的设计,包括框架性的设计要作足功夫. 接下来,自己会继续花费一些精力在这上面.

另外这段时间自己在考虑的一个问题就是代码的可测试性问题. 按照我目前的想法,是希望为词法模块,语法模块分别设计相应的测试引擎. 想加入对某个语言功能块的支持,要遵循如下的流程:

1. 修改,扩展词法模块

2. 启动词法测试引擎进行测试,通过则进入到3,否则跳回至1

3. 修改,扩展词法模块

4. 启动语法测试引擎进行测试,通过则进入到5,否则跳回至3

5. 继续后续功能模块的开发

按照我预想的这个流程,每加入一个功能模块,都要分阶段地进行足量的测试,这样可以尽量避免bug和潜在的问题传递到下一个阶段的概率,避免过长调试,测试链条带来的开销.毕竟,在离问题发生的最近点解决问题的成本是最低的.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值