Application Kata „Spellchecker“

 

Schreibe ein Programm, das alle falsch geschriebenen Wörter einer Eingabedatei auflistet.

Das Programm wird folgendermaßen aufgerufen:

C:> spellchecker meintext.txt
Äppel
Dskette

Im Beispiel sind die beiden Wörter „Äppel“ und „Dskette“ falsch geschrieben. Die Regel, welche Wörter falsch geschrieben sind, ist ganz einfach: alle korrekten Wörter stehen in der Datei wortliste.txt. Jedes Wort im Eingabetext, das nicht in der Wortlistendatei vorhanden ist, wird als falsch geschrieben ausgegeben.

Als Wort wird in der Eingabedatei eine zusammenhängende Zeichenfolge herangezogen, die nicht aus Leerzeichen, Zeilenschaltungen und Tabulatoren besteht. Interpunktionszeichen werden zunächst ignoriert (siehe Variation 3).

In der Wortlistendatei steht jedes Wort in einer eigenen Zeile. Es handelt sich um eine Textdatei im Encoding UTF8. Die Datei könnte folgendermaßen aussehen:

Der
Diskette
Apfel
Stamm
fällt
weit
nicht
ist
Benutzung
in

Variation #1

Zu jedem Falsch geschrieben Wort wird die Position ausgegeben, an der sich das Wort im Text befindet. Die Position wird mit Zeile und Spalte angegeben, beide 1-basierend.

C:> spellchecker meintext.txt
Äppel–1, 24
Dskette–3, 1

Variation #2

Das Dateiformat der Wortlistendatei wortliste.txt soll erweitert werden, um Varianten von Wörtern leichter abbilden zu können:

sein ~e ~er ~em ~es

Das Beispiel führt zu den Wörtern „sein, seine, seiner, seinem, seines“.

Variation #3

Interpunktionszeichen werden beim Aufteilen des Textes in Wörter korrekt behandelt.