Ern*_*ill 3 c c++ yacc stdio
我有一个 C 库,我想在不修改库的情况下与 C++ 代码进行交互。它有一个 yacc 生成的前端,可以读取yyin,这是一个FILE *. 我想设置yyin某种从内存中读取的模拟FILE *。是否有希望以可移植(Linux、Mac、Windows)的方式做到这一点——或者是否有其他技巧可以让这样的解析器从内存而不是读取FILE *?
yyin
FILE *
Die*_*Epp 5
您可以fmemopen()在 Linux 上使用。不幸的是,不仅没有可移植的方法来做到这一点,而且甚至fopen()不是真正可移植的(它在 Windows 上已经被破坏了很长时间)。
fmemopen()
fopen()
但是,如果您的分词器是 Flex,则可以使用yy_scan_buffer(). 请参阅Flex 词法分析器的字符串输入。
yy_scan_buffer()
归档时间:
12 年,6 月 前
查看次数:
496 次
最近记录: