Framework for building compilers/interpreters