compiler stage: frontend and backend