梨野 簡単履歴3

野 簡単履歴3


もっと過去の簡単履歴
20010830
 好き嫌いはその人の自由。どうこう言うつもりはないです。
 明らかにそのへんの不勉強なマスコミの報道を鵜呑みにして語っているところにひっかかっただけです。
 対象をよく知らずに独創性のかけらもないありがちな意見を展開する姿勢に、昨今の少年犯罪に間抜けなコメントを返す自称識者と同じ匂いを感じただけです。

 ここ二晩ほど梨野スクリプトのコードを眺めているんだが、どー考えてもこのコードで構文木が作成できるわけない気がしてきた。
 組み込み関数の返り値、どうやって処理してるんだ?

/*
例えば梨野スクリプトで、
strcpy(user_event,"NoSearchDic");
という風に指定されたら、request_getsentence()を呼ばずに
単に 204 No Content を返すようにするとか。
*/

 採用。次回改定で入れます。
 試験用に使っているゴーストの辞書、小さいからあんまり気付かないとこですな。
 それ以前に梨野スクリプト自身がどーにかなりそうだけど。

20010829
/*
あれの倍以上金のかかったロケットが2基も鉄屑になってるし、
*/

 これがH-II 5号機と7号機のことを指しているとしたら、それは事実ではありません。
 H-II 5号機は通信放送技術衛星「かけはし」(COMETS)の予定軌道への投入に失敗しましたが、「かけはし」は100日間、7回に渡る軌道変更に成功し、1年以上の運用で当初の目的の半分以上の実験を実施しています。
   もちろん、これをもってH-II 5号機の打ち上げが成功だったとは言えません。しかし失敗報道は熱心で、こういった結果をまったくフォローしないマスコミその他には憤りを感じます。まるで自動車事故でドアがへこんだだけで全損扱いされているような気分です。
 繰り返します。当初の目的の半分以上は達成しているのです。
 しかし今日のニュースステーションでの報道も全損扱いでした。
 まあ現在のマスコミ報道にはあまり期待していません。その対象に特に興味の無い人は自分では調べもせずにそれを鵜呑みにするでしょうし、周囲にその不完全なあるいは間違ったことを吹聴する人もいるでしょう。

 私は、スタージョンの法則は現実をよく言い当てていると思っています。たまに絶望感に襲われることもありますが、100%がそうではないと思っています。

/*
夢とか希望とかそんなのはどうでもいいです。
*/

 まあ共通プロトコルを持っていない人の首根っこつかんで自説を語るほど熱心ではないのでご安心を。

20010829
 H-2A打ち上げ成功。めでたい。

/*
この数日で打ち上げの事実を知り何を目的として打ち上げるのかもよく分かってないような人間が今さら成功を祈り始めて「やった成功だー!」とか喜んだところでかなりどうしようもない気はします。
*/

 そうは思いません。そのうちの何割か、もしくは数パーセントはこれを機会に宇宙開発に興味を持つようになるでしょう。
 私の手元には NASDA 発行の H-II 2号機のプレスキットがあります。1994年8月の打ち上げのときのものです。私はこの資料をとあるコンベンションで現地に取材に行ったS本氏からいただきました。テレビの前で打ち上げを見ているだけの人にはまず入手できないものです。もちろん入手が不可能なわけではありませんが、それなりに困難でした。
 現在ではインターネットでプレスキットはまるまる入手可能です。以前と違い、よく分かっていないならば報道記者に配られるレベルの資料は即座に入手可能です。
 この数日で打ち上げの事実を知った人の0.2%でもそれらの資料にたどり着き、宇宙開発に興味を持ってくれれば、我々の望む未来への道がちょっとは広くなるでしょう。
 何事においても、発端なんてのはそーゆーものだと思います。
 昨日と一昨日、ここにH-2Aのことを書いたのも、「ここ数日で打ち上げを知った人」を一人でも増やせればという考えがあったことは否定しません。

 ちなみに私は、会社で時計とタイムシート見ながら、
「SRB燃焼終了……切り離し」
とかぶつぶつ呟いてました。
 ところで記者会見での有人宇宙飛行発言……期待していいのか?

20010828-2
 phase1.25 "NasinoScript test"公開。
 "test"の文字が消えるのは、まともなエラー処理が付いた時。付ける予定はまだ無いが。

 SHIORI/2.5対応。内部では GetString というイベントに変換され、Reference0ID が入ります。
