- 36頁,下の注
 「(context-dependent grammar)」→「(context-sensitive grammar)」
 
 
- 67頁,プログラムの下から5行
「while (charClassT[ch]==digit) {」
→
「}
    while (charClassT[ch]==digit) {」
- 84頁,上15行
 「Director(A, α)はAをaに展開」→「Director(A, α)はAをαに展開」
 
 
- 85頁,下11行〜下8行
 「b) A→αBβ(B∈VN)なる生成規則があればFirst(β)をFollow(B)に加え
る.ただし,ε∈First(β)のときεは加えない.
 c) A→αBなる生成規則があるか,またはA→αBβなる生成規則がありε∈
First(β)ならば,Follow(A)をFollow(B)に加える.」
 →
 「b) A→αBβ(B∈VN)なる生成規則について
 (i) First(β)をFollow(B)に加える.ただし,ε∈First(β)のときεは加え
ない.
 (ii) ε∈First(β),またはβ=εならば,Follow(A)をFollow(B)に加え
る.」
 
 
- 94頁,上1行目
 「より一般的には、β⇒*εのとき」→「より一般的には、β≠εでβ⇒*εのとき」
 
 
- 124頁,上5,6行
 「4角」→「四角」
 
 
- 131頁,下4行
 「jpc」の「j」の下線を除く
 
 
- 136頁,下12行
 「2番地であるとしている.」
 →
 「2番地であるとしている.命令語のアドレス部はレベル番号と相対アドレスからなる.例えば「load 0 4」はレベル0のデータ領域の中の相対アドレス4のデータをロードする命令である.」
 
 
- 136頁,下3行
 「(3)」→「(5)」
 
 
- 135頁,下1行,図8.3
 
- 136頁,上3行(2カ所),5行,9行(2カ所),11行,13行
 
- 137頁,上7行,図8.4
 
- 138頁,図8.5,図8.6
 
- 141頁,下7行
 「トップ」→「top」
 (注意:134頁の下と135頁の上の「トップ」は変更しない)
 
 
- 141頁,下4行
 「cal(コール)」→「cal(コール),ret(リターン)」
 
 
- 142頁,上1行
 「先頭番地.」
 →
 「先頭番地であり,ret命令のレベルは関数本体のレベル,番地部は関数の引数の個数である.」
 
 
- 142頁,上4行
 「,ret(リターン)」→「」
 
 
- 142頁,上5〜6行
 「,retのときレベル.」→「である.」
 
 
- 153頁,上1行
 「checkGet」→「checkGet」
 
 
- 155頁,下8,9行
  case End: case Semicolon:  /* 空文を読んだことにして終わり */
       return;
→
  case End: case Semicolon: case Period:  /* Follow(statement)のトークン */
       return;   /* の場合:空文を読んだことにして終わり */ 
- 157頁,下12行
  errorMessage("\\#par"); /* pars(tIndex)は仮引数の個数 */
→
  errorMessage("unmatched par"); /* pars(tIndex)は仮引数の個数 */
- 158頁,下
   case Equal:genCodeO(eq); break;
   case Lss:	genCodeO(ls); break;
   case Gtr:	genCodeO(gr); break;
   case NotEq:	genCodeO(neq); break;
   case LssEq:	genCodeO(lseq); break;
   case GtrEq:genCodeO(greq); break;
→
   case Equal:	genCodeO(eq); break;
   case Lss:	genCodeO(ls); break;
   case Gtr:	genCodeO(gr); break;
   case NotEq:	genCodeO(neq); break;
   case LssEq:	genCodeO(lseq); break;
   case GtrEq:	genCodeO(greq); break; 
- 164頁,下3分の1
「void errorType(char *m)		/* 型エラーを.texファイルに出力 */
{ 」  
→
「void errorType(char *m)		/* 型エラーを.texファイルに出力 */
{
    printSpaces();」
- 165頁,真ん中辺
 「(i==(int)Id)」→「(i==(int)Id)」
 
 
- 166頁,下13行
 「spaces+=TAB;」→「spaces+=TAB;  /* 行の先頭のタブ以外は不正確 */」
 
 
- 167頁,上3,4行,および72頁の真ん中辺
「if (i > MAXNAME)
	errorMessage("too long");」
→
「if (i >= MAXNAME){
	errorMessage("too long");
	i = MAXNAME - 1;
   }」
- 167頁,上16行,および72頁,下13行
 「num = 0; i = 0;」→「num = 0;」
 
 
- 168頁,下5〜9行
「static void printSpaces()		/* 空白や改行の印字 */
{
	int i = CR;
	if (i-- > 0){
		fprintf(fptex, "\\par\n");
		while (i-- > 0)
			fprintf(fptex, "\\ \\par\n");
	}
	i = spaces;
	while (i-- > 0)
		fprintf(fptex, "\\ ");
}」
→
「static void printSpaces()		/* 空白や改行の印字 */
{
	while (CR-- > 0)
		fprintf(fptex, "\\ \\par\n");
	while (spaces-- > 0)
		fprintf(fptex, "\\ ");
 CR = 0; spaces = 0;
}」
- 169頁,下7行
 「(i==(int)Num)」→「(i==(int)Num)」
 
 
- 172頁,下15行
 「tIndex++」→「++tIndex」
 
 
- 176頁,上10行
「#define MAXMEM 2000		/* 実行時スタックの最大長さ */」
→
「#define MAXMEM 2000		/* 実行時スタックの最大長さ */
 #define MAXREG 20		/* 演算レジスタスタックの最大長さ */」 
- 179頁,真ん中あたり
 「		if (top >= MAXMEM)」
 →
 「		if (top >= MAXMEM-MAXREG)」
 
 
- 182頁,上2行
 「Thch」→「Tech」
 
 
- 182頁,下5行
 「Institute」→「Institut」
 
 
- 185頁,1章2.の解答の図のT型の中
 「M」→「VL」
 
 
- 187頁,4章1.(c)の解答の(4)
  
 初期状態からa,aで遷移した状態が最終状態(2重丸)となっているのを1重丸とする
 
 
- 187頁,4章1.(c)の解答の(5)
  
 (1)初期状態からcで遷移した状態が1重丸となっているのを最終状態(2重丸)とする
 (2)右端の状態(初期状態からc,b,cで遷移した状態)を削除し,初期状態からc,b,cで遷移する状態は,初期状態からc,a,aで遷移した状態と同じとする
 
 
- 188頁,5章1.(4)の解答の最後の行
 「LL(1)文法である」→「LL(1)文法でない」
 
 
- 193頁,下5行
 「2文法 104」→「2分法 105」