brfore semantic analyze