nasino event GetString reference0[sakura.recommendbuttoncaption]:うりゃあ
てな感じで。

 Nasino Script に date() 関数追加。
time = date("%hour") てな感じで。引数は %month,%day,%hour,%minute,%second が使用可能。なはず。

 あんまり使い込んでないけど、一応動作は確認してます。
 さて、一応宿題事項は終わった気がするので、しばらくは細かいブラッシュアップや整理を行う予定。
 あと手元で作って実験に使ってるゴーストをもちょっとまともにしてやりたいなあ。

/*
早坂@梨野さんとは、このオフが初対面だったはず。
その後、一緒に同人誌を作ることになるとは、その時思っても見なかったよ(笑)
*/

 たしかThinkPad220で話がはずんだんだっけ。あのころは無茶苦茶やりましたなあ。
 駒場寮のニュースはしみじみでした。

20010828
/*
なで反応のためにOnMouseMoveイベントを
梨野スクリプトで処理していたのがまずかったのかも。→script.nc
*/

 うーん、この構造ならイベントにひっかからないと処理終わるのでそんなに負荷高くないと思うのですが。
 マウスイベントは
if( strcmp(event,"OnMouseMove") == 0 ){
	if( strcmp(reference4,"Head") == 0 ){
		if( atoi(reference3) == 0 ){
		}
		else{
		}
	}
	else if( strcmp(reference4,"Bust") == 0 ){
	}
}
			
とした方が多少負荷低くなるかと。
 しかしいちいち最適化を手動でやらなければいけないってのは問題だな。
 "redo" period 24 あたりでは OnMouse 系のイベントを過剰に発行していたらしいので、そのせいかも。
 しかしいきなり関数追加されているのにはびっくり。

 H-2A・F1、29日の打ち上げはGO。
 最終的な打ち上げまでの GO/NO GO の判定はあと4つ。
 さーて、いよいよだな。

20010827
 SF大会で遊んだり、日本SFファングループ連合会議年次総会でマイク握ったり、仕事であいかわらずはまっていたり、出張したり、宇宙科学研究所に行って最前線の研究者のアツい語りを聞いてたりしてました。
 次はH-2Aの打ち上げを……見に行けるはずもなく。とりあえずDVカメラは取材に行く宇宙作家クラブの某氏に託しましたが。
 頼むから無事にあがってくれよ……

 それはそれとして、仕事は今週で一区切りするはずなので、そろそろこっちのペースも上げれそうな気が。とりあえずSHIORI/2.5の実装と nasino script の date() 関数の実装はほとんど終わりましたが。

/*
マウスカーソルが立ち絵をかすめただけで
BGM(Winamp)にプチプチとノイズが入るのは嫌です。
embryoが重いのか、梨野が重いのか、
それとも自分の辞書の作りがまずいのか。
*/

 Windowsが…ってのは無しでしょうなあ。
 梨野スクリプトが重いせいというのはあるかも。
 allow event,deny event といった設定でスクリプト処理するイベントとしないイベントを区別できるようにしたほうがいいかもしれない。

/*
他の栞作者って、そこんとこチェックしてるんだろうか・・・。
またオレがへっぽこなだけ?(´д`;)
*/

 未だに SHIORI/2.3には対応してませんが……

20010818
 コミケでジャンク・ヤードに来ていただいた方々、どうもありがとうございます。偽AI系の開発者の方々が時間差でぱらぱら来ていただきましたが、できれば全員で顔つきあわせたかったですねえ。

それはそれとして、phase1.24 "NasinoScript test"公開。
 電波塔黒任意で発覚したネットワーク更新で死ぬ対策と、喋り頻度の動的変更を実装。
nasino event OnChoiceSelect reference0[interval_1]: \h\s[5]うるさいとか言わないでね。$(set talk_interval 10)\e
			
 こんな感じで。一応 set構文はKISに合わせましたが、 talk_interval以外には使えません。将来的にどうするかも未定っす。
 未だにSHIORI/2.5に対応できてないんで、実用にはならないと思われ。一応テスト用ってことで。

 ちなみに現在地点は東名高速中井PA。幕張で行われる日本SF大会への遠征途中。
 先は長いぜ。

