教育界、技術者コミュニティでJava言語の教育と啓蒙に長年携わってきた筆者が、Javaを通してコンパイラの仕組みを分かりやすく紹介する。(編集部) スタックというデータ構造を利用すれば、少ない命令数でプログラムの基本要素となる算術式の計算を実現できます。そこで、本連載のコンパイラでターゲットマシンとする仮想計算機は仮想スタックマシンとして実装することにしてみました。今回はプログラミング言語Javaを使って、この仮想スタックマシンを実装します。また、Java APIで用意されているスタックについても解説します。 スタックとは何か? 前回はコンピュータが計算しやすい算術式の表現方法として、後置記法を紹介しました。また、仮想スタックマシンSvm1の設計と、後置記法で表記された算術式からSvm1で計算可能なオブジェクトコードがいかに簡単に生成できるか、についても解説しました。 今回は、実際にSvm