KTUGFaq

KTUG FAQ

CWEB (rev. 1.28)

·Î±×ÀÎ:
ºñ¹Ð¹øÈ£:
°¡ÀÔ
You display the wonderful traits of charm and courtesy.
FrontPage › CWEB

¸ñÂ÷

1 CWEB ½Ã½ºÅÛ
2 CWEB ¼³¸í¼­
3 ÇѱÛ(UTF-8) CWEB ¼³Ä¡ ¹æ¹ý
4 ÇÑ±Û CWEB ÇÁ·Î±×·¥ ÀÛ¼º ¹æ¹ý
5 CWEB »ç¿ë¹ý
6 CWEB ¿¹Á¦
7 Microsoft Visual C++¿¡¼­ CWEB ÇÁ·Î±×·¡¹Ö Çϱâ

1 CWEB ½Ã½ºÅÛ

$$\hbox{\tt CWEB}=\hbox{C programming language}+\hbox{\TeX}$$

¹®ÇÐÀû ÇÁ·Î±×·¡¹Ö ½Ã½ºÅÛÀ¸·Î °¡Àå ¸¹ÀÌ »ç¿ëµÇ´Â °ÍÀÌ ¾Æ¸¶ CWEBÀÏ °ÍÀÔ´Ï´Ù. ¹®ÇÐÀû ÇÁ·Î±×·¡¹Ö ½Ã½ºÅÛÀº ±âº»ÀûÀ¸·Î Á¶ÆǾð¾î¿Í ÄÄÇ»ÅÍÇÁ·Î±×·¡¹Ö ¾ð¾î·Î ±¸¼ºµÇ´Âµ¥, CWEBÀº °¡Àå ¸¹ÀÌ »ç¿ëµÇ´Â Á¶ÆǾð¾îÀÎ TeX°ú °¡Àå ¸¹ÀÌ »ç¿ëµÇ´Â C¾ð¾îÀÇ Á¶ÇÕÀ¸·Î ±¸¼ºµÈ ½Ã½ºÅÛÀÔ´Ï´Ù.

2 CWEB ¼Ò°³

¾Æ·¡ÀÇ ±ÛÀº CWEB »ç¿ëÀÚ ¼³¸í¼­(cwebman)ÀÇ IntroductionÀ» Çؼ®ÇÑ ³»¿ëÀÔ´Ï´Ù.

CWEBÀÇ ¹è°æÀÌ µÇ´Â öÇÐÀº, ÀÚ½ÅÀÌ ÀÛ¼ºÇÏ°í ÀÖ´Â ÇÁ·Î±×·¥¿¡ ´ëÇؼ­ °¡´ÉÇÑ ÃÖ»óÀÇ ¹®¼­¸¦ Á¦°øÇÏ°íÀÚ ÇÏ´Â ÇÁ·Î±×·¡¸Ó´Â ¹®¼­ Á¶ÆÇÀ» À§Çؼ­ TeX°ú °°Àº ¾ð¾î¿Í ÇÁ·Î±×·¡¹ÖÀ» À§Çؼ­ C ¾ð¾î¿Í °°Àº µÎ °¡Áö µµ±¸°¡ µ¿½Ã¿¡ ÇÊ¿äÇÏ´Ù´Â °ÍÀÔ´Ï´Ù. ÀÌ µÎ °¡Áö ¾ð¾î Áß ¾î´À ÇÑ °¡Áö¸¸ °¡Áö°í´Â ÃÖ»óÀÇ ¹®¼­¸¦ Á¦°øÇÒ ¼ö ¾ø½À´Ï´Ù. ÇÏÁö¸¸ ÀÌ µÎ °¡Áö ¾ð¾î¸¦ ÀûÀýÈ÷ Á¶ÇÕÇϸé, °¢°¢ÀÇ ¾ð¾î°¡ Á¦°øÇÒ ¼ö ÀÖ´Â ±â´Éº¸´Ù ´õ¿í À¯¿ëÇÑ ±â´ÉÀ» °®Ãá ½Ã½ºÅÛÀ» ±¸¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù.

¼ÒÇÁÆ®¿þ¾î ÇÁ·Î±×·¥ÀÇ ±¸Á¶´Â ³»ºÎÀûÀ¸·Î ¸¹Àº ÀÛÀº ºÎºÐµéÀÌ ¼­·Î ±ä¹ÐÈ÷ ¿¬°áµÇ¾î ÀÖ´Â "À¥(web)¡± À̶ó°í »ý°¢ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯ÇÑ ÇÁ·Î±×·¥À» ¹®¼­È­Çϱâ Çϱâ À§Çؼ­ ±× À¥À» ±¸¼ºÇÏ´Â °¢°¢ÀÇ °³º°ÀûÀÎ ºÎºÐµéÀ» ¼³¸íÇÏ°í, ±× ºÎºÐµéÀÌ ±×ÀÇ ÀÌ¿ôµé°ú ¾î¶°ÇÑ ¿¬°üÀÌ ÀÖ´ÂÁö¸¦ ¼³¸íÇÏ´Â °ÍÀÌ ÁÁÀº ¹æ¹ýÀÏ °ÍÀÔ´Ï´Ù. TeXÀ¸·Î Á¦°øµÇ´Â Á¶ÆÇ µµ±¸´Â °¢ ºÎºÐÀ» Àбâ ÁÁ°Ô ÇØ ÁÜÀ¸·Î½á ±×ÀÇ ±¸Á¶¸¦ ½±°Ô ÆÄ¾Ç ÇÒ ¼ö ÀÖ°Ô ÇØÁÖ°í, C ¾ð¾î·Î Á¦°øµÇ´Â ÇÁ·Î±×·¡¹Ö µµ±¸´Â ¾Ë°í¸®ÁòµéÀ» º¸´Ù ¼öÇÐÀûÀ¸·Î ¸íÈ®ÇÏ°Ô ±â¼úÇÒ ¼ö ÀÖ°Ô ÇØÁÝ´Ï´Ù. ÀÌ·¯ÇÑ µÎ °¡Áö µµ±¸¸¦ Á¶ÇÕÇÔ À¸·Î¼­, ¼ÒÇÁÆ®¿þ¾îÀÇ º¹ÀâÇÑ ±¸Á¶¸¦ ½±°Ô ÆÄ¾Ç ÇÒ ¼ö ÀÖµµ·ÏÇÏ´Â ÇÁ·Î±×·¡¹ÖÀÌ °¡´ÉÇÕ´Ï´Ù. µ¿½Ã¿¡ ±× ¹®¼­È­µÈ ÇÁ·Î±×·¥Àº ±â°èÀûÀ¸·Î ¼ÒÇÁÆ®¿þ¾î ½Ã½ºÅÛÀ¸·Î º¯È¯µÇ¾î ½ÇÇà ½Ã½ºÅÛÀ» ¸¸µé ¼ö ÀÖ½À´Ï´Ù.

CWEB ½Ã½ºÅÛÀº CWEAVE ¿Í CTANGLE À̶ó°í ºÒ¸®´Â µÎ °³ÀÇ ÇÁ·Î±×·¥À¸·Î ±¸¼ºµÇ¾î ÀÖ½À´Ï´Ù. CWEB ÇÁ·Î±×·¡¹ÖÀ» ÇÒ ¶§´Â, CWEB ÆÄÀÏ À̶ó°í ºÒ¸®´Â ÇϳªÀÇ ÆÄÀÏ¿¡ C ÄÚµå¿Í ¹®¼­È­¸¦ À§ÇÑ Äڵ带 µ¿½Ã¿¡ ÀÛ¼ºÇÏ°í, ÀϹÝÀûÀ¸·Î something.w °ú °°ÀÌ À̸§ Áþ½À´Ï´Ù. ´ÙÀ½°ú °°Àº ¸í·É¾î ¡®cweave something¡¯´Â something.tex ÆÄÀÏÀ» »ý¼ºÇÏ°í, ÀÌ ÆÄÀÏÀº TEX À» ÅëÇÏ¿© something.wÀ» ÆäÀÌÁö ·¹À̾ƿô°ú ÇÁ·Î±×·¥ÀÇ µé¿©¾²±â, ±×¸®°í ¿¹¾à¾î³ª º¯¼ö¸í ȤÀº ¼öÇÐ ±âÈ£µéÀ» °¢°¢ ´Ù¸¥ ÆùÆ®·Î Ç¥ÇöÇÏ´Âµî ¿ì¸®µéÀÌ ½±°Ô ÀÐÀ» ¼ö ÀÖµµ·Ï ¸ÚÁø Ãâ·Â¹°·Î ¸¸µé¾î ³À´Ï´Ù. ÀÌ Ãâ·Â¹°¿¡´Â cweave ¸í·É¾î°¡ ÀÚ µ¿ÀûÀ¸·Î ¸¸µé¾î ³½ »öÀεµ Æ÷ÇԵ˴ϴÙ. ºñ½ÁÇÏ°Ô, ¡®ctangle something¡¯ À̶õ ¸í·ÉÀ» ½ÇÇàÇϸé something.c¶õ À̸§ÀÇ C ÆÄÀÏÀ» ¾òÀ» ¼ö ÀÖ°í, ÀÌ ÆÄÀÏÀº ÄÄÆÄÀÏÀ» ÅëÇÏ¿© ½ÇÇà ÆÄÀÏÀ» ¾òÀ» ¼ö ÀÖ½À´Ï´Ù.

