22 个版本 (10 个重大更新)

0.12.0 2024 年 3 月 29 日
0.10.1 2024 年 1 月 29 日
0.8.0 2023 年 12 月 31 日

#175编程语言


用于 lmntal-language-server

MIT 许可证

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