Compiler Beschreibung Compiler  
 
   
Beschreibung von Compiler Infos zu Compiler und Beschreibung.
Nicht angemeldet: Anmelden | Impressum 
Navigation
· Hauptseite
· Know Forum - neu!
· Zufälliger Artikel
· Spezialseiten
· Alle Artikel
· Eingeordnet unter
Aktueller Artikel
· Seite bearbeiten
· Links auf diese Seite
· Verlinkte Seiten
· Versionen


 
 



Letzte Beiträge
Die Klimalüge CO2Guten Abend Herr Enger
"Meine Fr...
Volumenausdehnung be...Hallo da draußen, ich h
abe folgendes ...
Osterrätsel der Fran...Hallo, ich hab' mich leide
r mit meinere ...
was ist denn mit dem...Hallo, der Song heißt Cal
istan "...
Strichcode entschlüs...Hallo benni, ich stehe
gerade vor dem...
Lust auf Focus Rätse...Hallo, an alle Spezialist
en dieses Räts...
ErdölServus, Erdöl hat keine
Formel, da es...
Frage an die Student...Hallo, im Prinzip ist das
eine gute Ide...
CO2 chemische Trennu...Hallo ....... CO2 in der
Luft wird begr...
IGBT ansteuerschaltu...Guten Tag, Wer weiss lief
ert eine funk...


Compiler

Dieser Text beschreibt Compiler.


Der untere Text beinhaltet die Compiler Beschreibung. Soweit es sich um ein definierbares Objekt handelt, sollte hier eine Compiler Definition vorhanden sein. Sollte eine Definition von Compiler fehlen, kann diese von Ihnen verfaßt werden. Wir sind bestrebt die Beschreibung von Compiler möglichst ausführlich zu halten.

Jeder Text bei Know-Library, sowie ein Teil davon (Definition, Beschreibung etc.), außer Bücher Beschreibungen kann bearbeitet werden. Falls die Beschreibung auf dieser Seite nicht korrekt ist klicken Sie auf 'Beschreibung editieren' um den Text zu korrigieren bzw. neuen einzufügen. Weitere Informationen und Bücher zum Thema Compiler Beschreibung , so wie Link zum Forum finden Sie weiter unten. Eine Übersicht der Texte, die das Thema Compiler beschreiben finden Sie auf der Seite alle Artikel über Compiler. Fragen zu dem Thema Compiler können im Forum gestellt werden. Klicken Sie hier um zu dem Forum zu wechseln.

Compiler Artikel

Ein Compiler (auch Kompilierer oder Übersetzer) ist ein Computerprogramm, das ein in einer Quellsprache geschriebenes Programm in ein semantisch äquivalentes Programm einer Absichtsprache umwandelt. Üblicherweise handelt es sich dabei um die Übersetzung eines von einem Programmierer in einer Programmiersprache geschriebenen Quelltextes nach Assemblersprache, Bytecode oder Maschinensprache. Es gibt auch Compiler auch Transcompiler genannt, die Code in anderen Programmiersprachen erzeugen können. Die Anwendung eines Compilers wird als Kompilierung genannt.

Der Compilerbau, also die Programmierung eines Compilers, ist eine eigenständige Disziplin innerhalb der Informatik.

Die Nennungen Compiler oder Kompilierer sind eigentlich irreführend, weil sie von der Zusammenstellung von Tabellen herrühren, die der Compiler für seine interne Datenverwaltung benötigt, was aber an der Kernaufgabe eines Compilers vorbeigeht.

Verwandt mit einem Compiler ist ein Interpreter, der ein Programm nicht in die Absichtsprache übersetzt, sondern Schritt für Schritt direkt ausführt.

Inhaltsverzeichnis
Buch-Tipp: Arbeitszeugnisse in Textbausteinen. Rationelle Erstellung, Analyse, Rechtsfragen Ein Buch für Personalprofis und Arbeitnehmer! Mit diesem Zeugnisbuch arbeite ich jetzt schon seit 7 Jahren. Ich kenne nichts besseres auf dem aktuellen Markt. Vor allem haben diese Zeugnisformulierungen vor Arbeitsrichtern bestand und ausserdem werden sie von Richtern angewandt und sogar empfohlen. Mein grösstes Lob bekam ich von einem Juristen,...

Aufbau eines Compilers

Es lassen sich in dem Wesentlichen zwei Phasen unterscheiden: eine Analysephase, die den Quelltext analysiert und daraus einen Syntaxbaum erzeugt, sowie die Synthesephase, die daraus die Absichtprogramm erzeugt.

