KTUGFaq

KTUG FAQ

·Î±×ÀÎ:
ºñ¹Ð¹øÈ£:
°¡ÀÔ
There is no fear in love; but perfect love casteth out fear.
FrontPage › CWEB

r1.34°ú ÇöÀç ¹öÀüÀÇ Â÷ÀÌÁ¡

@@ -15,6 +15,10 @@
ÀÌ ¹®Á¦Á¡À» ÇØ°áÇÏÀÚ.

1. CWEB ½Ã½ºÅÛ ¼Ò½º¸¦ [ftp://ftp.cs.stanford.edu/pub/cweb/cweb.tar.gz cweb.tar.gz] ¿¡¼­ ¹Þ¾Æ¼­, Àû´çÇÑ °÷¿¡ ¾ÐÃàÀ» Ǭ´Ù.
1. make ¸í·ÉÀ¸·Î ÇöÀç µð·ºÅ丮¿¡ ctangle ½ÇÇàÆÄÀÏÀ» ¸¸µç´Ù.
{{{
make
}}}
1. comm-utf8.ch ¶ó´Â À̸§À¸·Î ÆÄÀÏÀ» Çϳª ¸¸µç´Ù. ±× ³»¿ëÀº ´ÙÀ½°ú °°´Ù.
{{{
@x
@@ -95,10 +99,7 @@
* Knuth-Morris-Pratt ¹®ÀÚ¿­ °Ë»ö ¾Ë°í¸®µë ±¸Çö
* cweb ¼Ò½º: attachment:kmp.w.gz
* ´Ü¾î Ƚ¼ö Ãâ·Â: attachment:wordtree.pdf
* ±×¿Ü »ç¼ÒÇÑ °Íµé
* attachment ºñÆ®¸Ê Á¤·Ä: fn.pdf
* attachment:gn.pdf
* attachment:bitmap.pdf

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



¸ñÂ÷

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 ½Ã½ºÅÛÀÇ °³³ä°ú »ç¿ë¹æ¹ýÀº ¸Þ´º¾óÀ» Âü°í ÇÑ´Ù: [http]ÇѱÛCWEB¼³¸í¼­

3 ÇѱÛ(UTF-8) CWEB ¼³Ä¡ ¹æ¹ý

º»·¡ÀÇ CWEB ½Ã½ºÅÛÀº ÇÑ ±ÛÀÚ¸¦ 1¹ÙÀÌÆ® Áï 8ºñÆ®¸¦ »ç¿ëÇÏ´Â ¿µ¾î±Ç¿¡ ¸ÂÃß¾îÁ® Àֱ⶧¹®¿¡, CWEB ½Ã½ºÅÛÀ» ¼öÁ¤ÇÏÁö ¾Ê°í´Â UTF-8 ÀÎÄÚµùµÈ ÇÑ±Û ÇÁ·Î±×·¡¹ÖÀÌ ºÒ°¡´ÉÇÏ´Ù. ÀÌ´Â CWEB ½Ã½ºÅÛÀÌ ³»ºÎÀûÀ¸·Î »ç¿ëÇÏ´Â ¹öÆÛÀÇ Å©±â°¡ ³Ê¹« À۱⠶§¹®ÀÌ´Ù. º»·¡ÀÇ ½Ã½ºÅÛÀ¸·Î ÇÑ±Û cweb ÆÄÀÏÀ» ÀÌ¿ëÇϸé, ´ÙÀ½°ú °°Àº ¿¡·¯ ¸Þ½ÃÁö¸¦ ¸¸³ª°ÔµÈ´Ù.
 ! Input line too long. (l. 387)
ÀÌ ¹®Á¦Á¡À» ÇØ°áÇÏÀÚ.

  1. CWEB ½Ã½ºÅÛ ¼Ò½º¸¦ [ftp]cweb.tar.gz ¿¡¼­ ¹Þ¾Æ¼­, Àû´çÇÑ °÷¿¡ ¾ÐÃàÀ» Ǭ´Ù.
  2. make ¸í·ÉÀ¸·Î ÇöÀç µð·ºÅ丮¿¡ ctangle ½ÇÇàÆÄÀÏÀ» ¸¸µç´Ù.
    make
    
  3. 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
    
  4. MakefileÀ» ¿­¾î¼­ 44¹ø° ÁÙÀ» ´ÙÀ½°ú °°ÀÌ ¼öÁ¤ÇÏ¿©, ¹æ±Ý Àü¿¡ ¸¸µç comm-utf8.ch ÆÄÀÏÀ» Àû¿ëÇÑ´Ù.
    CCHANGES= comm-utf8.ch
    
  5. make cautiously ¶õ ¸í·ÉÀ¸·Î comm-utf8.ch °¡ Àû¿ëµÈ ctangleÀ» ¸¸µç´Ù.
    make cautiously
    
    ±×·¯¸é, ÇöÀç ÀÛ¾÷ÇÏ°í ÀÖ´Â µð·ºÅ丮¿¡ ctangle À̶ó´Â ½ÇÇà ÆÄÀÏÀÌ »ý°åÀ» °ÍÀÌ´Ù.
  6. ÀÌÁ¦ »õ·Î¿î CWEB ½Ã½ºÅÛÀ» ¸¸µé ¸ðµç Áغñ°¡ µÇ¾ú´Ù. ´ÙÀ½°ú °°Àº ¼ø¼­·Î ÄÄÆÄÀÏÇÏ°í ÀνºÅçÇÑ´Ù.
    make all
    make install
    
  7. »ç¿ë¼³¸í¼­¸¦ ¾ò°íÀÚ ÇÑ´Ù¸é, ´ÙÀ½°ú °°ÀÌ ÇÑ´Ù.
    make manual
    ¶Ç´Â,
    make fullmanual
    


4 ÇÑ±Û CWEB ÇÁ·Î±×·¥ ÀÛ¼º ¹æ¹ý

CWEBÀÇ ÇѱÛÈ­´Â DohyunKim´ÔÀÌ ÀÛ¼ºÇϽŠkotexplain.tex, hangulcweb.texÀ» ÀÌ¿ëÇؼ­ °¡´ÉÇÏ´Ù. CWEB ½Ã½ºÅÛ¿¡¼­ TeXÀº ±âº»ÀûÀ¸·Î Plain TeXÀ» ÀÌ¿ëÇϴµ¥, kotexplain.texÀÌ Plain TeX¿¡¼­ ÇѱÛÀ» »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ÇØÁÖ´Â ¸ÅÅ©·ÎÀÌ´Ù. hangulcweb.tex ÆÄÀÏÀº CWEBÀÇ ¿©·¯°¡Áö ¿µ¹® ¸Þ½ÃÁö¸¦ Çѱ۷Π¹Ù²Û °ÍÀÌ°í, ´õ¿íÀÌ pdf¸¦ ÀÌ¿ëÇÒ ¶§, ÇÑ±Û ºÏ¸¶Å©¸¦ °¡´ÉÇÏ°Ô ÇØÁØ´Ù.

À§ µÎ ÆÄÀÏÀº ¸ðµÎ http://cvs.ktug.or.kr/viewcvs/ko.TeX/macro/plain ¿¡¼­ ÃֽŠÆÄÀÏÀ» ¹ÞÀ» ¼ö ÀÖ´Ù.

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

5 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ÀÇ ±â´ÉÀ» ½ÊºÐ ¹ßÈÖÇÏ°í ½ÍÀ¸½Ã´Ù¸é, ´ÙÀ½°ú °°ÀÌ ÇÏ¸é µÈ´Ù.
    % pdftex foo
    ¶Ç´Â
    % etex "\let\pdf+ \input foo"
    % dvipdfmx foo
    
À§ °úÁ¤À» ±×¸²À¸·Î ³ªÅ¸³»¸é ´ÙÀ½°ú °°´Ù.

cweave.jpg


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 ¹®ÀÚ¿­ °Ë»ö ¾Ë°í¸®µë ±¸Çö
  • ´Ü¾î Ƚ¼ö Ãâ·Â: @wordtree.pdf (114.4 KB)
  • ºñÆ®¸Ê Á¤·Ä: @bitmap.pdf (81.97 KB)

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

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


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