8.2
lexc: Ein Kompiler für Lexika
8.2.1
Formalismus
Ein Formalismus für die lexikalische Ebene
lexc-Sprache
Die lexc-Sprache ist eine auf lexikographische Bedürfnisse zugeschnittene Notation für endliche
Automaten und Transduktoren, welche konkatenative Morphologie inklusive Rechtsrekursion optimal
unterstützt.
- Der Kompiler kann grosse
Lexika effizient verarbeiten.
- Das Konzept der Teillexika
fördert die klassenbezogene Strukturierung.
- Das Konzept der Fortsetzungsklassen
auf der Ebene der Lexikoneinträge erlaubt flexible morphotaktische Verknüpfungen.
- Lexikoneinträge können leer
, d.h. 𝜖 sein.
- Die Fortsetzungsklasse eines Eintrags kann sich rekursiv
auf das eigene Teillexikon beziehen.
- Steht in der Tradition der Zwei-Ebenen-Systeme (TwoL von Koskenniemi, PC-KIMMO von
[ANTWORTH 1990]).
Aufbau einer lexc-Datei
- Optionale Deklarierung von verwendeten Mehrzeichensymbolen: Multichar_Symbols MC1
... MCn
- Eine Folge von benannten Lexika: LEXICON Name
, welche aus mindestens einem nachfolgendem Lexikoneintrag bestehen:
Entry Continuation ;.
Root ist das Startlexikon, # das
Endlexikon.
Beispiel 8.2.1 (Lexikon mit leeren und rekursiven Fortsetzungsklassen ▸▸▸).
LEXICON Root ! Kein ; hier!
MEGA ;
LEXICON MEGA
mega MEGA ; ! Rechtsrekursion
ADJ ; ! Leerer Eintrag
LEXICON ADJ
cool # ; ! oder
gut # ; ! oder
schlaff #;
Visualisierungen
Zustandsdiagramm der Spezifikation des Mega-Lexikons
Zustandsdiagramm des kompilierten Mega-Lexikons
Ausschnitt aus GERTWOL ▸▸▸
Multichar_Symbols +S +FEM
+SG +PL +NOM +AKK +DAT +GEN @U
LEXICON Root
* SUBST ;
LEXICON SUBST
mau_s S7+/f;
LEXICON S7+/f
S7+/f/end;
LEXICON S7+/f/end
Sg3/f/end;
Pl1+/f/end;
LEXICON Sg3/f/end
+S+FEM+SG+NOM:0 #;
+S+FEM+SG+AKK:0 #;
+S+FEM+SG+DAT:0 #;
+S+FEM+SG+GEN:0 #;
LEXICON Pl1+/f/end
+S+FEM+PL+NOM:e@U #;
+S+FEM+PL+AKK:e@U #;
+S+FEM+PL+DAT:en@U #;
+S+FEM+PL+GEN:e@U #;
! @U triggert Umlaut
8.2.2
Benutzerschnittstelle
Kompilieren von lexc-Dateien
Mit dem lexc-Werkzeug
$ lexc
lexc> compile-source lexicon.lexc
Opening ’lexicon.lexc’...
Root...1, SUBST...1, S7+/f...1, S7+/f/end...2, Sg3/f/end...4,
Pl1+/f/end...4
Building lexicon...Minimizing...Done!
SOURCE: 1.6 Kb. 16 states, 22 arcs, 8 paths.
Mit dem xfst-Werkzeug
Mittels read lexc < lexicon.lexc lässt sich in xfst eine lexc-Datei ebenfalls in das entsprechende
Netzwerk kompilieren.
Lexikalische Transduktoren mit lexc
Transduktoren
Lexikoneinträge der Form Wort1:Wort2 erzeugen Transduktoren
.
Anwendungen
- Dies erlaubt eine einfache Spezifikation für Suppletiv-Formen oder stark abweichende
Stämme («go» zu «went»).
- In der Zwei-Ebenen-Morphologie wie in GERTWOL heisst die Oberseite dieser
Transduktoren Grundform (base), die Unterseite heisst lexikalische Ebene (lexical). Die
Zwei-Ebenen-Regeln verbinden dann die lexikalische Ebene mit der Wortform. Insgesamt
ist es eine Drei-Ebenen-Morphologie.
Drei-Ebenen-Morphologie in GERTWOL