练习:使用 Result 进行重写
以下代码实现了一个非常简单的表达式语言解析器。不过,它通过 panic 机制来处理错误。请重写该代码,改用惯用的错误处理方式,并将错误传播到 main
函数的返回值。您可以随意使用 thiserror
和 anyhow
。
提示:请先修复 parse
函数中的错误处理问题。该部分正常运行后,请更新 Tokenizer
以实现 Iterator<Item=Result<Token, TokenizerError>>
,并在解析器中进行相应处理。