Outil traduction template operator vers C
Le
tardyp
Bonjour,
Je cherche un outil qui me permettrai de traduire automatiquement du
C++ en C.
Je suis en effet en train d'écrire un petit set de classes C++ pour
facilité la lisibilité de programmes numériques pour DSP. Cette
bibliothèque utilise le minimum de paradygmes C++ utiles dans mon cas:
- un type de donnée encapsulée dans une classe template.
- des redéfinitions d'opérateurs à la pelle
- des spécialisations de d'opeateurs templates pour optimiser certains
cas.
l'idee de base est de remplacer les
b = add(a,mult(b, add (c,d)))
par
b = a + b * (c + d)
Le probleme est que mon compilateur DSP ne supporte que le C.
Google m'a trouvé quelques gens qui parlait du vieux compilateur de
AT&T cfront, mais ne m'a pas donné le moyen de me le procurer.
Je cherche un outil qui me permettrai de traduire automatiquement du
C++ en C.
Je suis en effet en train d'écrire un petit set de classes C++ pour
facilité la lisibilité de programmes numériques pour DSP. Cette
bibliothèque utilise le minimum de paradygmes C++ utiles dans mon cas:
- un type de donnée encapsulée dans une classe template.
- des redéfinitions d'opérateurs à la pelle
- des spécialisations de d'opeateurs templates pour optimiser certains
cas.
l'idee de base est de remplacer les
b = add(a,mult(b, add (c,d)))
par
b = a + b * (c + d)
Le probleme est que mon compilateur DSP ne supporte que le C.
Google m'a trouvé quelques gens qui parlait du vieux compilateur de
AT&T cfront, mais ne m'a pas donné le moyen de me le procurer.

Poser une question


la version actuelle du langage.
Elle n'avait, entre autres, pas de notion de template, il semble donc que
ce ne soit pas l'outil que tu recherches.
Thierry Miceli
www.ideat-solutions.com
Si l'objectif est par après de maintenir en C, je ne connais
pas de bonnes solutions. Si l'objectif est de continuer à
utiliser une chaine C++ -> C -> code machine, il y a Comeau
(http://www.comeaucomputing.com) mais je ne connais pas leur
prix pour un port "custom". J'ai souvenir aussi d'avoir vu
mention d'un back-end C pour gcc, si j'ai bonne mémoire,
c'était qqch fait par des gens de chez Sun.
A+
--
Jean-Marc
FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ
C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++...index.html
Site de usenet-fr: http://www.usenet-fr.news.eu.org
CFront a eu en fait une assez longue vie.
J'ai appris les templates sur un compilateur basé CFront (Sun CC
3.?). Ce que CFront n'a jamais eu de AT&T, c'est les exceptions
(mais HP en avait modifié le leur pour les supporter).
Le plus grand problème avec un CFront solution, c'est que le
compilateur n'est plus disponible depuis environ dix ans. Alors,
même s'il lui suffisait...
L'alternatif aujourd'hui, c'est Comeau, qui se sert en général
d'un compilateur C comme back-end. Il faudrait leur contacter,
pour voir combien il démande pour cibler ton compilateur C. (Le
code C généré est rarement parfaitement portable.)
--
James Kanze GABI Software
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
| > Elle n'avait, entre autres, pas de notion de template, il
| > semble donc que ce ne soit pas l'outil que tu recherches.
|
| J'ai appris les templates sur un compilateur basé CFront (Sun CC
| 3.?). Ce que CFront n'a jamais eu de AT&T, c'est les exceptions
| (mais HP en avait modifié le leur pour les supporter).
Les templates de CFront ont été implémentés par un utilisateur (qui a
eu les spécifications des premières conceptions). Selon les dires
mêmes de ceux qui ont directement travaillé sur CFront. En
particulier, la version contenue dans 3.0 était quasiment
inutilisable, et la version 3.0.1 a dû subir les corrections de John
Spicer (qui travaillait alors à AT&T) et était le manager de CFront.
| Le plus grand problème avec un CFront solution, c'est que le
| compilateur n'est plus disponible depuis environ dix ans. Alors,
| même s'il lui suffisait...
|
| L'alternatif aujourd'hui, c'est Comeau, qui se sert en général
| d'un compilateur C comme back-end. Il faudrait leur contacter,
| pour voir combien il démande pour cibler ton compilateur C. (Le
| code C généré est rarement parfaitement portable.)
Comeau est basé sur le front-end de EDG ; ce dernier peut être adapté
à n'importe quel back-ends (ils ont un back-end C par défaut).
Mais il est vrai qu'ils ne vendent pas directement au particulier.
Le code cu compilateur est très agréable à lire et nécessite peu de
temps pour une prise en main -- contrairement, disons, à d'autres
compilateurs populaires que je connais.
-- Gaby
Il est écrit en C ou en C++ ?
--
Loïc