Next: Search Path, Previous: File Inclusion, Up: File Inclusion [Contents][Index]
m4
¤Ë¤Ï¥Õ¥¡¥¤¥ë¤ò¥¤¥ó¥¯¥ë¡¼¥É¤¹¤ë¤¿¤á¤ÎÁȤ߹þ¤ß¥Þ¥¯¥í¤¬2¤Ä¤¢¤ê¤Þ¤¹¡£
include(filename) sinclude(filename)
¤É¤Á¤é¤âfilename¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤òm4
¤ËÆÉ¤ß¹þ¤Þ¤»¤Þ¤¹¡£
¤½¤Î¥Õ¥¡¥¤¥ë¤Î½ª¤ê¤Ë㤹¤ë¤È°ÊÁ°¤ÎÆþÎÏ¥Õ¥¡¥¤¥ë¤«¤éÆþÎϤòºÆ³«¤·¤Þ¤¹¡£
¤·¤¿¤¬¤Ã¤Æinclude
¤Èsinclude
¤ÏŸ³«¸å¤Ë
filename¤ÎÆâÍÆ¤È¤Ê¤ê¤Þ¤¹¡£
include
¤Ë»ØÄꤷ¤¿¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Ê¤¤¤È¥¨¥é¡¼¤È¤Ê¤ê¤Þ¤¹¡£
¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Ê¤¤¤È¤¤Î¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤òÈò¤±¤¿¤¤¤È¤¤Ï
sinclude
¤ò»È¤¤¤Þ¤¹¡£
sinclude
¤Ï¡¢¤â¤·¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤¹¤ì¤Ð¤½¤Î¥Õ¥¡¥¤¥ë¤ò¥¤¥ó¥¯¥ë¡¼¥É¤·¡¢
¸ºß¤·¤Ê¤±¤ì¤Ð¾ÃÌǤ·¤Þ¤¹¡£
include(`no-such-file') ⇒ error→30.include:2: m4: Cannot open no-such-file: No such file or directory sinclude(`no-such-file') ⇒
¤³¤ì°Ê¹ß¥Õ¥¡¥¤¥ëincl.m4¤ÎÆâÍÆ¤Ï²¾¤Ë°Ê²¼¤Î¤â¤Î¤À¤È¤·¤Þ¤¹¡£
Include file start foo Include file end
Ä̾¥Õ¥¡¥¤¥ë¤Î¥¤¥ó¥¯¥ë¡¼¥É¤Ï¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤òÆþÎÏ¥¹¥È¥ê¡¼¥à¤ËÁÞÆþ¤¹¤ë¤¿¤á¤Ë
»ÈÍѤµ¤ì¤Þ¤¹¡£
¥¤¥ó¥¯¥ë¡¼¥É¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤Ïm4
¤Ë¤è¤Ã¤ÆÆÉ¤Þ¤ì¡¢
¤½¤Î¥Õ¥¡¥¤¥ë¤Ë´Þ¤Þ¤ì¤ë¥Þ¥¯¥í¤Î¸Æ¤Ó½Ð¤·¤ÏŸ³«¤µ¤ì¤Þ¤¹¡£
define(`foo', `FOO') ⇒ include(`incl.m4') ⇒Include file start ⇒FOO ⇒Include file end ⇒
include
¤Èsinclude
¤¬¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤ËŸ³«¤µ¤ì¤ë¤³¤È¤òÍøÍѤ·¤Æ¡¢
¥Õ¥¡¥¤¥ëÁ´ÂΤ˺îÍѤ¹¤ë¥Þ¥¯¥í¤òÄêµÁ¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¼¡¤ÎÎã¤Ç¤Ï‘bar’¤¬incl.m4¤ÎÆâÍÆ¤ËŸ³«¤µ¤ì¤ë¤è¤¦¤ËÄêµÁ¤·¤Æ¤¤¤Þ¤¹¡£
define(`bar', include(`incl.m4')) ⇒ This is `bar': >>>bar<<< ⇒This is bar: >>>Include file start ⇒foo ⇒Include file end ⇒<<<
¤â¤Ã¤È¤â¡¢¤³¤ì¤Ïinclude
¤Î¤è¤¯¤¢¤ë»È¤¤Êý¤È¤Ï¸À¤¨¤Þ¤»¤ó¡£
¤Ê¤¼¤Ê¤é¥Õ¥¡¥¤¥ë¤Ë¤Ï¥¯¥©¡¼¥È¡¢¥³¥ó¥Þ¡¢¥«¥Ã¥³¤È¤¤¤Ã¤¿
m4
¤Î¥Ñ¡¼¥µ¡Êparser¡Ë¤ÎƯ¤Êý¤Ë´³¾Ä¤¹¤ë¤â¤Î¤¬¥é¥ó¥À¥à¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë²ÄǽÀ¤¬
¤¢¤ë¤«¤é¤Ç¤¹¡£
ÁȤ߹þ¤ß¥Þ¥¯¥íinclude
¤Èsinclude
¤Ï°ú¿ô¤òÍ¿¤¨¤¿¤È¤¤À¤±Ç§¼±¤µ¤ì¤Þ¤¹¡£