2
我正在嘗試創建解析RTF文件的語法。在某些時候,我需要在語法範圍內存儲一些信息。我知道,我可以使用繼承的屬性,但這會惡化可讀性。boost :: spirit :: qi - 在語法結構中使用實例成員
所以我問自己,如果語法的實例成員變量可以解決我的問題,如果有,我應該怎麼在我的語法使用它們?
例如,我需要跟蹤的字符轉換的活動代碼頁中。在我的語法結構中有int codepage
是否是好習慣?
我想進一步是,調用一些功能在棧上推杆和彈出的狀態變量。我想我會將狀態信息結合到一個RtfState類中,我可以根據需要進行擴展。調用語法結構的成員函數最好的方法是什麼?
謝謝您的回答,@sehe。我解決這樣的: '點亮( 「{」)[PHX ::綁定(RtfState :: saveState和,參考文獻(狀態))]',' 點亮( 「}」)[PHX ::綁定(RtfState :: restoreState,ref(state))]'和 'rtfFontTable [phx :: bind(&RtfState :: addFonts,ref(state),_1)]' – DaJunkie