Praktikum Compilerbau



Ähnliche Dokumente
YouTube: Video-Untertitel übersetzen

Tutorial. Wie kann ich meinen Kontostand von meinen Tauschpartnern in. übernehmen? Zoe.works - Ihre neue Ladungsträgerverwaltung

Übungen zu Übersetzerbau 2

Überprüfung der digital signierten E-Rechnung

Was ist ein Compiler?

Kurzanleitung /Kompalitätstest Barcode. Sie haben zwei Möglichkeiten unsere Barcode/Strichcodes für Ihren eigenen stationären Einzelhandel zu nutzen.

ClubWebMan Veranstaltungskalender

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

Kurze Anleitung zum Guthaben-Aufladen bei.

Bei der Installation folgen Sie den Anweisungen des Installations- Assistenten.

Leitfaden Internet-Redaktion kursana.de

Informatik I Tutorium WS 07/08

Installation und Bedienung von vappx unter Android

der Eingabe! Haben Sie das Ergebnis? Auf diesen schwarzen Punkt kommen wir noch zu sprechen.

LEITFADEN ZUR ERFOLGREICHEN ONLINE-BEWERBUNG

TYPO3-Zusatzkurs für

LSF-Anleitung für Studierende

SCHRITT 1: Öffnen des Bildes und Auswahl der Option»Drucken«im Menü»Datei«...2. SCHRITT 2: Angeben des Papierformat im Dialog»Drucklayout«...

1. Einleitung Abfrage des COON-Benutzernamens Ändern des Initial-Passwortes Anmelden an der COON-Plattform...

Um sich zu registrieren, öffnen Sie die Internetseite und wählen Sie dort rechts oben

Orientierungstest für angehende Industriemeister. Vorbereitungskurs Mathematik

Benutzerhandbuch. Leitfaden zur Benutzung der Anwendung für sicheren Dateitransfer.

Einrichten des Elektronischen Postfachs

Erste Schritte im Online-Banking mit PIN und chiptan bei Ihrer Sparkasse Essen

Profilwechsel Sicherheitsdatei (alt) nach Sicherheitsdatei (neu)

Anleitung für Vermieter

Kapitel 4. Einführung in den Scannergenerator Flex. Einführung in den Scannergenerator Flex Wintersemester 2008/09 1 / 9

Second Steps in eport 2.0 So ordern Sie Credits und Berichte

proles-login. Inhalt [Dokument: L / v1.0 vom ]

DIE ZUKUNFT BEGINNT JETZT: ELEKTRONISCHE UNTERSCHRIFT

Wenn Sie das T-Online WebBanking das erste Mal nutzen, müssen Sie sich zunächst für den Dienst Mobiles Banking frei schalten lassen.

Bedienungsanleitung EKZ Preis- und Produktvergleichsrechner

Workshop Datensicherung

Corporate Marketing & Communications. Ganz einfach im 3M Online-Shop bestellen. So wird bestellt.

WhiteStarUML Tutorial

Reservistenkameradschaft Limburg -»Nassauer Löwe«im Verband der Reservisten der Deutschen Bundeswehr e.v.

Bedienungsanleitung für den Online-Shop

Kursdemo zum Kurs Übungen zum Zivilrecht. Prof. Dr. Inge Scherer

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware

Anwendungsbeispiele. Neuerungen in den s. Webling ist ein Produkt der Firma:

PCC Outlook Integration Installationsleitfaden

BERECHNUNG DER FRIST ZUR STELLUNGNAHME DES BETRIEBSRATES BEI KÜNDIGUNG

Unsere Produkte. Wir automatisieren Ihren Waren- und Informationsfluss. Wir unterstützen Ihren Verkaufsaußendienst.

Kurzanleitung MAN E-Learning (WBT)

Übung Grundlagen der Programmierung. Übung 03: Schleifen. Testplan Testergebnisse

Version 0.3. Installation von MinGW und Eclipse CDT

macs Support Ticket System

Anleitung zur Lizenzaktualisierung. Plancal nova 7.x

Exchange Konto via ActiveSync am iphone einrichten

Willkommen im. Nordhausen

Arbeitsschritte EAÜ Leistungserbringer Einnahmen erfassen

Installation und Bedienung von vappx unter ios

