En formell grammatikk inneholder et finitt sett av terminalsymboler, et finitt sett av ikke-terminale symboler, et finitt sett av produksjonsregler, med ei venstre- og høyreside som inneholder ord danna av disse symbola, og et . En regel blir brukt på et ord ved å erstatte venstresida i regelen med høyresida. En derivasjon er en sekvens av regelapplikasjoner. En slik grammatikk definerer det formelle språket av alle orda som inneholder alle og bare de terminalsymbola som er danna ved derivasjoner ut fra startsymbolet.