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? |