mirror of
https://github.com/php/php-src.git
synced 2024-10-20 07:53:58 +00:00
205 lines
6.2 KiB
Plaintext
205 lines
6.2 KiB
Plaintext
README.ja 2006/05/15
|
||
|
||
鬼車 ---- (C) K.Kosako <sndgk393 AT ybb DOT ne DOT jp>
|
||
|
||
http://www.geocities.jp/kosako3/oniguruma/
|
||
http://www.ruby-lang.org/cgi-bin/cvsweb.cgi/oniguruma/
|
||
http://www.freebsd.org/cgi/cvsweb.cgi/ports/devel/oniguruma/
|
||
|
||
鬼車は正規表現ライブラリである。
|
||
このライブラリの特長は、それぞれの正規表現オブジェクトごとに
|
||
文字エンコーディングを指定できることである。
|
||
|
||
サポートしている文字エンコーディング:
|
||
|
||
ASCII, UTF-8, UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE,
|
||
EUC-JP, EUC-TW, EUC-KR, EUC-CN,
|
||
Shift_JIS, Big5, GB 18030, KOI8-R, KOI8,
|
||
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
|
||
|
||
* GB 18030: 久保健洋氏提供
|
||
* KOI8はデフォルトのセットアップではライブラリの中に含まれない。
|
||
(必要であればMakefileを編集すること)
|
||
------------------------------------------------------------
|
||
|
||
インストール
|
||
|
||
ケース1: UnixとCygwin環境
|
||
|
||
1. ./configure
|
||
2. make
|
||
3. make install
|
||
|
||
アンインストール
|
||
|
||
make uninstall
|
||
|
||
動作テスト (ASCII/EUC-JP)
|
||
|
||
make atest
|
||
|
||
|
||
構成確認
|
||
|
||
onig-config --cflags
|
||
onig-config --libs
|
||
onig-config --prefix
|
||
onig-config --exec-prefix
|
||
|
||
|
||
|
||
ケース2: Win32(VC++)環境
|
||
|
||
1. copy win32\Makefile Makefile
|
||
2. copy win32\config.h config.h
|
||
3. nmake
|
||
|
||
onig_s.lib: static link library
|
||
onig.dll: dynamic link library
|
||
|
||
* 動作テスト (ASCII/Shift_JIS)
|
||
4. copy win32\testc.c testc.c
|
||
5. nmake ctest
|
||
|
||
|
||
ライセンス
|
||
|
||
このソフトウェアがRubyと一緒に使用または配布される場合には、
|
||
Rubyのライセンスに従う。
|
||
それ以外の場合には、BSDライセンスに従う。
|
||
|
||
|
||
正規表現
|
||
|
||
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/syntax.c Perl、Java、ASIS文法のテスト
|
||
|
||
|
||
ソースファイル
|
||
|
||
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関数
|
||
|
||
enc/mktable.c 文字タイプテーブル生成プログラム
|
||
enc/ascii.c ASCII エンコーディング
|
||
enc/euc_jp.c EUC-JP エンコーディング
|
||
enc/euc_tw.c EUC-TW エンコーディング
|
||
enc/euc_kr.c EUC-KR, EUC-CN エンコーディング
|
||
enc/sjis.c Shift_JIS エンコーディング
|
||
enc/big5.c Big5 エンコーディング
|
||
enc/gb18030.c GB 18030 エンコーディング (久保健洋氏 提供)
|
||
enc/koi8.c KOI8 エンコーディング
|
||
enc/koi8_r.c KOI8-R エンコーディング
|
||
enc/iso8859_1.c ISO-8859-1 (Latin-1)
|
||
enc/iso8859_2.c ISO-8859-2 (Latin-2)
|
||
enc/iso8859_3.c ISO-8859-3 (Latin-3)
|
||
enc/iso8859_4.c ISO-8859-4 (Latin-4)
|
||
enc/iso8859_5.c ISO-8859-5 (Cyrillic)
|
||
enc/iso8859_6.c ISO-8859-6 (Arabic)
|
||
enc/iso8859_7.c ISO-8859-7 (Greek)
|
||
enc/iso8859_8.c ISO-8859-8 (Hebrew)
|
||
enc/iso8859_9.c ISO-8859-9 (Latin-5 または Turkish)
|
||
enc/iso8859_10.c ISO-8859-10 (Latin-6 または Nordic)
|
||
enc/iso8859_11.c ISO-8859-11 (Thai)
|
||
enc/iso8859_13.c ISO-8859-13 (Latin-7 または Baltic Rim)
|
||
enc/iso8859_14.c ISO-8859-14 (Latin-8 または Celtic)
|
||
enc/iso8859_15.c ISO-8859-15 (Latin-9 または West European with Euro)
|
||
enc/iso8859_16.c ISO-8859-16
|
||
(Latin-10 または South-Eastern European with Euro)
|
||
enc/utf8.c UTF-8 エンコーディング
|
||
enc/utf16_be.c UTF-16BE エンコーディング
|
||
enc/utf16_le.c UTF-16LE エンコーディング
|
||
enc/utf32_be.c UTF-32BE エンコーディング
|
||
enc/utf32_le.c UTF-32LE エンコーディング
|
||
enc/unicode.c Unicode情報
|
||
|
||
win32/Makefile Win32用 Makefile (for VC++)
|
||
win32/config.h Win32用 config.h
|
||
|
||
|
||
|
||
Ruby 1.8/1.6の日本語化GNU regexとのAPIの違い
|
||
|
||
+ re_compile_fastmap() は削除された。
|
||
+ re_alloc_pattern() が追加された。
|
||
|
||
|
||
残件
|
||
|
||
? Unicode全コードポイント領域での大文字小文字照合
|
||
? Unicodeプロパティ
|
||
? ambig-flag Katakana <-> Hiragana
|
||
? ONIG_OPTION_NOTBOS/NOTEOS追加 (\A, \z, \Z)
|
||
?? \X (== \PM\pM*)
|
||
?? 文法要素 ONIG_SYN_CONTEXT_INDEP_ANCHORSの実装
|
||
?? 改行文字(文字列)を変更できる
|
||
?? 検索位置移動停止演算子 (match_at()からONIG_STOPを返す)
|
||
|
||
and I'm thankful to Akinori MUSHA.
|
||
|
||
|
||
アドレス: K.Kosako <sndgk393 AT ybb DOT ne DOT jp>
|