无限音符编译器
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。好的起点是I8Language和NoteFormat。
除此之外,目前还没有i8c和i8x的文档
文件以及在i8c --help
和i8x --help
中看到的内容。这是
正在努力!
贡献
无限工程的主页是https://infinitynotes.org/。未来 工作是在https://infinitynotes.org/roadmap上计划和协调的。 如需帮助或报告错误,请发送电子邮件infinity@sourceware.org。