Free Pascal


Free Pascal
Free Pascal
FPIDE 1.0.10 de.png
Integrierte Entwicklungsumgebung, IDE von Free Pascal 2.2.x
Basisdaten
Entwickler Freiwillige
Aktuelle Version 2.4.4
(22. Mai 2011)
Betriebssystem UNIX, Linux, Windows, Mac OS X, u. a.
Kategorie Compiler
Lizenz GPL/LGPL
Deutschsprachig Nein
freepascal.org

Free Pascal (abgekürzt FPC) ist ein freier und offener 32- und 64-Bit-Pascal-Compiler, der sich besonders durch folgende Eigenschaften auszeichnet:

  • verfügbar für zahlreiche Betriebssysteme (z. B. Windows, Linux, Mac OS, OS/2 bzw. eComStation, DOS, Game Boy Advance)
  • verfügbar für verschiedene Prozessorarchitekturen (z. B. i386, AMD64, PowerPC, ARM, Sun SPARC)
  • kompatibel zu zahlreichen verbreiteten Pascal-Dialekten (z. B. Turbo Pascal, Delphi, MacPascal, GNU Pascal)
  • integrierte Assembler sowohl für die AT&T- als auch für die Intel-Syntax.
  • optionale Ausgabe des Compilats als Assembler-Quelltext

Da sich Pascal durch eine sehr weitreichende Trennung zwischen Hardware/Betriebssystem und Programmcode auszeichnet, sind FPC-Programme in hohem Maße portierbar (in aller Regel genügt einfaches Compilieren auf dem Zielsystem, um aus einem Windows-Programm ein Linux- oder DOS-Programm zu machen).

Für die Nutzung stehen verschiedene (ebenfalls frei verfügbare) integrierte Entwicklungsumgebungen (IDE) zur Verfügung:

  • Lazarus, eine Delphi-ähnliche IDE.
  • Eine Textmodus-IDE, die der Borland-Turbo-Pascal-IDE sehr ähnlich ist (ist Teil des FPC-Paketes).
  • Eine Kommandozeilenversion, die sich mit den meisten Editorprogrammen (z. B. QEdit, EMacs.) sehr gut kombinieren lässt (ist Teil des FPC-Paketes).

Ein gutes Beispiel für die hohe Qualität des FPC ist z. B. das kommerzielle Grafikprogramm Pixel image editor.

Inhaltsverzeichnis

Sprachdialekte

Free Pascal beherrscht den De-facto-Standard, die Borland-Pascal-Dialekte. In der Version 2.x ist Free Pascal nahezu Delphi-7-kompatibel. Weitere (bereits zu großen Teilen realisierte) Ziele sind: Implementierung der ANSI/ISO-Pascal-Dialekte und von Apple Pascal. Außerdem existiert ein OBJFPC-Modus, der umfangreiche Objekt-Pascal-Erweiterungen und zahlreiche Schnittstellen z. B. zu Datenbanken aktiviert.

Die verschiedenen Dialekte können sowohl über Kommandozeilenschalter als auch im Quelltext durch $MODE ausgewählt werden. Derzeit sind folgende Einstellungen möglich:

  • Delphi – Delphi-Kompatibilitätsmodus
  • TP – Turbo-Pascal-Kompatibilitätsmodus (Object-Pascal-Erweiterungen werden abgeschaltet)
  • FPC – Der Vorgabemodus
  • OBJFPC – FPC mit Object-Pascal-Erweiterungen
  • GPC – GNU-Pascal-Kompatibilitätsmodus
  • MACPAS – Kompatibilitätsmodus für Pascaldialekte auf Mac OS, wie Think Pascal, Metrowerks Pascal und MPW Pascal

Lieferumfang und Installation

Auf der FPC-Website befinden sich direkt installierbare Versionen für die meisten Betriebssysteme. Die Installationen z. B. unter Windows lassen sich jederzeit problemlos und vollständig wieder entfernen. Es existieren u. a. folgende Komponenten/Erweiterungen (ein aktueller Überblick findet sich auf der FPC-Website):

  • FPC – Der Compiler selbst
  • RTL – Die Laufzeitbibliothek
  • FCL – Die Free Component Library (analog zur Delphi VCL)
  • Textmode IDE
  • Mehreren Paketen (Units):
    • bfd – Schnittstelle zur GNU-Binary-Format-Beschreibung
    • cdrom – CD-ROM-Schnittstelle
    • forms – Schnittstelle zu X-Forms
    • fpgtk – GTK
    • fv – Free Vision
    • gconf
    • gdbint – Schnittstelle zum gdb-Debugger
    • gdbm
    • ggi
    • gnome – GNOME-Schnittstelle
    • gtk – GTK-Schnittstelle
    • gtk2 – GTK-2-Schnittstelle
    • ibase – Schnittstelle zur Interbase-API
    • imlib
    • inet – Routinen zur Internet-Programmierung
    • libasync – Prozeduren für asynchrones I/O
    • libc
    • libgd
    • libpng
    • md5 – Routinen zur Berechnung von MD5-Prüfsummen
    • mysql – Schnittstelle zu MySQL
    • ncurses – Ncurses-Schnittstelle
    • netdb
    • newt
    • odbc – Schnittstelle zu ODBC
    • opengl – OpenGL-Schnittstelle
    • oracle – Schnittstelle zur Oracle-Datenbank
    • paszlib – Implementation der zlib-Routinen
    • pasjpeg
    • postgres – Schnittstelle zu PostgreSQL
    • pthreads
    • regexpr – Reguläre Ausdrücke
    • sqlite – SQLite-Schnittstelle
    • svgalib
    • syslog
    • tcl – Tcl-Schnittstelle
    • unixutil
    • unzip
    • utmp
    • uuid
    • x11 – X11-Schnittstelle
    • zlib
    • zvt
    • weitere Pakete/Units von Free-Pascal-Nutzern

