simple compiler