diff options
Diffstat (limited to 'topic.md')
-rw-r--r-- | topic.md | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/topic.md b/topic.md new file mode 100644 index 0000000..78fe5be --- /dev/null +++ b/topic.md | |||
@@ -0,0 +1,25 @@ | |||
1 | Ziel ist es eine Methode zu erarbeiten mit der sich Parser beschreiben lassen, | ||
2 | die, gegeben ein vorheriges Ergebnis und eine Beschreibung des Unterschieds | ||
3 | zwischen des damaligen Inputs und dem aktuellen, schneller das neue Ergebnis | ||
4 | produzieren können als es ohne zusätzlichen Kontext möglich wäre. | ||
5 | |||
6 | Zunächst wird hierfür nach bereits vorhandener Arbeit recherchiert (z.B. die | ||
7 | inkrementellen Parser des Texteditors “Yi”) und versucht deren Ergebnisse vom | ||
8 | obigen Thema abzugrenzen. | ||
9 | |||
10 | Die algebraische Darstellung von Parsern als funktionale Linsen und von der | ||
11 | Applikation von Änderungen (sowohl an der Eingabe, als auch, im Optimalfall, an | ||
12 | der Ausgabe eines Parsers) als “edit-lenses” soll verwendet werden. | ||
13 | |||
14 | Dann wird die naheliegenden Konstruktion für den Speziallfall, dass es sich beim | ||
15 | betrachteten Parser um einen DFA handelt der nur prüft ob eine Eingabe | ||
16 | akzeptiert wird und wmgl. eine Implementierung dieser Konstruktion in Haskell | ||
17 | vorgestellt. | ||
18 | Nun wird versucht die Konstruktion zunächst auf Parser und dann auf mächtigere | ||
19 | Automaten zu erweitern. | ||
20 | Speziell sollen hier Parser betrachtet und implementiert werden, die paarweise | ||
21 | auftretende Klammern gruppieren und sicherstellen, dass Variablen in der Syntax | ||
22 | einer imperativen Programmiersprache nur benutzt werden, nachdem sie deklariert | ||
23 | wurden. | ||
24 | Es soll dann versucht werden iterative Parser für XML und ein Fragment der | ||
25 | Programmiersprache Java zu entwicklen und zu implementieren. | ||