1README.ja  2017/08/25
2
3鬼車  ----   (C) K.Kosako <kkosako0@gmail.com>
4
5https://github.com/kkos/oniguruma
6
7鬼車は正規表現ライブラリである。
8このライブラリの特長は、それぞれの正規表現オブジェクトごとに
9文字エンコーディングを指定できることである。
10
11サポートしている文字エンコーディング:
12
13  ASCII, UTF-8, UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE,
14  EUC-JP, EUC-TW, EUC-KR, EUC-CN,
15  Shift_JIS, Big5, GB18030, KOI8-R, CP1251,
16  ISO-8859-1, ISO-8859-2, ISO-8859-3, ISO-8859-4, ISO-8859-5,
17  ISO-8859-6, ISO-8859-7, ISO-8859-8, ISO-8859-9, ISO-8859-10,
18  ISO-8859-11, ISO-8859-13, ISO-8859-14, ISO-8859-15, ISO-8859-16
19
20* GB18030: 久保健洋氏提供
21* CP1251:  Byte氏提供
22------------------------------------------------------------
23
24ライセンス
25
26  BSDライセンス
27
28
29インストール
30
31 ケース1: UnixとCygwin環境
32
33   1. autoreconf -vfi   (* configureスクリプトがないときだけ)
34
35   2. ./configure
36   3. make
37   4. make install
38
39   アンインストール
40
41     make uninstall
42
43   構成確認
44
45     onig-config --cflags
46     onig-config --libs
47     onig-config --prefix
48     onig-config --exec-prefix
49
50
51
52 ケース2: Windows 64/32bit (Visual Studio)環境
53
54   make_win64 あるいは make_win32 を実行
55
56      onig_s.lib:  static link library
57      onig.dll:    dynamic link library
58
59   * 動作テスト (ASCII/Shift_JIS)
60      1. cd src
61      2. copy ..\windows\testc.c .
62      3. nmake -f Makefile.windows ctest
63
64   (Visual Studio Community 2015 で動作確認)
65
66
67
68正規表現
69
70  doc/RE.jaを参照
71
72
73使用方法
74
75  使用するプログラムで、oniguruma.hをインクルードする(Oniguruma APIの場合)。
76  Oniguruma APIについては、doc/API.jaを参照。
77
78  oniguruma.hで定義されている型名UChar(== unsigned char)を無効にしたい場合
79  には、ONIG_ESCAPE_UCHAR_COLLISIONをdefineしてからoniguruma.hをインクルード
80  すること。このときにはUCharは定義されず、OnigUCharという名前の定義のみが
81  有効になる。
82
83  oniguruma.hで定義されている型名regex_tを無効にしたい場合には、
84  ONIG_ESCAPE_REGEX_T_COLLISIONをdefineしてからoniguruma.hをインクルード
85  すること。このときにはregex_tは定義されず、OnigRegexType, OnigRegexという
86  名前の定義のみが有効になる。
87
88  Unix/Cygwin上でコンパイル、リンクする場合の例:
89  (prefixが/usr/localのとき)
90  cc sample.c -L/usr/local/lib -lonig
91
92  GNU libtoolを使用しているので、プラットフォームが共有ライブラリをサポートして
93  いれば、使用できるようになっている。
94  静的ライブラリと共有ライブラリのどちらを使用するかを指定する方法、実行時点での
95  環境設定方法については、自分で調べて下さい。
96
97
98  Win32でスタティックリンクライブラリ(onig_s.lib)をリンクする場合には、
99  コンパイルするときに -DONIG_EXTERN=extern をコンパイル引数に追加すること。
100
101
102使用例プログラム
103
104  sample/simple.c    最小例 (Oniguruma API)
105  sample/names.c     名前付きグループコールバック使用例
106  sample/encode.c    幾つかの文字エンコーディング使用例
107  sample/listcap.c   捕獲履歴機能の使用例
108  sample/posix.c     POSIX API使用例
109  sample/sql.c       可変メタ文字機能使用例 (SQL-like パターン)
110  sample/user_property.c ユーザ定義Unicodeプロパティの使用例
111
112
113テストプログラム
114  sample/syntax.c    Perl、Java、ASIS文法のテスト
115  sample/crnl.c      --enable-crnl-as-line-terminator テスト
116
117
118ソースファイル
119
120  oniguruma.h        鬼車APIヘッダ (公開)
121  onig-config.in     onig-configプログラム テンプレート
122
123  regenc.h           文字エンコーディング枠組みヘッダ
124  regint.h           内部宣言
125  regparse.h         regparse.cregcomp.cのための内部宣言
126  regcomp.c          コンパイル、最適化関数
127  regenc.c           文字エンコーディング枠組み
128  regerror.c         エラーメッセージ関数
129  regext.c           拡張API関数
130  regexec.c          検索、照合関数
131  regparse.c         正規表現パターン解析関数
132  regsyntax.c        正規表現パターン文法関数、組込み文法定義
133  regtrav.c          捕獲履歴木巡回関数
134  regversion.c       版情報関数
135  st.h               ハッシュテーブル関数宣言
136  st.c               ハッシュテーブル関数
137
138  oniggnu.h          GNU regex APIヘッダ (公開)
139  reggnu.c           GNU regex API関数
140
141  onigposix.h        POSIX APIヘッダ (公開)
142  regposerr.c        POSIX APIエラーメッセージ関数
143  regposix.c         POSIX API関数
144
145  mktable.c          文字タイプテーブル生成プログラム
146  ascii.c            ASCII エンコーディング
147  euc_jp.c           EUC-JP エンコーディング
148  euc_tw.c           EUC-TW エンコーディング
149  euc_kr.c           EUC-KR, EUC-CN エンコーディング
150  sjis.c             Shift_JIS エンコーディング
151  big5.c             Big5 エンコーディング
152  gb18030.c          GB18030 エンコーディング
153  koi8.c             KOI8 エンコーディング
154  koi8_r.c           KOI8-R エンコーディング
155  cp1251.c           CP1251 エンコーディング
156  iso8859_1.c        ISO-8859-1  (Latin-1)
157  iso8859_2.c        ISO-8859-2  (Latin-2)
158  iso8859_3.c        ISO-8859-3  (Latin-3)
159  iso8859_4.c        ISO-8859-4  (Latin-4)
160  iso8859_5.c        ISO-8859-5  (Cyrillic)
161  iso8859_6.c        ISO-8859-6  (Arabic)
162  iso8859_7.c        ISO-8859-7  (Greek)
163  iso8859_8.c        ISO-8859-8  (Hebrew)
164  iso8859_9.c        ISO-8859-9  (Latin-5 または Turkish)
165  iso8859_10.c       ISO-8859-10 (Latin-6 または Nordic)
166  iso8859_11.c       ISO-8859-11 (Thai)
167  iso8859_13.c       ISO-8859-13 (Latin-7 または Baltic Rim)
168  iso8859_14.c       ISO-8859-14 (Latin-8 または Celtic)
169  iso8859_15.c       ISO-8859-15 (Latin-9 または West European with Euro)
170  iso8859_16.c       ISO-8859-16
171                     (Latin-10 または South-Eastern European with Euro)
172  utf8.c             UTF-8    エンコーディング
173  utf16_be.c         UTF-16BE エンコーディング
174  utf16_le.c         UTF-16LE エンコーディング
175  utf32_be.c         UTF-32BE エンコーディング
176  utf32_le.c         UTF-32LE エンコーディング
177  unicode.c          Unicodeエンコーディングの共通処理
178
179  win32/Makefile     Win32用 Makefile (for VC++)
180  win32/config.h     Win32用 config.h
181
182
183and I'm thankful to Akinori MUSHA.
184