第621章 新的维度之墙!手造神祇!_四合院开局四八,八岁带妹逃荒 首页

字体:      护眼 关灯

上一章 目录 下一章

第621章 新的维度之墙!手造神祇!

第(1/3)页

一种巨大的,沉闷的压力,开始笼罩在“编译器”攻关组所有人的心头。

如果说,之前的失败,是因为“路线错误”,大家虽然痛苦,但心里还憋着一股“只要找到正确的路就能成功”的劲儿。

那么现在,他们面临的,是另一种,更让人绝望的困境。

他们,已经,站在了正确的道路上。

可这条路,是一条,需要,用血肉之躯,去攀登的,万丈绝壁!

“不管有多难,都必须干!”

在短暂的沉寂后,黄建功,第一个,打破了压抑。

他的眼中,闪烁着一种,近乎于悲壮的,决然。

“老师,已经,为我们,指明了‘道’!”

“如果,我们连,沿着‘道’,走下去的勇气,都没有!”

“那我们,就真的,是一群,无可救药的,废物!”

“没有工具,我们就自己造!”

“没有捷径,我们就用最笨的办法,一步一步地,往前挪!”

“我就不信,我们这几百个,全国最顶尖的大脑,还啃不下,这块硬骨头!”

黄建功的这番话,像一针强心剂,重新,点燃了众人心中,那即将熄灭的火焰。

对!

不能放弃!

老师,在天上看着呢!

如果,连这点困难,都克服不了,他们,还有什么脸面,自称是“老师的学生”?

“干!”

“没错!跟它拼了!”

“我就不信,用机器码,写不出一个,语法分析器!”

团队的士气,被重新,鼓舞了起来。

一场,名为“手造神祇”的,悲壮的攻坚战,正式打响。

经过激烈的讨论,他们最终,选择了两种,主流的语法分析技术路线,兵分两路,同时进行。

第一路,由黄建功,亲自带队。

他们采用的,是一种,自上而下的分析方法,名为——“递归下降分析法”。

这个方法的核心思想,非常直观。

他们,为“宪法”中的,每一个“非终结符”(比如、),都编写一个,对应的函数。

当,需要分析一个“赋值语句”的时候,就调用“分析赋值语句”这个函数。

而“分析赋值语句”这个函数内部,又会去调用“分析标识符”和“分析表达式”的函数。

“分析表达式”的函数,又会去调用“分析项”的函数……

就这样,一层一层地,向下递归调用,直到,将整个代码,分析完毕。

这个思路,听起来,很美。

它,完美地,将复杂的语法规则,分解成了,一个个,独立的,函数模块。

但是,当黄建功他们,真正开始,用机器码,编写这些,互相调用的函数时。

他们,很快,就遇到了,一个,鬼魅般的,敌人。

——“左递归”。

在他们的“宪法”中,有一条规则是:E  ->  E  +  T。

一个“表达式”,可以由,另一个“表达式”,加上一个“项”,构成。

这是一个,典型的,“左递归”定义。

当,“分析表达式”的函数,被调用时,它的第一件事,就是,再去调用,它自己!

“分析表达式”  ->  调用“分析表达式”  ->  调用“分析表达式”……

结果,就是程序,陷入了一个,永不停止的,自我调用的,死循环!

“轰!”

第一台,用于测试的“盘古之心”原型机,因为,函数调用栈,被瞬间撑爆,冒出了一股青烟,彻底报废。

黄建功,和他的组员们,目瞪口呆地,看着那台,烧毁的机器。

他们,花了三天三夜,写出来的,几万行机器码。

在运行的,第一毫秒,就,以一种,最惨烈的方式,宣告了,自我毁灭。

“不行……这条路,走不通……”

黄建功,喃喃自语。

他发现,“宪法”的优美,和,现实编程的残酷,是两回事。

有些,在数学上,看起来很美的定义,在计算机里,就是,一个,致命的陷阱。

第一路,宣告失败。

而另一路,则是由,钱学敏,这位数学泰斗,跨界支援。

他们采用的,是一种,更加复杂,也更加强大的,自下而上的分析方法——“LR分析法”。

这种方法,不依赖递归。

它的核心,是,构建一张,巨大的,“分析表”。

这张表,会告诉“语法分析器”,在当前状态下,读到,下一个符号时,应该执行什么操作(移入、规约、接受、或报错)。

整个分析过程,就像一辆,在,预设好的,庞大轨道网络上,行驶的,小火车。

只要,这张“分析表”,是正确的,那么,分析过程,就,绝对不会出错。

这个方法,从理论上,就,完美地,避开了“左递归”的陷阱。

看起来,似乎,是,通往成功的,康庄大道。

于是,钱学敏,带领着一群,数学和逻辑学方面的天才,开始了,一项,堪称“浩瀚”的工程。

——手动,计算和绘制,那张,决定生死存亡的,“LR分析表”。

他们,将“宪法”里的一百零八条规则,全部,转换成了,更底层的,“产生式”。

然后,他们开始,计算,每一个“产生式”的,“项目集”。

再根据“项目集”,去构建,“活前缀自动机(DFA)”。

最后,根据这个,庞大的“自动机”,来,填写那张,最终的,“分析表”。

这个过程,充满了,大量,繁琐到,令人发指的,纯粹的,数学计算。

每一步,都不能有,丝毫的差错。

一个微小的计算失误,就可能导致,整张表格,的逻辑,全部作废。

钱学敏,和他的团队,就像一群,最虔诚的,中世纪修士。

把自己,关在,与世隔绝的实验室里。

用笔,和草稿纸,在一张,铺满了整个房间的,巨大坐标纸上。

一个格子,一个格子地,计算和填写着,那张,通往神国的“地图”。

时间,一天一天地,过去。

那张“地图”,也,一点一点地,被填满。

一周后。

当他们,终于,完成了,整张表格的,初步绘制时。

所有人都,被眼前的景象,给,震撼了。

那张,铺在地上的坐标

(本章未完,请翻页)
记住手机版网址:m.lewenwx.cc
加入书签我的书架

上一章 目录 下一章