I formelle språk er et kontekstfritt språk sagt å være på om det har følgende produksjonsregler → ,   eller → ,   eller → ε Hvor A, B og C ikke er terminalsymboler og a er et terminalsymbol. S er startsymbolet og ε er den tomme strengen. Hverken B eller C kan være startsymbolet og den tredje produksjonregelen kan bare være med om den tomme strengen er i det gitte kontekstfrie språket.