Introduction
Imagine trying to describe all the correct ways to write sentences in a language so a computer can understand them. The problem is how to clearly and simply define the rules that make sentences valid without confusion or endless exceptions.