Уточнення / "тонкий друк" на відповідь DC: всі CFL у формі нормальної форми Хомського можна ефективно аналізувати за допомогою алгоритму CYK, і всі CFL можуть бути перетворені в CNF. Однак перетворення довільної CFL в CNF може зайняти експоненціальний простір в гіршому випадку залежно від деяких алгоритмів. (Мені невідомий алгоритм, який гарантує перетворення P-часу тут, чи хтось інший? Треба враховувати всі кращі / найгірші випадки, такі як недетерміновані КФЛ або неоднозначні .) Вікіпедія зазначає у розділі CNF Порядок перетворень
| Г |222 | Г |
Тому, здається, можуть існувати КФЛ, які не піддаються ефективному аналізу. Більшість мов програмування є ефективно конвертованими у CNF (або, можливо, в основному визначені в CNF або поблизу CNF), тому розбір CFL для "типових" мов "практично" в P. Існує певне сучасне дослідження цієї найгіршої складності (але не знайти на ньому останні документи на побіжному пошуку). Наприклад, цей старіший (1973) дослідницький документ Грейбаха також, схоже, вказує на те, що найгірший випадок може не обмежувати П. див.