Programmiersprachen at Technische Hochschule Nürnberg

Flashcards and summaries for Programmiersprachen at the Technische Hochschule Nürnberg

Arrow Arrow

It’s completely free

studysmarter schule studium
d

4.5 /5

studysmarter schule studium
d

4.8 /5

studysmarter schule studium
d

4.5 /5

studysmarter schule studium
d

4.8 /5

Study with flashcards and summaries for the course Programmiersprachen at the Technische Hochschule Nürnberg

Exemplary flashcards for Programmiersprachen at the Technische Hochschule Nürnberg on StudySmarter:

Was ist der Unterschied zwischen einem Interpreter und einem Compiler?

Exemplary flashcards for Programmiersprachen at the Technische Hochschule Nürnberg on StudySmarter:

Was versteht man unter Just-in-Time Übersetzung?

Exemplary flashcards for Programmiersprachen at the Technische Hochschule Nürnberg on StudySmarter:

Was macht einen schnellen Compiler aus?

Exemplary flashcards for Programmiersprachen at the Technische Hochschule Nürnberg on StudySmarter:

Was macht ein Scanner (lexikalische Analyse)

Exemplary flashcards for Programmiersprachen at the Technische Hochschule Nürnberg on StudySmarter:

Was ist eine id für ein Token?

Exemplary flashcards for Programmiersprachen at the Technische Hochschule Nürnberg on StudySmarter:

Wie wird ein Scanner implementiert?

Exemplary flashcards for Programmiersprachen at the Technische Hochschule Nürnberg on StudySmarter:

Was macht ein Parser?

Exemplary flashcards for Programmiersprachen at the Technische Hochschule Nürnberg on StudySmarter:

Implementierung eines Parsers?

Exemplary flashcards for Programmiersprachen at the Technische Hochschule Nürnberg on StudySmarter:

Was für Parser gibt es?

Exemplary flashcards for Programmiersprachen at the Technische Hochschule Nürnberg on StudySmarter:

Was versteht man unter Der Semantischen Analyse

Exemplary flashcards for Programmiersprachen at the Technische Hochschule Nürnberg on StudySmarter:

Was ist die Symboltabelle?

Exemplary flashcards for Programmiersprachen at the Technische Hochschule Nürnberg on StudySmarter:

Was ist der AST?

Your peers in the course Programmiersprachen at the Technische Hochschule Nürnberg create and share summaries, flashcards, study plans and other learning materials with the intelligent StudySmarter learning app.

Get started now!

Flashcard Flashcard

Exemplary flashcards for Programmiersprachen at the Technische Hochschule Nürnberg on StudySmarter:

Programmiersprachen

Was ist der Unterschied zwischen einem Interpreter und einem Compiler?
Der Interpreter erstellt aus dem Quellcode und Input direkt einen Output (Skript Sprachen).
Der Compile Übersetzt den Quellcode in ein Maschinenprogramm und das Maschinenprogramm erzeugt aus Input einen Output

Programmiersprachen

Was versteht man unter Just-in-Time Übersetzung?
1. Ahead-of-Time Übersetzung in Zwischencode. Erledigt aufwendige Verarbeitungsschritte wie Syntaxanalyse und Typprüfungen, erzeug einem Portable Zwischencode
2. Just-in-Time Übersetzung
Übersetzt den Zwischencode in für eine konkrete Hardware optimierten Maschinencode
I.dR schneller als Interpreter 
Aber: wegen JIT Compiler langsamerer Start

Programmiersprachen

Was macht einen schnellen Compiler aus?
Vermeidet mehrfache Läufe über das Programm
Vermeidet Datenstrukturen wie Token-Datei oder Ableitungsbaum
Übersetzt incremental nur geänderten Code

Programmiersprachen

Was macht ein Scanner (lexikalische Analyse)
Scanner zerlegt Programmtext in:
  • Token (lexikalische Einheiten)
    • Schlüsselwörter
    • Satzzeichen,Operatorsymbole
    • Bezeichner
    • Zahlen
    • Zeichenkettenkonstanten, Zeichenkonstanten...
werden an Parser Weitergeben.
  • Zeilenumbrüche, Leerraum, Kommentare, Präprozessoranweisungen... steuern Abgrenzung, Überspringung der Token für die nachfolgende Syntaxanalyse unwichtig

Programmiersprachen

Was ist eine id für ein Token?
Id ist Ein Bezeichner Token zB Methodenname
Id(Factorial)

