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