编程语言似乎经历了几个阶段。首先,有人想出了一种新语言,Foo Language。编译器/解释器是用另一种语言编写的,通常是 C 或其他一些低级语言。在某个时候,FooL 会成熟和成长,最终有人会在某个地方为 FooL 自己编写一个编译器和/或解释器。
我的问题是:语言功能的最小子集是什么,以便有人可以自己实现该语言?
编程语言似乎经历了几个阶段。首先,有人想出了一种新语言,Foo Language。编译器/解释器是用另一种语言编写的,通常是 C 或其他一些低级语言。在某个时候,FooL 会成熟和成长,最终有人会在某个地方为 FooL 自己编写一个编译器和/或解释器。
我的问题是:语言功能的最小子集是什么,以便有人可以自己实现该语言?
一种选择是read-eval-print loop。这可用于构建许多更高级别的构造。我相信这就是 LISP 所走的路。
我不确定 C 的起源,但我认为它始于一些系统调用来实现分支、循环、赋值和单字符 I/O,并从那里构建。
我假设装配工会进行切割。
我的问题是:语言功能的最小子集是什么,以便有人可以自己实现该语言?
除了编译本身之外,没有要求该语言对其他任何事情都有用吗?我向您介绍Useless
,每个文本都是适当程序的语言,意思是“接受任何输入并自行生成的程序”(这也称为Useless
编译器)。