KTUGFaq
KTUG FAQ
FrontPage › LiterateProgramming
[ÆíÁý]
CWEB ¿¹Á¦ ¶
from 3195 (by ÀÛÀº³ª¹«)
CWEB À̶ó´Â ¹®ÇÐÀû ÇÁ·Î±×·¡¹Ö ½Ã½ºÅÛÀ» ¼Ò°³ÇÏ°íÀÚ ÇÕ´Ï´Ù.
¹®ÇÐÀû ÇÁ·Î±×·¡¹ÖÀº ÀÌ °÷ À§Å°¿¡ TeXÀ» ¼Ò°³ÇÏ´Â °÷¿¡
¹®¼È ÇÁ·Î±×·¡¹Ö À̶õ À̸§À¸·Î ÀÌ¹Ì ¼Ò°³°¡ µÈ °ÍÀ̱⵵ ÇÕ´Ï´Ù.
¿©±â¼´Â ±× Áß¿¡¼ °¡Àå ¸¹ÀÌ ÀÌ¿ëµÇ´Â CWEB ÇÁ·Î±×·¡¹ÖÀ» ¼Ò°³ÇÏ°íÀÚ ÇÕ´Ï´Ù.
TeX ÇÁ·Î±×·¥ ÀÚüµµ ¹®ÇÐÀû ÇÁ·Î±×·¡¹Ö ½Ã½ºÅÛ Áß ÇϳªÀÎ WEBÀ¸·Î
ÀÛ¼ºµÈ ÇÁ·Î±×·¥ÀÔ´Ï´Ù. CWEBÀº ±âÁ¸ÀÇ WEBÀ» º¸´Ù °È½ÃŲ °ÍÀ¸·Î
°¡Àå ¸¹ÀÌ »ç¿ëÇÏ´Â ÇÁ·Î±×·¡¹Ö ¾ð¾îÀÎ C ÇÁ·Î±×·¡¹Ö ¾ð¾î¿Í TeXÀÇ
Á¶ÇÕÀ¸·Î µÈ ½Ã½ºÅÛÀÔ´Ï´Ù.
÷ºÎÆÄÀÏÀº CWEB ÇÁ·Î±×·¡¹ÖÀ» ¼Ò°³ÇÏ°íÀÚ °£´ÜÇÑ ÇÁ·Î±×·¥À»
ÀÛ¼ºÇÑ °ÍÀÔ´Ï´Ù. ¿©·¯ºÐÀÌ CWEBÀ¸·Î ÇÁ·Î±×·¡¹ÖÀ» ÇÑ´Ù¸é,
ÇöÀç º¸´Ù ³ªÀº ÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ ¼ö ÀÖÀ» °ÍÀ̶õ È®½ÅÀÌ Àֱ⿡
°¨È÷ ÀÌ·¸°Ô ¼Ò°³ÇÏ´Â °ÍÀÔ´Ï´Ù.
¹«¾ùº¸´Ùµµ CWEB ÇÁ·Î±×·¡¹ÖÀº Âü Àç¹ÌÀÖ½À´Ï´Ù.
CWEB ½Ã½ºÅÛÀÇ ¼³Ä¡¹× °ü·Ã ¹®¼µéÀº http://www.literateprogramming.com
¿¡¼ ½±°Ô ã¾Æ º¸½Ç ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù.
À§ À¥»çÀÌÆ®¿¡´Â C ÇÁ·Î±×·¡¹Ö ¾ð¾î »Ó¸¸ ¾Æ´Ï¶ó ´Ù¸¥ ÇÁ·Î±×·¡¹Ö ¾ð¾î·Î
ÇÒ ¼ö ÀÖ´Â ¹®ÇÐÀû ÇÁ·Î±×·¥µµ ¸¹ÀÌ ¼Ò°³ µÇ¾î ÀÖ½À´Ï´Ù.
÷ºÎ ÆÄÀÏÀº ¾û¼ºÇÑ ÇÁ·Î±×·¥ÀÌÁö¸¸, ¿©·¯ºÐÀÌ CWEBÀ» Á¢ÇÏ´Â µ¥
µµ¿òÀÌ µÇ¾úÀ¸¸é ÁÁ°Ú½À´Ï´Ù.
vrotate.tar.gz (298.65 KB)
[ÆíÁý]
CWEB ¼³Ä¡½Ã ÇÑ±Û °í·Á»çÇ× ¶
UTF-8·ÎµÈ ÇѱÛÀ» Æ÷ÇÔÇÏ´Â cwebÀÇ ¼Ò½º ÆÄÀÏÀÎ .w ÆÄÀϷκÎÅÍ
ctangle°ú cweave ¸í·É¾î¸¦ ÀÌ¿ëÇؼ C ÇÁ·Î±×·¥ ÆÄÀÏÀÎ .c ÆÄÀÏ°ú
TeX ÆÄÀÏÀÎ .texÀ» ¸¸µé´Ùº¸¸é, ÀÔ·ÂÀÌ ³Ê¹« ±æ´Ù´Â °æ°í ¸Þ½ÃÁö°¡ ³ª¿É´Ï´Ù.
ÀÌ´Â À§¸í·É¾îµéÀÌ ÆÄÀÏÀ» ó¸®Çϱâ À§Çؼ ³»ºÎÀûÀ¸·Î ¹öÆÛ(char ¹è¿)¸¦
°¡Áö°í ÀÖ°í, ±× ¹öÆÛÀÇ ³¡À» ³ªÅ¸³»´Â buffer_end°¡ À۾Ƽ ³ª¿À´Â
°æ°í ¸Þ½ÃÁöÀÔ´Ï´Ù. ÀÌ °æ¿ì´Â ¹öÆÛÀÇ ³¡À» ³ªÅ¸³»´Â º¯¼ö buffer_end¸¦
ÃæºÐÈ÷ Å©°ÔÇØÁÖ¸é ¹ß»ýÇÏÁö ¾Ê´Â °æ°í ¸Þ½ÃÁöÀÔ´Ï´Ù.
¿µ¾îÀÇ °æ¿ì´Â ¾ËÆĺª Çѹ®ÀÚ°¡ 1¹ÙÀÌÆ®À̱⠶§¹®¿¡ ±×·¯ÇÑ °æ°í ¸Þ½ÃÁö°¡ ¾ø½À´Ï´Ù.
¹°·Ð ¿µ¾îÀÇ °æ¿ìµµ ÇÑ ÁÙÀ» ³Ê¹« ±æ°ÔÇÏ¸é ±×·± ¸Þ½ÃÁö°¡ ³ª¿À°ÚÁÒ.:-)
(Àú´Â utf-8¿¡ ´ëÇÑ Áö½ÄÀÌ ÀüÇô ¾ø½À´Ï´Ù.)
utf-8·Î µÈ °æ¿ì´Â ÇÑ ¹®ÀÚ¸¦ 1¹ÙÀÌÆ®¿¡¼ ÃÖ´ë 4¹ÙÀÌÆ®±îÁö Ç¥ÇöÇÑ´Ù°í µé¾ú½À´Ï´Ù.
µû¶ó¼ utf-8·Î ÀÛ¼ºµÈ ¼Ò½ºÀÇ °æ¿ì¸¦ À§Çؼ buffer_end¸¦ ÃÖ´ë 4¹è°¡ µÇ°ÔÇϸé
µË´Ï´Ù.
ctangle°ú cweaveÀÇ ÈÀÏ ÀÔÃâ·Â¿¡ ´ëÇÑ ºÎºÐÀ̳ª °øÅë ºÎºÐÀº
common.w(.c)¿¡ Àִµ¥, buffer_end¿¡ ´ëÇÑ ³»¿ëÀÌ ¹Ù·Î ÀÌ ÆÄÀÏ¿¡ ÀÖ½À´Ï´Ù.
common.wÀÇ ÀϺÎ
------------------------------------------------------------------------------- @d buf_size 100 /* for \.{CWEAVE} and \.{CTANGLE} */ @d longest_name 1000 @d long_buf_size (buf_size+longest_name) /* for \.{CWEAVE} */ ... @<Definitions...@>= char buffer[long_buf_size]; /* where each line of input goes */ char *buffer_end=buffer+buf_size-2; /* end of |buffer| */ ... -------------------------------------------------------------------------------µû¶ó¼ buf_size¸¦ ÃÖ´ë 4¹è Å©°ÔÇÏ´ø°¡, ¾Æ´Ï¸é, buffer_end¸¦ Á¤ÀÇÇÏ´Â ºÎºÐ¿¡ »ç¿ëÇÑ buf_size ´ë½Å¿¡ long_buf_size¸¦ »ç¿ëÇÏ¸é µË´Ï´Ù.
Àú´Â cwebÀ» ¼³Ä¡ÇÒ¶§, µÎ¹ø° ¹æ¹ýÀ» »ç¿ëÇؼ ¼³Ä¡Çؼ, utf-8·Î µÈ ¹®¼¸¦
ÄÄÆÄÀÏÇÒ¶§µµ ctangleÀ̳ª cweave°¡ ¹¬¹¬È÷ ±×Àú Á¦ ÇÒ ÀÏÀ» ÇÕ´Ï´Ù.
ÀÌ°ÍÀÌ utf-8·Î µÈ ¹®¼ÀÇ ±Ùº»ÀûÀÎ ÇØ°áÃ¥ÀÎÁö, ÀӽùæÆíÀûÀÎ ¹æ¹ýÀÎÁö´Â
¸ð¸£°ÚÀ¸³ª, °æ°í ¸Þ½ÃÁö¸¦ º¼ ¼ö ¾ø¾î¼ ÁÁ±â´Â ÇÕ´Ï´Ù.
ÀÌ Á¡ ¸»°íµµ, Çѱ۷Πcweb ÇÁ·Î±×·¥À» ¿ÂÀüÈ÷ Çϱâ À§Çؼ´Â
cweave.w, cwebmac.tex ÆÄÀÏ µî ¸î°¡Áö¸¦ ´õ ¼öÁ¤ÇؾßÇÕ´Ï´Ù.
À̸¦ À§Çؼ´Â ÃæºÐÇÑ TeXÀÇ Áö½ÄÀÌ ÇÊ¿äÇѵ¥, ±×·¸Áö ¸øÇÑ Á¦ ÀÚ½ÅÀÌ
¾ÈŸ±î¿ï»ÓÀÔ´Ï´Ù.
-- ÀÛÀº³ª¹«