如何在Java中绘制自动机

5

我将这个翻译为英语,第二个链接说“一组球”。。 - DanRedux
我想要做的是画一个自动机,就像这个网址上的图片:http://pop-art.inrialpes.fr/~girault/Cours/Automates/td5.html - Wassim Sboui
1
@DanRedux:那又怎样?我把它翻译成了德语,它的常用名称是“Kugelspiel”,这是那种自动机的通用名称。 - Roland Illig
图表可能使用LaTeX绘制,因此您可以这样做:从Java生成一个.tex文件,让latex完成困难的工作。 - Roland Illig
1
另一个选项:从Java生成.dot文件,然后让http://www.graphviz.org在您喜欢的任何图像格式中进行渲染。 - Riccardo T.
2个回答

7

JGraph是一个Java原生库,使用起来相当简单。或者您可以生成一个.dot文件,让GraphViz为您处理。


3

谢谢您的回答。实际上,我正在尝试解析一个XML文件,然后必须为XML文件生成正则表达式,再画出自动机。在此帖子中有一个例子:http://stackoverflow.com/questions/10395825/create-a-regular-expression-using-data-extracted-from-an-xml-file - Wassim Sboui
1
啊哈,我认为你在这里有很多工作要做。我已经用以下方式完成了类似的工作:首先,我创建了一个ANTLR规范语法来验证正则表达式和AST。然后使用从antlr获得的解析器和词法分析器,我为每个正则表达式获取了一个特定的CommonTree,遍历该树并首先构建了NFA(使用Thompson算法)。当你有了NFA之后,使用子集构造算法可以创建DFA图。 - sm13294

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接