Articles of boost spirit

boost spirit V2 qi error asociado con el nivel de optimización

Desarrollo mi código en mi tiempo libre. Preferiblemente en modo de depuración. Recientemente, cuando intenté construir la versión de lanzamiento, obtuve el error (tiempo de ejecución, salida: 1\n2\n luego fallo). Localicé el fragmento de código (a continuación), que contiene el error, y encontré que el error solo ocurre cuando el nivel de optimización es -Os, […]

Comstackndo un analizador simple con Boost.Spirit

Parte de una simple utilidad de esqueleto que estoy pirateando Tengo una gramática para activar sustituciones en el texto. Pensé que era una forma maravillosa de sentirme cómodo con Boost.Spirit, pero los errores de plantilla son una alegría única. Aquí está el código en su totalidad: #include #include #include #include namespace bsq = boost::spirit::qi; namespace […]

¿Por qué nvcc no puede comstackr un archivo CUDA con boost :: spirit?

Estoy tratando de integrar CUDA a una aplicación existente que usa boost :: spirit. Al aislar el problema, descubrí que el siguiente código no se puede copiar con nvcc: main.cu : #include int main(){ exit(0); } Comstackndo con nvcc -o cudaTest main.cu Recibo muchos errores que se pueden ver aquí . Pero si cambio el […]

Detectar los tipos de parámetros en una acción semántica de Spirit

Caso general: no puedo entender por qué mis acciones de gramática / semántica de Espíritu no se están comstackndo. A veces, el comstackdor se quejará de la asignación o del tipo de incompatibilidades y no tengo idea de qué ocurre. El problema ocurre en dos áreas principales: predecir el tipo de atributos sintetizados para una […]

Problema de propagación del atributo Spirit Qi con la estructura de miembro único

Tengo un problema de comstackción con Spirit Qi en el que se queja de que value_type no es miembro de identificador . Por alguna razón, el sistema de atributos de Qi considera que el identificador es un tipo de contenedor e intenta enumerar su tipo de valor. Este es un problema similar al de esta […]

impulsar los parámetros de acción semántica del espíritu

en este artículo sobre impulsar acciones semánticas espíritu se menciona que En realidad, se están transfiriendo 2 argumentos más: el contexto del analizador y una referencia a un parámetro booleano ‘hit’. El contexto del analizador es significativo solo si la acción semántica está unida al lado derecho de una regla. Veremos más información sobre esto […]

Cómo analizar flotadores separados por espacios en C ++ rápidamente?

Tengo un archivo con millones de líneas, cada línea tiene 3 flotantes separados por espacios. Lleva mucho tiempo leer el archivo, así que traté de leerlo usando archivos mapeados en memoria solo para descubrir que el problema no está en la velocidad de IO sino en la velocidad del análisis. Mi análisis actual es tomar […]

Analizador de expresión booleana (gramática) en c ++

Quiero analizar una expresión booleana (en C ++). Forma de entrada: a and b xor (c and d or a and b); Solo quiero analizar esta expresión en un árbol, conociendo la regla de precedencia (no, y, xor, o). Entonces, la expresión anterior debería verse más o menos así: (a and b) xor ((c and […]

Boost Spirit: “Las acciones semánticas son malas”?

Leer y ver esta presentación: http://boost-spirit.com/home/2011/06/12/ast-construction-with-the-universal-tree/ Descubrí esta afirmación: básicamente, se nos sugiere no usar acciones semánticas. Debo admitir que ya sentí algo así: las gramáticas con acciones semánticas se ven realmente feas. y, cuando necesité extenderlos / cambiarlos, tomó mucha “microgestión” exactamente con acciones semánticas. El enfoque con la gramática de atributos, demostrado en […]