Documento_AnalisisSintactico_Mechanix

Páginas: 6 (1491 palabras) Publicado: 22 de febrero de 2016




























Metepec, Estado de México, a 20 de Noviembre de 2013

Índice


Introducción ………………………………………………………………………………………………………………………………………………
3
Gramática …………………………………………………………………………………………………………………………………………………
4
Lista de producciones ..……………………………………………………………………………………………………………………………….
6
Tabla primeros y siguientes …………………………………………………………………………………………………………………………
10
Tablapredictiva …………………………………………………………………………………………………………………………………………
13
Ejemplos …………………………………………………………………………………………………………………………………………………..
17


Introducción

En este trabajo se describe el análisis sintáctico no recursivo aplicado a nuestro lenguaje, llamado ‘Mechanix’, en el cual se definen los pasos necesarios para realizar correctamente el análisis, los cuales son:

Definir la tabla deproducciones a usar en base a la gramática utilizada.

Obtener los primeros y siguientes de cada una de las producciones generadas, tomando como base las tres reglas para obtener los siguientes.

Realizar la tabla predictiva en base a estos elementos, la cual contendrá las posibles combinaciones que puede tener una sentencia y los errores que se generan al haber discrepancias en estas.


Se realizó unaaplicación la cual realiza el análisis sintáctico basándose en pilas y elementos de entrada del código fuente, comparando entre los elementos de entrada, la tabla predictiva para cada producción y su posible resultado, para así ir eliminando elementos de la pila e ir avanzando en el análisis.

Al final del documento se adjuntan algunos ejemplos de códigos fuente válidos para el lenguaje, obtenidosdesde el análisis léxico que previamente se realizó, el cual contiene solamente los tokens tanto fijos como variables de la salida del análisis léxico, demostrando que el analizador sintáctico funciona en su mayoría, teniendo en cuenta que en algunas cosas como las expresiones múltiples puede fallar debido a errores previamente analizados.
Gramática

 Inicio Fin  Metodo |
variable ( )
 λ | Tipo_Dato
 Tipo_Dato variable | λ
 , | λ
 { }
 Regresa | λ
 Metodo | λ

 si | mientras | seleccion_caso |hacer_mientras | hacer_hasta | imprime | variable | TipoDato | intentar |
 si | mientras | seleccion_caso | hacer_mientras | hacer_hasta | imprime | variable | TipoDato | intentar | | λ
| (
 Variable ; | Arreglo ;
) ;
 Tipo_Dato variable | λ
 , | λ
 Tipo_Dato variable
 [ ] ;
 Variable
 , | λ
;
asigna_valor
 [] | λ
 leer | | numero_aleatorio
 { }
 Atrapar {}
 ( ) |
 Numero | Variable
 Menos | División | OA | λ
| λ | ;
;
 Variable
 , | λ
OR
 [ ] |
 OL | λ
 ( );
 Variable | Numero | Cadena
 , | λ
 ( ) entonces
 { }
 λ | Si_No {}
 ( ) { }
 (...
Leer documento completo

Regístrate para leer el documento completo.

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS