4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Pascal についてのポエム (パンセではない)

Last updated at Posted at 2019-02-13

はじめに

『PASCAL (情報処理シリーズ 2)』(原題:Pascal User Manual and Report) は、キャスリン・イェンゼン (Kathleen Jensen) とニクラウス・ヴィルト (Niklaus Wirth) によって書かれた PASCAL 言語についての書籍である。著者名の頭文字からしばしば J&W と略される。または単純に Report とも。
image.png
原書の初版は 1974 年に出版され、PASCAL 言語が標準化されるまでの間リファレンス的な扱いを受けていた。1984 年の第 3 版では ISO での標準化を反映して内容が大幅に変更されている。

第 3 版の改訂者はアンドリュー・B・ミケル (Andrew B. Mickel) とジェームス・F・マイナー (James F. Miner)。

日本語訳は第 2 版と訳書訂正版とも原田賢一。原書初版の日本語訳はない。
image.png
出版社は培風館

原書
(年度)
原書
ISBN
日本語訳
(年度)
日本語訳
ISBN
頁数
初版
(1974)
038706950X
354006950X
第 2 版
(1978)
0387901442
3540901442
PASCAL
(1981)
456300782X
456300782X
187P
第 3 版
(1984)
0387960481
3540960481
PASCAL 原書第 3 版
(1988)
4563014621 243P
第 4 版
(1991)
0387976493
3540976493
PASCAL 原書第 4 版
(1993)
4563014664 251P

※リンク先は Amazon です。

J&W スタイル

本書 (第 4 版) でソースコード片を示すのに使っているインデントやブレースの位置などのスタイルを指して J&W スタイルと呼ぶことがある (C 言語で言うところの GNU スタイル)1。これに対し、Borland 系の Pascal (Turbo Pascal, Borland Pascal, Delphi) は Borland スタイルで書かれている (C 言語で言うところの BSD/オールマンスタイル)。

おわかりいただけただろうか?

この記事が "プログラミング言語 C (Wikipedia)"パクリオマージュという事を...。

標準 Pascal / 拡張 Pascal

規格化された Pascal は以下の 2 つです。

Pascal 説明
Standard Pascal
(標準 Pascal)
ISO/IEC 7185 準拠の Pascal
Extended Pascal
(拡張 Pascal)
ISO/IEC 10206 準拠の Pascal

(標準)Pascal へのオブジェクト指向拡張はドラフトのまま放置されました。

See also:

Pascal の書籍について

標準 Pascal を対象としたすべての書籍に言えますが、少なくとも 1983 年よりも前に出版されていて改訂版が出ていないものは、標準 Pascal (ISO 7185:1983) に対応していません。

そして少なくとも 1990 年よりも前に出版されていて改訂版が出ていないものも最新の標準 Pascal 規格である ISO/IEC 7185:1990 に対応していません。そもそも日本だと 1990 年代に出版された標準 Pascal 本自体が少ないのですけれどね。

巻末の索引を調べて**「スカラ型」**という単語があれば、まず標準 Pascal に対応していません2。これが一つの目安になるかと思います。

See also:

##ideone.com
ideone.com では GNU Pascal (GPC) と Free Pascal (FPC) が使えますが、コンパイラモード指令でコンパイラの振る舞いを変更することができます。

###GNU Pascal (GPC) の場合
{$Extended Pascal} を明示しないと Extended Pascal (ISO/IEC 10206) モード にならないものだと思っていましたが、コンパイラ指令なしで Standard Pascal (ISO/IEC 7185) / Extended Pascal (ISO/IEC 10206) が使えるようです。

program ideone;
const 
  Num = 2#10101010; 
begin
  Writeln(Num);
end.

上記コードは 170 を表示します。

Free Pascal (FPC) の場合

{$mode ISO} で Standard Pascal (ISO/IEC 7185) モード
image.png
{$mode extendedPascal} で Extended Pascal (ISO/IEC 10206) モード。但し未実装が多く、モード自体もまだ実装されていないようです。
image.png
{$mode DELPHI} で Delphi モード (ANSI)
image.png
{$mode DelphiUnicode}} で Delphi モード (Unicode)
image.png
詳しくは Free Pascal のコンパイラモードを参照してください。

PASCAL-P5

純粋な標準 Pascal を試すための方法を別記事で書いてみました。

おわりに

2/14 は Delphi の誕生日で、翌 25 日は Wirth 先生の誕生日なのでこんなのを書いてみました。

訳書は図書館の蔵書が放出されたのが安く出回っているようなので、Pascal 好きな方は一冊確保しておくといいかと思います。冗談めいて書きましたが、この本は本当に C 言語における K&R みたいなものなので。

原書も訳書も見た目では第何版なのか判りにくいので購入される際はご注意を。原書はともかく訳書は原書第 4 版ベースの 1993 年版だけあればいいかと思います。

  1. 多分、僕しかそう呼んでいない (w

  2. あるいは古めの Turbo Pascal を対象にしているかです。

4
2
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?