「プログラミング言語を作る」正誤表
このページは、拙著「プログラミング言語を作る」技術評論社 ISBN978-4-7741-3895-4 の正誤表です。
p.106上の囲みリストの下3行目
誤)
アクションにて、crb_crete_binary_expression()…
正)
アクションにて、crb_create_binary_expression()…
「a」が抜けていました。
p.186下のリスト
誤)
/* ソースがShift-JISで、その1文字目を食ったのであれば、
SHIFT_JIS_2ND_CHARに遷移する */
if (enc == SHIFT_JIS_ENCODING
&& ((unsigned char*)yytext)[0] >= 0x81
&& ((unsigned char*)yytext)[0] <= 0x9e) {
正)
/* ソースがShift-JISで、その1文字目を食ったのであれば、
SHIFT_JIS_2ND_CHARに遷移する */
if (enc == SHIFT_JIS_ENCODING
&& ((((unsigned char*)yytext)[0] >= 0x81
&& ((unsigned char*)yytext)[0] <= 0x9e)
|| (((unsigned char*)yytext)[0] >= 0xe0
&& ((unsigned char*)yytext)[0] <= 0xef))) {
本文中にもあるとおり、Shift-JISの文字コードは
と定められていますが、2バイト目の範囲の後半部分が抜けていました。
p.189下から6行目
誤)
それに対し、CSIだと(N-1)必要になります。
正)
それに対し、CSIだとN(N-1)必要になります。
p.206ふたつめのカコミのリスト
誤)
$$ = dkc_close_block($<block>2, $3);
正)
$<block>$ = dkc_close_block($<block>2, $3);
代入される側の$$も型指定をしないと、 環境によりエラーが出るようです。 掲示板の以下の投稿も参照してください。
http://kmaebashi.com/bbs/list.php?boardid=kmaebashibbs&thread=1430
私のところでは$$の型指定をしなくても (なぜか)動いているようですが、これは指定するのが正しいと思います。
p.303補足の2行目
誤)
具体的には、オブジェクト消滅のタイミングで、Javaならデストラクタ、 C++やC#ならデストラクタというメソッドが呼び出されます。
正)
具体的には、オブジェクト消滅のタイミングで、Javaならファイナライザ、 C++やC#ならデストラクタというメソッドが呼び出されます。
p.417下から3行目
誤)
ラルフ・ジョンション
正)
ラルフ・ジョンソン
書籍情報のページに戻る | 著者のWebページトップはこちら
ご意見、ご質問、不具合連絡等は掲示板にお願いいたします。