111 votes

Existe-t-il un interprète pour le C ?

Je me demandais s'il existe quelque chose comme un interpréteur pour le C. C'est-à-dire que dans un terminal Linux, je peux taper "python" et ensuite coder dans cet interpréteur. (Je ne suis pas sûr qu'interpréter soit le bon mot). C'est vraiment utile pour tester différentes choses et je suis curieux de savoir si quelque chose de similaire existe pour le C. Bien que j'en doute. La seule chose à laquelle je pense qui pourrait le faire serait le shell C...

5 votes

Le mot correct pour ce que vous voulez est "shell" ou "prompt" ou "REPL" (Read-Eval-Print-Loop, en référence aux 4 commandes Lisp qui doivent être jointes pour faire un interpréteur Lisp en Lisp), mais un interpréteur fonctionnerait.

1 votes

Soit dit en passant, le terme que vous recherchez est REPL (Read Evaluate Print Loop).

0 votes

71voto

Adam Davis Points 47683

Il existe de nombreux - Si vous précisez le champ de votre question, nous pourrons peut-être vous suggérer des solutions spécifiques à vos besoins.

Un interprète notable est " Ch : Un interpréteur C/C++ pour l'informatique script " détaillé dans le Dr. Dobbs :

Ch est un interprète C complet qui supporte toutes les fonctionnalités du langage et bibliothèques standard de la norme ISO C90 mais étend C avec de nombreuses fonctionnalités de haut niveau telles que les et les tableaux de calcul comme objets de première classe.

La norme Ch est un freeware mais pas open source. Seul Ch professional dispose des capacités de traçage et des autres fonctionnalités que l'on peut souhaiter.

Je n'ai jamais regardé cela avant, mais avoir un interprète c sous la main semble très utile, et quelque chose que je vais probablement ajouter à ma panoplie d'outils. Merci pour la question !


Edit :

Je viens de découvrir que l'un de mes compilateurs préférés, TCC exécutera des scripts C :

Il gère aussi les fichiers C script (juste d'ajouter la ligne shebang "#!/usr/local/bin/tcc -run" à la première ligne de votre fichier de code source C sous Linux pour qu'il soit exécuté directement.

TCC peut lire le code source C de l'entrée standard lorsque '-' est utilisé à la place de 'infile'. Exemple :

echo 'main(){puts("hello");}' | tcc -run -

2 votes

J'aimerais qu'une version de CH soit disponible sous une licence approuvée par l'OSI, afin qu'elle puisse être distribuée. Vous pouvez concevoir des utilitaires vraiment sympas en utilisant leur interpréteur, mais malheureusement ils sont trop problématiques pour être empaquetés.

0 votes

Ce serait bien. Un logiciel gratuit est mieux que rien, mais jusqu'à ce que quelqu'un le fasse...

0 votes

Bizarrement, tcc quitte avec le statut 10 par défaut. Il semble que vous deviez ajouter explicitement un fichier return 0 donner echo 'main(){puts("hello"); return 0;}' | tcc -run -

18voto

aleroot Points 30853

picoc - Un tout petit interprète C

PicoC est un très petit interpréteur C pour les scripts. Il a été initialement écrit comme langage script pour le système de vol embarqué d'un UAV. Il convient également très bien à d'autres applications robotiques, embarquées et non embarquées. robotiques, embarquées ou non.

9voto

IfLoop Points 59461

Le projet Root fournit un interpréteur C et C++ très fonctionnel appelé Cint . J'en suis très friand. Il faut un peu de temps pour s'habituer à l'interprétation, cependant.

TCC est également un très bon choix, mais je ne suis pas en mesure de me porter garant de son REPL.

1 votes

L'équipe Root n'élimine pas progressivement Cint ?

0 votes

@Zboson "Le CERN est passé à un nouvel interpréteur, cling. CINT n'est plus supporté par le CERN"

0 votes

Root a remplacé cint par cling. Donc cling peut être considéré comme une recommandation mise à jour. (cependant - voir d'autres réponses - cling est C++, pas C, si cela est pertinent, bien qu'il me semble que cint ait aussi fait du C++).

8voto

dmckee Points 50318

Probablement. Il en existe plusieurs pour c++. Voir Avez-vous utilisé l'un des interpréteurs C++ (pas les compilateurs) ? par exemple. Certainement cint mangera presque n'importe quel code c avec de bons résultats, et tcc est si rapide que vous pouvez l'utiliser comme un interprète.

7voto

CMS Points 315406

Jetez un coup d'œil à la Ch Interprète .

Ch est un interpréteur C/C++ embarquable pour les scripts multiplateformes, la programmation shell, le traçage 2D/3D, le calcul numérique numérique et les scripts embarqués.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X