========================================================================== プログラマブル準AI 華和梨 Phase 8.2.4 ========================================================================== ■これは何ですか 華和梨 Phase8 正式リリース版です。 ライセンスを始め、新仕様に関するかなりの情報がドキュメント化されています。 document/index.htmlを、ご使用のブラウザでご覧下さい。 ディレクトリ構成は以下のようになっています。 kawari-824/ …… プロジェクトルート readme.1st …… この文書 license.txt …… 修正BSDライセンス文 bin/ …… 各種実行ファイル shiori.dll …… SHIORI (栞サブシステム) kosui.exe …… 幸水 (デバッグ用コンソールアプリ) kawari_encode2.exe …… 辞書暗号化ツール kawari_decode2.exe …… 辞書複合化ツール document/ …… ドキュメント index.html …… ドキュメントトップページ build/ …… ビルド環境 BUILD.TXT …… ビルド方法 contrib/ …… 取り込んだパッチ ■備考 リリース版のコンパイルはMinimalist GNU Win32環境で行っています。 2005/10/30 KAWARI Developer Team (Meister/Nise-Meister/Sato/Shino/Suikyo) ========================================================================== ChangeLog 2005/10/30 Phase 8.2.4 * rfindコマンドが検索に失敗したり、仕様にない数値を返すバグを修正。 libkawari/kawari_ns.cppのTEntry::RFindを修正。 * Visual C++ 7.1用でコンパイルする際のプロジェクトファイルを添付。 (Thanks: 芝やんさん) * 華和梨がVisual C++ 7.1でコンパイルできない問題を修正。 misc/l10n.cppのctow関数の式解釈順序依存部分を削除。(Thanks: 芝やんさん) * メイクファイル(gcc.mak)ninix-aya向け部分のtypoを修正(Thanks: jadoさん) 2005/07/03 Phase 8.2.3 * 辞書系コマンドのインデックス管理コードを整理 * inc/decの添え字を範囲指定可能に機能拡張。指定範囲の単語を全てinc/decする。 2005/06/21 Phase 8.2.3RC (非公開) * 演算式で数値/文字列自動判定が間違っていたバグを修正。 * リリースに使用するコンパイラをMinGW 4.1.0(gcc 3.4.2)に * リリースのバイナリを、gccによる直接dll生成に切り替え(dllwrapはobsolute?)。 * gcc3.xのwarning対応。 * splitのぬるぽbugをfix. * inc/decが負の添え字でハングするbugをfix * mktimeコマンド追加 2004/09/05 Phase8.2.2 * Phase 8.2.1において、辞書系コマンドのインデックスで負の値が使えなくなって いたバグを修正 2004/09/04 Phase8.2.1 * 辞書系コマンドに共通で、「ー」など一部の文字を含むエントリ名のインデックス 指定が出来ないバグを修正(Thanks 89さん@OpenKEEPSスレ) * あべさんのninix-aya向けパッチ、phonohawkさんの偽林檎向けパッチをソースに 取り込み(Thanks あべさん、phonohawkさん) 2004/02/01 Phase8.2.0 * dateコマンドに第2引数をepocからの経過秒数と解釈し、現在の時刻と同じように フォーマット出力するよう機能追加 * splitに第3引数として""を与えた時ハングアップするバグを修正 * splitに第3引数として""を与えた場合と第3引数を省略した場合が等価になるよう 機能追加。どちらも文字ごとに分割する * splitにあわせ、joinも第3引数省略時は""を与えた場合と等価になるよう機能追加 * listsubコマンドが、既に消去したエントリツリー構造まで見つけるバグを修正 * 文字列検索/置換系コマンドにおいて、マッチパターンに""を指定した場合、 マニュアル通りに全ての文字境界にマッチするよう修正 * 文字列検索/置換系コマンドにおいて、存在しないインデックスを指定した場合、 ハングアップしたり、正しくない検索結果を返すバグを修正。存在しない インデックスを与えた場合、失敗(""もしくは-1、コマンド依存)を返す。 * rsubコマンド追加 * getenvコマンド追加 * textappendコマンド追加 * continue 構文コマンド追加。このコマンドはループ構文中でのみ機能する。 * 上記に合わせ、break 構文コマンドはループ構文中でのみ機能するよう変更 2003/05/18 Phase8.1.0 * splitの空要素に関する扱いがPhase7.3.1の頃と異なっていたバグをfix * 要素を区切り文字で結合するコマンドjoin追加 * コンパイルに用いるUPXのバージョンを1.2.4に変更 * saorilistコマンド追加 * "function <関数名>" で関数定義を取れるようにした * rmfunc 構文コマンド追加 * xargsの第一引数に、存在しない、もしくは空のエントリ名を指定するとエラー になるバグをfix * shiftcodeがshiftと同じ実装になっていたバグをfix(Thanks ふぁんとむ9さん) * 空文字列とのマッチがtrueとならないことがあったバグをfix * 華和梨エンジンを完全オブジェクト化(ログストリームなども含む)。同一プロセ ス内に複数インスタンスの生成が可能。1スレッド/インスタンス制限有り。主に 偽林檎, ninixへの適用を前提。 なお、現状では複数インスタンス生成をサポートするSAORIが存在しない。native なSAORIについては、唯一性保証クラスでガードしている。追って、オブジェクト SAORI規格の策定が必要。 * 勝手規格 SHIORI OBJECT Interface API(so_*)の追加 * POSIXプラットフォーム向けSHIORIインターフェースの再定義と、SHIORI-POSIX メンテナンスの凍結 * Java, PythonのSHIORI-Server, SAORI-Client I/Fに仮対応。主に偽林檎、ninix 対応の叩き台。 2002/09/05 Phase8.1.0 beta1 (非公開) * 引数によりreverseが動かなくなっていたバグをfix * ファイル/ディレクトリの存在確認コマンド群isdir/isexist/isfile追加 * dateコマンドに%s(1970/1/1 00:00:00 UTCからの経過秒数)追加 * ユーザーズマニュアルの「!~」記述ミスとKISリファレンスのdate説明不備を 修正。(Thanks たくるさん) * マニュアルの「置換できないケース」に「集合演算式の演算子」記載漏れを 修正。(Thanks ダイスさん) * find、rfindが存在しないエントリを検索した時、必ず0を返すバグをfix(Thanks とりあたまさん) * SAORIの多重ロードなどに関する対策(Thanks りゅうさん、lmmさん) 2002/07/05 Phase8.0.0 * KISコマンドオブジェクトがデストラクトされていなかったバグをfix(Thanks 今井さん) * 幸水起動時に、デフォルトのSystem.DataPathとしてフルパスを設定するよう にした。 * ドキュメント追加(幸水によるデバッグなど)、整備。 * KIS強化短期決戦プロジェクトであったProject KIUは、当初のスケジュール からは大幅に遅れたものの、より現実に即した形で、より高い品質を達成し たものと信ずる。Project KIUは、本日をもって解散される。 * 以降のメンテナンスは、通常モードの華和梨開発チームがメンテナとなって 行われる。 * 正式公開 2002/06/23 Phase8.0.0 RC3 patch1 (非公開) * 各種メッセージの日本語化、一晩で作業完。時間って貴重。 日本語化メッセージを使うには、rccharsetコマンドを使ってください。 ex) rccharset Shift_JIS; 2002/06/22 Phase8.0.0 RC3 * 何カ所か、無条件にmax=list.length()-1しているところがあった。 * 配列アクセスの逆コンパイルで、$[]が増殖するバグをfix * ifの逆コンパイルでelseが余計に入るバグをfix * clearで存在しない単語をインデックスすると止まる(4G回のループが回る)バグ をfix(Thanks みずひらさん) * 色々ドキュメントを手直し。(Thanks みずひらさん, 特にcommunicateのドキュメントバグをfix(Thanks lmmさん) 2002/06/18 Phase8.0.0 RC2 patch2 * kosuiが、カレントディレクトリのkawarirc.kisを読まないバグをfix(Thanks 118さん@さおりスレ , みずひらさん) * ついでに、デフォルトのDataPathが空になるバグをfix * ついでに、kawarirc.kisを読まなくする、-norcオプションを追加 * エラーメッセージの分離/まとめ作業開始 2002/06/17 Phase8.0.0 RC2 patch1 * 演算式の'('〜')'が逆コンパイルされないバグをfix(Thanks 時乃さん) * name, craftmanwのリソース問い合わせに対応。オーバーライド可。(Thanks たくるさん) 2002/06/15 Phase8.0.0 RC2 * ビルドのシステムを多少変更 * kosuiの日本語メッセージ削除 * destruct時にwriteprotectを外す * コンパイラの無限ループをまた一つ潰した 2002/06/06 Phase8.0.0 RC1(非公開) * 単語中の空白の扱いを以前と同等のものに戻す。実際の動作は以下。 - 行頭行末の空白を削除 - エントリ定義の':'や文デリミタ(','や';')の直後の空白を削除 - 単語の末尾に「空白+文デリミタ」がある場合、その空白を削除 2002/06/02 Phase8.0.0 β10.1 * 以下のバグ/不具合を修正 - shiori.dllの動作がどんどん遅くなるバグ - ASSERT_IF_PROTECTEDが名前を正しく吐かない(直したのを忘れていた) 2002/05/27 Phase8.0.0 β10 * エントリ内検索コマンド find/rfind * entry操作コマンド cleartree/listsub/listtree/copy/copytree/move/movetree * 華和梨デバッガON/OFFコマンド debugger * 試験的に完全複数行モード導入。 エントリ名 [, エントリ名 ... ] ( 文, 文, 文, 文 ) という感じ。普通っぽい。丸括弧は必須。この丸括弧は、その中で、 ','による文のセパレートが可能な点でブロックとは異なる。 * 演算式で真偽値を"true"/"false"で出力する(仕様どおり)よう修正 * 以下のバグ/不具合を修正 - 演算式の結合順序に関する大バグ(Thanks みずひらさん) - DataPath設定バグ(Thanks こやまさん) - SecurityLevel設定(されない)バグ - readdirの結果格納バグ(Thanks 今井さん) - substrの引数判定バグ - SAORI-ClientにてGET Version時にプロトコル名が付かないバグ(Thanks 名無し さん@里々スレ) - ログ設定を無視して出力する部分 - 様々なドキュメントバグ(keeps8のトークも含む) * ちょびっと高速化 2002/05/04 Phase8.0.0 β9.1 * エントリ配列呼び出しで、負の値を認識していなかった。 * Direct SSTPにより、kdb(もどき)復活。受け側にスクリプトが必要。 2002/05/02 Phase8.0.0 β9 * コンパイラの無限ループバグをfix. 昔直した覚えがあるんだけどなー。 * kis_reference.html。ついに終わったよー! * β公開開始 2002/05/01 Phase8.0.0 β8.2(非公開) * compare * textload/readdirの引数の順番を変更 * version,craftman,shioriidのオーバーライドを許す * 存在しないエントリに対するリードアクセスでログを吐くケースを実用域に限定。 loglevel decl増設。 2002/04/28 Phase8.0.0 β8.1(非公開) * wordcount, entrycount * ライセンス問題完全決着。やっと公開できる。 2002/04/27 Phase8.0.0 β8 * System.Resource.を守ることは無意味なので、2.5リソース取得手法を System.Callback.OnResourceに変更. * foreachがバグっていた! * string系KISで負のインデックスを認識 * substrの第三引数の解釈を部分文字列の長さに変更. * writeprotectコマンド追加 * Logger若干修正 * 存在しないエントリを呼び出した時にログ 2002/04/26 Phase8.0.0 β7.1 * 文字列の逆コンパイルバグ * match_atのSJIS問題 * cncpathその他のSJIS問題 2002/04/25 Phase8.0.0 β7 * mingw版に差し替え * getrandomが登録されていなかった(-_-; * garbage collector * KIS_logfileの未初期化ポインタによるリロード落ちをfix. 2002/04/24 Phase8.0.0 β6 * programming.html * リソースコンパイルに失敗していたので、一時的に取り外し。 2002/04/23 Phase8.0.0 β5 * programming.html腑分け * さとー氏のドキュメント導入 * ドキュメントちまちま手直し * ベア文字列をモード分け。強烈。 * ついにtest, exprコマンドを削除。dllが再び300KBを切った。 2002/04/22 Phase8.0.0 β4 * securitylevel 指定コマンド * insert, match_at * eraseは必要なかった。clearがあった。 * MT BSDライセンス版 * randomseed復活 -> srand * start.html * license問題対応完了。MTライセンス表記まで含めたライセンス情報は、 ver license;で出力。もう面倒… * license.html 2002/04/19 Phase8.0.0 β3 * エントリ名を読む部分の文法と実装を若干修正。 結局$$entry[0][1]とかできるように…… * callsaoriで落ちる件。半ばbccのバグ。 * SHIORI/3.0対応 * Log機能、再々度強化 * BNF修正とそれに合わせたコンパイラの変更。 * index.html 2002/04/17 Phase8.0.0 β2 * SAORI Client * Log機能、再度強化 2002/04/15 Phase8.0.0 β1 * 新インタプリタとPhase7.9.0をマージ。 ========================================================================== ■8.2(??) * i18n patch (Thanks whoami) ■9.0(???) * boost regex * rexpr ? lambda ? SAORI/2.0 ? namespace