【发布时间】:2012-07-29 23:53:06
【问题描述】:
我对操作系统、算法、数学证明软件正确性等低级概念很感兴趣。
最让我感兴趣的是编译器。我开始了解它们,并希望为了学习而实现一个玩具编译器,也许结果证明这是一件大事(你永远不知道,对吗?)。
我的目标是实现类似于 lua 的静态类型、线程感知编程语言(当然,第一个目标是具有基本堆栈操作的解释器)。不过我的问题是我对 c、c++ 或 pascal 等低级语言几乎没有兴趣,我想知道是否可以在动态类型环境中为静态类型语言实现编译器?
我有兴趣在 lua 或 python 中实现这样的语言(不过 lua 更适合我)。
【问题讨论】:
-
当然,这是可能的。编译器只是一个将字符串转换为其他字符串的程序,通常通过语法树,这是大多数高级语言都可以做到的。但是,您必须了解您正在编译的语言 to...
-
我建议您尝试一下,看看您能在一天内弄清楚什么,然后一周。完成后,您将获得比从其他任何地方获得的更多问题的答案。
-
Yes.