🚀 快速开始
5 分钟内构建 Vora 并运行你的第一个脚本。
系统要求
| 平台 | 编译器 | CMake |
|---|---|---|
| Windows | MSVC 2019+ (Visual Studio) | ≥ 3.16 |
| Linux | GCC 9+ / Clang 12+ | ≥ 3.16 |
| macOS | Apple Clang 13+ (Xcode) | ≥ 3.16 |
Vora 的核心原则是 零外部依赖——纯 C++17 + STL,无需安装任何第三方库。
构建 Vora
Windows
# 默认:x64 Debug
PS> .\build.ps1
# 指定架构和配置
PS> .\build.ps1 -Architecture x64 -Config Debug
# ARM64 发布版 + MSI 安装包
PS> .\build.ps1 -Architecture arm64 -Config Release -Package
# 32 位 x86 Debug
PS> .\build.ps1 -Architecture x86 -Config Debug
PS> .\build.ps1
# 指定架构和配置
PS> .\build.ps1 -Architecture x64 -Config Debug
# ARM64 发布版 + MSI 安装包
PS> .\build.ps1 -Architecture arm64 -Config Release -Package
# 32 位 x86 Debug
PS> .\build.ps1 -Architecture x86 -Config Debug
Linux / macOS
# 默认:x64 debug
$ ./build.sh
# 指定架构 + 配置(短标志)
$ ./build.sh -a x64 -c debug
# 发布版 + 原生打包 (.deb/.rpm/.pkg.tar.xz)
$ ./build.sh -c release -p
# 交叉编译 ARM64
$ ./build.sh -a arm64 -c release -p
$ ./build.sh
# 指定架构 + 配置(短标志)
$ ./build.sh -a x64 -c debug
# 发布版 + 原生打包 (.deb/.rpm/.pkg.tar.xz)
$ ./build.sh -c release -p
# 交叉编译 ARM64
$ ./build.sh -a arm64 -c release -p
手动 CMake 构建
# 列出所有预设
$ cmake --list-presets
# 配置 + 构建 + 测试
$ cmake --preset linux-x64-debug
$ cmake --build --preset linux-x64-debug
$ ctest --preset linux-x64-debug
$ cmake --list-presets
# 配置 + 构建 + 测试
$ cmake --preset linux-x64-debug
$ cmake --build --preset linux-x64-debug
$ ctest --preset linux-x64-debug
安装 Vora
从 Release 包安装
| 平台 | 包格式 | 安装命令 |
|---|---|---|
| Windows | .msi | 双击安装(可选自定义目录,自动注册 PATH) |
| Debian/Ubuntu | .deb | sudo dpkg -i vora-*.deb |
| Fedora/RHEL | .rpm | sudo rpm -i vora-*.rpm |
| Arch Linux | .pkg.tar.xz | sudo pacman -U vora-*.pkg.tar.xz |
| macOS | .tar.gz | tar xzf vora-*.tar.gz -C /usr/local/bin |
安装后,在终端输入 vora 即可使用(Windows 下 vora 通过 vora.cmd 启动器映射到 Vora.exe)。
运行 Vora 程序
执行脚本文件
# VM 模式(默认)
PS> vora hello.va
Hello, World!
# 解释器模式(参考实现)
PS> vora hello.va --interpreter
Hello, World!
PS> vora hello.va
Hello, World!
# 解释器模式(参考实现)
PS> vora hello.va --interpreter
Hello, World!
REPL 交互模式
PS> vora --repl
Vora REPL
> let x = 42
> x * 2
84
> print("Hello ${x}")
Hello 42
Vora REPL
> let x = 42
> x * 2
84
> print("Hello ${x}")
Hello 42
调试选项
# 打印 Token 流 & 字节码反汇编
PS> vora hello.va --tokens
# 打印 AST(S-expression 格式)
PS> vora hello.va --ast-printer
PS> vora hello.va --tokens
# 打印 AST(S-expression 格式)
PS> vora hello.va --ast-printer
你的第一个 Vora 程序
// hello.va
func greet(name) {
return "Hello, " + name + "!"
}
let names = ["World", "Vora", "你"]
for name in names {
print(greet(name))
}
func greet(name) {
return "Hello, " + name + "!"
}
let names = ["World", "Vora", "你"]
for name in names {
print(greet(name))
}
$ vora hello.va
Hello, World!
Hello, Vora!
Hello, 你!
Hello, World!
Hello, Vora!
Hello, 你!
构建架构总览
| 平台 | 支持的架构 |
|---|---|
| Windows | x64, x86 (Win32), ARM64 |
| Linux | x64, x86 (i386), aarch64 (ARM64), armhf (ARM32 硬浮点) |
| macOS | universal (x86_64 + arm64 双架构) |
提示:Vora 提供 20 个 CMake 预设(CMakePresets.json),覆盖全部平台/架构/配置组合。CI(GitHub Actions)对 18 个组合进行自动化构建和测试。