【发布时间】:2009-12-15 17:49:24
【问题描述】:
可能重复:
How to make YY_INPUT point to a string rather than stdin in Lex & Yacc (Solaris)
我想从字符串而不是文件中解析。我知道 v 可以使用 yy_scan_string fn 来做到这一点。但对我来说它不能正常工作,所以请帮助我
【问题讨论】:
-
贴一些代码来说明你的问题。
-
YY_BUFFER_STATE my_string_buffer = yy_scan_string(my_string); yyparse(); yy_delete_buffer(my_string_buffer);解析器在第一个标记处出现语法错误。我已经通过文件验证了“my_string”的语法和内容使用 yyrestart(yyin) 以及 yy_create_buffer() 都有效。
标签: yacc lex flex-lexer