add compiler grammar