🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: bln.sci.informatik
Article #47

[VORTRAG] Generierung eines Oberon-2-Compilers unter Linux

#47
From: Maximilian Spring
Date: Tue, 30 Jan 1996 00:00
59 lines
3943 bytes
Technische Universitaet Berlin			        Forschungskolloqium 
Fachbereich Informatik				                 WS 1995/96
Institut fuer Angewandte Informatik
FG Programmiersprachen und Compiler

---------------------------------------------------------------------------
             GENERIERUNG EINES OBERON-2-COMPILERS UNTER LINUX
                                   oder
                   JACOB - Just A Compiler For Oberon-2
---------------------------------------------------------------------------

                          R. Bauer und M. Spring

            Teil 1: Linux, Speicherstrukturen, Freispeicherverwaltung
                    Freitag 2.2.1996 14:00, Raum FR0003

            Teil 2: Der Backend-Generator BEG
                    Freitag 9.2.1996 14:00, Raum FR5516


Im  Rahmen  einer  Diplomarbeit  wurde  ein  Compiler fuer die Programmier-
sprache Oberon-2  erstellt, der  aus einzelnen  Oberon-2-Modulen ein  mono-
lithisches Programm  erzeugt. Die  eingesetzten Generierungswerkzeuge,  der
implementierte  Compiler  und  die  durch  ihn erzeugbaren Programme laufen
unter  dem  Betriebssystem  Linux  fuer  Intel-Prozessoren  (ab 80386). Der
Compiler erzeugt  fuer jedes  Quellmodul eine  Assemblerdatei, welche durch
den GNU-Assembler 'as'  in eine Objektdatei  uebersetzt wird. Alle  Objekt-
dateien werden mit dem Linker 'ld' zur ausfuehrbaren Datei gebunden.

Der Compiler ist einen vollstaendige Implementierung gemaesz dem  Oberon-2-
Sprachreport,    einschlieszlich    automatischer    Freispeicherverwaltung
(garbage collection). Die Betriebssystemanbindung erfolgt ueber  sogenannte
Fremdmodule.

Die Erstellung des Compilers stuetzte  sich auf das im Rahmen  der Studien-
arbeit mit der Compiler-Compiler-Toolbox  von Dr. Josef Grosch  (GMD Karls-
ruhe)  spezifizierte  Frontend.  Den  Kern  des Backends bildet ein Codeer-
zeuger,  der  durch  den  Backend-Generator  BEG  von Helmut Emmelmann (GMD
Karlsruhe) aus einer Spezifikation  generiert wurde. Ziel der  Diplomarbeit
war  die  Untersuchung  der  praktischen  Benutzbarkeit  der   eingesetzten
Werkzeuge am Beispiel eines "echten" Compilers.

Ausgehend von einem Ueberblick  ueber den implementierten Compiler  und den
Zusammenhang seiner Komponenten wird  im ersten Vortrag das  Betriebssystem
Linux kurz  vorgestellt und  die im  Zusammenhang mit  der Entwicklung  des
Compilers relevanten  Details naeher  erlaeutert. Anschlieszend  werden die
modellierten Speicherstrukturen und ihre Verwendung insbesondere im  Rahmen
der  Freispeicherverwaltung  dargestellt.  Zusaetzlich werden Ueberlegungen
fuer eine effizientere automatische Freispeicherverwaltung vorgestellt.

Im zweiten  Vortrag wird  das fuer  die Codeerzeugung  eingesetzte Werkzeug
BEG kurz vorgestellt und sein Zusammenwirken mit den anderen  Entwicklungs-
werkeugen  erlaeutert.   Anschlieszend  wird  eine  Vorgehensweise  bei der
Entwicklung  einer   (neuen)  BEG-Spezifikation   anhand  der    erstellten
Spezifikation dargestellt und die Vor- und Nachteile des Einsatzes von  BEG
mittels Beispielen aus der Implementierung illustriert.

(Weitergehende Informationen stehen unter
 http://www.cs.tu-berlin.de/~sepp/ zur Verfuegung.)
Technical Details
Message-ID: <4ekl68$smo@news.cs.tu-berlin.de>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail

Show Full Headers
Complete Article Headers
X-Google-Language: GERMAN,ASCII-7-bit
X-Google-Thread: 10d38e,499930272f0ca3e1,start
X-Google-Attributes: gid10d38e,public
X-Google-Thread: 10fc04,499930272f0ca3e1,start
X-Google-Attributes: gid10fc04,public
X-Google-Thread: 10af11,499930272f0ca3e1,start
X-Google-Attributes: gid10af11,public
From: sepp@cs.tu-berlin.de (Maximilian Spring)
Subject: [VORTRAG] Generierung eines Oberon-2-Compilers unter Linux
Date: 1996/01/30
Message-ID: <4ekl68$smo@news.cs.tu-berlin.de>
X-Deja-AN: 137374172
content-type: text/plain; charset=iso-8859-1
organization: Technical University of Berlin, Germany
mime-version: 1.0
newsgroups: bln.sci.informatik,bln.lehre.informatik,bln.lehre.misc