Ho il seguente compito: sviluppare un programma in cui vi è un blocco di testo di esempio che dovrebbe essere digitato dall'utente. Tutti gli errori di battitura effettuati dall'utente durante il test sono registrati. Fondamentalmente, posso confrontare ogni char digitato con il char di esempio in base alla posizione dell'indice di caret dell'input, ma c'è un difetto significativo in un approccio così "ingenuo". Se l'utente ha digitato erroneamente più lettere di quante ne abbia un'intera stringa o ha inserito più spazi bianchi tra la stringa di quanto dovrebbe essere, il resto dei confronti sarà errato a causa degli offset di indice aggiunti dagli inserimenti errati aggiuntivi.
Ho pensato di progettare una sorta di parser in cui ogni stringa (o anche un char) è tokenizzata e i confronti sono fatti in "char-wise" e non in "index-wise", ma mi sembra un overkill per un simile compito Mi piacerebbe avere un riferimento ad algoritmi eventualmente esistenti che possono essere utili per risolvere questo tipo di problema.