Next: Compatibility, Previous: Miscellaneous, Up: Top [Contents][Index]
²¿É´¤â¤ÎÄêµÁ¤ä¤½¤Î¾¤Î¼ê´Ö¤¬¤«¤«¤ë½é´ü²½¤ò¤Þ¤È¤á¤¿¶¦Ä̤δðÈפòÅÚÂæ¤È¤·¤Æ¡¢
¤½¤Î¾å¤Ë¤µ¤é¤ËÂ礤Êm4
¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¤¤¤¯¤Ä¤â¹½ÃÛ¤·¤Æ¤¤¤¯¤³¤È¤¬
¤Ç¤¤Þ¤¹¡£Ä̾ï¤Ï¤½¤Î¶¦Ä̤δðÈפò1¤Ä°Ê¾å¤Î¥Õ¥¡¥¤¥ë¤Ë³ÊǼ¤·¤Æ¤ª¤¤¤Æm4
¤ò
µ¯Æ°¤¹¤ë¤¿¤Ó¤Ë¥æ¡¼¥¶¤ÎÆþÎÏ¥Õ¥¡¥¤¥ë̾¤ÎÁ°¤Ë¤½¤ì¤é¤Î¥Õ¥¡¥¤¥ë̾¤òÍåÎ󤹤뤫¡¢
¥æ¡¼¥¶¤ÎÆþÎÏ¥Õ¥¡¥¤¥ë¤«¤éinclude
¤·¤Þ¤¹¡£
µðÂç¤Ê¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¶¦ÄÌ´ðÈפò²¿Å٤ⲿÅ٤ⷫ¤êÊÖ¤·ÆÉ¤ß¹þ¤à¤Î¤Ï
»þ´Ö¤¬¤«¤«¤ë¤³¤È¤Ç¤·¤ç¤¦¡£m4
¤Ë¤ÏÂ礤ʶ¦ÄÌ´ðÈפò»È¤¦
¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î³«»Ï»þ´Ö¤ò¥¹¥Ô¡¼¥É¥¢¥Ã¥×¤¹¤ë¤¿¤á¤Îµ¡¹½¤¬ÍѰդµ¤ì¤Æ
¤¤¤Þ¤¹¡£¥æ¡¼¥¶¤¬¼¡¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¤ò·«¤êÊÖ¤·»È¤¦¤È¤·¤Þ¤¹¡£
m4 base.m4 input.m4
¤³¤³¤Çinput.m4¤Ïµ¯Æ°¤Î¤¿¤Ó¤Ë¤¤¤í¤¤¤í¤ÊÆâÍÆ¤ò»ý¤Á¡¢ base.m4¤Ï¤«¤Ê¤ê¸ÇÄêŪ¤ÊÆâÍÆ¤ò»ý¤Ã¤Æ¤¤¤ë¤È¤·¤Þ¤¹¡£ ¤³¤¦¤¤¤¦¤È¤¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¤·¤¿Êý¤¬¤¤¤¤¤Ç¤·¤ç¤¦¡£
m4 -F base.m4f base.m4
¤³¤Î¤è¤¦¤Ë°ìÅټ¹Ԥ·¤Æ¤ª¤¡¢É¬Íפˤʤ뤿¤Ó¤Ë¼¡¤Î¤è¤¦¤Ë¼Â¹Ô¤·¤Þ¤¹¡£
m4 -R base.m4f input.m4
ºÇ½é¤Î-F
¥ª¥×¥·¥ç¥ó¤ò´Þ¤ó¤Ç¤¤¤ë¸Æ¤Ó½Ð¤·¤Ïbase.m4¤òÆÉ¤ó¤Ç¼Â¹Ô
¤¹¤ë¤³¤È¤Ç¡¢¤µ¤Þ¤¶¤Þ¤Ê¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥Þ¥¯¥í¤ÎÄêµÁ¤ä¤½¤Î¾¤Î½é´ü²½¤ò
¹Ô¤¤¤Þ¤¹¡£ÆþÎÏ¥Õ¥¡¥¤¥ëbase.m4¤Î½èÍý¤¬´°Á´¤Ë½ª¤Ã¤Æ¤«¤é¡¢
GNU m4
¤ÏÅà·ë¡Êfrozen¡Ë¥Õ¥¡¥¤¥ë¤òbase.m4f¤È¤·¤ÆÀ¸À®¤·¤Þ¤¹¡£
¤³¤Î¥Õ¥¡¥¤¥ë¤Ïm4
¤ÎÆâÉô¾õÂ֤Τ¢¤ë¼ï¤Î¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¤È¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
¸å¼Ô¤Î-R
¥ª¥×¥·¥ç¥ó¤ò´Þ¤ó¤Ç¤¤¤ë¸Æ¤Ó½Ð¤·¤Ç¤Ï¡¢¤É¤ÎÆþÎÏ¥Õ¥¡¥¤¥ë¤¬
ÆÉ¤ß¹þ¤Þ¤ì¤ë¤è¤ê¤âÁ°¤Ë¡¢base.m4f¤«¤ém4
¤Î¥á¥â¥ê¤ÎÆâÉô¾õÂÖ¤ò
¥ê¥í¡¼¥É¡Êreload¡Ë¤·¤Æ¤ª¤¯¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¤³¤Î¤è¤¦¤Ë¤·¤Æ¡¢¤Þ¤Ã¤µ¤é¤Ê¾õÂÖ¤Îm4
¤«¤é»Ï¤á¤ë¤«¤ï¤ê¤Ë
Á°¤â¤Ã¤Æµ¯Æ°¤·¤Æ¤ª¤¤¤¿¤È¤¤Î¾õÂ֤ؤȸúΨŪ¤ËÉüµ¢¤·¤¿¤¢¤È¤ÇÆþÎϤòÆÉ¤ß¹þ¤ß
¤Þ¤¹¡£¤³¤ÎÎã¤Ç¤Ïbase.m4¤ò¿·¤¿¤ËÆÉ¤ó¤À¤È¤¤È¸ú²Ì¤ÏƱ¤¸¤Ç¤¹¤¬¡¢¤½¤ì¤ò
¤º¤Ã¤È®¤¯¹Ô¤¦¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
m4
¤Î1²ó¤Îµ¯Æ°¤Çºî¤Ã¤¿¤êÆÉ¤ß¹þ¤ó¤À¤ê¤Ç¤¤ëÅà·ë¥Õ¥¡¥¤¥ë¤Ï¤½¤ì¤¾¤ì
1¤Ä¤À¤±¤Ç¤¹¡£
°ìÅÙ¤Ë2¤Ä¤ÎÅà·ë¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤ò²óÉü¤¹¤ë¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó¡£
¤·¤«¤·-R
¤È-F
¥ª¥×¥·¥ç¥ó¤òƱ»þ¤Ë¤Ä¤«¤¦¤³¤È¤Ç¡¢Åà·ë¥Õ¥¡¥¤¥ë¤ò
¤¹¤³¤·¤º¤Ä¹¹¿·¤·¤Æ¤¤¤¯¤³¤È¤Ï¤Ç¤¤Þ¤¹¡£Î㤨¤Ð¿¾¯¤ÎÃí°Õ¤òʧ¤¦»ö¤Ç¡¢¼¡¤Î¥³¥Þ¥ó¥É¤Ï¡¢
m4 file1.m4 file2.m4 file3.m4 file4.m4
ºÇ½ªÅª¤Ë¤³¤ì¤ÈƱ¤¸½ÐÎϤ¬ÃÊÃʤÈÃßÀѤµ¤ì¤Æ¤¤¤¯¤è¤¦¤Ê¡¢¼¡¤Î°ìÏ¢¤Î ¥³¥Þ¥ó¥ÉÎó¤Ëʬ¤±¤ë¤³¤È¤¬¤Ç¤¤ë¤Ç¤·¤ç¤¦¡£
m4 -F file1.m4f file1.m4 m4 -R file1.m4f -F file2.m4f file2.m4 m4 -R file2.m4f -F file3.m4f file3.m4 m4 -R file3.m4f file4.m4
¿¾¯¤ÎÃí°Õ¤òʧ¤¦É¬Íפ¬¤¢¤ë¤È¤¤¤¦¤Î¤Ï¡¢¤³¤ì¤¬¤É¤ó¤Ê¾ì¹ç¤Ë¤â¤¦¤Þ¤¯Æ°¤¯
¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Î¤¢¤é¤æ¤ëÂкö¤¬¤³¤¦¤¸¤é¤ì¤Æ¤¤¤ë¤ï¤±¤Ç¤Ï¤Ê¤¤¤«¤é¤Ç¤¹¡£
¤È¤ê¤ï¤±¡¢¥Þ¥¯¥í¤Î¥È¥ì¡¼¥¹Â°À¤Ë¤ÏÂбþ¤·¤Æ¤¤¤Þ¤»¤ó¤·changeword
¤Î
¸½ºß¤ÎÀßÄê¤Ë´Ø¤·¤Æ¤â¤½¤¦¤Ç¤¹¡£m4
¤Î¤¤¤¯¤Ä¤«¤Î¥ª¥×¥·¥ç¥ó¤¬1ÅÙÌܤÇ
»ÈÍѤµ¤ì¤Æ¡¢¼¡¤Ï»ÈÍѤµ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¤Ë¤É¤Î¤è¤¦¤ËºîÍѤ¹¤ë¤«¤â´°Á´¤Ë¤Ï¸¡Æ¤
¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£°ìÊý¤Çpushdef
¤µ¤ì¤¿ÄêµÁ¤Î¥¹¥¿¥Ã¥¯¤¬Àµ¤·¤¯°·¤ï¤ì¤ë
¤³¤È¤ÏÊݾڤµ¤ì¤Æ¤¤¤Þ¤¹¡£¤Þ¤¿undefine
¤µ¤ì¤¿ÄêµÁ¡¢ÁȤ߹þ¤ß¥Þ¥¯¥í¤Î
̾Á°Êѹ¹¡¢°úÍÑÉä¤ä¥³¥á¥ó¥Èµ¹æ¤ÎÊѹ¹¤Ë¤Ä¤¤¤Æ¤âƱ¤¸¤¯Àµ¤·¤¤Æ°ºî¤¬Êݾڤµ¤ì
¤Æ¤¤¤Þ¤¹¡£
m4
¤Î¼Â¹Ô¤¬Åà·ë¤µ¤ì¤ë¤È¤¡¢¼Â¹Ô½ªÎ»»þ¤Ëµ¯¤³¤ë¼«Æ°Åª¤Ê½ÐÎϤÎ
µÕÀÚÂØ¤¨¡Êundiversion¡Ë¤ÏÍÞÀ©¤µ¤ì¤Þ¤¹¡£¤½¤Î¤«¤ï¤êÁ´¤Æ¤ÎÀµ¤ÎÈÖ¹æ¤ò¤â¤Ä
½ÐÎÏÀÚÂØ¤¨Àè¤ÎÆâÍÆ¤ÏÅà·ë¥Õ¥¡¥¤¥ë¤ËÊݸ¤µ¤ì¤Þ¤¹¡£»ÈÍÑÃæ¤Î½ÐÎÏÀÚÂØ¤¨Àè¤Î
ÈÖ¹æ¤âÅÁ¤¨¤é¤ì¤Þ¤¹¡£
¥ê¥í¡¼¥É¡Êreload¡Ë¤·¤è¤¦¤È¤·¤Æ¤¤¤ëÅà·ë¥Õ¥¡¥¤¥ë¤¬¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤Ë
¤¢¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£Åà·ë¥Õ¥¡¥¤¥ë¤òõ¤¹ÊýË¡¤Ï¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë
¡Êinclude
¡Ë¤Î¾ì¹ç¤ÈƱ¤¸¤Ç¤¹¡£(see Search Path)
Åà·ë¥Õ¥¡¥¤¥ë¤ÏÊ£¿ô¤Î¥¢¡¼¥¥Æ¥¯¥Á¥ã¤Ç¶¦Í¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
1¤Ä¤Î¥Þ¥·¥ó¤ÇÅà·ë¥Õ¥¡¥¤¥ë¤òºî¤ê¡¢¤½¤ì¤ò¾¤Î¥Þ¥·¥ó¤Ç»È¤¦¤È¤¤Ï2ÈÖÌܤÎ
¥Þ¥·¥ó¤ÇƱ¤¸¤«¿·¤·¤¤¥Ð¡¼¥¸¥ç¥ó¤ÎGNU m4
¤ò»È¤Ã¤Æ¤¤¤ë¤Î¤Ê¤é³Î¼Â¤Ç¤¹¡£
Åà·ë¥Õ¥¡¥¤¥ë¤Ïñ½ã¤Ê(ÊÔ½¸²Äǽ¤Ê)¥Æ¥¥¹¥È¥Õ¥¡¥¤¥ë¤Ç¡¢¥¢¥ë¥Õ¥¡¥Ù¥Ã¥ÈÂçʸ»ú
¤Ç»Ï¤Þ¤ê²þ¹Ôʸ»ú(NL)¤Ç½ª¤ë»ØÎᤫ¤éÀ®¤êΩ¤Ã¤Æ¤¤¤Þ¤¹¡£»ØÎ᤬¤¢¤ë¤Ï¤º
¤Î¾ì½ê¤Ë#¤¬¤¢¤ë¤È¤¤Ï¥³¥á¥ó¥È¹Ô¤Î»Ï¤Þ¤ê¤È¤Ê¤ê¡¢¶õ¹Ô¤È¤¢¤ï¤»¤ÆÌµ»ë
¤µ¤ì¤Þ¤¹¡£¼¡¤ÎÀâÌÀ¤Ç¤Ïlength¤Ï¾ï¤ËÂбþ¤¹¤ëstring¤ò»²¾È¤·¤Þ¤¹¡£
¿ô»ú¤Ï¾ï¤Ë10¿Ê¿ô¤Çɽ¤µ¤ì¤Þ¤¹¡£»ØÎá¤Î°ìÍ÷¤Ç¤¹¡£
V number NL
Åà·ë¥Õ¥¡¥¤¥ë¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤ò³Îǧ¤·¤Þ¤¹¡£ number¤Ï1¤Î¤Ï¤º¤Ç¤¹¡£
C length1 , length2 NL string1 string2 NL
string1¤Èstring2¤ò³«»Ï¥³¥á¥ó¥È¤È½ªÎ»¥³¥á¥ó¥Èʸ»úÎó¤È¤·¤Æ»È¤¤¤Þ¤¹¡£
Q length1 , length2 NL string1 string2 NL
string1¤Èstring2¤ò³«»Ï¥¯¥©¡¼¥È¤È½ªÎ»¥¯¥©¡¼¥Èʸ»úÎó¤È¤·¤Æ»È¤¤¤Þ¤¹¡£
F length1 , length2 NL string1 string2 NL
pushdef
¤ò»È¤¤¡¢string1¤¬ÁȤ߹þ¤ß¥Þ¥¯¥í¤È¤·¤ÆÌ¾Á°string2¤ò
¤â¤Ä´Ø¿ô¤ËŸ³«¤µ¤ì¤ë¤è¤¦¤ËÄêµÁ¤·¤Þ¤¹¡£
T length1 , length2 NL string1 string2 NL
pushdef
¤ò»È¤¤¡¢string1¤¬¥Æ¥¥¹¥Èstring2¤ËŸ³«¤µ¤ì¤ë
¤è¤¦¤ËÄêµÁ¤·¤Þ¤¹¡£
D number, length NL string NL
ÈÖ¹ænumber¤ò½ÐÎÏÀÚÂØ¤¨ÀèÈÖ¹æ¤È¤·¤ÆÁªÂò¤·¡¢¤½¤ì¤ò¸½ºß¤Î½ÐÎÏÀÚÂØ¤¨Àè
¡Êcurrent diversion¡Ë¤Ë¤·¡¢string¤ò¤½¤Î½ÐÎÏÀÚÂØ¤¨Àè¤Ë¥³¥Ô¡¼¤·¤Þ¤¹¡£
number¤Ï¸ºß¤·¤Ê¤¤½ÐÎÏÀÚÂØ¤¨Àè¤òɽ¤¹Éé¿ô¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¸½ºß¤Î½ÐÎÏÀÚÂØ¤¨Àè¤ÎÁªÂò¤À¤±¤ò¤·¤¿¤¤¤È¤¤Ï¡¢string¤ò¶õʸ»úÎó¤Ë¤·¤Æ¡¢
¤³¤Î¥³¥Þ¥ó¥É¤ò»È¤¤¤Þ¤¹¡£½ÐÎÏÀÚÂØ¤¨ÀèÈÖ¹ænumber¤È¤·¤Æ0¤ò»È¤¦¤È¡¢
¥ê¥í¡¼¥É»þ¤Ëstring¤¬É¸½à½ÐÎϤؽÐÎϤµ¤ì¤ë¤Ç¤·¤ç¤¦¡¢¤·¤«¤·m4
ÆâÉô
¤«¤é¤½¤Î¤è¤¦¤Ë¤³¤Î¥³¥Þ¥ó¥É¤¬À¸À®¤µ¤ì¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£