When people use natural language in natural settings, they often use it ungrammatically, rnisSing out or repeating words, breaking-oil and restarting, speaking in Iragments, etc Their human listeners are usually able to cope with these deviations with little difficulty. If a computer system wislles tc accept natural language input from its users on a routine basis, it must display a similar indifference. In this paper, we outline a set of parsing flexibiiilies that :',uch a system should provide. We go, on to describe FlexP. a bottom-up pattern-matching parser that we have designed and implemented to provide these flexibilities for.