simply building a small compiler