README.ja 2017/08/25 µ´¼Ö ---- (C) K.Kosako https://github.com/kkos/oniguruma µ´¼Ö¤ÏÀµµ¬É½¸½¥é¥¤¥Ö¥é¥ê¤Ç¤¢¤ë¡£ ¤³¤Î¥é¥¤¥Ö¥é¥ê¤ÎÆÃĹ¤Ï¡¢¤½¤ì¤¾¤ì¤ÎÀµµ¬É½¸½¥ª¥Ö¥¸¥§¥¯¥È¤´¤È¤Ë ʸ»ú¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ò»ØÄê¤Ç¤­¤ë¤³¤È¤Ç¤¢¤ë¡£ ¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ëʸ»ú¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°: ASCII, UTF-8, UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE, EUC-JP, EUC-TW, EUC-KR, EUC-CN, Shift_JIS, Big5, GB18030, KOI8-R, CP1251, ISO-8859-1, ISO-8859-2, ISO-8859-3, ISO-8859-4, ISO-8859-5, ISO-8859-6, ISO-8859-7, ISO-8859-8, ISO-8859-9, ISO-8859-10, ISO-8859-11, ISO-8859-13, ISO-8859-14, ISO-8859-15, ISO-8859-16 * GB18030: µ×ÊÝ·òÍλáÄó¶¡ * CP1251: Byte»áÄó¶¡ ------------------------------------------------------------ ¥é¥¤¥»¥ó¥¹ BSD¥é¥¤¥»¥ó¥¹ ¥¤¥ó¥¹¥È¡¼¥ë ¥±¡¼¥¹£±: Unix¤ÈCygwin´Ä¶­ 1. autoreconf -vfi (* configure¥¹¥¯¥ê¥×¥È¤¬¤Ê¤¤¤È¤­¤À¤±) 2. ./configure 3. make 4. make install ¥¢¥ó¥¤¥ó¥¹¥È¡¼¥ë make uninstall ¹½À®³Îǧ onig-config --cflags onig-config --libs onig-config --prefix onig-config --exec-prefix ¥±¡¼¥¹£²: Windows 64/32bit (Visual Studio)´Ä¶­ make_win64 ¤¢¤ë¤¤¤Ï make_win32 ¤ò¼Â¹Ô onig_s.lib: static link library onig.dll: dynamic link library * Æ°ºî¥Æ¥¹¥È (ASCII/Shift_JIS) 1. cd src 2. copy ..\windows\testc.c . 3. nmake -f Makefile.windows ctest (Visual Studio Community 2015 ¤ÇÆ°ºî³Îǧ) Àµµ¬É½¸½ doc/RE.ja¤ò»²¾È »ÈÍÑÊýË¡ »ÈÍѤ¹¤ë¥×¥í¥°¥é¥à¤Ç¡¢oniguruma.h¤ò¥¤¥ó¥¯¥ë¡¼¥É¤¹¤ë(Oniguruma API¤Î¾ì¹ç)¡£ Oniguruma API¤Ë¤Ä¤¤¤Æ¤Ï¡¢doc/API.ja¤ò»²¾È¡£ oniguruma.h¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë·¿Ì¾UChar(== unsigned char)¤ò̵¸ú¤Ë¤·¤¿¤¤¾ì¹ç ¤Ë¤Ï¡¢ONIG_ESCAPE_UCHAR_COLLISION¤òdefine¤·¤Æ¤«¤éoniguruma.h¤ò¥¤¥ó¥¯¥ë¡¼¥É ¤¹¤ë¤³¤È¡£¤³¤Î¤È¤­¤Ë¤ÏUChar¤ÏÄêµÁ¤µ¤ì¤º¡¢OnigUChar¤È¤¤¤¦Ì¾Á°¤ÎÄêµÁ¤Î¤ß¤¬ Í­¸ú¤Ë¤Ê¤ë¡£ oniguruma.h¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë·¿Ì¾regex_t¤ò̵¸ú¤Ë¤·¤¿¤¤¾ì¹ç¤Ë¤Ï¡¢ ONIG_ESCAPE_REGEX_T_COLLISION¤òdefine¤·¤Æ¤«¤éoniguruma.h¤ò¥¤¥ó¥¯¥ë¡¼¥É ¤¹¤ë¤³¤È¡£¤³¤Î¤È¤­¤Ë¤Ïregex_t¤ÏÄêµÁ¤µ¤ì¤º¡¢OnigRegexType, OnigRegex¤È¤¤¤¦ ̾Á°¤ÎÄêµÁ¤Î¤ß¤¬Í­¸ú¤Ë¤Ê¤ë¡£ Unix/Cygwin¾å¤Ç¥³¥ó¥Ñ¥¤¥ë¡¢¥ê¥ó¥¯¤¹¤ë¾ì¹ç¤ÎÎ㡧 (prefix¤¬/usr/local¤Î¤È¤­) cc sample.c -L/usr/local/lib -lonig GNU libtool¤ò»ÈÍѤ·¤Æ¤¤¤ë¤Î¤Ç¡¢¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤¬¶¦Í­¥é¥¤¥Ö¥é¥ê¤ò¥µ¥Ý¡¼¥È¤·¤Æ ¤¤¤ì¤Ð¡¢»ÈÍѤǤ­¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£ ÀÅŪ¥é¥¤¥Ö¥é¥ê¤È¶¦Í­¥é¥¤¥Ö¥é¥ê¤Î¤É¤Á¤é¤ò»ÈÍѤ¹¤ë¤«¤ò»ØÄꤹ¤ëÊýË¡¡¢¼Â¹Ô»þÅÀ¤Ç¤Î ´Ä¶­ÀßÄêÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï¡¢¼«Ê¬¤ÇÄ´¤Ù¤Æ²¼¤µ¤¤¡£ Win32¤Ç¥¹¥¿¥Æ¥£¥Ã¥¯¥ê¥ó¥¯¥é¥¤¥Ö¥é¥ê(onig_s.lib)¤ò¥ê¥ó¥¯¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢ ¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤È¤­¤Ë -DONIG_EXTERN=extern ¤ò¥³¥ó¥Ñ¥¤¥ë°ú¿ô¤ËÄɲ乤뤳¤È¡£ »ÈÍÑÎã¥×¥í¥°¥é¥à sample/simple.c ºÇ¾®Îã (Oniguruma API) sample/names.c ̾Á°ÉÕ¤­¥°¥ë¡¼¥×¥³¡¼¥ë¥Ð¥Ã¥¯»ÈÍÑÎã sample/encode.c ´ö¤Ä¤«¤Îʸ»ú¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°»ÈÍÑÎã sample/listcap.c Êá³ÍÍúÎòµ¡Ç½¤Î»ÈÍÑÎã sample/posix.c POSIX API»ÈÍÑÎã sample/sql.c ²ÄÊѥ᥿ʸ»úµ¡Ç½»ÈÍÑÎã (SQL-like ¥Ñ¥¿¡¼¥ó) sample/user_property.c ¥æ¡¼¥¶ÄêµÁUnicode¥×¥í¥Ñ¥Æ¥£¤Î»ÈÍÑÎ㠥ƥ¹¥È¥×¥í¥°¥é¥à sample/syntax.c Perl¡¢Java¡¢ASISʸˡ¤Î¥Æ¥¹¥È sample/crnl.c --enable-crnl-as-line-terminator ¥Æ¥¹¥È ¥½¡¼¥¹¥Õ¥¡¥¤¥ë oniguruma.h µ´¼ÖAPI¥Ø¥Ã¥À (¸ø³«) onig-config.in onig-config¥×¥í¥°¥é¥à ¥Æ¥ó¥×¥ì¡¼¥È regenc.h ʸ»ú¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°ÏÈÁȤߥإåÀ regint.h ÆâÉôÀë¸À regparse.h regparse.c¤Èregcomp.c¤Î¤¿¤á¤ÎÆâÉôÀë¸À regcomp.c ¥³¥ó¥Ñ¥¤¥ë¡¢ºÇŬ²½´Ø¿ô regenc.c ʸ»ú¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°ÏÈÁÈ¤ß regerror.c ¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸´Ø¿ô regext.c ³ÈÄ¥API´Ø¿ô regexec.c ¸¡º÷¡¢¾È¹ç´Ø¿ô regparse.c Àµµ¬É½¸½¥Ñ¥¿¡¼¥ó²òÀÏ´Ø¿ô regsyntax.c Àµµ¬É½¸½¥Ñ¥¿¡¼¥óʸˡ´Ø¿ô¡¢Áȹþ¤ßʸˡÄêµÁ regtrav.c Êá³ÍÍúÎòÌÚ½ä²ó´Ø¿ô regversion.c ÈǾðÊó´Ø¿ô st.h ¥Ï¥Ã¥·¥å¥Æ¡¼¥Ö¥ë´Ø¿ôÀë¸À st.c ¥Ï¥Ã¥·¥å¥Æ¡¼¥Ö¥ë´Ø¿ô oniggnu.h GNU regex API¥Ø¥Ã¥À (¸ø³«) reggnu.c GNU regex API´Ø¿ô onigposix.h POSIX API¥Ø¥Ã¥À (¸ø³«) regposerr.c POSIX API¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸´Ø¿ô regposix.c POSIX API´Ø¿ô mktable.c ʸ»ú¥¿¥¤¥×¥Æ¡¼¥Ö¥ëÀ¸À®¥×¥í¥°¥é¥à ascii.c ASCII ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥° euc_jp.c EUC-JP ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥° euc_tw.c EUC-TW ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥° euc_kr.c EUC-KR, EUC-CN ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥° sjis.c Shift_JIS ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥° big5.c Big5 ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥° gb18030.c GB18030 ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥° koi8.c KOI8 ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥° koi8_r.c KOI8-R ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥° cp1251.c CP1251 ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥° iso8859_1.c ISO-8859-1 (Latin-1) iso8859_2.c ISO-8859-2 (Latin-2) iso8859_3.c ISO-8859-3 (Latin-3) iso8859_4.c ISO-8859-4 (Latin-4) iso8859_5.c ISO-8859-5 (Cyrillic) iso8859_6.c ISO-8859-6 (Arabic) iso8859_7.c ISO-8859-7 (Greek) iso8859_8.c ISO-8859-8 (Hebrew) iso8859_9.c ISO-8859-9 (Latin-5 ¤Þ¤¿¤Ï Turkish) iso8859_10.c ISO-8859-10 (Latin-6 ¤Þ¤¿¤Ï Nordic) iso8859_11.c ISO-8859-11 (Thai) iso8859_13.c ISO-8859-13 (Latin-7 ¤Þ¤¿¤Ï Baltic Rim) iso8859_14.c ISO-8859-14 (Latin-8 ¤Þ¤¿¤Ï Celtic) iso8859_15.c ISO-8859-15 (Latin-9 ¤Þ¤¿¤Ï West European with Euro) iso8859_16.c ISO-8859-16 (Latin-10 ¤Þ¤¿¤Ï South-Eastern European with Euro) utf8.c UTF-8 ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥° utf16_be.c UTF-16BE ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥° utf16_le.c UTF-16LE ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥° utf32_be.c UTF-32BE ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥° utf32_le.c UTF-32LE ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥° unicode.c Unicode¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Î¶¦Ä̽èÍý win32/Makefile Win32ÍÑ Makefile (for VC++) win32/config.h Win32ÍÑ config.h and I'm thankful to Akinori MUSHA.