Categorii: Tot - variables - java - sintaxis - análisis

realizată de GAMS Ciber-Papeleria 1 an în urmă

180

ANÁLISIS SEMÁNTICO DE PROGRAMAS ESCRITOS EN JAVA

La programación en Java se basa en el paradigma orientado a objetos, caracterizado por una sintaxis elegante y limpia. Un aspecto crucial del desarrollo en Java es el análisis semántico, que incluye la determinación del tipo estático de cada expresión en el código fuente.

ANÁLISIS SEMÁNTICO DE PROGRAMAS ESCRITOS EN JAVA

ANÁLISIS SEMÁNTICO DE PROGRAMAS ESCRITOS EN JAVA

El lenguaje java está basado en el paradigma de la orientación a objetos desde su concepción, lo que ha dado origen a un lenguaje que posee construcciones sintácticas limpias y elegantes

EL MODELO PROPUESTO
3.1 EJEMPLO DE ANÁLISIS SEMANTICO: ANÁLISIS DE TIPOS.

Es es la etapa en la cual se determina el tipo estático de cada expresión del programa fuente

Para realizar análisis de tipos se necesitan algunos pasos previos.

Su firma

Determinación de los métodos de cada clase

Determinación del ámbito de las variables

Reunir información sobre la interfaz de cada clase

ANÁLISIS SINTÁCTICO
2.3 Patrón de diseño visitor

Consiste de una clase externa que es agregada al modelo con el cual trabajamos y que actúa sobre los datos contenidos en las instancias de las clases del modelo.

ii) La estructura de objetos de una aplicación es estable, pero se quieren añadir con frecuencia nuevas operaciones a los objetos de esta estructura.

i) Muchas operaciones distintas y sin relación entre sí deben ser realizadas sobre objetos en una estructura de objetos intentando evitar una “contaminación”

2.2 Árbol de derivación vs Árboles de sintaxis abstracta

Árbol de sintaxis abstracta

Posee un diseño acotado en el cual sólo se conservan aquellas clases que aportan un significado semántico, desechando aquellas que corresponden a reglas de desambiguación o parentización.

Esto permite reducir considerablemente el tamaño del árbol resultante.

Árbol de derivación

También llamado parse tree, posee un diseño en el cual cada producción de la gramática tiene su correspondiente objeto.

Esto significa que el tamaño del árbol será proporcional al tamaño de la gramática.

2.1 Herramientas para generar analizadores sintácticos.

Dan la posibilidad al programador de trabajar a un nivel de abstracción más elevado que el que deberían usar si las escribieran a mano

2 críticas clásicas

2) El reporte de errores no es tan exacto.

1) Los parsers generados automáticamente son lentos y usan mucha memoria.

También llamado parsing, consiste en agrupar los tokens del programa fuente formando frases gramaticales las cuales son usadas para comprobar si se deriva a partir de la gramática del lenguaje

ANALIZADOR ASCENDENTE

Los analizadores ascendentes o bottom-up construyen el árbol comenzando por las hojas hasta concluir en la raíz.

Pueden manejar una gama más amplia de gramáticas.

ANALIZADOR DESCENDENTE

También llamados top-down, construyen el árbol sintáctico desde arriba (la raíz) hacia abajo (lashojas)

Son más populares, ya que se pueden implementar fácilmente a mano.