Mam za zadanie napisać program w C analizujący kod programu (napisanego w c), który będzie wczytywany z pliku tekstowego. Na wyjściu mam otrzymać wszystkie zadeklarowane funkcje wraz z ich typami i zmiennymi (alfabetycznie).
Z wczytaniem pliku tekstowego jakoś sobie poradziłem. Jak ma wyglądać algorytm wyszukujący? Czy w C jest coś takiego jak wyrażenia regularne? Jak mam przeszukiwać tekst i wyłuskać i zapisać tylko potrzebne informacje?
Bardzo proszę o pomoc, wskazówki...
program c
-
- Użytkownik
- Posty: 34
- Rejestracja: 9 gru 2009, o 22:49
- Płeć: Mężczyzna
- Lokalizacja: Warszawa
- Pomógł: 4 razy
program c
ja proponuje tak:
1. wczytaj tekst programu
2. usun nadmiarowe znaki biale
3. przygotuj liste z predefiniowanymi typami danych (int, double, wskazniki itp)
4. w pierwszym przejsciu rozpoznaj deklaracje typow uzytkownika i dodaj je do listy z p. 3
5. w drugim przejsiu rozpoznaj deklaracje funkcji - c ma zawsze taka sama deklaracje:
zwracany typ danych-nazwa-(lista parametrow)
wyniki mozesz zapisywac do struktury zawierajacej potrzebne dane
mozesz przyjac ze skanowany program jest poprawna skladnie - unikniesz w ten sposob sprawdzania bledow skladni
z ktorym punktem jest najwiekszy problem?
1. wczytaj tekst programu
2. usun nadmiarowe znaki biale
3. przygotuj liste z predefiniowanymi typami danych (int, double, wskazniki itp)
4. w pierwszym przejsciu rozpoznaj deklaracje typow uzytkownika i dodaj je do listy z p. 3
5. w drugim przejsiu rozpoznaj deklaracje funkcji - c ma zawsze taka sama deklaracje:
zwracany typ danych-nazwa-(lista parametrow)
wyniki mozesz zapisywac do struktury zawierajacej potrzebne dane
mozesz przyjac ze skanowany program jest poprawna skladnie - unikniesz w ten sposob sprawdzania bledow skladni
z ktorym punktem jest najwiekszy problem?
-
- Moderator
- Posty: 2828
- Rejestracja: 15 cze 2008, o 15:45
- Płeć: Mężczyzna
- Lokalizacja: Seattle, WA
- Podziękował: 3 razy
- Pomógł: 356 razy
program c
Jest jeszcze konwencja wywołania.pukindog pisze: 5. w drugim przejsiu rozpoznaj deklaracje funkcji - c ma zawsze taka sama deklaracje:
zwracany typ danych-nazwa-(lista parametrow)