Взаимодействие парсера Yacc / Bison с программой на C ++

Это не дубликат этого вопроса , потому что решением было не использовать синтаксический анализатор!

У меня есть синтаксический анализатор Bison, с которым я могу работать выполнение ./ parser .Я хочу вызвать парсер Bison из моей программы на C ++. Чего я не хочу, так это делать систему (./ parser , потому что это предполагает, что парсер предварительно скомпилирован, и тогда вся моя программа не будет независимой от платформы.

Если у меня есть функция:

void foo(file_name) {
   // call parser on file_name
}

, как это можно сделать? Любые идеи? Думаю, дело в том, чтобы позвонить yyparse или что-то в этом роде, но я ничего не могу с этим поделать!

Спасибо :).

5
задан Community 23 May 2017 в 12:11
поделиться