形式语言操纵模块
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>
==
**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>