Jak napisać własny parser C++?

0

Jak napisać parser jezyka C++ ?

Chciałbym zrobić sobie wraper do biblioteki napisanej w C++ która jest obiektowa,
ale ze trochę sporo klas i metod to pomyślałem o jakimś automacie.

Chciałbym parsować pliki C++ już po pre-procesorze bo odpadają wtedy wszelkie #include oraz #define #ifdef .....
wiec już mam prościej ;)

Tylko teraz najtrudniejsze , jak napisać parser jezyka C++
Ktoś może doradzić jak to zrobić najlepiej ?

Wszystko w Pascal

1

Szukaj w google haseł typu "How parsers and compilers works", "c++ language standard" itp. Ogólnie, nawet jeżeli jest to tylko ćwiczenie i wydajność schodzi na dalszy plan, będzie to trudne i pracochłonne zadanie

3

Odpuść sobie pisanie własnego parsera, C++ jest jednym z trudniejszych języków do parsowania. Jeśli potrzebujesz coś zrobić z istniejącym projektem, to zamiast wymyślać koło na nowo użyj libclang.
Dobra lektura: http://eli.thegreenplace.net/2011/07/03/parsing-c-in-python-with-clang/
http://eli.thegreenplace.net/2014/07/29/ast-matchers-and-clang-refactoring-tools/ (i inne na tym blogu),
http://szelei.me/code-generator/

0

Napisanie tego wrappera będzie prawie na pewno łatwiejsze niż to co chcesz zrobić.

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