Итак, получив работающую виртуальную машину, я принялся за написание компилятора снизу-вверх. Первым делом система команд ВМ была описана в виде набора типов:
type dst = RegDest of int | PntDest of int;;
type src = Reg of int | Pnt of int | Val of int;;
type 'loc command =
| Arith of oper * dst * src * src
| Mov of dst * src
| Movb of dst *
(
Read more... )