Next: , Previous: Miscellaneous, Up: Top   [Contents][Index]


14 Åà·ë¾õÂÖ¡Êfrozen state¡Ë¤Î¹â®¥í¡¼¥É

²¿É´¤â¤ÎÄêµÁ¤ä¤½¤Î¾¤Î¼ê´Ö¤¬¤«¤«¤ë½é´ü²½¤ò¤Þ¤È¤á¤¿¶¦Ä̤δðÈפòÅÚÂæ¤È¤·¤Æ¡¢ ¤½¤Î¾å¤Ë¤µ¤é¤ËÂ礭¤Ê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ÆâÉô ¤«¤é¤½¤Î¤è¤¦¤Ë¤³¤Î¥³¥Þ¥ó¥É¤¬À¸À®¤µ¤ì¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£