m4
¿¡¼ ¸ÅÅ©·Î¸¦ ÀÛ¼ºÇÒ ¶§, ±×°ÍµéÀÌ ÀǵµÇß´ø ´ë·Î ÀÛµ¿ÇÏ´Â °æ¿ì´Â
µå¹° °ÍÀÌ´Ù. (´ëºÎºÐÀÇ ÇÁ·Î±×·¡¹Ö ¾ð¾îÀÇ °æ¿ì¿¡µµ ¸¶Âù°¡ÁöÀ̱ä ÇÏ´Ù.)
m4
¿¡¼ µð¹ö±ëÇÏ´Â °ÍÀ» À§ÇÑ ¾à°£ÀÇ Áö¿øÀÌ ÀÖ´Ù.
¸ÅÅ©·Î ¸íĪÀÌ ¾î¶»°Ô È®ÀåµÇ´ÂÁö ±× Á¤ÀǸ¦ ³»Àå ¸ÅÅ©·ÎÀÎ dumpdef
¸¦
»ç¿ëÇÏ¿© º¼ ¼ö ÀÖ´Ù.
dumpdef(...)
ÀÎÀÚÀÇ ¼ö¿¡´Â Á¦ÇÑÀÌ ¾ø´Ù. ¾Æ¹«·± ÀÎÀÚµµ ¾øÀÌ È£ÃâÇÑ´Ù¸é, ±×°ÍÀº ÇöÀç ¾Ë·ÁÁ® ÀÖ´Â ¸ðµç ¸íĪÀÇ Á¤ÀǸ¦ º¸¿© ÁÙ °ÍÀÌ´Ù. ±×·¸Áö ¾ÊÀº °æ¿ì¿¡´Â ÀÎÀÚ·Î ÁÖ¾îÁø ¸íĪÀÇ Á¤ÀǸ¸ º¸¿©ÁØ´Ù. Ãâ·ÂÀº °ð¹Ù·Î Ç¥ÁØ ¿¡·¯ Ãâ·ÂÀ¸·Î ÂïÇô ³ª¿Â´Ù.
dumpdef
´Â È®ÀåµÇÁö ¾Ê´Â´Ù.
define(`foo', `Hello world.') => dumpdef(`foo') error-->foo: `Hello world.' => dumpdef(`define') error-->define: <define> =>
¸¶Áö¸· ¿¹´Â ³»Àå ¸ÅÅ©·Î Á¤ÀǸ¦ º¸¿©ÁÖ´Â ¹æ¹ýÀ» º¸¿©ÁØ´Ù.
Ç¥½ÃÇϱ⸦ Á¦¾îÇÏ´Â °Í¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ Á¤º¸´Â See section µð¹ö±ë Ãâ·ÂÀ» Á¦¾îÇϱâ.
¸ÅÅ©·Î È£Ãâ°ú È®ÀåµÇ´Â °ÍÀ» ³»Àå ¸ÅÅ©·Î traceon
°ú traceoff
¸¦
»ç¿ëÇÏ¿© ÃßÀûÇÒ ¼ö ÀÖ´Ù.
traceon(...) traceoff(...)
¾Æ¹«·± ÀÎÀÚµµ ¾øÀÌ È£ÃâÇÑ´Ù¸é, traceon
°ú traceoff
´Â Á¤ÀǵÈ
¸ðµç ¸ÅÅ©·Î¿¡ ´ëÇÑ ÃßÀû ±â´ÉÀ» °¢°¢ ÄѰųª ²ø °ÍÀÌ´Ù. ÀÎÀÚ¸¦ ÁÖ¾î¼
È£ÃâÇÑ´Ù¸é ÇØ´ç ¸ÅÅ©·Î¸¸ ¿µÇâÀ» ¹Þ´Â´Ù.
traceon
°ú traceoff
´Â È®ÀåµÇÁö ¾Ê´Â´Ù.
ÃßÀûµÇ´Â ¸ÅÅ©·Î°¡ È£ÃâµÇ¸é ÀÎÀÚµéÀÌ ¼öÁýµÈ ÈÄ¿¡ ±× È£ÃâÀÌ Ç¥½ÃµÈ´Ù. ¸ÅÅ©·Î È£ÃâÀÇ °á°ú·Î È®ÀåµÇ´Â °ÍÀÌ ÀÖ´Ù¸é È£ÃâÀÌ µÈ ÈÄ¿¡ ±× È®ÀåµÈ °á°ú¸¦ Ç¥½ÃÇÑ´Ù. ±× Ãâ·ÂÀº °ð¹Ù·Î Ç¥ÁØ ¿¡·¯ Ãâ·ÂÀ¸·Î ÂïÈù´Ù.
define(`foo', `Hello World.') => define(`echo', `$@') => traceon(`foo', `echo') => foo error-->m4trace: -1- foo -> `Hello World.' =>Hello World. echo(gnus, and gnats) error-->m4trace: -1- echo(`gnus', `and gnats') -> ``gnus',`and gnats'' =>gnus,and gnats
ÁÙ¹®ÀÚ(`-') »çÀÌÀÇ ¼ýÀÚ´Â È®ÀåÀÇ ´Ü°è ±íÀ̸¦ ³ªÅ¸³½´Ù. ÀÌ°ÍÀº ´ëºÎºÐÀÇ °æ¿ì¿¡ 1À̸ç, ÃÖ¿Ü°û ´Ü°èÀÇ È®ÀåÀÓÀ» ³ªÅ¸³½´Ù. ±×·¯³ª ¸ÅÅ©·ÎÀÇ ÀÎÀÚ°¡, µû¿ÈÇ¥·Î ¹Áö ¾ÊÀº ¸ÅÅ©·Î È£ÃâÀ» Æ÷ÇÔÇÒ ¶§¿¡´Â Áõ°¡ÇÒ ¼ö ÀÖ´Ù.
Ç¥½Ã¸¦ Á¦¾îÇÏ´Â °Í¿¡ °üÇÑ ´õ ÀÚ¼¼ÇÑ Á¤º¸´Â See section µð¹ö±ë Ãâ·ÂÀ» Á¦¾îÇϱâ
m4
¸¦ ½ÇÇàÇÒ ¶§¿¡ ¸í·ÉÇà¿¡ ÁÖ´Â `-d' ¿É¼ÇÀº, ¾Õ Àý¿¡¼ ¼³¸íÇÑ
¸ÅÅ©·ÎµéÀ» »ç¿ëÇÒ ¶§¿¡ ¾ó¸¶³ª ÀÚ¼¼ÇÏ°Ô Á¤º¸¸¦ Ç¥½ÃÇÒÁö¸¦ Á¦¾îÇÑ´Ù.
±× ¿É¼Ç ´ÙÀ½¿¡ Àû´Â flag °ªÀ¸·Î´Â ´ÙÀ½¿¡ ³ª¿À´Â °Íµé Áß¿¡¼ Çϳª ÀÌ»óÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù.
t
m4
ÇÁ·Î±×·¥ È£Ãâ¿¡¼ ÀÌ·ç¾îÁö´Â ¸ðµç ¸ÅÅ©·Î È£ÃâÀ» ÃßÀûÇÑ´Ù.
a
traceon
À» È£ÃâÇÒ ¶§¿¡ ÁöÁ¤µÈ ¸ÅÅ©·Î¿¡¸¸ Àû¿ëµÈ´Ù.
e
traceon
À» È£ÃâÇÒ
¶§¿¡ ÁöÁ¤µÈ ¸ÅÅ©·Î¿¡¸¸ Àû¿ëµÈ´Ù.
q
c
x
f
l
p
i
V
`-d' ¿É¼Ç¿¡ ¾Æ¹«·± Ç÷¡±×µµ ÁöÁ¤ÇÏÁö ¾Ê¾Ò´Ù¸é, µðÆúÆ®·Î `aeq'·Î ÁöÁ¤µÈ´Ù. À§¿¡¼ ¼³¸íÇÑ µÎ Àý¿¡¼ÀÇ ¿¹Á¦´Â µðÆúÆ® Ç÷¡±×°¡ ÁöÁ¤µÇ¾î ÀÖ´Ù°í °¡Á¤Çß´Ù.
³»Àå ¸ÅÅ©·ÎÀÎ debugmode
´Â µð¹ö±ë Á¤º¸ÀÇ Ãâ·Â ¾ç½ÄÀ» ½ÇÇà Áß¿¡ ¹Ù²Ù´Â
¿ªÇÒÀ» ÇÑ´Ù.
debugmode(opt flags)
¿©±â¼ flags ÀÎÀÚ´Â À§¿¡¼ ¼³¸íÇÑ ¹®ÀÚµéÀÇ ºÎºÐ ÁýÇÕÀ̾î¾ß ÇÑ´Ù. Ưº°ÇÑ °æ¿ì·Î, ÀÎÀÚ°¡ `+'·Î ½ÃÀÛÇÑ´Ù¸é, ±× Ç÷¡±×µéÀº ÇöÀçÀÇ µð¹ö±× Ç÷¡±×¿¡ Ãß°¡µÈ´Ù. ±×¸®°í `-'·Î ½ÃÀÛÇÑ´Ù¸é ±× Ç÷¡±×µéÀº Á¦°ÅµÈ´Ù. ¾Æ¹«·± ÀÎÀÚµµ ¾ø´Ù¸é, µð¹ö±ë Ç÷¡±×´Â ¾Æ¹«°Íµµ ¾ø°Ô µÈ´Ù. (`-d' ¿É¼ÇÀ» ÁÖÁö ¾ÊÀº °Íó·³ µÈ´Ù.) ±×¸®°í ÅÖ ºó ÀÎÀÚ¸¦ ÁÖ¸é Ç÷¡±×¸¦ µðÆúÆ® °ªÀ¸·Î Àç¼³Á¤ÇÏ°Ô µÈ´Ù.
µð¹ö±ë Á¤º¸¿Í ÃßÀû Á¤º¸´Â m4
¿¡ `-o' ¿É¼ÇÀ» Á༠ÆÄÀÏ·Î Ãâ·ÂÀ»
ÀçÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. ¶Ç´Â ³»Àå ¸ÅÅ©·ÎÀÎ debugfile
À» »ç¿ëÇÒ ¼öµµ ÀÖ´Ù.
debugfile(opt filename)
ÀÌ·¸°Ô Çϸé ÀÌÁ¦ºÎÅÍ ¸ðµç µð¹ö±ë°ú ÃßÀû ¸Þ½ÃÁöÀÇ Ãâ·ÂÀ» filenameÀ¸·Î
º¸³½´Ù. filenameÀ» ºñ¿ö ³õÀ¸¸é, µð¹ö±ë°ú ÃßÀû Ãâ·ÂÀº »ç¶óÁö°Ô µÇ¸ç ¸¸¾à
debugfile
ÀÌ ¾Æ¹«·± ÀÎÀÚµµ ¾øÀÌ È£ÃâµÇ¾ú´Ù¸é, µð¹ö±ë°ú ÃßÀû
Ãâ·ÂÀº Ç¥ÁØ ¿¡·¯ Ãâ·ÂÀ¸·Î º¸³»Áø´Ù.
Go to the first, previous, next, last section, table of contents.