现在,他们已经可以开始,用一门虽然简陋,但五脏俱全的高级语言,去设计和编写一个更加复杂的解析器了!
这种站在巨人肩膀上的感觉,实在是太美妙了!
“好!”黄建功的目光又转向了另一位负责硬件和底层逻辑的年轻天才,林逸博士。
“林逸!”
“到!”林逸立刻站得笔直。
“你的任务,是带领‘算法实现组’!将钱老他们设计出的算法,用最快的速度,转化成‘华夏-核心’的可执行代码!”
“我不管你们用什么方法!熬夜也好,三班倒也好!”
“一个月!我只要一个月的时间!”
“我要看到,一个能够完整吃下我们整部《神之宪法》,并且成功构建出语法树的‘BNF文法解析器’的第一个可用版本!”
“是!保证完成任务!”
林逸挺直胸膛,眼中燃烧着熊熊的战意。
任务分配完毕,一场全新的战斗立刻打响。
钱学敏带领着他那群最顶尖的数学和逻辑学大脑,把自己关进了算法设计室。
他们开始为BNF文法这门“元语言”,设计它的专属语法分析器。
这一次,他们没有再犯任何经验主义的错误,严格遵循着最稳妥的“递归下降”分析思路。
“BNF文法,它的结构,天生就适合递归下降。”
在设计室里,钱学敏在白板上写下了一条BNF规则。
“ ::= | ‘|’ ”
“这条规则,定义了‘规则体’,可以由一个‘表达式’,或者由一个‘规则体’,加上一个‘|’,再加上一个‘表达式’构成。”
“你看,它的递归部分,在左边。这,又是一个‘左递归’!”
一名年轻的研究员立刻指出了问题,他对于这个曾经烧毁了他们三台原型机的妖怪,心有余悸。
“没错。”钱学敏赞许地点了点头,“但是,我们现在,怕它吗?”
他神秘地笑了笑。
“我们之前怕‘左递归’,是因为我们的‘函数调用’直接在硬件层面实现,每一次调用都会消耗宝贵的硬件‘堆栈’资源。一旦陷入无限递归,硬件堆栈就会立刻被撑爆,导致系统崩溃。”
“但是,现在我们有了‘华夏-核心’!”
“我们是在一个更高的‘软件’层面,来实现我们的递归函数!”
钱学敏拿起笔,在白板的另一边,写下了一段伪代