その他の情報 - SHIORI『真絵(mae)』仕様書
■その他のファイル
-
品詞キーワード定義ファイル mae_wordinfo.txt
「品詞」定義にキーワードを割り当てる定義ファイルです。 左の文字列が「品詞」の名称で、右の文字列がその識別子です。 「品詞」自体の文字列が長いため、SHIORI真絵の中で利用するにあたって、キーワードを割り当てて利便性を上げることを目的にしています。 「品詞」は辞書の定義で使用して、 「キーワード」は辞書変数の定義で使用するので、頻繁に参照するファイルになります。 品詞の分類は階層構造になっており、階層間は"-"で繋いて定義します。
例) 名詞-サ変接続 norn1 名詞-ナイ形容詞語幹 norn2 名詞-一般 norn3 名詞-形容動詞語幹 norn4 名詞-固有名詞-一般 norn5 名詞-固有名詞-人名-一般 norn6 名詞-固有名詞-人名-姓 norn7 名詞-固有名詞-人名-名 norn8 名詞-固有名詞-組織 norn9 名詞-固有名詞-地域-一般 norn10 名詞-固有名詞-地域-国 norn11
辞書変数の定義において、正式な品詞定義である「名詞-固有名詞-人名-一般」でなく、「norn6」と書くだけで済みようになります。
-
使用品詞定義ファイル mae_use.txt
使用する品詞を制限する目的で存在します。 ある品詞はSHIORI真絵と同時に動く他のシステムでは使用するけれど、SHIORI真絵では使用しない場合には、ここに登録しないことでその品詞が扱われなくなります。 形態素解析器との共存を目的としています。品詞の分類の第一階層のみで指定します。
例) 命令 連体詞 連用ゴザイ接続 連用タイ接続
品詞定義において、「命令」「連体詞」「連用ゴザイ接続」「連用タイ接続」から始まる品詞は、辞書登録にて除外します。
-
サーフィス定義ファイル mae_surface.txt
文章の定義で\s[文字列]を\s[数字]に置き換えるためのファイルです。 登録した文字列のみを置き換えます。このファイル自体なくても構いません。
例) 5 微笑み
例のように定義をしておくことで、文章内の「\s[微笑み]」は「\s[5]」に置き換えられます。
■SAORIのまとめ
-
SAORIの初期化
#Initializeタグの中でsaoriload()関数を使用してください。 SHIORI真絵の終了時に自動的に開放されます。またsaoriunload()関数で開放可能です。
- SAORIの使用方法
例) プログラムでresultに結果を入れたい場合 var array[5]; var dummty[5]; var result, saori_rc; saori_rc = saoriload( "math", result, "math.dll" ); array[0] = "sqrt"; array[1] = "4"; saori_rc = saori( "math", result, dummy, array, 2 ); 例) 実行変数で文章中にresultを挿入したい場合 #OnBoot: array[0] = "sqrt"; array[1] = "4"; :end 4の平方根は${%saori:0:math:array:2}です。\e
■エラーハンドリングとデバッグ
-
SHIORI真絵はエラーが発生しても、なるべく異常終了することなく、そのまま動作し続けようとします。 エラーの種類は主に「コンパイル・エラー」と「ランタイム・エラー」にわかれます。 どちらとも初期設定を変更してログを取得することで、だいたいの原因を知ることができます。
コンパイル・エラーとは、条件やプログラムで記述に間違いがあった場合、SHIORI真絵の起動時に発生するエラーのことです。 SHIORI真絵は起動時にすべての条件とプログラムを実行時用の内部コードに変換しています。 よって記述の間違いはすべて起動時に判明するようになっています。
ランタイム・エラーとは、実行時に発生するエラーのことです。プログラムの中で「ave = 100/count;」というプログラム文があったときにcount=0の状態で実行すると 「0で除算」という有名なランタイム・エラーになります。また配列の要素で定義していない大きな数を指定した場合なども発生します。
エラー解決の手順は以下の通りです。
- LOGファイルを開き、「ERROR」という文字列が出ていないか監視する。
- エラーが発生した場合、それがコンパイル・エラーならばタグ名も表示されているので、そのタグの記述を必ず上から順番に調べる。 下の方のエラーは直前のエラーに影響されて発生している可能性があるため。
- 異常終了する場合は、一度mae_variable.txtを削除する。
- ランタイム・エラーはその前後のイベント名から場所を推測する。
■タグとイベントの補足
-
タグの特殊なものとして、ポップアップ、\j 、ヘッドラインの選択などで、特定のURLをブラウザで表示する場合に対応したものがあります。 ポータルやおすすめのポップアップからURLを表示する際に何か出力したい場合には、その「ポップアップの名称」をそのままイベント名としてタグを定義してください。 例えばおすすめに「うさださくら」を追加した場合、文章定義ファイルで「#うさらだくら」というタグが リンクで飛ぶ際に呼ばれます。タイムスロットも使用できます。
\jやヘッドラインの選択でURLを表示する際に何かを出力したい場合には、"Jump."にそのURLを追加したものをイベント名としてタグを定義してください。 使用は推奨しません。 例えばヘッドラインのサイトへ行く機能でhttp://www.moonphase.cc/を表示する場合、文章定義ファイルで「#Jump.www.moonphase.cc/」というタグが呼ばれます。タイムスロットは使用できません。