Buch-Tipp: Bilanzen lesen leicht gemacht. Zahlen richtig analysieren und interpretieren Ein gelungenes Werk - logisch aufgebaut Dieses Buch hat mir endlich ein gutes Grundverständnis für Bilanz und GuV vermittelt. Dank meiner schlechten Vortragenden beim Studium war ich gezwungen, mir das Wissen anderwärtig anzueignen. Ich war schon der Meinung, daß dieses Fach ca. trocken und kompliziert vermittelbar ist. Dieses Buch hat tatsächlich...

Analysephase (auch "Frontend")

Buch-Tipp: Das Drama des begabten Kindes und die Suche nach dem wahren Selbst. Banri Ikku oder eins führt zu zehntausend Allice Miller ist ein Meilenstein der psychoanalytischen Tätigkeit, da Ihr Sprachduktus nicht vom Elfenbeinturm kommt. Sie beweist wie man durch adequaten Sprachgebrauch einer breiten Masse der Bevölkerungschicht den selbstreflektierenden Einblick in seine Kindheit ermöglicht. Miller erläutert ein altbekanntes...

Lexikalische Analyse

Die lexikalische Analyse zerteilt den eingelesenen Quelltext in zusammengehörende Token verschiedener Klassen, z.B. Schlüsselwörter, Bezeichner, Zahlen und Operatoren. Dieser Teil des Compilers heißt Scanner oder Lexer.

Ein Scanner benutzt gelegentlich einen separaten Screener, um Whitespace (Leerraum, also Leerzeichen, Zeilenenden, usw.) und Kommentare zu überspringen.

Buch-Tipp: Das Große Buch der Markttechnik Ein ehrlicher Autor Herzlichen Dank an Michael Voigt, der bewiesen hat, dass ihm mit diesem Buch nicht ums Geldverdienen geht ( wie bei vielen sogennanten Autoren, die stets ein Geheimnis zu veraten haben und am Ende doch ca. an ihre eigene Tasche denken). Was ich vor allem aus diesem Buch lernte, ist, dass der beste Weg,Weg der Mitte ist, man ist...

Syntaktische Analyse

Die syntaktische Analyse überprüft, ob der eingelesene Quellcode formal richtig ist, d.h. der Syntax (Grammatik) der Quellsprache entspricht. Dabei wird die Eingabe in einen Syntaxbaum umgewandelt. Dieser Teil wird auch als Parser genannt.

Buch-Tipp: Die Reise mit Paula Nirwana eines Therapeuten Sechs Erzählungen über Therapeuten und ihre Patienten, ihre Beziehung zueinander, übermäßige Sympathien und andererseits wage Antipathien und die Anfänge des "Phänomens Gruppentherapie" in den 70ern. Verlust, Trauerarbeit, (zu) starke Mütter, versagte Vaterliebe und überbewertete Selbstdarstellung sind ebenso Teil...

Semantische Analyse

Die semantische Analyse überprüft die statische Semantik, also "logische Rahmenbedingungen". Zu dem Beispiel muss eine Variable deklariert worden sein, bevor sie benutzt wird, und Zuweisungen müssen mit kompatibel (verträglich)

Buch-Tipp: Einführung in LabVIEW Einführung in LabVIEW by Wolfgang Georgi In industriellen Anwendungen gehört LabView zu den Standardprogrammen der Mess-, Steuer- und Regeltechnik. Dank verschiedener Aktivitäten, die den Einsatz der grafischen Programmiersoftware in dem Hochschulbereich vorantreiben sollen, findet LabView auch in dem Lehrbereich stärkere Verbreitung. An diese Anwender...

Synthesephase (auch "Backend")

Die Synthesephase erzeugt aus dem in der Analysephase erstellten Baum den Programmcode der Absichtsprache.

Buch-Tipp: Film verstehen Umfassender Überblick zu dem Thema Film Das Buch ist wirklich gut und bietet einen weitgehenden Überblick über die verschiedenste Bereiche um das Thema Film. Auch für diejenigen, die sich mit Film noch nicht genauer beschäftigt haben, bietet das Buch einen leichten Einstieg - durch verständliche Erklärungen und passende Illustrationen.

Programmoptimierung

Siehe Programmoptimierung.

Buch-Tipp: Ich bin o.k., Du bist o.k Noch stets aktuell Über 30 Jahre ist das Büchlein schon alt. Nach meinem Eindruck beschreibt es nach wie vor hochaktuell und für Otto Normalverbraucher verständlich, was der Hintergrund zu privaten und geschäftlichen Konflikten sein kann. Der Schreibstil des Buchs ist so gehalten, dass man es gut als Bettlektüre konsumieren kann. Für mich...

Codegenerierung

