Ejercicio: Reescribir con Result
A continuación, se implementa un analizador muy sencillo para un lenguaje de expresiones. Sin embargo, para gestionar los errores, utiliza pánicos. Reescribe este texto para utilizar la gestión de errores idiomática y propagar los errores a un instrucción de retorno desde main
. No dudes en usar thiserror
y anyhow
.
CONSEJO: empieza por corregir la gestión de errores en la función parse
. Cuando funcione correctamente, actualiza Tokenizer
para implementar Iterator<Item=Result<Token, TokenizerError>>
y gestiónalo en el analizador.