Path: sramha!katsu From: katsu@sra.co.jp (WATANABE Katsuhiro) Message-ID: Date: 20 Jun 90 18:01:15 Organization: Software Research Associates, Inc.,Japan In-reply-to: katsu@sra.co.jp's message of 19 Jun 90 11:36:41 GMT Newsgroups: sra.test, junk Subject: Re: Today's Junk article. [Unimaga 1990Jun little language] Distribution: sra References: 「本日のゴミ記事」 この投稿の趣旨: 特になし。やりたいからやってるだけ。日記を目指している。 記事 で katsu@sra.co.jp (WATANABE Katsuhiro) いはく > > 式の評価をしなくてもよくて、カンマをつけるだけだったらそれこそもう > > 色々なコマンドでできるようです。(Unix Magazine の元の記事でこれを > > adb にも計算の機能や、formatted output の機能があるので、ちょっと > やってみました。 こんなことやってたらきりがない。それに段々飽きてきたからこの シリーズ(になってしまったけれども)は終りにします。「やりたいから やってる」だけの話なもんで。 でも、せっかく同じ題材について色々な書き方をしてみたので、簡単な 比較と感想を書いておきます。 sed の別案 難しかった度:1 楽しかった度:2 今までの経験は10本か20本程度。ほとんど苦労せずにループを 使うやりかたを思いつくことができた。 comma.bc 難しかった度:3 楽しかった度:3 bc で関数を書くのは2度目。これも数を文字列として表示する方法を 思いついてしまえばすぐできた。 comma.dc 難しかった度:5 楽しかった度:4 dc を使うのは初めて。2度ほど全部書き直した。Stack 指向の言語で ありながら、Postscript でいう dup みたいなものがなかったり (それでいて eval がある)でひたすら面倒だった。あまりに原始的 すぎる。でも必ずできることはわかっていた(comma.bc が動いていた から)ので気は楽。 uexpr.m4 難しかった度:5 楽しかった度:5 m4 を使うのは初めて。どこを quote すべきかが一番難しかった。 m4 用の段下げのスタイルをうまく編み出すことができてうれしかった。 if の引数は全て評価される(inner most)のがとてもうっとうしかった。 でも、「ここが、こう書き換わって...」と考えるのは、なんだか Prolog で program を書いているようで楽しかった。 comma.nroff 難しかった度:3 楽しかった度:4 (近くに亀山さんがいなかったとしたら、難しかった度: 30) roff のマクロを書いたり、数値変数をいじったのは初めて。マクロの 書き方自体はあまり悩まなかったが、diversion の中での .rd だの、 flush だのは私の限界を越えていた。自力では完成しなかったであろう。 コンマで区切るマクロ自体の記述は平凡に済ますことが可能だった。 comma.cf 難しかった度:3 楽しかった度:5 (メールシステムの勉強を含めた難しかった度: 20) sendmail.cf を書くのは初めて。どうして文字列を操作するために mail system の勉強をしなければならないのか自問しながらかいた。 書き換えルール自体を書くのは案外簡単!もっと複雑怪奇だと思っていた。 デバッグも -bt とか、-d21.99 などのデバッグツールがそろっていて やりやすかった。トークンを自分で定義できたりもするから、 「lex を使うほどではないが sed では難しい」という分野で 今回のようにフィルターとして応用がきくのではないか? (これは冗談です。でも、sendmail から書き換え操作部だけが独立して いたら、こういった応用が本当にあったかもしれない。) comma.adb 難しかった度:5 楽しかった度:5 adb のスクリプトを書いたのは初めて。貧弱な実行機構をうまくだます 方法を思いつくたびうれしくなってしまった。dc 以上に貧弱なのだが、 dc とは違って、まだるっこしさを感じることはなかった。 -- ----____----____ 渡邊克宏 環境開発部 今月の歌: 「♪ 僕等の名前を覚えて欲しい 大型機を知らない子供達さ ♪」