Otázka:
Automatický nástroj pro řešení rekurze vlevo v CFG
marc wellman
2014-06-07 15:48:05 UTC
view on stackexchange narkive permalink

Ačkoli čelí obavám, že se někomu moje otázka nebude líbit, zná někdo užitečný nástroj k

  • řešení rekurze vlevo nebo k
  • zjednodušení

Bezkontextová gramatika automaticky?

Musím vyřešit poměrně dlouhý řetězec rekurze vlevo ve své gramatice.

Zatím jsem zkoušel tento algoritmus a tento nástroj. Oba jsou ale použitelné pouze pro menší gramatiky a poskytují prakticky nepoužitelné výsledky (1000 pravidel).

Dva odpovědi:
marc wellman
2014-06-09 16:10:29 UTC
view on stackexchange narkive permalink

Během svého výzkumu jsem našel dva vynikající nástroje pro práci s CFG, které zde chci sdílet (protože jsem si jistý, že pomohou ostatním, protože pomohly mně):

Tato aplikace odstraní cykly levého rohu z bezkontextové gramatiky je to přijatelnější pro analyzátory LL. To samozřejmě může změnit asociativitu operátorů v jazyce, a to nevyřeší problémy s prvními sadami, následnými sadami a symboly s povolenou hodnotou Null.

Umožňuje uživateli určit bezkontextovou gramatiku (buď pomocí grafického uživatelského rozhraní nebo pouze pro text). Demonstruje standardní bezkontextové normalizační algoritmy gramatiky:

  • redukovaná forma
  • Chomsky normální forma
  • přísná Chomsky normální forma
  • epsilon -free form
  • chain-rule-free form
  • Greibach normal form

Algoritmus CYK lze navíc použít na gramatiky sCNF k analyzovat slovo a generovat syntaktický strom v případě, že svět vygeneruje gramatika.

shonku
2017-01-22 20:33:58 UTC
view on stackexchange narkive permalink

Zde je další automatizovaný nástroj.

  • Snadný vstupní formát
  • Lepší výstupní formát
  • Podporuje také vícepísmenné symboly
Co se stane, když se odkaz, který jste uvedli, změní? Jak bude vaše odpověď stále platná? Odkaz byste měli používat pouze jako referenci a zahrnout co nejvíce informací.


Tyto otázky a odpovědi byly automaticky přeloženy z anglického jazyka.Původní obsah je k dispozici na webu stackexchange, za který děkujeme za licenci cc by-sa 3.0, pod kterou je distribuován.
Loading...