Tworzenie leksera za pomocą ANTLR

0

Witam

Na studiach kazali mi napisać coś takiego, ale jako że zajęcia są prowadzone w sposób bardzo chaotyczny, to niewiele z tego rozumiem. Udało mi się napisać kod z definicjami, ale mam też napisać regułę.
Pytanie: o co chodzi z tą regułą i do czego ona w ogóle jest potrzebna?
Szukałem w google jakiś informacji o tym, jak się tworzy lekser za pomocą tego narzędzie, ale nie bardzo mogę cokolwiek znaleźć. Ktoś może coś podesłać?

0

Jaką ręgułę?
Lekser czego? Czy może parser i lekser?
Lekser się tworzy uruchamiając antlr z odpowiednim plikiem z opisem gramatyki.
W wyniku dostajesz kod w jakimś języku programowania, służący do parsowania Twojej gramatyki, tak w uproszczeniu.

Pisać gramatykę możesz albo na wyczucie, posiłkując się google co 2 minuty (jak ja na początku ;) ), albo przeczytać coś porządnego (np. http://pragprog.com/book/tpantlr/the-definitive-antlr-reference).

Poza tym, pomógłbym, ale nie mam pojęcia co w sumie chcesz osiągnąć.

0

Rzecz idzie o to, że to wszystko jest proste, ale ja się pogubiłem już na początku w podstawowych pojęciach.
Otóż, wiem, iż gramatyka to jest taki plik z definicjami podstawowych słów które lekser ma "wyłapywać". W tym pliku tworzy się reguły dla tego leksera, pytanie brzmi do czego one służą?
Jeżeli wpiszę sobie np w definicji tej reguły np { while } i wklepie w antlr grun plik_leksera reguła -gui to wyświetli mi się taki ładny obrazek jakby drzewko, ale ciągle nie jarzę co on pokazuje?
Szukałem sobie w google informacji na ten temat oraz na temat tego jak się w ogóle obsługuje ten program i pisze te definicje w pliku gramatyki, ale niewiele tam tego można znaleźć.

0

@aaquillus a rozumiem że wszystkie wykłady z Teorii Języków Formalnych i Teorii Kompilacji przespałeś?

0

Chyba nawet takiego przedmiotu nie miałem, niemniej jednak próbuje sie zorientowac w tym i nadrobic zaleglosci, tylko nie wiem jak, bo ciezko o jakas literature z tego

0

Ciężko o literaturę? Raczysz żartować?
google: Teoria kompilacji
google: teoria automatów i języków formalnych
http://en.wikipedia.org/wiki/Principles_of_Compiler_Design
http://en.wikipedia.org/wiki/Compilers:_Principles,_Techniques,_and_Tools#Second_edition

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