Geschichte

Free Pascal entstand aus dem Wunsch heraus, 32-Bit-Pascalprogramme einfach und portierbar erstellen zu können. Damals konzentrierte Borland seine Entwicklung ganz auf Windows (das spätere Delphi) und lehnte die Weiterentwicklung des bis heute an Qualität und Geschwindigkeit immer noch vorbildlichen, aber fast komplett in Assembler programmierten Borland-Pascal-Compilers ab (selbst einfache Fehler wie der seit BP7 auftretende „Runtime Error 200“ – ein Überlauf in einer Schleife, welche die Geschwindigkeit der Hardware bestimmen sollte – wurden nicht mehr beseitigt). Der Student Florian Paul Klämpfl entwickelte darauf hin einen eigenen 32-Bit-Pascal-Compiler. Er nannte ihn zunächst FPK, nach den Initialen seines Namens.

Die erste Version war noch ausschließlich für den DOS-Extender go32v1 geschrieben, was jedoch bereits ein enormer Fortschritt war, da jetzt bis zu 2 GB große Datenbereiche (z. B. Felder für Fast-Fourier-Analysen oder Digitale Filter) äußerst einfach verwaltet werden konnten. Die Entwicklergemeinde erweiterte sich rasch und nach einiger Zeit portierte Michael van Canneyt Free Pascal auf Linux. Für OS/2 wurde die DOS-Portierung angepasst, sodass sie mit dem EMX-Extender zusammenarbeitet. Auch eine Win32-Portierung wurde durchgeführt.

Version 1.0 erschien im Juli 2000. Diese Version hatte schon nahezu Turbo-Pascal-7/Delphi-2-Kompatibilität. In der Folgezeit wurde Free Pascal noch auf zahlreiche andere Plattformen und Architekturen portiert, u. a. auf PowerPC, SPARC und ARM. Version 1.9.4 unterstützte erstmals auch Mac OS X.

Version 2.0.0 wurde nach langer Weiterentwicklung schließlich im Mai 2005 veröffentlicht.

Version 2.2 wurde im September 2007 veröffentlicht und unterstützt nun auch Windows CE, Game Boy Advance und Nintendo DS als Plattform.

Version 2.4 wurde am 1. Januar 2010 fertiggestellt und unterstützt nun 64-bit Mac OS X, iPhone und Haiku.

Seit August 2011 kann Free Pascal auch Byte-Code für die Java Virtual Machine erzeugen [1].

Plattformen

In der Version 2.0.4 unterstützt Free Pascal folgende Architekturen:

Folgende Betriebssysteme werden unterstützt:

In Entwicklung:

Weblinks

 Commons: Free Pascal – Sammlung von Bildern, Videos und Audiodateien

Literatur

  • Michael van Cannëyt: Free Pascal 2 : Handbuch und Referenz. Computer & Literatur, Böblingen 2009, ISBN 978-3-936546-53-8

Einzelnachweise

  1. freepascal wiki: FPC JVM, abgerufen am 23. August 2011
  2. PalmOS port

Wikimedia Foundation.

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Free Pascal — Compilador Free Pascal Desarrollador Florian Paul Klämpfl y voluntarios ww …   Wikipedia Español

  • Free Pascal — Compiler Free Pas …   Википедия

  • Free-pascal — Integrierte Entwicklungsumgebung, IDE von Free Pascal 2.2.x Basisdaten Entwickler: Freiwillige Aktuelle  …   Deutsch Wikipedia

  • Free Pascal — est un compilateur pour le langage Pascal, développé en tant que logiciel libre. Sommaire 1 Caractéristiques 2 Particularités 3 Voir aussi 4 Liens externes …   Wikipédia en Français

  • Free Pascal — es un compilador libre de Pascal. Es una opción alternativa con respecto al compilador comercial Turbo Pascal. Su entorno MS DOS es muy similar a Turbo Pascal de Borland, pero con más opciones. También existen entornos de desarrollo para Windows… …   Enciclopedia Universal

  • Free Pascal — Infobox Software name = Free Pascal caption = Free Pascal being operated via the command line developer = Florian Klämpfl Volunteers latest release version = 2.2.2 latest release date = August 11, 2008 operating system = Cross platform genre =… …   Wikipedia

  • Pascal (programming language) — Pascal Paradigm(s) imperative, structured Appeared in 1970 Designed by Niklaus Wirth Typing discipline static, strong, safe …   Wikipedia

  • PASCAL — Paradigmen: imperativ, strukturiert Erscheinungsjahr: 1972 Entwickler: Niklaus Wirth Dialekte: UCSD Pascal …   Deutsch Wikipedia

  • Pascal (Programmiersprache) — Pascal Paradigmen: imperativ, strukturiert Erscheinungsjahr: 1972 Entwickler: Niklaus Wirth Typisierung: stark, statisch …   Deutsch Wikipedia

  • Pascal (langage) — Pour les articles homonymes, voir Pascal. Pascal Apparu en 1970 (évolution constante) Auteur …   Wikipédia en Français