#llvm #programming-language #pest #wasm #language

app cyclang

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

9个版本

0.1.19 2024年7月13日
0.1.18 2024年1月7日
0.1.17 2023年11月17日
0.1.15 2023年10月22日

#75编程语言

Download history 124/week @ 2024-07-12 4/week @ 2024-07-19 5/week @ 2024-07-26 1/week @ 2024-08-02

134 每月下载次数

Apache-2.0/MIT

190KB
5K SLoC

Cyclang

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

尝试在 /examples/fib.cyc 中的斐波那契示例

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

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

依赖关系

~6–15MB
~177K SLoC