chap9は型システム。想像していたより難しい。一歩ずつ行かないと。
PROGRAM Test; CONST epsilon = 1.0e-6; TYPE rec = RECORD a : real; x, y : integer; END;
こういうコードに対して、シンボルテーブルをスタックにする。
Level 0がInteger等の組込型が定義されているglobal scope。Level 1がプログラムで使用する変数が定義されている Program Scope。
Lebal 2 がレコード型の変数が定義されているScope。レコード型が出てくる度にスコープを新しく作り、フィールドに他と同じ名前の変数を使えるようにする。