Mi stavo chiedendo se c’è qualcosa come un interprete per C. Cioè, in un terminale Linux posso digitare “python” e quindi inserire il codice nell’interprete. (Non sono sicuro che interpreti la parola giusta). Questo è davvero utile per testare cose diverse e sono curioso di sapere se esiste qualcosa di simile per C. Anche se ne dubito. L’unica cosa che posso pensare che sarebbe fare sarebbe la shell C …
Ce ne sono molti – se si restringe lo scopo della tua domanda, potremmo essere in grado di suggerire alcuni specifici per le tue esigenze.
Un interprete degno di nota è ” Ch: Interprete AC / C ++ per Script Computing “, dettagliato in Dr. Dobbs:
Ch è un interprete C completo che supporta tutte le funzionalità linguistiche e le librerie standard dello standard ISO C90, ma estende C con molte caratteristiche di alto livello come il tipo di stringa e gli array computazionali come oggetti di prima class.
Ch standard è freeware ma non open source. Solo Ch professional ha le capacità di tracciamento e le altre funzionalità che si potrebbero desiderare.
Non l’ho mai guardato prima, ma avere un interprete ac sembra molto utile, e qualcosa che probabilmente aggiungerò al mio set di strumenti. Grazie per la domanda!
Modificare:
Ho appena scoperto che uno dei miei compilatori preferiti, TCC , eseguirà script in C:
Gestisce anche i file di script C (basta aggiungere la riga shebang “#! / Usr / local / bin / tcc -run” alla prima riga del file di codice sorgente C su Linux per eseguirla direttamente.
Il TCC può leggere il codice sorgente C dall’input standard quando ‘-‘ è usato al posto di ‘infile’. Esempio:
echo 'main(){puts("hello");}' | tcc -run -
picoc – Un interprete C molto piccolo
PicoC è un interprete C molto piccolo per lo scripting. È stato originariamente scritto come linguaggio di script per il sistema di volo di bordo di un UAV. È anche molto adatto per altre applicazioni robotizzate, incorporate e non incorporate.
il progetto ROOT fornisce un interprete C e C ++ molto funzionale chiamato Cint . Sono abbastanza affezionato. Ci vuole un po ‘per abituarsi all’interpretazione, però.
Anche il TCC è un’ottima scelta, ma non sono in grado di garantire il REPL
Probabilmente. Ce ne sono diversi per c ++. Vedi Hai usato uno qualsiasi degli interpreti C ++ (non i compilatori)? per esempio. Cint certamente mangerà quasi tutti i codici c con buoni risultati, e tcc è così veloce che puoi usarlo come un interprete.
Dai un’occhiata all’interprete Ch .
Ch è un interprete C / C ++ integrabile per lo scripting multipiattaforma, la programmazione di shell, il tracciamento 2D / 3D, il calcolo numerico e lo scripting incorporato.
So che usiamo CINT in class. Sembrava abbastanza bene che tu volessi provarlo!
Scopri iGCC
cinterp
è uno di partenza.
ccons sembra soddisfare i tuoi limiti:
L’objective del progetto ccons è creare una console intertriggers per il linguaggio di programmazione C, simile a “python” e “irb” rispettivamente per Python e Ruby. Il progetto si basa su clang e llvm.
Più recentemente c’è Cling (basato su LLVM / Clang)
Puoi usare CompCert. Ecco alcuni esempi: http://compcert.inria.fr/man/manual004.html
È stato fatto, anche se la maggior parte del lavoro C è compilato. Un esempio è CH
Il CERN ha un toolkit chiamato ROOT, che è pensato principalmente per scopi scientifici o di analisi dei dati, ecc., Ma ha un interprete C / C ++ basato su Clang chiamato Cling
.
Stavano usando un interprete C chiamato CINT prima che adattassero Cling
. CINT è leggero e sembra essere ancora disponibile per il download.
Penso che potresti prenderne un altro esaminando attentamente gli articoli dell’elenco di Wikipedia.