<?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=85.178.55.192</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=85.178.55.192"/>
	<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//Spezial:Beitr%C3%A4ge/85.178.55.192"/>
	<updated>2026-11-01T05:44:41Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.45.6</generator>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Opal_Syntax-Highlighting&amp;diff=6017</id>
		<title>Opal Syntax-Highlighting</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Opal_Syntax-Highlighting&amp;diff=6017"/>
		<updated>2006-02-13T23:16:43Z</updated>

		<summary type="html">&lt;p&gt;85.178.55.192: SciTE&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Wenn man seine Zeit mit der Programmierung von [[OPAL]]-Programmen verbringt, möchte man natürlich auch von seinem Editor unterstützt werden.&lt;br /&gt;
&lt;br /&gt;
Deshalb sammeln wir hier Links zu Syntaxfiles, mit denen man Editoren beibringen kann, OPAL-Sourcecode schön einzufärben. Wenn ihr weitere Syntaxfiles findet/erstellt, fügt sie bitte dieser Liste hinzu.&lt;br /&gt;
&lt;br /&gt;
= Übersicht der Editoren mit Opal-Unterstützung =&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; cellspacing=&amp;quot;2&amp;quot;&lt;br /&gt;
 |- bgcolor=&amp;quot;#E0E0E0&amp;quot;&lt;br /&gt;
 !Editor&lt;br /&gt;
 !Betriebssysteme&lt;br /&gt;
 !Lizenz&lt;br /&gt;
 !Homepage&lt;br /&gt;
 |- bgcolor=&amp;quot;#F0F0F0&amp;quot;&lt;br /&gt;
 |[[Opal Syntax-Highlighting#ConTEXT|ConTEXT]]&lt;br /&gt;
 |Windows&lt;br /&gt;
 |Freeware&lt;br /&gt;
 |[http://www.context.cx]&lt;br /&gt;
 |- bgcolor=&amp;quot;#F8F8F8&amp;quot;&lt;br /&gt;
 |[[Opal Syntax-Highlighting#Emacs|Emacs]]&lt;br /&gt;
 |Unix, Windows, MacOS&lt;br /&gt;
 |Open Source&lt;br /&gt;
 |[http://www.gnu.org/software/emacs/emacs.html]&lt;br /&gt;
 |- bgcolor=&amp;quot;#F0F0F0&amp;quot;&lt;br /&gt;
 |[[Opal Syntax-Highlighting#EmEditor|EmEditor]]&lt;br /&gt;
 |Windows&lt;br /&gt;
 |Kommerziell, Freeware&lt;br /&gt;
 |[http://www.emeditor.com/]&lt;br /&gt;
 |- bgcolor=&amp;quot;#F8F8F8&amp;quot;&lt;br /&gt;
 |[[Opal Syntax-Highlighting#Kate|Kate]]&lt;br /&gt;
 |Unix+KDE&lt;br /&gt;
 |Open Source&lt;br /&gt;
 |[http://kate.kde.org/]&lt;br /&gt;
 |- bgcolor=&amp;quot;#F0F0F0&amp;quot;&lt;br /&gt;
 |[[Opal Syntax-Highlighting#nano|nano]]&lt;br /&gt;
 |Unix, Mac OSX&lt;br /&gt;
 |Open Source (GNU)&lt;br /&gt;
 |[http://www.gnu.org/software/nano/]&lt;br /&gt;
 |- bgcolor=&amp;quot;#F8F8F8&amp;quot;&lt;br /&gt;
 |[[Opal Syntax-Highlighting#Proton/Phase5|Proton/Phase5]]&lt;br /&gt;
 |Windows&lt;br /&gt;
 |Freeware&lt;br /&gt;
 |[http://www.qhaut.de/forums/index.php?dlcategory=2]&lt;br /&gt;
 |- bgcolor=&amp;quot;#F0F0F0&amp;quot;&lt;br /&gt;
 |[[Opal Syntax-Highlighting#SciTE|SciTE]]&lt;br /&gt;
 |Unix (GTK), Windows&lt;br /&gt;
 |Open Source&lt;br /&gt;
 |[http://www.scintilla.org/]&lt;br /&gt;
 |- bgcolor=&amp;quot;#F8F8F8&amp;quot;&lt;br /&gt;
 |[[Opal Syntax-Highlighting#Vim|Vim]]&lt;br /&gt;
 |Unix, Windows, MacOS&lt;br /&gt;
 |Open Source&lt;br /&gt;
 |[http://www.vim.org/]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Details =&lt;br /&gt;
== ConTEXT ==&lt;br /&gt;
Die aktuelle Syntaxfile für ConTEXT ist auf [http://www.hartwork.org/ http://www.hartwork.org/] zu finden.&lt;br /&gt;
&lt;br /&gt;
== Emacs ==&lt;br /&gt;
Für Emacs gibt es im OCS-Paket Dateien, die auch im Fakultätsnetz zu finden sind.&lt;br /&gt;
Um den Opal-Modus von Emacs verfügbar zu machen, füge man folgende Zeilen in die Datei ~/.emacs ein:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(setq load-path&lt;br /&gt;
      (cons &amp;quot;/home/uebb/uebb/infadm/emacs&amp;quot; load-path)&lt;br /&gt;
      )&lt;br /&gt;
(defvar opal-novice t)&lt;br /&gt;
(require &#039;opal-mode)  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Den Opal-Modus startet man in Emacs mittels &amp;quot;M-x opal-mode [enter]&amp;quot;. &lt;br /&gt;
M-x bedeutet: Meta-Taste und x gleichzeitig drücken, wobei Esc gefolgt von x die selbe Wirkung hat.&lt;br /&gt;
&lt;br /&gt;
== EmEditor ==&lt;br /&gt;
Ein Syntaxfile für EmEditor ist auf [http://www.hartwork.org/ http://www.hartwork.org/] zu finden. Auf der offiziellen Seite des Editors gibt es auch eine Kopie.&lt;br /&gt;
&lt;br /&gt;
Für Akademiker ist EmEditor kostenlos (siehe [http://www.emeditor.com/help/faq/academic/index.htm Academic License]).&lt;br /&gt;
&lt;br /&gt;
== Kate ==&lt;br /&gt;
Für Kate/KWrite hat Sebastian Pipping eine Highlighting-Definition geschrieben. Die Datei &amp;lt;code&amp;gt;opal_kate.xml&amp;lt;/code&amp;gt; kann unter [http://www.hartwork.org/ http://www.hartwork.org/] heruntergeladen werden. &lt;br /&gt;
&lt;br /&gt;
Zur Installation einfach die Datei &amp;lt;code&amp;gt;opal_kate.xml&amp;lt;/code&amp;gt; nach &amp;lt;code&amp;gt;~/.kde/share/apps/katepart/syntax&amp;lt;/code&amp;gt; kopieren.&lt;br /&gt;
&lt;br /&gt;
== nano ==&lt;br /&gt;
Auch nano unterstützt Syntax-Highlighting, wenn man entsprechende &amp;lt;code&amp;gt;nanorc&amp;lt;/code&amp;gt;-Datei installiert. Die Datei und Installationsanleitung von gibt es auf der  [http://user.cs.tu-berlin.de/~svens/nanorc_files/nano_opal.html Homepage von Sven Schneider]. &lt;br /&gt;
&lt;br /&gt;
== Proton/Phase5 ==&lt;br /&gt;
Die aktuelle Syntaxfile für Proton ist auf [http://www.hartwork.org/ http://www.hartwork.org/] zu finden.&lt;br /&gt;
&lt;br /&gt;
== SciTE ==&lt;br /&gt;
Die aktuelle Version im CVS (&amp;gt;1.67) unterstützt bereits OPAL Highlighting.&amp;lt;BR&amp;gt;&lt;br /&gt;
An der Unix Shell ginge das dann etwa so:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Scintilla/SciTE aus dem CVS laden (bei Fehler wiederholen!)&lt;br /&gt;
mkdir -m744 scite_cvs&lt;br /&gt;
cd scite_cvs&lt;br /&gt;
cvs -z9 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/scintilla co -P scintilla&lt;br /&gt;
cvs -z9 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/scintilla co -P scite&lt;br /&gt;
&lt;br /&gt;
# Kompilieren&lt;br /&gt;
cd scintilla/gtk&lt;br /&gt;
make&lt;br /&gt;
cd ../../scite/gtk&lt;br /&gt;
make&lt;br /&gt;
cd ../../..&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach müssen in &#039;&#039;scite/src/SciTEGlobal.properties&#039;&#039; noch zwei Zeilen de-kommentieren werden.&amp;lt;BR&amp;gt;&lt;br /&gt;
Am besten nach &amp;quot;opal&amp;quot; suchen - das geht am schnellsten:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#Opal|impl||\&lt;br /&gt;
#import opal&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Global installieren wäre danach gegebenfalls mit&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(aus Verzeichnis &#039;&#039;scite/gtk&#039;&#039; heraus) möglich.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Vim ==&lt;br /&gt;
Für Vim gibt es zwei Highlighting-Definitionen. Eine Highlighting-Definition ist im OCS-Paket im Verzeichnis &amp;lt;code&amp;gt;ocs/lib/vim&amp;lt;/code&amp;gt; enthalten (im cs-Netz also &amp;lt;code&amp;gt;/usr/ocs/lib/vim&amp;lt;/code&amp;gt;). In der &amp;lt;code&amp;gt;README&amp;lt;/code&amp;gt;-Datei der [http://uebb.cs.tu-berlin.de/~opal/ OPAL-Distribution] gibt es weitere Informationen. Userseitige Vim-Konfiguration besteht aus dem Kopieren von &amp;lt;code&amp;gt;opal.vim&amp;lt;/code&amp;gt; nach &amp;lt;code&amp;gt;~/.vim/syntax/&amp;lt;/code&amp;gt; und dem Einfügen von&lt;br /&gt;
 augroup filetypedetect&lt;br /&gt;
 au BufNewFile,BufRead *.sign,*.impl    set ft=opal&lt;br /&gt;
 augroup END&lt;br /&gt;
(ggf. nur der mittleren Zeile in einen bereits vorhandenen &amp;lt;code&amp;gt;augroup&amp;lt;/code&amp;gt;-Block) in &amp;lt;code&amp;gt;~/.vim/filetype.vim&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Es gibt auch eine alternative Highlighting-Definition: [[Opal.vim|opal.vim]].&lt;br /&gt;
&lt;br /&gt;
Vim ist im cs-Netz unter &amp;lt;code&amp;gt;/home/pub/bin/vim&amp;lt;/code&amp;gt; verfügbar.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie: Opal]]&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>85.178.55.192</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Opal_Syntax-Highlighting&amp;diff=6016</id>
		<title>Opal Syntax-Highlighting</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Opal_Syntax-Highlighting&amp;diff=6016"/>
		<updated>2006-02-13T23:16:08Z</updated>

		<summary type="html">&lt;p&gt;85.178.55.192: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Wenn man seine Zeit mit der Programmierung von [[OPAL]]-Programmen verbringt, möchte man natürlich auch von seinem Editor unterstützt werden.&lt;br /&gt;
&lt;br /&gt;
Deshalb sammeln wir hier Links zu Syntaxfiles, mit denen man Editoren beibringen kann, OPAL-Sourcecode schön einzufärben. Wenn ihr weitere Syntaxfiles findet/erstellt, fügt sie bitte dieser Liste hinzu.&lt;br /&gt;
&lt;br /&gt;
= Übersicht der Editoren mit Opal-Unterstützung =&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; cellspacing=&amp;quot;2&amp;quot;&lt;br /&gt;
 |- bgcolor=&amp;quot;#E0E0E0&amp;quot;&lt;br /&gt;
 !Editor&lt;br /&gt;
 !Betriebssysteme&lt;br /&gt;
 !Lizenz&lt;br /&gt;
 !Homepage&lt;br /&gt;
 |- bgcolor=&amp;quot;#F0F0F0&amp;quot;&lt;br /&gt;
 |[[Opal Syntax-Highlighting#ConTEXT|ConTEXT]]&lt;br /&gt;
 |Windows&lt;br /&gt;
 |Freeware&lt;br /&gt;
 |[http://www.context.cx]&lt;br /&gt;
 |- bgcolor=&amp;quot;#F8F8F8&amp;quot;&lt;br /&gt;
 |[[Opal Syntax-Highlighting#Emacs|Emacs]]&lt;br /&gt;
 |Unix, Windows, MacOS&lt;br /&gt;
 |Open Source&lt;br /&gt;
 |[http://www.gnu.org/software/emacs/emacs.html]&lt;br /&gt;
 |- bgcolor=&amp;quot;#F0F0F0&amp;quot;&lt;br /&gt;
 |[[Opal Syntax-Highlighting#EmEditor|EmEditor]]&lt;br /&gt;
 |Windows&lt;br /&gt;
 |Kommerziell, Freeware&lt;br /&gt;
 |[http://www.emeditor.com/]&lt;br /&gt;
 |- bgcolor=&amp;quot;#F8F8F8&amp;quot;&lt;br /&gt;
 |[[Opal Syntax-Highlighting#Kate|Kate]]&lt;br /&gt;
 |Unix+KDE&lt;br /&gt;
 |Open Source&lt;br /&gt;
 |[http://kate.kde.org/]&lt;br /&gt;
 |- bgcolor=&amp;quot;#F0F0F0&amp;quot;&lt;br /&gt;
 |[[Opal Syntax-Highlighting#nano|nano]]&lt;br /&gt;
 |Unix, Mac OSX&lt;br /&gt;
 |Open Source (GNU)&lt;br /&gt;
 |[http://www.gnu.org/software/nano/]&lt;br /&gt;
 |- bgcolor=&amp;quot;#F8F8F8&amp;quot;&lt;br /&gt;
 |[[Opal Syntax-Highlighting#Proton/Phase5|Proton/Phase5]]&lt;br /&gt;
 |Windows&lt;br /&gt;
 |Freeware&lt;br /&gt;
 |[http://www.qhaut.de/forums/index.php?dlcategory=2]&lt;br /&gt;
 |- bgcolor=&amp;quot;#F0F0F0&amp;quot;&lt;br /&gt;
 |[[Opal Syntax-Highlighting#SciTE|SciTE]]&lt;br /&gt;
 |Unix (GTK), Windows&lt;br /&gt;
 |Open Source&lt;br /&gt;
 |[http://www.scintilla.org/]&lt;br /&gt;
 |- bgcolor=&amp;quot;#F8F8F8&amp;quot;&lt;br /&gt;
 |[[Opal Syntax-Highlighting#Vim|Vim]]&lt;br /&gt;
 |Unix, Windows, MacOS&lt;br /&gt;
 |Open Source&lt;br /&gt;
 |[http://www.vim.org/]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Details =&lt;br /&gt;
== ConTEXT ==&lt;br /&gt;
Die aktuelle Syntaxfile für ConTEXT ist auf [http://www.hartwork.org/ http://www.hartwork.org/] zu finden.&lt;br /&gt;
&lt;br /&gt;
== Emacs ==&lt;br /&gt;
Für Emacs gibt es im OCS-Paket Dateien, die auch im Fakultätsnetz zu finden sind.&lt;br /&gt;
Um den Opal-Modus von Emacs verfügbar zu machen, füge man folgende Zeilen in die Datei ~/.emacs ein:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(setq load-path&lt;br /&gt;
      (cons &amp;quot;/home/uebb/uebb/infadm/emacs&amp;quot; load-path)&lt;br /&gt;
      )&lt;br /&gt;
(defvar opal-novice t)&lt;br /&gt;
(require &#039;opal-mode)  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Den Opal-Modus startet man in Emacs mittels &amp;quot;M-x opal-mode [enter]&amp;quot;. &lt;br /&gt;
M-x bedeutet: Meta-Taste und x gleichzeitig drücken, wobei Esc gefolgt von x die selbe Wirkung hat.&lt;br /&gt;
&lt;br /&gt;
== EmEditor ==&lt;br /&gt;
Ein Syntaxfile für EmEditor ist auf [http://www.hartwork.org/ http://www.hartwork.org/] zu finden. Auf der offiziellen Seite des Editors gibt es auch eine Kopie.&lt;br /&gt;
&lt;br /&gt;
Für Akademiker ist EmEditor kostenlos (siehe [http://www.emeditor.com/help/faq/academic/index.htm Academic License]).&lt;br /&gt;
&lt;br /&gt;
== Kate ==&lt;br /&gt;
Für Kate/KWrite hat Sebastian Pipping eine Highlighting-Definition geschrieben. Die Datei &amp;lt;code&amp;gt;opal_kate.xml&amp;lt;/code&amp;gt; kann unter [http://www.hartwork.org/ http://www.hartwork.org/] heruntergeladen werden. &lt;br /&gt;
&lt;br /&gt;
Zur Installation einfach die Datei &amp;lt;code&amp;gt;opal_kate.xml&amp;lt;/code&amp;gt; nach &amp;lt;code&amp;gt;~/.kde/share/apps/katepart/syntax&amp;lt;/code&amp;gt; kopieren.&lt;br /&gt;
&lt;br /&gt;
== nano ==&lt;br /&gt;
Auch nano unterstützt Syntax-Highlighting, wenn man entsprechende &amp;lt;code&amp;gt;nanorc&amp;lt;/code&amp;gt;-Datei installiert. Die Datei und Installationsanleitung von gibt es auf der  [http://user.cs.tu-berlin.de/~svens/nanorc_files/nano_opal.html Homepage von Sven Schneider]. &lt;br /&gt;
&lt;br /&gt;
== Proton/Phase5 ==&lt;br /&gt;
Die aktuelle Syntaxfile für Proton ist auf [http://www.hartwork.org/ http://www.hartwork.org/] zu finden.&lt;br /&gt;
&lt;br /&gt;
== SciTE ==&lt;br /&gt;
Die aktuelle Version im CVS (&amp;gt;1.67) unterstützt bereits OPAL Highlighting.&amp;lt;BR&amp;gt;&lt;br /&gt;
An der Unix Shell ginge das dann etwa so:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Scintilla/SciTE aus dem CVS laden (bei Fehler wiederholen!)&lt;br /&gt;
mkdir -m744 scite_cvs&lt;br /&gt;
cd scite_cvs&lt;br /&gt;
cvs -z9 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/scintilla co -P scintilla&lt;br /&gt;
cvs -z9 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/scintilla co -P scite&lt;br /&gt;
&lt;br /&gt;
# Kompilieren&lt;br /&gt;
cd scintilla/gtk&lt;br /&gt;
make&lt;br /&gt;
cd ../../scite/gtk&lt;br /&gt;
make&lt;br /&gt;
cd ../../..&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach müssen in &#039;&#039;scite/src/SciTEGlobal.properties&#039;&#039; noch zwei Zeilen de-kommentieren werden.&amp;lt;BR&amp;gt;&lt;br /&gt;
Am besten nach &amp;quot;opal&amp;quot; suchen - das geht am schnellsten:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#Opal|impl||\&lt;br /&gt;
#import opal&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Global installieren wäre gegebenfalls mit&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(aus Verzeichnis &#039;&#039;scite/gtk&#039;&#039; heraus) möglich.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Vim ==&lt;br /&gt;
Für Vim gibt es zwei Highlighting-Definitionen. Eine Highlighting-Definition ist im OCS-Paket im Verzeichnis &amp;lt;code&amp;gt;ocs/lib/vim&amp;lt;/code&amp;gt; enthalten (im cs-Netz also &amp;lt;code&amp;gt;/usr/ocs/lib/vim&amp;lt;/code&amp;gt;). In der &amp;lt;code&amp;gt;README&amp;lt;/code&amp;gt;-Datei der [http://uebb.cs.tu-berlin.de/~opal/ OPAL-Distribution] gibt es weitere Informationen. Userseitige Vim-Konfiguration besteht aus dem Kopieren von &amp;lt;code&amp;gt;opal.vim&amp;lt;/code&amp;gt; nach &amp;lt;code&amp;gt;~/.vim/syntax/&amp;lt;/code&amp;gt; und dem Einfügen von&lt;br /&gt;
 augroup filetypedetect&lt;br /&gt;
 au BufNewFile,BufRead *.sign,*.impl    set ft=opal&lt;br /&gt;
 augroup END&lt;br /&gt;
(ggf. nur der mittleren Zeile in einen bereits vorhandenen &amp;lt;code&amp;gt;augroup&amp;lt;/code&amp;gt;-Block) in &amp;lt;code&amp;gt;~/.vim/filetype.vim&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Es gibt auch eine alternative Highlighting-Definition: [[Opal.vim|opal.vim]].&lt;br /&gt;
&lt;br /&gt;
Vim ist im cs-Netz unter &amp;lt;code&amp;gt;/home/pub/bin/vim&amp;lt;/code&amp;gt; verfügbar.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie: Opal]]&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>85.178.55.192</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=PSS_Ged%C3%A4chtnisprotokoll_Klausur_WS_0506&amp;diff=6630</id>
		<title>PSS Gedächtnisprotokoll Klausur WS 0506</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=PSS_Ged%C3%A4chtnisprotokoll_Klausur_WS_0506&amp;diff=6630"/>
		<updated>2006-02-13T20:51:14Z</updated>

		<summary type="html">&lt;p&gt;85.178.55.192: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier fehlen ggf. noch ein paar Informationen, mein Gedächtnis ist da etwas lückenhaft!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 1: Grammatikumformung ==&lt;br /&gt;
1. Forme die Grammatik so um, dass sie von einem &#039;&#039;&#039;recursive-descent&#039;&#039;&#039;-Parser geparst werden kann.&lt;br /&gt;
&lt;br /&gt;
2. Entscheide und begründe, ob die umgeformte Grammatik und die ursprüngliche Grammatik die LL(1)-Eigenschaft erfüllen. Bilde die nötigen First-, Follow- und Directormengen.&lt;br /&gt;
&lt;br /&gt;
 S  -&amp;gt; E#&lt;br /&gt;
 E  -&amp;gt; ide&lt;br /&gt;
    |  ide ( A )&lt;br /&gt;
 A  -&amp;gt; P&lt;br /&gt;
    |  {Epsilon}&lt;br /&gt;
 P  -&amp;gt; P , E&lt;br /&gt;
    |  E&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 2: Parser ==&lt;br /&gt;
&lt;br /&gt;
DATA absy ==&lt;br /&gt;
	node(val:seq[absy])&lt;br /&gt;
	leaf(val:token)	&lt;br /&gt;
&lt;br /&gt;
Gegeben folgende Grammatik mit Directormenge:&lt;br /&gt;
 S  -&amp;gt;  T #&lt;br /&gt;
 T  -&amp;gt;  ide&lt;br /&gt;
        &amp;lt;T T&#039;&amp;gt;&lt;br /&gt;
 T&#039; -&amp;gt;  {Epsilon}&lt;br /&gt;
     |  _ T T&#039; {Das _ war ein &#039;&#039;space&#039;&#039;}&lt;br /&gt;
&lt;br /&gt;
Ein Wort der Sprache war: &amp;lt;&amp;lt;1 2 4&amp;gt; &amp;lt;1 4 5&amp;gt; 3&amp;gt;&lt;br /&gt;
Das ganze repräsentierte einen n-ären Baum&lt;br /&gt;
&lt;br /&gt;
 DATA token ==&lt;br /&gt;
 	Open&lt;br /&gt;
 	Close&lt;br /&gt;
 	space&lt;br /&gt;
 	id(val:int)&lt;br /&gt;
 	eof&lt;br /&gt;
&lt;br /&gt;
1. Entwickle einen passenden Absy.&lt;br /&gt;
&lt;br /&gt;
2. Schreibe einen Recursive-Descent-/Combinator-Parser ohne Fehlerbehandlung. Falls Combinator: Programmiere auch die Kombinatoren.&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 3: SECD ==&lt;br /&gt;
&lt;br /&gt;
 (\x. x(2))(\y. dup(y))&lt;br /&gt;
&lt;br /&gt;
Ergebnis 4&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;dup&#039;&#039; ist eine triviale Operation.&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 4: Codeerzeugung ==&lt;br /&gt;
 int f(x:int, y:int){&lt;br /&gt;
 	if(x==0)&lt;br /&gt;
 		return y&lt;br /&gt;
 	else&lt;br /&gt;
 		return f(x-1, x*y)&lt;br /&gt;
 }&lt;br /&gt;
1. Erzeuge Pseudocode für eine abstrakte stackbasierte Maschine.&lt;br /&gt;
&lt;br /&gt;
2. Erläutere den Stackframe (überlappung und sowas)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 5: Unifikation ==&lt;br /&gt;
1. Stelle die Gleichungen auf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FUN _ o _ : (beta -&amp;gt; gamma) -&amp;gt; (alpha -&amp;gt; beta) -&amp;gt; (alpha -&amp;gt; beta)&lt;br /&gt;
FUN length: string -&amp;gt; nat&lt;br /&gt;
FUN even?: nat -&amp;gt; bool&lt;br /&gt;
&lt;br /&gt;
FUN h: string -&amp;gt; bool&lt;br /&gt;
DEF h(s) == o(even?)(length)(s)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
apply(tau1)&lt;br /&gt;
	apply(tau2)&lt;br /&gt;
		apply(tau4)&lt;br /&gt;
			o(tau6)&lt;br /&gt;
			even?(tau7)&lt;br /&gt;
		length(tau5)&lt;br /&gt;
	s (tau3)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Zur Notation: Erst kommt ein Knoten, dann seine Kinder von links nach rechts&lt;br /&gt;
Der Baum gehört zu h und ist korrekt.&lt;/div&gt;</summary>
		<author><name>85.178.55.192</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=PSS_Ged%C3%A4chtnisprotokoll_Klausur_WS_0506&amp;diff=6629</id>
		<title>PSS Gedächtnisprotokoll Klausur WS 0506</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=PSS_Ged%C3%A4chtnisprotokoll_Klausur_WS_0506&amp;diff=6629"/>
		<updated>2006-02-13T20:40:30Z</updated>

		<summary type="html">&lt;p&gt;85.178.55.192: nicht umgeformte -&amp;gt; ursprüngliche&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier fehlen ggf. noch ein paar Informationen, mein Gedächtnis ist da etwas lückenhaft!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 1: Grammatikumformung ==&lt;br /&gt;
1. Forme die Grammatik so um, dass sie von einem &#039;&#039;&#039;recursive-descent&#039;&#039;&#039;-Parser geparst werden kann.&lt;br /&gt;
&lt;br /&gt;
2. Entscheide und begründe, ob die umgeformte Grammatik und die ursprüngliche Grammatik die LL(1)-Eigenschaft erfüllen. Bilde die nötigen First-, Follow- und Directormengen.&lt;br /&gt;
&lt;br /&gt;
 S  -&amp;gt; E#&lt;br /&gt;
 E  -&amp;gt; ide&lt;br /&gt;
    |  ide ( A )&lt;br /&gt;
 A  -&amp;gt; P&lt;br /&gt;
    |  {Epsilon}&lt;br /&gt;
 P  -&amp;gt; P , E&lt;br /&gt;
    |  E&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 2: Parser ==&lt;br /&gt;
&lt;br /&gt;
DATA absy ==&lt;br /&gt;
	node(val:seq[absy])&lt;br /&gt;
	leaf(val:token)	&lt;br /&gt;
&lt;br /&gt;
Gegeben folgende Grammatik mit Directormenge:&lt;br /&gt;
 S  -&amp;gt;  T #&lt;br /&gt;
 T  -&amp;gt;  ide&lt;br /&gt;
        &amp;lt;T T&#039;&amp;gt;&lt;br /&gt;
 T&#039; -&amp;gt;  {Epsilon}&lt;br /&gt;
     |  _ T T&#039; {Das _ war ein &#039;&#039;space&#039;&#039;}&lt;br /&gt;
&lt;br /&gt;
Ein Wort der Sprache war: &amp;lt;&amp;lt;1 2 4&amp;gt; &amp;lt;1 4 5&amp;gt; 3&amp;gt;&lt;br /&gt;
Das ganze repräsentierte einen n-ären Baum&lt;br /&gt;
&lt;br /&gt;
 DATA token ==&lt;br /&gt;
 	Open&lt;br /&gt;
 	Close&lt;br /&gt;
 	space&lt;br /&gt;
 	id(val:int)&lt;br /&gt;
 	eof&lt;br /&gt;
&lt;br /&gt;
1. Entwickle einen passenden Absy.&lt;br /&gt;
&lt;br /&gt;
2. Schreibe einen Recursive-Descent-/Combinator-Parser ohne Fehlerbehandlung. Falls Combinator: Programmiere auch die Kombinatoren.&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 3: SECD ==&lt;br /&gt;
&lt;br /&gt;
 (\x. x(2))(\y. dup(y))&lt;br /&gt;
&lt;br /&gt;
Ergebnis 4&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;dup&#039;&#039; ist eine triviale Operation.&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 4: Codeerzeugung ==&lt;br /&gt;
 int f(x:int, y:int){&lt;br /&gt;
 	if(x==0)&lt;br /&gt;
 		return y&lt;br /&gt;
 	else&lt;br /&gt;
 		return f(x-1, x*y)&lt;br /&gt;
 }&lt;br /&gt;
1. Erzeuge Pseudocode für eine abstrakte stackbasierte Maschine.&lt;br /&gt;
&lt;br /&gt;
2. Erläutere den Stackframe (überlappung und sowas)&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 5: Unifikation ==&lt;br /&gt;
&lt;br /&gt;
 FUN _ o _ : (beta -&amp;gt; gamma) -&amp;gt; (alpha -&amp;gt; beta) -&amp;gt; (alpha -&amp;gt; beta)&lt;br /&gt;
 FUN length: string -&amp;gt; nat&lt;br /&gt;
 FUN even?: nat -&amp;gt; bool&lt;br /&gt;
&lt;br /&gt;
 FUN h: string -&amp;gt; bool&lt;br /&gt;
 DEF h(s) == o(even?)(length)(s)&lt;br /&gt;
&lt;br /&gt;
 					apply (tau1)&lt;br /&gt;
 			apply(tau2)			s (tau3)&lt;br /&gt;
 		apply(tau4)	length(tau5)&lt;br /&gt;
 	o(tau6)		even?(tau7)&lt;/div&gt;</summary>
		<author><name>85.178.55.192</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=PSS_Ged%C3%A4chtnisprotokoll_Klausur_WS_0506&amp;diff=6627</id>
		<title>PSS Gedächtnisprotokoll Klausur WS 0506</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=PSS_Ged%C3%A4chtnisprotokoll_Klausur_WS_0506&amp;diff=6627"/>
		<updated>2006-02-13T20:27:00Z</updated>

		<summary type="html">&lt;p&gt;85.178.55.192: aufgabe 1&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier fehlen noch ein paar Informationen, mein Gedächtnis ist da etwas lückenhaft!&lt;br /&gt;
Außerdem scheint mir einiges falsch..? naja vorallem die 2. Grammatik ist nicht identisch&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1.&lt;br /&gt;
gegebene grammatik:&lt;br /&gt;
&lt;br /&gt;
S  -&amp;gt;  E #&lt;br /&gt;
E  -&amp;gt;  ide&lt;br /&gt;
    |  ide ( A )&lt;br /&gt;
A  -&amp;gt;  P&lt;br /&gt;
    |&lt;br /&gt;
P  -&amp;gt;  P , E&lt;br /&gt;
    |  E&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1.1&lt;br /&gt;
forme die grammatik so um, dass sie für einen&lt;br /&gt;
top-down-parser geignet ist (--&amp;gt; LL(1)).&lt;br /&gt;
&lt;br /&gt;
1.2&lt;br /&gt;
direktormengen aufstellen.&lt;br /&gt;
für die alte und die neue grammatik.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2.&lt;br /&gt;
schreibe einen recursive-decent-parser (combinator/hand)&lt;br /&gt;
ohne fehlerbehandlung für die grammatik:&lt;br /&gt;
&lt;br /&gt;
S  -&amp;gt;  T #&lt;br /&gt;
T  -&amp;gt;  &amp;lt; T T&#039; &amp;gt;&lt;br /&gt;
T&#039; -&amp;gt;  ide&lt;br /&gt;
    |&lt;br /&gt;
&lt;br /&gt;
???&lt;br /&gt;
&lt;br /&gt;
in der sprache war: &amp;lt;&amp;lt;1 2 4&amp;gt; &amp;lt;1 4 5&amp;gt; 3&amp;gt;&lt;br /&gt;
das ganze repräsentierte einen n-ären baum&lt;br /&gt;
DATA absy ==&lt;br /&gt;
	node(val:seq[absy])&lt;br /&gt;
	leaf(val:token)	&lt;br /&gt;
DATA token ==&lt;br /&gt;
	Open&lt;br /&gt;
	Close&lt;br /&gt;
	space&lt;br /&gt;
	id(val:int)&lt;br /&gt;
&lt;br /&gt;
3. SECD&lt;br /&gt;
(\x. x(2))(\y. dup(y))&lt;br /&gt;
ergebnis 4&lt;br /&gt;
dup ist triviale operation&lt;br /&gt;
&lt;br /&gt;
4. codeerzeugung&lt;br /&gt;
int f(x:int, y:int){&lt;br /&gt;
	if(x==0)&lt;br /&gt;
		return y&lt;br /&gt;
	else&lt;br /&gt;
		return f(x-1, x*y)&lt;br /&gt;
}&lt;br /&gt;
erzeuge pseudocode für eine stackartige maschine&lt;br /&gt;
erläutere den stackframe (überlappung und sowas)&lt;br /&gt;
&lt;br /&gt;
5. unifikation&lt;br /&gt;
length: string -&amp;gt; nat&lt;br /&gt;
even?: nat -&amp;gt; bool&lt;br /&gt;
h: string -&amp;gt; ???&lt;br /&gt;
h(s) == ???&lt;br /&gt;
					eval&lt;br /&gt;
			eval			s&lt;br /&gt;
		eval	length&lt;br /&gt;
	???		even?&lt;br /&gt;
ergebnis war korrekt, aber das sah vllt. auch etwas anders aus..&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>85.178.55.192</name></author>
	</entry>
</feed>