flex & bison

0

Uszanowanie,

mógłby ktoś powiedzieć czy flex i bison to 2 różne programy czy też jeden. Ewentualnie czym się różnią?
Od czego zacząć jeśli chcę stworzyć prosty alfabet.

2
  • Flex to generator lekserów (zwanych też analizatorami leksykalnymi) czyli programów do analizy leksykalnej
  • Bison to generator parserów (zwanych też analizatorami składniowymi) czyli programów do analizy składniowej
  • Na Flex i Bison kiedyś dodałem trzy przykładowe kalkulatory, mogą pomóc zrozumieć jak to działa
  • A Tu jest parser języka C
0

Nigdy nie starczyło mi cierpliwość na czytanie (debugowanie) kodu wygenerowanego przez flex / bison.
Moje okresowe potrzeby w budowaniu parserów zaspokaja Antlr:
a) daje czytelny kod
b) w zasadzie realizuje nie dwa, a trzy fazy: leksykalną, syntaktyczną i chodzenie po wygenerowanym drzewie (co może być nieco wolnym, ale jednak, wykonaniem skompilowanego kodu)

0

W tych programach podobno można definiować własny język (alfabet) potrzebuje własny - kilka kluczowych słów. Jak się do tego zabrać?

0
atmega napisał(a):

W tych programach podobno można definiować własny język (alfabet) potrzebuje własny - kilka kluczowych słów.

Potwierdzam, można

atmega napisał(a):

Jak się do tego zabrać?

Podstawy kompilatorów. Powinieneś spojrzeć szczególnie na wykłady o programie YACC. To pierwowzór generatora Bison

0

W tych programach podobno można definiować własny język (alfabet) potrzebuje własny - kilka kluczowych słów. Jak się do tego zabrać?

Można. Na studiach to zwykle jakieś 3 semestry zajęć. http://kompilatory.agh.edu.pl/ albo jakiś https://en.wikipedia.org/wiki/Compilers:_Principles,_Techniques,_and_Tools

1 użytkowników online, w tym zalogowanych: 0, gości: 1