検索 - みる会図書館

検索対象: 月刊 C MAGAZINE 1991年6月号

月刊 C MAGAZINE 1991年6月号から 172件ヒットしました。

月刊 C MAGAZINE 1991年6月号


CONTENTS VoI.3 No. 6 JUN 1991 円 引 年 6 月 一 日 ( 毎 月 一 回 一 日 発 行 ) 第 3 巻 第 6 号 通 巻 第 幻 号 円 90 年 2 月 2 日 第 3 種 郵 便 物 認 可 0 COMPUTER LANGUAGE 提 携 記 事 COMPUTER LANGUAGE 提 携 記 事 短 期 連 載 C プ ロ グ ラ マ の た め の 0ne P0int Edition 応 用 C 言 語 新 連 載 ・ X68k 活 用 講 座 C 言 語 フ ォ ー ラ ム プ ロ グ ラ ミ ン グ 添 削 Conference Room 特 集 実 力 養 成 講 座 ProgrammIng on Purpose rcustomer servicæ p. J. p 加 g 。 。 ・ ・ C 十 十 で 書 く 単 純 な マ ル チ タ ス ク カ ー ネ ル Taking Contr01t0 Task Modula ー 2 に よ る マ ル チ タ ス キ ン ク Multitasking in M0dula-2 フ リ ー ソ フ ト ウ ェ ア 最 新 レ ポ ー ト く 第 19 回 〉 自 分 の 街 を 作 る ! ? 野 口 雄 平 ・ ・ Book Review ・ ・ プ ロ グ ラ マ の た め の 知 的 財 産 権 概 論 拡 大 す る ソ フ ト ウ ェ ア 保 護 の 実 態 と 問 題 点 財 ソ フ ト ウ ェ ア 情 報 セ ン タ ー ・ ・ ・ 14 22 ・ ・ 30 ・ 32 ・ 34 p 耐 1 ・ 著 作 権 法 に 見 る 知 的 財 産 権 / p 耐 2 ・ 著 作 権 法 と 特 許 法 / p 3 ・ 米 欧 に 見 る ソ フ ト ウ ェ ア 保 護 の 実 態 オ リ ジ ナ ル C コ ン ヾ イ ラ 制 作 プ ロ ジ ェ ク ト P 「 agmaC く 第 7 回 〉 PMK の 作 成 藤 井 保 則 ・ ア ル ゴ リ ズ ム と テ ー タ 構 造 入 門 く 第 11 回 〉 整 列 ( 3 ) マ ー ジ ソ ー ト 近 藤 嘉 雪 OOP 思 考 の 周 辺 く 第 3 回 〉 「 手 法 木 戸 研 ー 新 MS ー DOS プ ロ グ ラ ミ ン ク 入 門 く 第 9 回 〉 テ ィ レ ク ト リ の 移 動 中 島 信 行 ・ C プ ロ グ ラ ム 移 植 の 秘 訣 ー MS ー DOS か ら Human68k へ 村 田 敏 幸 の 道 具 箱 く 第 12 回 〉 ウ イ ン ド ウ の 応 用 豊 国 永 健 ・ GCC で 学 ぶ 68 ゲ ー ム プ ロ グ ラ ミ ン グ く 第 1 回 〉 な め ら か ス ク ロ ー ル の 秘 訣 恥 す か し な か ら ド シ り ま し た く 第 19 回 〉 情 報 の 省 エ ネ 化 は standard に 至 る ( ? ) 岩 谷 宏 ・ ANSI C ー more く 第 7 回 〉 関 数 へ の ポ イ ン タ き だ あ き ら ・ 吉 野 智 興 ・ ・ 96 明 解 AN SI C 言 語 入 門 講 座 く 第 3 回 〉 流 れ の 制 御 と 基 本 的 な テ ー タ 構 造 柴 田 望 洋 ・ ス タ ー ト ア ッ プ C 十 十 く 第 2 回 〉 C 言 語 と C 十 十 ( 2 ) 龍 崎 昌 平 ・ 白 倉 伸 一 郎 ・ 山 本 浩 文 ・ ・ ・ ・ 52 ・ 58 ・ 67 ・ 89 ・ 101 ・ 105 ・ ・ 114 ・ ・ 124 ワ ン ポ イ ン ト プ ロ グ ラ ミ ン グ 講 座 く 第 15 回 〉 日 付 計 算 関 数 を 作 る 上 田 哲 ニ 132 C MAGA セ ミ ナ ー ル ー ム く 第 10 回 〉 引 os プ ロ グ ラ ミ ン グ ( 2 ) 柴 田 望 洋 ・ ・ ・ ShortInterview X Window と DEC 円 羽 信 夫 の 発 想 快 発 く 第 6 回 〉 う ま い 話 に こ 用 心 ・ ・ ・ C マ カ 、 電 月 畄 ク ラ フ 、 く 第 3 回 〉 九 つ の 数 が 9 に 吉 柄 貴 樹 C-MAGA News Square ・ lnformation from Compiler Makers ・ Readers' Room テ ィ ス ク 内 容 の お 知 ら せ ・ EDITORS' ROOM ・ 本 記 事 中 の プ ロ グ ラ ム 名 , シ ス テ ム 名 , CPU 名 は 一 般 に 各 メ ー カ ー の 登 録 商 標 で す 。 本 文 中 で は TM. ( 日 ) マ ー ク は 明 記 し て い ま せ ん 。 ・ 本 誌 お よ び 付 録 デ ィ ス ク に 掲 載 さ れ た す べ て の プ ロ グ ラ ム は 著 作 権 法 上 , 個 人 で 使 用 す る 目 的 以 外 で 無 断 で 複 製 す る こ と は 禁 じ ら れ て い ま す 。 表 紙 ・ イ ラ ス ト レ ー シ ョ ン ・ 秋 山 育 / デ ザ イ ン ・ 持 田 哲 ・ ・ ・ 136 ・ ・ 140 ・ ・ ・ 143 ・ ・ 146 ・ ・ 148 ・ 156 ・ 159 ・ ・ 160 C MAGAZINE Publisher: Masayoshi Son Publishi ng Director: GO 「 0 Hashimot0 Ed itor-in-Chief: Shi nichi Hosh ino Director Of Marketting: Ryo Tani i Manager of Sales and Advertising. Yoshio Goshima EditoriaI and Business 0ffices: NS Takanawa Bldg. , 2-19-13 , Takanawa, Minato-ku, TOkYO 108 , Japan EditoriaI: Phone ( 03 ) 5488-1318 SaIes. Phone ( 03 ) 5488-1360 : Advertising: TOkyo: Phone ( 03 ) 5488-1365 0saka: Phone ( 06 ) 264-1471 Copyright ⑥ 1991 SOFTBANK Corporation. TOkyo. rights reserved. No materialin this publication may be reproduced, in whole 0 「 in part, in any from without 叩 「 mi ion. pri nted in Japan.

月刊 C MAGAZINE 1991年6月号


