6 research outputs found

    Herramientas educativas para facilitar la adopción de la ingeniería de lenguajes software entre los desarrolladores informáticos

    Get PDF
    Históricamente, la materia de construcción de compiladores y procesadores de lenguaje es considerada por los estudiantes de ingeniería en informática como una materia difícil. Esto es debido, por una parte, a la naturaleza formal de las herramientas de especificación y diseño utilizadas, y, por otra, a la aplicación adecuada de diferentes técnicas sistemáticas de desarrollo para obtener los procesadores finales a partir de sus especificaciones. En esta tesis se aborda esta problemática en el caso particular de las gramáticas de atributos como formalismo básico de especificación. La tesis aborda, primeramente la concepción de una estrategia para facilitar la comprensión de los aspectos básicos de las especificaciones basadas en gramáticas de atributos, así como el soporte software de dicha estrategia. La estrategia propone un enfoque dirigido por problemas, en los que el alumno debe emular el proceso de evaluación semántica sobre distintos supuestos de procesamiento de frases de acuerdo con gramáticas de atributos. Para soportar dicha estrategia, se ha desarrollado un sistema denominado Evaluators, que, tomando como entrada baterías de ejercicios sobre evaluación semántica, produce automáticamente simuladores interactivos que los estudiantes pueden utilizar para resolver dichos ejercicios. El sistema proporciona, así mismo, una herramienta de autoría, que puede ser utilizada por los docentes para proporcionar los ejercicios, así como una herramienta de análisis, que permite trazar el comportamiento de los estudiantes durante la resolución de los mismos en los simuladores generados. Respecto a dichos simuladores, la herramienta es capaz de generar simulaciones de dos tipos: simuladores basados en juegos serios, y simulaciones interactivas basadas en las representaciones abstractas convencionales utilizadas en la materia. La tesis presenta, así mismo, diversos resultados de evaluación de la herramienta, tanto con estudiantes como con docentes, que evidencian la utilidad práctica de la misma. Por último, la tesis abstrae también el modelo de proceso utilizado en la construcción de la misma..

    A change-oriented architecture for mathematical authoring assistance

    Get PDF
    The computer-assisted authoring of mathematical documents using a scientific text-editor requires new mathematical knowledge management and transformation techniques to organize the overall workflow of anassistance system like the ΩMEGAsystem.The challenge is that, throughout the system, various kinds of given and derived knowledge units occur in different formats and with different dependencies. If changes occur in these pieces of knowledge, they need to be effectively propagated. We present a Change-Oriented Architecture for mathematical authoring assistance. Thereby, documents are used as interfaces and the components of the architecture interact by actively changing the interface documents and by reacting on changes. In order to optimize this style of interaction, we present two essential methods in this thesis. First, we develop an efficient method for the computation of weighted semantic changes between two versions of a document. Second, we present an invertible grammar formalism for the automated bidirectional transformation between interface documents. The presented architecture provides an adequate basis for the computer-assisted authoring of mathematical documents with semantic annotations and a controlled mathematical language

    Parsing Schemata

    Get PDF
    Parsing schemata provide a general framework for specication, analysis and comparison of (sequential and/or parallel) parsing algorithms. A grammar specifies implicitly what the valid parses of a sentence are; a parsing algorithm specifies explicitly how to compute these. Parsing schemata form a well-defined level of abstraction in between grammars and parsing algorithms. A parsing schema specifies the types of intermediate results that can be computed by a parser, and the rules that allow to expand a given set of such results with new results. A parsing schema does not specify the data structures, control structures, and (in case of parallel processing)\ud communication structures that are to be used by a parser.\ud Part I, Exposition, gives a general introduction to the ideas that are worked out in the following parts.\ud Part II, Foundation, unfolds a mathematical theory of parsing schemata. Different kinds of relations between parsing schemata are formally introduced and illustrated with examples drawn from the parsing literature.\ud Part III, Application, discusses a series of applications of parsing schemata.\ud - Feature percolation in unification grammar parsing can be described in an elegant, legible notation.\ud - Because of the absence of algorithmic detail, parsing schemata can be used to get a formal grip on highly complicated algorithms. We give substance to this claim by means of a thorough analysis of Left-Corner and Head-Corner chart parsing.\ud - As an example of structural similarity of parsers, despite differences in form and appearance, we show that the underlying parsing schemata of Earley's algorithm and Tomita's algorithm are virtually identical. Using this structural correspondence we can obtain a novel parallel parser by cross-fertilizing a parallel Earley parser with Tomita's graph-structured stack.\ud - Parsing schemata can be implemented straightforwardly by boolean circuits. This means that, in principle, parsing schemata can be coded directly into hardware.\ud Part IV, Perspective, discusses the prospects for natural language parsing applications and draws some conclusions. An important observation is that the theoretical and practical part of the book reinforce each other. The proposed framework is abstract enough to allow a thorough mathematical treatment and practical enough to allow rewriting a variety of real parsing algorithms (i.e. seriously proposed in the literature, not toy examples)\ud in a clear and coherent way
    corecore