[Trennmuster] git Merge: 02ef744 fa33c68
Stephan Hennig
mailing_list at arcor.de
So Nov 10 01:02:15 CET 2013
Am 08.11.2013 20:20, schrieb Guenter Milde:
> Als positiven Nebeneffekt gibt es jetzt ein Skript zum Entfernen von
> Doppeleinträgen, aktualisierte Konsistenztests und einen eindeutigen
> Sortieralgorithmus.
Ich hatte mich vor einiger Zeit an einem Skript zur Konsistenzprüfung
der Wortliste versucht. Als Übung mit dem Lua-Modul LPEG. Es wurde
eine ganze Menge geprüft, sowohl die Gültigkeit der Datensätze (gültige
Belegung der Felder, kein ß in Spalten größer als 4, alle Felder
beschreiben ohne Trennungen dasselbe Wort) als auch die Gültigkeit jedes
einzelnen Feldes. LPEG-gemäß (fast) alles jeweils in Form einer
Grammatik. Der Ansatz ist vermutlich schneller als sture Prüfung/Suche
mittels normaler Stringoperationen, ergibt allerdings nicht unbedingt
einfach zu wartenden Kode. Für die Wortliste ist dieses Vorgehen daher
nicht unbedingt sinnvoll.
Außerdem läuft das Skript derzeit nicht erfolgreich durch. Etwa zwei
Drittel der Datensätze werden als ungültig eingestuft. Ich habe in
letzter Zeit etwas den Anschluss bezüglich verschiedener Details des
Listenformats verloren. Und momentan auch wenig Zeit, das nachzuholen.
Möglicherweise fehlen auch Anpassungen an die Umstellung der Wortliste
auf UTF-8; das Skript hatte ich vor der Umstellung geschrieben.
Vielleicht kann trotz allem den Kommentaren jemand die eine oder andere
Anregung zur Konsistenzprüfung entnehmen. Ich habe das Skript daher in
den Dateibereich hochgeladen,
<URL:https://projekte.dante.de/pub/Trennmuster/Dateibereich/validate.zip>.
Aufgerufen wird es als
$texlua validate.lua < wortliste
Die Ausgabe besteht aus einer Aufstellung aller als gültig erkannten
Datensatztypen (weil diese Information nebenbei abfällt). Die
Bezeichner sind einigermaßen sprechend gewählt -- wenn man weiß, was sie
bedeuten. Die Ausgabe
$git checkout dehyph-exptl-v0.22 # Juli 2011
$texlua validate.lua < wortliste
ua 371812
uxt_ 4656
ux_r 387
uxtr 41161
ux__c 2855
ux__xt__ 0
ux__x_r_ 8
ux__x__s 79
ux__xt_s 10
ux__xtr_ 24
ux__xtrs 5769
ux_rc 3911
ux_rxtr_ 55
ux_rxtrs 300
gesamt 431027
ungültig 0
bedeutet, dass 371812 Datensätze erkannt wurden, die Wörter beschreiben,
die in allen Rechtschreibungen gleich getrennt werden (Felder 1 und 2
sind belegt) und 4656 Datensätze, die Wörter beschreiben, die nur in der
traditionellen Rechtschreibung existieren (Felder 1 und 3 sind belegt;
sowohl x als auch _ stehen für leere, existierende Felder). Eine
ausführlichere Beschreibung dieser Bezeichner findet man in
parse_wortliste.lua ab Zeile 170.
Viele Grüße,
Stephan Hennig
Mehr Informationen über die Mailingliste Trennmuster