Resultados da pesquisa a pedido "boost-spirit"
regras, intuição ou código de compatibilidade de atributo boost :: spirit :: x3?
Existe um documento em algum lugar que descreva como várias operações de definição de regra spirit :: x3 afetam a compatibilidade de atributos? Fiquei surpreso quando: x3::lexeme[ x3::alpha > *(x3::alnum | x3::char_('_')) ]não pôde ser movido ...
Minimizing boost :: vezes de compilação espírito
Alguma idéia para reduzir o impulso :: tempo de compilação do espírito? Acabei de portar um analisador flexível para impulsionar :: spirit. O EBNF tem cerca de 25 regras. O resultado corre bem e o desempenho do tempo de execução é bo O ...
Combine dinamicamente as regras do Boost.Spirit.Qi em tempo de execução (número arbitrário de alternativas)
Eu queria saber se existe uma maneira no Boost.Spirit.Qi de combinar dinamicamente um número arbitrário de regras em tempo de execução. O funcionamento interno do Boost.Spirit ainda é um mistério para mim, mas como as regras são implementadas ...
Boost.Spirit: relatório de erro Lex + Qi
Estou escrevendo um analisador para arquivos de configuração bastante complicados que usam recuo etc. Decidi usar o Lex para dividir a entrada em tokens, pois parece facilitar a vida. O problema é que não consigo encontrar exemplos de uso das ...
Não consigo obter o valor da string de um token
Tento implementar um Lexer para uma pequena linguagem de programação com o Boost Spiri Preciso obter o valor de um token e recebo uma exceção bad_get: terminate chamado depois de lançar uma instância de 'boost :: bad_get' what (): boost :: ...
Boost Spirit: "Ações semânticas são más"?
Lendo e assistindo a esta apresentação:http: //boost-spirit.com/home/2011/06/12/ast-construction-with-the-universal-tree [http://boost-spirit.com/home/2011/06/12/ast-construction-with-the-universal-tree/] Eu descobri essa declaração - ...
boost :: spirit :: qi
Considere o seguinte código: (Boost.Spirit 2.5.1) qi::parse(str.begin(), str.end(), (+qi::alpha)[[](const string& s){cout << s<< '\n';}] >> (*(qi::char_(',') | qi::char_('\''))) >> qi::uint_[[](int integer){cout << integer << '\n';}]);O[[](int ...
Analisador de expressão (gramática) booleana em c ++
Eu quero analisar uma expressão booleana (em C ++). Formulário de entrada: a and b xor (c and d or a and b);Eu só quero analisar essa expressão em uma árvore, conhecendo a regra de precedência (not, and, xor ou). Portanto, a expressão acima deve ...
Como adicionar qi :: símbolos na gramática <Iterator, double ()>?
Estou tentando usar a biblioteca Boost.Spirit (V. 2.5) para criar uma mini-calculadora. Recursos que eu quero implementar: - cálculo básico (+, -, /, *), que funciona - algumas funções (como min, max), que também funcionam - declarar / atribuir ...
Detectando os tipos de parâmetros em uma ação semântica do Spirit
Caso geral: Não consigo entender por que minhas ações gramaticais / semânticas do Espírito não estão sendo compilada Às vezes, o compilador reclama de incompatibilidades de atribuição ou tipo e não faço idéia do que está errado. O problema ...