Pregunta

He descubierto la manera de utilizar espíritu - es decir, he escrito una gramática de complejidad moderada. Siempre tomo el enfoque de un programa de crecimiento - un subsistema a la vez. He escrito las estructuras de datos para un modelo complejo que cuenta con 4 tipos al más alto nivel.

Me gustaría utilizar el gramática compuesta de reglas acercan para analizar el tipo de alto nivel de un tipo a la vez - es decir, quiero escribir gramáticas 4 con un alto nivel de gramática. Si esto es posible (que estoy empezando a dudas), es posible que alguien por favor enviar un fragmento o una referencia a un proyecto que hace esto.

Un resultado entre la gramática al nivel de 50+ (mucho más posible) reglas (para manejo de errores adecuado) no suena como la diversión (código de TMP es volátil / lenta para compilar, y proporciona mensajes de error inútiles).

¿Fue útil?

Solución

simplificado de un programa real, Qi debe trabajar lo mismo que Karma .

template<class Iter>
struct subgrammar_1
: karma::grammar<Iter, ...>
{
    ...
}

template<class Iter>
struct top_level_grammar
: karma::grammar<Iter, ...>
{
    top_level_grammar() : top_level_grammar::base_type(start)
    {
        start %= r1 | r2;
    }
    karma::rule<Iter, ...> r1;
    subgrammar_1<Iter> r2;
    ...
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top