Grundlagen der Compiler-Konstruktion

Eingeordnet in Informatik

Geschrieben am in Deutsch mit einer Größe von 4,53 KB

  1. Software-Systeme, die in einem Format verarbeitet werden können, das ein Computer übersetzen und ausführen kann: COMPILER
  2. Dies ist eine weitere verbreitete Art von Sprachprozessor: INTERPRETER (AUSZULEGEN)
  3. Der Compiler bildet ein Quellprogramm in ein Programm mit semantischer Gleichwertigkeit ab; für diese Zuweisung existieren nur wenige Prozesse: ANALYSE UND SYNTHESE
  4. Teilen Sie das Quellprogramm in Komponenten auf und weisen Sie ihnen eine grammatikalische Struktur zu: ANALYSE-TEIL
  5. Erstellen Sie das gewünschte Zielprogramm aus der Zwischendarstellung und den Informationen aus der Symboltabelle: SYNTHESE-TEIL
  6. Seine Hauptaufgabe ist es, die Zeichen im Quellprogramm zu lesen: LEXIKALISCHE ANALYSE (GLOSSAR)
  7. Es besteht aus einfachen Prozessen, die keine Bestimmung von Token am Eingang benötigen: SCANNING
  8. Es ist eine Beschreibung, wie ein Lexem ein Token annimmt: MUSTER (PATRON)
  9. Schreiben Sie ein Beispiel für ein Token: IF, ELSE
  10. Sie bestehen aus Graphen wie Zustandsübergangsdiagrammen, mit einigen Unterschieden: ENDLICHE AUTOMATEN
  11. Die Analyse prüft, ob die Bedeutung dessen, was gelesen wird, korrekt ist: SEMANTIK
  12. Weg, um die theoretische Leistung der Phase der semantischen Analyse darzustellen: BAUM (ARBOL)
  13. Prüfen Sie die Übereinstimmung eines Systemprogramms und seiner Spezifikation ohne Ausführung des Codes: STATISCHE PRÜFUNG
  14. Sie dienen dazu, die semantischen Informationen über einen Code zu verarbeiten: ABSTRAKTE SYNTAXBÄUME
  15. Es besteht aus Terminalen, Nicht-Terminalen, Startsymbol und kontextfreien Produktionen: GRAMMATIKEN
  16. Sie legen fest, wie die Terminale kombiniert werden können, um Nicht-Terminal-Ketten einer Grammatik zu bilden: PRODUKTIONEN
  17. Grammatik, die mehr als eine Ableitung von links oder mehr als einen Ableitungsbaum für denselben Ausdruck erzeugt: MEHRDEUTIGE GRAMMATIK
  18. Für die meisten Parser ist es wünschenswert, dass die Grammatik keine Unklarheiten aufweist. Frage: Warum ist Mehrdeutigkeit nicht zweckmäßig?
  19. Es ist eine Art, BNF-Produktionen zu schreiben: GRAMMATIK
  20. Parsing, das eine Ableitung sucht, indem es von der linken Seite einer Eingabezeichenkette ausgeht: ABSTEIGEND (TOP-DOWN)
  21. Datenstrukturen werden von Compilern zur Speicherung von Informationen über den Aufbau eines Quellprogramms verwendet: SYMBOLTABELLE
  22. Sie enthalten Informationen über einen Bezeichner (z. B. String oder Lexem): TABELLENEINTRÄGE FÜR SYMBOLE
  23. Im Allgemeinen, was muss man tun, um die Symboltabellen in ein Programm zu übertragen? Verschiedene Erklärungen desselben Bezeichners.
  24. Wer erstellt die Einträge in der Symboltabelle? IDENTIFIKATOREN (BEZEICHNER)
  25. Eine Bezeichnung, die sich auf den Umfang einer Deklaration von x bezieht: ID-VERKNÜPFUNG (ENLACE d ID)
  26. Sie profitieren von ihrer Herrschaft über die Verschachtelung von Blöcken in der Nähe: OPTIMIERUNG DER TABELLEN
  27. Regel, die besagt, dass ein Bezeichner x im Geltungsbereich der Deklaration des am nächsten verschachtelten Blocks liegt: REGEL DES NÄCHSTEN X
  28. Es ist die Darstellung des Zwischen-Quellprogramms, das vom Front-End erstellt wurde: FRONT-END
  29. Gemeinsame Architekturen des Zielsystems.
  30. Der Codegenerator muss das Programm in ein Zwischenprodukt umwandeln, damit der Zielrechner den Code ausführen kann. Erwähnen Sie zwei Faktoren, die die Komplexität dieser Zuweisung beeinflussen.
  31. Erklären Sie in Ihren Worten jede Phase der Analyse eines Compilers:
    • Lexikalische Analyse: erhält Eingabe von Zeichen.
    • Syntaktische Analyse: prüft, ob Anweisungen richtig geschrieben sind.
    • Semantische Analyse: beauftragt mit der Anweisung in einer logischen Abfolge.
    • Zwischencodegenerierung: Code fast fertig zum Testen.
    • Code-Optimierung: Code verbessert oder unnötige Prüfungen entfernt.
    • Codegenerierung: Der endgültige Code wurde erstellt.

Verwandte Einträge: