Представьте себе, когда-то я этим занимался.
Сделал на Qbasic-е basic-подобный (но с изменениями) компилятор.
По ходу работы дошло, что ДОС умер, и работа осталась неокоченной (нет дробных типов, именованных констант и еще многого).
Но уже работает Вот:
http://tuapse-mikle.narod.ru/RIFF.rar
Тут сам компилер и несколько демок с исходниками. Использовать так:
Riff.exe myfile.rif
На выходе имеем asm файл, который я дальше компилил асмом (кажется TASM-ом).
Напоролся на subj в архиве и решил, что есть, чем по-хвастаться.