[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