Me preguntaba si hay algo así como un intérprete para C. Es decir, en una terminal Linux puedo escribir "python" y luego codificar en ese intérprete. (No estoy seguro de interpretar la palabra correcta). Esto es realmente útil para probar cosas diferentes y tengo curiosidad si algo similar existe para C. Aunque lo dudo. Lo único que puedo pensar que haría sería el shell C ...¿Hay un intérprete para C?
Respuesta
There are many - si a optimizar el alcance de su pregunta que podría ser capaz de sugerir algunas específicas a sus necesidades.
Un intérprete notable es "Ch: A C/C++ Interpreter for Script Computing" detallada en el Dr. Dobbs:
Ch es un intérprete completo en C que soporta todas las características lingüísticas y bibliotecas estándar de la ISO C90 estándar, sino que se extiende con C muchas características de alto nivel , como el tipo de cadena y matrices computacionales como objetos de primera clase .
Ch standard is freeware pero no de código abierto. Solo Ch Professional tiene las capacidades de trazado y otras características que uno podría desear.
nunca he mirado en esto antes, pero tener un intérprete de c en la mano suena muy útil, y algo que es probable que añadir a mi conjunto de herramientas. Gracias por la pregunta!
Editar:
Acabamos de descubrir que uno de mis compiladores favoritos, TCC, ejecutará C guiones:
También maneja archivos de comandos C (solo añada la línea shebang "#!/usr/local/bin/tcc -run" a la primera línea del archivo de código fuente C en Linux para que se ejecute directamente.
TCC puede leer el código fuente C de entrada estándar cuando '-' se utiliza en lugar de 'infile'. Ejemplo:
echo 'main(){puts("hello");}' | tcc -run -
Deseo que una versión de CH esté disponible bajo una licencia aprobada por OSI, por lo que podría distribuirse. Puede diseñar utilidades realmente agradables utilizando su intérprete, desafortunadamente son demasiado problemáticas para agruparlas. –
Eso estaría bien. Freeware es mejor que nada, pero hasta que alguien lo haga ... –
Curiosamente, 'tcc' sale con el estado' 10' por defecto. Parece que tiene que agregar explícitamente un 'return 0' dando' echo 'main() {puts ("hello"); return 0;} '| tcc -run -' –
cinterp
es uno para empezar.
¿Se refiere a https://github.com/danielkeller/cinterp o para http://free-compilers.sharnoff.org/TOOL/C-12.html? Un enlace mejoraría esta respuesta ... – f3lix
Probablemente. Hay varios para C++. Vea Have you used any of the C++ interpreters (not compilers)? para ejemplos. Ciertamente, cint comerá casi cualquier código c con buenos resultados, y tcc es tan rápido que puede usarlo como un intérprete.
Se ha hecho, a pesar de que la gran mayoría del trabajo se compila C. Un ejemplo es CH
Eche un vistazo al Ch Interpreter.
Ch es un C integrable/C++ intérprete para secuencias de comandos de plataforma cruzada, Shell programación, 2D trazado/3D, numérico computing, y secuencias de comandos incrustado.
El proyecto ROOT proporciona un intérprete de C y C++ muy funcional llamado Cint. Estoy muy encariñado con eso. Sin embargo, lleva un tiempo acostumbrarse un poco a la interpretación.
TCC es una muy buena opción también, pero yo no soy capaz de dar fe de su REPL
¿No está el equipo ROOT eliminando gradualmente Cint? –
@Zboson "CERN ha cambiado a un nuevo intérprete, se aferra. CINT ya no es compatible con CERN" – endolith
Sé que utilizamos CINT en clase. ¡Parecía bastante bueno, querrías intentarlo!
Pagar iGCC
picoc - Un muy pequeño C intérprete
PicoC es un muy pequeño intérprete C para secuencias de comandos. Originalmente era escrito como el lenguaje de script para el sistema de vuelo a bordo de un UAV. También es muy adecuado para otras aplicaciones robóticas, incrustadas y no integradas .
ccons parece satisfacer sus limitaciones:
El objetivo del proyecto CCONS es crear una consola interactiva para el lenguaje de programación C, similar a "pitón" y "IRB" para Python y Ruby respectivamente. El proyecto se basa en clang y llvm.
Puede usar CompCert. He aquí algunos ejemplos: http://compcert.inria.fr/man/manual004.html
- 1. ¿Hay un intérprete Objective-C para Mac?
- 2. ¿Hay un intérprete interactivo para C#?
- 3. ¿Hay un intérprete toploop mejorado para OCaml?
- 4. Referencias necesarias para implementar un intérprete en C/C++
- 5. Complemento intérprete C# para visual studio
- 6. C++ intérprete problema conceptual
- 7. ¿Hay algún compilador/intérprete para ejecutar código para php 5.3?
- 8. Lisp Intérprete en un programa en C++
- 9. Python para iOS intérprete
- 10. Necesito un intérprete de fórmula para .Net
- 11. compilador C++ intérprete/consola/snippet
- 12. ¿Hay algún intérprete de Ruby o Python para Lego Mindstorm?
- 13. ¿Hay algún intérprete de código abierto para JavaScript?
- 14. ¿Hay algún comando para detener al intérprete en Common Lisp?
- 15. Construyendo un intérprete simple
- 16. ¿Hay un intérprete javascript en el servidor, como php?
- 17. Análisis en Haskell para un intérprete simple
- 18. ¿Intérprete para el iPhone?
- 19. Intérprete de Javascript para Linux
- 20. Javascript para reemplazar intérprete Python
- 21. ¿Cómo escribir un intérprete?
- 22. ¿El INTÉRPRETE es un antipatrón?
- 23. Intérprete personalizado para expresiones matemáticas
- 24. Cómo construir eficientemente un intérprete (lexer + analizador) en C?
- 25. ¿Hay un equivalente de ipython para erlang?
- 26. Cómo incrustar el intérprete Perl en un programa C#
- 27. Quiero implementar un intérprete de esquema para estudiar SICP
- 28. ocaml intérprete
- 29. Incrustar un intérprete de Ruby en una aplicación de C++
- 30. ¿Hay un compilador como servicio para C++?
La palabra correcta para lo que desea es "cáscara" o "rápida" o "REPL" (Read-Eval-Print-Loop, en referencia a los 4 comandos Lisp que se deben unir para crear un intérprete Lisp en Lisp), pero un intérprete funcionaría. –
Como un aparte, el término que está buscando es REPL (Leer Evaluar Imprimir Loop). – Travis
duplicado de [¿Hay un REPL de programación C?] (Http://stackoverflow.com/q/10766900/309483) –