形式语言操纵模块

FAdo的Python项目详细描述


什么是fado?
==


**fado**系统旨在提供一个开源的可扩展高性能软件库,用于符号化地操作自动机和其他计算模型。

ithms和可移植性(例如用于计算机网格系统)是它的主要特点。我们的主要动机是理论研究和实验研究,但我们也考虑到了构建一个教学工具来教授自动机理论和形式语言。用于操作常规语言的标准操作。正则语言可以用正则表达式(regexp)或有限自动机等形式表示。有限自动机可以是确定性的(dfa)、非确定性的(nfa)或广义的(gfa)。在**fado**中,这些表示是作为python类实现的。


对于特定的模型,还可以使用多个组合操作。

实现了这些表示之间的多个转换:

*nfa->;dfa:子集构造

*nfa->;re:递归方法

*gfa->;re:状态消除,可以选择状态排序

*re->;nfa:thompson方法、glushkov方法、follow、brzozowski和偏导数。

*对于dfas,有几种最小化算法可用:moore、hopcroft和一些增量算法。brzozowski最小化可用于nfas。

*dfas超最小化的算法

*两个dfa的语言等价性可以通过将它们对应的最小dfa减少为规范形式,或通过hopcroft和karp算法来确定。

*f的枚举一种语言的第一个单词或给定长度(横截面)的所有单词


*对dfas的过渡半群的一些支持

----
-
-
-


>有限语言的特殊方法可用:

*adfa的构造(a循环有限自动机)由一组词组成dard form(sft)可用:

*有理运算:并集、逆、反转、合成、连接、星形

*测试传感器是否工作

*输入交集和输出交集运算

-
代码
-


a*语言属性*是一组语言。给定一个由转换器指定的属性,可以进行多个语言测试。

*满足性,即如果一种语言满足属性

*最大性,即语言满足属性并且是最大的

*由转换器实现的属性包括:保留输入,输入改变、轨迹和固定属性


*使用输入改变传感器计算常规语言的编辑距离






等价性
增加了测试

*fa:固定NFA交集的操作数类型

*reex:计算SNF



>1.3.5(giessen)
==
*计算DFA的MyHill-Nerode关系(dfa.MyHillNerodePartition())


1.3.4.1
=
*修复了RAN中的错误dom生成器种子初始化(感谢héctor l palacios v<;hectorpal@gmail.com>;)

1.3.4
==
*rndfa&rndfap生成器现在接受随机生成的种子


1.3.3
=
*fa.dfa.regexp bug fixed

*watson daciuk的adfa增量最小化

*dfa可逆性测试已实施r

*fa state deletion make faster

*fa产品构造make faster


*makecode make faster


1.3.2.1
==
*解决了一些错误(感谢david purser发现它们)

<1.3.1
=
*fa.dfa.su和fa.nfa.succinttransitions修正了用于构造错误检测语言的方法uppoint()

*实现了yamada、mcnouton和glushkov到
dfa regexp.dfaymg()


*automata的json格式枚举语言

*codeprop现在是udcodeprop

*iptprop已删除

*strict concatenation implemented(dfa.sop()暂时!)

*使用nfas的二进制操作现在可以正确处理epsilonnfas

*用于有限语言的统一随机单词生成器

*实现的代码层次结构

*单词现在是对象(在commom.py中定义)


1.1
=fa.nfa.elimepsilon()中的错误

*由或产生的NFA得到两个字母的并集作为其字母表


修正了完整的错误

*xre修正了否定的上下文

*fa.dfa.hastrapstatep()添加了

*icdfa random generator flag错误修正了

*icdfa random generators现在是用python编写的

*ipython笔记本中可用的新显示方法

*Linux安装中的问题

*sft.evalwordp()返回了它应该返回的否定值。

<1.0(halifax)
----

*addstate()不再创建具有冲突名称(in t/str)
的状态。

*transducers作为字符串而不是
存储在文件中。

*yappy_parser永久表从读取问题中恢复,并且
退出shelf用法作为最后的解决方案。现在它应该可以在
所有操作系统和所有可能的条件下工作,甚至在apache
执行环境中也可以工作通过改变输入和
修正了保留输入的传感器

*添加了中缀属性

*通过导入新的yappy语法分析器更正了错误

*现在display()在mswindows中工作,"start"而不是"open"


0.9.8
==

*cover automata

*处理I/O的新FIO模块

*开始支持双向自动机

*语言的可区分性

*新的XRE(扩展正则表达式)模块


0.9.7
=

*DFA中的愚蠢错误。epr_uu()修复了

*更好地处理不完全自动机

*新的dfa和nfa文件格式

*更好地与grail+集成


>0.9.6
==


*在组合和单个操作中更正了一些随机错误

<0.9.5
=



*dfas瞄准最小转换复杂度

*新的API文档

*更好的正则表达式随机生成


>0.9.4
==


*基本(但工作)卸载。

*生成器的新设置(错误已修复)

*shufle已迁移到fa.py

*nfas的shuffle

*组合操作:shuffle corrected

*fa:添加到nfa和dfa的dump

<0.9.3
=

*前缀空闲,前缀关闭有限语言随机trie添加了

*将acyclicp重命名为acyclicp。除非通过一个严格标志作为参数,否则循环现在被排除在
测试之外。


*trimp相应地更正了

*package中的版本现在反映了正确的版本,而不是


*adfa.mi中添加的更正和简化nimal()

*随机平衡和"不平衡"trie生成

*解决了fa和fl之间存在相互包含的错误。

*dfatoadfa现在位于fl中。

*sigmainitialsegment()添加到fl中ment是一个dfa。


0.9.2
==


*grail、reex和fado的语法表现在以添加到项目中的"."

*fl.py(有限语言)开始:afa、adfa和
anfa支持

*grail+接口得到改进。现在,只有当命令有多个
参数时,才会创建一个临时文件。

*使用(至少)一个
添加了最大长度的单词(fl.py)的trie自动机的统一随机生成

*rndfa.py添加了:icdfa随机生成器的包装。

*在最小化方法中更正的错误。

*readfromfile现在支持文档中的注释。

*savetofile正确处理append标志。

*deleteState()上的错误已更正。< BR>

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

推荐PyPI第三方库


热门话题
Gson类中的java验证错误   If和elseif之间的java差异?   字典Java8地图。输入比较器   java连接到远程计算机以获得WMI支持   java如何使用改型处理JSON对象中的空值   在Java中使用Comparator时不可编译的源代码   java将Jar添加到JSP的运行时路径   带有随机对象的while循环的java大O时间复杂性   java可以在不考虑参数的情况下模拟方法吗?   java我有一个简单的代码,它不工作。无法修复错误“println”   向eclipse添加Xively java库   java是否可以启用本机代码的缓存?   全局变量如何在Java中的所有类之间共享要使用的语言环境?   Java内存游戏如何翻转单个卡?