panacoran
panac****@yahoo*****
2004年 3月 15日 (月) 09:42:15 JST
--- Daisuke Arai <protr****@darai*****> からのメッセージ: > 私はPythonのコードを見た事がないんですが、既存の言語と > 似ているのはいい事だと思います。 とはいえ、Pythonには美しくないところがたくさんあるので、まねしす ぎないようにしたいものです。 > グローバル変数はSystemのインスタンス変数が同じ役割を担うの > で廃止ですね。 いや、それは早計でしょう。システムの記述も互換性を維持しましょう 。オブジェクト指向を使ったシステムの簡便な記述法については一つア イデアがありますので、またの機会に披露します。 > 内部的な実行形式についてなんですが、現在は変数の値などを > 出すときにいちいちハッシュテーブルを見て、変数名からValue > というクラスのインスタンスを引き出しています。 インタプリタ型の言語の名前空間の実装にハッシュテーブルを用いるの は、ごく一般的な方法です。問題があるとすれば、ハッシュテーブルの キーが文字列ということぐらいですかね。 普通は字句解析か構文解析時に記号表を作って、変数名に一意なIDを振 り、以降はこのIDを使って処理を行います。ANTLRやGrammaticaには、記 号表の支援があるかもしれません。あとはインタプリタが、このIDを活 用すればいいだけです。 一度言語処理系の教科書を読んでみてはどうでしょう。今なら原田先生 の「コンパイラ構成法」がいいかもしれません。これで物足りなければ 、中田先生の渾身の力作「コンパイラの構成と最適化」でしょうかね。 -- panacoran __________________________________________________ Do You Yahoo!? http://bb.yahoo.co.jp/