CWEBÀº C ÇÁ·Î±×·¡¹Ö¿¡ ´Ü¼øÈ÷ ¹®¼­È­ µµ±¸¸¦ Á¦°øÇÑ´Ù´Â °Í ¿Ü¿¡, C ¾ð¾î¸¦ º¸´Ù °­È­½ÃÅ°´Â Ãø¸éÀÌ ÀÖ½À´Ï´Ù. Áï º¸ÅëÀÇ C ÇÁ·Î±×·¡¹Ö¿¡¼­´Â ºÒ°¡´ÉÇÑ, Àüü ÇÁ·Î±×·¥À» ¿©·¯ ÀÛÀº Á¶°¢µé·Î ³ª´©°í ±× Á¶°¢µéÀ» ¿©±âÀú±â »õ·Ó°Ô ¹èÄ¡ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¸°Ô ÇÔÀ¸·Î ÇÁ·Î±×·¥À» ¼øÂ÷ÀûÀ¸·Î ¼³¸íÇÏ´Â °ÍÀ̾ƴ϶ó, ¾Ë°í¸®Áò ȤÀº ÀÚ·á ±¸Á¶ÀûÀ¸·Î ÀǹÌÀûÀ¸·Î °ü·ÃÀÖ´Â ºÎºÐµéÀ» ¼½¼ÇÀ̶ó´Â À̸§À¸·Î ÇÑ °÷¿¡ ¹èÄ¡Çؼ­ ÀÚ¼¼È÷ ¼³¸íÇÔÀ¸·Î½á °¢ ¼½¼ÇÀ» ÀÚ¼¼È÷ ¼³¸íÇÏ°í, ±×·¯ÇÑ ¼½¼ÇµéÀÇ ¿¬°ü °ü°è¸¦ ¼³¸íÇÔÀ¸·Î Àüü ÇÁ·Î±×·¥À» º¸´Ù ÀÌÇØÇϱ⠽±°Ô ¼³¸íÇÒ ¼ö ÀÖ½À´Ï´Ù. CTANGLE ÇÁ·Î±×·¥Àº ÀÌó·³ C ¹®¹ý¿¡ ¾î±ß³­ ¹æ½ÄÀ¸·Î ÀÛ¼ºµÈ CWEB ÇÁ·Î±×·¥À» C ¾ð¾î ¹®¹ý¿¡ ¸Â°Ô ´Ù½Ã Àç¹èÄ¡ Çϱ⠶§¹®¿¡ ctangle À̶ó´Â À̸§À» ¾ò°Ô µÇ¾ú½À´Ï´Ù. CWEB À¸·Î ÇÁ·Î±×·¡¹ÖÇÏ¸é ¾òÀ» ¼ö ÀÖ´Â ÀÕÁ¡Àº °¢ ¼½¼ÇÀ» °³º°ÀûÀ¸·Î ¼³¸íÇÒ ¼ö ÀÖ´Ù´Â °ÍÀ» ÀÌ¿ëÇؼ­ ÇÁ·Î±×·¥¿¡ »ç¿ëµÈ ¾Ë°í¸®ÁòµéÀ» ÀÌ·¯ÇÑ ¼½¼ÇµéÀ» ÀÌ¿ëÇÏ¿© ¹­¾î¼­ ÇÑ °÷¿¡¼­ ¡°untangle¡±ÀÇ ÇüÅ·ΠǥÇöÇÒ ¼ö ÀÖ´Ù´Â Á¡ÀÔ´Ï´Ù. CWEAVE ÇÁ·Î±×·¥Àº CWEB ÆÄÀÏÀ» ÀÔ·Â ¹Þ¾Æ¼­ °¢ ¼½¼ÇÀ» ±¸¼ºÇÏ´Â TeX ºÎºÐ°ú C ºÎºÐÀ» ¼­·Î ¿«Àº ÈÄ¿¡ (intertwine) ±×·¯ÇÑ sectionµé·Î ±¸¼ºµÈ Á÷¹°(fabric)·ÎºÎÅÍ ÇϳªÀÇ ±¸Á¶È­µÈ ¹®¼­¸¦ Â¥³»±â(weave) ¶§¹®¿¡ cweave ¶ó´Â À̸§À» ¾ò¾ú½À´Ï´Ù.(ÀÌÇØ°¡ µÇ½Ê´Ï±î?) ¿µ¾î ´Ü¾î ¡°weave¡±¿¡ ÇØ´çÇÏ´Â µ¶ÀÏ ´Ü¾î°¡ webeÀÌ°í, ±×¿¡ ÇØ´çÇÏ´Â ¶óƾ¾î°¡ texe ¶ó´Â °Í¿¡´Â ¾Æ¸¶µµ ÀÏÁ¾ÀÇ ±íÀº ¿¬°üÀ» °ÍÀÔ´Ï´Ù.

