2 个不稳定版本
使用旧的 Rust 2015
0.1.0 | 2016年11月1日 |
---|---|
0.0.1 | 2016年11月1日 |
#129 in #llvm
51KB
1K SLoC
Tagua LLVM
Tagua VM 是一个实验性的用 PHP 编写的虚拟机,使用 Rust 语言 和 LLVM 编译器基础设施。
虚拟机由几个库组成。这个库,tagua/llvm
定义了针对 Tagua VM 的安全绑定到 LLVM。API 不旨在成为通用的安全绑定实现。如果您已经熟悉 LLVM 基础设施,您可能不会感到迷茫。基础设施的基础是上下文和模块,函数在模块内声明,执行引擎是 MCJIT(见 MCJIT 设计和实现)。
安装
要安装 tagua/llvm
,您必须已安装 Rust(见 Rust 安装页面)。Cargo 是 Rust 软件包管理器。
构建发布版本
$ cargo build --release
构建开发版本
$ cargo build
贡献
做你想做的。只需尊重许可证和其他贡献者。您最喜欢的工具将是
$ cargo test
运行所有测试套件(单元测试套件、集成测试套件和文档测试套件)。
看板 (Kanban)
为了了解需要做什么、正在进行什么和最近已经完成什么,看板已可用。
文档和帮助
文档已自动上传到以下地址: https://tagua-vm.github.io/llvm。
要本地生成它,请运行以下命令
$ cargo doc --open
要获得 IRC 上的帮助,请加入官方的 #taguavm
通道在 Freenode。或者,有一个 镜像房间在 Gitter。
许可证
Tagua VM 在 New BSD 许可证 (BSD-3-Clause) 下
New BSD License
Copyright © 2016-2016, Ivan Enderlin.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
* Neither the name of the Hoa nor the names of its contributors may be
used to endorse or promote products derived from this software without
specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS AND CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
依赖项
~475KB
~10K SLoC