我正在使用 lex 和 yacc 创建一个程序来解析文本,但我需要创建一个各种内容的解析器。我不希望使用标准输入,如果我使用 FILE *yyin 来指定输入,我可以更改源。我需要可以从库解析(使用 lex 文件和 yacc 文件创建)中调用函数来解析此内容并接收结果。
/**
* This i don't know is possible, receive a char * and return a FILE*
*/
FILE *function_parse_to_file(char* text){
FILE *fp = NULL;
/**
* is really necessary create a temporary file with content text?
*/
return fp
}
/**
* I need call from other library or application
*/
char *function_parse_from_lex(char* text){
yyin = function_parse_to_file(text);
init();
yyparse();
fclose(yyin);
}