20010731
 名古屋市民なもんで、刈谷市民限定の袋には入れませんでした。げしょ。
 つうわけで予告の月末だけど公開できる成果はなし。
 このオチは見えてたって? いやあ、世間にここまで取り残されると、どこから手をつけていいのやら。一応偽AI方面の日記だけはチェックしてたんだけど。
 とりあえず本家の新仕様は横目で眺めつつ、宿題と電波塔黒任意方面で発見された不具合調査の予定。
 恐怖のコミケ&SF大会週間の前にめど立てたいなあ。
/*
全体の停滞事
・ 大学で試験
・ コミケの原稿を描きたい。もしくは描かなきゃ
・ 依頼されてるので下手に日記とか更新すると「そんなヒマがあるなら」と思われる
・ 本業がある
・ 飽きた
*/

 あからさまにコミケと本業でした。コミケはこんな感じ
 何か。関係はなし。梨野でCDでも焼こうかとも思いましたが、それどころじゃなかったっす。
 リライトの手伝いも含めて、原稿用紙300枚くらい手がけたからなあ。編集だけ入れるとさらに100枚。
 脳味噌の基本言語が小説文体基準になっていて往生してます。早いところC言語基準にしないと。仕事にも支障出てるし。
「ロシア語で考えるんだ!」
 というネタはこっちでは通用せんだろな。

20010711
 そろそろ死んだと思われていそーな気もしますが、同じよーなもんです。
 仕事でやさぐれモード一直線。せりこさんの入ってた箱は空いてますか貸してください私入りますんで。

 まあ表紙入稿終わったことだし、やさぐれてばかりもいられないんですが。
 当然ですが、表紙描いたのは私じゃないです。中身書くのは私ですが。原稿用紙30枚白紙で、直しが100枚くらい。完成0枚。

 つうわけで、梨野の次版が公開できるのは月末。そろそろ見捨てられてる気はするけど、待ってる人がいるかもしれないので、一応のスケジュールだけ。
 梨野Phase1.20(非公開)で流用していたコードの流用許可が出版社からいただけました。
 梨野の配布条件が趣味的なせいか、わざわざ著者にまで確認していただいた模様。ありがたいことです。
 まあPhase1.22までで大部分自分好みに書き換えちゃったんだけど、流用許可いただけたことで、スクリプトのエラー処理周りは楽できそう。
 駄目もとで、と思ってたんですが、お願いしてみるもんですなあ。
 ソース非公開ならあんまりこーゆーこと考えないでいいんですがね。<ぉぃ

20010626
 仕事が上手くいかずにトホホ。***領域で**が不安定になるのは物理法則であって、どうにかせいと言われてもにゃあ。
 それをなんとか誤魔化すなんとかするのが制御屋の仕事なんだが。
 そんなわけで暫く更新無し。
 喋り頻度の動的変化のサポートは、先日書き直した make_sentence()では対応できない。ことは無いがすべきでない。元の設計に戻さないといかん。
 最適化しすぎると袋小路行きといういい例である。とほほ。

 こんな状況なので、アンテナ見ながら日記巡回はとっくに諦めてたり。
 つうか、本家の更新履歴すらろくにフォローできてねえ。