Bei der Codegenerierung wird endgültig aus dem Syntaxbaum der Programmcode in der Absichtsprache erzeugt. Falls die Absichtsprache die Maschinensprache ist, kann das Ergebnis direkt ein ausführbares Programm sein oder eine so genannte Objektdatei , die durch das Linken mit der Laufzeitbibliothek und evtl. weiteren Objektdateien zu einer Bibliothek oder einem ausführbaren Programm führt.

Buch-Tipp: Jahresabschluss und Jahresabschlussanalyse Klasse - selbst wenn man ExRe nicht versteht Ich studiere in dem ersten Semester Wirtschaft, und eins weiß ich schon jetzt: Ich werde wohl niemals Steuerberater oder Buchhalter. Mir fehlt ganz einfach das Verständnis für die hohe Kunst des Bilanzierens und seiner Feinheiten. Dementsprechend war ich vor meiner ersten Klausur über den Jahresabschluss...

Programmoptimierung

Üblicherweise bietet ein Compiler Optionen für verschiedene Optimierungen mit dem Absicht, die Laufzeit oder den Speicherplatzbedarf deAbsichtprogramms zu verkleinern.

Die Optimierung erfolgt in Abhängigkeit von den Merkmalen der Hardware, z. B. wieviele und welche Register der Prozessor des Computers zur Verfügung stellt.

Einige Optimierungen führen dazu, dass der Compiler Programmkonstrukte in semantisch äquivalente, aber günstigere Konstrukte umwandelt, die keine Entsprechung in dem Quellcode haben. Eine Folge ist, dass es bei Aktivierung entsprechender Optimierungen kaum noch möglich ist, den Programmablauf mit einem interaktiven Debugger zu verfolgen.

Im Folgenden betrachten wir einige Optimierungsmöglichkeiten eines Compilers. Dabei handelt es sich naturgemäß ca. um Feinabstimmung an einem bestehenden Programm. "Optimierung" bedeutet auch nicht, dass das Programm danach in irgendeiner Weise optimal wäre, ca. besser. Es ist auch möglich, dass das Programm nachher "totoptimiert" ist, also die Optimierung über die Absicht soweit hinausgeschossen ist, dass das Programm effektiv langsamer ausgeführt wird. Viele Optimierungen moderner Compiler sind solche Abwägungen zwischen dem, was möglich ist, und dem, was sinnvoll ist. Die Grenze zwischen beiden ist meist nicht klar ersichtlich und muss durch Tests herausgefunden werden.

Es sollte nicht vergessen werden, dass das größte Optimierungspotenzial häufig darin besteht, den Algorithmus selbst zu verändern bzw. durch einen besseren zu ersetzen. Dieser Ablauf kann nicht automatisiert werden, sondern muss durch den Programmierer erfolgen.

Buch-Tipp: Multivariate Analysemethoden. Eine anwendungsorientierte Einführung: Eine Anwendungsorientierte Einfuhrung (Springer Lehrbuch) Spitzen Buch Das Buch ist das NON-PLUS-ULTRA wenn es um multivariate Analysemethoden geht. Didaktisch einwandfrei. Da macht es Spaß sich auf eine Prüfung vorzubereiten. Und an der guten Note hatte das Buch bestimmt einen großen Anteil.

Reduzierung von Assemblerinstruktionen

Wenn man zu dem Beispiel in einer höheren Programmiersprache den Inhalt von 2 Variablen vertauscht, dann benötigt man eine Hilfsvariable:


Reduzierung von Assemblerinstruktionen
höhere
Programmiersprache
Assembler ohne Optimierung Assembler mit Optimierung
t = a
a --> Register 1
Register 1 --> t
a --> Register 1
a = b
b --> Register 2
Register 2 --> a
b --> Register 2
b = t
t --> Register 3
Register 3 --> b
Register 1 --> b
Register 2 --> a


Buch-Tipp: Neurotische Konfliktverarbeitung. Einführung in die psychoanalytische Neurosenlehre unter Berücksichtigung neuer Perspektiven Denkanstösse von Alltagsdingen über Neurosen bis Persönlichkeitsstörungen aus freudianischer Sicht Stavros Mentzos neurotische Konfliktverarbeitung stammt aus dem Jahr 1982 (Vorwort) und enthält Referenzen von der Zeit vor Freud bis etwa 1981. Es liest sich stets noch sehr frisch. Es ist auf einem sehr hohen Niveau und sehr dicht geschrieben....

Statische Formelauswertung zur Übersetzungszeit

Die Berechnung des Kreisumfangs mittels

         pi = 3.14
         u  = 2 * pi * r