Installation und Sicherung von AdmiCash mit airbackup

Installation SPSS Netzwerkversion (Mac)

Internet Explorer Version 6

BEDIENUNGSANLEITUNG FÜR LIEFERANTEN AUSSCHREIBUNG

Wie richte ich den DNS unter Plesk ein?

Mensa-Bestellsystem der Grundschule Bienenbüttel

BMW ConnectedDrive. connecteddrive. Freude am Fahren BMW CONNECTED DRIVE. NEUERUNGEN FÜR PERSONALISIERTE BMW CONNECTED DRIVE DIENSTE.

Grundlagen der Theoretischen Informatik, SoSe 2008

Leitfaden SIS-Handball

Was meinen die Leute eigentlich mit: Grexit?

Persönliches Adressbuch

Herzlich Willkommen bei der BITel!

Anwendungsbeispiele Buchhaltung

Einrichten eines Postfachs mit Outlook Express / Outlook bis Version 2000

Zahlensysteme. von Christian Bartl

easysolution GmbH easynet Bessere Kommunikation durch die Weiterleitung von easynet-nachrichten per nach Hause

Kurzeinführung Moodle

Mediumwechsel - VR-NetWorld Software

Page Hotelsoftware. Merkblatt für Mehrwertsteuer-Umstellung für Beherbergungsleistungen zum

Anleitung zum Arbeiten mit Microsoft Visual Studio 2008 im Softwarepraktikum ET/IT

Sie erhalten in diesem Dokument einige Tipps, wie Sie die Anzeigegeschwindigkeit für Ihre Eingabe optimieren. Folgende Themen finden Sie

SPRACHEN. Zeit: ab Montag, , 18:00-19:30 Uhr Ort: Hieberschule, Klassenzimmer, siehe Aushang, Schulstraße 4

Fotos in Tobii Communicator verwenden

Sparda mobiletan Nutzungsanleitung

TimeSafe Zeiterfassung. Version 2.5 (April 2009)

Ihre Joker für eine entspannte Vorsorge

Anleitung für Aussteller So funktioniert s!

KONVERTIERUNG VON EXTERNEN DTA DATEIEN (ÜBERWEISUNGEN)

Wurzeln als Potenzen mit gebrochenen Exponenten. Vorkurs, Mathematik

SMS-Versand in MACS Einrichtung des SMS-Versand Verwendung des SMS-Versandes Der SMS-Versand Empfängerfeld Empfänger-Rufnummer Inhalt der SMS

Grundlagen für den erfolgreichen Einstieg in das Business Process Management SHD Professional Service

Allgemeiner Leitfaden zum Einfügen suchmaschinenoptimierter Texte

Übungsblatt 3: Algorithmen in Java & Grammatiken

ACDSee Pro 2. ACDSee Pro 2 Tutorials: Übertragung von Fotos (+ Datenbank) auf einen anderen Computer. Über Metadaten und die Datenbank

Neuer Releasestand Finanzbuchhaltung DAM-EDV E Inhaltsverzeichnis. 1. Neuerungen Schnittstelle Telebanking mit IBAN und BIC...

Zimmertypen. Zimmertypen anlegen

schon in wenigen Minuten Ihre ersten Provisionen kassieren

Fachhochschule der Wirtschaft Paderborn (FHDW) Fachbereich angewandte Informatik. Pflichtenheft. Anwendungsentwicklung Semester 5

Kontaktlos bezahlen mit Visa

Securebox. > Anwenderleitfaden.

1. Einführung. 2. Ändern oder Anlegen einer Zahlungsbedingung

GDPdU Export. Modulbeschreibung. GDPdU Export. Software-Lösungen. Stand: Seite 1

Einstellungen für SEPA-Lastschriften in der VR-NetWorld-Software

DIE ZUKUNFT BEGINNT JETZT: ELEKTRONISCHE UNTERSCHRIFT

Inhaltsverzeichnis : Sprachspeicher C 3000

Einen Wiederherstellungspunktes erstellen & Rechner mit Hilfe eines Wiederherstellungspunktes zu einem früheren Zeitpunkt wieder herstellen

Um die Installation zu starten, klicken Sie auf den Downloadlink in Ihrer (Zugangsdaten für Ihre Bestellung vom...)

Transkript:

