默认冷灰
24号文字
方正启体

第618章 语法就是法律!

作者:来财来我们都发财本书字数:K更新时间:
    “第二次造字,现在开始!”


    黄建功那一声,如同洪钟大吕般的怒吼,在死寂的会议室里,久久回荡。


    它像一盆滚烫的铁水,浇进了每一个,因为失败和羞愧,而变得冰冷的心脏。


    钱学敏抬起头,抹了一把脸上的泪水,通红的眼睛里,重新燃起了火焰。


    不是之前那种,追求“人性化”的,虚浮的火焰。


    而是一种,如同苦行僧般,追求绝对真理的,虔诚的,信仰之火!


    “没错!推倒一切!重来!”


    他站了起来,声音因为激动而嘶哑。


    “我们之前,是在用‘文学’的思维,去搞‘数学’!简直是荒天下之大谬!”


    “从现在起,‘华夏’语言项目组,所有成员,必须忘掉‘自然语言’,忘掉‘编程习惯’,忘掉一切‘人性化’的糟粕!”


    “我们的脑子里,只允许存在一样东西!”


    他拿起桌上那张,被李兴华视为圣旨的白纸,高高举起。


    “就是‘它’!老师赐予的,‘形式化文法’!”


    “它,就是我们唯一的,指导思想!”


    “它,就是我们唯一的,判断标准!”


    “从今天起,语法,就是法律!”


    “任何,无法被这套‘神之笔法’完美描述的语法,都是异端!都必须被,毫不留情地,彻底清除!”


    “是!”


    语言组的专家们,齐声怒吼。


    他们脸上的茫然和委屈,一扫而空。


    取而代之的,是一种,找到了唯一真神,并愿意为之献身的,狂热!


    他们终于明白了,自己该走的路。


    不是去讨好凡人。


    而是去,诠释神谕!


    会议,立刻进入了第二阶段。


    之前的争吵和推诿,消失得无影无踪。


    取而代之的,是前所未有的,高效和统一。


    “第一条!废除所有,双字符及以上的,特殊运算符!”


    钱学敏在白板上,重重地,写下了第一条“新法”。


    “++、--、+=……所有这些,会带来词法分析和优先级困扰的‘语法糖’,全部废除!”


    “我们只保留,最基础的,+、-、*、/、=!一个字符,一个意义!清晰!明确!”


    “同意!”编译器组的专家们,第一个,举起了手,眼中,几乎要流出感动的泪水。


    他们被这些“语法糖”,折磨得太久了。


    “第二条!废除一切,可以省略的关键字和符号!”


    “IF语句,后面必须跟THEN!”


    “函数调用,必须带括号!”


    “每一句代码的结尾,必须以分号;结束!”


    “没有商量的余地!没有例外!这就是铁律!”


    “同意!”


    “第三条!严格区分‘语句’与‘表达式’!”


    “一个‘表达式’,比如A+B,它本身,永远不能,单独成为一个‘语句’!它必须,是一个赋值语句的一部分,或者一个判断语句的一部分!”


    “这从根本上,杜绝了‘表达式语句’带来的,所有歧义!”


    “同意!”


    ……


    一条条,冰冷的,不近人情的,堪称“严苛”的“法律”,被迅速地,制定出来。


    之前,那些被语言组,视为“智慧结晶”的“人性化”设计,在“语法就是法律”这把,无情的铁锤下,被砸得粉碎。


    整个“华夏”语言,被从里到外,进行了一场,刮骨疗毒般的,彻底清洗。


    它不再追求“写起来爽”。


    它只追求,在逻辑上,绝对的,纯粹和干净。


    “好了。”


    整整三个小时后,钱学敏放下了笔,看着白板上,那套,全新的,被大大精简过的,语言核心设计。


    “这就是,‘华夏’语言,V2.0版本的,基本框架。”


    “接下来,我们要做的,就是用老师赐予的‘BNF范式’,为它的每一个细节,制定出,完美的,‘宪法’!”


    他转身,看向黄建功。


    “老黄,你们编译器组,还有什么要求?”


    黄建功,看着那张,干净得,像一张白纸的,新设计。


    他沉默了良久,才缓缓地,吐出了一口气。


    那口气里,有如释重负,有感慨,更有,一种,前所未有的,轻松。


    “没有了。”


    他摇了摇头。


    “这,才是一门,‘神’,应该创造的语言。”


    “清晰,严谨,没有一丝一毫的,模糊地带。”


    “它就像,一台,用最精密的齿轮,打造的,完美的机器。”


    “我们,终于可以,放心地,为它,设计驱动程序了。”


    两个小组,在这一刻,终于,达成了思想上的,完全统一。


    他们不再是,互相指责的,两个部门。


    他们是,在同一部“宪法”下,分工合作的,“立法者”和“执法者”。


    一场,轰轰烈烈的,真正的“创世纪”,在这一刻,才算,正式拉开了序幕。


    而这一切的始作俑者,王小虎。


    此刻,正躺在灵草空间的草地上,惬意地,翘着二郎腿。


    他的面前,是一面巨大的,由灵气构成的,光幕。


    光幕上,清晰地,显示着西山实验区,那间会议室里,发生的一切。


    “嗯,孺子可教。”


    王小虎满意地点了点头。


    总算,是把这群,走歪了路的“信徒”,又给掰回了正轨。


    他能感觉到,随着西山那群专家,再一次,陷入顿悟和狂热。


    一股,比之前,更加精纯,更加庞大的信仰之力,正源源不断地,汇入他的灵草空间。


    空间中央,那个“创世沙盘”上的“盘古之心”光影,推演的速度,又加快了几分。


    “还是不够啊……”


    王小虎微微皱眉。


    “光靠顿悟,产生的信仰之力,还是太少了。”


    “信仰,是需要‘神迹’来巩固的。”


    “看来,得找个机会,再给他们,来点小小的,震撼了。”


    他的目光,穿透了光幕,落在了“创世沙盘”的另一个角落。


    在那里,静静地,躺着几份,他之前,随手扔进去的图纸。


    “创世纪”坦克的图纸,“龙王之心”粒子谐振仪的图纸,“女娲补天”原子织机的图纸……


    这些,都还只是,停留在理论上的,“神谕”。


    是时候,让它们,变成,真正的,“神迹”了。


    一个,更大胆,更宏伟的计划,开始在他的脑海中,缓缓成型。


    西山实验区,进入了一种前所未有的,宁静而狂热的状态。


    “仓颉”计划的两个核心小组,合并到了一起,成立了全新的“神之立法”委员会。


    委员会的唯一任务,就是使用老师赐予的“神之笔法”——巴科斯范式(BNF),为“华夏”语言V2.0,制定一部,完美无瑕的“宪法”。


    会议室的白板,被擦得一干二净。


    上面,不再有任何关于“人性化”、“便捷性”的讨论。


    取而代之的,是一行行,冰冷的,充满了数学之美的,形式化文法定义。


    “关于‘赋值语句’的文法,我起草了一个版本。”


    一名年轻的逻辑学家,走上前来,用一种,近乎于朝圣般的,虔诚姿态,在白板上写道:


    ::= = ;


    “一条‘赋值语句’,被定义为:一个‘标识符’,后面跟着一个等号,等号后面,跟着一个‘表达式’,最后,以分号结尾。”


    “清晰!明确!没有任何歧义!”


    “好!”钱学敏和黄建功,同时点头。


    这,就是他们想要的!


    “关于‘IF判断语句’的文法,应该是这样的。”


    另一名专家,接着写道:


    ::= IF THEN ELSE ;


    ::= IF THEN ;


    “‘IF语句’,有两种形式。一种,是带有ELSE的完整形式。另一种,是不带ELSE的简化形式。”


    “但是!”他加重了语气,“THEN关键字,是必须存在的!它就像一个,清晰的界碑,将‘条件’和‘执行体’,完美地,分割开来!”


    “这就从根本上,解决了我们之前遇到的,‘ELSE悬挂’的歧愈问题!”


    “漂亮!”黄建功忍不住,拍案叫绝。


    之前,困扰了他们一个多月的噩梦,在这套,严谨的文法面前,竟然,如此轻易地,就被化解了。


    他们感觉,自己就像一群,之前,一直试图,用手,去挖隧道的矿工。


    而现在,老师,直接给了他们一台,最先进的,盾构机!


    他们要做的,不再是,和岩石、泥土,进行艰苦的搏斗。


    而是,设定好参数,规划好路线,然后,看着这台“神之机械”,以一种,无可阻挡的姿态,向前,碾压!


    “关于‘FOR循环语句’……”


    “关于‘函数定义语句’……”


    “关于‘变量声明语句’……”


    讨论,在一种,极度亢奋,又极度严谨的氛围中,飞速进行。


    他们,就像一群,最顶尖的,法律专家。


    在为一个,全新的国度,逐字逐句地,撰写着,它的根本大法。


    每一个定义,都经过了上百次的,逻辑推演。


    每一个符号,都必须保证,在任何情况下,都不会产生,丝毫的歧义。


    他们,不再是“创造者”。


    他们是“立法者”!


    他们,在用一种,近乎于苛刻的,自我审查,去剔除掉,任何,可能动摇,这座“语法大厦”根基的,不稳定的因素。


    整整一周。


    “神之立法”委员会的会议室,灯火,彻夜未熄。


    咖啡和浓茶,消耗了一箱又一箱。


    白板上的文法,被写了又擦,擦了又写。


    终于,在第七天的黄昏。


    当钱学敏,将最后一个,代表“语句块结束”的符号,定义完毕后。


    他放下了笔,长长地,吐出了一口气。


    他转过身,看着身后,那一张张,布满了血丝,却又,闪烁着兴奋光芒的脸。


    “同志们……”


    他的声音,有些颤抖。


    “我们……成功了。”


    “《华夏语言V2.0形式化文法定义》,全篇,共计一百零八条规则,正式……完稿!”


    轰!


    整个会议室,瞬间,沸腾了!


    所有人都,从座位上,跳了起来,激动地,拥抱在一起。


    有人,在放声大笑。


    有人,在喜极而泣。


    这,是胜利的喜悦。


    更是,一种,在经历了无尽的黑暗和痛苦之后,亲手,触摸到“真理”的,巨大的,幸福感!


    黄建功,颤抖着,走到白板前。


    他看着那,满满一白板的,由BNF范式写成的,严谨而优美的“天条”。


    他感觉,自己看到的,不是一行行代码。


    而是一篇,由神明,亲手谱写的,关于“秩序”的,壮丽史诗!


    它,是完美的!


    它,是自洽的!


    它,是坚不可摧的!


    “快!”


    黄建こう激动地,对身边的助手说。


    “把它,整理成册!用最好的纸!用最清晰的字!”


    “然后,送到‘编译器’攻关组!送到每一个人的手里!”


    “这,就是我们‘仓颉’计划的,第一部,也是最根本的,神之宪法!”


    “从今天起,它,就是我们所有人,必须,无条件遵守的,最高准则!”


    当晚。


    一本,封面烫着《华夏语言V2.0形式化文法定义——神之宪法》金色大字的小册子,被连夜,印刷了出来。


    它被,郑重地,分发到了,每一个,参与“仓颉”计划的专家的手中。


    人们,捧着这本,薄薄的,不过几十页的小册子。


    却感觉,自己捧着的,是整个世界的,未来。


    他们,不再有丝毫的迷茫。


    因为,道路,已经被“宪法”,清晰地,标明。


    他们,不再有任何的争吵。


    因为,一切,都以“宪法”为,最终的,裁决标准。


    整个西山实验区,在这一刻,思想,达到了空前的统一。


    所有人的信仰,都凝聚在了,这本,由“神谕”指导,由他们亲手写就的,“宪法”之上。


    他们相信,只要,沿着这部“宪法”的指引。


    他们,就一定能,造出那个,完美的“翻译器”。


    一定能,为“盘古之心”,注入,真正的,神之灵魂!


    然而。


    他们,还是,太乐观了。


    他们,只看到了,“宪法”的光辉。


    却没有想到。


    从“宪法”,到,能够,让整个国家,完美运行的,一整套,复杂的,“司法体系”。


    中间,还隔着一道,他们,根本无法想象的,巨大的鸿沟。


    “神之宪法”的诞生,让整个“仓颉”计划,都沉浸在一种,巨大的喜悦和乐观的情绪之中。


    语言组的专家们,如释重负。


    他们,终于,完成了自己的历史使命,为这个项目,提供了,最坚实的,理论基石。


    而编译器组的专家们,更是摩拳擦掌,士气高昂。


    他们,终于,拿到了一份,清晰的,无歧义的,“施工蓝图”。


    他们迫不及待地,想要,将这部,完美的“宪法”,变成,现实中,那个,伟大的“翻译器”。


    “同志们!‘立法’的工作,已经完成!”


    在编译器攻关组的,誓师大会上,黄建功,意气风发。


    “接下来,就是我们‘执法者’的舞台了!”


    “我们,要做的,就是,把这部‘宪法’上的,每一条‘天条’,都变成,‘盘古之心’能够理解的,铁一般的,机器码!”


    “我们要,构建一个,绝对公正,绝对高效的,‘神之法庭’!”


    “任何,胆敢,违反‘宪法’的,非法代码,都将被,我们的‘法庭’,无情地,驳回!审判!”


    “是!”


    台下的年轻专家们,齐声呐喊,声震屋瓦。


    他们,已经,迫不及待了。


    然而,当他们,真正开始,将“宪法”,转化为“代码”的时候。


    那种,乐观的情绪,很快,就消失了。


    取而代之的,是一种,越来越沉重的,窒息感。


    编译器攻关组,核心实验室。


    一块,比之前,还要大三倍的巨型黑板前。


    黄建功,正带领着他的核心团队,进行着,第一步,也是最关键的一步。


    ——构建“语法分析器”。


    “我们的‘宪法’,已经,用BNF范式,完美地,定义了语言的,所有语法规则。”


    黄建功指着,旁边,一本被翻开的《神之宪法》手册。


    “但是,‘宪法’,本身,是不会动的!”


    “我们需要,一个‘程序’,来读取,用户的代码,然后,根据‘宪法’的规则,来判断,这段代码,是不是‘合法’!”


    “这个‘程序’,就是‘语法分析器’!它,就是我们‘神之法庭’的,‘主审法官’!”


    “它的任务,就是,为一段合法的代码,构建出一棵,‘语法分析树’!”


    黄建功拿起粉笔,在黑板上,写下了一行简单的代码。


    A = B + C * D;


    然后,他开始,在这行代码的下方,画一棵,树状的结构图。


    “根据我们的‘宪法’,*的优先级,高于+。”


    “所以,这棵树,应该是这样的。”


    他先画了C和D两个叶子节点,在它们上方,画了一个*节点,将它们连接起来,形成了一个小的子树,代表C * D这个“项(Term)”。


    然后,他又画了B这个叶子节点,和刚才那个*子树,在它们上方,画了一个+节点,将它们连接起来,形成了一个更大的子树,代表B + (C * D)这个“表达式(Expression)”。


    最后,他画了A这个叶子节点,和那个+子树,在它们上方,画了一个=节点,将它们连接起来,形成了一棵,完整的“赋值语句”的树。


    “看,”黄建功指着那棵,结构清晰的树,“‘语法分析器’,就是要,把一行线性的代码,变成,这样一棵,能够,清晰地,反映出,运算顺序和结构关系的,树!”


    “只要,这棵树,能被成功地,构建出来,就说明,这段代码,是‘合法’的。”


    “然后,我们的编译器,就可以,根据这棵树,去生成,最终的,机器码了。”


    台下的专家们,都点了点头。


    这个道理,不难理解。


    “那么,问题来了。”


    黄建功的表情,突然,变得严肃起来。


    “我们,该如何,用‘0’和‘1’,去编写出,这个,能够,自动构建‘语法分析树’的,‘主审法官’呢?”


    “它,要如何,读取代码?”


    “它,要如何,应用,我们‘宪法’里,那一百零八条,复杂的,甚至是,递归的规则?”


    “它,在遇到,一个‘+’号的时候,是要,立刻进行计算?还是,要,先看看,后面,有没有,优先级更高的‘*’号?”


    “当它,在构建树的过程中,发现,用户的代码,不符合‘宪法’时,它要如何,准确地,定位到,错误的位置,并且,给出,清晰的,报错信息?”


    一个个问题,被黄建功,抛了出来。


    会议室里,渐渐地,安静了下来。


    刚才,那股,冲天的豪情,在这些,冰冷的,具体的技术难题面前,迅速地,冷却。


    他们,突然,意识到了一个,之前,被狂喜,所掩盖的,恐怖的事实。


    他们,虽然,有了“宪法”。


    但是,从“宪法”,到,一个,能够,完美解释和执行宪法的,庞大的,“司法系统”(法院、检察院、警察局……),中间,还隔着,十万八千里!


    而现在,他们要做的,就是,用最原始的工具——“0”和“1”的机器码,去,从无到有,徒手,搭建起,整个“司法系统”!


    这,和他们,之前,试图,用机器码,去实现,那个,充满了“补丁”的,V0.1版本的编译器,在工作量上,有区别吗?


    没有!


    甚至,因为“宪法”V2.0,更加严谨,更加复杂,这个工作量,可能,会更大!


    所有人的心,都,一点一点地,沉了下去。


    他们,好像,只是,从一个坑里,爬了出来。


    然后,又掉进了,另一个,更深,更绝望的坑里。


    “老黄……”


    钱学敏的嘴唇,有些发干。


    “你的意思是……我们,还是要,用手,去,一点一点地,把这个‘语法分析器’,给,‘写’出来?”


    黄建功,沉默了。


    他,没有回答。


    但他的沉默,本身,就是,最残酷的,回答。


    是的。


    他们,别无选择。


    他们,必须,用自己的双手,去,一砖一瓦地,搭建起,这座,名为“语法分析器”的,通天神殿。


    推倒重来的阵痛,在这一刻,才,真正地,降临。
(←快捷键) <<上一章 投推荐票 回目录 标记书签 下一章>> (快捷键→)