铁路语法图生成器

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第三方库


热门话题
javai是JAXB的新手。如何将两个具有不同名称空间的不同xml合并为一个具有根元素的xml并将其解组?   JDO中的java应该是可传递的DefaultFetchGroup吗   java服务器配置问题   java在理解JList时遇到困难   java何时将RequestContextFilter用于Jersey?   java从数据库中读取文本文件。jar文件   Java正则表达式,仅适用于不包括零的正数   爪哇番石榴。类路径中的jar   JavaEE:关于设计的问题   java GUI,在面板中排列按钮   java Android为什么使用接口被认为是活动和片段之间通信的最佳实践?   java如何获取wicket图像的url以在开放图元标记中使用它   从Java字节[]>Base64>Javascript数组缓冲>Base64>byte[]   java正则表达式帮助字符串JWE766。1.pdf格式摘录766   java Hibernate,JPA忽略@Formula