これがベトナム大学院の実態だ!

Trường Đại Học Bách Khoa Thành Phố Hồ Chí Minhの大学院修士課程に社会人入学

Nguyên lý ngôn ngữ lập trình 11回目

2019年11月11日、Nguyên lý ngôn ngữ lập trìnhの11回目授業が実施された。
こうして文字だけで見ると11という数字が3つも重なったことになる。だからどうしたと言えばそれまでだが。
エレベーター前には先生とも生徒とも微妙な女がいたが、その前の広告。
f:id:k4h8:20191112175324j:plain
さて、前回が18:20開始だったので、どうせ今回も早くいったところで意味はないだろうと思い18:02頃入室したが、何を思ったか小テストがもう始まっていた。
人が早く来れば遅く始め、遅く来れば早く始めるという何かの嫌がらせだろうか。
一応カンペは作ってあったが、過去問にはない問題もあった。
よく分からない答え合わせのようなものが行われたが、相変わらずホーチミンのフニャフニャ発音では分からない。
f:id:k4h8:20191112175452j:plainf:id:k4h8:20191112175457j:plain
さて、その後同日の実習問題が行われたが、昨年度とは違う内容のようだ。
早くもassignment3の内容を利用する。
問題は以下の通り。

課題3の最初のコードに基づいて、次の質問を実装するためにStaticCheck.pyを変更します。
質問1。
MCプログラムのグローバル参照環境を作成しますか? TestUtils.pyとCheckerer.pyを変更して、コードをテストします。
コードをテストする手順は、「python run.py test CheckerSuite」です。
質問2。
コードを変更して、グローバル環境で重複する宣言が発生したかどうかを確認し、対応する例外がスローされます。
コードが適切にテストされていることを確認してください。
質問3。
MCスコープの規則に従うように、パラメーターの重複宣言と関数の参照環境のローカル宣言が重複していないかどうかを確認するようにコードを変更します。
コードが適切にテストされていることを確認してください。
質問4。
関数内で変数が使用されているかどうかを確認するようにコードを変更します。変数は事前に宣言され、関数の参照環境に現れている必要があります。
それ以外の場合、対応する例外がスローされます。
コードが適切にテストされていることを確認してください。
f:id:k4h8:20191112175629j:plainf:id:k4h8:20191112175633j:plainf:id:k4h8:20191112175636j:plain
ポイントはvisitor.pyの設定のようだ。