2009-11-12 11 views
20

Attualmente sto usando Eiffel (SmartEiffel/ISE Eiffel) che si sta compilando in c.Quali linguaggi/implementazioni di programmazione per scopi generici compili a C

ho trovato molto più facile per estendere il linguaggio te stesso con nuove funzionalità o strumento di supporto se l'uscita sta andando nella lingua assember portatile noto anche come C.

Quali general purpose, linguaggio non funzionale ha questa caratteristica troppo .

So che esistono precompilatori C++ obsoleti e ne ho trovato uno vecchio per Objective-C.

(Ho anche sentito parlare di compilatori ((Scheme e Lisp)) ma non mi piace (lingua)).

Si prega di elencare solo i progetti FOSS (libero open source), in quanto ho bisogno di studiarli.

+3

dovrebbe probabilmente essere Community Wiki, come non esiste una sola risposta corretta. – Joey

+3

Il compilatore GHC per Haskell può essere compilato in C. Ma non ti piace Scheme e Lisp ?! Ciò significa che non li capisci :) – Artelius

risposta

7

Vala, un linguaggio simile a C# che fa parte del progetto Gnome.

10

Bene, ci sono alcune avvertenze che trattano cose come le eccezioni ei numeri in virgola mobile, ma llvm può emettere C (anche se nessuno lo usa in produzione, quindi spesso ritarda la versione principale). Questo significa che ogni linguaggio basato LLVM che può essere compilato in modo statico di uscita possibile per C, tra cui tutti i frontend LLVM-GCC:

Non tutti questi sono necessariamente stato provato, e può richiedere qualche ritocco per rendere il lavoro, ma dovrebbero funzionare senza troppi problemi.

+0

Beh, provo a scappare dal gigantesco progetto LLVM (non installa e funziona facilmente su Windows) e gcc backend. Quindi queste non sono davvero opzioni per me. – Lothar

+1

Hai dimenticato Cython. Che compila Python in C. Albeit usa ancora la libreria standard python che è anche scritta in C – unixman83

2

Fortran (http://en.wikipedia.org/wiki/F2c) COBOL (http://sourceforge.net/projects/open-cobol/) Perl (http://www.xav.com/perl/lib/B/C.html) Matlab

Una volta ho conosciuto un ragazzo che voleva studiare come scrivere un parser, ma non volevo perdere tempo con la generazione di codice in quel punto. Così, ha ottenuto il suo parser per stampare semplici dichiarazioni, espressioni e goto in C. Quindi, sarebbe un compilatore C che compila a C (anche se molto male C) :-)

+12

C'era anche un ragazzo che voleva scrivere un linguaggio OO che seguisse lo stesso approccio - non crederesti ai problemi che causava. –

1

OOC (http://ooc-lang.org/), Virgilio (http://compilers.cs.ucla.edu/virgil/overview.html), era vecchia versione di Algol -to-C traduttore (abbandonata)

4

Sather, Mercury, Felix, Seed7 e molti altri ... e 'abbastanza comune per un compilatore di generare C (o C++), spesso visto come "linguaggio assembly portatile", che ha l'ulteriore vantaggio di fare affidamento sull'esperienza dei compilatori di compilatori C per fare le ottimizzazioni.

5

haXe.org: un linguaggio che compila in varie lingue, incluso C++.

1

Cython pretende di compilare Python per C

Problemi correlati