<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.stageing.freitagsrunde.org//api.php?action=feedcontributions&amp;feedformat=atom&amp;user=89.247.204.252</id>
	<title>FreitagsrundenWiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.stageing.freitagsrunde.org//api.php?action=feedcontributions&amp;feedformat=atom&amp;user=89.247.204.252"/>
	<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//Spezial:Beitr%C3%A4ge/89.247.204.252"/>
	<updated>2026-11-01T14:24:25Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.45.6</generator>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=PSS_Ged%C3%A4chtnisprotokoll_Klausur_WS0910&amp;diff=13340</id>
		<title>PSS Gedächtnisprotokoll Klausur WS0910</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=PSS_Ged%C3%A4chtnisprotokoll_Klausur_WS0910&amp;diff=13340"/>
		<updated>2010-02-17T09:58:39Z</updated>

		<summary type="html">&lt;p&gt;89.247.204.252: /* Aufgabe 2 (13 Punkte) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Aufgabe 1 (11 Punkte) ==&lt;br /&gt;
&lt;br /&gt;
 E -&amp;gt; E + A &lt;br /&gt;
    | E - A &lt;br /&gt;
    | A&lt;br /&gt;
 A -&amp;gt; ( E ) &lt;br /&gt;
    | ide&lt;br /&gt;
&lt;br /&gt;
Grammatik umformen und originale und umgeformte Grammatiken auf LL(1) prüfen (mit DirectorSets)&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 2 (13 Punkte) ==&lt;br /&gt;
&lt;br /&gt;
Absy (2 Punkte) und Parser ohne Fehlerbehandlung (11 Punkte) für Java Methodenaufrufe&lt;br /&gt;
&lt;br /&gt;
Beispielsatz: x.f(y.g(y,a),b)&lt;br /&gt;
&lt;br /&gt;
Originale und umgeformte Grammatiken waren vorgegeben, aber ohne semantische Aktionen&lt;br /&gt;
&lt;br /&gt;
Falls Kombinatorparser, musste man die Standardkombinatoren ( ; | ), read, shift, usw. nicht hinschreiben&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 3 (6 Punkte) ==&lt;br /&gt;
&lt;br /&gt;
Typcheck von where-Ausdruck:  (...) where (v == ...)&lt;br /&gt;
&lt;br /&gt;
Gegeben war:&lt;br /&gt;
&lt;br /&gt;
  DATA Expr == where(e1:Expr, ide:denotation, e2:Expr)&lt;br /&gt;
               ...&lt;br /&gt;
&lt;br /&gt;
 FUN typecheck : expr ** env -&amp;gt; result&lt;br /&gt;
&lt;br /&gt;
 DATA result == avail(t:Type)&lt;br /&gt;
                nil&lt;br /&gt;
&lt;br /&gt;
und die Lambda Kalkül Regel:&lt;br /&gt;
&lt;br /&gt;
 gamma, v:t2 |- e1:t1 , gamma |- e2:t2&lt;br /&gt;
 --------------------------------------&lt;br /&gt;
 gamma |- where(e1:t1, v:t2, e2:t2) : t1&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 4 (7 Punkte) ==&lt;br /&gt;
&lt;br /&gt;
Unifikation:&lt;br /&gt;
&lt;br /&gt;
 FUN lengthOne : seq[alpha] -&amp;gt; bool&lt;br /&gt;
 FUN filter : (alpha -&amp;gt; bool) ** seq[alpha] -&amp;gt; seq[alpha]&lt;br /&gt;
&lt;br /&gt;
 DEF f == \\s. filter(lengthOne)(s)&lt;br /&gt;
&lt;br /&gt;
Baum für f (als Abstraktion) war vorgegeben und musste auf Typkorrektheit geprüft werden.  D.h. Typgleichungen angeben und Unifikation durchführen.&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 5 (7 Punkte) ==&lt;br /&gt;
&lt;br /&gt;
SECD ausführen für den Ausdruck:  (\\x.add(x 2))(4)&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 6 (4+1+1 = 6 Punkte) ==&lt;br /&gt;
&lt;br /&gt;
1) Stack Machine Code für Funktion generieren:&lt;br /&gt;
&lt;br /&gt;
 int f(n) {&lt;br /&gt;
  if(n &amp;lt; 2) {&lt;br /&gt;
    return n;&lt;br /&gt;
  } else {&lt;br /&gt;
    return 3 * f(n - 2);&lt;br /&gt;
  }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Angegeben war Pseudocode-Befehle wie load&amp;lt;n&amp;gt;, lt, ret, goto-on-false L, mul, sub, call L&lt;br /&gt;
&lt;br /&gt;
2) 2 Varianten von Code für eine while-Schleife angegeben: einmal Naive Variante und einmal aus der VL Besprochene Optimierung&lt;br /&gt;
&lt;br /&gt;
Gefragt war welche Variante besser war.&lt;br /&gt;
&lt;br /&gt;
3) 2 Varianten von Code für einen mathematischen Ausdruck war vorgegeben.  Einmal naive Variante, einmal mit dem tieferen Baum zuerst ausgeführt.  Gefragt war welche Variante besser ist.&lt;/div&gt;</summary>
		<author><name>89.247.204.252</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=PSS_Ged%C3%A4chtnisprotokoll_Klausur_WS0910&amp;diff=13339</id>
		<title>PSS Gedächtnisprotokoll Klausur WS0910</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=PSS_Ged%C3%A4chtnisprotokoll_Klausur_WS0910&amp;diff=13339"/>
		<updated>2010-02-17T09:56:16Z</updated>

		<summary type="html">&lt;p&gt;89.247.204.252: /* Aufgabe 6 (6 Punkte) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Aufgabe 1 (11 Punkte) ==&lt;br /&gt;
&lt;br /&gt;
 E -&amp;gt; E + A &lt;br /&gt;
    | E - A &lt;br /&gt;
    | A&lt;br /&gt;
 A -&amp;gt; ( E ) &lt;br /&gt;
    | ide&lt;br /&gt;
&lt;br /&gt;
Grammatik umformen und originale und umgeformte Grammatiken auf LL(1) prüfen (mit DirectorSets)&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 2 (13 Punkte) ==&lt;br /&gt;
&lt;br /&gt;
Absy (2 Punkte) und Parser (11 Punkte) für Java Methodenaufrufe&lt;br /&gt;
&lt;br /&gt;
Beispielsatz: x.f(y.g(y,a),b)&lt;br /&gt;
&lt;br /&gt;
Originale und umgeformte Grammatiken waren vorgegeben, aber ohne semantische Aktionen&lt;br /&gt;
&lt;br /&gt;
Falls Kombinatorparser, musste man die Standardkombinatoren ( ; | ), read, shift, usw. nicht hinschreiben&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 3 (6 Punkte) ==&lt;br /&gt;
&lt;br /&gt;
Typcheck von where-Ausdruck:  (...) where (v == ...)&lt;br /&gt;
&lt;br /&gt;
Gegeben war:&lt;br /&gt;
&lt;br /&gt;
  DATA Expr == where(e1:Expr, ide:denotation, e2:Expr)&lt;br /&gt;
               ...&lt;br /&gt;
&lt;br /&gt;
 FUN typecheck : expr ** env -&amp;gt; result&lt;br /&gt;
&lt;br /&gt;
 DATA result == avail(t:Type)&lt;br /&gt;
                nil&lt;br /&gt;
&lt;br /&gt;
und die Lambda Kalkül Regel:&lt;br /&gt;
&lt;br /&gt;
 gamma, v:t2 |- e1:t1 , gamma |- e2:t2&lt;br /&gt;
 --------------------------------------&lt;br /&gt;
 gamma |- where(e1:t1, v:t2, e2:t2) : t1&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 4 (7 Punkte) ==&lt;br /&gt;
&lt;br /&gt;
Unifikation:&lt;br /&gt;
&lt;br /&gt;
 FUN lengthOne : seq[alpha] -&amp;gt; bool&lt;br /&gt;
 FUN filter : (alpha -&amp;gt; bool) ** seq[alpha] -&amp;gt; seq[alpha]&lt;br /&gt;
&lt;br /&gt;
 DEF f == \\s. filter(lengthOne)(s)&lt;br /&gt;
&lt;br /&gt;
Baum für f (als Abstraktion) war vorgegeben und musste auf Typkorrektheit geprüft werden.  D.h. Typgleichungen angeben und Unifikation durchführen.&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 5 (7 Punkte) ==&lt;br /&gt;
&lt;br /&gt;
SECD ausführen für den Ausdruck:  (\\x.add(x 2))(4)&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 6 (4+1+1 = 6 Punkte) ==&lt;br /&gt;
&lt;br /&gt;
1) Stack Machine Code für Funktion generieren:&lt;br /&gt;
&lt;br /&gt;
 int f(n) {&lt;br /&gt;
  if(n &amp;lt; 2) {&lt;br /&gt;
    return n;&lt;br /&gt;
  } else {&lt;br /&gt;
    return 3 * f(n - 2);&lt;br /&gt;
  }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Angegeben war Pseudocode-Befehle wie load&amp;lt;n&amp;gt;, lt, ret, goto-on-false L, mul, sub, call L&lt;br /&gt;
&lt;br /&gt;
2) 2 Varianten von Code für eine while-Schleife angegeben: einmal Naive Variante und einmal aus der VL Besprochene Optimierung&lt;br /&gt;
&lt;br /&gt;
Gefragt war welche Variante besser war.&lt;br /&gt;
&lt;br /&gt;
3) 2 Varianten von Code für einen mathematischen Ausdruck war vorgegeben.  Einmal naive Variante, einmal mit dem tieferen Baum zuerst ausgeführt.  Gefragt war welche Variante besser ist.&lt;/div&gt;</summary>
		<author><name>89.247.204.252</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=PSS_Ged%C3%A4chtnisprotokoll_Klausur_WS0910&amp;diff=13338</id>
		<title>PSS Gedächtnisprotokoll Klausur WS0910</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=PSS_Ged%C3%A4chtnisprotokoll_Klausur_WS0910&amp;diff=13338"/>
		<updated>2010-02-17T09:55:05Z</updated>

		<summary type="html">&lt;p&gt;89.247.204.252: /* Aufgabe 4 (etwa 7 Punkte) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Aufgabe 1 (11 Punkte) ==&lt;br /&gt;
&lt;br /&gt;
 E -&amp;gt; E + A &lt;br /&gt;
    | E - A &lt;br /&gt;
    | A&lt;br /&gt;
 A -&amp;gt; ( E ) &lt;br /&gt;
    | ide&lt;br /&gt;
&lt;br /&gt;
Grammatik umformen und originale und umgeformte Grammatiken auf LL(1) prüfen (mit DirectorSets)&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 2 (13 Punkte) ==&lt;br /&gt;
&lt;br /&gt;
Absy (2 Punkte) und Parser (11 Punkte) für Java Methodenaufrufe&lt;br /&gt;
&lt;br /&gt;
Beispielsatz: x.f(y.g(y,a),b)&lt;br /&gt;
&lt;br /&gt;
Originale und umgeformte Grammatiken waren vorgegeben, aber ohne semantische Aktionen&lt;br /&gt;
&lt;br /&gt;
Falls Kombinatorparser, musste man die Standardkombinatoren ( ; | ), read, shift, usw. nicht hinschreiben&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 3 (6 Punkte) ==&lt;br /&gt;
&lt;br /&gt;
Typcheck von where-Ausdruck:  (...) where (v == ...)&lt;br /&gt;
&lt;br /&gt;
Gegeben war:&lt;br /&gt;
&lt;br /&gt;
  DATA Expr == where(e1:Expr, ide:denotation, e2:Expr)&lt;br /&gt;
               ...&lt;br /&gt;
&lt;br /&gt;
 FUN typecheck : expr ** env -&amp;gt; result&lt;br /&gt;
&lt;br /&gt;
 DATA result == avail(t:Type)&lt;br /&gt;
                nil&lt;br /&gt;
&lt;br /&gt;
und die Lambda Kalkül Regel:&lt;br /&gt;
&lt;br /&gt;
 gamma, v:t2 |- e1:t1 , gamma |- e2:t2&lt;br /&gt;
 --------------------------------------&lt;br /&gt;
 gamma |- where(e1:t1, v:t2, e2:t2) : t1&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 4 (7 Punkte) ==&lt;br /&gt;
&lt;br /&gt;
Unifikation:&lt;br /&gt;
&lt;br /&gt;
 FUN lengthOne : seq[alpha] -&amp;gt; bool&lt;br /&gt;
 FUN filter : (alpha -&amp;gt; bool) ** seq[alpha] -&amp;gt; seq[alpha]&lt;br /&gt;
&lt;br /&gt;
 DEF f == \\s. filter(lengthOne)(s)&lt;br /&gt;
&lt;br /&gt;
Baum für f (als Abstraktion) war vorgegeben und musste auf Typkorrektheit geprüft werden.  D.h. Typgleichungen angeben und Unifikation durchführen.&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 5 (7 Punkte) ==&lt;br /&gt;
&lt;br /&gt;
SECD ausführen für den Ausdruck:  (\\x.add(x 2))(4)&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 6 (6 Punkte) ==&lt;br /&gt;
&lt;br /&gt;
1) Stack Machine Code für Funktion generieren:&lt;br /&gt;
&lt;br /&gt;
 int f(n) {&lt;br /&gt;
  if(n &amp;lt; 2) {&lt;br /&gt;
    return n;&lt;br /&gt;
  } else {&lt;br /&gt;
    return 3 * f(n - 2);&lt;br /&gt;
  }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Angegeben war Pseudocode-Befehle wie load&amp;lt;n&amp;gt;, lt, ret, goto-on-false L, mul, sub, call L&lt;br /&gt;
&lt;br /&gt;
2) 2 Varianten von Code für eine while-Schleife angegeben: einmal Naive Variante und einmal aus der VL Besprochene Optimierung&lt;br /&gt;
&lt;br /&gt;
Gefragt war welche Variante besser war.&lt;br /&gt;
&lt;br /&gt;
3) 2 Varianten von Code für einen mathematischen Ausdruck war vorgegeben.  Einmal naive Variante, einmal mit dem tieferen Baum zuerst ausgeführt.  Gefragt war welche Variante besser ist.&lt;/div&gt;</summary>
		<author><name>89.247.204.252</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=PSS_Ged%C3%A4chtnisprotokoll_Klausur_WS0910&amp;diff=13337</id>
		<title>PSS Gedächtnisprotokoll Klausur WS0910</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=PSS_Ged%C3%A4chtnisprotokoll_Klausur_WS0910&amp;diff=13337"/>
		<updated>2010-02-17T09:53:46Z</updated>

		<summary type="html">&lt;p&gt;89.247.204.252: /* Aufgabe 4 (etwa 7 Punkte) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Aufgabe 1 (11 Punkte) ==&lt;br /&gt;
&lt;br /&gt;
 E -&amp;gt; E + A &lt;br /&gt;
    | E - A &lt;br /&gt;
    | A&lt;br /&gt;
 A -&amp;gt; ( E ) &lt;br /&gt;
    | ide&lt;br /&gt;
&lt;br /&gt;
Grammatik umformen und originale und umgeformte Grammatiken auf LL(1) prüfen (mit DirectorSets)&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 2 (13 Punkte) ==&lt;br /&gt;
&lt;br /&gt;
Absy (2 Punkte) und Parser (11 Punkte) für Java Methodenaufrufe&lt;br /&gt;
&lt;br /&gt;
Beispielsatz: x.f(y.g(y,a),b)&lt;br /&gt;
&lt;br /&gt;
Originale und umgeformte Grammatiken waren vorgegeben, aber ohne semantische Aktionen&lt;br /&gt;
&lt;br /&gt;
Falls Kombinatorparser, musste man die Standardkombinatoren ( ; | ), read, shift, usw. nicht hinschreiben&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 3 (6 Punkte) ==&lt;br /&gt;
&lt;br /&gt;
Typcheck von where-Ausdruck:  (...) where (v == ...)&lt;br /&gt;
&lt;br /&gt;
Gegeben war:&lt;br /&gt;
&lt;br /&gt;
  DATA Expr == where(e1:Expr, ide:denotation, e2:Expr)&lt;br /&gt;
               ...&lt;br /&gt;
&lt;br /&gt;
 FUN typecheck : expr ** env -&amp;gt; result&lt;br /&gt;
&lt;br /&gt;
 DATA result == avail(t:Type)&lt;br /&gt;
                nil&lt;br /&gt;
&lt;br /&gt;
und die Lambda Kalkül Regel:&lt;br /&gt;
&lt;br /&gt;
 gamma, v:t2 |- e1:t1 , gamma |- e2:t2&lt;br /&gt;
 --------------------------------------&lt;br /&gt;
 gamma |- where(e1:t1, v:t2, e2:t2) : t1&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 4 (etwa 7 Punkte) ==&lt;br /&gt;
&lt;br /&gt;
Unifikation:&lt;br /&gt;
&lt;br /&gt;
 FUN lengthOne : seq[alpha] -&amp;gt; bool&lt;br /&gt;
 FUN filter : (alpha -&amp;gt; bool) ** seq[alpha] -&amp;gt; seq[alpha]&lt;br /&gt;
&lt;br /&gt;
 DEF f == \\s. filter(lengthOne)(s)&lt;br /&gt;
&lt;br /&gt;
Baum für f (als Abstraktion) war vorgegeben und musste auf Typkorrektheit geprüft werden.  D.h. Typgleichungen angeben und Unifikation durchführen.&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 5 (7 Punkte) ==&lt;br /&gt;
&lt;br /&gt;
SECD ausführen für den Ausdruck:  (\\x.add(x 2))(4)&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 6 (6 Punkte) ==&lt;br /&gt;
&lt;br /&gt;
1) Stack Machine Code für Funktion generieren:&lt;br /&gt;
&lt;br /&gt;
 int f(n) {&lt;br /&gt;
  if(n &amp;lt; 2) {&lt;br /&gt;
    return n;&lt;br /&gt;
  } else {&lt;br /&gt;
    return 3 * f(n - 2);&lt;br /&gt;
  }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Angegeben war Pseudocode-Befehle wie load&amp;lt;n&amp;gt;, lt, ret, goto-on-false L, mul, sub, call L&lt;br /&gt;
&lt;br /&gt;
2) 2 Varianten von Code für eine while-Schleife angegeben: einmal Naive Variante und einmal aus der VL Besprochene Optimierung&lt;br /&gt;
&lt;br /&gt;
Gefragt war welche Variante besser war.&lt;br /&gt;
&lt;br /&gt;
3) 2 Varianten von Code für einen mathematischen Ausdruck war vorgegeben.  Einmal naive Variante, einmal mit dem tieferen Baum zuerst ausgeführt.  Gefragt war welche Variante besser ist.&lt;/div&gt;</summary>
		<author><name>89.247.204.252</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=PSS_Ged%C3%A4chtnisprotokoll_Klausur_WS0910&amp;diff=13336</id>
		<title>PSS Gedächtnisprotokoll Klausur WS0910</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=PSS_Ged%C3%A4chtnisprotokoll_Klausur_WS0910&amp;diff=13336"/>
		<updated>2010-02-17T09:51:16Z</updated>

		<summary type="html">&lt;p&gt;89.247.204.252: /* Aufgabe 3 (6 Punkte) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Aufgabe 1 (11 Punkte) ==&lt;br /&gt;
&lt;br /&gt;
 E -&amp;gt; E + A &lt;br /&gt;
    | E - A &lt;br /&gt;
    | A&lt;br /&gt;
 A -&amp;gt; ( E ) &lt;br /&gt;
    | ide&lt;br /&gt;
&lt;br /&gt;
Grammatik umformen und originale und umgeformte Grammatiken auf LL(1) prüfen (mit DirectorSets)&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 2 (13 Punkte) ==&lt;br /&gt;
&lt;br /&gt;
Absy (2 Punkte) und Parser (11 Punkte) für Java Methodenaufrufe&lt;br /&gt;
&lt;br /&gt;
Beispielsatz: x.f(y.g(y,a),b)&lt;br /&gt;
&lt;br /&gt;
Originale und umgeformte Grammatiken waren vorgegeben, aber ohne semantische Aktionen&lt;br /&gt;
&lt;br /&gt;
Falls Kombinatorparser, musste man die Standardkombinatoren ( ; | ), read, shift, usw. nicht hinschreiben&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 3 (6 Punkte) ==&lt;br /&gt;
&lt;br /&gt;
Typcheck von where-Ausdruck:  (...) where (v == ...)&lt;br /&gt;
&lt;br /&gt;
Gegeben war:&lt;br /&gt;
&lt;br /&gt;
  DATA Expr == where(e1:Expr, ide:denotation, e2:Expr)&lt;br /&gt;
               ...&lt;br /&gt;
&lt;br /&gt;
 FUN typecheck : expr ** env -&amp;gt; result&lt;br /&gt;
&lt;br /&gt;
 DATA result == avail(t:Type)&lt;br /&gt;
                nil&lt;br /&gt;
&lt;br /&gt;
und die Lambda Kalkül Regel:&lt;br /&gt;
&lt;br /&gt;
 gamma, v:t2 |- e1:t1 , gamma |- e2:t2&lt;br /&gt;
 --------------------------------------&lt;br /&gt;
 gamma |- where(e1:t1, v:t2, e2:t2) : t1&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 4 (etwa 7 Punkte) ==&lt;br /&gt;
&lt;br /&gt;
Unifikation:&lt;br /&gt;
&lt;br /&gt;
 FUN lengthOne : seq[alpha] -&amp;gt; bool&lt;br /&gt;
 FUN filter : (alpha -&amp;gt; bool) ** seq[alpha] -&amp;gt; seq[alpha]&lt;br /&gt;
&lt;br /&gt;
 DEF f == \\s. filter(lengthOne)(s)&lt;br /&gt;
&lt;br /&gt;
Baum für f (als Abstraktion) war angegeben und korrekt.&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 5 (7 Punkte) ==&lt;br /&gt;
&lt;br /&gt;
SECD ausführen für den Ausdruck:  (\\x.add(x 2))(4)&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 6 (6 Punkte) ==&lt;br /&gt;
&lt;br /&gt;
1) Stack Machine Code für Funktion generieren:&lt;br /&gt;
&lt;br /&gt;
 int f(n) {&lt;br /&gt;
  if(n &amp;lt; 2) {&lt;br /&gt;
    return n;&lt;br /&gt;
  } else {&lt;br /&gt;
    return 3 * f(n - 2);&lt;br /&gt;
  }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Angegeben war Pseudocode-Befehle wie load&amp;lt;n&amp;gt;, lt, ret, goto-on-false L, mul, sub, call L&lt;br /&gt;
&lt;br /&gt;
2) 2 Varianten von Code für eine while-Schleife angegeben: einmal Naive Variante und einmal aus der VL Besprochene Optimierung&lt;br /&gt;
&lt;br /&gt;
Gefragt war welche Variante besser war.&lt;br /&gt;
&lt;br /&gt;
3) 2 Varianten von Code für einen mathematischen Ausdruck war vorgegeben.  Einmal naive Variante, einmal mit dem tieferen Baum zuerst ausgeführt.  Gefragt war welche Variante besser ist.&lt;/div&gt;</summary>
		<author><name>89.247.204.252</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=PSS_Ged%C3%A4chtnisprotokoll_Klausur_WS0910&amp;diff=13335</id>
		<title>PSS Gedächtnisprotokoll Klausur WS0910</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=PSS_Ged%C3%A4chtnisprotokoll_Klausur_WS0910&amp;diff=13335"/>
		<updated>2010-02-17T09:50:48Z</updated>

		<summary type="html">&lt;p&gt;89.247.204.252: /* Aufgabe 3 (6 Punkte) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Aufgabe 1 (11 Punkte) ==&lt;br /&gt;
&lt;br /&gt;
 E -&amp;gt; E + A &lt;br /&gt;
    | E - A &lt;br /&gt;
    | A&lt;br /&gt;
 A -&amp;gt; ( E ) &lt;br /&gt;
    | ide&lt;br /&gt;
&lt;br /&gt;
Grammatik umformen und originale und umgeformte Grammatiken auf LL(1) prüfen (mit DirectorSets)&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 2 (13 Punkte) ==&lt;br /&gt;
&lt;br /&gt;
Absy (2 Punkte) und Parser (11 Punkte) für Java Methodenaufrufe&lt;br /&gt;
&lt;br /&gt;
Beispielsatz: x.f(y.g(y,a),b)&lt;br /&gt;
&lt;br /&gt;
Originale und umgeformte Grammatiken waren vorgegeben, aber ohne semantische Aktionen&lt;br /&gt;
&lt;br /&gt;
Falls Kombinatorparser, musste man die Standardkombinatoren ( ; | ), read, shift, usw. nicht hinschreiben&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 3 (6 Punkte) ==&lt;br /&gt;
&lt;br /&gt;
Typcheck von where-Ausdruck:  (...) where (v == ...)&lt;br /&gt;
&lt;br /&gt;
Gegeben war:&lt;br /&gt;
&lt;br /&gt;
  DATA Expr == where(e1:Expr, ide:denotation, e2:Expr)&lt;br /&gt;
               ...&lt;br /&gt;
&lt;br /&gt;
 FUN typecheck : expr ** env -&amp;gt; result&lt;br /&gt;
&lt;br /&gt;
 DATA result == avail(t:Type)&lt;br /&gt;
               nil&lt;br /&gt;
&lt;br /&gt;
und die Lambda Kalkül Regel:&lt;br /&gt;
&lt;br /&gt;
 gamma, v:t2 |- e1:t1 , gamma |- e2:t2&lt;br /&gt;
 --------------------------------------&lt;br /&gt;
 gamma |- where(e1:t1, v:t2, e2:t2) : t1&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 4 (etwa 7 Punkte) ==&lt;br /&gt;
&lt;br /&gt;
Unifikation:&lt;br /&gt;
&lt;br /&gt;
 FUN lengthOne : seq[alpha] -&amp;gt; bool&lt;br /&gt;
 FUN filter : (alpha -&amp;gt; bool) ** seq[alpha] -&amp;gt; seq[alpha]&lt;br /&gt;
&lt;br /&gt;
 DEF f == \\s. filter(lengthOne)(s)&lt;br /&gt;
&lt;br /&gt;
Baum für f (als Abstraktion) war angegeben und korrekt.&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 5 (7 Punkte) ==&lt;br /&gt;
&lt;br /&gt;
SECD ausführen für den Ausdruck:  (\\x.add(x 2))(4)&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 6 (6 Punkte) ==&lt;br /&gt;
&lt;br /&gt;
1) Stack Machine Code für Funktion generieren:&lt;br /&gt;
&lt;br /&gt;
 int f(n) {&lt;br /&gt;
  if(n &amp;lt; 2) {&lt;br /&gt;
    return n;&lt;br /&gt;
  } else {&lt;br /&gt;
    return 3 * f(n - 2);&lt;br /&gt;
  }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Angegeben war Pseudocode-Befehle wie load&amp;lt;n&amp;gt;, lt, ret, goto-on-false L, mul, sub, call L&lt;br /&gt;
&lt;br /&gt;
2) 2 Varianten von Code für eine while-Schleife angegeben: einmal Naive Variante und einmal aus der VL Besprochene Optimierung&lt;br /&gt;
&lt;br /&gt;
Gefragt war welche Variante besser war.&lt;br /&gt;
&lt;br /&gt;
3) 2 Varianten von Code für einen mathematischen Ausdruck war vorgegeben.  Einmal naive Variante, einmal mit dem tieferen Baum zuerst ausgeführt.  Gefragt war welche Variante besser ist.&lt;/div&gt;</summary>
		<author><name>89.247.204.252</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=PSS_Ged%C3%A4chtnisprotokoll_Klausur_WS0910&amp;diff=13334</id>
		<title>PSS Gedächtnisprotokoll Klausur WS0910</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=PSS_Ged%C3%A4chtnisprotokoll_Klausur_WS0910&amp;diff=13334"/>
		<updated>2010-02-17T09:49:29Z</updated>

		<summary type="html">&lt;p&gt;89.247.204.252: /* Aufgabe 3 (6 Punkte) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Aufgabe 1 (11 Punkte) ==&lt;br /&gt;
&lt;br /&gt;
 E -&amp;gt; E + A &lt;br /&gt;
    | E - A &lt;br /&gt;
    | A&lt;br /&gt;
 A -&amp;gt; ( E ) &lt;br /&gt;
    | ide&lt;br /&gt;
&lt;br /&gt;
Grammatik umformen und originale und umgeformte Grammatiken auf LL(1) prüfen (mit DirectorSets)&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 2 (13 Punkte) ==&lt;br /&gt;
&lt;br /&gt;
Absy (2 Punkte) und Parser (11 Punkte) für Java Methodenaufrufe&lt;br /&gt;
&lt;br /&gt;
Beispielsatz: x.f(y.g(y,a),b)&lt;br /&gt;
&lt;br /&gt;
Originale und umgeformte Grammatiken waren vorgegeben, aber ohne semantische Aktionen&lt;br /&gt;
&lt;br /&gt;
Falls Kombinatorparser, musste man die Standardkombinatoren ( ; | ), read, shift, usw. nicht hinschreiben&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 3 (6 Punkte) ==&lt;br /&gt;
&lt;br /&gt;
Typcheck von where-Ausdruck:  (...) where (v == ...)&lt;br /&gt;
&lt;br /&gt;
Gegeben war:&lt;br /&gt;
&lt;br /&gt;
  DATA absy == where(e1:Expr, ide:denotation, e2:Expr)&lt;br /&gt;
                              ...&lt;br /&gt;
&lt;br /&gt;
 FUN typecheck : expr ** env -&amp;gt; result&lt;br /&gt;
&lt;br /&gt;
 DATA result == avail(t:Type)&lt;br /&gt;
               nil&lt;br /&gt;
&lt;br /&gt;
und die Lambda Kalkül Regel:&lt;br /&gt;
&lt;br /&gt;
 gamma, v:t2 |- e1:t1 , gamma |- e2:t2&lt;br /&gt;
 --------------------------------------&lt;br /&gt;
 gamma |- where(e1:t1, v:t2, e2:t2) : t1&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 4 (etwa 7 Punkte) ==&lt;br /&gt;
&lt;br /&gt;
Unifikation:&lt;br /&gt;
&lt;br /&gt;
 FUN lengthOne : seq[alpha] -&amp;gt; bool&lt;br /&gt;
 FUN filter : (alpha -&amp;gt; bool) ** seq[alpha] -&amp;gt; seq[alpha]&lt;br /&gt;
&lt;br /&gt;
 DEF f == \\s. filter(lengthOne)(s)&lt;br /&gt;
&lt;br /&gt;
Baum für f (als Abstraktion) war angegeben und korrekt.&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 5 (7 Punkte) ==&lt;br /&gt;
&lt;br /&gt;
SECD ausführen für den Ausdruck:  (\\x.add(x 2))(4)&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 6 (6 Punkte) ==&lt;br /&gt;
&lt;br /&gt;
1) Stack Machine Code für Funktion generieren:&lt;br /&gt;
&lt;br /&gt;
 int f(n) {&lt;br /&gt;
  if(n &amp;lt; 2) {&lt;br /&gt;
    return n;&lt;br /&gt;
  } else {&lt;br /&gt;
    return 3 * f(n - 2);&lt;br /&gt;
  }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Angegeben war Pseudocode-Befehle wie load&amp;lt;n&amp;gt;, lt, ret, goto-on-false L, mul, sub, call L&lt;br /&gt;
&lt;br /&gt;
2) 2 Varianten von Code für eine while-Schleife angegeben: einmal Naive Variante und einmal aus der VL Besprochene Optimierung&lt;br /&gt;
&lt;br /&gt;
Gefragt war welche Variante besser war.&lt;br /&gt;
&lt;br /&gt;
3) 2 Varianten von Code für einen mathematischen Ausdruck war vorgegeben.  Einmal naive Variante, einmal mit dem tieferen Baum zuerst ausgeführt.  Gefragt war welche Variante besser ist.&lt;/div&gt;</summary>
		<author><name>89.247.204.252</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=PSS_Ged%C3%A4chtnisprotokoll_Klausur_WS0910&amp;diff=13333</id>
		<title>PSS Gedächtnisprotokoll Klausur WS0910</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=PSS_Ged%C3%A4chtnisprotokoll_Klausur_WS0910&amp;diff=13333"/>
		<updated>2010-02-17T09:47:57Z</updated>

		<summary type="html">&lt;p&gt;89.247.204.252: /* Aufgabe 2 (13 Punkte) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Aufgabe 1 (11 Punkte) ==&lt;br /&gt;
&lt;br /&gt;
 E -&amp;gt; E + A &lt;br /&gt;
    | E - A &lt;br /&gt;
    | A&lt;br /&gt;
 A -&amp;gt; ( E ) &lt;br /&gt;
    | ide&lt;br /&gt;
&lt;br /&gt;
Grammatik umformen und originale und umgeformte Grammatiken auf LL(1) prüfen (mit DirectorSets)&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 2 (13 Punkte) ==&lt;br /&gt;
&lt;br /&gt;
Absy (2 Punkte) und Parser (11 Punkte) für Java Methodenaufrufe&lt;br /&gt;
&lt;br /&gt;
Beispielsatz: x.f(y.g(y,a),b)&lt;br /&gt;
&lt;br /&gt;
Originale und umgeformte Grammatiken waren vorgegeben, aber ohne semantische Aktionen&lt;br /&gt;
&lt;br /&gt;
Falls Kombinatorparser, musste man die Standardkombinatoren ( ; | ), read, shift, usw. nicht hinschreiben&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 3 (6 Punkte) ==&lt;br /&gt;
&lt;br /&gt;
Typcheck von where-Ausdruck:  (...) where (v == ...)&lt;br /&gt;
&lt;br /&gt;
Absy-Konstruktor für where:   where(e1:Expr, ide:denotation, e2:Expr)&lt;br /&gt;
&lt;br /&gt;
 FUN typecheck : expr ** env -&amp;gt; result&lt;br /&gt;
&lt;br /&gt;
 DATA result == avail(t:Type)&lt;br /&gt;
               nil&lt;br /&gt;
&lt;br /&gt;
Gegeben war Lambda Kalkül Regel:&lt;br /&gt;
&lt;br /&gt;
 gamma, v:t2 |- e1:t1 , gamma |- e2:t2&lt;br /&gt;
 --------------------------------------&lt;br /&gt;
 gamma |- where(e1:t1, v:t2, e2:t2) : t1&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 4 (etwa 7 Punkte) ==&lt;br /&gt;
&lt;br /&gt;
Unifikation:&lt;br /&gt;
&lt;br /&gt;
 FUN lengthOne : seq[alpha] -&amp;gt; bool&lt;br /&gt;
 FUN filter : (alpha -&amp;gt; bool) ** seq[alpha] -&amp;gt; seq[alpha]&lt;br /&gt;
&lt;br /&gt;
 DEF f == \\s. filter(lengthOne)(s)&lt;br /&gt;
&lt;br /&gt;
Baum für f (als Abstraktion) war angegeben und korrekt.&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 5 (7 Punkte) ==&lt;br /&gt;
&lt;br /&gt;
SECD ausführen für den Ausdruck:  (\\x.add(x 2))(4)&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 6 (6 Punkte) ==&lt;br /&gt;
&lt;br /&gt;
1) Stack Machine Code für Funktion generieren:&lt;br /&gt;
&lt;br /&gt;
 int f(n) {&lt;br /&gt;
  if(n &amp;lt; 2) {&lt;br /&gt;
    return n;&lt;br /&gt;
  } else {&lt;br /&gt;
    return 3 * f(n - 2);&lt;br /&gt;
  }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Angegeben war Pseudocode-Befehle wie load&amp;lt;n&amp;gt;, lt, ret, goto-on-false L, mul, sub, call L&lt;br /&gt;
&lt;br /&gt;
2) 2 Varianten von Code für eine while-Schleife angegeben: einmal Naive Variante und einmal aus der VL Besprochene Optimierung&lt;br /&gt;
&lt;br /&gt;
Gefragt war welche Variante besser war.&lt;br /&gt;
&lt;br /&gt;
3) 2 Varianten von Code für einen mathematischen Ausdruck war vorgegeben.  Einmal naive Variante, einmal mit dem tieferen Baum zuerst ausgeführt.  Gefragt war welche Variante besser ist.&lt;/div&gt;</summary>
		<author><name>89.247.204.252</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=PSS_Ged%C3%A4chtnisprotokoll_Klausur_WS0910&amp;diff=13332</id>
		<title>PSS Gedächtnisprotokoll Klausur WS0910</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=PSS_Ged%C3%A4chtnisprotokoll_Klausur_WS0910&amp;diff=13332"/>
		<updated>2010-02-17T09:46:55Z</updated>

		<summary type="html">&lt;p&gt;89.247.204.252: /* Aufgabe 1 (11 Punkte) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Aufgabe 1 (11 Punkte) ==&lt;br /&gt;
&lt;br /&gt;
 E -&amp;gt; E + A &lt;br /&gt;
    | E - A &lt;br /&gt;
    | A&lt;br /&gt;
 A -&amp;gt; ( E ) &lt;br /&gt;
    | ide&lt;br /&gt;
&lt;br /&gt;
Grammatik umformen und originale und umgeformte Grammatiken auf LL(1) prüfen (mit DirectorSets)&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 2 (13 Punkte) ==&lt;br /&gt;
&lt;br /&gt;
Parser für Java Methodenaufrufe&lt;br /&gt;
&lt;br /&gt;
Beispielsatz: x.f(y.g(y,a),b)&lt;br /&gt;
&lt;br /&gt;
Originale und umgeformte Grammatiken waren vorgegeben, aber ohne semantische Aktionen&lt;br /&gt;
&lt;br /&gt;
Falls Kombinatorparser, musste man die Standardkombinatoren ( ; | ), read, shift, usw. nicht hinschreiben&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 3 (6 Punkte) ==&lt;br /&gt;
&lt;br /&gt;
Typcheck von where-Ausdruck:  (...) where (v == ...)&lt;br /&gt;
&lt;br /&gt;
Absy-Konstruktor für where:   where(e1:Expr, ide:denotation, e2:Expr)&lt;br /&gt;
&lt;br /&gt;
 FUN typecheck : expr ** env -&amp;gt; result&lt;br /&gt;
&lt;br /&gt;
 DATA result == avail(t:Type)&lt;br /&gt;
               nil&lt;br /&gt;
&lt;br /&gt;
Gegeben war Lambda Kalkül Regel:&lt;br /&gt;
&lt;br /&gt;
 gamma, v:t2 |- e1:t1 , gamma |- e2:t2&lt;br /&gt;
 --------------------------------------&lt;br /&gt;
 gamma |- where(e1:t1, v:t2, e2:t2) : t1&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 4 (etwa 7 Punkte) ==&lt;br /&gt;
&lt;br /&gt;
Unifikation:&lt;br /&gt;
&lt;br /&gt;
 FUN lengthOne : seq[alpha] -&amp;gt; bool&lt;br /&gt;
 FUN filter : (alpha -&amp;gt; bool) ** seq[alpha] -&amp;gt; seq[alpha]&lt;br /&gt;
&lt;br /&gt;
 DEF f == \\s. filter(lengthOne)(s)&lt;br /&gt;
&lt;br /&gt;
Baum für f (als Abstraktion) war angegeben und korrekt.&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 5 (7 Punkte) ==&lt;br /&gt;
&lt;br /&gt;
SECD ausführen für den Ausdruck:  (\\x.add(x 2))(4)&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 6 (6 Punkte) ==&lt;br /&gt;
&lt;br /&gt;
1) Stack Machine Code für Funktion generieren:&lt;br /&gt;
&lt;br /&gt;
 int f(n) {&lt;br /&gt;
  if(n &amp;lt; 2) {&lt;br /&gt;
    return n;&lt;br /&gt;
  } else {&lt;br /&gt;
    return 3 * f(n - 2);&lt;br /&gt;
  }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Angegeben war Pseudocode-Befehle wie load&amp;lt;n&amp;gt;, lt, ret, goto-on-false L, mul, sub, call L&lt;br /&gt;
&lt;br /&gt;
2) 2 Varianten von Code für eine while-Schleife angegeben: einmal Naive Variante und einmal aus der VL Besprochene Optimierung&lt;br /&gt;
&lt;br /&gt;
Gefragt war welche Variante besser war.&lt;br /&gt;
&lt;br /&gt;
3) 2 Varianten von Code für einen mathematischen Ausdruck war vorgegeben.  Einmal naive Variante, einmal mit dem tieferen Baum zuerst ausgeführt.  Gefragt war welche Variante besser ist.&lt;/div&gt;</summary>
		<author><name>89.247.204.252</name></author>
	</entry>
</feed>