「連絡事項」の編集履歴(バックアップ)一覧はこちら

連絡事項」(2005/09/25 (日) 23:09:15) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

##################################################### <2005.09.24 スペース読み飛ばし@久川> 文字出現判定フラグを用意し、スペーサー続きの場合 読み飛ばしを行うように修正いたしました。 公開まであとわずか!!! 本日よりライブラリ仕様書生成ツールの作成に着手致します。 ##################################################### <2005.09.23 ファイル名変更とスペース読み飛ばし@久川> 飯床様、昨日はありがとうございました。 残念ながらまだ画面系には入れていないのですが、 連休中には手をつける予定にしております。 本日はソースコードの名称を変更いたしました。 「ModelXXXFunction.cpp」⇒「ModelFunctionXXX.cpp」 理由は下記の2点です。 ・関数定義系のファイルであることを分かりやすくするため  (機能や動作名称を頭に持ってくるのが関数名の自己規約のため   ファイル名にも規約を適応) ・固定文字列を先頭にすることにより、変動部分が明確化される ということで、今後ソースコード名称については 「MVCの区分」+「機能区分」+「詳細区分」 のようにしたいと思います。 例外的にmainなどの動作試験用ダミーファイルは除外します。 もう一点はスペースの読み飛ばしです。 現状では、正しいS式(要素間のスペースが常に一個のみ)の式 でしか評価をすることができません。スペースの読み飛ばしを 行っていないため、構造解析に失敗するからです。 以前のようにトークン分割方式を利用していれば このような事態は発生しないのですが、とにかく軽く作ろうと 思っていたため、複雑なトークン判定機能は入れませんでした。 いくつか解決策を試してみましたが、複数スペースが入ると やはり解析に失敗してしまう状況です。 再度検討したのち、最良の方法を採用したいと思います。 ##################################################### <2005.09.22 飯床様へのメッセージ@久川> お越しくださいまして、ありがとうございます。 すみません、同時でしたか・・・。 夕食をとりましたら、早速登録させていただきます。 ##################################################### <2005.09.22 初訪問@飯床> どうやら同時期の編集だったため。反映されなかったよう。 melthy0_0@hotmail.comでMSNメッセンジャにいます。 よかったら登録願います。 ##################################################### <2005.09.22 関数ヘッダの修正@久川> 家リホームのため、連休中は片付けに明け暮れた久川です。 ようやく目処がつき、本日から作業を再開いたします。 さて、本日はこちらにお客様がみえる予定です。 会社で知り合ったのですが、CUI思考の私と違い 画面描画系に精通したスペシャリストです。 別のプロジェクトで画面系を担当されているそうなのですが 我がTheoriaProjectでも、エージェントとして 参加して暮れないかな~、とひそかに期待しております。 ではでは、ゲストさんのお返事を待つことに致しましょう。 ##################################################### <2005.09.18 関数ヘッダの修正@久川> 環境も整って参りましたので、 そろそろ公開に踏み切ろう!! と思いソースを印刷したらなんと 関数ヘッダの記述が誤記だらけ(泣 別の関数の機能が書かれているところが多数! 本日より修正に着手いたします。 ##################################################### <2005.09.15 メモリリークの修正@久川> 要素の参照数をカウントしている変数がを unsigned intで定義したのですが、 場合によってはマイナス値を取ることがあり これが原因で解放ルートが無限ループに 陥っていました。修正としてintでマイナス値を 許容するようにいたしました。 またシンボルクラスにおいては、参照数をカウントする 変数と、リンク先を保持する変数名が同じだったため、 リンク先を保持する変数名を変更いたしました。 これで、現状確認されているバグは修正が完了致しました。 後は機能増やすだけ(のはず。。。) ##################################################### <2005.09.14 Assertの修正@久川> setqのAssertは、evalの実装抜けでした。 こちらはすぐに解決したのですが、 今度はメモリリークが発生! ガベコレの実装は完璧だと思っていたのですが まだ甘かったようです(泣 修正いたします。 ##################################################### <2005.09.13 quote省略展開の実装@久川> quoteの省略形「'」を、字句解析フェーズにて 展開できるように致しました。 今までsetqを使った場合は、第二引数を評価することなく 直接第一引数のリンク先にしていしていましたが、 今回のquote対応に伴い、一律第二引数を評価した後に リンク先にセットするようにいたしました。 と、ここまでは良かったのですが 何故かquoteされていない値をsetqするとAssert。。。 14日帰宅したらデバッグ致します。 ###################################################### <2005.09.12 quote実装@久川> quote関数を実装しました。evalFunction内で S式を評価せずにすぐリターンを考えましたが 律儀にクラスを作成してみました。 エラー処理を入れなくてはならなかったため 結果的にはクラスにして正解だったようです。 あとはdiv時に'を(quote)に置換できれば完璧なのですが。。。 ###################################################### <2005.09.11 整形@久川> lambdaのAssertようやく解決いたしました。 さんざん時間をかけて、直したコードは一行だけ!! しかも「eval(...)」から「e->eval(...)」という修正。。。 FuncEvalのevalからevalを呼び出したため、 クラスのメンバ変数の値が変化し、問題が発生しておりました。 う~、こんなにも長い時間気がつかないとは。 私もまだまだですね(泣 何がともあれ、これでFuncStandard継承への変更は終了。 また、固定引数のconst化とFuncStandardクラスへの 「idIsString」メソッド追加。 乗算関数「FuncTime」の実装と除算関数「Divide」の実装まで 完了いたしました。 ようやく土台が出来上がりましたので、 いよいよこれからは、関数の実装によるLispシステム関数の構築と 拡張を行う段階となりました!! ###################################################### <2005.09.08 整形@久川> lambdaのAssertは解析難航のため、先にSetQを FuncStandard継承に変更しました。 こちらは問題なく完了。 休み中にじっくりデバッグすることにいたします。 ###################################################### <2005.09.07 整形@久川> lambdaのAssertをみてみましたが、解決には至らず。。。 FuncEvalをFuncStandard継承に変更したことが 原因だと予測をしているのですが、今のところは不明です。 X-File観ながらだったので(汗 本日再度デバッグ致します。 ###################################################### <2005.09.06 整形@久川> FuncStandard継承への変更と、コメントの徹底。 及び仮引数のconst化を行い、ソースを綺麗にしよう!! と作業をしている久川であります。 FuncMinusまで終わってひと段落。 ということで「lambda」を動かしてみたら なんとAssert! うぅ、明日デバッグします(泣 ###################################################### <2005.09.04 lambdaの実装②@久川> 間にいろいろありましたが、とりあえず実装完了。 lambdaとdefunを同時に実装した形になりました。 というか、defunの一形態としてlambdaが実装された 形になっています。本来はlambdaで書かれたものを シンボルへ束縛することでdefunを実現しているので、 ちょっと実装が間違っている気もしますが・・・。 見た目の動作が正しいのでOKにしましょう(汗 とにかく、ひと段落つきましたので ここらでコードの整理を行います。 まずはFuncStandardの使用可能クラスは 前面的にこちらへ移行します。 また、仮引数でconst指定が可能な箇所については constをつけるようにいたします。 各進捗については、「整形進捗」をご覧下さい。 ###################################################### <2005.08.27 lambdaの実装①@久川> defunがないと、関数定義ができず 関数定義ができないということは、Lispで プログラミングができないということですので まずはdefun!!なのですが、実現するために lambdaを先に作ることにしました。 lambdaの書式が ------------------------------------ (lambda 引数 定義 実行に必要な引数) ------------------------------------ だと勘違いしていた私は、早くも失敗! 正しくは ------------------------------------ ((lambda 引数 定義) 実行に必要な引数) ------------------------------------ です。 これを解決するため、FuncEval::eval内で 「評価対象がセルであり、その第一引数もセル」の場合は 第一引数を先に評価し、その評価結果を先頭するリストを作るよう コードを変更しました。と、ここまではよかったのですが (lambda 引数 定義)の戻りっていったいなんでしょう? xyzzyで試すと ------------------------------------ (lambda (x) (+ 1 x)) ⇒#<lexical-closure: (anonymous)> ------------------------------------ なんじゃこりゃ? ということで今回はこの動きを参考にはできないようです。 ###################################################### <2005.08.26進捗/予定報告@久川> [はじめに] To.開発関係者各位 皆さんお越し下さいまして、有難うございます。 日頃お忙しいかとは思いますが、まずはこの書き込みを ご覧頂いたことを心より感謝いたします。 さて、詳しい運用についてはまだ決めていないのですが 「連絡事項」へは私と皆さんの進捗報告を書き込もうと 思っています。システム全体の進捗については私が更新しますので 「Theoria-Plus進捗」をご参照下さい。 ちなみに追加書き込みを行う場合は、この書き込みより上に お願いいたします。 [開発規約] ・まだ規約書を作成していませんので、  適当に今書かれているフォーマットにあわせてください。 [ドキュメント] ・機能仕様書  ⇒作成検討中。作らないかも・・・。 ・ライブラリ仕様書  ⇒生成ツールメンテ中。   ヘッダファイルからの自動生成を行います。   基本的に現在書かれているコメントを   真似て頂ければ出力されます。   公開は2005/09/25までに行う予定。 ・単体/結合/機能検査仕様書  ⇒現状は作成予定なし。とっても危険・・・。   システム全体の運用体制が確定したら作成に着手。   ・・・するかも。 ######################################################
##################################################### <2005.09.25 ライブラリ仕様書@久川> 明日よりリホームが開始されるため、片付けに追われておりました。 足が痛いです(泣 ですが、ライブラリ仕様書についてはなんとかできあがりました。 ただ生成ツールに若干の問題があるため、公開には手直しが必要。 今日のアップは無理になってしまいましたが、近日中に ソースと併せて公開いたします。 また、関数追加法などのチュートリアルと解説書も作成する予定です。 CommonLispの仕様を満たすには程遠い物ではありますが、 反面「拡張性」についてはかなりの重点を置いて作りました。 新機能を追加するのは比較的容易なはずですので、 一人でも多くの方に、機能を作って頂けたらと思っております。 ##################################################### <2005.09.24 スペース読み飛ばし@久川> 文字出現判定フラグを用意し、スペーサー続きの場合 読み飛ばしを行うように修正いたしました。 公開まであとわずか!!! 本日よりライブラリ仕様書生成ツールの作成に着手致します。 ##################################################### <2005.09.23 ファイル名変更とスペース読み飛ばし@久川> 飯床様、昨日はありがとうございました。 残念ながらまだ画面系には入れていないのですが、 連休中には手をつける予定にしております。 本日はソースコードの名称を変更いたしました。 「ModelXXXFunction.cpp」⇒「ModelFunctionXXX.cpp」 理由は下記の2点です。 ・関数定義系のファイルであることを分かりやすくするため  (機能や動作名称を頭に持ってくるのが関数名の自己規約のため   ファイル名にも規約を適応) ・固定文字列を先頭にすることにより、変動部分が明確化される ということで、今後ソースコード名称については 「MVCの区分」+「機能区分」+「詳細区分」 のようにしたいと思います。 例外的にmainなどの動作試験用ダミーファイルは除外します。 もう一点はスペースの読み飛ばしです。 現状では、正しいS式(要素間のスペースが常に一個のみ)の式 でしか評価をすることができません。スペースの読み飛ばしを 行っていないため、構造解析に失敗するからです。 以前のようにトークン分割方式を利用していれば このような事態は発生しないのですが、とにかく軽く作ろうと 思っていたため、複雑なトークン判定機能は入れませんでした。 いくつか解決策を試してみましたが、複数スペースが入ると やはり解析に失敗してしまう状況です。 再度検討したのち、最良の方法を採用したいと思います。 ##################################################### <2005.09.22 飯床様へのメッセージ@久川> お越しくださいまして、ありがとうございます。 すみません、同時でしたか・・・。 夕食をとりましたら、早速登録させていただきます。 ##################################################### <2005.09.22 初訪問@飯床> どうやら同時期の編集だったため。反映されなかったよう。 melthy0_0@hotmail.comでMSNメッセンジャにいます。 よかったら登録願います。 ##################################################### <2005.09.22 関数ヘッダの修正@久川> 家リホームのため、連休中は片付けに明け暮れた久川です。 ようやく目処がつき、本日から作業を再開いたします。 さて、本日はこちらにお客様がみえる予定です。 会社で知り合ったのですが、CUI思考の私と違い 画面描画系に精通したスペシャリストです。 別のプロジェクトで画面系を担当されているそうなのですが 我がTheoriaProjectでも、エージェントとして 参加して暮れないかな~、とひそかに期待しております。 ではでは、ゲストさんのお返事を待つことに致しましょう。 ##################################################### <2005.09.18 関数ヘッダの修正@久川> 環境も整って参りましたので、 そろそろ公開に踏み切ろう!! と思いソースを印刷したらなんと 関数ヘッダの記述が誤記だらけ(泣 別の関数の機能が書かれているところが多数! 本日より修正に着手いたします。 ##################################################### <2005.09.15 メモリリークの修正@久川> 要素の参照数をカウントしている変数がを unsigned intで定義したのですが、 場合によってはマイナス値を取ることがあり これが原因で解放ルートが無限ループに 陥っていました。修正としてintでマイナス値を 許容するようにいたしました。 またシンボルクラスにおいては、参照数をカウントする 変数と、リンク先を保持する変数名が同じだったため、 リンク先を保持する変数名を変更いたしました。 これで、現状確認されているバグは修正が完了致しました。 後は機能増やすだけ(のはず。。。) ##################################################### <2005.09.14 Assertの修正@久川> setqのAssertは、evalの実装抜けでした。 こちらはすぐに解決したのですが、 今度はメモリリークが発生! ガベコレの実装は完璧だと思っていたのですが まだ甘かったようです(泣 修正いたします。 ##################################################### <2005.09.13 quote省略展開の実装@久川> quoteの省略形「'」を、字句解析フェーズにて 展開できるように致しました。 今までsetqを使った場合は、第二引数を評価することなく 直接第一引数のリンク先にしていしていましたが、 今回のquote対応に伴い、一律第二引数を評価した後に リンク先にセットするようにいたしました。 と、ここまでは良かったのですが 何故かquoteされていない値をsetqするとAssert。。。 14日帰宅したらデバッグ致します。 ###################################################### <2005.09.12 quote実装@久川> quote関数を実装しました。evalFunction内で S式を評価せずにすぐリターンを考えましたが 律儀にクラスを作成してみました。 エラー処理を入れなくてはならなかったため 結果的にはクラスにして正解だったようです。 あとはdiv時に'を(quote)に置換できれば完璧なのですが。。。 ###################################################### <2005.09.11 整形@久川> lambdaのAssertようやく解決いたしました。 さんざん時間をかけて、直したコードは一行だけ!! しかも「eval(...)」から「e->eval(...)」という修正。。。 FuncEvalのevalからevalを呼び出したため、 クラスのメンバ変数の値が変化し、問題が発生しておりました。 う~、こんなにも長い時間気がつかないとは。 私もまだまだですね(泣 何がともあれ、これでFuncStandard継承への変更は終了。 また、固定引数のconst化とFuncStandardクラスへの 「idIsString」メソッド追加。 乗算関数「FuncTime」の実装と除算関数「Divide」の実装まで 完了いたしました。 ようやく土台が出来上がりましたので、 いよいよこれからは、関数の実装によるLispシステム関数の構築と 拡張を行う段階となりました!! ###################################################### <2005.09.08 整形@久川> lambdaのAssertは解析難航のため、先にSetQを FuncStandard継承に変更しました。 こちらは問題なく完了。 休み中にじっくりデバッグすることにいたします。 ###################################################### <2005.09.07 整形@久川> lambdaのAssertをみてみましたが、解決には至らず。。。 FuncEvalをFuncStandard継承に変更したことが 原因だと予測をしているのですが、今のところは不明です。 X-File観ながらだったので(汗 本日再度デバッグ致します。 ###################################################### <2005.09.06 整形@久川> FuncStandard継承への変更と、コメントの徹底。 及び仮引数のconst化を行い、ソースを綺麗にしよう!! と作業をしている久川であります。 FuncMinusまで終わってひと段落。 ということで「lambda」を動かしてみたら なんとAssert! うぅ、明日デバッグします(泣 ###################################################### <2005.09.04 lambdaの実装②@久川> 間にいろいろありましたが、とりあえず実装完了。 lambdaとdefunを同時に実装した形になりました。 というか、defunの一形態としてlambdaが実装された 形になっています。本来はlambdaで書かれたものを シンボルへ束縛することでdefunを実現しているので、 ちょっと実装が間違っている気もしますが・・・。 見た目の動作が正しいのでOKにしましょう(汗 とにかく、ひと段落つきましたので ここらでコードの整理を行います。 まずはFuncStandardの使用可能クラスは 前面的にこちらへ移行します。 また、仮引数でconst指定が可能な箇所については constをつけるようにいたします。 各進捗については、「整形進捗」をご覧下さい。 ###################################################### <2005.08.27 lambdaの実装①@久川> defunがないと、関数定義ができず 関数定義ができないということは、Lispで プログラミングができないということですので まずはdefun!!なのですが、実現するために lambdaを先に作ることにしました。 lambdaの書式が ------------------------------------ (lambda 引数 定義 実行に必要な引数) ------------------------------------ だと勘違いしていた私は、早くも失敗! 正しくは ------------------------------------ ((lambda 引数 定義) 実行に必要な引数) ------------------------------------ です。 これを解決するため、FuncEval::eval内で 「評価対象がセルであり、その第一引数もセル」の場合は 第一引数を先に評価し、その評価結果を先頭するリストを作るよう コードを変更しました。と、ここまではよかったのですが (lambda 引数 定義)の戻りっていったいなんでしょう? xyzzyで試すと ------------------------------------ (lambda (x) (+ 1 x)) ⇒#<lexical-closure: (anonymous)> ------------------------------------ なんじゃこりゃ? ということで今回はこの動きを参考にはできないようです。 ###################################################### <2005.08.26進捗/予定報告@久川> [はじめに] To.開発関係者各位 皆さんお越し下さいまして、有難うございます。 日頃お忙しいかとは思いますが、まずはこの書き込みを ご覧頂いたことを心より感謝いたします。 さて、詳しい運用についてはまだ決めていないのですが 「連絡事項」へは私と皆さんの進捗報告を書き込もうと 思っています。システム全体の進捗については私が更新しますので 「Theoria-Plus進捗」をご参照下さい。 ちなみに追加書き込みを行う場合は、この書き込みより上に お願いいたします。 [開発規約] ・まだ規約書を作成していませんので、  適当に今書かれているフォーマットにあわせてください。 [ドキュメント] ・機能仕様書  ⇒作成検討中。作らないかも・・・。 ・ライブラリ仕様書  ⇒生成ツールメンテ中。   ヘッダファイルからの自動生成を行います。   基本的に現在書かれているコメントを   真似て頂ければ出力されます。   公開は2005/09/25までに行う予定。 ・単体/結合/機能検査仕様書  ⇒現状は作成予定なし。とっても危険・・・。   システム全体の運用体制が確定したら作成に着手。   ・・・するかも。 ######################################################

表示オプション

横に並べて表示:
変化行の前後のみ表示: