ページと行
p.iv, l.9勘弁簡便
p.16, l.13-17 例えば,fold_left f r [e0; e_1; ...; en] のような fold_left の適用は,次の計 算を生じる.
f en (... f e1 (f e0 r)))
ここで,関数 f は,第1引数にリストの要素を取るだけでなく,第2引 数として,直前の要素に f を適用した結果を取ることに注意して欲しい.
例えば,fold_left f r [e0; e_1; ...; en] のような fold_left の適用は,次の計 算を生じる.
f (... (f (f r e0) e1) ...) en
ここで,関数 f は,第2引数にリストの要素を取るだけでなく,第1引数として,直前の要素に f を適用した結果を取ることに注意して欲しい.
p.24,図2.2,l.2type op = Plus | Minus | Times | Div ;;不要
p.28,図2.6,l.3type op = Plus | Minus | Times | Div ;;不要
p.42,closureの定義
let closure(S) =
        let T =  U s∈S edge(s,ε)
            if S = T then T else closure(T)
let closure(S) = (* TにSを含める *)
        let T = S ∪ U s∈S edge(s,ε)
            if S = T then T else closure(T)
p.48,図3.20,l.2 let digits_opt = "['0'-'9']* let digits_opt = ['0'-'9']*
p.61,表4.1 Q | fasle Q | false
p.62,表4.2 R |    | x  | x y z  | x y z R |    | z  | x y z  | x y z
p.66,l.9 S → if E then S' S → if E then S S'
p.72,図4.20,l.14 1 id 3 ( 4 E 6 + 8 F 9 1 id 3 ( 4 E 6 + 8 F 10
p.72,図4.20,最終行 1 S 1 S 2
p.76,図4.22 e := e ∪ { i →Xj } e := e ∪ { i →Yj }
p.77,l.6 移動 i (表中ではgj):… 移動 j (表中ではgj):…
p.79,表4.8,下2行 5 | r3 r3 r3 | r3 r3
6 | r1 r1 r1 | r1 r1
5 | r3 r3 r3 |
6 | r1 r1 r1 |
p.102,図4.51,キャプション Simple言語の構文木 (ファイル calc1.ml) Simple言語の構文木 (ファイル ast.ml