Nella teoria dei linguaggi formali, una grammatica libera dal contesto si dice essere nella forma normale di Chomsky (CNF,[1] o FNC, dall'inglese Chomsky normal form) (scoperta da Noam Chomsky)[2] se tutte le sue regole di produzione sono nella forma seguente:[1][3]
dove , e sono simboli non terminali, è un simbolo terminale (un simbolo che rappresenta un valore costante), è l'assioma di partenza, è la stringa vuota, e .
Tutte le grammatiche nella forma normale di Chomsky sono non contestuali e, viceversa, tutte le grammatiche non contestuali possono essere trasformate in grammatiche equivalenti in FNC. Per eseguire tale trasformazione sono stati ideati più algoritmi. Tuttavia, come fatto notare da Lange e Leiß,[4] lo svantaggio di queste trasformazioni sta nel grande aumento della dimensione della grammatica, dove tale dimensione equivale alla somma delle dimensioni delle regole di produzione, le quali, a loro volta, equivalgono a 1 più la lunghezza della parte destra. Denotando con la dimensione della grammatica originale , la crescita di tale dimensione nel peggiore dei casi è compresa fra a (dipende dall'algoritmo di trasformazione utilizzato).