¿©·¯ºÐÀÌ CWEBÀ» »ç¿ëÇÏ°íÀÚ ÇÑ´Ù¸é, ¹Ýµå½Ã C ÇÁ·Î±×·¡¹Ö ¾ð¾î¿¡ Àͼ÷ÇØ¾ß ÇÒ °ÍÀÔ´Ï´Ù. ÃÖ¼ÒÇÑÀÇ TeX¿¡ ´ëÇÑ Áö½Äµµ ÀÖÀ¸¸é ÁÁ°ÚÁö¸¸, CWEB ÇÁ·Î±×·¡¹ÖÀ» Çϸ鼭 TeX¿¡ ´ëÇÑ Áö½ÄÀº ÀÚµ¿ÀûÀ¸·Î ¾ò°Ô µÉ °ÍÀÔ´Ï´Ù. ÀÌ´Â TeX¿¡¼­ »ç¿ëµÇ´Â ´Ü¼øÇÑ ÅؽºÆ®´Â TeX¿¡ ´ëÇÑ Áö½ÄÀÌ °ÅÀÇ ¾ø¾îµµ °¡´ÉÇϱ⠶§¹®ÀÔ´Ï´Ù. ¹°·Ð C ¾ð¾î¿Í TeX¿¡ ¸ðµÎ Àͼ÷ÇÑ µ¶ÀÚ´Â CWEB À» ¸Å¿ì ½±°Ô ¹è¿ï ¼ö ÀÖ½À´Ï´Ù.

CWEB ½Ã½ºÅÛ ¸»°íµµ ¸¹Àº ¹®ÇÐÀû ÇÁ·Î±×·¡¹Ö ½Ã½ºÅÛµéÀÌ Á¸ÀçÇÕ´Ï´Ù. [http] literateprogramming.com À¥»çÀÌÆ®¸¦ ¹æ¹®ÇØ º¸½Ã¸é, ¸Å¿ì ´Ù¾çÇÑ ½Ã½ºÅÛµéÀ» Á¢ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ »çÀÌÆ®´Â KnuthÀÇ À¥ÆäÀÌÁö¿¡µµ ¼Ò°³µÈ ¸Å¿ì ÈǸ¢ÇÑ À¥»çÀÌÆ®ÀÔ´Ï´Ù.

3 CWEB »ç¿ë¹ý

