Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/uyjulian/kronigruma


https://github.com/uyjulian/kronigruma

krkr-plugin

Last synced: 6 days ago
JSON representation

Awesome Lists containing this project

README

        

TITLE: 鬼車プラグイン(experimental)
AUTHOR: miahmie

●これはなに?

RegExpの正規表現エンジンを鬼車に変更するプラグインです。
吉里吉里Z由来のコードを使用しています。

吉里吉里2と吉里吉里Zの正規表現の仕様差を吸収したい場合に使用してください。
(当然ながらZの方の仕様にあわせることになります)

現状で厳密な動作チェックを行っておりませんので実践投入には
それなりのリスクがあることを予めご承知ください。

●使い方

Plugins.linkでリンクするだけです。
unlinkすると元に戻ります。

機能については 元の RegExp クラスと同様です。
正規表現のルールが若干異なります。
詳細は鬼車の仕様を参照してください。

●コンパイル

onigフォルダに鬼車のソースを展開して置いてください。
http://www.geocities.jp/kosako3/oniguruma/index_ja.html
ver 5.9.5 にてコンパイル/動作確認しています。

premake4にてプロジェクトを作成してください。(vs20xxフォルダ作成済み)
コンパイルには
../tp_stub.*
../00_simplebinder/*
のフォルダ・ファイルが必要です。

●コードについて諸注意

Main.cppからtjsRegExpをincludeし,事前にいくつかの定義を
#define で置き換えて本体とプラグイン側での差異を吸収するという
若干トリッキーな構成になっています。
特にtTJSNativeClassはプラグイン側では定義がないので
独自に実装したtTJSNativeClassForRegExpに置き換えて対応してあります。
・プラグイン用のNativeClass管理
・元のRegExp/Array.splitの保存(及び復帰)
・Array.splitの呼び出しのフックからRegExp.splitを呼び出し
コードを読む場合はその辺に注意してください。

●ライセンス

このプラグインのライセンスは吉里吉里本体および吉里吉里Zに準拠してください。

tjsRegExp.* のファイルは吉里吉里Zのソースを改変したものを使用しています。
Main.cpp の一部のコードは xpressive プラグインのコードを流用しています。

----------------------------------------------------------------------------
吉里吉里Zライセンス:

Copyright (c), W.Dee and contributors All rights reserved.
Contributors
Go Watanabe, Kenjo, Kiyobee, Kouhei Yanagita, mey, MIK, Takenori Imoto, yun
Kirikiri Z Project Contributors
W.Dee, casper, 有限会社MCF, Biscrat, 青猫, nagai, ルー, 高際 雅之, 永劫,
ゆんゆん探偵, りょうご(今は無きあの星), AZ-UME, 京 秋人,
Katsumasa Tsuneyoshi, 小池潤, miahmie, サークル獏, アザナシ, はっしぃ,
棚中製作所, わっふる/waffle, ワムソフト, TYPE-MOON, 有限会社エムツー
----------------------------------------------------------------------------
ソースコード形式かバイナリ形式か、変更するかしないかを問わず、以下の条件を満
たす場合に限り、再頒布および使用が許可されます。

・ソースコードを再頒布する場合、上記の著作権表示、本条件一覧、および下記免責
条項を含めること。
・バイナリ形式で再頒布する場合、頒布物に付属のドキュメント等の資料に、上記の
著作権表示、本条件一覧、および下記免責条項を含めること。
・書面による特別の許可なしに、本ソフトウェアから派生した製品の宣伝または販売
促進に、組織の名前またはコントリビューターの名前を使用してはならない。

本ソフトウェアは、著作権者およびコントリビューターによって「現状のまま」提供
されており、明示黙示を問わず、商業的な使用可能性、および特定の目的に対する適
合性に関する暗黙の保証も含め、またそれに限定されない、いかなる保証もありませ
ん。著作権者もコントリビューターも、事由のいかんを問わず、損害発生の原因いか
んを問わず、かつ責任の根拠が契約であるか厳格責任であるか(過失その他の)不法
行為であるかを問わず、仮にそのような損害が発生する可能性を知らされていたとし
ても、本ソフトウェアの使用によって発生した(代替品または代用サービスの調達、
使用の喪失、データの喪失、利益の喪失、業務の中断も含め、またそれに限定されな
い)直接損害、間接損害、偶発的な損害、特別損害、懲罰的損害、または結果損害に
ついて、一切責任を負わないものとします。