2009-11-12 17 views
20

Obecnie używam programu Eiffel (SmartEiffel/ISE Eiffel), który kompiluje się do wersji c.Które języki programowania ogólnego/implementacje kompilują się do C

znalazłem to o wiele łatwiej rozszerzyć język się z nowymi funkcjami lub wsparcia narzędziowego jeśli wyjście jest przechodzenia w przenośnym języku assember znany również jako C.

Które ogólnego przeznaczenia, nie język funkcjonalny tej funkcji zbyt .

Wiem, że były nieaktualne prekompilatory C++ i nawet znalazłem stary dla Objective-C.

(Również słyszałem o kompilatorach (Scheme i Lisp)), ale nie podoba mi się to (język)).

Proszę wymienić tylko projekty FOSS (free open source), ponieważ muszę je przeanalizować.

+3

Prawdopodobnie powinien być Community Wiki, ponieważ nie ma jednej poprawnej odpowiedzi. – Joey

+3

Kompilator GHC dla Haskella można skompilować do C. Ale nie lubisz Scheme i Lisp ?! Oznacza to, że ich nie rozumiesz :) – Artelius

Odpowiedz

7

Vala, język podobny do C#, który jest częścią projektu Gnome.

10

Cóż, istnieją pewne zastrzeżenia dotyczące rzeczy takich jak wyjątki i liczby zmiennoprzecinkowe, ale llvm może wyprowadzać C (chociaż nikt nie używa go w produkcji, więc często pozostaje w tyle w stosunku do wersji głównej). Oznacza to, że w oparciu żadnego języka LLVM, które mogą być statycznie skompilowany może wyjście do C, łącznie ze wszystkimi LLVM-gcc nakładki:

Nie wszystkie z nich muszą zostały przetestowane i mogą wymagać trochę szczypanie, aby prace, ale powinny działać bez większych kłopotów.

+0

Cóż, próbuję uciec od gigantycznego projektu LLVM (nie instaluje się i nie działa z łatwością na Windowsie) i backend gcc. Więc nie są to dla mnie naprawdę opcje. – Lothar

+1

Zapomniałeś o Cythonie. Które kompiluje Python do C. Mimo to nadal używa biblioteki standardowej Pythona, która jest również napisana w 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

Znałem kiedyś faceta, który chciał się uczyć, jak napisać parser, ale nie chcą zajmować się generowania kodu na które punkt. Tak więc dostał swój parser do wypisywania prostych instrukcji, wyrażeń i gotów w C. Więc to byłby kompilator C, który kompiluje do C (choć bardzo zły C) :-)

+12

Był też facet, który chciał napisać język OO, który przyjął to samo podejście - nie uwierzyłbyś w kłopoty, które spowodował. –

1

OOC (http://ooc-lang.org/) Virgil (http://compilers.cs.ucla.edu/virgil/overview.html) był starą wersję Algol -to-C tłumacz (opuszczony)

4

Sather, Mercury, Felix, Seed7 i wiele innych ... to jest dość powszechne dla kompilatora do generowania C (lub C++), często postrzegany jako "przenośny język assemblera", który ma dodatkową zaletę polegania na doświadczeniu twórców kompilatorów języka C do optymalizacji.

5

haXe.org: język kompilujący się w różnych językach, w tym w C++.

Powiązane problemy