$$\hbox{cweb}=\hbox{ctangle}+\hbox{cweave}$$
  • È®ÀåÀÚ°¡ .wÀÎ ÅؽºÆ® ÆÄÀÏ, ¿¹¸¦µé¾î foo.w À̶õ ÆÄÀÏÀ» ¸¸µì´Ï´Ù. foo.w´Â web ȤÀº cweb ÆÄÀÏÀε¥, ÇÁ·Î±×·¡¹Ö ¼Ò½º¿Í ±×¿¡ ÇØ´çÇÏ´Â µµÅ¥¸ÕÆ®¸¦ µ¿½Ã¿¡ °¡Áö°í ÀÖ´Â ÆÄÀÏÀÔ´Ï´Ù. cweb ÇÁ·Î±×·¡¹ÖÀ» ÇÒ¶§´Â, ÀÌó·³ ÇÁ·Î±×·¡¹Ö°ú µµÅ¥¸ÕÆ®¸¦ µ¿½Ã¿¡ »ý°¢ÇØ¾ß ÇÕ´Ï´Ù.
  • ¾Æ·¡¿Í °°Àº ¸í·É¾î·Î cweb ÆÄÀÏ foo.w·ÎºÎÅÍ ÇÁ·Î±×·¡¹Ö ¼Ò½º ÆÄÀÏ foo.c(ȤÀº foo.cpp)À» ¸¸µé¾î³À´Ï´Ù.
    % ctangle foo
    
  • ctangle·Î ºÎÅÍ »ý¼ºµÈ foo.c¸¦ gcc°°Àº C ÄÄÆÄÀÏ·¯¸¦ ÀÌ¿ëÇؼ­ ½ÇÇà ÆÄÀÏÀ» ¸¸µé¾î ³À´Ï´Ù.
  • ´ÙÀ½ÀÇ ¸í·É¾î·Î´Â foo.w·Î ºÎÅÍ TeX ÆÄÀÏÀÎ foo.texÀ» ¾ò½À´Ï´Ù.
    % cweave foo
    
  • cweave·Î ºÎÅÍ ³ª¿Â foo.texÀº TeXÀ» ÀÌ¿ëÇÏ¿© foo.dvi¸¦ ¸¸µì´Ï´Ù.
    % tex foo
    
    ¶Ç´Â, pdfÀÇ ±â´ÉÀ» ½ÊºÐ ¹ßÈÖÇÏ°í ½ÍÀ¸½Ã´Ù¸é, ´ÙÀ½°ú °°ÀÌ ÇÏ½Ã¸é µË´Ï´Ù.
    % tex "\let\pdf+ \input foo"
    
À§ °úÁ¤À» ±×¸²À¸·Î ³ªÅ¸³»¸é ´ÙÀ½°ú °°½À´Ï´Ù.

cweave.jpg

4 CWEB ¼³Ä¡ ½Ã ÇѱÛ(UTF-8) °í·Á»çÇ×

ÁÖÀÇ: ÀÌ ÀýÀÇ ³»¿ëÀº Hangul-ucs¸¦ ÀÌ¿ëÇÏ¿© ucsplain.tex¸¦ »ç¿ëÇÏ´Â °æ¿ì¿¡¸¸ ÇØ´çÇÏ´Â °ÍÀÌ°í, HLaTeXÀ» ÀÌ¿ëÇÏ¿©, htex.texÀ» »ç¿ëÇϽô ºÐÀ̶ó¸é, °ü°è¾ø´Â ³»¿ëÀÔ´Ï´Ù.

¸ÕÀú, utf-8·Î ÀÛ¼ºµÈ ¼Ò½º ÆÄÀÏ(.w)·Î cweb ÇÁ·Î±×·¡¹ÖÀ» ÇϱâÀ§Çؼ­´Â cweb([ftp]cweb.tar.gz)À» ´Ù½Ã ¼³Ä¡ÇØ¾ß ÇÕ´Ï´Ù.

UTF-8·ÎµÈ ÇѱÛÀ» Æ÷ÇÔÇÏ´Â cwebÀÇ ¼Ò½º ÆÄÀÏÀÎ .w ÆÄÀϷκÎÅÍ ctangle°ú cweave ¸í·É¾î¸¦ ÀÌ¿ëÇؼ­ C ÇÁ·Î±×·¥ ÆÄÀÏÀÎ .c ÆÄÀÏ°ú TeX ÆÄÀÏÀÎ .texÀ» ¸¸µé´Ùº¸¸é, ÀÔ·ÂÀÌ ³Ê¹« ±æ´Ù´Â °æ°í ¸Þ½ÃÁö°¡ ³ª¿É´Ï´Ù. ÀÌ´Â À§¸í·É¾îµéÀÌ ÆÄÀÏÀ» ó¸®Çϱâ À§Çؼ­ ³»ºÎÀûÀ¸·Î ¹öÆÛ(char ¹è¿­)¸¦ °¡Áö°í ÀÖ°í, ±× ¹öÆÛÀÇ ³¡À» ³ªÅ¸³»´Â buffer_end°¡ À۾Ƽ­ ³ª¿À´Â °æ°í ¸Þ½ÃÁöÀÔ´Ï´Ù. ÀÌ °æ¿ì´Â ¹öÆÛÀÇ ³¡À» ³ªÅ¸³»´Â º¯¼ö buffer_end¸¦ ÃæºÐÈ÷ Å©°ÔÇØÁÖ¸é ¹ß»ýÇÏÁö ¾Ê´Â °æ°í ¸Þ½ÃÁöÀÔ´Ï´Ù.

