解析工具包。创建有据可查的语法。
aptk的Python项目详细描述
aptk-一个解析工具包
==========
这是一个从语法创建解析器的模块。aptk的目标是以非常“文档化”的方式实现
。因此,您可以在语法类的doc string中定义语法,甚至在重构的文本文档中也可以定义语法。highlight::aptk
一个简单的问候语分析器示例::
:语法问候语语法
<;问候语>;:=<;问候语子句>;.ws>;<;问候语>;
<;ws>;:=\s+
<;问候语子句>;:=“你好”;“嗨”
<;问候语>;:=\w+
这将创建一个名为“greetinggrammar”的类。
语法中的第一条规则将用作正常解析的开始规则。分析一个
规则,将得到一个parseTree。下面是规则
``<;greeting>;``匹配“hello world”的示例:
<;greeting>;~“hello world”
->;greeting(
greeting子句('hello'),
greeting('world')
实际上,您在上面看到的是应用规则的测试断言问候
字符串“hello world”,这将导致上面显示的解析树
。
_ aptk的文档:http://aptk.readthedocs.org
download
--
_ pypi::http://pypi.python.org/pypi/aptk下载
…highlight::bash
或使用easy_install安装它::
easy_install-u aptk
>或从bitbucket.org的源代码库获取源代码::
$hg clone https://bitbucket.org/klorenz/aptk
building documentation
Sphinx,您可以使用::
$easy廑install-u sphinx
然后您可以::
$cd docs
$make html
$firefox廑build/html/index.html
license
----
see LICENSE.txt.
Release Notes
-------------
======= =================================================================
Version Notes
======= =================================================================
0.6.4 fix setup issue
0.6 Backtracking for Operation Precedence
0.5.7 add 注释
0.5.4后循环的第一个测试通过,更多测试,清理代码一点
<0.5.3添加了操作优先解析器。虽然非常简单,但支持
中缀、后缀、前缀和外接操作。PostCircumFix也被实现了,但没有在所有其他地方进行测试。
0.5版开始,这表明还有很多事情要做。
它们已经过时了。
下一个版本将着重于文档和测试,并添加
一个运算符进位分析器。
==========
这是一个从语法创建解析器的模块。aptk的目标是以非常“文档化”的方式实现
。因此,您可以在语法类的doc string中定义语法,甚至在重构的文本文档中也可以定义语法。highlight::aptk
一个简单的问候语分析器示例::
:语法问候语语法
<;问候语>;:=<;问候语子句>;.ws>;<;问候语>;
<;ws>;:=\s+
<;问候语子句>;:=“你好”;“嗨”
<;问候语>;:=\w+
这将创建一个名为“greetinggrammar”的类。
语法中的第一条规则将用作正常解析的开始规则。分析一个
规则,将得到一个parseTree。下面是规则
``<;greeting>;``匹配“hello world”的示例:
<;greeting>;~“hello world”
->;greeting(
greeting子句('hello'),
greeting('world')
实际上,您在上面看到的是应用规则的测试断言问候
字符串“hello world”,这将导致上面显示的解析树
。
_ aptk的文档:http://aptk.readthedocs.org
download
--
_ pypi::http://pypi.python.org/pypi/aptk下载
…highlight::bash
或使用easy_install安装它::
easy_install-u aptk
>或从bitbucket.org的源代码库获取源代码::
$hg clone https://bitbucket.org/klorenz/aptk
building documentation
Sphinx,您可以使用::
$easy廑install-u sphinx
然后您可以::
$cd docs
$make html
$firefox廑build/html/index.html
license
----
see LICENSE.txt.
Release Notes
-------------
======= =================================================================
Version Notes
======= =================================================================
0.6.4 fix setup issue
0.6 Backtracking for Operation Precedence
0.5.7 add 注释
0.5.4后循环的第一个测试通过,更多测试,清理代码一点
<0.5.3添加了操作优先解析器。虽然非常简单,但支持
中缀、后缀、前缀和外接操作。PostCircumFix也被实现了,但没有在所有其他地方进行测试。
0.5版开始,这表明还有很多事情要做。
它们已经过时了。
下一个版本将着重于文档和测试,并添加
一个运算符进位分析器。