解释器
PEG Parser
LL(1) Parser

https://www.cnblogs.com/ashei/p/6944483.html

编译原理:
编译原理号称有龙,虎,鲸三本圣经:龙书有中文版pdf
类似yacc这样的工具,一本叫“自制编程语言”,一本叫“两周自制脚本语言”

a) 龙书有中文版pdf。内容非常丰富,文字也易懂,我个人感觉,值得一读不愧圣经之名

b) 对于脚本解释器而言,只要看到LL(1)就行了。龙书提供了一个极度详细的算法,详细到几乎是一步一步的指导你构建一个First和Follow翻译算法。有了这个算法就可以自己构建文法分析器!

c) 关于LL(1)文法。确实LL(1)文法有许多限制的地方,比如左递归,二义性等,但是这些都是可以解决的,左递归手工慢慢消除,二义性书里也介绍了解决的方案,只要尝试一下,就可以过去。

d) 做出文法分析工具后,就只要不断的尝试去写文法说明,最终就能得到目标语言的文法分析器,进而生成语法树!这就是看龙书的收获a) 龙书有中文版pdf。内容非常丰富,文字也易懂,我个人感觉,值得一读不愧圣经之名

b) 对于脚本解释器而言,只要看到LL(1)就行了。龙书提供了一个极度详细的算法,详细到几乎是一步一步的指导你构建一个First和Follow翻译算法。有了这个算法就可以自己构建文法分析器!

c) 关于LL(1)文法。确实LL(1)文法有许多限制的地方,比如左递归,二义性等,但是这些都是可以解决的,左递归手工慢慢消除,二义性书里也介绍了解决的方案,只要尝试一下,就可以过去。
d) 做出文法分析工具后,就只要不断的尝试去写文法说明,最终就能得到目标语言的文法分析器,进而生成语法树!这就是看龙书的收获