#llvm #language #pest #cyclang #wasm

cyclang-backend

Cyclang 是一个基于 LLVM 构建的玩具语言

1 个不稳定版本

0.1.19 2024年7月13日

#747编程语言

Download history 125/week @ 2024-07-13 3/week @ 2024-07-20 4/week @ 2024-07-27

132 每月下载量
cyclang 中使用

Apache-2.0/MIT

160KB
4K SLoC

Cyclang

我用 Rust 编写的编程语言 - 主要为了娱乐和自学!使用 Rust 中的 PEG 解析器进行解析,并使用 LLVM (llvm-sys) 作为后端将代码编译成机器码二进制。请查看 用户指南 了解该语言的详细概述。

尝试在 /examples/fib.cyc 中的 Fibonacci 示例

fn fib(i32 n) -> i32 {
    if (n < 2) {
        return n;
    }
    return fib(n - 1) + fib(n - 2);
}
print(fib(20));

要运行以下命令,您需要安装 Rust。

cyclang --file ./examples/fib.cyc

这将输出 6765

安装和运行

在安装 cyclang 之前,您需要安装 LLVM 17,

对于 MacOS,请运行以下命令

brew install llvm@17

对于 Ubuntu,请安装以下软件包

  llvm-17 
  llvm-17-tools 
  llvm-17-dev 
  clang-17 
  libpolly-17-dev

然后运行 make set-llvm-sys-ffi-workaround

然后目前最简单的安装二进制的方式是通过 Rust 软件包管理器 Cargo - 查看 安装 Rust。完成以上步骤后,然后运行

cargo install cyclang

请参阅 手册 获取更详细的设置指南。

依赖项

~2.5–3.5MB
~70K SLoC