kann ein Compiler bereits zu dem Übersetzungszeitpunkt zu "u = 6.28 * r" auswerten. Dies spart die Multipliktion "2*pi" zur Laufzeit des erzeugten Programms. Diese Vorgehensweise wird als Konstantenfaltung (engl. "constant folding") genannt.

Eliminierung toten Programmcodes

Wenn der Compiler erkennen kann, dass ein Teil des Programmes niemals durchlaufen wird, dann kann er diesen Teil bei der Übersetzung weglassen.

  
Beispiel:  ...   ...
           100   goto 900
           200   k=3
           900   i=7
           ...   ...

Wenn in diesem Programm niemals ein GOTO auf das Label 200 erfolgt, dann kann auf die Anweisung "200 k=3" verzichtet werden.

Erkennung von nicht benötigten Variablen

Wird eine Variable nicht benötigt, dann wird sie auch nicht berechnet.

Beispiel:  subroutine test (a,b)
           b = 2 * a
           c = 3.14 * b
           return b

Hier wird die Variable c nicht benötigt: Sie steht nicht in der Parameterliste, wird in späteren Berechnungen nicht benutzt und wird auch nicht ausgegeben. Darum entfällt die Anweisung "c = 3.14 * b".

Optimierung von Schleifen

Insbesondere Schleifen versucht man zu optimieren, indem man z.B.:

  • möglichst viele Variablen in Registern hält (z.B. die Schleifenvariable)
  • Berechnungen innerhalb der Schleife, die in jedem Durchlauf dasselbe ergeben, ca. einmal berechnet
  • die Schleife komplett auflöst (englisch loop unrolling), falls die Anzahl der Schleifendurchläufe konstant ist. Die Anweisungen innerhalb der Schleife werden dann sequentiell (hintereinander) ausgeführt ohne Verwendung einer Schleife.

Reduzierung von Paging zur Laufzeit

Zusammenhängender Code - z. B. eine Schleife - sollte zur Laufzeit möglichst auf der gleichen "Seite" (zusammenhängend vom Betriebssystem verwalteter Speicherblock) in dem Hauptspeicher liegen. Dies kann man evtl. dadurch erreichen, dass man dem Programmcode geeignete Leeranweisungen ("NOPs" - No OPeration) hinzufügt. Dadurch wird der Programmcode zwar größer, aber wegen des reduzierten Pagings wird das Programm schneller ausgeführt.

Bedeutende Compiler

oder auch viele andere, die zusammen mit IDEs ausgeliefert werden (Visual Basic, Delphi etc.)

Weiteres zu dem Artikel Compiler

Andere Leser interessierten sich auch für folgende Beschreibungen: Bytecode, C, Delphi, Eliminierung, Gnu, Goto, Paging, Parser, Programmierer, Scanner, Tests, Token, Whitespace
Schnellzugrif auf verwandte Texte:
 
NEU! Frage im Forum zum Thema:
 
Wenn die Beschreibung 'Compiler' Ihrer Meinung nach nicht korrekt ist oder in aktueller Version Fehler enthalten sind oder es fehlt die Compiler Definition, dann klicken Sie bitte auf "Beschreibung bearbeiten" und schreiben Sie die Eigene Version des Textes. Die Änderungen in der Beschreibung werden sofort aktiv und für alle sichtbar. Ein Administrator wird Ihre Version der Beschreibung und Definition von 'Compiler' nachher prüfen. Bitte achten Sie auf die Urheberrechte (Copyright). Wir sind für die besseren Beschreibung von 'Compiler' und 'Compiler' Definition sehr dankbar.

Alle Tipps zu den Bücher auf dieser Seite wurden automatisch generiert. D.h. die Bücher wurden aus einer Datenbank von dem Computer ausgesucht. Deshalb kann es vorkommen, dass vorgeschlagene Bücher nicht ganz der 'Compiler' Beschreibung entsprechen.
· Diese Seite wurde bisher 2.985 mal abgerufen.
· Letzte Counteraktualisierung erfolgte am 17.05.2008 um 00:20:16
· Diese Seite wurde zuletzt geändert um 13:01, 30. Sep 2004.
· Letzte Portalaktualisierung erfolgte um 08:00:00 GMT, 25.02.2008
Dieser Artikel basiert auf dem Artikel Compiler aus der freien Enzyklopädie Wikipedia und steht unter der GNU-Lizenz für freie Inhalte. In der Wikipedia ist eine Autorenauflistung verfügbar.

Von ""

· Diese Seite wurde bisher 2.985 mal abgerufen.
· Letzte Counteraktualisierung erfolgte am 17.05.2008 um 00:20:17
· Diese Seite wurde zuletzt geändert um 13:01, 30. Sep 2004.
· Letzte Portalaktualisierung erfolgte um 08:00:00 GMT, 25.02.2008