00M EDITORS な お , 予 告 内 容 を 変 更 す る こ と が あ り ま す 。 次 号 予 告 >7 月 号 ( 6 月 18 日 発 売 ) TSR プ ロ ク ラ ミ ン ク 研 究 常 駐 プ ロ グ ラ ム と テ パ イ ス ド ラ イ バ Part 1 島 一 一 一 一 TSR プ ロ グ ラ ム の 記 述 法 Pa 2 - ー ー ー ー TSR 型 デ ヾ イ ス ド ラ イ バ の 記 述 法 Pa 杙 3 一 一 一 一 - 常 駐 サ イ ズ の コ ン ヾ ク ト 化 載 三 田 典 玄 の 痛 物 ロ グ ラ マ ー ズ エ ッ セ イ 最 新 開 発 環 境 レ ポ ー ト ・ エ テ イ タ 「 RED2 DynaBook 版 」 特 別 付 録 5 ″ 2HD ・ c 言 語 学 習 ソ フ ト ℃ 教 授 の 基 礎 講 座 」 仮 想 配 列 ラ イ プ ラ リ 富 国 強 兵 rWANDP. 」 ノ ヾ ッ チ 式 メ ニ ュ ー 「 BM 」 X68k に 移 植 さ れ た GCC ③ rANSI C 言 語 入 門 講 座 」 活 用 集 ④ 明 解 ANSI C 言 語 入 門 講 座 本 誌 掲 載 ソ ー ス プ ロ グ ラ ム レ ゴ リ ズ ム と デ ー タ 構 造 入 門 COMPUTER LANGUAGE 提 携 記 事 新 MS ー DOS プ ロ グ ラ ミ ン グ 入 門 PROLOG and Client/ServerInformation Systems ス タ ー ト ア ッ プ c 十 十 Rexx:Not Just a WonderDog 編 集 後 記 ◇ 初 め ま し て , 4 月 に 入 社 し ◇ 最 近 付 録 の マ ス タ ー 作 成 ◇ は じ め ま し て , 新 人 の 高 ◇ 人 間 の 性 格 を 変 え る の に ◇ 今 回 の 特 集 て 、 も あ る プ ロ の 締 め 切 り と 「 デ ィ ス ク 内 容 た ば か り の < ヒ 。 ッ カ ヒ 。 カ > 森 て 、 す 。 新 人 研 修 の 自 己 紹 1 年 は 十 分 な 時 間 だ 。 去 年 の グ ラ ム の 知 的 財 産 権 が 注 目 の お 知 ら せ 」 の 入 稿 時 期 が 逆 渡 辺 て 、 す , と 挨 拶 し て か ら 介 て 、 「 私 は 中 曽 根 元 首 相 に 今 ご ろ 「 下 僕 に な り ま あ ー さ れ る よ う に な っ た の は こ 転 し つ つ あ る 。 「 デ ィ ス ク 内 早 く も 1 年 が 過 ぎ た 。 配 属 さ こ 数 年 の こ と て 、 あ る が , 問 す 」 と い っ て い た 旧 ・ 新 人 似 て い る ! 」 と い っ て し ま い 容 の お 知 ら せ 」 を 先 に 書 く と れ た 新 人 を 見 て , 私 も お と が , 1 年 後 に は 「 年 寄 り は 無 題 は ま す ま す 複 雑 に な っ て ま し た 。 以 来 , 友 人 か ら 「 中 デ ィ ス ク 容 量 に 制 限 が あ る な し く か わ い い 1 年 生 だ っ た 茶 し な い ほ う が い い て 、 す よ 」 曽 根 君 ! 」 と 呼 ば れ る こ と が い る 。 プ ロ グ ラ マ の 権 利 が の て 、 リ ス ク が 高 く な る 。 早 の だ と 思 う と , も う く ヒ 。 ッ と 減 ら ず 口 を 叩 く ま て 、 に な 多 く な り ま し た 。 取 り 返 し 認 め ら れ , 保 護 さ れ る よ う め に 作 業 す れ ば 問 題 な い の カ ヒ 。 カ > な ど と 言 え な い 。 の つ か な い 事 を い っ た か な っ た 。 ど う も 寝 ぐ せ 頭 と UNI に な っ て き た こ と は よ ろ こ 1 年 て 、 何 を し て い た の か , コ だ が , 生 来 の 怠 け 者 , せ っ 。 さ い わ い 編 集 部 内 て 、 ば し い 。 た だ , 知 的 財 産 権 坊 が 陰 て 、 糸 を 引 い て い た よ ば 詰 ま ら な い と 作 業 を 始 め ン ヒ 。 ュ ー タ の 知 識 は さ ほ ど は こ の 呼 び 方 は 定 着 し そ う う だ 。 ま っ さ ら ヒ 。 ッ カ ヒ 。 カ と い う の は , プ ロ グ ラ マ に の 新 ・ 新 人 「 中 曽 根 く ん 」 よ , な い 。 時 間 が 過 ぎ る と 終 わ 変 ら ず , 変 っ た と い え ば く ち に な い の て 、 , 内 心 ホ ッ と し と っ て 諸 刃 の 剣 て 、 あ る と い る 小 学 生 時 代 の テ ス ト が な 悪 の 誘 惑 に 負 け な い て く れ よ っ と 〉 生 意 気 に な っ た こ と て い ま す 。 私 の 未 来 は ま だ こ と は 心 し て お か な け れ フ ( 洋 ) (Yas) ( ホ ) ぐ ら い か な 。 (JUN) つ か し い た ま え 。 ば な ら な い 。 明 る い (TEN) 発 行 人 孫 正 義 編 集 人 橋 本 五 郎 発 行 所 ソ フ ト バ ン ク 株 式 会 社 出 版 事 業 部 〒 田 8 東 京 都 港 区 高 輪 2- 円 一 口 NS 高 輸 ビ ル 編 集 部 ・ TEL03 ( 5488 引 8 / 出 版 営 業 部 ・ TEL03 ( 5488 月 360 / 広 告 営 業 部 ・ TEL03 ( 5488 ) ロ 65 編 集 長 星 野 慎 ー 副 編 集 長 流 王 天 編 集 宮 田 洋 一 渡 辺 淳 一 高 森 昭 安 広 告 川 口 昭 彦 安 枝 奈 穂 子 校 正 ( 有 ) ア レ フ デ ザ イ ン 持 田 哲 花 本 浩 一 赤 井 晴 美 若 江 啓 子 機 部 進 監 修 石 田 晴 久 印 刷 凸 版 印 刷 株 式 会 社 / 写 植 株 式 会 社 風 ⑥ 1991 雑 誌 14325 ー 6 3 ー 第 朝 。 り 少 好 評 連 載 プ ロ グ ラ ム ・ バ グ の お 問 い 合 わ せ 月 刊 MAGAZINE 谷 03 ( 5488 ) 1325 ・ 掲 載 記 事 , プ ロ グ ラ ム に つ い て の ご 質 問 は , 月 曜 日 か ら 金 曜 日 の 午 後 4 時 か ら 6 時 ま て 受 け 付 け て お り ま す 。 そ の 他 の 時 間 帯 は ご 容 赦 く だ 6 月 号 平 成 3 年 6 月 一 日 発 行 160 C MAGAZINE 1 1 6

月刊 C MAGAZINE 1991年6月号


List 1 使 用 し て い る DOS SheIl と 参 考 文 献 11. を 参 考 に し て 作 成 し 直 し た も の ) て 、 す 。 ま ず , 環 境 変 数 と し て HOME と CDPATH を 参 照 し ま す 。 環 境 変 数 HOME は べ ー ス と な る ホ ー ム デ ィ レ ク ト リ を 意 味 し , 環 境 変 数 CDPATH は 検 索 パ ス 名 の リ ス ト を 設 定 し ま す 。 た と え ば set HOME=A:*USR set CDPATH=A:*;A:*USR の よ う に 設 定 す る と ホ ー ム デ ィ レ ク ト リ が A :YUSR と な り , 検 索 パ ス が A : \ と A : YUSR に な り ま す 。 検 索 パ ス と は , 移 動 先 の デ ィ レ ク ト リ と し て dirl と 指 定 さ れ た と き に dirl を 検 索 す る デ ィ レ ク ト リ の こ と て 、 す 。 上 記 の 例 て 、 い え ば , dirl ( カ レ ン ト デ ィ レ ク ト リ ) A:*dir1 A:*USR*dir1 の 順 に 検 索 し ま す 。 デ ィ レ ク ト リ の 検 索 に は ' 91 年 3 月 号 「 フ ァ イ ル の 検 索 」 て 、 説 明 し た dos findfirst, dos findnext や findfirst, findnext な ど の 関 数 を 使 用 し ま す 。 chd の 使 用 法 使 用 法 chd [ < ド ラ イ プ 名 > : < デ ィ レ ク ト リ 名 > ] 両 方 と も 指 定 し な い 場 合 は 環 境 変 数 HOME て 、 指 定 し て い る ホ ー ム デ ィ レ ク ト リ に 移 動 し ま す 。 く デ ィ レ ク ト リ 名 > に は ワ イ ル ド カ ー ド が 使 用 て 、 き ま す 。 ワ イ ル ド カ ー ド を 使 用 し た 場 合 は 最 初 に 見 つ け た デ ィ レ ク ト リ に 移 動 し ま す 。 ま た , チ ル ダ 、 、 ~ 〃 は ホ ー ム デ ィ レ ク ト リ を 意 味 し ま す 。 指 定 さ れ た デ ィ レ ク ト リ は , ① カ レ ン ト デ ィ レ ク ト リ ② 環 境 変 数 CDPATH の リ ス ト が 示 す デ ィ レ ク ト リ 内 ③ 環 境 変 数 HOME が 示 す デ ィ レ ク ト リ 内 の 順 に 検 索 し ま す 。 ー 8 0 14 っ 0 (¯) 4 ・ - -0 ^ 0 っ ー 8 0 1 よ ワ 朝 00 -4 ・ - -0 一 0 戸 0 ′ 0 CD ^ 0 《 0 《 0 ー 7 ー 7 ー 0 ー ー 7 ・ if ( dir[ 1 ] = unsigned dstdrv, curdrv,• / * ト ・ ラ イ フ ・ 変 更 ? / * 移 動 先 ト ・ ラ イ フ ・ / * 移 動 後 の ト ・ ラ イ フ ・ TURBOC_ = toupper( dir[ 0 ] ) dstdrv setdi sk( dstdrv ) : = getdisk() : Cl.lrdrV / * ト ・ ラ イ フ ・ の 変 更 / * 力 し ン ト ト ・ ラ イ フ ・ の 取 得 unsigned num; = toupper( dirC 0 ] ) dstdrv dos setdrive( dstdrv, &num ) : dos getdrive( &curdrv ) : return( curdrv } else return( NOERR ) : / * ト ・ ラ イ フ ・ の 変 更 / * カ レ ン ト ト ・ ラ イ フ ・ の 取 得 = dstdrv ? NOERR : ERR ) : ド ラ イ プ 移 動 を 伴 う テ ィ レ ク ト リ 移 動 コ マ ン ド ( chd. c ) LiSt CHange Directory ハ ・ 一 シ ・ ヨ ン 1. 01 1990. 10. 28. * 作 成 1989.09. 02. * 万 イ ル 名 : chd. c 7 : 8 : 使 用 法 : chd [ く ト ・ ラ イ フ ・ 名 > ー く テ ・ イ レ ク ト リ 名 〉 ] 9 : く テ ・ イ レ ク ト リ 名 > を 指 定 し な い 場 合 ホ ー ム テ ・ イ レ ク ト リ に 移 動 し ま す 。 10 : く テ ・ イ レ ク ト リ 名 > に は ワ イ ル ト ・ カ ー ト ・ が 使 用 で き , ・ が 枦 ム テ ・ イ レ ク ト リ を 意 味 12 : し ま す 13 : 14 : 環 境 変 数 HOME ム テ ・ イ レ ク ト リ 15 : CDPATH 検 索 ハ ・ ス 名 の リ ス ト ( 最 後 に HOME を 検 索 ) 16 : 17 : ハ ・ 一 シ ・ ヨ ン 1.00 1989. 09.02. ハ ・ 一 シ ・ ヨ ン 1. 01 1990. 10.28. 投 稿 用 に Turbo C, し 引 C ー 86 サ ホ ・ 一 ト 20 : MS-C 5. 1 / 6.0 : 21 : 22 : cl /J /W3 /Zp chd. c /link / st : 0X2800 / cp : 0X1000 23 : 24 : Turbo C 2.0 / Turbo C + + 1.0 ・ 26 : tcc -w chd. c 28 : し 引 C ー 86 Ver 3.20 29 : 30 : lcc chd. c -ltinymain. obj 31 : 32 : 参 考 文 献 . 「 MS-DOS フ ・ ロ ク ・ ラ ミ ン ク ・ テ ク ニ ッ ク 」 , 株 式 会 社 ア ス キ ー 33 : 34 : * / 35 : 36 : #include く stdio. h> 37 : #include く ctype. h> 38 : #include く string. h> 39 : #include く jstring. h> 40 : #include く stdlib. h> 41 : #include く dos. h> 42 : # ifdef TURBOC_ 43 : #include く dir. h> 44 : 45 : #define _dos_findfirst(), attr, buf) findfirst((p), 46 : #define _dos findnext findnext 47 : #define find_t ffblk 48 : #define attrib ff_attrib 49 : #define wr_time ff_ftime 50 : #define wr_date ff_fdate 5 1 : #def i ne s i ze ff_fsize 52 : #define name ff_name 53 : #define _A_NORMA し 0X00 54 : #define _A_RDON し Y FA_RDON し Y 55 : #define _A_HIDDEN FA HIDDEN 56 : #define _A_SYSTEM FA_SYSTEM 57 : #define _A_VOLID FA し ABE し 58 : #define _A_SUBDIR FA_DIREC (attr)) (buf) , 76 C MAGAZINE 1991 6

月刊 C MAGAZINE 1991年6月号


新 い お 加 グ ラ ノ グ 入 門 C プ ロ グ ラ マ の た め の テ ィ レ ク ト リ を 変 更 す る 場 合 , 内 部 コ マ ン ド の C HD 旧 ( CD ) コ マ ン ド を 使 用 し ま す 。 し か し , こ の コ マ ン ド は テ ィ レ ク ト リ を 変 更 す る の み て ド ラ イ フ 、 の 移 動 を 伴 い ま せ ん 。 今 回 は , ド ラ イ プ の 移 動 を 伴 う テ ィ レ ク ト リ 移 動 コ マ ン ド の 作 成 に 取 り 組 み ま す 。 行 島 中 第 9 回 ラ レ ク ト リ の 移 動 ラ イ プ 移 動 を 伴 う デ ィ レ ク ト リ 移 動 コ マ ン ま す 。 DOS コ マ ン ド に よ る ド を 作 成 す る と , テ ィ レ ク ト リ 移 動 cd *subdir d : ' 90 年 12 月 号 「 リ ダ イ レ ク ト 機 能 ( そ の 3 ) 」 て 、 と い っ た 形 て 、 実 現 さ れ ま す 。 こ れ て 、 ド ラ イ も 少 し 解 説 し ま し た が , DOS コ マ ン ド て 、 ド プ d : に 移 動 し て デ ィ レ ク ト リ Ysubdir に 移 り TabIe 2 ド ラ イ プ の 変 更 TabIe 1 テ ィ ス ク の 選 択 dos setdrive 関 数 (MS-C Ver. 5.1 / 6.0 , LSI C ー 86 Ver. 3.20 ) DOS フ ァ ン ク シ ョ ン OEh デ ィ ス ク の 選 択 #include く dos. h> 引 数 AH = OEh DL = ド ラ イ プ 番 号 VOid dOS setdrive ( drivenum, drives ) , ( 00h = A, 01 h = B, 変 更 す る ド ラ イ プ 番 号 ( 1 = A, 2 unsigned drive, ー NT 21 h 使 用 可 能 な ド ラ イ プ 数 unsigned * drives, 返 り 値 な し setdisk 関 数 (Turbo C Ver. 2.0 , Turbo C 十 十 Ver. 1 .0 ) #include く di 「 . h> int setdisk( drive ) : int drive, 返 り 値 使 用 可 能 な ド ラ イ プ 数 こ れ は , d : cd *subdir B, AL = 論 理 ド ラ イ プ の 台 数 返 り 値 カ レ ン ト ド ラ イ プ を DL レ ジ ス タ 機 能 で 指 定 さ れ た ド ラ イ プ に 変 更 し て 論 理 ド ラ イ プ の 台 数 を 返 す 。 論 理 ド ラ イ プ と は 通 常 の テ ィ ス ク ド ラ イ プ に 加 え て RAM テ ィ ス ク ネ ッ ト ワ ー ク ド ラ イ プ な ど の ド ラ イ プ の こ と を い う 変 更 す る ド ラ イ プ 番 号 ( 0 = A, 1 B, 74 C MAGAZINE 1991 6

月刊 C MAGAZINE 1991年6月号


り 1 日 多 い 関 年 を も う け る 数 え 方 て 、 す 。 グ レ ゴ リ オ 暦 に よ る 関 年 の 規 定 は 「 4 て 、 割 り 切 れ る 年 は 関 年 と す る 。 そ の う ち 100 て 、 割 り 切 れ る が 400 て 、 割 り 切 れ な い 年 は 閏 年 と は せ ず に 平 年 と す る 。 」 て 、 す 。 余 談 て 、 す が , 毎 ハ ー ド や OS に 近 い と こ ろ の プ ロ グ ラ ミ ン 年 作 ら れ る カ レ ン ダ ー は こ の 規 定 か ら 平 年 グ て 、 は あ ま り て 、 て こ な い の て 、 す が , ビ ジ ネ ス 計 算 て 、 は 日 付 を 扱 う 場 合 が け っ こ う 多 く 7 パ タ ー ン , 関 年 7 パ タ ー ン の 計 14 パ タ ー ン あ り ま す 。 そ こ て 、 日 付 計 算 や 時 間 に 関 す る の 一 定 の 繰 り 返 し て 、 表 す こ と が て 、 き る そ う ラ イ プ ラ ツ を 作 成 し て み た い と 思 い ま す 。 て 、 す 。 い き な り た く さ ん の 関 数 を 作 る の は た い 天 文 計 算 に つ い て へ ん な の て 、 , ま ず は 基 本 と な る 日 数 計 算 の 関 数 を 作 り ま す 。 天 文 計 算 て 、 は , 天 体 暦 の 計 算 や 観 測 の 整 理 な ど の 日 数 計 算 に , 1 日 ご と の 通 し 番 号 を つ け た ユ リ ウ ス 日 ( JulianDay ) を 用 い て い る そ う て 、 す 。 こ の ユ リ ウ ス 日 は , な ん と 紀 元 ち ま た に は , す て 、 に い ろ い ろ な 日 数 計 算 前 4713 年 1 月 1 日 12 時 を 第 0 日 と し た も の て 、 の ロ ジ ッ ク が あ ふ れ て い ま す 。 計 算 結 果 は す 。 た と え ば 西 暦 1991 年 6 月 22 日 0 時 UT ( 今 同 じ は ず て 、 す か ら , こ れ ら の な か か ら 選 ん 年 の 私 の 誕 生 日 の 午 前 零 時 ) は , ュ リ ウ ス 日 て 気 に 入 っ た も の を 使 え ば よ い の て 、 す が , て 、 2448429.5 日 と な り ま す 。 た だ プ ロ グ ラ ム を 作 る の も お も し ろ く な い 大 き な 数 字 じ ゃ , あ ~ り ま せ ん か ! ? の て 、 ち ょ っ と 勉 強 し て み ま し た 。 そ こ て 、 , 現 在 て は ユ リ ウ ス 日 の 頭 2 桁 を 取 り , さ ら に 0.5 を 引 い て 1 日 の 始 め を 12 時 UT 閏 年 に つ い て て 、 な く 0 時 UT に し た 準 ュ リ ウ ス 日 (Modified JuianDay) が よ く 使 用 さ れ て い る そ う て 、 す 。 日 常 私 た ち が 使 っ て い る 1 年 365 日 十 関 年 ュ リ ウ ス 日 と 準 ュ リ ウ ス 日 の 関 係 は 次 の よ と い う 日 数 の 数 え 方 は , 「 グ レ ゴ リ オ 暦 」 と う に な り ま す 。 い わ れ る も の だ そ う て す 。 正 確 に は , 地 球 MJD = JD-2400000.5 が 太 陽 の 周 り を 1 回 転 す る の に 要 す る 日 数 は つ ま り 準 ュ リ ウ ス 日 は 1858 年 11 月 17 日 0 時 365.2422 て す か ら , 平 年 を 365 日 と し て 毎 年 UT を 始 ま り と す る 日 数 の 数 え 方 て 、 す ( 注 ) 。 今 0.2422 ず つ あ ま っ た 日 数 を 累 積 し , 平 年 よ 回 こ こ て 、 作 る 日 数 計 算 に は MJD を 採 用 し ま C MAGAZINE 1 1 0 132 日 付 計 算 関 数 ワ ン 赭 ン ト プ ロ グ ラ ミ ン グ を 作 る 講 座 上 田 哲 ニ : 第 市 回 理 論 的 背 景 を こ じ つ け る う る う

月刊 C MAGAZINE 1991年6月号


MKAZINE 6 ・ 当 新 Ø ( P. 一 58 ) 作 田 針 囀 ^ ワ 。 2 3 代 味 味 ( 印 メ ペ ) 1 MAGAZINE 〔 滞 導 〕 1 . 凵 ー 幡 2. 勢 ・ ・ 設 3. 4. 澪 10. 11 . 斗 ー e メ 12. 13. 一 4. 15. 洋 ・ ま 16. 小 言 1 . 》 耋 2. 主 T. 斗 ー e メ ・ 「 一 3. 蟶 4. - - 一 5. 洋 11 . 小 Ø)ftu 6. 鑄 7. 舜 8. 斗 ー e メ 鑄 9. 10. 、 ・ E ( A. ロ 、 ヰ 誕 . B. 新 & 涬 . C. A 誕 ) F04 : ー マ プ 、 孑 マ A B C 158 : ・ ゴ 三 ミ A B C F03 : ・ : キ メ 74 戛 A B C 163 : 74 き A B C 001 : 4 マ さ 「 A B C 164 : 4 ・ 、 7 。 メ A B C 002 : 凵 。 い ー ー ヾ 7 至 A B C 165 ・ ミ ー 7 1• A B C 003 : ・ : 、 、 7b 斗 ー メ A B C 166 ・ : 171 ー さ ・ ・ い 7 、 A B C 004 ・ : 、 A B C 1 67 ・ : = ナ メ ト A B C 005 : 郊 47 ー l' A B C 168 ・ : て ・ 、 き プ ン い A B C 006 : 74 ・ キ ・ マ ー A B C 169 007 ・ ・ : 04 い 7 、 A B C 179 : 「 2 戛 き ー A B C 104 : ・ 十 「 ・ A B C 1 7 1 : 翌 A B C 139 ・ : ま 龕 耳 A B C 176 : 4 印 、 A B C 147 : : 斗 斗 A B C MAGAZINE

