View difference between Paste ID: it2X5X0S and JXiwJfWT
SHOW: | | - or go back to the newest paste.
1
Compilerbau
2-
(# unleserliches Zeichen)
2+
##############
3
4
2) 
5
1. Wie ist ein Übersetzer strukturiert? Beschreiben sie kurz die Aufgaben und Ergebnise der einzelnen Phasen! (3P.)
6-
1.
6+
7-
Wie ist ein Übersetzer strukturiert? Beschreiben sie kurz die Aufgaben und Ergebnise der einzelnen Phasen! (3P.)
7+
8
9
3)
10
1. Grammatik G=(...) ? [Angeschrieben] (2P.)
11
2. Definition der Chomski-Hierarchie. Name der Grammatikklasse und Form der Grammatikregel! 
12
   (1)    (2)    (3)    (4)
13-
2.Definition der Chomski-Hierarchie. Name der Grammatikklasse und Form der Grammatikregel! 
13+
14-
(1)	(2)	(3)	(4)
14+
15
5. Gegeben sei folgende Sprache (...) Höchster Typ? Erzeugende Grammatik?
16
   T={x,y}
17
   a) L={x^n|n >= 0}
18-
T={x,y}
18+
   b) L={x^n*y^m|n,m >= 0}
19-
a) L={x^n|n >= 0}
19+
20-
b) L={x^n*y^m|n,m >= 0}
20+
21
4)
22
23
1. LARK + AST
24
|Wait ... |
25
|END BNF  |
26
a) AST der beiden Listen?
27
b) möglichst vollständige LARK-Spezifikation
28
2. 
29
a) AST zur Darstellung dieser Anweisung. Skizziere Darstellung der Knoten und "Vererbungshierarchie"
30
EXP = <
31
no_expr.    = .
32
name        = (Name: tIdent).
33
int_const   = [Value: int].
34
binary_expr = [Op: char ]
35
	     Left:  EXPR
36
	     Right: EXPR
37
b) Geben sie den wesentlichen Abschnitt der Spezifikation für das Werkzeug AST an
38
c) Zeichnen sie den abstrakten Syntaxbaum
39-
b)Geben sie den wesentlichen Abschnitt der Spezifikation für das Werkzeug AST an
39+
40
5)
41
1. Kann man aus einer rekursiven Grammatik einen Top-down-Parser erzeugen? Transformationsschema?
42
2. G=(N,T,P,E) N={E}	T={i,+}	P={E::=E'+'E, E::=i}   
43
3. Implementiere einen deterministischen, rekursiven Abstiegsparser in REX (name: scan)
44-
2. G=(N,T,P,E) N={E}	T={i,+}	P={E::=E'+'*E#i}   3. Implementiere einen deterministischen, nicht #nucularen#, rekursiven Abstiegsparser in REX (name: scan)
44+
45
b) Grammatik transormieren
46
c) LL(n)-Bed. erfüllt? (Rechnung!!!)
47
d) Setze Programmcode c-ähnlich um (Token-Funktion explizit ist ausreichend)
48
e) Wo können Syntaxfehlermeldungen ausgegeben werden? Welche Info?
49
50
6) Attributgrammatiken
51
1. Beschreiben sie die Berechnung synthetischer Attribute
52
2. Beschreiben sie die Berechnung vererbter Attribute
53
3. Andere "Arten" von Attributen?
54
4. Definieren eines abstrakten Syntaxbaumes
55
TREE code_tree
56
EXPR = <
57
unary_expr  = [Op: char]
58
	     arg: EXPR
59
binary_expr = [Op: char]
60
	     Left: EXPR
61
	     Right: EXPR
62
identifier  = (Name: tIdent)
63
5. Gib eine Attributgrammatik an, die für die Kanten K die Anzahl aller Unterknoten bestimmt.
64
6. Bestimmen sie die Berechnungsart des COUNT-Attributs
65
   MODULE count
66
   TREE code_tree
67
   EVAL eval
68
   DECLARE
69
	EXPR (Count: int _____).
70
   RULE
71
	identifier  = {}
72
	unary_expr  = {}
73
	binary_expr = {}
74
   END COUNT
75
76
7) Werkzeuge
77
1. Typ der Sprache, damit LEX/REX automatische Akteure generieren können?
78
2. Welche Art von Automat wird hierfür erzeugt?
79-
2. Welche Art von #Antomul# wird hierfür erzeugt?
79+
3. LR-Parser
80-
3) LR-Parser
80+
81
b) Welche weiteren Konfliktlösungsansätze kann ein Compilerbauer noch anwenden?