我的解析器符合以下錯誤時,遇到一個非常大的令牌: 「輸入緩衝區溢出,無法放大緩衝,因爲掃描儀使用拒絕」FLEX讀取大令牌時,遇到緩衝區溢出錯誤
1)默認YY_BUF_SIZE是16k,如果我把這個值改大一點也沒有錯,但是它不能保證下次可以,因爲輸入可以有更大的標記;另外我發現如果我放大YY_BUF_SIZE值,解析器性能會受到影響,並且比以前更慢。
2)yytext應該是從the instructions here%指針來克服這個錯誤,但我試過了,它沒有工作。似乎我的yytext已經是指針。
任何人都可以幫助我解決這個問題嗎?我認爲Flex應該允許用戶無限的令牌大小,這取決於系統內存或動態內存堆棧容量。非常感謝您的任何建議或意見!