Compiler

Autor: Peter Berry
Erstelldatum: 12 August 2021
Aktualisierungsdatum: 1 Juli 2024
Anonim
Parser and Lexer — How to Create a Compiler part 1/5 — Converting text into an Abstract Syntax Tree
Video: Parser and Lexer — How to Create a Compiler part 1/5 — Converting text into an Abstract Syntax Tree

Inhalt

Definition - Was bedeutet Compiler?

Ein Compiler ist ein Softwareprogramm, das von einem Entwickler in einer höheren Programmiersprache geschriebenen Quellcode in einen niedrigeren Objektcode (Binärcode) in Maschinensprache umwandelt, der vom Prozessor verstanden werden kann. Der Prozess der Konvertierung von High-Level-Programmierung in Maschinensprache wird als Kompilierung bezeichnet.


Der Prozessor führt einen Objektcode aus, der angibt, wann in der Recheneinheit des Prozessors binäre High- und Low-Signale erforderlich sind.

Eine Einführung in Microsoft Azure und die Microsoft Cloud | In diesem Handbuch erfahren Sie, worum es beim Cloud-Computing geht und wie Microsoft Azure Sie bei der Migration und Ausführung Ihres Unternehmens aus der Cloud unterstützen kann.

Techopedia erklärt den Compiler

Ein Compiler, der die Maschinensprache in eine natürliche Hochsprache umwandelt, wird als Dekompiler bezeichnet. Compiler, die den Objektcode erzeugen, der auf einem System ausgeführt werden soll, werden als Cross-Compiler bezeichnet. Schließlich wird ein Compiler, der eine Programmiersprache in eine andere konvertiert, als Sprachübersetzer bezeichnet.

Ein Compiler führt vier Hauptschritte aus:

  • Scannen: Der Scanner liest jeweils ein Zeichen aus dem Quellcode und verfolgt, welches Zeichen in welcher Zeile enthalten ist.
  • Lexikalische Analyse: Der Compiler konvertiert die Folge von Zeichen, die im Quellcode vorkommen, in eine Reihe von Zeichenfolgen (sogenannte Token), die von einem Programm, das als lexikalischer Analysator bezeichnet wird, durch eine bestimmte Regel verknüpft werden. Der lexikalische Analysator verwendet eine Symboltabelle, um die Wörter im Quellcode zu speichern, die dem generierten Token entsprechen.
  • Syntaktische Analyse: In diesem Schritt wird eine Syntaxanalyse durchgeführt, bei der vorverarbeitet wird, ob die bei der lexikalischen Analyse erstellten Token in der richtigen Reihenfolge gemäß ihrer Verwendung vorliegen. Die richtige Reihenfolge einer Reihe von Schlüsselwörtern, die zu einem gewünschten Ergebnis führen kann, wird als Syntax bezeichnet. Der Compiler muss den Quellcode überprüfen, um die syntaktische Genauigkeit sicherzustellen.
  • Semantische Analyse: Dieser Schritt besteht aus mehreren Zwischenschritten. Zunächst wird die Struktur der Token sowie deren Reihenfolge in Bezug auf die Grammatik in einer bestimmten Sprache überprüft. Die Bedeutung der Token-Struktur wird vom Parser und Analysator interpretiert, um schließlich einen Zwischencode zu generieren, der als Objektcode bezeichnet wird. Der Objektcode enthält Anweisungen, die die Prozessoraktion für ein entsprechendes Token darstellen, wenn es im Programm angetroffen wird. Schließlich wird der gesamte Code analysiert und interpretiert, um zu überprüfen, ob Optimierungen möglich sind. Sobald Optimierungen durchgeführt werden können, werden die entsprechenden geänderten Token in den Objektcode eingefügt, um den endgültigen Objektcode zu generieren, der in einer Datei gespeichert wird.