utf-8·Î µÈ °æ¿ì´Â ÇÑ ¹®ÀÚ¸¦ 1¹ÙÀÌÆ®¿¡¼­ ÃÖ´ë 4¹ÙÀÌÆ®±îÁö Ç¥ÇöÇÑ´Ù°í ÇÕ´Ï´Ù. µû¶ó¼­ utf-8·Î ÀÛ¼ºµÈ ¼Ò½ºÀÇ °æ¿ì¸¦ À§Çؼ­ buffer_end¸¦ ÃÖ´ë 4¹è°¡ µÇ°ÔÇÏ¸é µË´Ï´Ù.

ctangle°ú cweaveÀÇ È­ÀÏ ÀÔÃâ·Â¿¡ ´ëÇÑ ºÎºÐÀ̳ª °øÅë ºÎºÐÀº common.w¿¡ Àִµ¥, 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¿¡ °ü·ÃÇÑ ÇÁ·Î±×·¥ ¼Ò½º¸¦ °íÄ¥ ÀÏÀÌ ÀÖÀ» ¶§, ÇØ´ç ¼Ò½º¸¦ Á÷Á¢ °íÄ¡´Â ÀÏÀº ¿Ã¹Ù¸¥ ¹æ¹ýÀÌ ¾Æ´Õ´Ï´Ù. cweb¿¡´Â ÀÌ·¯ÇÑ °æ¿ì¸¦ À§Çؼ­ È®ÀåÀÚ°¡ .ch ÀÎ change ÆÄÀÏ ±â´ÉÀ» Á¦°øÇÕ´Ï´Ù. ¿¹¸¦µé¾î À§ÀÇ °æ¿ì ó·³ common.w ÆÄÀÏÀ» ¼öÁ¤ÇÒ ÀÏÀÌ ÀÖÀ¸¸é, comm-utf8.ch ¿Í °°Àº ÆÄÀÏÀ» ¸¸µé¾î¼­ common.c ÆÄÀÏÀ» ¸¸µé¾î ³¾¶§,
ctangle common.w comm-utf8.ch
¿Í °°ÀÌ ÇÏ¸é µË´Ï´Ù. comm-utf8.ch¿¡ µé¾î°¡´Â ³»¿ëÀº
@x
char *buffer_end=buffer+buf_size-2; /* end of |buffer| */
@y
char *buffer_end=buffer+long_buf_size-2; /* end of |buffer| */
@z
¿Í °°ÀÌ ÇÏ½Ã¸é µË´Ï´Ù. (.ch ÆÄÀÏÀ» ¸¸µå´Â ¹æ¹ýÀº cweb »ç¿ëÀÚ ¼³¸í¼­¿¡ ÀÖ½À´Ï´Ù.) ¿øº» .w ÆÄÀÏÀ» Á÷Á¢ ¼öÁ¤Çϼŵµ ¹®Á¦°¡ µÉ °ÍÀº ¾ø½À´Ï´Ù¸¸ Á¤¼®ÀÌ ¾Æ´Ï¶ó´Â °ÍÀÌÁÒ.

5 CWEBÀÇ ÇѱÛÈ­

CWEBÀÇ ÇѱÛÈ­´Â ucsplain.tex, cwbucsol.tex¸¦ ÀÛ¼ºÇϽŠDohyunKim´ÔÀÇ ¼ö°í·Î °¡´ÉÇÏ°Ô µÇ¾ú½À´Ï´Ù.

