私は現在、MiniJavaプログラムのタイプチェックに成功するTypeCheckerを作成しようとしています。私は過去10時間、それを見つめながら取り組んできましたが、どこから始めればよいのかさえわかりません。私はプロジェクトを時間内に終わらせることをあきらめましたが、それでもそれがどのように成し遂げられるかを学びたいと思います。MiniJavaの完全なパーサーと、抽象構文ツリーをトラバースするために使用されるクラスのセット、および2つの異なるデフォルトのVisitor、DepthFirstVisitorとGJDepthFirstが提供されます。プロジェクトを完了するために、これらの訪問者を拡大することになっています。
何をする必要があるかという非常に基本的な概念を理解しています。パーサーがキャッチできなかったコードのエラーをキャッチする必要があります。2パスでコードを実行する必要があります。最初のパスはシンボルテーブル(?)を作成し、2番目のパスはシンボルテーブルを使用してチェックします。これは正しいです?しかし、コードでこれを実装し始める場所や方法がわかりません。
これは本当に問題ではないことを私は理解しています.......しかし、どんな種類のガイダンスや助けも大歓迎です。私のクラスには、私とまったく同じボートに乗っている友人が何人かいます。
ありがとうございました!