Portable C Compiler
Portable C Compiler (略して pcc) はベル研究所のスティーヴン・カーティス・ジョンソンが1970年代に書いたC言語コンパイラである。異なるアーキテクチャ用のコードを出力することが容易なコンパイラの先駆けであり、1980年代初期には多くのCコンパイラがpccをもとにしていた。Version 7 Unixにおいて、デニス・リッチーのコンパイラであるccと並行して添付され、ccとpccが同時に使えるようになったのがpccの初出である。その後、1990年の4.3BSD-Renoに含まれるなど、4.4BSDでGNU Cコンパイラに取って代わられるまで、長く標準コンパイラとして君臨していた。
pccの成功の鍵は移植性と診断能力にある。
ソースファイルの大部分がマシン非依存である。
文法違反に強く、不正なプログラムを受け付けない。lintはもともとpccの一部だった。
pass1の時点でも最適化する。
こうした特徴を持つコンパイラは当時としては斬新で、たとえばデニス・リッチーによる最初のCコンパイラはPDP-11に強く依存していた。
なお、pccはAlan Snyderによる別のportable C compilerからアイディアを取り入れているが、Snyderのものは遅く複雑で、実装上の問題もあった。