1 :
デフォルトの名無しさん:05/01/15 22:39:11
2 :
デフォルトの名無しさん:05/01/15 22:51:11
とりあえず2げっと
ある意味LISPっぽいよねこれ。
むしろS式を必要としないLISPか。
sendmailとautoconfが有名だね。
正直あまり楽しくない。
6 :
デフォルトの名無しさん:05/01/16 00:20:41
>>5
同意
はやく廃れて欲しい言語だねw
各種設定ファイル等のプリプロセスに使える手軽なプリプロセサが
ほかにあればm4捨ててもいいけど。cppは貧弱すぎるし、
Rubyやらなんやらのスクリプト言語はプリプロセス向きではない。
>>6 同意
m4なんて早く消えてSchemeでいいよね
m4(^Д^)プギャー
やれやれ、道具の使い分けというものを知らない厨房ばかりだな。
>>11 >やれやれ、道具の使い分けというものを知らない厨房ばかりだな。
Lisper という人種は「道具の使い分け」等という
迷信を抱いたりはしないのだよ。
COBOLer の間違いでは?
>>12 だから世間では奇人変人扱いされるわけだ。
世間は Lisp も m4 も知らないだろう。
XML の XSLT とか Lisp の defmacro みたいにプリプロセスする対象と
親和性が高くないと使い辛いと思う。
16 :
デフォルトの名無しさん:05/01/20 18:41:52
M4の謎が解けました
いままで
17 :
デフォルトの名無しさん:05/03/10 08:36:07
m4のためのプリプロセスm4pp作ってm4臭さを消したらええんやないの?
例えばPascalで
m4pp < m4pp.pa | m4 > m4pp.pas
最初はm4pp.pasを対象とする言語で書いて、安定したらm4pp.paに手で書き替えてm4pp.pasを上のように作る。
で、新しいm4pp.pasから作ったm4ppでm4pp.paからm4pp.pasを作ると一つ前のm4pp.pasと一致するはずよね?
それをメンテする人間が君だけならその方法でよいと思うよ。
>>17 よいアイデアだと思ってるのかもしれないけど、
パスを増やすとそれだけデバッグが困難になると思うよ。
しかもプリプロセッサだとほとんど場合意味まで解釈しないから、
ミスをそのまま通す可能性が高い。
>>17の場合 意図した結果になってるかどうかを
最悪m4pp、m4、m4pp.pasの3箇所で調べないとね。
トランスレーターが流行らない理由の1つ。
あるスクリプトが
・手続きしかない。
・組み込み手続きは引き数がある。
・ユーザー定義手続きは引き数を持てない。
・ソースファイルの分割が出来ない。
という問題があってなんとかあっさり拡張出来ないかなと思ってましたが諦めます。
このスレの流れが止まった件について
22 :
デフォルトの名無しさん:2005/04/14(木) 21:08:12
立てた俺が他の事やってるからな・・
24 :
デフォルトの名無しさん:2005/04/15(金) 06:08:40
俺ね、汎用プリプロセスマクロが欲しくてM4触ったけど、使い辛い。
やっぱり中間出力ってのがマズイ原因なんだよ。
で、結局自作のもっと簡単なマクロ作った。
どういうものかというと、マクロをコメント部に書いておいて、
出力はソースそのものを書き換えるというもの。
エディタから呼び出すと、即座に反映されて便利なんよ。
ただし、ミスするとソースが一気に崩れる諸刃の剣
まあ慣れればそんな失敗はしなくなるんで、慣れれば最強だよ。
26 :
25:2005/04/15(金) 07:54:45
たとえば include をどう処理するか。
/*%%Include "FILE.INC" ;*/
・・・ここの間がFILE.INCにマクロを処理しながら書換えられる・・・
/*%%IncludeEnd ;*/
27 :
デフォルトの名無しさん:2005/09/04(日) 19:17:53
コメントかどうか
文字列の中かどうか
この辺やらないと使い物にならない
28 :
25:
もちろん文字列の中に /*%%・・・ と入れたらダメだけど まずやらないでしょ?
それに
>>26の例はC言語なんだけど
ほとんどアセンブラで使う目的なんで そんなに厳密でなくていいんだよ。