我希望能够将所有源文件放在一个目录中,在任何符合标准的C或C++编译器下编译这些源文件,并生成一个可执行文件,该可执行文件可以读取和解释指定脚本语言的脚本文件。
许多“用C编写”的编程语言似乎都包含了很多依赖于它们所在的平台的特性,因此需要一些配置程序来根据目标系统运行(例如Autoconf),这使得事情变得复杂并限制了跨平台兼容性。
提问原因:
我对编程语言设计很感兴趣。在按照yacc、lex和llvm的教程后,我曾尝试使用一些玩具级别的编程语言。然而,最近我对研究用可移植的C/C++编写的编程语言产生了兴趣,因为这样,我可以在支持标准C或C++编译器的任何机器上研究程序和代码,并且仍然有一个相对统一的体验。
由于这只是为了教育目的,脚本语言不需要支持像C那样的超低级别特性,也不必像Java那样具有GUI(我认为你不能像标准C/C++一样编写任何类型的GUI),甚至不需要进行任何复杂的I/O操作。但是,我希望该语言足够完整,以便在语言中编写一些有用的程序是可行的(例如,应该可以使用C/C++扩展语言,以便在tty上像shell一样使用它)。
谢谢。
编辑:
@AndréCaron 我更喜欢至少语言核心是100%独立于平台的。如果语言包括大量依赖于其他库使其“更有用”的标准库,那也没关系,但是,如果我想要,我希望能够剥离标准库并仅使用语言的核心(可能是自定义手写库)。