9 research outputs found

    Avances en procesadores de lenguajes y proof-carrying code

    Get PDF
    En este trabajo se presentan las líneas del grupo de investigación “Procesadores de Lenguajes” perteneciente al Departamento de Computación de la UNRC. Los aspectos fundamentales son la creación de modelos y herramientas de última generación para la generación de procesadores de lenguajes incluyendo la generación de Código Móvil Seguro. Se reseñan los trabajos del último año que han permitido: construir un generador de analizadores léxicos traductores, construir un generador de evaluadores concurrentes sin comunicación de gramáticas de atributos, realizar un análisis comparativo de los generadores de procesadores de lenguajes más usados y de Japlage y definir un lenguaje assembler tipado para la ejecución segura de código móvil no confiable. Además, se presentan los trabajos iniciados por el grupo destacando la obtención de un prototipo de un compilador certificante y entorno de ejecución para Proof-Carrying Code (PCC) –una técnica para garantizar código móvil seguro-.Eje: Teoría de la ComputaciónRed de Universidades con Carreras en Informática (RedUNCI

    Avances en procesadores de lenguajes y proof-carrying code

    Get PDF
    En este trabajo se presentan las líneas del grupo de investigación “Procesadores de Lenguajes” perteneciente al Departamento de Computación de la UNRC. Los aspectos fundamentales son la creación de modelos y herramientas de última generación para la generación de procesadores de lenguajes incluyendo la generación de Código Móvil Seguro. Se reseñan los trabajos del último año que han permitido: construir un generador de analizadores léxicos traductores, construir un generador de evaluadores concurrentes sin comunicación de gramáticas de atributos, realizar un análisis comparativo de los generadores de procesadores de lenguajes más usados y de Japlage y definir un lenguaje assembler tipado para la ejecución segura de código móvil no confiable. Además, se presentan los trabajos iniciados por el grupo destacando la obtención de un prototipo de un compilador certificante y entorno de ejecución para Proof-Carrying Code (PCC) –una técnica para garantizar código móvil seguro-.Eje: Teoría de la ComputaciónRed de Universidades con Carreras en Informática (RedUNCI

    JACC un entorno de generación de procesadores de lenguajes

    Get PDF
    En el presente trabajo se exponen los puntos más relevantes del diseño e implementación de jacc, un entorno de generación de procesadores de lenguajes o de compilación de compiladores, basado en un formalismo que brinda la posibilidad de utilizar las posibilidades de evaluación de las gramáticas de atributos, conjuntamente con la potencia de los esquemas de traducción. La primera versión genera analizadores sintácticos LALR y evaluadores concurrentes de atributos. El diseño se ha realizado dentro la Tecnología de Orientación a Objetos y se ha usado Java como lenguaje de implementación. El lenguaje especificación que brinda jacc sigue el estilo yacc, que prácticamente es un estándar. También se describen las extensiones que se harán a la versión inicial para dotarla de la posibilidad de usar otros métodos de análisis, mejorar la eficiencia y dotarlo de un módulo de generación de código móvil seguro.Eje: Informática teóricaRed de Universidades con Carreras en Informática (RedUNCI

    Generación de evaluadores estáticos de gramáticas de atributos bien definidas

    Get PDF
    En el presente trabajo se describe una herramienta de generación estática de evaluadores de gramáticas de atributos (GA) para la familia de GA bien de - nidas (GABD), denominada wagcc. Las GABD imposibilitan la derivación de árboles sintácticos con dependencias circulares entre las instancias de los atributos. wagcc se basa en los conceptos desarrollados por Wuu Yang en[7] para la computación estática de planes de evaluación con algunas mejoras como por ejemplo la prevención de la generación de planes espúreos, lo cual afecta signi - cativamente al tamaño del evaluador generado y el tiempo y espacio utilizado en su generación. El desarrollo de wagcc con rma el resultado de Riis y Skyum[6] quienes establecieron que todas las GABD permiten el desarrollo de un evaluador estático multi-visita. Hasta el momento, no se conocen herramientas similares basadas en ésta familia de GA.Eje: Teoría (TEOR)Red de Universidades con Carreras en Informática (RedUNCI

    Generación de evaluadores estáticos de gramáticas de atributos bien definidas

    Get PDF
    En el presente trabajo se describe una herramienta de generación estática de evaluadores de gramáticas de atributos (GA) para la familia de GA bien de - nidas (GABD), denominada wagcc. Las GABD imposibilitan la derivación de árboles sintácticos con dependencias circulares entre las instancias de los atributos. wagcc se basa en los conceptos desarrollados por Wuu Yang en[7] para la computación estática de planes de evaluación con algunas mejoras como por ejemplo la prevención de la generación de planes espúreos, lo cual afecta signi - cativamente al tamaño del evaluador generado y el tiempo y espacio utilizado en su generación. El desarrollo de wagcc con rma el resultado de Riis y Skyum[6] quienes establecieron que todas las GABD permiten el desarrollo de un evaluador estático multi-visita. Hasta el momento, no se conocen herramientas similares basadas en ésta familia de GA.Eje: Teoría (TEOR)Red de Universidades con Carreras en Informática (RedUNCI

    Un generador de evaluadores de gramáticas de atributos NC(1) de máximo paralelismo sin sincronización entre procesos

    Get PDF
    En éste trabajo se presenta el desarrollo de un generador de evaluadores de gramáticas de atributos no circulares −NC(1)−. Este generador computa estáticamente toda la información necesaria para que el evaluador generado construya, en tiempo proporcional a la longitud del árbol, procesos concurrentes independientes capaces de producir la evaluación. Esto permite evaluar aprovechando el máximo paralelismo posible sin ningún tipo de sincronización. En éste trabajo se aprovechan dos enfoques: el clásico enfoque secuencial, que determina un orden lineal de evaluación, con el enfoque recientemente propuesto por Wuu Yang para el particionado de mayor refinamiento del grafo de dependencias en regiones disjuntas. El algoritmo desarrollado evita un recorrido adicional sobre el árbol sintáctico y completa el estudio de los detalles para la implementación del evaluador. Este desarrollo se integrará como evaluador alternativo de un generador de procesadores de lenguajesÁrea: Informática Teórica - Inteligencia Artificial - Lenguajes - CompiladoresRed de Universidades con Carreras en Informática (RedUNCI

    Un generador de evaluadores de gramáticas de atributos NC(1) de máximo paralelismo sin sincronización entre procesos

    Get PDF
    En éste trabajo se presenta el desarrollo de un generador de evaluadores de gramáticas de atributos no circulares −NC(1)−. Este generador computa estáticamente toda la información necesaria para que el evaluador generado construya, en tiempo proporcional a la longitud del árbol, procesos concurrentes independientes capaces de producir la evaluación. Esto permite evaluar aprovechando el máximo paralelismo posible sin ningún tipo de sincronización. En éste trabajo se aprovechan dos enfoques: el clásico enfoque secuencial, que determina un orden lineal de evaluación, con el enfoque recientemente propuesto por Wuu Yang para el particionado de mayor refinamiento del grafo de dependencias en regiones disjuntas. El algoritmo desarrollado evita un recorrido adicional sobre el árbol sintáctico y completa el estudio de los detalles para la implementación del evaluador. Este desarrollo se integrará como evaluador alternativo de un generador de procesadores de lenguajesÁrea: Informática Teórica - Inteligencia Artificial - Lenguajes - CompiladoresRed de Universidades con Carreras en Informática (RedUNCI

    A Finest Partitioning Algorithm for Attribute Grammars

    No full text
    The attribute dependence graph of a syntax tree may be partitioned into disjoint regions. Attribute instances in different regions are independent of one other. The advantages of partitioning the attribute dependence graph include simplifying the attribute grammar conceptually and allowing the possibility of parallel evaluation. We present a static partitioning algorithm for attribute grammars. The algorithm builds the set of all feasible partitions for every production by analyzing the grammar. After the attributed syntax tree is constructed, one of the feasible partitions is chosen for each production instance in the syntax tree. Gluing together the selected partitions for individual production instances results in a partition of the attribute dependence graph of the syntax tree. No further merging or partitioning is needed at evaluation time. In addition to static partitioning, the algorithm always produces the finest partition of every attribute dependence graph
    corecore