UNIXのCコンパイラ(cとpcc)のソースコード リンク集

UNIXと一緒に配布されていたCコンパイラであるcとpccのソースコードへのリンクをUNIXとBSDのバージョン毎に並べてみました。
また関連情報をまとめてみました。

# Ritchie's pdp11 C compiler
c は Dennis Ritchie が開発したCコンパイラです。

## prestruct-c (1972)
structを実装する前のCコンパイラ
https://github.com/mortdeus/legacy-cc/tree/master/prestruct

## UNIX V2 (1972)
http://minnie.tuhs.org/cgi-bin/utree.pl?file=V2/c

## last1120c (1972)
PDP-11/20対応をやめるときに保存した版
https://github.com/mortdeus/legacy-cc/tree/master/last1120c

## UNIX V3 (1973)
http://minnie.tuhs.org/cgi-bin/utree.pl?file=V3/c

## UNIX V5 (1974)
http://minnie.tuhs.org/cgi-bin/utree.pl?file=V5/usr/c

## UNIX V6 (1975)
http://minnie.tuhs.org/cgi-bin/utree.pl?file=V6/usr/source/c

## UNIX V7 (1979)
http://minnie.tuhs.org/cgi-bin/utree.pl?file=V7/usr/src/cmd/c

## 2.9BSD (1983)
http://minnie.tuhs.org/cgi-bin/utree.pl?file=2.9BSD/usr/src/cmd/c


#pcc

Portable C Compiler (略して pcc)は S. C. Johnsonが開発したCコンパイラです。
詳しくはwikipediaをどうぞ→ https://ja.wikipedia.org/wiki/Portable_C_Compiler

## UNIX V7 (1979)
VAX用
http://minnie.tuhs.org/cgi-bin/utree.pl?file=V7/usr/src/cmd/pcc
http://minnie.tuhs.org/cgi-bin/utree.pl?file=V7/usr/src/cmd/mip

## 3BSD (1979)
VAX用
http://minnie.tuhs.org/cgi-bin/utree.pl?file=3BSD/usr/src/cmd/pcc
http://minnie.tuhs.org/cgi-bin/utree.pl?file=3BSD/usr/src/cmd//mip

## 4BSD (1980)
VAX用
http://minnie.tuhs.org/cgi-bin/utree.pl?file=4BSD/usr/src/cmd/pcc
http://minnie.tuhs.org/cgi-bin/utree.pl?file=4BSD/usr/src/cmd/mip

## 4.1cBSD (1982)
VAX用
http://minnie.tuhs.org/cgi-bin/utree.pl?file=4.1cBSD/usr/src/lib/pcc
http://minnie.tuhs.org/cgi-bin/utree.pl?file=4.1cBSD/usr/src/lib/mip
http://minnie.tuhs.org/cgi-bin/utree.pl?file=4.1cBSD/usr/src/lib/c2
http://minnie.tuhs.org/cgi-bin/utree.pl?file=4.1cBSD/usr/src/lib/cpp

## 4.2BSD (1983)
VAX用
http://minnie.tuhs.org/cgi-bin/utree.pl?file=4.2BSD/usr/src/lib/pcc
http://minnie.tuhs.org/cgi-bin/utree.pl?file=4.2BSD/usr/src/lib/mip
http://minnie.tuhs.org/cgi-bin/utree.pl?file=4.2BSD/usr/src/lib/c2
http://minnie.tuhs.org/cgi-bin/utree.pl?file=4.2BSD/usr/src/lib/cpp

## 4.3BSD (1986)
VAX用
http://minnie.tuhs.org/cgi-bin/utree.pl?file=4.3BSD/usr/src/lib/pcc
http://minnie.tuhs.org/cgi-bin/utree.pl?file=4.3BSD/usr/src/lib/mip
http://minnie.tuhs.org/cgi-bin/utree.pl?file=4.3BSD/usr/src/lib/c2
http://minnie.tuhs.org/cgi-bin/utree.pl?file=4.3BSD/usr/src/lib/cpp

## 4.3BSD Tahoe (1988)
VAX用と機種依存を除いた版(tahoe)
http://minnie.tuhs.org/cgi-bin/utree.pl?file=4.3BSD-Tahoe/usr/src/lib/pcc
http://minnie.tuhs.org/cgi-bin/utree.pl?file=4.3BSD-Tahoe/usr/src/lib/mip
http://minnie.tuhs.org/cgi-bin/utree.pl?file=4.3BSD-Tahoe/usr/src/lib/c2
http://minnie.tuhs.org/cgi-bin/utree.pl?file=4.3BSD-Tahoe/usr/src/lib/cpp

## 4.4BSD (1991)
http://minnie.tuhs.org/cgi-bin/utree.pl?file=4.4BSD/usr/src/old/pcc

## 2.11BSD (1992)
http://minnie.tuhs.org/cgi-bin/utree.pl?file=2.11BSD/src/lib/pcc
http://minnie.tuhs.org/cgi-bin/utree.pl?file=2.11BSD/src/lib/mip
http://minnie.tuhs.org/cgi-bin/utree.pl?file=2.11BSD/src/lib/cpp

## 参考情報
### デニス・リッチーのページにある情報
https://www.bell-labs.com/usr/dmr/www/ にcコンパイラについての情報が置いてあります。いくつか下記にセレクトしました。

* デニス・リッチーによる  prestruct-c と last1120c の解説
 * https://www.bell-labs.com/usr/dmr/www/primevalC.html
 * このページの和訳を含んだ記事  
 　* http://cpplover.blogspot.jp/2013/05/cgithub.html デニス・リッチーによって書かれた最初のCコンパイラーがGitHubで公開：本の虫

* https://www.bell-labs.com/usr/dmr/www/chist.html
 * デニス・リッチーによる C開発にまつわる歴史

* デニス・リッチーによる V6の C Reference Manual
 * https://www.bell-labs.com/usr/dmr/www/cman.pdf

* UNIX V7 のマニュアルに含まれているデニス・リッチーによるc compiler の解説
 * http://plan9.bell-labs.com/7thEdMan/index.html の http://plan9.bell-labs.com/7thEdMan/v7vol2b.pdf P179の「A Tour through the UNIX† C Compiler」

* UNIX V7 のマニュアルに含まれているS. C. Johnsonによるc compiler の解説
 * http://plan9.bell-labs.com/7thEdMan/index.html の http://plan9.bell-labs.com/7thEdMan/v7vol2b.pdf P193の「A Tour Through the Portable C Compiler」

### その他
* V6のccのソースコードを読んだ記事  
 * Unix v6 の C コンパイラが面白かった話 http://shinh.hatenablog.com/entry/2015/06/04/210238
 * pre K&R Cコンパイラ : plan9日記 http://d.hatena.ne.jp/oraccha/20101106/1289039703
 * 素朴な C (pre K&R C) のお話 http://blog.kmckk.com/archives/922803.html
 * K&R C ができるまで http://blog.kmckk.com/archives/1118944.html


* 藤田さんによる関連記事の和訳
 * Ｃ言語と AT&T Unix の移植　http://roguelife.org/~fujita/COOKIES/HISTORY/USENIX/johnson.html
 * http://roguelife.org/~fujita/COOKIES/HISTORY/BTL/32v.html

* the portable C compiler for the 8086, Z8000, and 68000 done by MIT's Laboratory for Computer Science.
 * https://github.com/eunuchs/unix-archive/tree/master/Applications/Portable_CC