Articles of pyparsing

¿Pyparsing apoya las gramáticas sensibles al contexto?

Perdóname si tengo la terminología incorrecta; tal vez solo obtener las palabras “correctas” para describir lo que quiero es suficiente para que encuentre la respuesta por mi cuenta. Estoy trabajando en un analizador para ODL (Lenguaje de descripción de objetos), un lenguaje arcano que, por lo que puedo decir, ahora lo usa solo la NASA […]

Análisis de registros de Snort con PyParsing

Tener un problema con el análisis de registros Snort utilizando el módulo pyparsing. El problema radica en separar el registro de Snort (que tiene entradas de varias líneas, separadas por una línea en blanco) y hacer que el análisis analice cada entrada como un trozo completo, en lugar de leer línea por línea y esperar […]

análisis de una expresión lógica compleja en pyparsing en forma de árbol binario

Estoy tratando de analizar expresiones lógicas complejas como la de abajo; x > 7 AND x < 8 OR x = 4 y obtener la cadena analizada como un árbol binario. Para la expresión anterior, la expresión analizada esperada debe verse como [[‘x’, ‘>’, 7], ‘AND’, [[‘x’, ‘<', 8], 'OR', ['x', '=', 4]]] El operador […]

¿Dificultad de este trabajo en particular usando pyparsing? (principiante)

Tengo la tarea de hacer eso. Estoy seguro de que Python y pyparsing realmente podrían ayudar, pero todavía soy demasiado novato con la progtwigción para tomar una decisión inteligente sobre qué tan difícil será la implementación completa y si vale la pena intentarlo. Es cierto que será un infructuoso fregadero del tiempo. La tarea es […]

Agregando información externa a ParseResults antes de regresar

Quiero agregar información externa a ParseResults antes de volver. Devuelvo los resultados del análisis como asXML (). Los datos externos se representan como diccionario para analizarlos como XML en el análisis final. Este es el código antes de agregar datos externos desde la importación de contenido * # a hypothetical outer parser, with an unparsed […]

pyparsing, cada uno, nombre de resultados

Estoy tratando de usar pyparsing para crear un pequeño analizador que no sea bastante simple (no tengo cláusulas, no tengo ninguna combinación, etc.). Hoy he basado mi trabajo en el script de ejemplo simpleSQL.py incluido con pyparsing. Estoy tratando de agregar las cláusulas “GRUPO POR” y “ORDENAR POR” en el analizador, pero trato de hacerlas […]

Emparejando líneas no vacías con pyparsing

Estoy tratando de hacer una pequeña aplicación que utiliza el uso de pyparsing para extraer datos de archivos producidos por otro progtwig. Estos archivos tienen el siguiente formato. SOME_KEYWORD: line 1 line 2 line 3 line 4 ANOTHER_KEYWORD: line a line b line c ¿Cómo puedo construir una gramática que ayude a extraer la line […]

Cómo hacer coincidir paréntesis / paréntesis en pyparsing

Tengo un token de gramática especificado como: list_value = Suppress(oneOf(“[ (“)) + Group( delimitedList(string_value | int_value))(“list”) + Suppress(oneOf(“] )”)) Sin embargo, esto obviamente permite (foo, bar] ¿Cómo hago cumplir que las listas de apertura y cierre de caracteres deben coincidir?

Pyparsing – donde el orden de los tokens es impredecible

Quiero poder extraer el tipo y el recuento de letras de un texto donde las letras pueden estar en cualquier orden. Hay algunos otros análisis en los que estoy trabajando, ¡pero este bit me ha dejado perplejo! input -> result “abc” -> [[‘a’,1], [‘b’,1],[‘c’,1]] “bbbc” -> [[‘b’,3],[‘c’,1]] “cccaa” -> [[‘a’,2],[‘c’,3]] Podría usar la búsqueda o […]

No se puede pyparsing Dict () para devolver el diccionario nested

Estoy tratando de analizar cadenas de la forma: ‘foo(bar:baz;x:y)’ Me gustaría que los resultados se devuelvan en forma de un diccionario nested, es decir, para la cadena anterior, los resultados deberían tener este aspecto: { ‘foo’ : { ‘bar’ : ‘baz’, ‘x’ : ‘y’ } } A pesar de las numerosas combinaciones de Dict () […]