這不是this question的重複,因爲解決方案不是使用解析器!將Yacc/Bison解析器與C++程序連接起來
我有一個野牛解析器,我可以通過做./parser < file_to_parse
運行。我想從我的C++程序中調用Bison解析器。我不想要的是做system(./parser < file_to_parse)
,因爲這會假設解析器是預先編譯的,然後我的整個程序將不會是平臺無關的。
如果我有一個函數:
void foo(file_name) {
// call parser on file_name
}
那麼如何才能做到這一點?有任何想法嗎?我認爲這是調用yyparse或什麼的情況,但我沒有得到它的任何地方!
謝謝:)。
謝謝歐內斯特..仍在掙扎,但希望我會到那裏。在我的詞法分析器中實際上並沒有yylex()--Flex創建了一個可能執行getchar()的默認操作。我想我需要在詞法分析器中編寫我自己的東西。 – ale