>>164
>> while (!peek('\n'))
>> nextc = getchar();
>ループしてるじゃねーか。これを「ループしている」以外になんていうんだ? www

いいんですよ。それで。
標準入力から一行読む限りは末尾に '\n' がありますから、いずれループから抜け出ます。エラーが発生したらその行を捨ててしまうのです。

#define peek(c) (nextc == c)

ですから、
while (nextc != '\n')
nextc = getchar();
と同じことです。

http://hibari.2ch.net/test/read.cgi/tech/1308749241/846 は、代数式の解析に、とあるLL(1)文法を採用し、deternative に下降型構文解析を構成しているのです。
そのため先読みを明示して peek() をあえてマクロに仕立てました。
鋭いご指摘を受けたのでこの辺の事情は釈迦に説法だと考えていたのですがね。