An error-recovering form of DCGs