add while,merge var,val declare,solve some bug