Grail似乎可用,但显然自2002年以来尚未开发。因此我的问题是:有没有人知道仍在积极开发中的类似工具? (即现代圣杯?)今天课堂上使用了什么?
我正在寻找的是一个命令行工具,它从stdin读取FSM或RegExes,应用操作,并将结果输出到Unix方式的stdout,以便您可以创建自己的管道。简单的FSM和RegEx就足够了,所以像pushdown automatas或Büchiautmatas这样的东西并不是必需的。
如果没有命令行工具,那里有好的库或图形工具吗?
谢谢!
答案 0 :(得分:3)
Vaucanson平台与OpenFst一样,提供了一个名为TAFKit的命令行工具,它可以完全满足您的要求:它从stdin读取FSM或RegExp,或者从已存储的文件中读取已经计算过的对象,对它们执行操作(大约70个)功能可用),并在stdout或文件中输出结果以供进一步处理。您可以管道,并创建shell脚本。
要下载Vaucanson 1.4.1,请转到
http://www.lrde.epita.fr/cgi-bin/twiki/view/Vaucanson/Vaucanson141
你会找到一个相当完整的用户手册。
如需进一步信息,请随时给我发邮件。
Jacques Sakarovitch
sakarovitch@enst.fr
答案 1 :(得分:2)
答案 2 :(得分:1)
jFlap是一个用Java编写的类似程序。最后一次更新是2011年5月
答案 3 :(得分:1)
查看http://www.stanford.edu/~laurik/fsmbook/home.html处的tokenize和lookup命令行工具。这些设计用于标记文本(将其分为单词)和查找单词的形态读数,但更普遍适用。
对于在OpenFst上构建的Thrax语言,可以使用如下命令行工具:
cat input1 BAB BABBAB 巴巴
cat input1 | thraxrewrite-tester --far = testrewrite.far --rule = R1 | cut -f5 -d'' 围兜 bibbib BIBA
R1在上下文b _ b中用'i'代替'a'。
答案 4 :(得分:0)
对于java,我个人使用的http://www.brics.dk/automaton/已经不在积极开发中,但它仍然被广泛使用,非常稳定且非常快。可以将正则表达式转换为自动机并应用不同的运算,例如连接,交集,并集等。然而,唯一缺失的是将自动机向后转换为正则表达式字符串。
我在dk.brics之上实现了一个库,它允许您通过状态消除从其自动机表示中派生正则表达式字符串。通过使用此库,应该可以开发上面描述的命令行工具。
如果您有兴趣,可以查看https://github.com/julianthome/autorex。
祝福和亲切的问候, 儒略