Sprachübersetzung Flashcards

(9 cards)

1
Q

Ablauf

A

Lexikalische Analyse
Syntaxanalyse
Semqntische Analyse
(Code-Optimierung)
Codegenerierung

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Programmiersprachen

A
  • notationelles System zur Beschreibung von Berechnungen in durch Maschinen und Menschen lesbare Form
  • Berechnung: Nachweis der Berechenbarkeit z.B durch die Turing-Maschine
  • Maschinenlesbareit: Eindeutige Übersetzung mit vertretbarer Komplexität
  • Lesbarkeit durch Menschen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Kontextfreie Grammatik

A
  • Menge grammatischer Regeln
  • Nichtterminalsymbole (Namen für Strukturen)
    -Terminalsymbole (Token)
  • Produktionen (Regeln)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Interpreter

A

Liest Zeiefür Zeile und führt Code aus
Eingabe > Interpreter > Ausgabe

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Compilieren

A

Compiler: Aus Quellcode Zielprogramm (Assemblerprogramm)
Assembler: Zielcode in Objektcode
Linker: Objektcode in ausführbaren Code (mit anderen Objektprogrammen verbunden und in passende Speicherstellen geladen)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Lexikalische Analyse

A

SCANNER
E: Quellprogramm in Form einer Zeichenkette
A: Programm aus Folge von Token (Folge von Zeichen, die bedeutungsgemäß zusammengehören, Identifikatoren, Zahlen, Sondersymbole), Anlegung Identifikationstabellen
Aufgaben:
- Überprüfung, ob alle Zeichen aus Quellsprache sind
- Erkennung Token
- Entfernung irrelevanter Zeichenfolgen (Kommentare, Leerzeichen,…)
Fehler: ungültige Zeichen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Syntaxanalyse

A

PARSER
E: Tokenreihe
A: Zeichenreihe von E, Ableitunsbaum des Programms
Aufgabe: Überprüfung strukturelle Korrektheit eines Programms
Fahler: fehlende Token, verstümmelte Ausdrücke

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Semantische Analyse

A

PARSER
E: Ableitungsbaum
A: Attributierter abstrakter Baum + Informationen für Codegenerierung und Optimierung
Aufgabe: Überprüfungen Kontextbedingungen (Programm übersetzbar?)
Fehler:
- statisch (unverträgliche Datentypen, nicht deklarierte Variablen)
- dynamisch (Bereichsüberschreitungen, Division durch 0)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Codeerzeugung

A

Ziel:
- Datenelementen wird Hauptspeicherplatz zugewiesen
- für jedes syntaktische Element machinensprachliche Anweisungen
1. Stufe: Aufbau Symboltabelle
> Name
> Typ
> Hauptspeicheradresse

  1. Stufe: Erzeugung Maschinencode
    > für jedes syntaktische Element durch Codegenerator
How well did you know this?
1
Not at all
2
3
4
5
Perfectly