Formatowanie kodu Pascala w C

0

Witam,
chce napisac program ktory formatowalby skladnie Pascala ( wciecia itp ). Rozpisalem sobie caly tok postepowania, natrafilem na 1 maly problem - otoz wczytuje do dynamicznej tablicy plik 'klucz.txt' z slowami kluczowymi (begin, end, write...), slowa te powinny byc porownane z tymi ktore sa podane w pliku do obrobki.

Porownoje je na zasadzie czytania z obrabianego pliku do momentu kiedy natrafi sie na '(' (czytanie znak po znaku) - wowczas program powinien porownac dlugosc slowa z pliku 'klucz.txt' z wczytanym slowem z pliku obrabianego i jesli sa takie same to zapisac cala linijke do momentu ';' w nowym tymczasowym pliku.

To tak w skrocie.
MOJE PYTANIE:
mozna to porownywanie jakos szybciej, prosciej rozwiazac ?

0

Może spróbuj użyć wyrażeń regularnych w pętli? Tu masz bardzo prosty i miły przykład kolorowania składni - dodasz liczenie elementów, po których ma się zwiększyć/zmniejszyć wcięcie i po sprawie :)
http://www.regular-expressions.info/examplesprogrammer.html

0
Marooned napisał(a)

Może spróbuj użyć wyrażeń regularnych w pętli? Tu masz bardzo prosty i miły przykład kolorowania składni - dodasz liczenie elementów, po których ma się zwiększyć/zmniejszyć wcięcie i po sprawie :)
http://www.regular-expressions.info/examplesprogrammer.html

hmm tylko jakos nie wiem jaka komenda obsluguje wyrazenia regularne w C, na tej stronie co podalesnie ma w spisie podanego jezyka C jako tego ktory obsluguje regulare, w moich ksiazkach tez jakos tego nie widze.

Jak masz kawalek kodu ktory by dal sie skompilowac w C (Dev-C++) to zapodaj dla przykladu.

0

Nie znam środowiska Dev-C++ ale tu masz darmową bibliotekę obsługującą pełną składnę Perla wyrażeń regularnych http://regexpstudio.com/TRegExpr/TRegExpr.html

Full source code included, pure Object Pascal. Thus, You need no DLL! The library source code is compatible with Delphi 2-7, Borland C++ Builder 3-6, Kylix, FreePascal

Jak nie możesz podpiąć tam kodu w Pascalu, to skompiluj ją jako dll i używaj dynamicznie.

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