0
经过几天的争吵后,我仍然无法找到如何声明我的缓冲区。 how to pass tkinter text to flex如何将弹性缓冲区重定向到我的缓冲区
什么是将flex缓冲区重定向到我的缓冲区的正确方法? 我想要做的步骤: 1 - 没有条件,没有返回到原始缓冲区,只是通过调用一个函数永久重定向来自图形前端的缓冲区。 2 - 从图形前端将文本复制到我的缓冲区(甚至不如直接fely缓冲到前端缓冲器) 3 - 调用yyparse 4 - 重复步骤2和3
也许是足够申报一个简单的公共功能如下:
void setmybuffer(char *ptr)
{
yy_scan_string (char *ptr);
.... // my other stuff to set
}
后来我想我会在任何flex操作之前调用它。但是,当我试图把这个声明为我*的任何部分.L文件,收到错误
lex.yy.c: In function ‘setmybuffer’:
lex.yy.c:2206:18: error: conflicting types for ‘yy_scan_string’
YY_BUFFER_STATE yy_scan_string (char *ptr);
什么是错的,什么是路?
这就是让我疯狂的东西。如果我写
void setmybuffer(* ptr)
\t {
\t yy_scan_string(* ptr);
\t}
那么该消息为:
abs.l:142:18:错误:之前预期的声明说明符或 '...' '*' 令牌
{
^
– user2469202
@ user2469202:你”如果不知道至少有一点关于如何编写C函数,恐怕不能完成这个任务。我编辑了我的答案,使其更加明确,但您应该花几分钟阅读C的介绍,例如http://en.wikibooks.org/wiki/A_Little_C_Primer - 它引入了函数调用和函数定义语法很早(忽略谈论C的历史的部分),这是无关紧要的。) – rici