Zbuduj AST z kodu C

Jak mogę zbudować AST (Abstract Syntax Tree) z kodu gcc C, aby wprowadzić pewne modyfikacje, takie jak konwersja niektórych zmiennych int do float, a następnie powtórzyć (wygenerować) składnię kodu do C.

Właściwie, na razie jedyną funkcjonalnością, jakiej naprawdę potrzebuję, jest wyodrębnienie tabeli zmiennych i ich typów z programu c składającego się z kilku linii ... Myślę, że jest to prosty parser.

Mam kilka zmiennych, takich jak:

int  var_bss ;           
float var_f_bss;            
int var_data = 4;        
float var_f_data = 5;  

I funkcja:

int Foo(){          
   some local variables;            
}    

Kod jest w jednym pliku c.

Chcę wprowadzić wszystkie zmienne do użytkownika końcowego, aby mógł wybrać typ źródła w określonym segmencie pamięci, np. int zmienne w .data. Następnie użytkownik może przekonwertować te zmienne na zmienne. Na koniec generuję ten sam kod dla użytkownika, ale z nowymi typami zmiennych, które wybrał.

questionAnswers(3)

yourAnswerToTheQuestion