文件名称:RPN:小型Forth语言的编译器
文件大小:15KB
文件格式:ZIP
更新时间:2024-05-23 05:29:46
C++
关于 RPN(“逆向抛光符号”的缩写)是一种Forth类玩具语言的编译器。 它可以根据LLVM IR进行编译,并且可以自学有关LLVM和编译器的知识。 在此过程中,我还学习了一些C ++和Forth。 RPN具有受Forth启发的命令和语法,包括几个内置的堆栈操作词,定义新词和循环的能力。 它具有JIT编译的REPL,还可以用于生成独立的可执行文件(通过管道传递给clang)。 我引用了提供的“ Kaleidoscope”编译器作为该程序的基础。 我还使用了GNU项目的Gforth和作为Forth各个方面的参考(尽管RPN并不完全忠实于Forth)。 编译编译器 编译编译器需要LLVM 3.4。 鉴于LLVM的发展速度很快,如果不进行一些调整,其他版本的LLVM可能将无法工作。 如果您已经安装了适当的LLVM版本,则使用Clang,以下代码应会生成一个称为“ rpn”的可执行编译器
【文件预览】:
RPN-master
----rpn.cpp(30KB)
----examples()
--------fizzbuzz.rpn(2KB)
--------primes.rpn(625B)
--------reverse.rpn(1KB)
----README.md(12KB)