m4
ÀÇ ´Ù¸¥ ¹öÀüµé°úÀÇ È£È¯¼º
ÀÌÀå¿¡¼´Â ÀÌ ±¸Çö¿¡¼ÀÇ m4
¿Í UNIX¿¡, ƯÈ÷ System V Release 3, µé¾îÀÖ´Â
´Ù¸¥ ±¸Çöµé°úÀÇ Â÷ÀÌÁ¡À» ¼³¸íÇÑ´Ù.
BSD °è¿ÀÇ m4
¿Íµµ Â÷ÀÌÁ¡ÀÌ ¿ª½Ã ÀÖ´Ù. ÀÌ°ÍÀº ¿©±â¿¡¼ ¼³¸íÇÏÁö
¾Ê´Â´Ù.
m4
¿¡¼ È®ÀåµÈ Á¡
m4
ÀÇ 1.4 ¹öÀüÀº System V¿¡¼´Â ¾ø´Â ¸î °³ÀÇ ¼³ºñµéÀ» °¡Áö°í
ÀÖ´Ù. ´Ù¸¥ ¸í·ÉÇà ¿É¼ÇÀ¸·Î µ¤¾î ¾²¿©ÁöÁö ¾Ê´Â ÇÑ, ÀÌ·± ¿©ºÐÀÇ ¼³ºñµéÀº
¸í·ÉÇà¿¡¼ `-G' ¿É¼ÇÀ» »ç¿ëÇÏ¸é ¸ðµÎ ¾ïÁ¦µÈ´Ù.
$
n Ç¥±â¿¡¼´Â, nÀÌ ¿©·¯ ÀÚ¸´¼öÀÇ
¼ýÀÚ¸¦ Æ÷ÇÔÇÒ ¼ö ÀÖ´Â ¹Ý¸é¿¡, System VÀÇ m4
¿¡¼´Â ´ÜÁö ÇÑ ÀÚ¸´¼öÀÇ
¼ýÀÚ¸¸ Çã¿ëµÈ´Ù. ÀÌ°ÍÀº GNU m4
¿¡¼ ¹«Á¦ÇÑÀÇ ÀÎÀÚ¸¦ ¹Þ´Â °ÍÀ» °¡´ÉÇÏ°Ô
Çϸç, ´ÜÁö ¾ÆÈ© °³·Î¸¸ Á¦ÇѵÇÁö ¾Ê´Â´Ù. (see section ¸ÅÅ©·Î¿Í ÀÎÀÚ)
include
¿Í sinclude
¿¡ ÀÇÇØ »ðÀԵǴ ÆÄÀÏÀÌ ÇöÀç ÀÛ¾÷ µð·ºÅ丮¿¡¼
¹ß°ßµÇÁö ¾ÊÀ» ¶§¿¡´Â, »ç¿ëÀÚ°¡ ÁöÁ¤ÇÑ °Ë»ö °æ·Î¸¦ µÚÁø´Ù. °â»ö °æ·Î´Â
`-I' ¿É¼Ç°ú `M4PATH' ȯ°æ º¯¼ö¿¡ ÀÇÇØ ÁöÁ¤µÈ´Ù. (see section »ðÀÔÇÒ ÆÄÀÏ °Ë»öÇϱâ)
undivert
ÀÇ ÀÎÀÚ´Â ¼ýÀÚ°¡ ¾Æ´Ñ °ÍÀÌ µÉ ¼öµµ ÀÖÀ¸¸ç, ÀÌ °æ¿ì¿¡ ±× À̸§ÀÌ
ÁöÁ¤µÈ ÆÄÀÏÀÌ Çؼ®µÇÁö ¾ÊÀº ä ±×´ë·Î Ãâ·Â¿¡ Æ÷ÇԵȴÙ. (see section Ãâ·ÂÀ» ¿ø·¡´ë·Î µÇµ¹·Á ³õ±â (Undivering output)).
format
À» ÅëÇØ Áö¿øµÈ´Ù. ÀÌ°ÍÀº
C ¶óÀ̺귯¸® ÇÔ¼ö printf
ÀÇ º»À» µû¼ ¼³°èµÇ¾ú´Ù (see section Çü½ÄÈµÈ Ãâ·Â).
regexp
¿Í patsubst
¿¡ ÀÇÇØ
Áö¿øµÈ´Ù. (see section Á¤±Ô Ç¥Çö½Ä °Ë»öÇϱ⠱׸®°í see section Á¤±ÔÇ¥Çö½Ä¿¡ ÀÇÇØ ÅؽºÆ®¸¦ ġȯÇϱâ)
esyscmd
¸¦ »ç¿ëÇÏ¿© ¼Ð ¸í·É¾îÀÇ Ãâ·ÂÀ» m4
°¡ Àеµ·Ï ÇÒ ¼ö
ÀÖ´Ù. (see section ¸í·ÉÀÇ Ãâ·ÂÀ¸·Î ºÎÅÍ Àбâ).
builtin
À» »ç¿ëÇÏ¿© ¾î¶°ÇÑ ³»Àå ¸ÅÅ©·ÎµçÁö °£Á¢ÀûÀ¸·Î Á¢±ÙÇÒ ¼ö
ÀÖ´Ù. (see section °£Á¢ÀûÀ¸·Î ³»Àå ¸ÅÅ©·Î È£ÃâÇϱâ)
indir
À» »ç¿ëÇÏ¿© °£Á¢ÀûÀ¸·Î È£ÃâÇÒ ¼ö ÀÖ´Ù.
(see section °£Á¢ÀûÀÎ ¸ÅÅ©·Î È£Ãâ.)
__file__
°ú __line__
À» »ç¿ëÇÏ¿© Á¢±ÙÇÒ ¼ö ÀÖ´Ù.
(see section Printing error messages.)
dumpdef
¿Í ¸ÅÅ©·Î ÃßÀûÀ¸·ÎºÎÅÍÀÇ Ãâ·Â Çü½ÄÀº debugmode
·Î
Á¦¾îÇÒ ¼ö ÀÖ´Ù. (see section µð¹ö±ë Ãâ·ÂÀ» Á¦¾îÇϱâ.)
debugfile
À» »ç¿ëÇÏ¿© Á¦¾îÇÒ ¼ö ÀÖ´Ù.
(see section µð¹ö±ë Ãâ·ÂÀ» ÀúÀåÇϱâ.)
À§ÀÇ È®Àå¿¡ Ãß°¡ÇÏ¿©, GNU m4
´Â ´ÙÀ½ÀÇ ¸í·ÉÇà ¶óÀÎ ¿É¼ÇÀ»
°¡Áö°í ÀÖ´Ù: `-F', `-G', `-I', `-L', `-R',
`-V', `-W', `-d', `-l', `-o', `-t'.
(ÀÌµé ¿É¼Ç¿¡ ´ëÇؼ ÀÚ¼¼È÷ ¾Ë·Á¸é see section m4
¸¦ ºÒ·¯³»±â.)
¶ÇÇÑ GNU m4
ÀÇ µð¹ö±ë, ÃßÀû ÀåÄ¡¿¡´Â ´ëºÎºÐÀÇ ´Ù¸¥ m4
¹öÀüµéº¸´Ù ´ë´ÜÈ÷ ¸¹Àº Ãß°¡ ±â´ÉÀÌ ÀÖ´Ù.
m4
¿¡´Â ¾ø´Â System V ÀåÄ¡µé
System VÀÇ m4
¹öÀüÀº ¾ÆÁ÷ GNU m4
¿¡ ¾ø´Â ¸î °³ÀÇ ¼³ºñ¸¦
°¡Áö°í ÀÖ´Ù.
m4
´Â defn
¿¡¼ ´ÙÁß ÀÎÀÚ¸¦ Áö¿øÇÑ´Ù. GNU m4
¿¡´Â
¾ÆÁ÷ ÀÌ ±â´ÉÀÌ ¾ø´Ù. ³» »ý°¢¿¡´Â ÀÌ°ÍÀÇ ¾µ¸ð°¡ º°·Î ¶Ñ·ÇÇÏÁö ¾Ê´Ù.
¿©±â¿¡¼ÀÇ m4
±¸Çö°ú System V ¹öÀü »çÀÌ¿¡´Â ÀÌ¿Ü¿¡µµ ȣȯµÇÁö ¾Ê´Â
°ÍÀÌ Á¶±Ý ´õ ÀÖ´Ù.
m4
´Â ÅؽºÆ®¸¦ ÀüȯÇÒ ¶§ sync lineµéÀ» System V m4
¿Í´Â
´Ù¸£°Ô ±¸ÇöÇÑ´Ù. GNU m4
´Â ÅؽºÆ®°¡ ÀüȯµÉ ¶§ sync ¶óÀεéÀ»
Ãâ·ÂÇÏ°í, System V m4
´Â ÀüȯµÈ ÅؽºÆ®¸¦ µÇµ¹¸± ¶§¿¡ Ãâ·ÂÇÑ´Ù.
¹®Á¦°¡ µÇ´Â °ÍÀº ÁÙ¹øÈ£¿Í ÆÄÀÏÀ̸§À¸·Î ¾î¶² °ÍÀÌ ÀüȯÀ» ÇÏ´Â ÂÊ, ¶Ç´Â ÀüȯÀÌ
ÀÌ¹Ì µÈ ÂÊ¿¡ ºÙ¿©Á®¾ß ÇÏ´À³ÄÀÌ´Ù. System V m4
´Â ¸ðµç ÀüȯµÈ ÅؽºÆ®¸¦
±×°ÍÀ» ´ë»óÀ¸·Î ÇÏ´Â undivert
È£ÃâÀ» Æ÷ÇÔÇÏ´Â ¼Ò½º ÁÙ¿¡ ÀÇÇØ »ý¼ºµÇ´Â
°ÍÀ¸·Î °£ÁÖÇϸç, ¹Ý¸é¿¡ GNU m4
´Â ÀüȯµÈ ÅؽºÆ®¸¦ ±×°ÍÀÌ ÀüȯµÇ´Â ½ÃÁ¡¿¡
»ý¼ºµÈ °ÍÀ¸·Î °£ÁÖÇÑ´Ù.
³ª´Â sync ¶óÀÎ ¿É¼ÇÀÌ »ç¿ëµÇ´Â °æ¿ì¶õ ´ëºÎºÐÀÌ m4
¸¦ ÄÄÆÄÀÏ·¯ÀÇ ÀüÀ§
ÇÁ·Î±×·¥(front end)À¸·Î »ç¿ëÇÒ ¶§ÀÏ °ÍÀ̶ó°í »ý°¢ÇÑ´Ù. ¸¸¾à ÀüȯµÈ ÁÙ¿¡¼
ÄÄÆÄÀÏ·¯ ¿¡·¯°¡ ¹ß»ýÇÑ´Ù¸é, ±× ¿¡·¯ ¸Þ½ÃÁö´Â ¾Æ¸¶µµ ´ëºÎºÐ ÀüȯÀÌ ¸¸µé¾îÁø
°÷ÀÇ À§Ä¡¸¦ °¡¸®ÄѾßÇϸç, ±×°ÍÀÌ ´Ù½Ã »ðÀÔµÈ °÷ÀÌ ¾Æ´Ï¾î¾ß ÇÒ °ÍÀÌ´Ù.
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
¸¦
Á¤ÀÇÇÒ °ÍÀÌ´Ù. µÑ ´Ù ºó ¹®ÀÚ¿·Î È®ÀåµÈ´Ù.
Go to the first, previous, next, last section, table of contents.