En formell grammatikk består av en mengde regler for omskriving av strenger, med et bestemt startsymbol. Språket som beskrives, er den mengden strenger som kan genereres ved å starte med startsymbolet og ta i bruk disse reglene, uavhengig av rekkefølga på dem. En grammatikk ses derfor ofte på som en språkgenerator, men den kan også brukes som grunnlag for en gjenkjenner som bestemmer om en gitt streng er grammatikalsk (om den tilhører språket).