字体:大 中 小
护眼
关灯
上一章
目录
下一章
第709章 翻译神谕的凡人!
第(1/3)页
“编译器。”
当黄建功说出这个词时,会议室里的温度仿佛又一次降了下来。
如果说创造“龙语”是一场充满了哲学思辨和灵感碰撞的“文科”考试。
那么打造“编译器”就是一场冰冷的、残酷的、容错率为零的“理科”竞赛。
在场的语言学家和逻辑学家们可以为“龙语”的优雅和简洁而欢呼。
但他们对于如何将“定义 杯子”这样一行人类能够理解的文本,转换成一长串由0和1组成的机器能够执行的指令,却一无所知。
这中间横亘着一条深不见底的鸿沟。
而负责填平这条鸿沟的只能是黄建功、钱学敏、孙立国这些真正懂机器的人。
“老黄,这件事,恐怕比我们想象的,要难得多。”
夜深人静,语法设计组的专家们都回去休息后,小型的核心会议再次召开。
钱学敏的脸上写满了忧虑。
她在黑板上画了一个简易的流程图。
“一个最基础的编译器,至少要包括三个部分。”
“第一,词法分析。”
她写下这四个字。
“它需要像一个精通语法的学生,逐字逐句地阅读我们的‘龙语’源代码。它要把‘定义’、‘杯子’、‘=’、‘500’这些独立的字符串,识别成一个个有意义的‘单词’,我们称之为‘Token’。”
“这一步,相对简单。我们可以预先定义好所有的关键字和符号,然后编写一个程序去进行匹配。”
“第二,语法分析。”
她继续写道。
“在得到一连串的‘单词’之后,编译器需要像一个老师一样,去检查这些单词组合起来的‘句子’,是否符合我们‘龙语’的语法规则。”
“比如,‘定义 杯子’是合法的。但‘杯子 定义’就是非法的。‘新建’后面必须跟着一个已经被‘定义’的类名,否则也是非法的。”
“这一步,会生成一棵‘抽象语法树’(AST)。它把我们平面的代码变成了一个立体的、有层级结构的树形图,清晰地表达了代码的逻辑关系。”
“这一步,非常复杂。我们需要用到大量的关于形式语言和自动机的理论。我们之前在‘天枢’内核里做的一些工作可能会有点帮助,但还远远不够。”
“第三,也是最难的,代码生成。”
钱学敏在流程图的最后画上了一个巨大的问号
(本章未完,请翻页)
记住手机版网址:m.lewenwx.cc
上一章
目录
下一章