我有一個嵌入式應用程序,它通過HTTP與RESTful服務器進行通信。一些服務涉及向客戶端發送一些數據,這些數據使用我使用flex編寫的非常簡單的詞法分析器進行解釋。爲分塊數據編寫詞法分析器
現在我正在添加一個gzip壓縮層來減少帶寬消耗,但由於內存要求,我不滿足於當前體系結構:首先我將整個數據接收到緩衝區中,然後解壓縮整個緩衝區放入一個新的緩衝區,然後我將整個數據傳送給flex。
通過將來自HTTP客戶端的分塊數據提供給zlib例程,我可以在第一步和第二步之間節省一些內存。但我想知道是否可以在zlib分塊輸出和flex輸入之間做同樣的事情。
目前我只使用yy_scan_bytes
和yylex
來分析輸入。 Flex是否有將多個數據塊輸入到yylex
的功能?我已閱讀關於multiple input buffers的文檔,但無濟於事。