2013-02-09 16 views
5

Szukam sposobu na uzyskanie tabeli symboli programu w języku C. Poszukuję zmiennych globalnych i lokalnych oraz ich zakresu itp.Wyodrębnianie tabeli symboli za pomocą języka

Czy w programie clang dostępna jest opcja lub interfejs API do zrzucania tych informacji? Lub dowolne inne środowisko kompilacyjne, które ułatwia to zadanie.

Odpowiedz

1

Jestem pewna, że ​​Clang ma zestaw interfejsów zapewniających dostęp do informacji o tablicy symboli. Rozumiem, że nie ma zbyt wiele dokumentacji, więc po prostu trzeba sprawdzić kod źródłowy.

GCCXML robi to dla definicji najwyższego poziomu. Nie zawiera informacji o zawartości funkcji (np. Nie można uzyskać lokalnych). Otrzymujesz XML, a potem jesteś sam.

Nasz zestaw narzędzi do projektowania oprogramowania DMS zawiera pełne parsery dla różnych dialektów języka C i tworzy tabele symboli. Jeśli chcesz je zrzucić, dobrze udokumentowane interfejsy API symboli symboli ułatwiają wyliczanie członków. Zwykle ludzie chcą mieć coś z takimi informacjami, jak na przykład generowanie lub modyfikowanie kodu. DMS zapewnia rozległą infrastrukturę wspierającą tworzenie bardziej zaawansowanych analiz (włączając w to lub sterowanych przez tę strukturę tabeli symboli) i/lub modyfikując kod.

Powiązane problemy