fairyscript是一种编辑手稿的语言。

fairyscript的Python项目详细描述


以剧本的形式写手稿并将其输出到 格式。

build-status

说明

fairyscript为 用明文写手稿。这些手稿可以编辑 将fairyscript转换为各种其他格式,供 其他程序或为便于人类使用。

fairyscript提供了三个主要值:

  • 将手稿存储为纯文本而不是二进制或基于xml的文件(例如 正如微软word所使用的那样)占用的空间更少。
  • 使用.fey格式可以在 必要的。
  • fairyscript提供的.fey格式比 直接被手稿执行系统使用,如ren'py。

支持的格式

Fairyscript为文件提供.fey格式。它能够 解释用这种格式写的手稿,并将它们编译成 以下格式:

  • .fey->;.rpy(ren'py脚本)
  • .fey->;.docx(word office)

安装

要将fairyscript安装到系统,请执行pip install fairyscript。 这将使fairyc命令在系统上可用。

要求:

  • python(2.7、3.3或更高版本)
  • lxml,可以从pip安装。
  • 层,可从PIP安装。

从本地下载执行fairyscript编译器 安装它,运行本地fairyc.py(并替换为executing 文档中找到了fairyc命令的此文件)。注意 必须首先解决上述依赖关系。

fairyscript还需要python docx(用于写入word文档)。 但是,原始的代码库已经被修改以支持 fairyscript需要的特性,因此它包含在 Fairyscript代码库。有关此软件包的许可证信息,请 请参阅相应的许可证文件。

编译器用法

fairyscript编译器(fairyc)用于编译.fey格式 将手稿文件转换成其他文件类型。它由 命令行。

fairyc的典型用法是编译.fey文件到 更漂亮,更可读的格式或编译.fey文件到 可执行脚本。

编辑fey手稿给ren'py:

$ fairyc renpy input_file.fey -o renpy_script.rpy

将fey手稿编译到Microsoft Office:

$ fairyc renpy input_file.fey -o my_script.docx --word

当没有参数调用时,fairyc将读取手稿 stdin中的语句,将它们编译为ren'py脚本格式,然后 输出到标准输出:

$ generate_fey | fairyc renpy | process_output

通过将每个文件作为参数传递来指定输入文件;指定 多个输入文件,传入多个参数。所有输入文件都是 按顺序阅读。如果没有输入文件, fairyc将从stdin读取。

在本例中,三个文件被编译为一个ren'py脚本:

$ fairyc renpy main_path.fey branch1.fey branch2.fey -o my_script.rpy

输出文件是用-o选项指定的。只有一个输出 可以指定文件。如果未给出-o,则fairyc将写入 输出到标准输出。请注意,由于 docx格式,编译到时不允许写入stdout Microsoft Word格式。

没有任何附加规范,fairyc将编译输入 以任人唯亲的脚本格式。这可以通过更改子命令来更改 鉴于。renpy用于指定ren'py,docx指定docx 格式化输出,lex仅指定lexer符号,ast指定 在不编译的情况下输出抽象语法树,以及analyze 对代码执行静态分析,并将结果输出为普通的 文本。

默认情况下,fairyc期望输入为fey手稿格式,但是 它还可以解析已经被解析的文件以及编译 摘要语法树。使用-f(长版本--format)选项 设置正在处理的文件类型。-f选项的参数 必须是fey才能处理fey手稿格式,lex才能处理 直接处理词汇符号,或ast处理摘要 语法树。

下面的示例分析一个文件,该文件包含预词法符号和 然后将结果编译为ren'py格式的脚本:

$ fairyc renpy -f lex script_symbols.lex -o my_script.rpy

除了上面列出的选项外,还有许多选项 特定于特定格式的编译器。一份完整的清单 选项,用-h选项调用fairyc

$ fairyc -h

费伊:fairyscript语言

文件中完整地记录了fairyscript语言 fairyscript.md 在fairyscript的docs目录中。

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

推荐PyPI第三方库


热门话题
java WebClient请求级别超时抛出名为default onErrorDropped的运算符   java JAXB外部绑定文件错误   Freemarker中的java转义宏参数值   java正在同步来自不同对象{已编辑}的线程   java如何在另一个类上更新活动中的元素   java Hibernate连接查询   java可以使用Apache Crunch创建类似于图形的数据结构吗?   java在JLabel的开头加上3个点   java 安卓应用程序显示线程错误   java@RequestBody在Spring中总是空的   java Android异步任务永远不会结束   具有多个属性的java Jaxws枚举   java中的安卓 Stripe InvalidRequestException   多线程java。util。非多线程程序中的ConcurrentModificationException   Minecraft Java插件如何删除HashMap中存储的所有块   空Java字符串的大小   从AJP连接器请求检索Shibboleth属性的java   oracle11g将Java类文件加载到Oracle数据库