CWEB ÇÁ·Î±×·¥ÀÇ ´ëºÎºÐÀÇ ¹®±¸°¡ ´ëºÎºÐ ÇѱÛÈ­ µÇ¾ú½À´Ï´Ù. ÇѱÛÀÌ Æ÷ÇÔµÈ CWEB ÇÁ·Î±×·¥À» ÀÛ¼ºÇÏ·Á¸é,
  • KTUG Collection2006À» »ç¿ëÇϽô ºÐÀº [http]KCupdate-hangulcweb.kcupdate ¸¦ Ãß°¡·Î ¾÷µ¥ÀÌÆ® ÇÏ½Ã¸é µË´Ï´Ù.
  • ±× ¿ÜÀÇ »ç¿ëÀÚ´Â KTUG CVS Repository¿¡¼­ ÃֽŠucsplain.tex, cwbucsol.tex, hangulcweb¸¦ ¹ÞÀ¸½Ã¸é µË´Ï´Ù.

ÇÑ±Û CWEB ÇÁ·Î±×·¡¹ÖÀ» ÇÒ ¶§´Â, ÀÛ¼ºÇÏ´Â ¼Ò½º ÆÄÀÏ(.w)ÀÇ in limbo¸¦ ´ÙÀ½°ú °°ÀÌ ½ÃÀÛÇÏ¸é µË´Ï´Ù.
\input hangulcweb

6 CWEB ¿¹Á¦

Knuth´Â Á¾Á¾ ±×ÀÇ Áý ¿¬±¸½Ç¿¡¼­ ³ª¿Ã ¶§ ÀÌ·¸°Ô ¸»ÇѴٳ׿ä. "CWEB programming is such fun!"
  • UNIXÀÇ Word count(wc): @cbe.pdf (769.99 KB)
    • Karnes´ÔÀÌ Á¦°øÇØÁֽŠTeX by Example Ã¥ÀÇ ¼Ò½º Äڵ带 ÀÌ¿ëÇؼ­ ÀÛ¼ºÇÑ °ÍÀÔ´Ï´Ù.
  • Vector rotation CWEB ¿¹Á¦
  • Jeff SomersÀÇ N°³ÀÇ ¿©¿Õ¹®Á¦
    • cweb ¼Ò½º: @nq.w.gz (8.72 KB)
    • chess ¸ÅÅ©·Î: @chess.zip (116 KB) (ü½ºÆÇÀ» ±×¸®±â À§ÇÑ chess ¸ÅÅ©·Î)
  • Knuth-Morris-Pratt ¹®ÀÚ¿­ °Ë»ö ¾Ë°í¸®µë ±¸Çö

7 Microsoft Visual C++¿¡¼­ CWEB ÇÁ·Î±×·¡¹Ö Çϱâ

CWEB ÇÁ·Î±×·¡¹Ö ÀÛ¾÷Àº ÀüÅëÀû(?)À¸·Î ¸í·ÉÇà¿¡¼­ ÀÌ·ç¾îÁ® ¿Ô½À´Ï´Ù (¹Ï°Å³ª ¸»°Å³ª). ÇÏÁö¸¸ ½Ã°£ÀÌ È帧¿¡ µû¶ó ´õÀÌ»óÀº °í¸®Å¸ºÐÇÏ°Ô º¸ÀÏ ¼öµµ ÀÖ´Â ¸í·ÉÇà¿¡¼­ÀÇ ÀÛ¾÷À» °íÁýÇÒ ¼ö ¾ø´Â »óȲÀÌ µÇ¾ú³ªº¾´Ï´Ù. °³¹ß ȯ°æÀº IDE¶ó´Â ¼ö·ÁÇÏ°í Æí¸®ÇÑ ÅëÇÕ °³¹ß ȯ°æÀ¸·Î ´ëüµÈÁö ÀÌ¹Ì ¿À·¡ÀÔ´Ï´Ù. ÀÌ¿¡ cweb ÇÁ·Î±×·¡¹Ö ÀÛ¾÷ ¿ª½Ã º¯È­ÀÇ È帧¿¡ ¹ß ¸ÂÃ߾ IDEÀÇ ´ëÇ¥°ÝÀ̶ó°í ÇÒ ¼ö ÀÖ´Â Microsoft Visual C++¿Í ¼ÕÀ» Àâ¾Ò½À´Ï´Ù.


À§ ¹®¼­´Â Visual C++¿¡¼­ cweb ÇÁ·Î±×·¡¹ÖÀ» Çϱâ À§ÇÑ ¼¼Æà ¹æ¹ý°ú »ç¿ë ¹æ¹ý, ¿©·¯°¡Áö cweb ÆÁÀÌ µé¾îÀÖ´Â À¯¿ëÇÑ ¹®¼­¶ó°í »ý°¢µË´Ï´Ù.