06 構文解析器にエラー出力機能を実装する [オリジナル言語インタプリタを作る]
構文解析器にエラー出力機能を実装する 構文エラーが無視されてしまう 前回はlet文の構文解析の一部を実装しました。その過程で ExpectPeek() で先読み結果を判定する処理を実装し、必要なトークンが存在するかどうかを見て処理を分岐しました。具体的には "=" があるかどうかを以下のコードで判定しています。 Parsing/Parser.cs public class Pa […]
Web備忘録 プログラミングを中心に技術的な事柄を忘れないように書き残します。
構文解析器にエラー出力機能を実装する 構文エラーが無視されてしまう 前回はlet文の構文解析の一部を実装しました。その過程で ExpectPeek() で先読み結果を判定する処理を実装し、必要なトークンが存在するかどうかを見て処理を分岐しました。具体的には "=" があるかどうかを以下のコードで判定しています。 Parsing/Parser.cs public class Pa […]
構文解析器(パーサー) 構文解析器(パーサー)の役割は、入力データから何らかのデータ構造を構築することです。データ構造はたいてい構文木や抽象構文木などの階層的な構造で定義され、入力に対して構造化された表現を与えます。また、その過程で入力が正しい構文かどうかをチェックします。 多くの場合構文解析器は字句解析器の後におかれ、字句解析器から得られたトークン列を入力として受け取ります。 今回作成する構文解 […]