第621章 新的维度之墙!手造神祇!
一种巨大的,沉闷的压力,开始笼罩在“编译器”攻关组所有人的心头。
如果说,之前的失败,是因为“路线错误”,大家虽然痛苦,但心里还憋着一股“只要找到正确的路就能成功”的劲儿。
那么现在,他们面临的,是另一种,更让人绝望的困境。
他们,已经,站在了正确的道路上。
可这条路,是一条,需要,用血肉之躯,去攀登的,万丈绝壁!
“不管有多难,都必须干!”
在短暂的沉寂后,黄建功,第一个,打破了压抑。
他的眼中,闪烁着一种,近乎于悲壮的,决然。
“老师,已经,为我们,指明了‘道’!”
“如果,我们连,沿着‘道’,走下去的勇气,都没有!”
“那我们,就真的,是一群,无可救药的,废物!”
“没有工具,我们就自己造!”
“没有捷径,我们就用最笨的办法,一步一步地,往前挪!”
“我就不信,我们这几百个,全国最顶尖的大脑,还啃不下,这块硬骨头!”
黄建功的这番话,像一针强心剂,重新,点燃了众人心中,那即将熄灭的火焰。
对!
不能放弃!
老师,在天上看着呢!
如果,连这点困难,都克服不了,他们,还有什么脸面,自称是“老师的学生”?
“干!”
“没错!跟它拼了!”
“我就不信,用机器码,写不出一个,语法分析器!”
团队的士气,被重新,鼓舞了起来。
一场,名为“手造神祇”的,悲壮的攻坚战,正式打响。
经过激烈的讨论,他们最终,选择了两种,主流的语法分析技术路线,兵分两路,同时进行。
第一路,由黄建功,亲自带队。
他们采用的,是一种,自上而下的分析方法,名为——“递归下降分析法”。
这个方法的核心思想,非常直观。
他们,为“宪法”中的,每一个“非终结符”(比如、),都编写一个,对应的函数。
当,需要分析一个“赋值语句”的时候,就调用“分析赋值语句”这个函数。
而“分析赋值语句”这个函数内部,又会去调用“分析标识符”和“分析表达式”的函数。
“分析表达式”的函数,又会去调用“分析项”的函数……
就这样,一层一层地,向下递归调用,直到,将整个代码,分析完毕。
这个思路,听起来,很美。
它,完美地,将复杂的语法规则,分解成了,一个个,独立的,函数模块。
但是,当黄建功他们,真正开始,用机器码,编写这些,互相调用的函数时。
他们,很快,就遇到了,一个,鬼魅般的,敌人。
——“左递归”。
在他们的“宪法”中,有一条规则是:E -> E + T。
一个“表达式”,可以由,另一个“表达式”,加上一个“项”,构成。
这是一个,典型的,“左递归”定义。
当,“分析表达式”的函数,被调用时,它的第一件事,就是,再去调用,它自己!
“分析表达式” -> 调用“分析表达式” -> 调用“分析表达式”……
结果,就是程序,陷入了一个,永不停止的,自我调用的,死循环!
“轰!”
第一台,用于测试的“盘古之心”原型机,因为,函数调用栈,被瞬间撑爆,冒出了一股青烟,彻底报废。
黄建功,和他的组员们,目瞪口呆地,看着那台,烧毁的机器。
他们,花了三天三夜,写出来的,几万行机器码。
在运行的,第一毫秒,就,以一种,最惨烈的方式,宣告了,自我毁灭。
“不行……这条路,走不通……”
黄建功,喃喃自语。
他发现,“宪法”的优美,和,现实编程的残酷,是两回事。
有些,在数学上,看起来很美的定义,在计算机里,就是,一个,致命的陷阱。
第一路,宣告失败。
而另一路,则是由,钱学敏,这位数学泰斗,跨界支援。
他们采用的,是一种,更加复杂,也更加强大的,自下而上的分析方法——“LR分析法”。
这种方法,不依赖递归。
它的核心,是,构建一张,巨大的,“分析表”。
这张表,会告诉“语法分析器”,在当前状态下,读到,下一个符号时,应该执行什么操作(移入、规约、接受、或报错)。
整个分析过程,就像一辆,在,预设好的,庞大轨道网络上,行驶的,小火车。
只要,这张“分析表”,是正确的,那么,分析过程,就,绝对不会出错。
这个方法,从理论上,就,完美地,避开了“左递归”的陷阱。
看起来,似乎,是,通往成功的,康庄大道。
于是,钱学敏,带领着一群,数学和逻辑学方面的天才,开始了,一项,堪称“浩瀚”的工程。
——手动,计算和绘制,那张,决定生死存亡的,“LR分析表”。
他们,将“宪法”里的一百零八条规则,全部,转换成了,更底层的,“产生式”。
然后,他们开始,计算,每一个“产生式”的,“项目集”。
再根据“项目集”,去构建,“活前缀自动机(DFA)”。
最后,根据这个,庞大的“自动机”,来,填写那张,最终的,“分析表”。
这个过程,充满了,大量,繁琐到,令人发指的,纯粹的,数学计算。
每一步,都不能有,丝毫的差错。
一个微小的计算失误,就可能导致,整张表格,的逻辑,全部作废。
钱学敏,和他的团队,就像一群,最虔诚的,中世纪修士。
把自己,关在,与世隔绝的实验室里。
用笔,和草稿纸,在一张,铺满了整个房间的,巨大坐标纸上。
一个格子,一个格子地,计算和填写着,那张,通往神国的“地图”。
时间,一天一天地,过去。
那张“地图”,也,一点一点地,被填满。
一周后。
当他们,终于,完成了,整张表格的,初步绘制时。
所有人都,被眼前的景象,给,震撼了。
那张,铺在地上的坐标纸,足足有,一个篮球场那么大。
上面,密密麻麻地,布满了,成千上万个,状态节点。
和,数以十万计的,状态转移弧线。
它们,交织在一起,形成了一张,比,人类大脑的神经网络,还要复杂无数倍的,逻辑迷宫!
这,已经,不是一张“表格”了。
这,是一面,由,纯粹的,逻辑和数学,构建起来的,新的,维度之墙!
它,冰冷地,矗立在,所有人的面前。
用一种,无声的语言,嘲笑着,凡人的,渺小和不自量力。
他们,或许,真的,有能力,去,手造“神祇”。
但是,他们,却,没有能力,去,驾驭,这个,由他们,亲手创造出来的,神祇。
“这……这就是我们,算出来的,LR(1)分析表?”
一名年轻的博士,看着眼前,那张,铺满了整个篮球场的,巨大的“逻辑迷宫”,声音,都在发抖。
他的脸上,没有丝毫,大功告成的喜悦。
只有,一种,看到了,超出自己理解范围之外的,恐怖事物时,所产生的,巨大的,恐惧。
“是的。”
钱学敏,跪坐在,这张巨大图纸的,中央。
他的头发,比一周前,又白了许多。
他的手里,还拿着,一支铅笔,和一块橡皮。
整整七天七夜,他,和他的团队,几乎没有合眼。
他们,以一种,近乎于自虐的,方式,完成了,这个,在人类历史上,从未有过的,壮举。
——纯手动,构建一个,包含了,一百多条语法规则的,语言的,完整LR分析表。
“根据我的计算……”
钱学敏的声音,干涩而嘶哑。
“这张表,总共包含了,三千二百一十七个,状态。”
“以及,超过,三十五万个,‘动作(Action)’和‘转移(Goto)’指令。”
“如果,我们要,把这张表,用‘0’和‘1’的机器码,输入到‘盘古之心’里。”
“它,所占用的存储空间,将会,超过,我们之前,那个,充满了补丁的,V0.1版本编译器的,十倍以上。”
十倍!
这个数字,像一记重锤,狠狠地,砸在,每个人的心上。
他们,推倒重来,选择了,最严谨,最正确的道路。
结果,换来的,是一个,比之前,那个“怪物”,还要,庞大十倍的,新的“怪物”?
“这……这怎么可能?”
有人,无法接受这个事实。
“我们的语法,明明,已经,比之前,简洁了那么多!”
“为什么……为什么,这张表,会,这么大?”
“因为,‘简洁’,不等于,‘简单’。”
钱学敏,苦笑了一下。
他指着图纸上,一个,由,几十个状态节点,密集交织而成的,区域。
“这是,处理‘表达式’的,核心区域。”
“我们,虽然,只有‘加法’和‘乘法’,两种运算。”
“但是,因为,要处理‘括号’的嵌套,以及,它们之间的,优先级关系。”
“一个简单的表达式,A = (B + C) * D,在分析过程中,所可能产生的,状态组合,是,一个,天文数字!”
“每增加,一条规则,每增加,一个运算符。”
“这张分析表的大小,不是,线性增长的。”
“而是,指数级的,爆炸!”
指数爆炸!
这个词,让所有,在场的,搞数学和逻辑的专家们,都,倒吸了一口凉气。
他们,比任何人都清楚,这四个字,背后,所代表的,恐怖含义。
它,代表着,一种,理论上可行,但在现实中,因为,计算量,过于庞大,而,根本无法实现的,绝境。
“那……那我们,这七天,不是……”
一名专家,失魂落魄地,跌坐在地上。
“白干了?”
是的。
白干了。
他们,用最虔诚的,苦修,亲手,绘制出了一张,通往神国的地图。
结果,却发现,这张地图,本身,就是一个,他们,永远也,走不出的,迷宫。
“不……还没有结束。”
就在,所有人都,陷入绝望的时候。
钱学敏,突然,站了起来。
他的眼中,闪烁着,最后一丝,不甘的,疯狂。
“这张表,虽然,庞大。”
“但是,它是,正确的!是,无歧义的!”
“我们,只是,缺少,把它,‘装进’盘古之心的方法!”
“我们,可以,对它,进行,‘压缩’!”
“我们可以,寻找,其中的,重复模式!我们可以,用,更高效的算法,来,存储它!”
“我们,还可以,尝试,更先进的,LALR分析法!它,可以在,牺牲,极少部分,分析能力的情况下,大幅度地,减少,状态的数量!”
钱学敏,像一个,输光了所有筹码的赌徒,红着眼睛,嘶吼着。
他,不愿意,承认失败。
他,还想,再搏一次!
于是。
接下来的两周。
整个团队,又,投入到了,一场,更加疯狂的,战斗之中。
他们,开始,尝试,对那张,巨大的“逻辑迷宫”,进行,优化和压缩。
他们,发明了,各种各样,匪夷所思的,数据结构和算法。
他们,不眠不休地,进行着,新一轮的,计算和推演。
整个实验室,变成了一个,高速运转的,大脑。
每一个专家,都是其中,一个,燃烧的,神经元。
然而。
他们,面对的,是“指数爆炸”这个,数学领域里,最冷酷,最无情的,规律。
他们,所有的努力,所有的挣扎。
在那,如同,宇宙法则般,不可撼动的,指数增长曲线面前。
都显得,那么的,渺小,和,可笑。
两周后。
当他们,用尽了,所有的智慧,耗尽了,最后一丝力气。
最终,得到的,LALR分析表。
虽然,比之前,小了一些。
但,它的状态数量,依然,是一个,令人绝望的,四位数。
它,依然,是一头,以“盘古之心”那,可怜的,存储空间,根本,无法吞下的,巨兽。
那一刻。
所有的,疯狂和不甘,都,消失了。
只剩下,一片,死寂的,绝望。
钱学敏,瘫坐在,那张,画满了,无数计算公式的,草稿纸堆里。
他,看着天花板,双眼,空洞无神。
他,感觉自己,像一个,试图,用沙子,去,填平大海的,傻子。
他,终于,承认了。
有些,墙。
是,凡人,用血肉之躯,永远也,撞不穿的。
哪怕,这条路,是正确的。
他们,也,走不过去。
“仓颉”计划,第二次,停摆了。
这一次的停摆,比上一次,更加彻底,更加沉重。
上一次,他们是“知错能改”,虽然痛苦,但前路,似乎,还闪烁着希望的微光。
而这一次,他们是在,一条,被证明是,绝对正确的道路上,活生生地,被“累死”的。
这种,看得见,摸得着,却,永远无法到达的,绝望。
像一团,浓得化不开的,阴云,笼罩在,整个西山实验区的上空。
核心会议室里,烟雾,比上一次,还要浓。
聂老总,黄建功,钱学敏,还有各个小组的负责人,围坐在一起,一言不发。
每个人的面前,都摆着,那本,被视为“神之宪法”的,《华夏语言V2.0形式化文法定义》。
和,另一份,厚得像砖头一样的,《LR(1)分析表状态集完全报告》。
前者,代表着,完美的,理论。
后者,代表着,残酷的,现实。
它们,就像,天使和妖怪,被同时,摆在了桌上,形成了一种,无比讽刺的,对比。
“我……申请,引咎辞职。”
良久,钱学敏,第一个,开口了。
他的声音,沙哑,干涩,充满了,一种,被彻底击垮的,疲惫。
“我,作为一个数学家,竟然,会,一头撞死在,‘指数爆炸’这堵,最基础的,数学之墙上。”
“我,没有能力,带领大家,走出这个迷宫。”
“我,辜负了,老师的期望。”
“我,是罪人。”
他说完,就,站起身,准备,向聂老总,敬礼。
“坐下!”
黄建功,低吼了一声。
“现在,说这些,有什么用?!”
“辞职?辞职了,问题,就能解决吗?!”
“这条路,是我们,一起选的!这个坑,是我们,一起挖的!”
“要当罪人,我们,大家,一起当!”
黄建功的语气,虽然严厉,但,谁都听得出来,那其中,蕴含的,兔死狐悲的,悲凉。
他也,到极限了。
他带领的,“递归下降”小组,在,烧毁了,三台原型机之后,也,宣告了,此路不通。
他们,同样,被,“左递归”这个,看似简单,却,无法绕开的,理论幽灵,给,彻底锁死了。
两条路,都走到了,绝境。
整个“仓颉”计划,就像一艘,驶入了,百慕大三角的,巨轮。
罗盘,失灵了。
引擎,熄火了。
所有人都,被困在了,一片,名为“算法复杂度”的,无边无际的,迷雾之海里。
他们,又一次,迷路了。
而且,这一次,他们,连,求救的信号,都不知道,该如何发出。
该怎么说?
“报告老师,我们,拿到了您给的,完美地图,但是,我们,没有,能走完地图的,交通工具?”
“报告老师,我们,知道了,1+1=2,但是,我们,算不出来,一万个1,加起来,等于多少?”
这,听起来,何其的,荒谬。
何其的,可笑。
“也许……也许,是我们,太急了。”
一名年轻的专家,小声地,打破了沉默。
“也许,老师的本意,就是,想让我们,用,十年,二十年,甚至,更长的时间,去,一点一点地,把这块骨头,啃下来。”
“也许,这就是,一场,长达,一个世纪的,修行。”
这个说法,让,在场的所有人,都,沉默了。
是啊。
也许,他们,真的,太心急了。
他们,总想着,一步登天。
总想着,在几个月内,就,完成,人家,可能,需要,几代人,才能完成的,伟业。
可是……
他们,等得起吗?
国家,等得起吗?
“盘古之心”,那颗,承载了,无数期望的,神之造物,还在,冰冷的机房里,静静地,沉睡着。
它,在等待着,能够,唤醒它的,“灵魂”。
难道,要让它,就这样,一直,等下去吗?
“不!”
聂老总,猛地,一拍桌子,站了起来。
他,一直,没有说话。
他在听,他在看,他在感受,这股,弥漫在,整个团队中的,绝望的情绪。
直到,这一刻,他知道,自己,必须,做出决断了。
“我们,没有,一百年!”
“我们,甚至,没有,十年!”
“最高层,给我们的期限,就是,一年!”
“一年之内,我们,必须,让‘盘古之心’,展现出,它,应有的,价值!”
聂老总的目光,如刀锋般,扫过,在场的每一个人。
“我承认,我们,又一次,失败了。”
“我们,高估了,自己的能力。也,低估了,从‘理论’到‘工程’的,巨大鸿沟。”
“但是!”
他加重了语气。
“这,不代表,老师,是错的!”
“这,只代表,我们,这群学生,太笨!”
“笨到,连,老师出的,最基础的,应用题,都,做不出来!”
“既然,我们,做不出来。”
聂老总,深吸了一口气,仿佛,用尽了,全身的力气。
他,转过头,看向了,门口,那个,从会议开始,就,一直,像一尊雕塑般,站着的,身影。
李兴华。
“那么,就,只能,再去,麻烦,老师一次了。”
聂老总的声音里,充满了,一种,连他自己,都,不想承认的,巨大的,羞愧和无奈。
“兴华同志。”
“我知道,这,很残忍。”
“但是,为了,这个国家,为了,我们,脚下这片土地。”
“这个‘罪人’,只能,你来当了。”
李兴华,闭上了眼睛。
他,没有说话。
只是,默默地,对着,聂老总,行了一个,标准的,军礼。
然后,转身,走出了,会议室。
门外,是,深沉的,看不到,一丝光亮的,黑夜。
(https://www.yourenxs.cc/chapter/5415337/40300836.html)
1秒记住游人小说网:www.yourenxs.cc。手机版阅读网址:m.yourenxs.cc