Kompilator języka C

0

Mam oto taki program do napisania w języku C:

Napisz program który będzie analizował poprawność kodu w języku C.
Dane wejściowe: plik z kodem żródłowym
Dane wyjściowe: plik tekstowy zawierający raport z analizy.
Realizowana funkcjonalność:
Wyszukiwanie wszystkich definicji funkcji: i posortowanie ich według nazw. Przy każdej funkcji powinna być informacja o ilości argumentów i typie zwracanej wartości.

Otóż, nie wiem od czego zacząć, załadować plik będę potrafił, ale dalej ciężko :)
Czy możecie mi dać jakieś wskazówki, linki jak się do tego zabrać ?

1
  1. Szukasz gramatyki języka C
  2. Wrzucasz to do generatora parserow (np. bison)
  3. Dodajesz akcje do reguł gramatyki przy deklaracji funkcji

Przykładowo tu już gramatyka w bisonie, wystarczy dodac akcje: http://www.lysator.liu.se/c/ANSI-C-grammar-y.html

0

A tutaj masz ostatni draft standardu C11: http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf
Dodatek A to cała gramatyka.

Tutaj masz też listę generatorów: http://en.wikipedia.org/wiki/Comparison_of_parser_generators

C nie jest taki straszny, napisanie własnego parsera chyba nie powinno być ekstremalnie trudne.

0

Nie rozumiem o co chodzi z dodawaniem akcji, może ktoś wyjaśnić.

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