月刊 C MAGAZINE 1991年6月号


C MAGA セ ミ ナ —J レ ー ム プ ロ ク ラ ミ ン グ 添 削 ア ド バ イ ザ ー / 柴 田 望 洋 第 10 回 B ℃ S プ ロ グ ラ ミ ン グ ( 2 ) ー キ ー 処 理 プ ロ グ ラ ム を 題 材 に し て 一 プ ロ の 作 曲 家 を 目 指 す 菊 間 か ん な さ ん の キ ー 処 理 プ ロ グ ラ ム を 題 材 に し て 解 説 し ま す 。 前 回 は 8086 の 割 り 込 み や 引 OS プ ロ グ ラ ミ ン グ の 基 本 を 説 明 し ま し た 。 今 回 は キ ー ボ ー ド 引 OS や イ ン ラ イ ン ア セ ン プ ラ に つ い て 説 明 し ま す 。 第 添 削 の ポ イ ン ト 今 月 の プ ロ ク ラ ム プ ロ フ ィ ー ル 136 C MAGAZINE 1991 6 ラ 機 能 に つ い て も 考 察 し て み ま し た 。 語 て 、 命 令 を 記 述 て 、 き る イ ン ラ イ ン ア セ ン プ り , C 言 語 プ ロ グ ラ ム 中 に 直 接 ア セ ン プ リ 成 し ま す 。 キ ー 入 力 ラ イ プ ラ リ 作 成 に あ た の BIOS を 利 用 し た キ ー 入 力 ラ イ プ ラ リ を 作 今 回 は ・ キ ー ポ ー ド BIOS の 解 説 を 行 い , そ と い う 図 式 が 頭 に 入 っ た と 思 い ま す 。 サ ー ビ ス ル ー チ ン の 呼 び 出 し ソ フ ト ウ ェ ア 割 り 込 み ェ ア 割 り 込 み に つ い て 大 ま か な 概 念 を 解 説 前 回 は ハ ー ド ウ ェ ア 割 り 込 み と ソ フ ト ウ う で す 。 中 で す が , な か な か う ま く い か な い よ プ ロ グ ラ ム 」 を 参 考 に キ ー 処 理 部 を 自 作 月 号 の 本 連 載 「 リ ア ル タ イ ム な キ ー 処 理 プ ロ グ ラ ム に 挑 戦 中 で す 。 ' 90 年 10 ~ 12 プ ロ 曲 家 を 目 指 す 力 、 ん な さ ん は Ⅶ 〇 作 者 : 菊 間 か ん な ( 大 阪 府 東 大 阪 市 ) ■ キ ー ボ ー ド B ℃ S そ れ て 、 は 本 題 の キ ー 入 力 の 話 に 移 り ま し PC ー 9801 シ リ ー ズ の キ ー ポ ー ド BIOS は 0 X18 番 に 割 り 当 て ら れ て い ま す 。 AH レ ジ ス タ に 与 え る 値 に よ り , 6 個 の 機 能 が あ り ま す 。 簡 単 に 紹 介 し ま し よ う 。 詳 し い こ と は 『 新 版 PC ー 9800 シ リ ー ズ テ ク ニ カ ル デ ー タ ブ ッ ク 』 ( ア ス キ ー 刊 ) な ど を 参 考 に し て く だ キ ー テ ー タ の 読 み 出 し ( AH ← 0X00 ) 入 力 さ れ た キ ー ( キ ー バ ッ フ ア の 先 頭 に 格 納 さ れ て い る 文 字 ) を 返 し ま す 。 キ ー バ ッ フ ア が 空 の と き は , キ ー が 押 さ れ る ま て 、 待 ち ま す 。 [ 出 力 ] AH ← キ ー コ ー ド AL ← キ ー デ ー タ キ ー バ ッ フ ァ 状 態 の 調 査 ( AH ← 0X01 ) キ ー バ ッ フ ア の 先 頭 に 格 納 さ れ て い る 文 字 を 調 査 し ま す 。 キ ー バ ッ フ ア の 更 新 は 行 い ま せ ん 。 [ 出 力 ] AH ← キ ー コ ー ド AL ← キ ー デ ー タ ( た だ し BH が 1 の と き の み 有 効 ) シ フ ト キ ー 状 態 の 調 査 ( AH ← 0X02 ) 現 在 の 特 殊 キ ー ( , な ど ) 押 下 状 態 を 調 査 し ま す 。 [ 出 力 ] AL ← 押 下 状 態 ( Fig. 1 ) 。 押 さ れ て い る キ ー に 対 応 す る ビ ッ ト が 1 と な り ま す Fig. 1 特 殊 キ ー 押 下 状 態 B7 B6 B5 B4 B3 B2 BI Bo つ ね に 0 CTRL GRPH カ ナ CAPS SHIFT

