請參閱標題。對於我正在編寫的一個小工具,我想介紹一個簡單的布爾過濾器語言,並決定做到「正確」並使用解析器生成器。在用grako玩了一下後,我發現我很喜歡它,並且過濾語言做得相當快(這也很好:))是否可以使用grako生成的解析器而不使用grako?
現在的問題是,如果我想在其他計算機上使用該工具或給對於其他人我首先必須以某種方式使grako在那裏可用,這有點麻煩,因爲其他一切都是標準的python3東西。
我想通過聯合包裝必要的grako-class是可能的,但這似乎有點混亂(許可證會以任何方式提及)。也許我忽略了一些內置的方法。
有時,解析器生成器是矯枉過正的。如果你只想寫一個簡單的布爾表達式語言,你可以用一個手寫的遞歸下降解析器很有效地完成這個任務,並且不需要外部的包依賴。請參閱http://stackoverflow.com/questions/2245962/is-there-an-alternative-for-flex-bison-that-is-usable-on-8-bit-embedded-systems/2336769#2336769 –
Thx for the暗示。我同意,使用發生器可能有點過於頂級,但它只是一個「爲了好玩」 - 而且我確實使用了一個,因爲我在一段時間內還沒有玩過任何東西;-)。 – mageta