0
Boost Spirit Qi語法分析器的語法非常棒,我一直都在用它來做小事情。但是,有時我希望能夠編寫獨立的語法。有什麼辦法可以編寫單獨編譯的boost :: spirit :: qi語法嗎?
這很容易在一次編譯中通過#include合適的語法並將它們拼接在一起進行一次編譯。但是,這使編譯時間開始進入屋頂。還有其他缺點。
有什麼辦法可以編寫單獨編譯的語法嗎?換句話說,我想在一個頭文件中定義一個語法接口,實現這個模板,並且它是一個獨立編譯單元中的特定Iterator的實例化,然後能夠使用另一個語法的語法,而不需要完整的模板定義在編譯時可見。換句話說,我希望能夠間接使用規則中的語法。
這樣的事情可能嗎?如果是這樣,一個人會怎麼做呢?
謝謝。 mini_c示例的確顯示瞭如何做到這一點,但是我被實現仍然存在於「頭文件」文件中(例如,mini_cc.hpp中的語句語法)拋出。實際上,這些頭文件中的語法構造函數僅包含在一個單獨的編譯單元中(例如,用於語句語法的mini_cc.cpp)中的一次實例化。我只是沒有看得很近。 – wjl