月刊 C MAGAZINE 1991年6月号


こ COMPUTER 船 補 S /VI 住 灯 な 〃 電 IAN G US 解 ー G 矼 G 袵 Ⅳ ー 物 : LANGUAGE 提 携 記 事 (COMP TER LANGUAGE Feb. 1991 ) Bruce EckeI/ 岩 谷 宏 訳 Taking, 0 禰 「 OI to sk マ レ チ タ ス ク カ ー ネ ル C 十 十 で 書 く 単 純 な オ プ ジ ェ ク ト 指 向 プ ロ ク ? ニ イ ク に よ る マ ル チ タ ス ク で は , 訓 練 の い き 届 い た 一 群 の オ プ ジ ク ト を 勝 手 に 走 り て , 彼 ら 自 ら か 相 互 に 制 御 し あ え る よ う に で き る 。 レ チ タ ス ク の 14 C MAGAZINE 1991 6 し て あ っ ち の 用 意 が OK な ら , 別 の を 更 新 し ー ド は , 一 般 的 に , 「 こ っ ち を on に し ろ , そ い 場 合 が よ く あ り ま す 。 そ う い う 場 面 の コ の 状 況 を 監 視 し た り 制 御 し な け れ ば な ら な コ ン ヒ 。 ュ ー タ ブ ロ グ ラ ム は , 同 時 に 複 数 の 「 容 器 」 と な る ク ラ ス ) 。 class) と は , 配 列 , リ ス ト な ど , 複 数 デ ー タ の も の て 、 す ( 訳 注 : コ ン テ ナ ク ラ ス (container 必 要 な と き に は ど う し て も 必 要 と い う 性 質 を 解 決 し て く れ る わ け て 、 は あ り ま せ ん が , の 概 念 も , プ ロ グ ラ ミ ン グ の あ ら ゆ る 問 題 の プ ロ セ ス の 管 理 を 容 易 に し ま す 。 い ず れ タ ス キ ン グ も , 個 数 や タ イ プ の 異 な る 複 数 容 易 に 管 理 て 、 き る よ う に な り ま す 。 マ ル チ 異 な る 複 数 の オ プ ジ ェ ク ト を シ ス テ ム 内 て 、 ン テ ナ ク ラ ス に よ っ て , 数 量 や 型 が 様 々 に 集 ま り は コ ン テ ナ ク ラ ス て 、 実 装 し ま す 。 コ ェ ク ト 指 向 の モ デ ル て 、 は , オ プ ジ ェ ク ト の 概 念 て 、 あ る こ と が 分 か っ て き ま す 。 オ プ ジ じ く ら い , プ ロ グ ラ ミ ン グ の 最 も 基 本 的 な そ れ が オ プ ジ ェ ク ト の 集 ま り を 作 る の と 同 マ ル チ タ ス キ ン グ に つ い て 深 く 考 え る と , ろ 」 と い う ( あ っ ち を 見 た り こ っ ち を 見 た り の ) 形 式 に な っ て い ま す 。 こ う い う ス タ イ ル て 、 は , ち ょ っ と 複 雑 な プ ロ グ ラ ム に な る と , ど う し よ う も な い ほ ど 煩 雑 な コ ー ド に な り ま す 。 も っ と ス ッ キ リ さ せ る に は , 問 題 を 個 々 の プ ロ セ ス に 分 解 し て , そ れ ら を 発 進 さ せ , い っ 何 を や る か と い っ た 制 御 を 個 々 の プ ロ セ ス 自 身 に や ら せ る の て 、 す 。 現 実 に は , 大 き な プ ロ グ ラ ム の 構 想 か ら た く さ ん の 小 さ な プ ロ グ ラ ム を 導 き 出 し , そ し て そ の 個 々 の 小 さ な プ ロ グ ラ ム に , 自 分 が プ ロ セ ッ サ を 専 有 し て い る と い う ふ り を さ せ る の て 、 す 。 こ れ が , マ ル チ タ ス キ ン グ て 、 す 。 マ ル チ タ ス キ ン グ は 古 く か ら あ る , よ く 知 ら れ た 概 念 て 、 す が , そ れ を ど の 段 階 て 、 実 装 す る か に 関 し て は , ま だ 意 見 が 一 致 し て い ま せ ん 。 プ ロ グ ラ ミ ン グ 言 語 の 段 階 て 、 実 装 し て い る 例 ( 言 語 本 体 が マ ル チ タ ス ク 機 能 を 実 装 し て い る 例 ) と し て , ModuIa 2 ( 『 COMPUTER LANGUAGE 』 誌 ' 91 年 2 月 号 の マ イ ケ ル ・ ビ シ ニ ャ ー ニ 氏 の 記 事 ( 本 誌 22 頁 ) 参 照 ) , Ada, Concurrent-C な ど が あ り ま す 。 こ れ ら の 言 語 を 使 う と , タ ス キ ン グ シ ス テ ム を 自 作 す る 必 要 が な く , 新 た な プ ラ ッ ト ホ ー ム ( 他 機 種 ) へ の 移 植 も 簡 単 な の て 、 , き わ め て 便 利 て 、 す 。 B. ス ト ラ ウ ス ト ラ ッ プ と C 十 十 の 開 発 チ ー ム は , C 十 十 に マ ル チ タ ス キ ン グ を 含 め ま せ ん て 、 し た 。 ま た , ANSI C 十 十 委 員 会 も , 言 語 本 体 に そ れ を 含 め な い と 決 定 し ま し た 。 こ れ ら の 決 定 は , 言 語 を む や み に 大 き く し な い た め て 、 あ り , ま た , 状 況 に よ っ て は い ろ い ろ な ス タ イ ル の マ ル チ タ ス キ ン グ が 必 要 に な る か ら て 、 す ( 訳 注 : 言 語 本 体 が 一 形 式 の マ ル チ タ ス キ ン グ 機 能 を 実 装 す る と , そ う い っ た 多 様 性 に 対 応 し づ ら く な る ) 。 も っ と も 重 要 な の は , C 十 十 て 、 は , 様 々 な マ ル チ タ ス キ ン グ ラ イ プ ラ リ を 自 由 に 自 作 て 、 き る と い う 点 て 、 す 。 す て 、 に , 多 く の 作 例 が あ り ま す 。 た と え ば AT&T の タ ス ク ラ イ プ ラ リ ( 入 手 困 難 ) , WilIiam MilIer の C 十 十 ラ イ プ ラ リ (Software Development Tech- nologies lnc. , P. O. Box 366 , Sudbury, Mass. 01776 ) , Tony Hansen の C 十 十 Answer Book(Addison-WesIey, 1989 , 本 書 に は 本 稿 よ り も ず っ と 可 搬 性 に 富 む 複 雑 な シ ス テ ム が 記 述 さ れ て お り , デ ィ ス ク て 、 入 手 て 、 き る ) な ど て 、 す 。 あ る 機 能 を 言 語 を 拡 張 し な い て 、 実 現 て 、 き れ ば , 拡 張 は 不 要 て 、 す ( こ れ が C 十 十 の 考 え 方 な の て 、 す ) 。

月刊 C MAGAZINE 1991年6月号


十 D ー 678912 (): 年 , M: 月 , D: 日 , 爪 T は [ ] の 中 の 整 数 部 を 求 め る 関 数 ) と 計 算 し て い ま す が , 今 回 は 3 月 1 日 か ら 各 月 1 日 ま て の 通 算 日 の テ ー カ レ を 内 部 変 数 と し て も ち , こ れ を も と に 計 算 し て い ま す 。 こ の ほ う が , 浮 動 小 数 点 計 算 を し な い の て 実 行 時 間 も 速 い て 、 す し , ほ か て 、 浮 動 小 数 計 算 が な け れ ば ロ ー ド モ ジ ュ ー ル の サ イ ズ int tm mday, int tm wday, Fig. 1 MS-C の tm 構 造 体 stru ct tm { int tm int tm int tm int tm int tm int tm yday , int tm iSdSt, year, ー on , hour, sec, #define number Of horidays 20 [ 0 , 59 ] [ 0 , 59 ] [ 0 , 23 ] [ 1 , 31 ] [ 0 , 1 1 ] / * 夏 時 間 調 整 フ ラ グ / * 通 算 日 - [ 0 , 365 ] / * 曜 日 一 [ 0 , 6 ] / * 年 ( 年 一 1900 ) も 格 段 に 小 さ く な り ま す 。 3 MJD か ら 年 月 日 を 計 算 MJD の 計 算 の 逆 関 数 を 定 義 し ま す OMJD か ら 年 の 計 算 は , INT [MJD / 365.2422 Y 十 1858.877 ] 134 C MAGAZINE 1 1 6 れ ば 「 休 日 」 と い う 簡 単 な ロ ジ ッ ク て す 。 指 定 さ れ た 日 付 と 一 致 す る も の が 見 つ か タ と し て 0 を 入 れ て あ り ま す 。 値 を 昇 順 て 登 録 し た も の て す 。 ェ ン ド デ ー て 定 義 し ま し た 。 月 を 100 倍 し て 日 を 加 え た 休 日 は 次 の よ う な 簡 単 な 数 字 の 配 列 と し 休 日 の 判 定 4 す 。 ど ち ら か ら 引 く か て 符 号 が 異 な り ま 1 て な く 2 日 間 て す の て 注 意 し て く だ さ い す る だ け な の て す が , 今 日 と 明 日 の 日 数 は , そ れ ぞ れ の 日 付 の MJD を 求 め て 差 を 計 算 ニ つ の 日 付 間 の 日 数 計 算 数 を 順 次 引 い て 月 と 日 を 求 め て い ま す 。 よ り 元 旦 よ り の 通 算 日 を 計 算 し , 各 月 の 日 月 日 は , 求 め た 年 の 1 月 1 日 の MJD と の 差 ク と し ま し た 。 点 計 算 を し な い よ う に List 1 の よ う な ロ ジ ッ て 求 め る こ と が て き る の て 、 す が , 浮 動 小 数 年 の 単 位 で 表 し た も の ) ( 1858.877 は 1858 年 11 月 17 日 0 時 UT を static int holytbll [number 0f horidays] { 101 , 115 , 211 , 429 , 505 , 915 , 923 , 1010 , 1103 , 1123 , 1223 , 503 , 504 , 定 し , 関 数 check を 12 か 月 繰 り 返 し ま す 。 メ の チ ェ ッ ク を 行 い ま す 。 関 数 year は 年 を 設 差 が 1 日 て あ る か の チ ェ ッ ク と MJD の 逆 変 換 ら 末 日 ま て 順 番 に MJD を 計 算 し , 前 日 と の ク プ ロ グ ラ ム て す 。 関 数 check は 各 月 1 日 か List 2 は 関 数 mjd と 関 数 jdate の チ ェ ッ サ ン プ レ プ ロ ク ラ ム モ ジ ュ ヨ レ チ ェ ッ ク と ラ イ プ ラ リ に 登 録 す る > lib MYL 旧 十 cal; 固 > cl /c cal.c 登 録 の 手 順 は 以 下 の と お り て 、 す 。 す が , MYLIB と し て お き ま す 。 コ ン パ イ ル & う 。 ラ イ プ ラ リ の 名 称 は な ん て 、 も よ い の て 、 こ と を 期 待 し て ラ イ プ ラ リ に 登 録 し ま し よ た っ た 5 個 の 関 数 て 、 す が , 今 後 増 え て い く イ ン 関 数 て 、 は , チ ェ ッ ク 開 始 日 時 の 前 日 の MJD を 初 期 値 と し て 求 め , 何 年 か ら 何 年 ま て 、 を チ ェ ッ ク す る か を 制 御 し ま す 。 こ こ て は , 1900 年 か ら 2100 年 ま て 、 を チ ェ ッ ク し て い ま す 。 工 ラ ー が 発 生 す る と , そ の 日 時 を 随 時 表 示 し ま す 。 List 3 は , 指 定 月 の カ レ ン ダ ー を CRT に 表 示 す る プ ロ グ ラ ム て 、 す 。 起 動 パ ラ メ ー タ 1 , 2 と し て 年 , 月 を 指 定 し ま す 。 プ ロ グ ラ ム て 、 は , ま ず そ れ ら か ら 該 当 月 の 1 日 の 曜 日 を 求 め イ ン デ ン ト し ま す 。 次 に , 1 日 か ら 末 日 ま て 、 順 次 休 日 チ ェ ッ ク を 行 い , 休 日 の 場 合 は 赤 て 表 示 し ま す 。 ま た , そ れ 以 外 の 土 曜 日 は 青 て , 日 曜 日 は 赤 て 、 表 示 し ま す 。 そ れ ぞ れ コ ン パ イ ル & 実 行 の 方 法 は 以 下 の と お り て 、 す 。 > cl check. c /link MYL 旧 > [email protected] > cl calen. c /link MYL 旧 固 > calen 91 5 固 [ 参 考 文 献 ] 昔 使 っ た 地 学 の 教 科 書 理 科 年 表 ( 丸 善 ) 天 文 計 算 入 門 ( 恒 星 社 )

月刊 C MAGAZINE 1991年6月号


0 0 こ て 、 紹 介 す る の は , 新 し い ド ラ ゴ ン プ ッ ク て 、 あ る 。 ド ラ ゴ ン ブ ッ ク と は , 工 イ ホ , ウ ル マ ン に よ る 有 名 な コ ン パ イ ラ の 教 科 書 、 、 Principles of CompiIer Design" ( 1977 年 ) の こ と て 、 , ド ラ ゴ ン ( 龍 ) に 立 ち 向 か う ド ン キ ホ ー テ が 表 紙 に な っ て い る の が 愛 称 の 由 来 て 、 あ る ( ド ン キ ホ ー テ ブ ッ ク と も 呼 ば れ こ ち ら は , 培 風 館 か ら 『 コ ン パ る ら し い ) 。 イ ラ 』 と い う 題 て 、 刊 行 さ れ て い る 。 共 著 者 に セ シ イ を 加 え て 新 た に 書 き 直 し た の が , 、 ℃ ompilers ー Principles, Tech niques, and T001S 〃 ( 1986 年 ) て 、 , 本 書 は そ の 邦 訳 て 、 あ る 。 本 書 は , 赤 い 龍 が 描 か れ て い る の て 、 レ ッ ド ド ラ ゴ ン ブ ッ ク ( あ る い は 単 に ド ラ ゴ ン ブ ッ ク ) と 呼 ば れ て い る 。 旧 版 の 表 紙 の ド ン キ ホ ー テ は 馬 に ま た が り 鎧 か ぶ と 姿 だ っ た が , 新 版 の 表 紙 て 、 は ド ン キ ホ ー テ は IBM-PC ら し い 端 末 に 向 か い デ ィ ス プ レ イ か ら 龍 が 顔 を 出 す と い う 構 図 に な っ て い て , 9 年 の 歳 月 を 感 じ さ せ る 。 ち な み に , 旧 版 の 邦 訳 は 表 紙 が 別 の デ ザ イ ン に な っ て い た が , 今 回 は 原 書 と 同 じ デ ザ イ ン な の は う れ し い 原 書 は 1 巻 本 て 、 あ る が , 本 書 は 2 分 冊 に な っ て い る 。 内 容 は , 12 の 章 か ら 構 成 さ れ て い て , 第 1 ~ 6 章 が 第 1 巻 , 第 7 ~ 12 章 が 第 2 巻 に 収 め ら れ て い る 。 余 談 だ が , 2 分 冊 に な っ 本 書 の 目 次 立 て は 以 下 の と お り て 、 あ る 。 ら あ ま り 賛 成 て 、 き な い 。 を と る , ② 値 段 が 高 く な る の 二 つ の 理 由 か て 活 字 が 大 き く な っ た の は よ い が , ( 1 ) 場 所 ・ 今 月 の 書 籍 ・ 『 コ ン ヾ イ ラ I ・ Ⅱ 』 Compilers-PrincipIes, Techniques, and T00 コ ン ノ ヾ イ ラ I n 物 面 0 ℃ の 日 朝 : ト 5 ・ 原 理 ・ 技 法 ・ ツ ー ル ん Ⅵ 工 イ 水 R セ シ ィ 共 著 J. 0 ウ ル マ ン み 田 一 駅 サ イ エ ン ス 社 1 章 2 章 3 章 4 章 5 章 6 章 7 章 8 章 9 章 10 章 概 説 簡 単 な 1 パ ス コ ン パ イ ラ 字 句 解 析 構 文 解 析 構 文 主 導 解 析 型 検 査 実 行 時 環 境 中 間 コ ー ド 生 成 コ ー ド 生 成 コ ー ド 最 適 化 11 章 コ ン ノ ヾ イ ラ の 開 発 12 章 コ ン パ イ ラ の 実 現 例 1 章 は コ ン パ イ ラ の 仕 組 み , 構 成 に つ い て ■ A. \/. 工 イ ホ / 日 . セ シ イ / J. D. ウ ル マ ン 著 ■ 原 田 賢 一 訳 ・ A5 判 上 製 一 定 価 各 4 , 768 円 ・ サ イ エ ン ス 社 9 , 10 章 は コ ー ド 生 成 に つ い て の 章 て 、 あ 表 現 に 変 換 す れ ば よ い か を 述 べ て い る 。 8 章 は , ソ ー ス プ ロ グ ラ ム を ど の よ う な 中 間 し て シ ン ポ ル テ ー プ ル を 取 り 上 げ て い る 。 行 時 の 記 憶 割 り 当 て の 方 法 と , そ れ に 関 連 6 章 は 型 検 査 と 型 変 換 に つ い て , 7 章 は 実 て 記 述 す る 技 法 て 、 あ る 。 文 と そ の 構 文 に 対 す る 意 味 動 作 を 結 び つ け あ る 。 5 章 て 、 取 り 上 げ る 構 文 主 導 解 析 は , 構 す る と い う の が 著 者 た ち の 一 貫 し た 方 針 て 、 て い る 。 て 、 き る だ け 自 動 生 成 ツ ー ル を 利 用 こ て 、 も 自 動 生 成 ( yacc の 仕 組 み ) が 述 べ ら れ て い る 。 4 章 は パ ー サ を 取 り 上 げ て い る が , 自 動 生 成 ( lex の 仕 組 み ) に つ い て も 解 説 さ れ は , レ キ シ カ ル ア ナ ラ イ ザ に つ い て の 章 て 、 , の 流 れ に そ っ て , 章 立 て さ れ て い る 。 3 章 3 章 以 降 が 本 論 て 、 , コ ン パ イ ラ 内 部 の 処 理 説 し て い る 。 題 材 に と っ て , コ ン パ イ ラ の 処 理 内 容 を 解 説 明 し て い る 。 2 章 は , レ ヾ ス コ ン パ イ ラ を る 。 ま ず 9 章 て 、 は , コ ー ド 生 成 に つ い て の 一 般 的 な ト ヒ 。 ッ ク を 一 通 り 取 り 上 げ る 。 次 に 10 章 て 、 は コ ー ド 最 適 化 に つ い て , デ ー タ フ ロ ー 解 析 を ベ ー ス に し て 詳 細 に 議 論 さ れ て 11 章 て 、 は , 実 際 に コ ン パ イ ラ を 書 く う え て 、 の 指 針 を え て い る 。 12 章 は , 実 在 の コ ン パ イ ラ の 紹 介 て 、 あ る 。 こ の 本 の 、 、 ウ リ 〃 は , 4 , 5 , 9 , 10 章 て 、 あ ろ う 。 と く に 4 章 の LR パ ー サ の 生 成 法 , 10 章 の 最 適 化 技 法 は 本 書 の 核 心 と も い え よ う 。 翻 訳 は , よ く こ な れ た 日 本 語 に な っ て お り , こ の 業 界 の 平 均 的 水 準 を は る か に 越 え て い る 。 し か し そ の 反 面 , こ な れ た 日 本 語 に し た た め に , か え っ て 意 味 が 通 ら な く な っ た 箇 所 が 見 受 け ら れ る の は 残 念 て 、 あ る 。 ま た , 用 語 を カ タ カ ナ の ま ま 残 さ ず に て 、 き る だ け 日 本 語 ( と い う か 和 製 漢 語 ) に す る と い う 方 針 て 、 翻 訳 し た よ う だ 。 こ れ は カ タ カ ナ 語 ば か り の こ の 世 界 に あ っ て は と て も 新 鮮 だ が , 少 々 や り す ぎ の 感 も 否 め な い 私 は 「 デ ー タ フ ロ ー 解 析 」 , 「 パ ー サ 」 と い う 用 語 を 用 い た が , そ れ ぞ れ 本 書 て 、 は 「 デ ー タ の 流 れ 解 析 」 , 「 構 文 解 析 部 」 と な っ て い る 。 前 者 に つ い て は デ ー タ フ ロ ー 計 算 機 な ど と い う 用 語 が あ り , す て 、 に カ タ カ ナ の 用 語 が 定 着 し て い る と 思 う の だ が , ど う だ ろ う か ? い す れ に し て も , こ れ は 個 人 の 好 み の 間 題 て 、 あ る 。 し か し , て 、 き る こ と な ら ば , 初 出 の 用 語 に つ い て 本 文 中 に そ の 原 語 を 書 い て お い て ほ し か っ た ( 索 引 に は 原 語 が 書 い て あ る が , そ れ だ け て 、 は 不 十 分 て 、 あ る ) 。 原 著 者 の 前 書 き に も あ る が , コ ン パ イ ラ を 書 い た り 保 守 し た り す る 幸 運 ( あ る い は 不 運 ) に め ぐ り あ う 人 は そ う 多 く は な い と 田 う 。 し か し コ ン ヒ 。 ュ ー タ の 仕 組 み に 興 味 が あ る な ら , コ ン パ イ ラ に つ い て 知 っ て お く こ と は ム ダ に な ら な い 。 な ぜ な ら 現 在 の コ ン ヒ 。 ュ ー タ 利 用 に 欠 か せ な い 存 在 だ か ら だ こ の よ う な 知 的 興 味 を 十 二 分 に 満 足 さ せ て く れ る 一 冊 て 、 あ る 。 ( 近 藤 嘉 雪 ) 32 C MAGAZINE 1991 6