Один із способів перегляду регулярних виразів є конструктивним доказом наступного факту: побудувати звичайні мови можна, починаючи з невеликого набору мов та поєднуючи їх за допомогою невеликого фіксованого набору властивостей закриття. Зокрема, якщо ми почнемо з порожньої мови, мови, що містить порожню рядок, та мов усіх односимвольних рядків, ми можемо зібрати всі можливі регулярні мови за допомогою з'єднання, конкатенації та зірки Kleene.
Чи є набір базових мов та властивостей закриття, які можна використовувати для генерування всіх та лише контекстних мов? (Для уточнення: я не запитую, чи можете ви писати регулярні вирази для всіх CFL, що, на мою думку, неможливо. Натомість мені цікаво, чи існує спроектувати рамку, що нагадує регулярні вирази, для CFL на основі ті ж основні принципи.)