2012-04-28 12 views
5

chcę narysować automatów z krawędziami i stanów circulaire, coś w tym http://pop-art.inrialpes.fr/~girault/Cours/Automates/td5.html mają u przykładem tegojak wyciągnąć automatów w java

+0

przetłumaczyłem to na angielski i drugi człon powiedział „Zestaw kul” .. – DanRedux

+0

co chcę zrobić, to narysować automatów jak ten http: // www .google.com/imgres? hl = en & biw = 1280 & bih = 643 & tbm = isch & tbnid = q62yfBg-2QjZ5M: & imgrefurl = http: //pop-art.inrialpes.fr/~girault/Cours/Automates/td5.html&docid=6Ro8kL90vJ_XYM&imgurl=http: //pop-art.inrialpes.fr/~girault/Cours/Automates/determine-solution.gif&w=404&h=317&ei=nDmbT634GunH0QX_2_SYDw&zoom=1&iact=hc&vpx=190&vpy=148&dur=321&hovh=199&hovw=254&tx=151&ty=114&sig=100406407692710228905&page=1&tbnh = 137 & tbnw = 175 & start = 0 & ndsp = 16 & ved = 1t: 429, r: 0, s: 0, i: 68 –

+1

@DanRedux: so? Przetłumaczyłem to na niemiecki i było to "Kugelspiel", które jest powszechną nazwą dla tego rodzaju automatu. –

Odpowiedz

6

JGraph jest biblioteką można użyć, że pochodzi z Java i dość łatwe w użyciu lub można wygenerować plik .dot i pozwolić, aby GraphViz zajął się nim za Ciebie.

2

Jeśli nie chcesz nosić ze sobą takich elementów, jak reprezentacja wykresu w prawidłowy sposób, nie próbuj przekraczać linii lub nie ma dwóch lub więcej węzłów w tej samej pozycji, sugeruję ci korzystanie z biblioteki graficznej Graala więc możesz zobaczyć wykres używając yed works (mogę ci podać przykład tego, po prostu napisz w tekście wyrażenie regularne w komentarzu), lub jeśli chcesz narysować wykres samemu, prawdopodobnie dobrze jest nauczyć się graficznego rysunku Layered: http://en.wikipedia.org/wiki/Layered_graph_drawing i Coffman Graham algorytm http://en.wikipedia.org/wiki/Coffman%E2%80%93Graham_algorithm

+0

dziękuję za odpowiedź, w rzeczywistości, ja próbuję parsować plik XMl, a potem będę musiał wygenerować wyrażenie regularne dla pliku XML, po tym muszę narysować automaty, jest przykład w tym poście http : //stackoverflow.com/questions/10395825/create-a-regular-expression-using-data-extracted-from-an-xml-file –

+1

Aha, myślę, że masz dużo pracy do zrobienia. Zrobiłem coś takiego w ten sposób: najpierw stworzyłem gramatykę specyfikacji ANTLR dla prawidłowych wyrażeń regularnych, a także AST. Następnie używając parsera i lexera, które dostałem od antlr, otrzymałem określony CommonTree dla każdego wyrażenia regularnego, przeszedłem to drzewo i najpierw zbudowałem NFA (używając algorytmu Thompsona). Kiedy masz NFA, używając algorytmu konstrukcji podzbioru, możesz utworzyć wykres DFA. – sm13294

Powiązane problemy