Я для подобного пользовался костылями с tree-sitter ) Но лучше, наверное, решать задачу по другому
Генератор из чего?
Из грамматики как обычно, но не исходников. Ну по regexp генератор автоматов же есть... Тут тоже самое по грамматике. Ну и запуск соответственно не через eval() как в js
В рантайме обычно уже не нужно генерировать, а нужно сразу парсить. Поэтому вопрос скорее в парсере, который принимает грамматику в рантайме, строку, и разбирает её в соответствии с переданной грамматикой.
Скорее всего вам нужен табличный парсер по типу LR или precedence parsing
Можно самому LR накатать. Я вон накатал, но у меня бага в генерации GOTO-таблиц, потому что я разучился работать с циклами и делал таблицы неподвижными точками от распостранения информации по ним.
Обсуждают сегодня