pytanie do uzytkownika Mariusz
Filip: Pytanie do uzytkownika Mariusz
Miales stycznosc/pisales analizator skladni w C?
Na przyklad wyobrazmy sobie, ze mamy zawarty kod w dwoch plikach:
Plik fa.c
int fa( int x ) {
return 2*x;
}
Plik p.c
int fa( int );
int fb( int );
int main( ) {
int i= 5;
printf( "funkcjaa(%i)=%i", i, fa(i) );
printf( "funkcjab(%i)=%i", i, fb(i) );
printf( "funkcjac(%i)=%i", i, fc(i) );
printf( "jeszcze raz funkcjab(%i)=%i", i, fb(i) );
return 0;
}
int fb( int x ) {
x= fc(x);
return 2*fa(x);
}
Po przeczytaniu tych plikow program powinien wypisywac cos w rodzaju:
Funkcja fa:
Prototyp:
plik p.c od linia 1 do linia 1
Definicja:
plik fa.c od linia 1 do linia 3
Użycie:
plik p.c od linia 6 do linia 6
Wywołuje:
brak
Funkcja fb:
Prototyp:
plik p.c od linia 2 do linia 2
Definicja:
plik p.c od linia 13 do linia 16
Użycie:
plik p.c od linia 7 do linia 7
plik p.c od linia 9 do linia 9
Wywołuje:
fc
fa
Funkcja main:
Prototyp:
brak
Definicja:
plik p.c od linia 4 do linia 11
Użycie:
brak
Wywołuje:
printf (4 razy)
fa
fb (2 razy)
fc
2 sty 18:07
Dziadek Mróz:
Nawet tego nie skompiluje, co to jest fc()
2 sty 19:44
Filip:
One nie sa do kompilacji. Program (ktory po czesci mam napisac) ma byc wywolany z lista
argumentow − nazw plikow zawierajacych kod w jez. C. Program ma za zadanie czytac te pliki i
na ich podstawie budowac strukture danych okreslajaca z jakich ufnkcji sklada sie analizowany
kod i jak te funkcje sa powiazane wywolaniami. No i na zakonczenie program powinien wypisywac
drzewo wywolan funkcji. Na gorze wlasnie podalem taki przyklad.
Jak znasz sie na jezyku C, to byloby milo (oczywiscie nie nalegam) abys przylaczyl sie do
dyskusji
Oczywiscie podesle wiecej informacji/moj kod ktory dotychczas napisalem, jak bedzie
zainteresowanie tematem
2 sty 20:07