Implementation eines s 20. April 2005

Vorlesungen Vorlesungen, die nützliche für das Praktikum liefern: Automaten, Formale Sprachen und Berechenbarkeit bau Abstrakte Maschinen Programm-Optimierung

Fertigkeiten Folgende Fähigkeiten sind notwendig für ein problemloses Bestehen dieses Praktikums: Gute Kenntnisse in Java Kenntnis der Sprache C Abstraktionsvermögen Vorteilhaft für die Bearbeitung der n sind zudem Kenntnisse in: Theorie der Übersetzergenerierung Werkzeuge des Übersetzerbaus (lex, yacc, jflex, cup)

Regelmäßige Treffen mittwochs um 15:00 im Raum MI 02.07.014. Unsere Ziele sind 1 Verdeutlichung der Problemstellung 2 Einarbeitung in die Werkzeuge für bau 3 Implementation eines Frontends für Kontrollflussgraphen 4 Realisierung von Optimierungen

n Für die Bearbeitung der n empfehlen wir die Bildung von Teams zu je zwei Leuten, die Abgabe der n darf gemeinsam erfolgen. Bei den Mittwochstreffen werden wir die gestellten n und Teilschritte besprechen, und anhand von abgegebenen Beispielen genauer auf Probleme und Erfolge eingehen. Die Abgabe erfolgt wöchentlich bis zum Dienstag um 12:00, dann werden die n korrigiert. Für Fragen stehen und Raphael Geissler unter der Woche und im Praktikum zur Verfügung.

Wiederholung der Thematik Nachdem nicht sichergestellt ist, dass alle Praktikumsteilnehmer die Gelegenheit hatten, die Vorlesung bau zu besuchen, soll dieses Kapitel für die notwendigen Grundkenntnisse sorgen.

eines s Quellcode Tokenstrom Syntaxbaum Semantischer Analysator annotierter Baum Flussgenerator Metacode Optimierer Metacode Der Umwandlungsvorgang gliedert sich in verschiedene Phasen: 1 lexikalische Analyse 2 syntaktische Analyse 3 semantische Analyse 4 Zwischencode Generierung 5 Optimierung 6 Code Generierung Zielcodegenerator Zielcode

Lexikalische Analyse begin x := 12 + uhrzeit ( 4:00 ) ; end... Literal 12 Operator := Identifier x Keyword BEGIN

Syntaktische Analyse... Literal 12 Operator := Identifier x Program Assignment Addition x 12 Functioncall Keyword BEGIN uhrzeit 4:00

Semantische Analyse x int Program Assignment 0x01 Addition 12 Functioncall int uhrzeit 4:00 int(char *) char *

Codegenerierung x int Program Assignment 0x01 Addition 12 Functioncall int uhrzeit 4:00 loadc 0x01 loadc 12 loadc 0x02 loadc 0x10 call add store ret int(char *) char *

Als Quellsprache für den Übersetzer in diesem Praktikum dient, wie es vom Standardisierungskomitee definiert wurde. Als kompaktes Nachschlagewerk dürfte für die Bedürfnisse dieses Praktikums das Buch The C Programming Language von Brian W. Kernighan und Dennis M. Ritchie vom Verlag Prentice-Hall in Kombination mit Rationale for ANSI Systems - C völlig ausreichen.

Kontrollfluss Das Ziel dieses Praktikums ist es, aus korrektem C-Code Kontrollflussgraphen zu generieren. Kontrollflussgraphen eignen sich gut als Ausgangspunkt für Datenflussanalysen und optimierende Programmtransformationen.

Einstiegsaufgabe Ziel ist es, mit Java ein einfaches Taschenrechnerprogramm zu schreiben. Der Rechner soll die Grundrechenarten + /% beherrschen. Die Eingabe zu diesem Rechner können Sie wahlweise über Eingabedateien, die Eingabeaufforderung oder Eingabeströme realisieren. 1 Schreiben Sie ein Programm, dass gültige arithmetische Ausdrücke erkennt. 2 Modifizieren Sie dieses Programm so, dass arithmetische Ausdrücke ausgerechnet werden können. 3 Versuchen Sie, Ihren Taschenrechner mit einer Behandlung von Klammerausdrücken auszustatten. Hinweis: Verwenden sie dazu keinen generator.