首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我应该用什么编译器作为自学习编译器原理技术的案例研究?

我应该用什么编译器作为自学习编译器原理技术的案例研究?
EN

Stack Overflow用户
提问于 2015-03-13 07:55:41
回答 2查看 430关注 0票数 0

我决定开始研究编译器理论,但问题是我想要为任何语言编写一个编译器,以便跟踪每种语言。

  • 词法分析器输出
  • 语法树
  • 中间表示
  • 代码生成。
  • 我现在不关心优化

我知道一些与我类似的关于clang和gcc的问题,我知道他们都在动态地进行词法和语法分析,只要编译器本身是用C编写的,并且运行在ubuntu x64上,我只想用任何语言编写任何编译器。

EN

回答 2

Stack Overflow用户

发布于 2015-03-13 08:19:42

有很多很多地方可以开始探索这片土地。许多语言包括编译功能或方面,如Lisp和Forth。

要了解C编译器,有一本关于LCC编译器的书,其中包括编译器的源代码。在Unix归档(tuhs.org)中也有旧C编译器的存储库。

您还可以从另一个角度来检查语言False (更著名的Brainfuck的祖先),它的设计是用很少的代码实现的。

另一个与你对复杂性理论感兴趣的角度,是学习语言的Chomsky层次结构以及能够解析它们的相关抽象机器。这将告诉您为什么Lex和Yacc是独立的工具,以及每个工具都有什么好处(以及如何自己动手,而根本不需要它们)。

实际上,我自己也在追求同样的目标。我目前正在阅读1979年出版的“Lisp解剖”一书,这本书当然包含了Lisp中的编译器代码。但是这是可以的,因为我已经有了自己的自制lisp解释器来执行它。

票数 1
EN

Stack Overflow用户

发布于 2015-03-13 09:13:36

虎语是由教授设计的。安德鲁·阿佩尔正是故意一步一步地说明一个完整的编译器构造过程.

你可以在谷歌上搜索“老虎语言”,阅读一些在线资源,这里也有一些问题/答案,但更好的选择是获得一本你喜欢的语言的书,并实现你最感兴趣的部分。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29027283

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档