gpt4 book ai didi

c++ - 用标准 C 或 C++ 编写的解释器

转载 作者:可可西里 更新时间:2023-11-01 18:16:25 26 4
gpt4 key购买 nike

是否有任何用标准的、平台无关的 C 或 C++ 编写的可扩展的解释性编程语言?

我希望能够简单地将所有源代码放在一个目录中,使用任何符合标准的 C 或 C++ 编译器编译源代码,并生成一个可执行文件,该文件可以读取和解释指定脚本语言的脚本文件。

似乎许多“用 C 编写”的编程语言通常包含许多依赖于它们所在平台的功能,因此,需要一些配置程序根据您的目标系统(例如 Autoconf)运行,这使事情变得复杂并且限制跨平台兼容性。

问题原因:

我有兴趣学习编程语言设计。在学习了涉及 yacc、lex 和 llvm 的教程之后,我玩过一些玩具编程语言。然而,最近我对研究一种用可移植的 C/C++ 编写的编程语言产生了兴趣,这样一来,我可以在任何支持标准 C 或 C++ 编译器(甚至可能在我的 ipad 上)的机器上研究程序和代码,并且仍然具有相当统一的体验。

因为这只是出于教育目的,脚本语言不需要像 C 那样支持超底层特性,也不需要像 Java 那样具有 GUI(我不认为你可以编写任何类型的 GUI 受限到标准 C/C++)或任何复杂的 io。但是,我希望该语言足够完整,以便用该语言编写一些有用的程序(例如,应该可以使用 C/C++ 扩展该语言,以便您可以像 tty 上的 shell 一样使用它) .

谢谢。

编辑:

@AndréCaron 如果至少该语言的核心是 100% 平台独立的,我会更喜欢它。如果该语言包含一个依赖于其他库以使其“更有用”的大型标准库,那就没问题了,但是,我希望能够剥离标准库并仅使用该语言的核心(可能与自定义手写库)如果我愿意的话。

最佳答案

也许 embedded Lua ?

实际上 core Lua本身可能更好。乍一看,虽然eLua号称可以运行在多种不同的系统上意味着它具有很强的可移植性,但实际上它采用核心Lua并添加了一堆硬件驱动程序,这显然不是那么可移植。

Ocaml将是另一个绝佳的选择。它声称 "The bytecoded system currently runs on any POSIX-compliant operating system with an ANSI-compliant C compiler"Caml Light特别适合学习。 “运行时系统和字节码解释器是用标准 C 编写的,因此 Caml Light 很容易移植到几乎任何 32 位或 64 位平台。”

关于c++ - 用标准 C 或 C++ 编写的解释器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9041436/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com