C’è un interprete per C?

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)

http://root.cern.ch/drupal/content/cling

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.