WEB

WEB（ウェブ）は、ドナルド・クヌースによって設計および開発されたプログラミングの仕組みであり、 の実装に用いられていることで知られる。

クヌースが提唱する「文芸的プログラミング」を実装したものがこの WEB であり、ソフトウェアを文学作品として著述するための仕組みである。クヌースは「文芸的プログラミング」（ THE COMPUTER JOURNAL 掲載版）の中で WEB を「文書整形言語とプログラミング言語という二つの部分の組み合わせ」だと説明した。 WEB ではソースコードは説明文の中に記述されるが、これは一般的なプログラミング言語において、コメントがソースコードの中に記述されるのと対照的である。WEB テキストを記述するときは節ごとにひとまとまりのコードとその説明を記述する。出来上がったWEBテキストを weave というプログラムに通すと、 経由で整形された印刷用のドキュメントが得られる。一方 tangle というプログラムを通すと、コンパイラやインタプリタなどプログラミング言語処理系に掛けることができる(狭義の)ソースコードが得られる。

オリジナルの WEB は tangle することによってプログラミング言語 Pascal のソースコードを出力するものであるが、ここから C言語のソースを出力する CWEB・任意のプログラミング言語に適用が可能な noweb が派生した。また WEB の出力を C 言語に変換する Web2C があり、近年  をコンパイルするために用いられている。

参考文献

出典 

ソフトウェア工学
プログラミング
TeX
ドナルド・クヌース