これから、Rust言語を用いてコンパイラを実装する時に役に立つ記事をまとめたいと思います。
[Rust] 構造体要素を持つenumにはIterator系メソッドを実装すると便利
言語処理系を実装する時、enum
を用いてASTを表現することになると思います。その際、enum
を簡便に扱えるようにするのがこの記事の趣旨です。
(仮題)[Rust] エラー回復処理を実装してユーザーフレンドリーなエラー出力を行う
Rustにおいてエラー処理のために使われるResult
列挙体は、通常最大でも1つのエラーしか表すことが出来ません。しかしながら、実際の処理系では、1つのエラーが出たらそれで終わり、とするのではなく、エラー回復処理を行い、処理を続行することで複数のエラーを検出し表示することが多いです。この記事では、Error
構造体で工夫を行うことで、1つのError
で複数のError
をうまく表す方法を説明します。