summaryrefslogtreecommitdiff
path: root/topic.md
diff options
context:
space:
mode:
authorGregor Kleen <gkleen@yggdrasil.li>2017-10-19 15:41:19 +0200
committerGregor Kleen <gkleen@yggdrasil.li>2017-10-19 15:41:19 +0200
commitb0664409b92541883e4cf17ff77730aa124e9d48 (patch)
treed6b9d97c4932af167899cdbaa03c64e14ad85287 /topic.md
downloadincremental-dfsts-b0664409b92541883e4cf17ff77730aa124e9d48.tar
incremental-dfsts-b0664409b92541883e4cf17ff77730aa124e9d48.tar.gz
incremental-dfsts-b0664409b92541883e4cf17ff77730aa124e9d48.tar.bz2
incremental-dfsts-b0664409b92541883e4cf17ff77730aa124e9d48.tar.xz
incremental-dfsts-b0664409b92541883e4cf17ff77730aa124e9d48.zip
Bachelor´s thesis; topic
Diffstat (limited to 'topic.md')
-rw-r--r--topic.md25
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 @@
1Ziel ist es eine Methode zu erarbeiten mit der sich Parser beschreiben lassen,
2die, gegeben ein vorheriges Ergebnis und eine Beschreibung des Unterschieds
3zwischen des damaligen Inputs und dem aktuellen, schneller das neue Ergebnis
4produzieren können als es ohne zusätzlichen Kontext möglich wäre.
5
6Zunächst wird hierfür nach bereits vorhandener Arbeit recherchiert (z.B. die
7inkrementellen Parser des Texteditors “Yi”) und versucht deren Ergebnisse vom
8obigen Thema abzugrenzen.
9
10Die algebraische Darstellung von Parsern als funktionale Linsen und von der
11Applikation von Änderungen (sowohl an der Eingabe, als auch, im Optimalfall, an
12der Ausgabe eines Parsers) als “edit-lenses” soll verwendet werden.
13
14Dann wird die naheliegenden Konstruktion für den Speziallfall, dass es sich beim
15betrachteten Parser um einen DFA handelt der nur prüft ob eine Eingabe
16akzeptiert wird und wmgl. eine Implementierung dieser Konstruktion in Haskell
17vorgestellt.
18Nun wird versucht die Konstruktion zunächst auf Parser und dann auf mächtigere
19Automaten zu erweitern.
20Speziell sollen hier Parser betrachtet und implementiert werden, die paarweise
21auftretende Klammern gruppieren und sicherstellen, dass Variablen in der Syntax
22einer imperativen Programmiersprache nur benutzt werden, nachdem sie deklariert
23wurden.
24Es soll dann versucht werden iterative Parser für XML und ein Fragment der
25Programmiersprache Java zu entwicklen und zu implementieren.