C言語でなでしこを書き直そうプロジェクト。いつかやりたい。
→現在、なでしこ2.0の本流として、C#版が進行中。
Windows/Mac/Linux で、なでしこを動かせるようにする。
つまり、言語コアのみどのOSでも動くようにしておく。OSごとにライブラリを書き直すのが大変なので、なるべく、なでしこ自身でライブラリが書ける体制にする。
とりあえず、要望を募集中。
なでしこ2.0/要望 に要望を書き込んでおくと吉。
【議題】
- GC(ガベコレ)はどうするか。
- ガベコレ必要か?現在の参照カウンタ方式で十分かも。
- メモリ管理はどうするか。
- はじめにだだーっと確保しておいて、少しずつ分ける。組み込み機器でも動くように考慮する。メモリサイズを制限して、確保しすぎると勝手に落ちるようにすると安全でCGIで動かしたとき嬉しい。
- 新しい文法は?
- 単語の区切り方・・・互換性重視だと、従来の助詞区切りで。
- 「おから」「きのみ」という変数を定義したい場合どうするか?
- 形態素解析は必要か?→辞書を持つのはナンセンスでしょう!
- オブジェクト指向はどうするか?
- 廃止でも問題ない感じ。もっと文法は単純にすべき。
- 廃止しないならば、仕様を整理&機能追加の必要有り。
- コンパイラコンパイラは利用するか?
- 利用する場合でも、現状の文法の場合、スキャナとパーサの間に正規化のためのトランスレータが必要。
【決定したこと】
- 実行方式:なでしこ→抽象度の高いバイトコード→インタプリタで実行
- 形式:なでしこ2.0/バイトコード
- 抽象度の高いバイトコードにして、他の言語(C/Java/ActionScript/PHP)への変換が容易な状態にしておく。
- 文字コード
- 入力:自動判定、デフォルトは、UTF-8N
- 内部:UNICODE
- 出力:指定コード、デフォルトは、UTF-8N