I have a string in a C file like this:
char *test = "print x";
我想使用我编写的Bison解析器进行解析,这是否可能?
void set_input_string(const char* in) {
yy_scan_string(in);
}
void end_lexical_scan(void) {
yy_delete_buffer(YY_CURRENT_BUFFER);
}
将以下内容放在您的Bison定义文件末尾,再次放置在第二个%%
之后:
/* Declarations */
void set_input_string(const char* in);
void end_lexical_scan(void);
/* This function parses a string */
int parse_string(const char* in) {
set_input_string(in);
int rv = yyparse();
end_lexical_scan();
return rv;
}
parse_string
来解析字符串。error: use of undeclared identifier 'yy_free_buffer'
。 - tejas
yylex()
代码来从初始化集合中读取。 - Jonathan Leffler