🦀

Rustで作るBEAMライクなLanguage VM - 2

2022/02/04に公開

引き続き、BEAM-like VM in Rustをしていく。

前回の記事

今日は Part 02

VMにプログラムとプログラムカウンタを持たせて、ループして処理していく。

この辺は後でどんどん最適化?していくらしい。

プログラムの中身用に別途オペコードをenumで定義する。

ちなみにレジスターが32bit、そのうちオペコードが8bitの設計。(これは Part01 で話があった)

VMが入力のプログラム(いまはただのVec<u8>)をループしてOpcodeを一つずつ処理するように書いて、

テストを書いて今日のところはお開き。

Part02にしてプログラム(とテスト)の骨格が出来てきていい感じ。

おまけ

ブログの筆者がテストを逐一書いていくスタイルなので、
それならばということでGitHub Actionsを追加して、
CodecovでRustのテストカバレッジを測定できるようにした。

CodecovのBotがPRにレポートしてくる設定も追加。

今回のコードはこちら。
https://github.com/ymdarake/iridium/pull/2

次回に続く。

Discussion