-successive, mentre sarebbe molto più comodo poter tornare direttamente al
-ciclo di lettura principale, scartando l'input come errato.\footnote{a meno
- che, come precisa \cite{glibc}, alla chiusura di ciascuna fase non siano
- associate operazioni di pulizia specifiche (come deallocazioni, chiusure di
- file, ecc.), che non potrebbero essere eseguite con un salto non-locale.}
-
-Tutto ciò può essere realizzato salvando il contesto dello stack nel punto in
-cui si vuole tornare in caso di errore, e ripristinandolo quando l'occorrenza
-capita. La funzione che permette di salvare il contesto dello stack è
-\funcd{setjmp}, il cui prototipo è:
+successive. Questo comporterebbe una notevole complessità, mentre sarebbe
+molto più comodo poter tornare direttamente al ciclo di lettura principale,
+scartando l'input come errato.\footnote{a meno che, come precisa \cite{glibc},
+ alla chiusura di ciascuna fase non siano associate operazioni di pulizia
+ specifiche (come deallocazioni, chiusure di file, ecc.), che non potrebbero
+ essere eseguite con un salto non-locale\index{salto non-locale}.}
+
+Tutto ciò può essere realizzato proprio con un salto non-locale; questo di
+norma viene realizzato salvando il contesto dello stack nel punto in cui si
+vuole tornare in caso di errore, e ripristinandolo, in modo da tornare nella
+funzione da cui si era partiti, quando serve. La funzione che permette di
+salvare il contesto dello stack è \funcd{setjmp}, il cui prototipo è: