Я работаю над проектом, который содержит два сервера, один написан на python, другой на C. Чтобы максимизировать пропускную способность серверов, мы определили двоичный проприетарный протокол, с помощью которого эти два могут общаться друг с другом.
Протокол определен в заголовочном файле C в форме C struct .Обычно я бы использовал VIM, чтобы сделать некоторые замены для преобразования этого файла в код Python.Но это означает, что я должен делать это вручную каждый раз, когда изменяется протокол.
Итак, я считаю, что парсер, который мог бы анализировать заголовочный файл C, был бы лучшим выбором.Тем не менее, существует не менее дюжины генераторов парсера Python .Поэтому я не знаю, какой из них больше подходит для моей конкретной задачи.
Есть предложения?Большое спасибо.
РЕДАКТИРОВАТЬ:
Конечно, я прошу любого написать мне код ....
Код уже закончен.Я преобразовал заголовочный файл в код Python в форме, которую конструктор, библиотека Python, которая может анализировать двоичные данные, может распознавать.
Я также не ищу уже существующий синтаксический анализатор C ,Я задаю этот вопрос, потому что книга, которую я читаю, немного говорит о генераторе синтаксического анализатора, вдохновила меня научиться использовать настоящий генератор синтаксического анализатора.
РЕДАКТИРОВАТЬ Снова:
Когда мы делаемПри проектировании системы я предложил использовать буфер протокола Google, ZeroC ICE или любое другое промежуточное программное обеспечение для многоязычного сетевого программирования, чтобы устранить задачу реализации протокола.
Однако не каждый программист мог читать документы на английском языке ихотел бы попробовать что-то новое, особенно когда у них есть большой опыт в старых и простых , но немного неуклюжих способах.