Perlゼミ

Perlでテキスト処理、Linuxサーバー管理、Webシステム開発

SPMVの言語仕様策定までの道程表

SPVMの実装と言語仕様を作成している。SPVMはPerlに静的言語の機能を組み込むプロジェクトだ。Perlで数値計算を行うことができるようになることが目標だ。

SPVM言語仕様

実装できていない部分

実装状況は80%くらい。残りの部分は次の部分。

パッケージ変数

パッケージ変数を今まで実装していなかったのだが、最初から最後まで存在する変数がないと、キャッシュの実装ができないという結論になったので、実装する。

イミュータブルなオブジェクトを作成するためのprivate属性

Javaの言語実装を調べていると、StringやIntegerやDoubleなど、イミュータブルなオブジェクトを実装する必要があるという結論になった。フィールドがprivateで、そのクラスからだけしかアクセスできないようにすると、イミュータブルなオブジェクトができる。

だから、private属性を実装する必要がある。

String型

現在はバイトの配列型はあるのだけれど、String型がない。String型が必須なのは、String型を実装して、ハッシュ値を返すメソッドを実装しないと、HashMapなどを実装できないからだ。

バイト配列だけでもいいかなと最初思ったけれど、String型を実装しないとポリモーフィズムが実現できなそう。

Object型

すべてのオブジェクト型を渡せるObject型を実装しないと、ポリモーフィズムが実現できなさそうなので、実装する。

可変長配列を受け取れるサブルーチン

可変長配列とObject型を実装しないとsprintfのような関数を作成できないので、可変長配列を受け取れるサブルーチンを実装する。

Perlの入門書
  • 初めてのPerl 第7版

    Perl入門 定番の一冊
  • 業務に役立つPerl

    ログ解析など日本語を含むテキスト処理の実践!
Twitter
Perlゼミの情報が役立ったら、フォロー、いいね、リツートで応援。