PDA

View Full Version : traduttore da C++ a C


mafa77
09-03-2004, 13:17
Ciao, sono uno studente di informatica e ho bisogno di un traduttore da C++ a C per la mia tesi.
Qualcuno può aiutarmi?

Grazie,
Fabio

fpucci
09-03-2004, 15:18
Originariamente inviato da mafa77
Ciao, sono uno studente di informatica e ho bisogno di un traduttore da C++ a C per la mia tesi.



Scusa ma cosa hai bisogno di fare?
Perché il C++ è come il C, tranne che (in più) usa gli oggetti.
Ma non credo che tu abbia bisogno di "tradurre" la gestione degli oggetti in C.
O no?

cionci
09-03-2004, 18:19
Beh...volendo si può fare...non è nemmeno molto complesso su oggetti semplici... Appena però si rientra sulle funzioni virtuali devi gestirti la virtual table tramite puntatori a funzioni e diventa un po' complicato...

ri
09-03-2004, 19:27
secondo me se lo si prova sul banale programma c++ che ho fatto nell'altro post (quello per ordinare file di testo), il convertitore sclera...

mafa77
09-03-2004, 20:17
grazie per aver risposto alla mia richiesta di aiuto!
Allora, mi spiego meglio:
ho bisogno di tradurre classi e metodi (con un minimo di ereditarietà, al max classe e una superclasse) poichè devo utilizzare un model checker (per il testing) che non accetta codice c++ ma solo c.
In pratica devo tradurre una decina di classi C++ (ognuna ha un file header e il file cpp) e far diventare ogni classe un programma c.
A mano sto impazzendo (classi -> struct, metodi delle classi con puntatori a funzioni e poi devo assegnare il puntatore...ecc ecc) e quindi avrei bisogno di qualche "dritta" in merito o meglio ancora di un compilatore o un tool che lo fa da solo.


Fabio

mafa77
09-03-2004, 20:18
ho dimenticato alcuni particolari:
le funzioni virtuali non mi interessano e neanche le inline.


Ciao!

ri
09-03-2004, 22:49
imho si fa prima a riscriverlo, non a tradurlo

/\/\@®¢Ø
09-03-2004, 23:03
concordo.
Al piu' si puo' automatizzare qualche cosa di ripetitivo, dal semplice "cerca e sostituisci" per trasformare i 'class' in struct, eliminare 'public' e 'private' a qualcosa di piu' evoluto a base di espressioni regolari (che vanno "regolarmente" controllate perche' ci finisce sempre dentro qualcosa di inaspettato :D).

mafa77
10-03-2004, 12:10
lo so che si fa prima a riscriverlo ma il codice non l'ho scritto io (è di una azienda). Studiarmi tutto quello che fa per poi riscriverlo è un casino (anche perchè è software embedded e non conosco bene l'hardware su cui viene eseguito)



Fabio