Анализатор текста Python для программы C ++? - PullRequest
0 голосов
/ 26 июня 2018

Любой, кто пробовал синтаксический анализ текста в C ++ по сравнению с Python, заметит значительную разницу в усилиях и трудностях, так как Python, как правило, проще двух из них.По этой причине я бы предпочел написать функцию разбора текста на Python, которую могла бы использовать моя программа, написанная на C ++.

Я думал о компиляции файла .py в .dll, но это не представляется возможнымв соответствии с Google, я сделал.Я могу скомпилировать файл .py в файл .exe, а затем передать текст для анализа в качестве аргумента командной строки.Тем не менее, я бы предпочел не порождать несколько процессов каждый раз, когда мне нужно проанализировать текст.

Мне было интересно, можно ли было бы в любом случае использовать функцию Python в программе на C ++ или какие-то другие способы, которые кто-то может придумать.Я просто хочу избежать использования C ++ для разбора текста.

Спасибо за ваше время.

1 Ответ

0 голосов
/ 26 июня 2018

Да, вы можете.Вы должны встроить интерпретатор Python в свое приложение.

Ваш код вызова будет выглядеть примерно так:

Py_Initialize();
PyRun_SimpleString("import parser\n"
                   "parse(" + program_code + ")\n");

В документах есть целый раздел, посвященный внедрению Python .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...