]>
Commit | Line | Data |
---|---|---|
b602265d DG |
1 | README 2018/04/05\r |
2 | \r | |
3 | Oniguruma ---- (C) K.Kosako\r | |
4 | \r | |
5 | https://github.com/kkos/oniguruma\r | |
6 | \r | |
7 | FIXED Security Issues (in Oniguruma 6.3.0):\r | |
8 | CVE-2017-9224, CVE-2017-9225, CVE-2017-9226\r | |
9 | CVE-2017-9227, CVE-2017-9228, CVE-2017-9229\r | |
10 | \r | |
11 | ---\r | |
12 | Oniguruma is a modern and flexible regular expressions library. It\r | |
13 | encompasses features from different regular expression implementations\r | |
14 | that traditionally exist in different languages. It comes close to\r | |
15 | being a complete superset of all regular expression features found\r | |
16 | in other regular expression implementations.\r | |
17 | \r | |
18 | Its features include:\r | |
19 | * Character encoding can be specified per regular expression object.\r | |
20 | * Several regular expression types are supported:\r | |
21 | * POSIX\r | |
22 | * Grep\r | |
23 | * GNU Regex\r | |
24 | * Perl\r | |
25 | * Java\r | |
26 | * Ruby\r | |
27 | * Emacs\r | |
14b0e578 CS |
28 | \r |
29 | Supported character encodings:\r | |
30 | \r | |
31 | ASCII, UTF-8, UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE,\r | |
32 | EUC-JP, EUC-TW, EUC-KR, EUC-CN,\r | |
33 | Shift_JIS, Big5, GB18030, KOI8-R, CP1251,\r | |
34 | ISO-8859-1, ISO-8859-2, ISO-8859-3, ISO-8859-4, ISO-8859-5,\r | |
35 | ISO-8859-6, ISO-8859-7, ISO-8859-8, ISO-8859-9, ISO-8859-10,\r | |
36 | ISO-8859-11, ISO-8859-13, ISO-8859-14, ISO-8859-15, ISO-8859-16\r | |
37 | \r | |
38 | * GB18030: contributed by KUBO Takehiro\r | |
39 | * CP1251: contributed by Byte\r | |
40 | ------------------------------------------------------------\r | |
41 | \r | |
42 | License\r | |
43 | \r | |
44 | BSD license.\r | |
45 | \r | |
46 | \r | |
47 | Install\r | |
48 | \r | |
49 | Case 1: Unix and Cygwin platform\r | |
50 | \r | |
b602265d DG |
51 | 1. autoreconf -vfi (* case: configure script is not found.)\r |
52 | \r | |
53 | 2. ./configure\r | |
54 | 3. make\r | |
55 | 4. make install\r | |
14b0e578 CS |
56 | \r |
57 | * uninstall\r | |
58 | \r | |
59 | make uninstall\r | |
60 | \r | |
14b0e578 CS |
61 | * configuration check\r |
62 | \r | |
63 | onig-config --cflags\r | |
64 | onig-config --libs\r | |
65 | onig-config --prefix\r | |
66 | onig-config --exec-prefix\r | |
67 | \r | |
68 | \r | |
69 | \r | |
b602265d | 70 | Case 2: Windows 64/32bit platform (Visual Studio)\r |
14b0e578 | 71 | \r |
b602265d | 72 | execute make_win64 or make_win32\r |
14b0e578 | 73 | \r |
b602265d DG |
74 | src/onig_s.lib: static link library\r |
75 | src/onig.dll: dynamic link library\r | |
14b0e578 CS |
76 | \r |
77 | * test (ASCII/Shift_JIS)\r | |
b602265d DG |
78 | 1. cd src\r |
79 | 2. copy ..\windows\testc.c .\r | |
80 | 3. nmake -f Makefile.windows ctest\r | |
81 | \r | |
82 | (I have checked by Visual Studio Community 2015)\r | |
14b0e578 CS |
83 | \r |
84 | \r | |
85 | \r | |
86 | Regular Expressions\r | |
87 | \r | |
88 | See doc/RE (or doc/RE.ja for Japanese).\r | |
89 | \r | |
90 | \r | |
91 | Usage\r | |
92 | \r | |
93 | Include oniguruma.h in your program. (Oniguruma API)\r | |
94 | See doc/API for Oniguruma API.\r | |
95 | \r | |
96 | If you want to disable UChar type (== unsigned char) definition\r | |
97 | in oniguruma.h, define ONIG_ESCAPE_UCHAR_COLLISION and then \r | |
98 | include oniguruma.h.\r | |
99 | \r | |
100 | If you want to disable regex_t type definition in oniguruma.h,\r | |
101 | define ONIG_ESCAPE_REGEX_T_COLLISION and then include oniguruma.h.\r | |
102 | \r | |
103 | Example of the compiling/linking command line in Unix or Cygwin,\r | |
104 | (prefix == /usr/local case)\r | |
105 | \r | |
106 | cc sample.c -L/usr/local/lib -lonig\r | |
107 | \r | |
108 | \r | |
109 | If you want to use static link library(onig_s.lib) in Win32,\r | |
110 | add option -DONIG_EXTERN=extern to C compiler.\r | |
111 | \r | |
112 | \r | |
113 | \r | |
114 | Sample Programs\r | |
115 | \r | |
116 | sample/simple.c example of the minimum (Oniguruma API)\r | |
117 | sample/names.c example of the named group callback.\r | |
118 | sample/encode.c example of some encodings.\r | |
119 | sample/listcap.c example of the capture history.\r | |
120 | sample/posix.c POSIX API sample.\r | |
121 | sample/sql.c example of the variable meta characters.\r | |
122 | (SQL-like pattern matching)\r | |
b602265d | 123 | sample/user_property.c example of user defined Unicode property.\r |
14b0e578 CS |
124 | \r |
125 | Test Programs\r | |
126 | sample/syntax.c Perl, Java and ASIS syntax test.\r | |
127 | sample/crnl.c --enable-crnl-as-line-terminator test\r | |
128 | \r | |
129 | \r | |
130 | Source Files\r | |
131 | \r | |
132 | oniguruma.h Oniguruma API header file. (public)\r | |
133 | onig-config.in configuration check program template.\r | |
134 | \r | |
135 | regenc.h character encodings framework header file.\r | |
136 | regint.h internal definitions\r | |
137 | regparse.h internal definitions for regparse.c and regcomp.c\r | |
138 | regcomp.c compiling and optimization functions\r | |
139 | regenc.c character encodings framework.\r | |
140 | regerror.c error message function\r | |
141 | regext.c extended API functions. (deluxe version API)\r | |
142 | regexec.c search and match functions\r | |
143 | regparse.c parsing functions.\r | |
144 | regsyntax.c pattern syntax functions and built-in syntax definitions.\r | |
145 | regtrav.c capture history tree data traverse functions.\r | |
146 | regversion.c version info function.\r | |
147 | st.h hash table functions header file\r | |
148 | st.c hash table functions\r | |
149 | \r | |
150 | oniggnu.h GNU regex API header file. (public)\r | |
151 | reggnu.c GNU regex API functions\r | |
152 | \r | |
153 | onigposix.h POSIX API header file. (public)\r | |
154 | regposerr.c POSIX error message function.\r | |
155 | regposix.c POSIX API functions.\r | |
156 | \r | |
b602265d DG |
157 | mktable.c character type table generator.\r |
158 | ascii.c ASCII encoding.\r | |
159 | euc_jp.c EUC-JP encoding.\r | |
160 | euc_tw.c EUC-TW encoding.\r | |
161 | euc_kr.c EUC-KR, EUC-CN encoding.\r | |
162 | sjis.c Shift_JIS encoding.\r | |
163 | big5.c Big5 encoding.\r | |
164 | gb18030.c GB18030 encoding.\r | |
165 | koi8.c KOI8 encoding.\r | |
166 | koi8_r.c KOI8-R encoding.\r | |
167 | cp1251.c CP1251 encoding.\r | |
168 | iso8859_1.c ISO-8859-1 encoding. (Latin-1)\r | |
169 | iso8859_2.c ISO-8859-2 encoding. (Latin-2)\r | |
170 | iso8859_3.c ISO-8859-3 encoding. (Latin-3)\r | |
171 | iso8859_4.c ISO-8859-4 encoding. (Latin-4)\r | |
172 | iso8859_5.c ISO-8859-5 encoding. (Cyrillic)\r | |
173 | iso8859_6.c ISO-8859-6 encoding. (Arabic)\r | |
174 | iso8859_7.c ISO-8859-7 encoding. (Greek)\r | |
175 | iso8859_8.c ISO-8859-8 encoding. (Hebrew)\r | |
176 | iso8859_9.c ISO-8859-9 encoding. (Latin-5 or Turkish)\r | |
177 | iso8859_10.c ISO-8859-10 encoding. (Latin-6 or Nordic)\r | |
178 | iso8859_11.c ISO-8859-11 encoding. (Thai)\r | |
179 | iso8859_13.c ISO-8859-13 encoding. (Latin-7 or Baltic Rim)\r | |
180 | iso8859_14.c ISO-8859-14 encoding. (Latin-8 or Celtic)\r | |
181 | iso8859_15.c ISO-8859-15 encoding. (Latin-9 or West European with Euro)\r | |
182 | iso8859_16.c ISO-8859-16 encoding.\r | |
14b0e578 | 183 | (Latin-10 or South-Eastern European with Euro)\r |
b602265d DG |
184 | utf8.c UTF-8 encoding.\r |
185 | utf16_be.c UTF-16BE encoding.\r | |
186 | utf16_le.c UTF-16LE encoding.\r | |
187 | utf32_be.c UTF-32BE encoding.\r | |
188 | utf32_le.c UTF-32LE encoding.\r | |
189 | unicode.c common codes of Unicode encoding.\r | |
14b0e578 CS |
190 | \r |
191 | win32/Makefile Makefile for Win32 (VC++)\r | |
192 | win32/config.h config.h for Win32\r | |
193 | \r | |
194 | \r | |
14b0e578 | 195 | and I'm thankful to Akinori MUSHA.\r |