LiMo BBS System


日記更新一覧
Wiki トピック一覧
カレンダー
トピックリストビュー
タイトルツリービュー
ると's メタファビュー
ると's オーサービュー
携帯電話用ビュー
新規トピック記事の作成

最新記事表示数 [ 5/10/15/25/50/100 ]

表示トピック : POPL:ういかのソースコード

トピック表示解除

No.000562 - Wiki Edit -
Date : Dec.09.2005 18:48'36
Topic : POPL:ういかのソースコード

No.000545 POPL:ういかのソースコード
Date : Nov.24.2005 18:36'48
Edit history : 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 - NewArticle
$Id: lmbbs.rhtml,v 1.17 2003/05/17 17:19:11 rero2 Exp $