这是可以使用我们的多个免费在线工作站之一(例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器)在 OnWorks 免费托管提供商中运行的命令页面
程序:
您的姓名
页面 - 解析器生成器
概要
页 ?选项……? ?输入 ?产量??
_________________________________________________________________________________________________
商品描述
本文件所描述的应用程序, 页,实际上不仅仅是一个解析器生成器,
顾名思义,而是一个用于执行任意转换的通用工具
文本。
它的通用性来自于使用 插件 用于阅读、转换和写作
数据,Tcllib提供的预定义插件集用于生成
记忆递归下降解析器(又名 包鼠 解析器) 来自语法规范
(解析 口语 文法).
页 写在包装顶部 页面::插件管理器,将其功能包装成
基于命令行的应用程序。所有其他的 页::* 软件包是插件和/或
用于生成解析器的支持包。解析器本身基于
包 语法::挂钩, 语法::peg::interp和 语法::mengine.
指挥 LINE
页 ?选项……? ?输入 ?产量??
这是调用的通用形式 页。应用程序将读取以下内容
文件 输入,在指定的控制下处理它们 选项, 接着
将结果写入文件 产量.
If 输入 是字符串 - 要处理的数据将从中读取 标准输入 代替
文件。类似地,结果将被写入 标准输出 而不是文件如果 产量
是字符串 -。缺少输出或输入规范会导致应用程序
承担 -.
公认的详细规格 选项 部分提供
配置.
径 输入 (在)
该参数指定要处理的文件的路径
申请,或 -。最后一个值导致应用程序读取文本
, 标准输入。否则它必须存在并且可读。如果参数是
失踪 - 假设。
径 产量 (在)
该参数指定在何处写入生成的文本。它可以是
文件的路径,或者 -。最后一个值导致应用程序写入
生成记录到 标准输出.
如果文件 产量 不存在则 [file dirname $output] 必须存在
并且必须是可写目录,因为应用程序将创建文件
写给。
如果参数缺失 - 假设。
项目运营
... 阅读 ... 转换 ... 写作 - 插件 - 管道 ...
配置
本节描述应用程序用户可用的所有选项。选项
始终按顺序处理。 IE。两者的 - 帮帮我 和 - 版 指定了选项
最先遇到的优先。
在任何选项之前指定的未知选项 -rd, -wr或 -tr 会引起处理
因错误而中止。这些选项之间或最后一个选项之后出现未知选项
其中假定始终采用单个参数并与最后一个参数相关联
插件选项出现在他们之前。在所有相关插件之后将检查它们,并且
因此,他们理解的选项是已知的。 IE。如果并且这样的未知选项会导致错误
仅当与它们关联的插件选项不理解它们并且不理解时
由随后的插件选项取代。
当且仅当命令行不包含任何选项时,才使用默认选项
全部。他们将把应用程序设置为基于 PEG 的解析器生成器。确切的名单
选项是
-c 挂钩
现在是公认的选项及其论据(如果有的话):
- 帮帮我
-h
-? 当在命令行上找到这些选项之一时,所有参数都在前面
或之后被忽略。该应用程序将打印一个简短的描述
识别选项并退出。
- 版
-V 当在命令行上找到这些选项之一时,所有参数都在前面
或之后被忽略。应用程序将打印自己的修订版本并退出。
-P 此选项指示应用程序在阅读时激活视觉反馈
输入。
-T 此选项指示应用程序在读取输入时收集统计信息
并在读取完成后、处理开始之前打印它们。
-D 此选项向应用程序发出信号以激活安全库中的日志记录,以便
调试插件问题。
-r 解析器
-rd 解析器
- 读者 解析器
这些选项指定应用程序必须使用的插件来读取 输入.
如果多次使用这些选项,则将使用最后一个选项。
-w 发电机
-wr 发电机
- 作家 发电机
这些选项指定应用程序必须使用的插件来生成和
写最后的 产量。如果多次使用这些选项,最后一个将
使用。
-t 工艺
-tr 工艺
- 转变 工艺
这些选项指定要在输入上运行的插件。与读者相比,
作家每次使用都会 而不去 取代以前的使用,但将每个选定的插件添加到
转换列表,无论是在前面还是在末尾,根据最后一次看到的使用
任一选项 -p or -a。初始默认值是附加新的转换。
-a
- 附加
这些选项向应用程序发出以下信号:所有以下转换都应该是
添加到转换列表的末尾。
-p
--前置
这些选项向应用程序发出以下信号:所有以下转换都应该是
添加到转换列表的开头。
- 重启
此选项指示应用程序清除转换列表。这是
有必要消除使用的默认转换。
-c 文件
- 配置 文件
此选项使应用程序加载配置文件和/或插件。这
是一个插件,本质上提供了一组预定义的命令行选项。
它们的处理方式与指定它们来代替选项完全相同
及其论点。这意味着在开头发现了未知选项
配置文件与最后一个插件相关联,即使该插件是
在配置文件本身之前指定。相反,未知的选择即将到来
配置文件后可以与文件中指定的插件关联。
如果参数是一个无法作为插件加载的文件,应用程序将
假设其内容是选项及其参数的列表,以
空格、制表符和换行符。包含空格的选项和参数可以被引用
通过双引号 (") 和引号 (')。引号字符可以在
在带引号的字符串中将其加倍。带引号的字符串中的换行符按原样接受。
PLUGINS
页 使用四种不同类型的插件,即:读者、作家、
转换和配置。这里我们只提供基本的介绍
使用它们来自 页。可以找到插件提供的和期望的确切 API
在文档中 页面::插件管理器,对于那些希望编写自己的插件的人。
插件被指定为选项的参数 -r, -w, -t, -c,以及它们的等价物
更长的形式。参见 参考资料 部分 配置 以供参考。
每个这样的参数将首先被视为文件名,并且该文件被加载为
插件。但是,如果没有具有该名称的文件,那么它将被转换为
包的名称,然后加载该包。对于每种类型的插件
包管理不仅搜索常规路径,还搜索一组应用程序和类型
具体路径也可以。请参阅该部分 PLUGIN 全球布局 所有路径的列表
及其来源。
-c 姓名
配置。插件包的名称 姓名 is
“页面::配置::姓名".
我们有一个预定义的插件:
挂 它将应用程序设置为接受解析的解析器生成器
表达式语法并用 Tcl 编写 Packrat 解析器。实际上
它指定的参数是:
- 重启
- 附加
--读者挂钩
--转变范围
--变换使用
——作家我
-r 姓名
读者们。插件包的名称 姓名 是“页面::读者::姓名".
我们有五个预定义的插件:
挂 将输入解释为解析表达式语法 (PEG)并生成一个
它的树表示。 PEG 的语法和结构
树表示在他们自己的联机帮助页中进行了解释。
hb 将输入解释为由编写器插件生成的 Tcl 代码 hb 和
生成其树表示。
是 将输入解释为 PEG 的序列化,由
作家插件 是,使用包 语法::挂钩.
柠檬 将输入解释为 Richard 理解的语法规范
希普的 柠檬 解析器生成器并为其生成树表示。
输入语法和树表示的结构都是
在他们自己的联机帮助页中进行了解释。
树人
将输入解释为 a 的序列化 结构::树。已验证
如此,但仅此而已。这是 而不去 假设为树表示
的一个语法。
-w 姓名
作家们。插件包的名称 姓名 是“页面::作者::姓名".
我们有八个预定义的插件:
身分
只需按原样写入传入数据,无需进行任何更改。这
适合检查阅读器或转换的原始结果。
空 不生成任何内容,并忽略传入的数据结构。
树 假设传入的数据结构是 结构::树 并生成一个
所有节点的缩进文本表示,它们的父关系,
及其属性信息。
挂 假设传入的数据结构是一个树形表示 PEG
或其他语法并将其写为 PEG。结果很好
格式化并部分简化(字符串作为字符序列)。 A
本质上是漂亮的打印机,但也可用于获得规范的
输入语法的表示。
TPC 假设传入的数据结构是一个树形表示 PEG
或其他语法并写出定义包的 Tcl 代码
定义 语法::挂钩 加载时包含语法的对象
口译员。
hb 这就像作家插件 TPC,但它只写了以下语句
定义 stat 表达式和语法规则。使结果成为的代码
包裹被遗漏了。
是 假设传入的数据结构是一个树形表示 PEG
或其他其他语法,将其内部转换为 语法::挂钩 对象
并写出它的序列化。
me 假设传入的数据结构是一个树形表示 PEG
或其他语法并写出定义包的 Tcl 代码
实现基于匹配引擎的记忆递归下降解析器
(ME) 由包提供 语法::mengine.
-t 姓名
变形金刚。插件包的名称 姓名 is
“页面::变换::姓名".
我们有两个预定义的插件:
达到 假设传入的数据结构是一个树形表示 PEG
或其他其他语法。它确定哪些非终结符和规则
可以从起始符号/表达式到达。所有非终结符
未达到的将被删除。
使用 假设传入的数据结构是一个树形表示 PEG
或其他其他语法。它确定哪些非终结符和规则
能够生成一个 有限 终端符号序列(在某种意义上
上下文无关语法)。所有未被视为终结符的非终结符
在这个意义上有用的被删除。
PLUGIN 全球布局
搜索的特定于应用程序的路径 页 要么是,要么来自:
[1] 目录》〜/.page/插件"
[2]环境变量 页面插件
[3] 注册表项 HKEY_LOCAL_MACHINE\SOFTWARE\PAGE\PLUGINS
[4] 注册表项 HKEY_CURRENT_USER\SOFTWARE\PAGE\PLUGINS
搜索的特定于类型的路径 页 要么是,要么来自:
[1] 目录》〜/.page/plugin/"
[2]环境变量 PAGE__插件
[3] 注册表项 HKEY_LOCAL_MACHINE\SOFTWARE\PAGE\\PLUGINS
[4] 注册表项 HKEY_CURRENT_USER\SOFTWARE\PAGE\\PLUGINS
占位符在哪里 始终是以下值之一(正确大写)。
[1]读者
[2] 作家
[3] 变换
[4] 配置
注册表项特定于 Windows(tm) 平台,所有其他平台都将
别理他们。
环境变量和注册表项的内容都被解释为列表
路径,元素之间用冒号 (Unix) 或分号 (Windows) 分隔。
使用 onworks.net 服务在线使用页面