m4スレ
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNGm4とは古来から現在まで色んな言語のプリプロセスに使われている
マクロプロセッサである。
m4紹介ページ
http://homepage1.nifty.com/bmonkey/doc/m4-1.4/html/m4-ja.html
0002デフォルトの名無しさん
NGNG0003デフォルトの名無しさん
NGNGむしろS式を必要としないLISPか。
0004デフォルトの名無しさん
NGNG0005Rubyist!
NGNG0006デフォルトの名無しさん
NGNG同意
はやく廃れて欲しい言語だねw
0007デフォルトの名無しさん
NGNGほかにあればm4捨ててもいいけど。cppは貧弱すぎるし、
Rubyやらなんやらのスクリプト言語はプリプロセス向きではない。
0008デフォルトの名無しさん
NGNGどうせ読み辛いなら S 式 or XML で良いよ。
0009デフォルトの名無しさん
NGNG同意
m4なんて早く消えてSchemeでいいよね
0010デフォルトの名無しさん
NGNG0011デフォルトの名無しさん
NGNG0012デフォルトの名無しさん
NGNG>やれやれ、道具の使い分けというものを知らない厨房ばかりだな。
Lisper という人種は「道具の使い分け」等という
迷信を抱いたりはしないのだよ。
0013デフォルトの名無しさん
NGNG0014デフォルトの名無しさん
NGNGだから世間では奇人変人扱いされるわけだ。
0015デフォルトの名無しさん
NGNGXML の XSLT とか Lisp の defmacro みたいにプリプロセスする対象と
親和性が高くないと使い辛いと思う。
0016デフォルトの名無しさん
05/01/20 18:41:52いままで
0017デフォルトの名無しさん
05/03/10 08:36:07例えばPascalで
m4pp < m4pp.pa | m4 > m4pp.pas
最初はm4pp.pasを対象とする言語で書いて、安定したらm4pp.paに手で書き替えてm4pp.pasを上のように作る。
で、新しいm4pp.pasから作ったm4ppでm4pp.paからm4pp.pasを作ると一つ前のm4pp.pasと一致するはずよね?
0018デフォルトの名無しさん
05/03/10 08:41:440019デフォルトの名無しさん
05/03/10 21:59:07よいアイデアだと思ってるのかもしれないけど、
パスを増やすとそれだけデバッグが困難になると思うよ。
しかもプリプロセッサだとほとんど場合意味まで解釈しないから、
ミスをそのまま通す可能性が高い。
>>17の場合 意図した結果になってるかどうかを
最悪m4pp、m4、m4pp.pasの3箇所で調べないとね。
トランスレーターが流行らない理由の1つ。
002017
05/03/11 00:09:40・手続きしかない。
・組み込み手続きは引き数がある。
・ユーザー定義手続きは引き数を持てない。
・ソースファイルの分割が出来ない。
という問題があってなんとかあっさり拡張出来ないかなと思ってましたが諦めます。
0021デフォルトの名無しさん
2005/03/26(土) 21:55:030022デフォルトの名無しさん
2005/04/14(木) 21:08:120023デフォルトの名無しさん
2005/04/15(金) 00:12:18立てた以上、責任持ってネタふれや
0024デフォルトの名無しさん
2005/04/15(金) 06:08:400025デフォルトの名無しさん
2005/04/15(金) 07:45:47やっぱり中間出力ってのがマズイ原因なんだよ。
で、結局自作のもっと簡単なマクロ作った。
どういうものかというと、マクロをコメント部に書いておいて、
出力はソースそのものを書き換えるというもの。
エディタから呼び出すと、即座に反映されて便利なんよ。
ただし、ミスするとソースが一気に崩れる諸刃の剣
まあ慣れればそんな失敗はしなくなるんで、慣れれば最強だよ。
002625
2005/04/15(金) 07:54:45/*%%Include "FILE.INC" ;*/
・・・ここの間がFILE.INCにマクロを処理しながら書換えられる・・・
/*%%IncludeEnd ;*/
0027デフォルトの名無しさん
2005/09/04(日) 19:17:53文字列の中かどうか
この辺やらないと使い物にならない
002825
2005/09/08(木) 07:37:19それに >>26の例はC言語なんだけど
ほとんどアセンブラで使う目的なんで そんなに厳密でなくていいんだよ。
■ このスレッドは過去ログ倉庫に格納されています