Resultados da pesquisa a pedido "boost-spirit"

1 a resposta

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 ...

2 a resposta

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 ...

1 a resposta

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 ...

1 a resposta

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 ...

1 a resposta

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 :: ...

1 a resposta

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 - ...

2 a resposta

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 ...

5 a resposta

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 ...

1 a resposta

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 ...

4 a resposta

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 ...