hre
Hangeul Regular Expression Library ¶ÀÌ ÆäÀÌÁö´Â http://hre.kldp.netÇÁ·ÎÁ§Æ®ÀÇ È¨ÆäÀÌÁöÀÔ´Ï´Ù.
1.1. ¼Ò°³ ¶ÇÑ±Û Á¤±ÔÇ¥Çö½Ä ¶óÀ̺귯¸®´Â C ÄÚµå·Î ÀÛ¼ºµÇ¾úÀ¸¸ç, ±âÁ¸ ASCII ±â¹ÝÀÇ Á¤±Ô Ç¥Çö½ÄÀÌ °¡Áö´Â "¸ÖƼ¹ÙÀÌÆ® charset" ¿¡ ´ëÇÑ À߸øµÈ 󸮿¡ ´ëÇØ, 100% ¿Ïº®ÇÏ°Ô Ã³¸®ÇÕ´Ï´Ù.
ÇöÀç ÀÌ ÇÁ·ÎÁ§Æ®ÀÇ ¸ñÇ¥´Â POSIX Á¤±Ô Ç¥Çö½ÄÀ» ÁؼöÇÏ´Â ¶óÀ̺귯¸®¸¦ ¸¸µå´Â °ÍÀÌ ¸ñÇ¥ÀÌ´Ù.
ÇöÀç v0.9.8 ¿¡ µé¾î¿Í¼ Character class ¸¦ Á¦¿ÜÇÑ POSIX "extended regular expressions" ¸¦ ¸ðµÎ ó¸®ÇÒ ¼ö ÀÖÀ¸¸ç, Á¡Â÷ÀûÀ¸·Î POSIX "basic regular expressions" ¶ÇÇÑ Áö¿øÇÒ °èȹ¿¡ ÀÖ´Ù.
ÇÑ±Û Á¤±ÔÇ¥Çö½Ä ¶óÀ̺귯¸®´Â v0.9 ¹öÀü´ë¿¡ µé¾î¿Í¼ ÇѱÛÀÇ Æ¯Â¡´ë·Î Ãʼº, Áß¼º, Á¾¼ºÀ» °¢ÀÚ Ã³¸®ÇÒ ¼ö ÀÖµµ·Ï ÇÔÀ¸·Î½á, ÇѱÛÀ» Á» ´õ À¯¿¬ÇÏ°Ô Ç¥ÇöÇÒ ¼ö ÀÖµµ·Ï ±¸ÇöÇÏ¿´À¸¸ç, ÀÌ¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº ¾Æ·¡ÀÇ "ÇÑ±Û Á¤±Ô Ç¥Çö½Ä" ¿¡¼ ¼³¸íµÇ¾î ÀÖÀ¸´Ï, ÂüÁ¶Çϱ⠹ٶõ´Ù.
ÇÁ·ÎÁ§Æ® ȨÆäÀÌÁö´Â http://kldp.net/projects/hre¿¡ ÀÚ¸®Àâ°í ÀÖ´Ù.
1.1.1. Ư¡ ¶
[:alnum:] [:alpha:] [:blank:] [:cntrl:] [:digit:] [:graph:] [:lower:] [:print:] [:space:] [:upper:] 1.1.1.1. Áö¿øÇÏ´Â platform µé ¶ÇöÀç ÇÑ±Û Á¤±ÔÇ¥Çö½Ä ¶óÀ̺귯¸®¿¡¼ ¼º°øÀûÀ¸·Î Å×½ºÆ®µÈ platform Á¤º¸´Â ¾Æ·¡¿Í °°´Ù.
(´Ù¸¥ Arch ȤÀº OS, Lang ¿¡¼ ¼º°øÀûÀ¸·Î Å×½ºÆ® ¿Ï·á¸¦ ÇϽŠºÐÀº ¾Æ·¡¿¡ Ãß°¡ÇØ ÁÖ½Ã¸é ´ë´ÜÈ÷ °¨»çÇÏ°Ú½À´Ï´Ù. ÄÚµå ¼öÁ¤ÀÌ ÀÖ¾úÀ» °æ¿ì, °³¹ßÀڵ鿡°Ô ¸ÞÀÏ·Î ÆÐÄ¡¸¦ º¸³»ÁÖ¼¼¿ä.)
1.1.1.2. ±âÁ¸ (¿µ¾î?) Á¤±Ô Ç¥Çö½ÄÀÇ ¹®Á¦Á¡ ¶¿©±â¿¡¼´Â °³¹ßÀÚ°¡ ¿Ö ÇÑ±Û Á¤±Ô Ç¥Çö½ÄÀ» ¸¸µé°Ô µÇ¾ú´ÂÁö¿¡ ´ëÇؼ ª°Ô À̾߱âÇÏ·Á°í ÇÑ´Ù. ±âÁ¸ grep À̳ª, egrep µî ´Ù¸¥ ¿©Å¸ Á¤±Ô Ç¥Çö½ÄÀ» »ç¿ëÇÒ °æ¿ì, ´ëºÎºÐÀÇ °÷¿¡¼ ÇѱÛÀ» Á¦´ë·Î ó¸®ÇÏÁö ¸øÇÑ´Ù´Â »ç½ÇÀ» È®ÀÎÇÒ ¼ö Àִµ¥, ¿¹¸¦ µé¾î,
$ grep "[°¡³ª´Ù]"¿Í °°Àº ¹®¹ýÀÌ ÀÖ´Ù°í °¡Á¤À» ÇßÀ» ¶§, ¹®¹ýÀûÀÎ Àǹ̴ ºñ·Ï "°¡", "³ª", "´Ù" Áß ¸ÅÄ¡µÇ´Â °ÍÀ» ¼±ÅÃÇÏ°íÀÚ ÇÏ´Â ÀǵµÀÌÁö¸¸, ½ÇÁ¦ Çغ¼ °æ¿ì, "¶ó" µµ ÀνÄÀÌ µÈ´Ù. ¿Ö³ÄÇϸé, grep ¿¡¼´Â ÇѱÛÀ» Áö¿øÇÏÁö ¾Ê±â ¶§¹®¿¡, "°¡", "³ª", "´Ù" ÀÇ Ã¹¹ÙÀÌÆ®, µÎ¹ø° ¹ÙÀÌÆ®¿¡ ´ëÇÑ °¢°¢ÀÇ Ç¥ÇöÀ» ÀνÄÇϱ⠶§¹®ÀÌ´Ù. Áï ¹¾î¼ ÇÑ±Û ÇÑ character ·Î ÀνÄÇÏÁö ¸øÇϴµ¥, ÀÌ°ÍÀº 1 ¹ÙÀÌÆ® ÀÌ»óÀ» »ç¿ëÇÏ´Â ¸ðµç ±¹°¡¿¡¼ ±âÁ¸ Á¤±Ô½ÄÀ» ±×´ë·Î »ç¿ëÇÒ ¼ö ¾ø´Â ÀÌÀ¯Áß ÇϳªÀÌ´Ù. (ÀϺ»¾îµµ 2 ¹ÙÀÌÆ®ÀÌÁö¸¸ ÀڽŵéÀÇ ³ë·ÂÀ¸·Î ÀÌ ¹®Á¦¸¦ ÇØ°áÇÑ µí ÇÏ´Ù.) ÀÌ·¯ÇÑ ¹®Á¦Á¡Àº ¿©·¯ Á¤±Ô½Ä ´ëºÎºÐ¿¡¼ ¹ß»ýÇϴµ¥, "°¡*", "°¡+", "°¡?", "°¡{3,5}" µîµî ´ëºÎºÐÀÇ Á¤±Ô½Ä Ç¥ÇöÀÌ ¸ÖƼ ¹ÙÀÌÆ® Äڵ带 °¡Áö´Â ±ÛÀÚ¿¡ ´ëÇؼ´Â ó¸®ÇÏÁö ¸øÇÏ´Â°Ô Çö½ÇÀÌ´Ù. ÀÌ·¯ÇÑ ¹®Á¦Á¡À» ÇØ°áÇϱâ À§Çؼ ÀÌ Á¤±Ô Ç¥Çö½Ä ÇÁ·ÎÁ§Æ®¸¦ ½ÃÀÛÇÏ°Ô µÇ¾ú´Ù. ÇöÀç CVS ¹öÀü¿¡¼´Â POSIX ÀÇ "Basic regular expression" ÀÌ ¿øÇÏ´Â ±â´É¿¡ ´ëÇؼ ¸ðµÎ ±¸ÇöµÇ¾î ÀÖÀ¸¸ç, ÀÌÁ¦ °¢ BRE, ERE ¸¦ Á¶°Ç¿¡ ¸Â°Ô ¹è¿ÇÏ´Â °Í¸¸ ó¸®Çϸé, °ð v1.0 ÀÌ µÉ °ÍÀÌ´Ù. 1.1.2. ´ÜÁ¡ ¶
Testing in15... ÀԷ ǥÇö½Ä : [<¤¡-¤¾,¤¿-¤Ó,¤¡-¤¾>] ÀÔ·Â ¹®ÀÚ¿ : aaaaa°aa Execution times (seconds) Process Syntax : 0.23 (1150%) usr 0.02 ( 0%) sys 0.25 (1253%) wall Apply form : 0.01 (50%) usr 0.00 ( 0%) sys 0.01 (50%) wall Form State : 0.13 (650%) usr 0.00 ( 0%) sys 0.13 (651%) wall TOTAL : 0.02 0.00 0.020~1 ÃÊ°¡ ¼ÒÀ¯µÇ¸ç, À¯´ÏÄÚµåÀÇ °æ¿ì, Testing in16... ÀԷ ǥÇö½Ä : [<????????????] ÀÔ·Â ¹®ÀÚ¿ : aaaaaaaaê°뷲aaaaaaaa Execution times (seconds) Process Syntax : 1.75 (8750%) usr 0.02 ( 0%) sys 1.77 (8868%) wall Apply form : 0.02 (100%) usr 0.00 ( 0%) sys 0.02 (100%) wall Form State : 0.74 (3700%) usr 0.00 ( 0%) sys 0.90 (4509%) wall TOTAL : 0.02 0.00 0.021~3 ÃÊ°¡ ¼ÒÈ¿µÈ´Ù. (ÃÖÀûÈ°¡ Àý½ÇÈ÷ ÇÊ¿ä, HRE »ç¿ëÀÚ ¹®¼ÀÇ ÇÑ±Û Á¤±Ô Ç¥Çö½ÄÀ» Âü°í) 1.1.3. ERE ¿Í HRE ÀÇ Â÷ÀÌÁ¡ ¶POSIX "extended regular expressions" (ÀÌÇÏ ERE) ¿Í HRE (ÇÑ±Û Á¤±ÔÇ¥Çö½Ä ¶óÀ̺귯¸®) ¿¡´Â ¾à°£ Â÷ÀÌ°¡ Á¸ÀçÇÑ´Ù. ERE ¿¡ ´ëÇؼ´Â Regexp Syntax Summary¿¡¼ °³·«ÀûÀ¸·Î È®ÀÎÇÒ ¼ö ÀÖÀ¸¸ç, ¾Æ·¡¿¡¼´Â ERE ¿Í HREÀÇ Â÷ÀÌÁ¡¸¸ ¾ð±ÞÇϵµ·Ï ÇÏ°Ú´Ù.
HRE_OPTIONS_MODE (&option) = HRE_MODE_ERE; 1.2.1.1.1. C ¶
1.2.1.1.2. Python ¶
$ tar xvvzf pyhre-version.tar.gz $ cd pyhre-version $ python setup.py build $ python test.py $ python test_suite.py # python setup.py install
1.2.1.2. ÀÚ½ÅÀÇ application ¿¡ Ãß°¡ÇÏ´Â ¹æ¹ý ¶* ÆÄÀÏ Ãß°¡ ¹æ¹ý (make install ¸¦ ÅëÇؼ /usr/local/ ¿¡ ¼³Ä¡ÇÏÁö ¾ÊÀ» °æ¿ì)
#include <hre/hre.h>; make install À» ÅëÇؼ ½Ã½ºÅÛ µð·ºÅ丮¿¡ ¼³Ä¡ÇÏ¿´À¸¹Ç·Î À§¿Í °°ÀÌ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
1.2.1.3. ÇÑ±Û Á¤±Ô Ç¥Çö½Ä ¶KLDP ¿¡¼ ÇÑ±Û Á¤±Ô Ç¥Çö½ÄÀÇ ³íÀÇ°¡ ÀÖ¾ú´Âµ¥, ±× ±ÛÀº °Å±â ¿¡¼ È®ÀÎÇÒ ¼ö ÀÖÀ¸¸ç, ÇÑ±Û Á¤±Ô Ç¥Çö½Ä ¶óÀ̺귯¸®¿¡¼ Ç¥ÇöÇÏ´Â ¹æ½ÄÀº "À͸í"ÀÇ »ç¿ëÀÚ°¡ ¾Ë·Á ÁֽŠ¹æ¹ýÀ» ¸ðÅ·ΠÇÑ´Ù. ¹°·Ð ±× ¶§ ¿Ã¸®½Å ¹æ¹ý°ú ¾à°£ Â÷ÀÌ°¡ ÀÖ´Ù. ÀÌÀü ±× ±ÛÀº ¾Æ·¡¿Í °°Àº ³»¿ëÀÌ´Ù.
ÀÏ´Ü ¿µ¾î Á¤±Ô½Ä ¾²µíÀÌ ÇÑ±Û Á¤±Ô½ÄÀ» ¸¸µå´Â °ÍÀº º°·Î È¿°ú°¡ ¾ø´Ù°í º¾´Ï´Ù.
¿µ¾î³ª ÀϺ»¾î ¸ðµÎ, ±ÛÀÚ ÇϳªÇϳª°¡ ÃÖ¼Ò ´ÜÀ§ÁÒ. (¹°·Ð ÀϺ»¾î´Â 2¹ÙÀÌÆ®ÀÔ´Ï´Ù¸¸,
À½Àý ÃßÃ⠺κи¸ ÀÖ´Ù¸é °á°úÀûÀ¸·Î Å« Â÷ÀÌ´Â ¾ø½À´Ï´Ù.) ÇÏÁö¸¸, ÇѱÛÀº ÇÑ ±ÛÀÚ°¡
±âº»ÀûÀ¸·Î À½¼Ò°¡ Á¶ÇÕµÇ¾î »ý±â±â ¶§¹®¿¡, ±×°ÍÀ» µû·Î ó¸®Çϱâ Èûµì´Ï´Ù. ¼³·É ºÐ¸®´Â
ÇÒ ¼ö ÀÖÁö¸¸, ±×°ÍÀ» ¸¶À½´ë·Î Á¶ÇÕÇÏ´Â °ÍÀº ¶Ç ´Ù¸¥ ¹®Á¦ÁÒ. ƯÁ¤ Ãʼº, Á¾¼º ¸î°¡Áö¿¡
ƯÁ¤ Áß¼ºÀ» Á¶ÇÕÇÑ´Ù°í ÇÒ ¶§, ±ÛÀÚ¸¸ Ä¡´Â °ÍÀ¸·Î´Â ¹®Á¦°¡ ÀÖ½À´Ï´Ù.
(ÃʼºÀÌ ¤¡, ¤¤, ¤§, ¤©, ¤±, Áß¼ºÀÌ ¤¿, ¤Á, ¤À, ¤Ã, ¤Å, ¤Ä, Á¾¼ºÀÌ ¤¡, ¤¤, ¤©ÀÎ
Á¶°ÇÀ» »ý°¢ÇØ º¸¼¼¿ä. À½Àý·Î´Â °ÅÀÇ ºÒ°¡´ÉÇÏÁÒ.)
°³ÀÎÀûÀ¸·Î´Â Á¤±Ô½Ä ¾È¿¡ ±¸ºÐ ±âÈ£¸¦ ÀÌ¿ëÇؼ ÃÊ, Áß, Á¾¼ºÀ» µû·Î ºÐ¸®ÇÏ´Â °ÍÀÌ
ÁÁÀ» °Í °°±º¿ä. ±×·¸´Ù¸é
[<Ãʼº,Áß¼º,Á¾¼º>]
[ ~ ] ¸ÞŸ¹®ÀÚ³» ÇÑ±Û Ç¥ÇöÀº ¹Ýµå½Ã '<' ¿Í '>' »çÀÌ¿¡ ¿Í¾ß Çϸç, 'Ãʼº' ¹× 'Áß¼º', 'Á¾¼º'Àº °¢°¢ ´ÙÀ½°ú °°Àº ¹üÀ§ Ç¥ÇöÀ» ÇÒ ¼ö ÀÖ´Ù.
¿¹1) ¤¡-¤¾ ¿¹2) ¤¿-¤Á ¿¹3) ¤¡¤¤¤§¤±-¤¾ ¿¹4) ¤¡-¤§¤¾¤§¶ÇÇÑ Ãʼº, Áß¼º, Á¾¼º Áß ¹üÀ§ Ç¥ÇöÀ» »ý·«ÇÒ ¼ö ÀÖ´Ù. ÇÏÁö¸¸ ¹Ýµå½Ã ',' ´Â Ç×»ó ºÙ¿©ÁÖ¾î¾ß ÇÑ´Ù. Áï ÇÑ±Û Ç¥Çö½Ä¿¡ ´ëÇÑ ÃÖ¼ÒÀÇ Ç¥Çö½ÄÀº <,,> °¡ µÇ¾î¾ß ÇÑ´Ù´Â °ÍÀÌ´Ù. ÀÌ·¯ÇÑ Á¶ÇÕÀ» ÅëÇؼ Ç¥ÇöÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀº ´ÙÀ½°ú °°Àº ¹æ¹ýÀÌ ÀÖÀ» ¼ö ÀÖ°Ú´Ù.
!!!ÁÖÀÇ!!! ÇÑ±Û Á¤±Ô Ç¥Çö½ÄÀ» »ç¿ëÇÒ °æ¿ì, °¡Àå ¹®Á¦½Ã µÉ ¼ö ÀÖ´Â ºÎºÐÀÌ ÇÑ±Û Á¤±Ô½ÄÀÇ compile ½Ã°£Àε¥,
<¤¡-¤¾,¤¿-¤Ó,¤¡-¤¾> ¿Í °°Àº ¸ðµç ÇѱÛÀ» ó¸®Çϵµ·Ï ¼³Á¤ÇÑ´Ù¸é, È®Àå ¿Ï¼ºÇüÀÇ ¸ðµç ±ÛÀÚÀÎ 11742 ±ÛÀÚ¸¦
¸ðµÎ ó¸®ÇØ¾ß Çϱ⠶§¹®¿¡, ¿µ¹®ÀÚ¸¦ ó¸®ÇÏ´Â Á¤±Ô Ç¥Çö½Ä ¶óÀ̺귯¸®¿Í ÁúÀûÀ¸·Î ½Ã°£Â÷ÀÌ°¡ ³¯ ¼ö ¹Û¿¡ ¾ø´Ù.
±×·¡¼ »ç¿ëÀÚ´Â ÇÑ±Û Á¤±Ô Ç¥Çö½ÄÀ» »ç¿ëÇÒ ¶§ ÃÖ¼ÒÇÑÀÇ ÇÑ±Û (Áï, ÀÚ½ÅÀÌ Ã£°íÇÏ ÇÏ´Â ÇÑ±Û ¹üÀ§ÀÇ °¡Àå ÀÛÀº °Í)
À» ¼±ÅÃÇÏ¿© performance ¿¡ ½Å°æÀ» ¾µ ÇÊ¿ä°¡ ÀÖ´Ù. ¸ô·Ð ÃßÈÄ ¹öÀü¿¡¼´Â ÀÌ¿¡ ´ëÇÑ ÃÖÀûȸ¦ ¼öÇàÇϵµ·Ï
ÄÚµå °³¼±À» ÇÒ °ÍÀÌ´Ù.
1.2.1.4. »ç¿ëÀÚ ÇÔ¼ö ¼³¸í ¶ÇÑ±Û Á¤±Ô Ç¥Çö½Ä ¶óÀ̺귯¸®¿¡¼ »ç¿ëÀÚ°¡ ÀÌ ¶óÀ̺귯¸®¸¦ »ç¿ëÇϱâ À§Çؼ ¾Ë¾Æ¾ß ÇÏ´Â ÇÔ¼ö´Â ¸ðµÎ 3 °³°¡ Á¸ÀçÇϴµ¥, °¢ ÇÔ¼öÀÇ ¼³¸íÀ» ÇÏ¸é ¾Æ·¡¿Í °°´Ù.
DFA : abc STR : babcdÀ§¿Í °°ÀÌ DFA °¡, "abc" ÀÌ°í, ¹®ÀÚ¿ÀÌ "babcd" ÀÏ °æ¿ì, hre_search () ÇÔ¼ö´Â 4 ¸¦ ¹ÝȯÇÑ´Ù. Áï 4 ´Â STR ÀÇ 'c' ¸¦ °¡¸£Å²´Ù. ¸¸¾à match µÇ´Â ¹®ÀÚ¿À» ãÀ» ¼ö ¾øÀ» °æ¿ì, -1 À» ¹ÝȯÇÑ´Ù.
#include <hre/hre.h>
#define SUCCESS_EXIT_CODE 1 #define FATAL_EXIT_CODE (44 | 0x10000000) /* Á¤±Ô Ç¥Çö½Ä ¶óÀ̺귯¸®ÀÇ phony main ÇÔ¼ö. */ int main (argc, argv) int argc; char *argv[]; { int i; char *re = "[<¤¡,¤¿,><¤§,¤¿,>]"; char *str = "´Ù"; hre_t test; hre_option_t option; HRE_OPTIONS_MODE (&option) = HRE_MODE_ERE; /* »ç¿ëÀÚ°¡ ÀÔ·ÂÇÑ Á¤±Ô½ÄÀ» ÄÄÆÄÀÏÇÑ´Ù. */ if (!(test = hre_compile (re, option))) { printf ("Á¤±Ô Ç¥Çö½Ä¿¡ ¿À·ù°¡ Á¸ÀçÇÕ´Ï´Ù.\n"); return (FATAL_EXIT_CODE); } if (HDFA_ERRNO (test)) { fprintf (stderr, "ERROR NUMBER = %d\n", HDFA_ERRNO (test)); hre_free (test); } /* ã±â. ¹Ýȯ°ªÀÌ -1 ÀÌ ¾Æ´Ò °æ¿ì ÆÐÅÏÀ» ãÀº °ÍÀ̸ç, ¹Ýȯ°ªÀº ãÀº ÆÐÅÏÀÇ ³¡À» °¡¸£Å°°í ÀÖ´Ù. */ i = hre_search (test, str); if (i == -1) { printf ("ÆÐÅÏ°ú ¸Â´Â ¹®ÀÚ¿À» ãÁö ¸øÇÏ¿´½À´Ï´Ù.\n"); return (FATAL_EXIT_CODE); } /* ¸Þ¸ð¸® ¸±¸®Áî */ hre_free (test); printf ("ÀÔ·ÂÇÑ Á¤±Ô Ç¥Çö½Ä : %s\n", re); printf ("ºñ±³ÇÑ ¹®ÀÚ¿ : %s\n", str); printf ("ãÀº À§Ä¡ : %d\n", i); return (SUCCESS_EXIT_CODE); } 1.2.2.1. HRE CVS build ¹æ¹ý ¶CVS ¿¡ Á¸ÀçÇÏ´Â ÃÖ½ÅÀÇ ÆÐÅ°Áö¸¦ ´Ù¿î·Îµå ¹Þ¾Æ ¼³Ä¡ÇÏ´Â ºÎºÐ±îÁö ¼³¸íÀ» ÇÏ¿´´Ù.
$ mkdir temporary $ cd temporary¿ì¼± ÀÓÀÇÀÇ ºó µð·ºÅ丮¸¦ »ý¼ºÇÑ´Ù. $ CVSROOT=:ext:username@cvs.kldp.net:/cvsroot/hgre°³¹ßÀÚÀÏ °æ¿ì, À§¿Í °°ÀÌ ¼³Á¤ÇÏ°í, Anonymous ÀÏ °æ¿ì ¾Æ·¡¿Í °°ÀÌ ¼³Á¤ÇÑ´Ù. $ CVSROOT=:pserver:anonymous@cvs.kldp.net:/cvsroot/hre $ cvq -q loginAnonymous ÀÏ °æ¿ì, ·Î±×ÀÎ ÇÒ ¶§ ¾ÏÈ£¸¦ ¹¯´Âµ¥, ±×³É ¿£ÅÍÄ¡¸é µÈ´Ù. ÀÌÈĺÎÅÍ´Â ±×´ë·Î ÀÔ·ÂÇصµ ¹«¹æÇÒ °ÍÀÌ´Ù. $ cvs -q checkout -P hre $ cd hre $ aclocal $ autoheader $ automake -aÀ§ÀÇ automake ¸¦ ½ÇÇàÇÏ´Â °úÁ¤¿¡¼ ¿À·ù°¡ ¹ß»ýÇÒ ¼ö Àִµ¥, ¿À·ù°¡ ¹ß»ýÇÒ °æ¿ì, ´Ù½Ã Çѹø ´õ ½ÇÇàÇØ ÁÖ¸é µÈ´Ù. ¿À·ù°¡ ¹ß»ýÇÏÁö ¾ÊÀ» ¶§ ±îÁö ½ÇÇàÇÑ´Ù. $ autoconf $ ./configure $ make $ make check 1.2.2.2. HRE ó¸® ÀýÂ÷ ¶hre ¿¡¼ »ç¿ëÀÚ ÀÔ·ÂÀ» ¹Þ¾Æµé¿© DFA Å×À̺íÀ» ¸¸µå´Â °úÁ¤Àº ´ÙÀ½°ú °°´Ù.
1.2.2.3. Debugging ¶ÀÔ·ÂµÈ Á¤±Ô Ç¥Çö½ÄÀº b°¡*a ÀÌ´Ù.
(gdb) b hre_form_state .... .... (gdb) p debug_state (p, sp) -------+-------+-------+-------+-------+-------+-------+------ Ŭ·¡½º |±æÀÌ |*SList | SMRL |Empty |Shift |Sh.lhs |Sh.rhs -------+-------+-------+-------+-------+-------+-------+------ 3 | 1 | 14 0 | 0000 | 0 | 1 | 0xa1 | 1 2 | 1 | 11 0 | 0000 | 1 | 0 | | 1 | 1 | 4 0 | 0000 | 0 | 2 | a 0xb0 | 2 3 0 | 1 | 5 0 | 0000 | 0 | 1 | b | 1 -------+-------+-------+-------+-------+-------+-------+------ (gdb) 1.3. ´Ù¿î·Îµå ¹× CVS ¶* http://kldp.net/project/showfiles.php?group_id=497 ¿¡¼ ´Ù¿î·Îµå °¡´É
* http://kldp.net/scm/?group_id=497 ¿¡¼ CVS È®ÀÎ °¡´É
1.3.4. v0.9.7 ¶
1.3.5. v0.9.6f ¶* ÇÑ±Û ¹üÀ§ Ç¥Çö½Ä ¼Óµµ °³¼± (<¤¡-¤¾,¤¿-¤Ó,¤¡-¤¾> ÀÇ ¿Ï¼ºÇüÀº 1 ÃÊ, À¯´ÏÄÚµå´Â 3~4ÃÊ°¡ ¼ÒÀ¯.)
* À¯´ÏÄÚµå ¹× ¿Ï¼ºÇü Å×À̺í Á¤º¸ ¼öÁ¤.
1.3.7. v0.9.6d ¶* autoconf ÈµÈ HRE ¹öÀüÀÌ´Ù. (make install ½Ã /usr/local/include/, /usr/local/lib/ ÇÏÀ§ µð·ºÅ丮¿¡ hre.h ÆÄÀÏ°ú libhre.a ÆÄÀÏÀÌ °¢°¢ º¹»çµÈ´Ù.)
1.3.9. v0.9.6 ¶* ÇÑ±Û ¹üÀ§ Ç¥Çö½Ä¿¡¼ Áö¿øÇÏÁö ¾Ê´ø À¯´ÏÄÚµå Áö¿ø. (ÀÌÁ¦ Áö¿øÇÏ´Â ¸ðµç Ç¥Çö½Ä¿¡¼ È®Àå ¿Ï¼ºÇü°ú, À¯´ÏÄڵ带 »ç¿ëÇÒ ¼ö ÀÖÀ½.)
1.3.10. v0.9.5a ¶* Cygwin ¿¡¼ ÀÛ¾÷ÇÏ´Ù »ý±ä CRLF Á¦°Å. (¹ö±× ¸®Æ÷ÆÃÀ» ÇØÁֽŠÀÌÀçÈ«´Ô¿¡°Ô °¨»çµå¸³´Ï´Ù.)
1.3.11. v0.9.5 ¶* ¹ö±×°¡ ¾ø´Â ÇÑ ¸¶Áö¸· ¸±¸®Áî°¡ µÉ °ÍÀÔ´Ï´Ù. (Á¦°¡ »ý°¢ÇÑ Á¤±Ô½Ä ¸ð¾çÀº ¸ðµÎ °®Ãß¾îÁ³±â ¶§¹®¿¡ ¸¶Áö¸·À¸·Î »ý°¢ÇÑ °ÍÀÔ´Ï´Ù.)
* Å×½ºÆ® ·ê¼ÂÀ» ÀÛ¼ºÇÒ ¼ö ÀÖ´Â ±â¹Ý ¸¶·Ã
* ¿¹¿Ü »óȲ¿¡ ´ëÇÑ ¿À·ù º¹±¸ ±â´É Ãß°¡
* Á¤±Ô Ç¥Çö½Ä Á¶ÇÕ¿¡¼ ¿À·ù ¼öÁ¤
1.3.12. v0.9 ¶* ÇÑ±Û Á¤±Ô Ç¥Çö½Ä (<¤¡,¤¿,¤±> ÇüÅÂ) Áö¿ø (°æÃà)
* ¸ÞŸ¹®ÀÚ Áö¿ø
* ( ) ¸ÞŸ¹®ÀÚ Áö¿ø
* ¸î¸î ¸Þ¸ð¸® °ü·Ã ¹ö±× Á¦°Å
1.3.14. v0.8 ¶* ÀνÄÇÒ ¼ö ÀÖ´Â token ÀÇ Á¦ÇÑÀÌ ÀÖÀ½. ÀÚ¼¼ÇÑ »çÇ×Àº HRE »ç¿ëÀÚ ¹®¼ ¸¦ ÂüÁ¶ ¹Ù¶÷.
* Á¤±Ô½ÄÀÌ ¿Ï¼ºÇü, Á¶ÇÕÇü, À¯´ÏÄÚµå·Î ÀÌ·ç¾îÁö´õ¶óµµ Á¤È®ÇÑ DFA Å×ÀÌºí »ý¼º.
* Á¤Àû ¶óÀ̺귯¸® ±¸¼º. (Á¤±Ô Ç¥Çö½Ä ¶óÀ̺귯¸®¸¦ ÀÌ¿ëÇÑ sample ÆÄÀÏ Á¸Àç.)
2. ¶óÀ̼¾½º ¹× °³¹ßÀÚ Á¤º¸ ¶Hangeul Regular Expression Copyright (C) 2001 Weongyo Jeong & Hyejin Soang This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. Contact : Weongyo Jeong - weongyo@hotmail.com Hyejin Soang - redcloak@empal.com |
Economy makes men independent. |