Lua2.4 程序分析 parser.c

这个版本的语法分析器是由工具 yacc 生成的,其相应的源文件为 lua.stx。这个不是我关注的重点,略过。
这一节这样结束有点儿寒酸,闲话几句。
yacc 的历史就不说了,yacc 类工具出现,使得程序语言分析相关的工做复杂度下降了不少。这也是以前面曾经提到过的,当时 UNIX 世界里出现了很多小语言的缘由。
在语法没有最终肯定下来以前,用 yacc 这类工具能够快速的验证本身的想法,做出一个程序原型出来。等语法稳定了,能够手写语法分析部分,这是为了提升程序的定制性和程序运行的效率,好比 Lua 就是这么作的。这也不排除 Lua 的语法比较精练,因为其语法设计的小巧而正交,在必定程序上下降了手写分析器的难度。手写分析器的主要缘由仍是为了效率,不然,对于接受过编译原理训练的人来讲写个分析器是没有多大难度的。在不是特别要求效率和健壮性的状况下,这基本至关于编译原理课的一个大做业。

再说点题外话,语法只是为了给人看的,脚本出现的缘由就是为了下降编程的门槛。若是一个语言的语法作得像是 Lisp 那样,直接就是抽象语法树的样式,根本就省了解析这一步了,上来就能够执行则省了不少事儿了。不过,显然,像这种抽象语法树样式的程序并非人人都喜欢和能轻易接受的。

闲话再也不多说,翻篇儿了。
----------------------------------------
到目前为止的问题:
> do_dump 方法里调的那几个方法又分别是干什么的?
----------------------------------------编程

相关文章
相关标签/搜索