Next: , Previous: History, Up: Preliminaries   [Contents][Index]


1.3 m4¤Îµ¯Æ°(¥ª¥×¥·¥ç¥ó°ìÍ÷)

m4¥³¥Þ¥ó¥É¤òµ¯Æ°¤¹¤ë¤È¤­¤Î·Á¼°¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£

m4 [option…] [macro-definitions…] [input-file…]

¥ª¥×¥·¥ç¥ó¤Ï¡¢Ã»¤¤¥ª¥×¥·¥ç¥ó̾¤ò»È¤¦¤È¤­¤Ï‘-’¤Ç»Ï¤á¡¢ Ť¤¥ª¥×¥·¥ç¥ó̾¤ò»È¤¦¤È¤­¤Ï‘--’¤Ç»Ï¤á¤Þ¤¹¡£ Ť¤¥ª¥×¥·¥ç¥ó̾¤Ï¡¢ ¤½¤Î¥ª¥×¥·¥ç¥ó¤À¤ÈÌÀ³Î¤ËÆÃÄê¤Ç¤­¤ëÀèÆ¬Éôʬ¤ò½ñ¤¯¤À¤±¤Ç½½Ê¬¤Ç¤¹¡£ m4¤Ï¼¡¤Î¥ª¥×¥·¥ç¥ó¤ò¼õ¤±¤Ä¤±¤Þ¤¹¡£

--version

¥×¥í¥°¥é¥à¤Î¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤òɸ½à½ÐÎϤ˽ÐÎϤ·¡¢ input-files¤Ï¤¤¤Ã¤µ¤¤ÆÉ¤Þ¤º¤Ë¡¢¤¿¤À¤Á¤Ëm4¤Î¼Â¹Ô¤ò½ªÎ»¤·¤Þ¤¹¡£

--help

¥Ø¥ë¥×¾ðÊó¤ÎÍ×Ìó¤òɸ½à½ÐÎϤؽÐÎϤ·¡¢ input-files¤Ï¤¤¤Ã¤µ¤¤ÆÉ¤Þ¤º¤Ë¡¢¤¿¤À¤Á¤Ëm4¤Î¼Â¹Ô¤ò½ªÎ»¤·¤Þ¤¹¡£

-G
--traditional

System VÈǤÈÈæ¤Ù¤Æ¡¢¤³¤Î¼ÂÁõ¤Ç³ÈÄ¥¤µ¤ì¤¿µ¡Ç½¤ò¤¹¤Ù¤ÆÍÞÀ©¤·¤Þ¤¹¡£ ¤³¤ì¤é¤Î°ìÍ÷¤ÏSee Compatibility¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£

-E
--fatal-warnings

¤¹¤Ù¤Æ¤Î·Ù¹ð¡Êwarning¡Ë¤òÃ×̿Ū¤Ê¤â¤Î¤È¸«¤Ê¤·¡¢ ºÇ½é¤Î·Ù¹ð¤¬È¯¹Ô¤µ¤ì¤¿»þÅÀ¤Çm4¤Î¼Â¹Ô¤òÄä»ß¤·½ªÎ»¤·¤Þ¤¹¡£

-dflags
--debug=flags

¥Ç¥Ð¥Ã¥°¡¦¥ì¥Ù¥ë¤òflags¤ËÀßÄꤷ¤Þ¤¹¡£ ¥Ç¥Ð¥Ã¥°¡¦¥ì¥Ù¥ë¤Ï¥Ç¥Ð¥Ã¥°ÍÑ´Ø¿ô¤¬É½¼¨¤¹¤ë¾ðÊó¤Î·Á¼°¤ÈÎ̤ÎÀ©¸æ¤Ë»È¤ï¤ì¤Þ¤¹¡£ flags¤Î·Á¼°¤È°ÕÌ£¤Ë¤Ä¤¤¤Æ¤Î¾ÜºÙ¤ÏSee Debug Levels¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£

-lnum
--arglength=num

¥Þ¥¯¥í¤ò¥È¥ì¡¼¥¹¤¹¤ë¤³¤È¤Ë¤è¤Ã¤ÆÀ¸¤¸¤ë½ÐÎϤÎÎ̤òÀ©¸Â¤·¤Þ¤¹¡£ ¾ÜºÙ¤ÏSee Debug Levels¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£

-ofile
--error-output=file

