LiMo WikiWiki page --
Wiki トピック一覧
/ 同一トピック掲示板 /
掲示板
POPL:ういかのソースコード
Since : Nov.24.2005 18:36'48
LastModify : Dec.10.2005 03:48'36
POPL:Top
ういかのソースコードについての簡単な説明を予定
ソースコードのダウンロード
ここからういかのソースコードをダウンロードできます。
http://www.limo.fumi2kick.com/chara_lang/uika_src.tgz
ういかのソース仕様
ういかは ruby で書かれています。
実装レイヤーとしては 3層あって、StackLang層、ペルソナ層、インターフェース層となります。
StackLang層
スタック型のインタプリタ言語の実装レイヤー。
基本、ユーザーが眼にすることはない。
***stack_lang.rb
スタック操作のみを行う StackLangLv0 から始まって、そのサブクラスである Lv1, Lv2, Lv3 と徐々に機能が増えていく。
ペルソナ層
キャラクターのペルソナ(人格)を実装するレイヤー。
ユーザーからのリクエストを StackLang層に伝えて、その結果をキャラクターっぽくユーザーへリターンする部位。
無駄なおしゃべりはここで発生する。
プログラム言語のフィルターなのだろうか。
***persona_uika.rb
コマンドリクエスト自体は StackLang の透過に近い。
会話部分が StackLang で書かれている。
インターフェース層
ユーザーインターフェースを提供するレイヤー。
今回は WEB アプリケーションという形態をとっているので CGI。
実際にういかの文章や絵を表示する場所でもある。
***uika.cgi
HTML とペルソナ層を繋ぐ橋渡し。
***prot1.htm
HTML本体のテンプレート。
CGI はこのテンプレート内の特定箇所を書き換えて表示する。
CGI ロジックと HTML テンプレートは分離しているので、(書き換え条件を維持することを条件に)それぞれに編集可能。
LiMo BBS System - WikiWiki Page
$Id: lmwiki.rhtml,v 1.4 2003/05/17 17:19:11 rero2 Exp $