Previous: Incompatibilities, Up: Compatibility [Contents][Index]
System V¥Ð¡¼¥¸¥ç¥ó¤Îm4
¤ÈËܼÂÁõ¤È¤Î´Ö¤Ë¤Ï¾¤Ë¤¤¤¯¤Ä¤«Èó¸ß´¹¤ÊÉôʬ
¤¬¤¢¤ê¤Þ¤¹¡£
m4
¤ÈSystem V m4
¤Ç¤Ï°Û¤Ê¤ê¤Þ¤¹¡£
GNU m4
¤Ï¥Æ¥¥¹¥È¤¬½ÐÎÏÀÚÂØ¤¨Àè¤ËÁ÷¤é¤ì¤ë¤È¤¤ËƱ´ü¹Ô¤ò½ÐÎϤ·¤Þ¤¹¤¬¡¢
System V m4
¤Ç¤Ï¤³¤ì¤¬¡¢½ÐÎÏÀÚÂØ¤¨Àè¤Î¥Æ¥¥¹¥È¤¬°ú¤Ìᤵ¤ì¤ë¤È¤¤Ë¤Ê¤ê¤Þ¤¹¡£
ÌäÂê¤Ï½ÐÎÏÀÚÂØ¤¨Àè¤ËÁ÷¤é¤ì¤ë¡¢¤Þ¤¿¤ÏÁ÷¤é¤ì¤Æ¤¤¤¿¥Æ¥¥¹¥È¤Ë
¤É¤Î¹ÔÈÖ¹æ¤È¥Õ¥¡¥¤¥ë̾¤ò¤Ä¤±²Ã¤¨¤ë¤«¤Ç¤¹¡£
System V m4
¤Ï½ÐÎÏÀÚÂØ¤¨Àè¤ËÁ÷¤é¤ì¤Æ¤¤¤¿¤¹¤Ù¤Æ¤Î¥Æ¥¥¹¥È¤¬
undivert
¤Î¸Æ¤Ó½Ð¤·¤ò´Þ¤à¥½¡¼¥¹¹Ô¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤¿¤È¸«¤Ê¤·¤Þ¤¹¤¬¡¢
GNU m4
¤Ï½ÐÎÏÀÚÂØ¤¨Àè¤ËÁ÷¤é¤ì¤ë»þ¤Ë¥Æ¥¥¹¥È¤¬À¸À®¤µ¤ì¤¿¤È¸«¤Ê¤·¤Þ¤¹¡£
É®¼Ô¤ÏƱ´ü¹Ô¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤Î¤ÏÂçÄñm4
¤ò¥³¥ó¥Ñ¥¤¥é¤Î¥Õ¥í¥ó¥È¥¨¥ó¥É
¤È¤·¤Æ»È¤¦¤È¤¤À¤È¹Í¤¨¤Þ¤¹¡£
¤â¤·½ÐÎÏÀÚÂØ¤¨Àè¤ËÁ÷¤é¤ì¤¿¹Ô¤¬¥³¥ó¥Ñ¥¤¥é¥¨¥é¡¼¤ò°ú¤µ¯¤³¤·¤¿¤é¡¢
¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤Ï½ÐÎÏÀÚÂØ¤¨Àè¤Î¥Æ¥¥¹¥È¤¬ÁÞÆþ¤·¤Ê¤ª¤µ¤ì¤¿¾ì½ê¤Ç¤Ï¤Ê¤¯¡¢
½ÐÎÏÀÚÂØ¤¨Àè¤ËÁ÷¤é¤ì¤¿¾ì½ê¤ò¤ª¤½¤é¤¯»Ø¤·¼¨¤¹¤Ù¤¤Ç¤·¤ç¤¦¡£
m4
¤Ï¼«¸Ê»²¾ÈŪ¤ÊÄêµÁ¤òËɤ´¤¦¤È¤Ï¤·¤Þ¤»¤ó¡£
define(`x', `x') define(`x', `x ')
‘x’¤¬‘x’¤òÊÖ¤¹¤è¤¦¤ËÄêµÁ¤¹¤ë¤³¤È¤Ë¡¢ËܼÁŪ¤Ë´Ö°ã¤Ã¤Æ¤¤¤ë¤È¤³¤í¤Ï
¤¢¤ê¤Þ¤»¤ó¡£
´Ö°ã¤Ã¤Æ¤¤¤ë¤Î¤Ï¥¯¥©¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤‘x’¤òŸ³«¤¹¤ë¤³¤È¤Ç¤¹¡£
¾¤Î¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤ÇÊÑ¿ô¤ò»È¤¦¤Î¤ÈƱ¤¸¤è¤¦¤Ë¡¢
m4
¤Çʸ»úÎó¤òÊÝ»ý¤¹¤ë¤¿¤á¤Ë¥Þ¥¯¥í»È¤¤¡¢
¤µ¤é¤Ë¤½¤ì¤ò¼¡¤Î¤è¤¦¤Ë¥Á¥§¥Ã¥¯¤¹¤ë¿Í¤â¤¤¤ë¤Ç¤·¤ç¤¦:
ifelse(defn(`holder'), `value', …)
¤³¤Î¤è¤¦¤Ê¾ì¹ç¡¢¥Þ¥¯¥í¤¬¼«Ê¬¼«¿È¤Î̾Á°¤òÊÝ»ý¤¹¤ë¤Î¤ò¶Ø»ß¤¹¤ë¤Î¤Ï
;·×¤Ê¤ªÀ¤ÏäǤ·¤ç¤¦¡£
¤â¤Á¤í¤ó¡¢¤³¤ì¤ÏGNU m4
¥æ¡¼¥¶¤¬¼«Ê¬¤Ç¼ó¤ò¤¯¤¯¤ë¤¿¤á¤Î¥í¡¼¥×¤ò
ÊüÃÖ¤·¤Æ¤ª¤¯¤³¤È¤Ë¤Ï¤Ê¤ê¤Þ¤¹!
ºÆÁöºº¤Ë¤è¤ë¥Ï¥ó¥°¡Êhang¡Ë¤Ï¡¢
ÅÁÅýŪ¤Ê¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Ë¤ª¤¤¤ÆÌµ¸Â¥ë¡¼¥×¤ËÂФ¹¤ë¤È¤¤Î¤è¤¦¤Ê¡¢
Ãí°Õ¿¼¤¤¥×¥í¥°¥é¥ß¥ó¥°¤Ë¤è¤Ã¤ÆÈò¤±¤ë¤³¤È¤¬¤Ç¤¤ë¤Ç¤·¤ç¤¦¡£
m4
¤Ï‘-G’¥ª¥×¥·¥ç¥ó̵¤·¤À¤È¡¢
__gnu__
¤¬¶õ¹Ô¤ËŸ³«¤µ¤ì¤ë¤è¤¦¤ËÄêµÁ¤·¤Þ¤¹¡£
UNIX ¥·¥¹¥Æ¥à¾å¤Ë¤ª¤¤¤ÆGNU m4
¤Ï‘-G’¥ª¥×¥·¥ç¥ó¤ò¤Ä¤±¤ë¤È
¥Þ¥¯¥í__unix__
¡¢¤Ä¤±¤Ê¤¤¤È¤¤Ï¥Þ¥¯¥íunix
¤òÄêµÁ¤·¤Þ¤¹¡£
ξÊý¤È¤â¶õʸ»úÎó¤ËŸ³«¤µ¤ì¤Þ¤¹¡£