¥Ç¥Ð¥Ã¥°¤ä¥È¥ì¡¼¥¹¤Î½ÐÎϤò̾Á°¤¬»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë¤Ø ¥ê¥À¥¤¥ì¥¯¥È¡Êredirect¡Ë¤·¤Þ¤¹¡£ ¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤ÏÄ̾ï¤É¤ª¤êɸ½à¥¨¥é¡¼½ÐÎϤؽÐÎϤ·¤Þ¤¹¡£ ¾ÜºÙ¤ÏSee Debug Output¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£

-Idir
--include=dir

¥¤¥ó¥¯¥ë¡¼¥É»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë¤¬¸½ºß¤Îºî¶È¥Ç¥£¥ì¥¯¥È¥ê ¡Êcurrent working directory¡Ë¤Ç¸«¤Ä¤«¤é¤Ê¤¤¾ì¹ç¤Ë¡¢m4¤¬dir¤ò õ¤¹¤è¤¦¤Ë¤·¤Þ¤¹¡£¾ÜºÙ¤ÏSee Search Path¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£

-e
--interactive

µ¯Æ°»þ¤Ëm4¤òÂÐÏÃŪ¤Ê¾õÂÖ¡Êinteractive¡Ë¤Ë¤·¤Þ¤¹¡£ ¤³¤ì¤Ï¡¢¤¹¤Ù¤Æ¤Î½ÐÎϤò¥Ð¥Ã¥Õ¥¡¥ê¥ó¥°Ìµ¤·¤Ç¹Ô¤Ê¤¤¡¢ ³ä¤ê¹þ¤ß¡Êinterrupt¡Ë¤ò̵»ë¤¹¤ë¤È¤¤¤¦¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£

-s
--synclines

C¥×¥ê¥×¥í¥»¥Ã¥µ¤ä¤½¤ì¤ËÎह¤ë¥Ä¡¼¥ë¤Ç»È¤¦¤¿¤á¤ÎƱ´ü¾ðÊó¤ò´Þ¤à¹Ô¤ò À¸À®¤·¤Þ¤¹¡£¤³¤ì¤Ïm4¤ò¥³¥ó¥Ñ¥¤¥é¤Î¥Õ¥í¥ó¥È¥¨¥ó¥É¤È¤·¤Æ»È¤¦ ¤È¤­¤Ê¤É¤ËÊØÍø¤Ç¤¹¡£¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤È¹ÔÈÖ¹æ¤Î¾ðÊó¤Ï¡¢‘#line linenum "filename"’¤È¤¤¤¦·Á¼°¤Î»ØÎá¡Êdirective¡Ë¤Ë¤è¤Ã¤ÆÉ½¤µ¤ì¡¢ ½ÐÎϤÎÅÓÃæ¤ØÉ¬Íפ˱þ¤¸¤ÆÁÞÆþ¤µ¤ì¤Þ¤¹¡£¤³¤Î»ØÎá¡Êdirective¡Ë¤Ï¼¡¤Î ¹Ô¤¬ÆþÎÏ¥Õ¥¡¥¤¥ëfilename¤ÎÂèlinenum¹Ô¤½¤Î¤â¤Î¤Ç¤¢¤ë¤«¡¢ ¤â¤·¤¯¤Ï¤½¤Î¹Ô¤ÎŸ³«¤Ë¤è¤ë¤â¤Î¤Ç¤¢¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£ ‘"filename"’¤ÎÉôʬ¤Ï¡¢¥Õ¥¡¥¤¥ë̾¤¬Á°¤Î»ØÎá¡Êdirective¡Ë¤È ÊѤï¤é¤Ê¤¤¾ì¹ç¤Ï¤·¤Ð¤·¤Ð¾Ê¤«¤ì¤Þ¤¹¡£

¤³¤Î¤è¤¦¤ÊƱ´ü»ØÎá¤Ï¡¢É¬¤º¤½¤ì¼«¿È¤Ç´°Á´¤Ê°ì¹Ô¤ËÂФ·¤Æ¤Î¤ßÍ¿¤¨¤é¤ì¤Þ¤¹¡£ ¤¢¤ë½ÐÎϹԤÎÅÓÃæ¤ËƱ´ü¾ðÊó¤Î¿©¤¤°ã¤¤¤¬¤¢¤ë¤È¤­¤Ï¡¢ Âбþ¤¹¤ëƱ´ü»ØÎá¤Î½ÐÎϤϼ¡¤Î¹Ô¤Ø¤È»ý¤Á±Û¤µ¤ì¤Þ¤¹¡£

-P
--prefix-builtins

