Advertisement
Mikescher

Klausur Technische Informatik II

Feb 17th, 2014
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Compilerbau
  2. ##############
  3.  
  4. 2)
  5. 1. Wie ist ein Übersetzer strukturiert? Beschreiben sie kurz die Aufgaben und Ergebnise der einzelnen Phasen! (3P.)
  6. 2. Welche internen Darstellungen verwendet ein Übersetzer (des Quellcodes)? (3P.)
  7. 3. Welche Rolle spielt die Grammatik einer Sprache? (2P.)
  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. 3. Was bedeutet Linksableitung?
  14. 4. Was bedeutet Eindeutigkeit einer Grammatik?
  15. 5. Gegeben sei folgende Sprache (...) Höchster Typ? Erzeugende Grammatik?
  16. T={x,y}
  17. a) L={x^n|n >= 0}
  18. b) L={x^n*y^m|n,m >= 0}
  19. 6. Theoretische LR(K) k >= 2 notwendig? Begründung? [Zeichenvorrausschau]
  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.  
  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. a) Operator linksassoziativ festlegen
  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. 3. LR-Parser
  80. a) Wie werden Grammatikkonflikte by-default von Parsergeneratoren gelöst?
  81. b) Welche weiteren Konfliktlösungsansätze kann ein Compilerbauer noch anwenden?
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement