begin compiler