Programmiersprachen

Wie wird ein Scanner implementiert?
Deterministischer Endlicher Automat (DFA)

Programmiersprachen

Was macht ein Parser?
Ein Parserr kümmert sich um die syntaktische Analyse. Er rekonstruiert einen Ableitungsbaum gemäß der kontextfreien Syntax der Sprache

Programmiersprachen

Implementierung eines Parsers?
Parser ist Hauptprogramm des Compilers (syntax gesteuerte Übersetzung)
  • Fordert Tokens vom Scanner an
  • Jede erkannte Produktion erzeugt einen Knoten eines Ableitungsbaums
  • oft gleich einen reduzierten Baum für semantische Analyse, den AST (Abstract Syntax Tree)

Parser implementieren einen Kellerautomaten
  • Beruht auf Kontextfreier Grammatik
  • Verwendet i.d.R Tabelle mit Zustandübergangsfunktionen

Programmiersprachen

Was für Parser gibt es?
LL Parser:
  • LL : Left-to-right, Left-most derivation
  • LL(k) : k ist Anzahl der benötigten Vorauschau TOkens
  • LL(1) : besonders einfacher Parser( z.B rekursiver Abstieg)

LR: Parser:
  • LR : Left-to-Right, Right-mostderivation
  • LR-Parser können mehr als LL Parser ( zu jeder LL(k) Sprache gibt es einen LR(1)-Parser
  • LR(1) genügt (zu jeder LR(k größer 1) Sprache gibt es einen LR(1) Parser

Programmiersprachen

Was versteht man unter Der Semantischen Analyse
Semantik = Bedeutung eines Programms

Semantische Analyse untersucht nur statische Bindungen (Bezeichner an Object, Typ and Object, etc)

Semantische Analyse erzeugt:
  • Symboltabelle und
  • Abstrakter Syntaxbaum (AST)

Programmiersprachen

Was ist die Symboltabelle?
Symboltabelle sammelt Deklarationen/Definitionen im Ableitungsbaum, enthält Bindungen von Namen und Objekten:
   Arten von benannten Objekten: Namensraum, Typ,                 
   Methode/Funktion, Parameter, Variable, Konstante
Ergänzt statische Bindungen(Merkmale) der Objekte
   Typ, Adresse, Sichbarkeit, innere Gültigkeitsbereich
Baumstruktur entspricht statischen Gültigkeitsbereichen

Verwendung eines Namens kann aufgelöst werden = in der Umgebung gesucht und einem Objekt zugeordnet werden
Mehrdeutige Namen wird auf eindeutiges Symbol abgebildet

Programmiersprachen

Was ist der AST?
Abstract Syntax Tree
Zwischencode mit Baumstruktur als reduzierte Form des Ableitungsbaums
Keine Satzzeichen
Operationen bilden Elternkronten, Operanden die Kinder

Sequenzen werden verkettet
Keine Deklarationen, sind in der Symboltabelle
Verwendete Namen sind durch Verweise in die Symboltabelle aufgelöst

Sign up for free to see all flashcards and summaries for Programmiersprachen at the Technische Hochschule Nürnberg

Singup Image Singup Image
Wave

Other courses from your degree program

For your degree program Programmiersprachen at the Technische Hochschule Nürnberg there are already many courses on StudySmarter, waiting for you to join them. Get access to flashcards, summaries, and much more.

Back to Technische Hochschule Nürnberg overview page

ENGLISCH

SoftwareArchitektur

MachineLearning

Funktionale Programmierung

What is StudySmarter?

What is StudySmarter?

StudySmarter is an intelligent learning tool for students. With StudySmarter you can easily and efficiently create flashcards, summaries, mind maps, study plans and more. Create your own flashcards e.g. for Programmiersprachen at the Technische Hochschule Nürnberg or access thousands of learning materials created by your fellow students. Whether at your own university or at other universities. Hundreds of thousands of students use StudySmarter to efficiently prepare for their exams. Available on the Web, Android & iOS. It’s completely free.

Awards

Best EdTech Startup in Europe

Awards
Awards

EUROPEAN YOUTH AWARD IN SMART LEARNING

Awards
Awards

BEST EDTECH STARTUP IN GERMANY

Awards
Awards

Best EdTech Startup in Europe

Awards
Awards

EUROPEAN YOUTH AWARD IN SMART LEARNING

Awards
Awards

BEST EDTECH STARTUP IN GERMANY

Awards