m4¤ÎÆâÉô¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤ÎÁȤ߹þ¤ß¥Þ¥¯¥í¤Î̾Á°¤ò ÀÜÆ¬¼­‘m4_’¤¬ÉÕ¤¤¤¿¤â¤Î¤ËÊѹ¹¤·¤Þ¤¹¡£ ¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤¿¤È¤­¤Ë¤Ï¡¢¤¿¤È¤¨¤Ð‘define’¤ÎÂå¤ï¤ê¤Ë ‘m4_define’¡¢‘__file__’¤ÎÂå¤ï¤ê¤Ë‘m4___file__’¤È½ñ¤«¤Ê¤±¤ì¤Ð ¤Ê¤ê¤Þ¤»¤ó¡£

-WREGEXP
--word-regexp=REGEXP

¥Þ¥¯¥í̾¤Î»ú¶ç¹½À®µ¬Â§¤ò»ØÄꤷ¤Þ¤¹¡£ ¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï»î¸³Åª¤Ê¤â¤Î¤Ç¤¢¤ê¡¢ ¤³¤Î¥ª¥×¥·¥ç¥ó¤ò´Þ¤Þ¤Ê¤¤GNU m4¤Î¼ÂÁõ¤â¸ºß¤¹¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ (see Changeword)

-Hn
--hashsize=n

¥·¥ó¥Ü¥ë¤òɽ°ú¤­¤¹¤ë¤¿¤á¤ÎÆâÉô¥Ï¥Ã¥·¥å¥Æ¡¼¥Ö¥ë¤Î¹àÌÜ¿ô¤òn¤Ë¤·¤Þ¤¹¡£ ¤³¤Î¿ô¤ÏÁÇ¿ô¤Ë¤¹¤ë¤Ù¤­¤Ç¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ï509¹àÌܤǤ¹¡£ ¶Ëü¤Ë¿¤¯¤Î¥Þ¥¯¥í¤òÄêµÁ¤·¤Ê¤¤¤«¤®¤ê¡¢¤³¤ÎÃͤòÁý¤ä¤¹É¬ÍפÏ̵¤¤¤Ï¤º¤Ç¤¹¡£

-Ln
--nesting-limit=n

Æþ¤ì»Ò¤Ë¤Ê¤Ã¤¿¥Þ¥¯¥í¤Î¸Æ¤Ó½Ð¤·¤ònÃʳ¬¤ËÀ©¸Â¤·¡¢ ¤³¤ÎÀ©¸Â¤òͤ¨¤¿¤È¤­¤Ï¡¢¥×¥í¥°¥é¥à¤Î¼Â¹Ô¤òÄä»ß¤·¤Þ¤¹¡£ »ØÄ꤬¤Ê¤¤¾õÂ֤Ǥϡ¢Æþ¤ì»Ò¤Ï250Ãʳ¬¤ËÀ©¸Â¤µ¤ì¤Æ¤¤¤Þ¤¹¡£

¤³¤Î¥ª¥×¥·¥ç¥ó¤ÎÀµ³Î¤Ê¸úÎϤϡ¢Æ°Åª¤ÊºÆµ¢¹½Â¤¤È¤¤¤¦¤è¤ê¤Ï¡¢ ¥Æ¥­¥¹¥È¾å¤Ç¤ÎÆþ¤ì»Ò¹½Â¤¤ËÂФ·¤ÆÈ¯´ø¤µ¤ì¤ë¤â¤Î¤À¤ÈÍý²ò¤·¤¿¤Û¤¦¤¬ ¤è¤êÀµ¤·¤¤¤Ç¤·¤ç¤¦¡£ ¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢µ¡³£Åª¤ÊÊýË¡¤Çm4¤Ø¤ÎÊ£»¨¤ÊÆþÎϤòÀ¸À®¤·¤¿¤È¤­¤Ë Ìò¤ËΩ¤Ã¤¿¤È¤¤¤¦Îã¤â¤¢¤ê¤Þ¤¹¤¬¡¢ÂçÉôʬ¤Î¥æ¡¼¥¶¤Ë¤È¤Ã¤Æ¤Ï̵ÍѤÎĹʪ¤Ç¤·¤ç¤¦¡£ Ìܾã¤ê¤À¤È¤¤¤¦¤³¤È¤Ë¤Ê¤Ã¤¿¤È¤­¤Ï¡¢ ¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï(¤Þ¤À»î¸³Ãʳ¬¤Ç¤¹)ºï½ü¤µ¤ì¤Æ¤·¤Þ¤¦¤«¤âÃΤì¤Þ¤»¤ó¡£

¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¤â¡¢ºÆÁöºº(rescanning)¤Ë¤è¤ë̵¸Â¥ë¡¼¥×¤òÈ´¤±½Ð¤¹ ¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£¤½¤Î°ìÊý¤Ç¡¢ºÆÁöºº¥ë¡¼¥×¤Ïɬ¤º¤·¤â¥á¥â¥ê¤ä ¥¹¥¿¥Ã¥¯Îΰè¤òÂçÎ̤˾ÃÈñ¤¹¤ë¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ ºÆÁöºº¥ë¡¼¥×¤ò¤¦¤Þ¤¯»È¤¨¤Ð¡¢Ê£»¨¤Ç»þ´Ö¤Î¤«¤«¤ë½èÍý¤òm4¤Ë ¤ä¤é¤»¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤³¤ÎÎΰè¤ËÀ©¸Â¤ò¤â¤¦¤±¤ë¤Î¤Ï¡¢m4¤ÎǽÎϤò¼å¤á¤Æ¤·¤Þ¤¦¤³¤È¤Ë¤Ê¤ë¤Ç¤·¤ç¤¦¡£ °Û¾ï¤Ê»È¤¤Êý¤ÎÎã¤Ï¤¤¤¯¤é¤Ç¤â¤¢¤ê¤Þ¤¹¡£ ‘define(`a', `a')a¤Ï¤â¤Ã¤È¤âñ½ã¤Ê¤â¤Î¤ÎÎã¤Ç¤¹ (¤·¤«¤·see Compatibility)¡£ GNU m4¤¬¤³¤Î¤è¤¦¤Ê¥±¡¼¥¹¤ò¸¡½Ð¤¹¤ë¤Î¤ò´üÂÔ¤¹¤ë¤Î¤Ï¡¢ ¥³¥ó¥Ñ¥¤¥é¥·¥¹¥Æ¥à¤¬Ìµ¸Â¥ë¡¼¥×¤ò¸¡½Ð¤·¡¢¿ÇÃÇ¥á¥Ã¥»¡¼¥¸¤ò¤À¤¹¤Î¤ò ´üÂÔ¤¹¤ë¤³¤È¤Ë»÷¤Æ¤¤¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢·èÄêÉÔǽ¤Ç¤Ï¤Ê¤¤¤È¤·¤Æ¤â¡¢ °ìÈ̤ˤȤƤâ¥Ï¡¼¥É¤ÊÌäÂê¤Ç¤¹¡£

-Q
--quiet
--silent

¥Þ¥¯¥í¤Î¸Æ¤Ó½Ð¤·¤Ç¡¢°ú¿ô¤¬ÉÔ­¤·¤Æ¤¤¤¿¤ê;ʬ¤Ë¤¢¤ë¤È¤­¤Î·Ù¹ð¤òÍÞÀ©¤·¤Þ¤¹¡£

-B
-S
-T

¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤ÏSystem VÈÇm4¤È¤Î¸ß´¹À­¤Î¤¿¤á¤Ë¸ºß¤·¤Þ¤¹¤¬¡¢ ¤³¤Î¼ÂÁõ¤Ç¤Ï²¿¤Î¸ú²Ì¤â¤¢¤ê¤Þ¤»¤ó¡£

-Nn
--diversions=n

¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤ÏGNU m4¤Î°ÊÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤È¤Î¸ß´¹À­¤Î¤¿¤á¤À¤±¤Ë ¸ºß¤·¡¢Æ±»þ¤Ë»È¤¦¤³¤È¤¬¤Ç¤­¤ë½ÐÎÏÀÚÂØ¤¨Àè¡Êdiversion¡Ë¤Î¿ô¤òÀ©¸æ¤¹¤ë¤¿¤á¤Ë »È¤ï¤ì¤Æ¤¤¤Þ¤·¤¿¡£¸½ºß¤Ï¸ÇÄꤵ¤ì¤¿À©¸ÂÃͤ¬¤Ê¤¯¤Ê¤Ã¤¿¤Î¤Ç¡¢ ²¿¤ÎƯ¤­¤â¤·¤Þ¤»¤ó¡£

-D’¤ä‘-U’¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤È¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¾å¤Ç¥Þ¥¯¥í¤òÄêµÁ¤·¤¿¤ê ºï½ü¤·¤¿¤ê¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤ì¤é¤Ï¼¡¤Î·Á¼°¤ò¤È¤ê¤Þ¤¹¡£

-Dname
-Dname=value
--define=name
--define=name=value

¤É¤ÎÆþÎÏ¥Õ¥¡¥¤¥ë¤òÆÉ¤à¤è¤ê¤âÁ°¤Ë¡¢name¤ò¥·¥ó¥Ü¥ë¥Æ¡¼¥Ö¥ë¤Ë ÅÐÏ¿¤·¤Þ¤¹¡£‘=value’¤¬¾Êά¤µ¤ì¤¿¤È¤­¤Ï¡¢Ãͤ϶õʸ»úÎó¤È¤·¤Æ ²ò¼á¤·¤Þ¤¹¡£value¤Ï¤É¤ó¤Êʸ»úÎó¤Ç¤â¤è¤¯¡¢¤·¤¿¤¬¤Ã¤Æ¡¢¥Þ¥¯¥í¤ÏÆþÎÏÆâ¤Ç ÄêµÁ¤¹¤ë¤È¤­¤ÈƱ¤¸¤è¤¦¤Ë°ú¿ô¤ò¼è¤ë¤â¤Î¤È¤·¤ÆÄêµÁ¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£

-Uname
--undefine=name

name¤Î¤¹¤Ç¤ËÄêµÁ¤µ¤ì¤¿°ÕÌ£¤òºï½ü¤·¤Þ¤¹¡£ ÅöÁ³¡¢¤³¤ÎÊýË¡¤Çºï½ü¤Ç¤­¤ë¤Î¤ÏÄêµÁºÑ¤ß¤Î¥Þ¥¯¥í¤À¤±¤Ç¤¹¡£

-tname
--trace=name

name¤ò̤ÄêµÁ¤È¤·¤Æ¡¢¤·¤«¤·¥È¥ì¡¼¥¹¤¬¹Ô¤ï¤ì¤ë¤è¤¦¤Ë¡¢¥·¥ó¥Ü¥ë¥Æ¡¼¥Ö¥ë¤Ø ÅÐÏ¿¤·¤Þ¤¹¡£ ¤½¤Î·ë²Ì¡¢¤³¤Î¥Þ¥¯¥í¤ÏÄêµÁ¤µ¤ì¤¿»þÅÀ¤«¤é¥È¥ì¡¼¥¹¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£

-Ffile
--freeze-state file

¼Â¹Ô¤¬½ªÎ»¤¹¤ë¤È¡¢Åà·ë¾õÂÖ¡Êfrozen state¡Ë¤ÎÆâÍÆ¤ò»ØÄꤵ¤ì¤¿file (see Frozen files)¤Ø½ñ¤­½Ð¤·¤Þ¤¹¡£

-Rfile
--reload-state file

¼Â¹Ô¤ÎÁ°¤Ë¡¢»ØÄꤵ¤ì¤¿Åà·ë¥Õ¥¡¥¤¥ëfile (see Frozen files)¤«¤é ÆâÉô¾õÂÖ¤òÉü¸µ¤·¤Þ¤¹¡£

¥³¥Þ¥ó¥É¥é¥¤¥ó¾å¤Î»Ä¤ê¤Î°ú¿ô¤Ï¡¢ÆþÎÏ¥Õ¥¡¥¤¥ë¤Î̾Á°¤È¤·¤Æ²ò¼á¤·¤Þ¤¹¡£ ¥Õ¥¡¥¤¥ë̾¤Î»ØÄ꤬¤Ê¤¤¤È¤­¤Ï¡¢É¸½àÆþÎϤ«¤éÆÉ¤ß¹þ¤ß¤Þ¤¹¡£ ¥Õ¥¡¥¤¥ë̾-¤Ï¡¢É¸½àÆþÎϤò°ÕÌ£¤¹¤ë¤â¤Î¤È¤·¤Æ²ò¼á¤·¤Þ¤¹¡£

ÆþÎÏ¥Õ¥¡¥¤¥ë¤Ï¡¢»ØÄꤵ¤ì¤¿½çÈÖ¤ËÆÉ¤ß¹þ¤ß¤Þ¤¹¡£ ɸ½àÆþÎϤÏ1ÅÙ¤·¤«ÆÉ¤à¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¤Î¤Ç¡¢¥Õ¥¡¥¤¥ë̾-¤Ï ¥³¥Þ¥ó¥É¥é¥¤¥ó¾å¤Ç1ÅÙ¤·¤«»È¤¨¤Þ¤»¤ó¡£


Next: , Previous: History, Up: Preliminaries   [Contents][Index]