MovForthForth 语言编译器
MovForth 将 Forth 源代码编译为可执行的二进制文件。使用 LLVM IR 作为中间目标,是将 Forth 适配到现代编译器库和现代架构的实验。
- 自下而上编译;没有字典或解释器保留在最终可执行文件中
- 即时词的编译时评估让程序员可以无惧使用元编译
- 编译为 LLVM IR 允许编译为几乎任何架构
- 用于 Forth 代码的现代 LLVM 优化过程
你可以在下面找到 Forth 源代码及其对应的编译形式 Examples/
安装
- 克隆仓库
git clone https://github.com/Reschivon/movForth
- 在包含路径中找到 LLVM(使用 llvm-10 及更高版本)。在带有包管理器的平台上,这就像一个命令一样简单。下面是为 ubuntu 安装 LLVM 的命令。
sudo apt install llvm
- 构建为 CMake 项目(版本 3 或更高版本应该可以)
cd movForth
mkdir build && cd build
cmake ..
make -j4
运行
main.cpp
文件编译为一个简单的 movForth 命令行实用程序。语法是:
movForth [source file]
假设您有一个名为build
的 cmake 构建目录,示例用法是:
build/movForth Examples/fibonacci/source.fs
未来功能:
- 基准测试
- 将 movForth 标准化为尽可能接近“常规” Forth
- 动态链接,因此可以使用某些编译词进行交互式 Forth
- 与遵循 C ABI 的库交互
评论