「プログラミング言語を作る」正誤表

このページは、拙著「プログラミング言語を作る」技術評論社 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ページトップはこちら

ご意見、ご質問、不具合連絡等は掲示板にお願いいたします。