Implement full interpreter/compiler