Quelle?Euklid hat geschrieben:Für Linux gibt es den ab FPC 2.1.1
Du hast recht, mein fpc sagt auch, er hätte einen internen ELF-Writer. Aber warum ist der dann nicht Standard?
Quelle?Euklid hat geschrieben:Für Linux gibt es den ab FPC 2.1.1
Erinnerung. Musst mal nach den Release-Notes googeln.Socke hat geschrieben: Quelle?
Das hat alles nicht mit dem hier besprochenen Sprach- und Architektur- unabhängigen Zwischencode zu tun. der in gcc beim Kompilieren aller Sprachen in Objektcode als Zwischenschritt (vor der Architektur-abhängigen Optimierung und Code-Generierung) verwendet wird und den man (vermutlich nach einer Erweiterung der Definition) theoretisch auch für Object Pascal verwenden könnte.carli hat geschrieben:Der FPC nutzt ja schon den GCC zum linken.....
Textlicher Assembler -> Machinencode ist ein trivialer Schritt, den (AFAIK) FPC gleich bei der Code-Generierung erledigt.Socke hat geschrieben:ein Compiler übersetzt nach Assembler, ein Assembler übersetzt in Maschinencode
.. und für jede Sprache "nur" ein Frontend.Socke hat geschrieben:Das schöne an gcc ist, dass man für jeden Microcontroller "nur" ein neues Backend schreiben muss
De-Optimierungen sind kein Problem, das bügelt der GCC schon wieder aus.mschnell hat geschrieben: Object Pascal automatisiert nach C übersetzen geht ziemlich schlecht und nur mit Einschränkungen und De-Optimierung.
Momentan wird Linux aber - soweit ich weiß, immer mit gcc übersetzt.carli hat geschrieben:mschnell hat geschrieben:Die LLVM sieht sich auch selbst als Nachfolger der GCC-Architektur.
Es gibt bereits ein Projekt, das einen komplett neuen Kernel plant, der auf der LLVM basiert.mschnell hat geschrieben: Sag' mit Bescheid, wenn man Linux für den NIOS Prozessor mit LLVM übersetzen kann.
-Michael
GNU Pascal hat das versucht. Wer? GNU Pascalmschnell hat geschrieben:Warum dann nicht gleich die weit verbreitetste und am weitgehendsten plattformunabhängige Infrastruktur gcc ?carli hat geschrieben:Einen anderen Ausweg der Plattformunabhängigkeit sehe ich in der LLVM:
Der Sprach-unabhängige gcc Codegenerator mit dem low-level-Teil der Optimierung ist vermutlich kaum zu schlagen. Es gibt ja sogar bereits gcc - Pascal (ohne Objekte).
Ja. Aber es gibt mehrere Problem, sie oben. Und es schöne ist das es ein Praxis Beispiel gibt. GNU Pascal hat an in 1987 angefangen, FPC in 1993. Vergleiche nur wo GNU Pascal steht, und wo FPC steht.Das Problem dürfte dabei hauptsächlich "politisch" sein. Die gcc-Gemeinde ist vermutlich sehr C-zentriert und wenig bereit Erweiterungen der Infrastruktur für Object-Pascal zuzulassen.
Für Linux gibt es den ab FPC 2.1.1[/quoteEuklid hat geschrieben:Socke hat geschrieben:Für welche Plattformen gilt das denn überhaupt?Euklid hat geschrieben:Das war einmal.![]()
Der FPC hat einen internen Linker und ist hier nicht auf GCC angewiesen.
Könnte man daraus jetzt schließen, dass gcc den Höhepunkt seiner Entwicklung bereits erreicht hat und wenige massive Neuerungen zu erwarten sind?marcov hat geschrieben:Ja. Aber es gibt mehrere Problem, sie oben. Und es schöne ist das es ein Praxis Beispiel gibt. GNU Pascal hat an in 1987 angefangen, FPC in 1993. Vergleiche nur wo GNU Pascal steht, und wo FPC steht.
Keine Ahnung.Socke hat geschrieben:Könnte man daraus jetzt schließen, dass gcc den Höhepunkt seiner Entwicklung bereits erreicht hat und wenige massive Neuerungen zu erwarten sind?marcov hat geschrieben:Ja. Aber es gibt mehrere Problem, sie oben. Und es schöne ist das es ein Praxis Beispiel gibt. GNU Pascal hat an in 1987 angefangen, FPC in 1993. Vergleiche nur wo GNU Pascal steht, und wo FPC steht.
In 2.5.1 gibts schon:Welche großen Innovationen sind denn beim FPC noch zu erwarten?
Alles was Arbeit kostet soll man dabei zählen. FPC ist kein Akademischer compiler die allein nach neue Wissenschaftliche Konzepte sucht. Es ist gemeint als ein Produktionscompiler.Betriebssysteme und CPU-Architekturen zähle ich jetzt mal nicht dazu, da das eigentlich nur Variationen der von-Neumann-Architektur.
Siehe oben.Vielmehr ist die Frage auf die Entwicklung der Sprache ausgerichtet: Generics, Strings mit Zeichensatz-Informationenen und transparenter Transkodierung...
Nein. Es nutzt binutils (GNU LD)carli hat geschrieben:Der FPC nutzt ja schon den GCC zum linken.mschnell hat geschrieben:Das Problem dürfte dabei hauptsächlich "politisch" sein. Die gcc-Gemeinde ist vermutlich sehr C-zentriert und wenig bereit Erweiterungen der Infrastruktur für Object-Pascal zuzulassen.
Dodi hat darueber gesprochen im Vergangenheit, aber ich habe nie gehoert das es sich selbst kompilieren kann. Trunk hat davon nichts.Ebenfalls hat der FPC auch ein C-Backend, welches aber zur Zeit nicht so ganz funktioniert (wie mir gesagt wurde).
Die Struktur des GCC zu erweitern ist eine ganz blöde Idee, da es einfach zu viel Aufwand ist. Ein Kapselprogramm ist da schon das richtige.
So macht es zumindest jeder - Makefiles, CMake, QTMake, das sind alles Tools, um C so ne Art Pascal-Feeling mit "uses" zu geben.
?Ein ordentliches CBE
Und was wann man das Pascal programm nicht als C code ausdrucken kann?würde meiner Meinung nach voll ausreichen (der einen Gesamtprogramm-C-Code erzeugt), da eine neue eingebettete Plattform meistens nur mit einem C-Compiler "begehbar" ist.
Ich denke FPC bootstrappen ist einfacher als GCC bootstrappen. Also ich weiß nicht was sie hier mit meinen.Zudem würde das das Bootstrappen von FreePascal-Code extrem erleichtern.
Ja, der kenne ich schon. Setze den mal in denselben Ecke wie WebOS, Singularity usw. Wir werden sie schon sehen wann sie wieder rauskommen (oder nicht)carli hat geschrieben:Es gibt bereits ein Projekt, das einen komplett neuen Kernel plant, der auf der LLVM basiert.mschnell hat geschrieben: Sag' mit Bescheid, wenn man Linux für den NIOS Prozessor mit LLVM übersetzen kann.
-Michael
Abgesehen von der Verbreitung, hat die LLVM einfach ein viel zu gutes Konzept, als dass man es links liegen lassen könnte.
Sowohl Pascal als auch C sind Turing-Vollstängig. FAILmarcov hat geschrieben:Und was wann man das Pascal programm nicht als C code ausdrucken kann?würde meiner Meinung nach voll ausreichen (der einen Gesamtprogramm-C-Code erzeugt), da eine neue eingebettete Plattform meistens nur mit einem C-Compiler "begehbar" ist.
Den FPC kann man nicht bootstrappen. Man kann ihn nur kompilieren, wenn man einen FPC da hat.marcov hat geschrieben:Ich denke FPC bootstrappen ist einfacher als GCC bootstrappen. Also ich weiß nicht was sie hier mit meinen.Zudem würde das das Bootstrappen von FreePascal-Code extrem erleichtern.