22 个版本 (10 个重大更新)
0.12.0 | 2024 年 3 月 29 日 |
---|---|
0.10.1 | 2024 年 1 月 29 日 |
0.8.0 | 2023 年 12 月 31 日 |
#175 在 编程语言 中
315KB
7.5K SLoC
LMNtalc
LMNtal 编译器,用 Rust 编写(进行中)。
安装
从 crates.io 安装
cargo install lmntalc
从源代码安装
git clone https://github.com/lmntal/lmntalc.git
cd lmntalc
cargo install --path .
使用
lmntalc <input-file>
或
lmntalc -t <target-language> <input-file>
然后,编译后的代码将被写入与输入文件同名的文件,但扩展名为目标语言的扩展名。要指定输出文件,请使用 -o
选项。
lmntalc -t <target-language> -o <output-file> <input-file>
有关更多信息,请使用 lmntalc --help
。
特性
- 完全支持解析 HyperLMNtal。
- 在解析树级别进行简单的静态分析。
- 支持将平坦的 HyperLMNtal 编译为目标语言。
目标语言
- C++ 20
- Java 17
- Python 3.11
与 lmntal-compiler 的行为差异
表达式
a + b
在 lmntal-compiler 中与 '+'(a, b)
相同,但在 LMNtalc 中不同。
已知问题
- 顶层规则中的膜规则不支持。 即 无法使用规则生成膜。
许可证
本软件根据 MIT 许可证发布,请参阅 LICENSE。
依赖关系
~5.5MB
~88K SLoC