Java エンジニアなら JVM を実装してみたほうがいいなぁ、ということで簡単に。
data class
に詰め込んでいく。の2ステップで進めていけば OK.
バイナリファイルなので、DataInputStream とか使って読んでいけば OK。
https://qiita.com/mima_ita/items/a42f3f016a411627bd7a#constant_methodref
クラスファイルの中身は
普通の VM を実装していけば OK。
stack, program counter とかを持った普通の VM を作る。 Java は普通の VM と違って、stdout に書く命令が VM レベルで実装されていないんで、そのへんもランタイムとしてロードしておく必要がある。
https://github.com/tokuhirom/picojvm
というわけで、Hello, world がなんとなく動くところまで実装したのがこちらです。 だいたいここまでで2人日ぐらい。