1. При запуске парсишь все описания, схемы и т.д. обычными комбинаторами.
2. Преобразовываешь в схему, в случае чего кидаешь ошибку.
3. При работе используешь ранее созданную схему.
Проблемы?
Вот, а в моей ситуации достаточно одного прохода, максимум, двух.