Impulsionar Regras Espirituais pode ser parametrizado

Na minha gramática Boost Spirit, gostaria de ter uma regra que faça isso:

regra <...> noCaseLit = no_case [lit ("KEYWORD")];

mas para uma palavra-chave personalizada para que eu possa fazer isso:

... >> noCaseLit ("SomeSpecialKeyword") >> ... >> noCaseLit ("OtherSpecialKeyword1")

Isso é possível com as regras do Boost Spirit e, em caso afirmativo, como?

P.S. Eu uso o caso insensível como um exemplo, o que eu estou procurando é a parametrização de regras em geral.

Edições: Através do link fornecido por 'sehe' nos comentários, consegui chegar perto do que queria, mas ainda não cheguei lá.

/* Defining the noCaseLit rule */
rule<Iterator, string(string)> noCaseLit = no_case[lit(_r1)];
/* Using the noCaseLit rule */
rule<...> someRule = ... >> noCaseLit(phx::val("SomeSpecialKeyword")) >> ...

Eu ainda não descobri uma maneira de converter automaticamente a string literal para o valor de Phoenix para que eu possa usar a regra assim:

rule<...> someRule = ... >> noCaseLit("SomeSpecialKeyword") >> ...

questionAnswers(1)

yourAnswerToTheQuestion