私の bison / flex パーサーは、ファイルから入力を読み取ることから始めます。
FILE *myfile = fopen(file.c_str(), "r");
yyin = myfile;
yyparse();
その後のある時点で、メモリ内の文字列から入力を読み取り、解析します。
yy_scan_string(str.c_str());
yyparse();
yy_delete_buffer(YY_CURRENT_BUFFER);
ここまではうまくいきそうです。ただし、プログラムが最初のコードを使用してファイルから入力を再度読み取って解析する必要がある場合、プログラムは機能しません (セグメンテーション違反で終了します)。この問題の修正はありますか?