铁路语法图生成器

syntrax的Python项目详细描述


http://kevinpt.github.io/syntrax/_static/syntrax_icon.png

syntrax

syntrax是一个铁路图表生成器。它创建了用于编程语言的语法的可视化说明。规范文件将语法描述为基本元素的层次结构。这将被处理成一个图像,表示具有互连气泡的相同语法。

规范是一组嵌套的python函数调用:

indentstack(10,
  line(opt('-'), choice('0', line('1-9', loop(None, '0-9'))),
    opt('.', loop('0-9', None))),

  line(opt(choice('e', 'E'), choice(None, '+', '-'), loop('0-9', None)))
)

这由syntrax处理以生成svg图像:

http://kevinpt.github.io/syntrax/_static/json_number.png

json数字语法

syntrax可以渲染为png位图图像或svg、pdf、ps和eps矢量图像。svg输出可以有hyperlinked text允许用户快速导航到不同语法元素的文档。

syntrax是用于SQLite documentation的铁路图生成器的一个经过大量修改的版本。生成器已移植到python,转换为使用cairo渲染后端,并通过可配置的布局选项进行了增强。

要求

syntrax需要python 2.7或python 3.x、pycairo和pango。

安装脚本取决于安装工具,如果 当前不在您的python发行版中。来源是写在 Python2.7语法,但在安装程序 通过2to3。

使用pango库计算文本布局的维度。没有安装pango-python绑定的标准包。它是gtk+库的一部分,可以通过pygtk或pygobject api访问,syntrax支持这两种api。在安装syntrax之前,您应该确保其中一个库可用。有一个Windows installer可用。对于linux发行版,您应该使用包管理器安装相关的库。

下载

您可以从Github访问syntrax git存储库。您可以使用“pip”从pypi直接安装 命令(如果有)。

文件

完整的文档可以在main Syntrax site上在线获得。

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

推荐PyPI第三方库


热门话题
java限制C++代码访问JNI中的某些类   Android上的java DateFormat:不可解析的日期   通过json进行java迭代,并为其他请求调用多个API   Netbeans中的java JavaFX项目引发异常“输入流不能为null”   多线程Java newFixedThreadPool解释   |在java字符串中无法识别。split()方法   Java中的原始包装器类是否被视为引用类型?   Java swing。如何在intellij idea GUI设计工具中重写组件方法   数组乘矩阵   java将30GB的XML文件分割成小块XML   java通过一棵树递归找到一个节点,并返回指向该节点的路径   java如何将可观察的<Observable<List<T>>转换为可观察的<List<T>>   使用java在web服务器上更改php文件中的字符串?   java希望开发像tomcat这样的servlet容器   java希望提高编程的数学技能