Я кодирую проект на C++, и я ищу способ вставить текстовый файл (usergrammar.txt) в удобочитаемую/записываемую форму, определяемую пользователем грамматику, которая определяет объекты.Загрузить грамматику во время выполнения
После этого я хотел бы иметь возможность указать некоторые из этих объектов в коде и сохранить созданные экземпляры в другом файле (instance.txt), всегда в доступном для людей формате. Этот второй файл, очевидно, зависит от того, что первое должно быть правильно прочитано.
У меня возникли проблемы с тем, как определить грамматику и разобрать их. Я смотрел на Boost :: Spirit, но пока он хорошо справляется с чтением первого файла (поскольку его правила предопределены), я не думаю, что он применим ко второму, поскольку только грамматические символы Spirit время компиляции и не может быть загружено во время выполнения (по крайней мере, это то, что я понял).
Теперь я читаю о форме ENBF, но у меня также есть проблема, что у меня есть не только языковые правила, но каждый объект имеет определенное и другое имя/описание/параметры каждый раз, когда он включается в другой (Например, если у меня есть цвет объекта, целые числа внутри него будут называться красным, синим, yello, а если объект является линейкой, его целое число будет называться length), поэтому у меня есть способ включить эту информацию в файл, а также их правильное соответствие соответствующим аргументам.
У вас есть какие-либо указания на то, что нужно искать/изучать/использовать/делать для такого проекта? Спасибо заранее.
Какой общий формат вы имеете в виду? Будет ли использование XML работать для вас? –