MovForthForth 语言编译器

联合创作 · 2023-10-02 00:50

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 的库交互
浏览 9
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报