20010623
 phase1.23 "NasinoScript test"公開。梨野スクリプトPhase0.3搭載。
 とりあえず動くよーな感じ版。
 完成度はまるっきり不満なレベルですが、ずるずる引き延ばしてもあれなので、テスト版として公開。
 これから夏コミの締め切りとか某連合会議とかいろいろ襲って来るし。

 サンプルとしてユーザーイベント
 を発生させるサンプルを添付。詳細はサンプル見てくれい。
 サンプルに含まれていない構文は使えないと思っていいです。
 しかし、これ使いにくいわ。スクリプトにエラーあると、何か。ごと落ちるし。
 一応中間コードや変数の中身見れるログは採取できるよーにしましたが。
 まあ控えめに見ても習作レベルだなあ。

 労力対効果を考えると完璧に失敗な気が。
 まあ梨野プロジェクトの裏テーマは、自分の引き出しを増やすことなんで、そういう意味ではよかったっす。
 って過去形にしちゃいかんのだな。(-_-;;

20010617
 経過報告
 Phase1.22 梨野スクリプトPhase0.2
 発行されたイベントを横取りして、任意のユーザーイベントを発生させる。
 例:
int mikire_count;
if(strcmp(event,"OnSecondChange")==0){
	if(strcmp(reference1,"1")==0){
		mikire_count=mikire_count+1;
		if(mikire_count==5){
			strcpy(user_event,"OnMikireStart");
		}
		if(mikire_count>5){
			strcpy(user_event,"");
		}
	}else{
		mikire_count=0;
	}
}
			
 あと atoi()が使えれば一応使い物になりそう。
 書き直さないといけない関数はあと4つ。なんとかゴールは見えたかな。
 ただ、しばらくは週末くらいしかまとまった時間とれそうにないので、今週中の公開はたぶん無い。
 ついでに前回あげた問題点のうちのいくつかは残ったまま。

 すまん。

20010615
/*
3.yacc で C もどきのインタプリタを作った経験のある方は御存知の通り, 文法的に曖昧性があり, はなから無理がある
*/ 

 「,(コンマ)」は演算子として認めない、とするだけでだいぶ楽になります。
 いいんだ、俺は使わないから。

/*
あれって GPL だったのと、
*/ 

 私はGPLやGNUからは利益しか得てないんで気にしません。
 X68Kユーザーだったもんで、GCCとμEmacsにはどれだけ感謝してもし足りない。

20010614
/*
他の互換SHIORIがサラっと実装しているのがすげぇ不思議なんですが。
*/ 

 オートマトンまたは有限オートマトンで検索かけると幸せになれるかも。
 さらに yaccとか bisonというツールを使えるとかなり幸せ。
 どーでもいいけど、私は有限要素オートマトンで覚えていたのだが、これだとほとんど検索ひっかからないのな。
 マイナーな用語なのかにゃ?

 翡翠のif-elseif的アプローチなら、if-endif,if-elseif-else-endifというように、終端用のtokenを入れてしまうというのもお手軽かも。

20010612
/*
これはまた上手い所へ落としてますね!
真似して良いですか?
*/ 

 どぞ。

 梨野スクリプトの最大の欠点:絵に描いた餅。

 最近開発スピード落ちてます。一応微速前進というか匍匐前進というか進んではいます。
 ただ、今月いっぱいはこの調子かも。すまん。

20010610
/*
梨野スクリプトファーストインプレッション。非力なC言語もどきだと某仮想人格記述言語の二の舞になってしまいそうな。あれはあれで使いやすかったと評する人もいますが、フィムの苦労を見てるとどうも。
*/ 

 梨野スクリプトの仕事は、任意のユーザーイベントを発生させることだけです。
 たとえば現状では稼働時間の情報はOnSecondChangeReference0に入ってくるだけで、稼働時間がインクリメントされた場合にイベントが発生するわけではないです。ここで、On経過時間インクリメントというイベントがあったらなあ、と思った時に、それを実現させるのが梨野スクリプトの仕事。
 つまりこれはSHIORI/2.2対応のためだけの仕様です。私としては現時点ではOnSecondChange,OnMinuteChange,OnMouse〜イベントを拡張すること以上のことは考えていません。ゴーストベンダーの人だともっと使い道を思いつくかもしれないけど。
 そして、見切れや重なり、経過時間インクリメント、なで反応とかのSHIORI/2.2以前にPIROの仕事だった分のイベント化は標準添付する予定の梨野スクリプトで実現できるようにしておけば、ゴーストベンダーの人が知る必要があるのは拡張されたイベント一覧のみで、梨野スクリプトのことは意識する必要はないです。
 じゃあスクリプトにする必要ないじゃん、という意見もあるかもしれませんが、見切れ反応時間とかを変更したい場合とかに、それぞれに組み込み変数作ったり、ソース修正に再コンパイルというのも手間だし。
 スクリプトにしとけば、俺に思いつかない使い方を誰か思いついてくれるかもしれないし。このみさんとこでやってるような梨野のソースいじるよりは多分楽。
 何よりイベントの追加や拡張や仕様変更があった場合、ベンダーの人は私が梨野本体で対応するのを待つ必要はない。俺も楽。<最重要<本音
 辞書と完全分離しているので、人の作った梨野スクリプトを流用するのも楽。

 メニューから喋り頻度変更させるような仕事を梨野スクリプトにさせる気はないです。華和梨インラインスクリプトのSETのほうが多分便利。だから少なくともSETだけは梨野でも実装するつもりです。
 まあそんな感じで。つまりは人格を記述するのではなく、インターフェイスを記述するってことです。今のところは。

 労力対効果が疑問な気はしますな。でも楽するための努力は惜しむな、が基本だし。
 あと人格記述については、まだ考えが固まっていません。SHIORI/2.4のこともあるし。
#実はSHIORI/2.3の実装もしてねえけど。

 あ、そうそう、私は某人格記述言語は仕様も知らないっす。

20010609
 梨野スクリプトPhase0.2の中間コードを考えている。これができれば著作権的に怪しいコードは半分に減るし、文字列変数への布石になる。
 あとは処理時間の短縮にも。
 梨野スクリプトは起動時にスクリプトを中間コードに変換し、あとはイベントごとにそれを実行する。
 つまり命令コードをごんごん増やして、中間コード変換時の処理が重くなっても、実行時の負荷を軽くするのはたぶん正しいと思う。
 体感的には絶対わからねえと思うけど。switch()が一段減るだけだからな。

 ……しかしよく考えたら、なんで梨野スクリプトってC言語ライクになってんだ?
 アセンブラもどきでいきなり中間言語で記述させれば3日もかからずにできたんじゃねーのか?
 POP,PUSH,JP,JPZ,あとは算術命令。実行エンジンはアキュムレータとZフラグとスタック一つ。
 ……駄目??
 そろそろ自分が何やってんのか判らなくなってきたなあ。

20010607
 経過報告
 Phase1.20 梨野スクリプトPhase0.1
 発行されたイベントを横取りして、任意のユーザーイベントを発生させる。
 例:
int mikire_count;
if(event==OnSecondChange){
    if(reference1==1){
        mikire_count=mikire_count+1;
        if(mikire_count==10){
            user_event=user_event1;
        }
        if(mikire_count>10){
            user_event=0;
        }
        if(mikire_count>60){
            mikire_count=0;
        }
    }
    if(reference1==0){
        mikire_count=0;
    }
}
			
 見切れ発生から10秒後に
user_event1
というイベントを発行させる。見切れが解消されなかったら60秒ごとに user_event1 を再発行。
 梨野スクリプトは辞書からは完全に独立している。
 アルゴリズムの神がデータとアルゴリズムは分離せよと囁いたので。
#そのわりには直値入れまくりやん。#defineほしいな。

問題点:
  1. 文字列が使えない。変数で使えるのは整数だけ。上記スクリプト例において OnSecondChangeuser_event1は定数扱い。
  2. elseが使えない。
  3. 論理式が使えない
  4. コメントも入れれない。
  5. user_eventが同時に複数発生したときのことを考えていない。上書きされるだけだから、後のほうが優先度高いんかな。
  6. メニューから選択した内容や、コミニュケーションBOXからの入力を取り扱えない。こーゆーのは華和梨インラインスクリプトを実装するか、現状の仕様を拡張するか検討が必要。
  7. エラーとか吐かないので、デバッグの手段がほとんどない。
  8. 著作権的に取り扱いが不明確な流用コードを含んでいるので公開できない。
結論:
 まだ使い物にならねえ。

 著作権的にアレなコードは順次書きなおしてます。どーせ文字列の導入や文字列を取り扱う組み込み関数の導入やワークエリアを固定で持ってるのを動的に確保するのとかで再設計必須だし。
 そんなわけで不特定多数向けにここで公開するわけにはいかないんだけど(梨野のライセンス形態が趣味的なのも悪い)個人的に触ってみたいという人はメールでもしてください。再配布不可だけど。
 でも OnSecondChangeと OnMinuteChangeしか横取りできないので、このみたんには多分必要ない。
 現時点では、とりあえず進む方向が明確になったってことで。
 やっぱり一般的なゴーストベンダーに、組み込みスクリプト書けってのも辛いと思う。
 とりあえずデータとは分離された形で、基本的なイベントを実現するスクリプトを再配布可能な形で用意しておきたい。
 プログラミングできる人はスクリプトに手を入れるなり、梨野ほんたいに手をいれるなりごじゆうに、ってことで。

 そんなわけでうらにわのあるじゃーのんのおはかにはなをあげてください。

20010606
/*
案4.黒任意のゴーストを誰かに委託する > 誰もいない。
案5.さようなら > さよなら。
案6.その他。
*/ 

 さようなら、は困る。自分でよければ引き受けます。
 いや、マジで。

20010605
/*
互換偽AI作者で、これに一番てこずってるのは、
まちがいなくオレのような気がする今日この頃。
*/ 

 パーサーがラベルを生成してくれないー。
 中間言語の生成まわりがファイルごとサンプル流用なので動いたところで公開できーん、それ以前に仕様的に不足ありまくりなので再設計必須ー。
 結論:俺の方がてこずってるよーな気がする。

/*
将来, 平文からの学習機能の搭載を考えているなら, シナリオ中でのIF文の使用は足を引っ張る事になる.
*/ 

 理由はちょっと違うんだけど、シナリオ(辞書)の中にifを入れたくないのは同感。
 だからとりあえず華和梨のインラインスクリプトとは別方向に進んでます。
 目的によってはインラインスクリプトのほうが圧倒的に効率的なこともあるんだけど。

20010601
 始めてクラスとかいうものを使ってみた。
 ……もしかして、すごく便利なんじゃないか?

 この程度のスキルのやつが開発してます。

20010531
/*
技術的には別に難しくないのでそこから外の話になります。なぜ送るのか。そして何を書くのか。
*/

 現在の偽AIの形態ではほぼ無意味、というかゴースト作者が死ぬか限りなくSPAMに近いメールが氾濫するだけ。
 ゴースト同士が(ネットワーク越しに)勝手に会話を行い、意味解析まで含めた学習機能を持ち、ゴースト(偽AI)設計者が意図しない、しかし理にかなった反応を実現するところまで行けば、実装してもいいかも。

 俺はそこまでは行きたい。

20010530.2
「何かは滅びぬ! 何度でも蘇るさ! 自らの手で人工の知性体を生み出すことこそ、人類の夢だからだ!!」

 とくに意味はない。お前だけだ、という突っ込みは間違ってるので不許可。
 私にとって究極のAIは、やはりR・田中一郎である。人類に叛旗を翻したメカ成原も捨てがたいが。いや、それなら安川2号の方が……
 人類は決して決して自滅してはならない。自然の前に屈服してもいけない。
 私の望む人類最後の形は、我々の生み出した知性体に駆逐されることである。

 ところで、同じことを何度も聞いてくる初心者に、メモ帳片手に「メモりなさい!」と指導するめもりーなってのは……
 ごめん。

20010530
/*
終わりが来た時のことを考えてみる…。
*/

 まあ、なんかやってれば、そのうち巡り会うこともあるだろうさ、と脳天気に考えてみる。

 具体例:
 昔、某アニメのパロやってた頃に何度か組んだ人と、何か。の世界でばったり会う。
 いや、ほんとに笑った。

 ちなみに巡り会わない場合は、あいつは堅気に戻って幸せになったんだなあ。とか考えてみる。

 ところで、二人一組で動く、インターリーブめもりーなってのはだめですかそうですか。

20010529.2
/*
EPRめもりーな
紫外線照射で全部忘れちゃうぞ!
*/

E2Rめもりーな。
書込み制限回数超えると破壊されちゃうぞ!

 他にヒューズROM版とかカセットテープとかコアメモリとかリレー式FFとか考えましたが、怒られそうなのでやめときます。
 そーいえばブラウン管を記憶素子に使うのって、何て言ったっけ。

20010529
 そういえば、Phase1.12は自力で喋ります。nasino.iniに
talk_interval : 90
と記述するだけ。数字の単位は秒。readme.txtには書いておいたけど。
 指定秒ごとに発話するんだけど、この間隔をダイナミックに変更する仕組みは用意したいところ。
 あとNewsはどーするとか、本当にこんな仕様でいいのか(よくない気がする)とか不安ですが、五月いっぱいで一応喋れるよーにしておかないと、ということで。
 このみさんとこで、Phase1.12のソースにバグが指摘されてますが、コンパイラがよきに計らってくれるおかげで実使用上は問題ないです。次版では修正しときます。
 しかしバグが多いな。(-_-;;

 現在柳生と挌闘してるんで、梨野本体をあまり触れないっす。

20010528.3
 夏コミ受かった。
 ジャンルは創作文芸。
 ……何か。関係では極北で異端者。

20010528.2
 Phase1.12公開
 このみさんとこで報告された不具合の修正。仕様書きちんと読んでなかった。
 ${${entry}}という書式に対応。
 本来華和梨辞書では、このような再帰の記述はしません。entryが senderとか referenceとか梨野が内部で置き換えを行う物で使う用。
 ついでにS-JIS問題を数カ所修正。まだちょっと残ってます。

20010528
/*
俺をリプレースできる人間が存在するという事実
*/

 プログラムを使える人間の数より、プログラムを書ける人間の数が圧倒的に少数なように、プログラムを組める人間に対して、その仕様を構築できる人間の方が圧倒的に少数です。
 例えば、自分は華和梨 Phase0.42仕様の処理系を書くことはできたが、この静的な構文ならばなんでもありの仕様を自力で作成できたかというと、ちょっと自信ない。
 ま、そーゆーことで。

 たまには立ち止まって、周囲を見てみることも必要よ? と60年代生まれの年寄りらしく言ってみる。(いや、人類月着陸後の生まれですが)

20010527
 追加仕様についての基礎実験中。なんか先行き長いよーな。
 追加仕様が実装されるまでは少し時間かかりそうです。その他の部分のちょい直し版は適時出します。
 数日沈黙してると、生死不明扱いされそーでちょっと怖いな。

20010524
 IF構文について考える。考えてる。さらに考える。……怖い考えになってしまった。
 いろいろ検討した結果、導入しないと俺が死ぬという結論に。
 私に偽栞ほどの更新速度を維持する能力が無い以上、スクリプト書ける機能を載せて、ユーザーに負担を押しつけるのが正解かにゃ?
 問題はそんなソフト書けるのかよ、ってとこだが。
 まともなパーサーと構文木が作れれば、S-JIS問題で泥沼になったりしない。現在泥沼中。
 構文木作りたくなくて、パーサーと処理系いっしょにして逐次処理してるからなー。メモリは喰わんのだけど。

20010523
/*
絵師が愛着を持って関われるのは、完成する瞬間までです。
完成したら、もうそれは第三者(視聴者・ユーザー)のものであって、絵師のものではない。
*/

 職人的な人の典型的な考え方ですね。
 ちなみに技術者の場合、自分が世に送り出した物は、それがこの世で使われなくなるまでは面倒を見つづけなければいけません。不具合修正とかメンテとか。
 研究者の場合は、大切なのは課程において自分に帰ってくるフィードバックなのであって、造られるモノ自信はどうでもよさそう。
 あと謎な人種に芸術家ってのがあります。
 このあたりの立場の違いを考慮せずに、思い入れについて語ったり議論すると泥沼になります。ていうかなった。
 ホンダのP3とか、H2-8号機のLE-7の引き上げ話とかで。

20010522
 Phase1.11公開。
 Phase1.07で修正した問題、本質を取り間違えてたので再修正。添字計算は元のままで正しい。${数字}は1からではなく、0から始まります。華和梨でも同じです。
 問題は${1}までしか間接参照できないときに、${2}のような範囲をオーバーした指定をした場合の例外処理がなってなかった。というか、単にループの終了条件間違えてた。シオテク。
 現状では${compatible-m}で置き換えますが、エラーはエラーと吐いた方がいいかな?
 辞書製作者はエラー吐いたほうがいいでしょうけど、ユーザーはとにかくエラーにならないことを望む気がする。

20010522.18:20
/*
NOTIFY SHIORI/2.3 についてどこにも何も書いてなかった。
*/

 いきなりリバースエンジニアリングから始めてました。
 複数のゴーストがいたらどうなるのか、どういうタイミングで通知されるのか、とか知りたかったので。
 ところで phase "inverse" 54.00 "without shell" test では、NOTIFY OtherGhostName SHIORI/2.3Sender:Charset: が送られてこないような気が。
 現在の梨野は、Charset: 無視しているので困りませんけど。<駄目じゃん。

20010521
 Phase1.10公開。
 このみさんとこで出ている、辞書の$を食う対策……は結果的に直ってます。
 初期に書かれた関数のうち、最も中核に近く、最も悲惨なコーディングをされていた文章作成の関数を差し替え。
 稼働実績低いので、Phase1.09で問題無ければ1.09の使用をお勧めします。
 ぶっちゃけた話、人柱仕様。
 ……いえ、梨野自身が人柱仕様みたいなもんですが。

 しかし、このみさんとこで不具合続出。
 フィードバック用の掲示板、作ったほうがいいんかな。
 運用と維持管理が大変なので消極的なんですが。


[梨野]
Copyright(c)2001 早坂千尋
Last Updated: