¿Qué ventajas y desventajas específicas de cada forma de trabajar en una gramática de lenguaje de programación? ¿Por qué / cuándo debo rodar el mío? ¿Por qué / cuándo debo usar un
Análisis de datos (no) estructurados para convertirlos en un formato estructurado y normalizado.
¿Qué ventajas y desventajas específicas de cada forma de trabajar en una gramática de lenguaje de programación? ¿Por qué / cuándo debo rodar el mío? ¿Por qué / cuándo debo usar un
Recientemente me sumergí en el mundo de los analizadores sintéticos, queriendo crear mi propio lenguaje de programación. Sin embargo, descubrí que existen dos enfoques algo diferentes para escribir analizadores: Generadores de analizadores y Combinadores de analizadores. Curiosamente, no he...
Creo que entiendo el objetivo de un AST, y he construido un par de estructuras de árbol antes, pero nunca un AST. Estoy bastante confundido porque los nodos son texto y no número, por lo que no puedo pensar en una buena manera de ingresar un token / cadena mientras estoy analizando algún...
Estaba investigando sobre el conjunto de compiladores gcc en wikipedia aquí , cuando surgió esto: GCC comenzó usando analizadores LALR generados con Bison, pero gradualmente cambió a analizadores de descenso recursivo escritos a mano; para C ++ en 2004, y para C y Objective-C en 2006....
A menudo me he preguntado por qué no se eligió el análisis estricto al crear HTML. Durante la mayor parte del historial de Internet, los navegadores han aceptado cualquier tipo de marcado y han hecho todo lo posible para analizarlo. El proceso degrada el rendimiento, permite a las personas escribir...
Me di cuenta de que C ++ 11 tiene una std::sto@familia de funciones para desempacar fácilmente ints / floats / longs, independientemente de las cadenas. Sin embargo, me sorprende que no se implemente lo contrario. ¿Por qué el comité de estándares no incluyó una std::itosfamilia de funciones para...
¿Cómo se tratan generalmente los comentarios en lenguajes de programación y marcado? Estoy escribiendo un analizador para un lenguaje de marcado personalizado y quiero seguir el principio de menor sorpresa , así que estoy tratando de determinar la convención general. Por ejemplo, ¿debería un...
Me fascinó leer sobre el juego de aventuras de texto The Hobbit que presentaba un analizador increíblemente robusto llamado "Inglish": ... Inglish le permitió a uno escribir oraciones avanzadas como "pregúntale a Gandalf sobre el curioso mapa, luego toma la espada y mata a un troll con él". El...
Los analizadores convencionales consumen toda su información y producen un solo árbol de análisis. Estoy buscando uno que consuma una secuencia continua y produzca un bosque de análisis [ editar: vea la discusión en los comentarios sobre por qué este uso de ese término puede ser poco convencional...
La memoria (y los bloqueos de recursos) se devuelven al sistema operativo en puntos deterministas durante la ejecución de un programa. El flujo de control de un programa por sí solo es suficiente para saber dónde, con seguridad, se puede desasignar un recurso dado. Al igual que un programador...
Se me ha asignado la tarea de implementar un lenguaje específico de dominio para una herramienta que puede llegar a ser bastante importante para la empresa. El lenguaje es simple pero no trivial, ya permite bucles anidados, concatenación de cadenas, etc. y es prácticamente seguro que se agregarán...
Estoy en el proceso de crear mi propio lenguaje de programación, lo cual hago para aprender. Ya escribí el lexer y un analizador de descenso recursivo para un subconjunto de mi lenguaje (actualmente soporto expresiones matemáticas, como + - * /y paréntesis). El analizador me devuelve un Árbol de...
Estoy tratando de entender la compilación y la interpretación, paso a paso, descubriendo una imagen total. Entonces hice una pregunta mientras leía http://www.cs.man.ac.uk/~pjj/farrell/comp3.html este artículo Dice : La siguiente etapa del compilador se llama Analizador. Esta parte del...
Esta pregunta se migró de Stack Overflow porque se puede responder en Software Engineering Stack Exchange. Migrado hace 7 años . Problema: ejecutar comandos en forma de cadena. ejemplo de comando: /user/files/ list all; equivalente a: /user/files/ ls -la; otro: post...
Un colega y yo hemos discutido recientemente si una expresión regular pura es capaz de encapsular completamente el formato csv, de modo que sea capaz de analizar todos los archivos con cualquier carácter de escape, carácter de comillas y carácter de separador. La expresión regular no necesita ser...
Quiero construir un analizador genérico de reglas para los sistemas RPG de estilo lápiz y papel. Una regla puede involucrar usualmente de 1 a N entidades de 1 a N roles de un dado y calcular valores basados en múltiples atributos de una entidad. Por ejemplo: El jugador tiene STR 18, su arma...
Cuando comencé a usar los combinadores de analizador sintáctico, mi primera reacción fue una sensación de liberación de lo que parecía una distinción artificial entre analizador y lexing. De repente, ¡todo se estaba analizando! Sin embargo, recientemente encontré esta publicación en...
Si recuerdo el curso de mi compilador correctamente, el compilador típico tiene el siguiente esquema simplificado: Un analizador léxico escanea (o activa alguna función de escaneo) el código fuente carácter por carácter La cadena de caracteres de entrada se compara con el diccionario de lexemas...
Estoy escribiendo un analizador para un lenguaje de marcado que he creado (escrito en python, pero eso no es realmente relevante para esta pregunta; de hecho, si esto parece una mala idea, me encantaría una sugerencia para un mejor camino) . Estoy leyendo sobre analizadores aquí:...
¿Qué pruebas debo usar para probar un analizador csv? Tengo un analizador de csv simple en C #, y quiero asegurarme de tener una buena cobertura de pruebas unitarias de todos los casos límite comunes (y poco comunes). ¿Qué pruebas debo usar para identificar posibles problemas y casos...