Next: Evaluation Macros, Up: Programming in M4sugar [Contents][Index]
¤¤¤¯¤Ä¤«Îã³°¤¬¤¢¤ê¤Þ¤¹¤¬¡¤Á´¤Æ¤ÎM4¥Í¥¤¥Æ¥£¥Ö¤Ê¥Þ¥¯¥í¤Ï¡¤‘m4_’µ¿»÷̾
Á°¶õ´Ö¤Ë°Üư¤µ¤ì¤Æ¤¤¤Æ¡¤Î㤨¤Ð¡¤M4sugar¤Ç¤Ïdefine
¤ò
m4_define
¤Ë̾Á°¤òÊѤ¨¤ë¤Ê¤É¤Î¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡¥
M4¥Þ¥¯¥í¤Ë¤ÏºÆÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤â¤Î¤â¤¢¤ê¡¤¥Í¥¤¥Æ¥£¥Ö¤ÊƱµÁ¸ì¤È¤ï¤º¤«¤Ë¸ß´¹ À¤¬¤Ê¤¯¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡¥
¤³¤Î¥Þ¥¯¥í¤Ï¡¤¤â¤È¤â¤È¤Î̾Á°¤ò°Ý»ý¤·¤Æ¤¤¤Þ¤¹¡¥m4_dnl
¤ÏÄêµÁ¤µ¤ì¤Æ
¤¤¤Þ¤»¤ó¡¥
M4ÁȤ߹þ¤ß¤Î¤â¤Î¤ÈÈæ³Ó¤·¤Æ¡¤¤³¤Î¥Þ¥¯¥í¤Ï¡¤macro¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Ê¤¤
¾ì¹ç¤Ï¼ºÇÔ¤·¤Þ¤¹¡¥m4_undefine
¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡¥
¤³¤Î¥Þ¥¯¥í¤Ïm4exit
¤ËÂбþ¤·¤Þ¤¹¡¥
¤³¤Î¥Þ¥¯¥í¤Ïifelse
¤ËÂбþ¤·¤Þ¤¹¡¥
M4ÁȤ߹þ¤ß¤Î¤â¤Î¤È¤Ï°Û¤Ê¤ê¡¤¤³¤Î¥Þ¥¯¥í¤Ïmacro¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì ¹ç¤Ï¼ºÇÔ¤·¤Þ¤¹¡¥°Ê²¼¤Î¤è¤¦¤Ë»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡¥
m4_ifdef([macro], [m4_undefine([macro])])
¤½¤ì¤Ç¡¤ÁȤ߹þ¤ß¤Î¤â¤Î¤Îưºî¤ËÉüµì¤·¤Þ¤¹¡¥
¤³¤Î¥Þ¥¯¥í¤Ïpatsubst
¤ËÂбþ¤·¤Þ¤¹¡¥m4_patsubst
¤Î̾Á°¤Ï¡¤
epatsubst
¤Ç³ÈÄ¥¤·¤¿Àµµ¬É½¸½¤Î¹½Ê¸¤òÄ󶡤¹¤ë¡¤GNU M4¤ÎºÇ
¾å°Ì¤ÎM4sh¤Î¾Íè¤Î¥Ð¡¼¥¸¥ç¥ó¤ËÂФ·¤Æ»Ä¤µ¤ì¤Æ¤¤¤Þ¤¹¡¥
M4ÁȤ߹þ¤ß¤Î¤â¤Î¤È¤Ï°Û¤Ê¤ê¡¤¤³¤Î¥Þ¥¯¥í¤Ïmacro¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì
¹ç¤Ï¼ºÇÔ¤·¤Þ¤¹¡¥m4_undefine
¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡¥
¤³¤Î¥Þ¥¯¥í¤Ïregexp
¤ËÂбþ¤·¤Æ¤¤¤Þ¤¹¡¥m4_regexp
¤Î̾Á°¤Ï¡¤
eregexp
¤Ç³ÈÄ¥¤·¤¿Àµµ¬É½¸½¤Î¹½Ê¸¤òÄ󶡤¹¤ë¡¤GNU M4¤ÎºÇ¾å
°Ì¤ÎM4sh¤Î¾Íè¤Î¥Ð¡¼¥¸¥ç¥ó¤ËÂФ·¤Æ»Ä¤µ¤ì¤Æ¤¤¤Þ¤¹¡¥
¤³¤Î¥Þ¥¯¥í¤Ïm4wrap
¤ËÂбþ¤·¤Æ¤¤¤Þ¤¹¡¥
Æó¤Ä¤ÎϢ³¤·¤Æ¸Æ¤Ó½Ð¤µ¤ì¤ëm4_wrap
¤¬¡¤¤½¤Î¤Þ¤Þ¥È¡¼¥¯¥ó¤È¤·¤ÆÅϤµ¤ì
¤ë¤È¤¤¤¦Í½´ü¤·¤Ê¤¤·ë²Ì¤È¤Ê¤ë´í¸±¤¬Ìµ¤¤¤è¤¦¤Ë¡¤text¤ò‘[]’ ¤Ç½ª
¤¨¤ë¤³¤È¤¬¿ä¾©¤µ¤ì¤Þ¤¹¡¥
m4_define([foo], [Foo]) m4_define([bar], [Bar]) m4_define([foobar], [FOOBAR]) m4_wrap([bar]) m4_wrap([foo]) ⇒FOOBAR