无限音符编译器

i8c的Python项目详细描述


Infinity是一个独立于平台的可执行和共享系统 将功能公开给调试、监视和分析的库 工具。

在无穷大中,可执行文件和共享库文件包含infinity 除常规内容外,还有注释。每个无限音符 包含在独立于平台的指令中编码的函数 设置消耗注释的工具可以加载和执行。

这个包提供了i8c,一个用于创建对象文件的编译器 包含无限音符的。此软件包还提供i8x 可用于创建单元测试的执行环境 整理好的笔记。

安装

安装i8c和i8x的最简单方法是使用pip:

pip install -U --user i8c

或:

sudo pip install -U i8c

这两个命令中的任何一个都将安装i8c和i8x。 有PIP请参考installing pip。提示:试试这个 命令:

sudo apt-get install python-pip
sudo yum install python-pip

i8c和i8x的最新开发版本可从 GitLab。要从源代码构建和安装,请使用setup.py:

python setup.py install --user

或:

sudo python setup.py install

i8c和i8x需要python 2.6或更高版本。

许可证

i8c根据GNU通用公共许可的条款获得许可, 许可证的version 3或者(由您选择)以后 版本。

i8x是根据GNU Lesser General Public的条款授权的 许可证,或者是许可证的version 2.1,或者(由您选择) 任何更新版本。

i8x将用户提供的note测试用例加载到自身中,使 工作。lgpl允许note测试用例获得许可,但是 作者选择。

为免生疑问,i8c不与 它的输入。i8c的输入也可以获得许可,但是它的作者 选择。

注释编译器

note编译器的标准操作模式是 源代码到可以链接到可执行文件的对象文件中 或者以通常的方式共享库。这个例子将 生成文件factorial.o

cd examples/factorial
i8c -c factorial.i8

i8c同时使用gcc对其输入进行预处理(除非使用 -fpreprocessed)并组合其输出(除非使用 -E-S)。如果使用gcc,则未显式列出所有选项 byi8c --help将未经修改传递给gcc。一般来说,I8C 像gcc一样工作,所以如果您习惯使用gcc,那么i8c应该 有道理。

执行环境

i8x是一个测试无限音符的执行环境。什么时候? 调用为i8x --quick(或i8x -q)i8x执行单个注释 函数,从命令行获取参数并显示 控制台上的结果:

cd examples/factorial
i8x -i factorial.o -q "example::factorial(i)i" 5

当在没有-q--quick的情况下调用时,i8x需要一个或多个注释 要在命令行上指定的测试用例。注意测试用例是 用python编写,使用unittest单元测试的扩展 框架。测试用例使用特定的输入和 检查调用按预期进行的操作和结果。这个 示例测试在第一个 以上示例:

cd examples/factorial
i8x -i factorial.o test-factorial.py

文档

无穷大的文档目前正在 Infinity wiki。好的起点是I8LanguageNoteFormat

除此之外,目前还没有i8c和i8x的文档 文件以及在i8c --helpi8x --help中看到的内容。这是 正在努力!

贡献

无限工程的主页是https://infinitynotes.org/。未来 工作是在https://infinitynotes.org/roadmap上计划和协调的。 如需帮助或报告错误,请发送电子邮件infinity@sourceware.org

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Spring、JPA和hibernate的java问题   如何将JMC(Java任务控制)连接到ubuntu中的远程JVM?   java如何将eventListener的结果存储为对象?   java在安卓中,点击一个按钮,我如何停止发送循环中发送的消息   java打开活动中的电子邮件   使用velocity模板打印JasperReports   java无法在自定义信息窗口上拨号   java如何在jsonb postgresql中查询并转换为谓词JPA   java更好地理解J2EE环境中的异常和日志记录   java打印多个文件   java无法使用API v2 Foreman 1.7.1创建主机   HTML单一提交类型按钮在java中不起作用   java调用静态方法的实例   ViewPage中替换片段的java问题   C++在java中创建数组(2D)而不初始化内部数组   java如何在NetBeans中同时更改变量名称的多个实例?   如何完成这个关于集合的java程序   java如何选择使用selenium从下拉菜单动态生成的元素?