Complutense University Library

XLOP (XML Language-Oriented Processing)

Martínez Avilés, Alberto and Temprado Battad, Bryan (2009) XLOP (XML Language-Oriented Processing). [Coursework] (Unpublished)

[img]
Preview
PDF
2MB
View download statistics for this eprint

==>>> Export to other formats

Abstract

En este trabajo de Sistemas Informáticos se ha desarrollado un entorno para el procesamiento de documentos XML mediante gramáticas de atributos denominado XLOP(XML Language‐Oriented Processing). XLOP incluye un lenguaje de especificación que permite describir aplicaciones de procesamiento XML como gramáticas de atributos, cuyas funciones semánticas son proporcionadas mediante métodos de clases Java. El entorno incluye un generador que traduce las gramáticas de atributos en implementaciones expresadas en el lenguaje de CUP (una herramienta Java para la construcción de analizadores/traductores ascendentes). XLOP soporta la evaluación on‐line de los atributos (es decir, simultáneamente al procesamiento de los documentos). Así mismo, el entorno permite optimizar las implementaciones CUP mediante el cálculo de marcadores (nuevos no terminales definidos mediante producciones vacías). Dichos marcadores permiten albergar atributos heredados, y sus producciones disparar la evaluación de ecuaciones semánticas. Así mismo, bajo ciertas circunstancias, XLOP optimiza la propagación de atributos hereadados a través de cadenas generadas por recursión a izquierda, permitiendo referir directamente el valor al comienzo de la cadena. En muchos casos, esto permite procesar documentos con una cantidad de memoria
que no depende de la anchura de los mismos.
A fin de probar la potencialidad de XLOP para el desarrollo de aplicaciones XML, en este trabajo se ha desarrollado mediante XLOP una aplicación no trivial en el dominio de e‐
Learning. La aplicación, que se denomina <e‐Tutor>, permite generar tutoriales interactivos a partir de su descripción como documentos XML.
[ABSTRACT]
In this work we have developed an environment for processing XML documents with attribute grammars. This environment is called XLOP (XML Language‐Oriented Processing).
XLOP provides a specification language that makes it posible to describe XML processing applications with attribute grammars. The semantic functions used in these grammars are supplied as methods in Java classes. The environment provides a generator for translating attribute grammars to CUP‐based implementations (CUP is a Java tool for building bottom‐up parsers/translators). XLOP gives support to an on‐line attribute evaluation model (i.e.,
attribute evaluation is interleaved with document parsing). Also, the environment allows the optimization of the CUP implementations by computing markers (new non‐terminals that are defined using empty syntax rules). These markers are useful for containing inherited attributes. Also, their syntax rules can be used for firing the evaluation of semantic equations.
In addition, under certain reasonable assumptions, XLOP optimizes the propagation of inherited attributes through chains generated by left‐recursive rules, enabling the direct referencing to the value placed at the beginning of the chain. In many cases, it makes it possible to process documents with a space that does not depend on the document width.
In order to test the feasibility of XLOP in the development of XML applications, in this work we have developed a non‐trivial application in the e‐Learning domain using XLOP. The application, which is called <e‐Tutor>, supports the generation of interactive tutorials described as XML
documents.


Item Type:Coursework
Additional Information:

Proyecto de Sistemas Informáticos (Facultad de Informática, Curso 2008-2009)

Uncontrolled Keywords:XML, Gramática de Atributos, Desarrollo Dirigido por Lenguajes, Procesador de Lenguaje, Análisis LALR, Herramienta de Construcción de Procesadores de Lenguaje, JavaCC, CUP, e‐Learning, Sistema Tutor, XML, Attribute Grammar, Language‐Driven Development, Language Processor, LALR Parsing, Compiler‐Construction Tool, JavaCC, CUP, e‐Learning, Tutoring System
Subjects:Sciences > Computer science > Expert systems (Computer science)
ID Code:9793
Deposited On:01 Feb 2010 17:16
Last Modified:06 Feb 2014 08:31

Repository Staff Only: item control page