在我升壓精神的語法我想有做這個的規則:可能促進精神規則參數
規則< ...> noCaseLit = NO_CASE [亮(「關鍵字」)];
但對於一個自定義的關鍵字,這樣我可以做到這一點:
... >> noCaseLit( 「SomeSpecialKeyword」)>> ... >> noCaseLit( 「OtherSpecialKeyword1」)
這是可能與提升精神規則,如果是的話如何?
P.S.我用大小寫不敏感的東西作爲例子,我後面的一般是規則參數化。
編輯: 通過評論中'sehe'提供的鏈接,我能夠接近我想要的東西,但我還沒有完成。
/* Defining the noCaseLit rule */
rule<Iterator, string(string)> noCaseLit = no_case[lit(_r1)];
/* Using the noCaseLit rule */
rule<...> someRule = ... >> noCaseLit(phx::val("SomeSpecialKeyword")) >> ...
我還沒有想出一個辦法自動將文本字符串轉換爲鳳凰值,這樣我可以使用這樣的規則:
rule<...> someRule = ... >> noCaseLit("SomeSpecialKeyword") >> ...
[分解出的精神規則共同份](http://stackoverflow.com/questions/13388227/factoring-out-common-parts-of-spirit-rules),用於提供 – sehe
THX sehe的可能重複該鏈接幫助我學習瞭如何使用繼承的屬性。 – Halt