携帯アプリ

iアプリでScheme(Lisp)処理系を作る 第五回

久しぶりに五回目をやります。ようやく思いどおりのコードになってきたので続きが書けます。 push命令から全部VMに実装するのは無謀だと考えて大きい粒度で処理することにしました。 対象がiアプリ(doja)なのでクラスローダはおろかリフレクションすら使えま…

iアプリでScheme(Lisp)処理系を作る 第四回

四回目です。 前にも一度Lisp実装もどきをつくろうとしたことはあったのですが、 ((Cell)((Cell)args.cdr).cdr) .... と引数を見るためにcdrをどんどんキャストしていく単純作業に耐えかねて挫折してしまいました。 それに実行時に型チェックで時間を取られ…

iアプリでScheme(Lisp)処理系を作る 第三回

今回はコードはありません。 ifなどの「構文」を追加しようとしていろいろ調べ物をしていたら考えが収束しなくなってしまいました。 まとまったコードは次回に掲載する予定です。 それとPairのcdrをいちいちキャストするのが面倒で精神衛生上良くないのもな…

iアプリでScheme(Lisp)処理系を作る 第二回

動機については前回を参照ください。 今回はとりあえず足し算ができるように、ペア・シンボル・整数・手続きを表すクラスを作成します。 ペアを作る Eclipseのdojaプラグインでテンプレクラスを作成してからPairクラスを作成しておきます。 ペア(Pair)にはca…

iアプリでScheme(Lisp)処理系を作る 第一回

動機 独自言語を作ってウェブを変えようなどと企んでいるこの頃ですが、そもそも言語開発とはどのようなものか知らない状態でいきなり挑むのは難しいと思い、習作としてドコモの携帯電話で動作する簡易Scheme処理系の開発に挑戦することにしました。 資料 ア…

iアプリ向け MessagePack Java実装

msgpack.java package msgpack; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.util.Enumeration; import java.util.Hashtable; /** * MessagePack Packer/Unpacker * */ public class Msgpack { publ…

iアプリ用正規表現ライブラリ

前作ったのを晒しておきます jakarta-regexpを軽量化して携帯Java用に移植。基本機能は大体一緒です。 夢にまで見た(誇大表現) split()とかgrep()とかreplace()とか夢ひろがりんぐ... zipファイル中の/org/フォルダあたりをソースフォルダに突っ込んでおけば…