LimiT-MaTz
29-10-2008, 18:49
buongiorno a tutti,
avrei il seguente problema da sottoporvi ( spero di recuperare qualche consiglio ).
Quello che devo ottenere dato un file.c e data una funzione (puo' essere anche il main ) determinare tutte le variabili utilizzate ( nome variabile e tipo ). Nel caso sia utilizzata anche una variabile globale protrarre la ricerca negli include.
Il mio modo di procedere 'barbaro' potrebbe essere quello di leggere la porzione di codice che mi interessa e:
- cliclare al fine di leggere la dichiarazione delle variabili
- ricerca delle variabili globali ( per determinare quali sono le variabili globali: itero nel codice e per ogni token verifico che non sia una funzione ( nel formato "nomefunzione(.*)" ) e che non sia una keyword C ). una volta determinato il nome della variabile globale cercare ricorsivamente negli include la definizione in modo da trovare il tipo.
Sono abbastanza sicuro che esista qualche parser (libreria) che mi possa aiutare, ottenendo un prodotto migliore e in meno tempo.
avete qualche consiglio in merito? qualche spunto per fare delle ricerce...
grazie.
avrei il seguente problema da sottoporvi ( spero di recuperare qualche consiglio ).
Quello che devo ottenere dato un file.c e data una funzione (puo' essere anche il main ) determinare tutte le variabili utilizzate ( nome variabile e tipo ). Nel caso sia utilizzata anche una variabile globale protrarre la ricerca negli include.
Il mio modo di procedere 'barbaro' potrebbe essere quello di leggere la porzione di codice che mi interessa e:
- cliclare al fine di leggere la dichiarazione delle variabili
- ricerca delle variabili globali ( per determinare quali sono le variabili globali: itero nel codice e per ogni token verifico che non sia una funzione ( nel formato "nomefunzione(.*)" ) e che non sia una keyword C ). una volta determinato il nome della variabile globale cercare ricorsivamente negli include la definizione in modo da trovare il tipo.
Sono abbastanza sicuro che esista qualche parser (libreria) che mi possa aiutare, ottenendo un prodotto migliore e in meno tempo.
avete qualche consiglio in merito? qualche spunto per fare delle ricerce...
grazie.