Analizador Sintactico

Facultad Uden Ingeniería i v e r s iendSistemas ad Mariano Compiladores de Guatemala Ing. Herson Haniel Pù Carrillo Gál

Views 86 Downloads 0 File size 601KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Facultad Uden Ingeniería i v e r s iendSistemas ad Mariano Compiladores de Guatemala Ing. Herson Haniel Pù Carrillo

Gálvez

ANÀLISIS SINTÀCTICO o Guía programa analizador sintáctico en java

Pedro Elias Tiño Tiño 1090-17-8586

28 de mayo del 2020, Quiche

ÌNDICE

Analizador Sintáctico--------------------------------------------------------------------------------------------------------------------------1

Función de un analizador sintáctico------------------------------------------------------------------------------------------------------ 2

¿pasos para construir un analizador sintáctico en Java? ----------------------------------------------------3-4

Pasos para elaborar el analizador sintáctico en Neatbeans-----------------------------------5-6-7-8-9-10-11

2

INTRODUCCIÒN

En este documento se dará a conocer el proceso de un analizador sintáctico, bien sabemos que un analizador léxico tiene como entrada el código fuente en forma de una sucesión de caracteres, dicho esto un analizador sintáctico es el que comprueba el orden correcto de los lexemas que le suministra el analizador léxico.

2

Analizador Sintáctico Es la fase del analizador que se encarga de chequear el texto de entrada en base a una gramática dada. Y en caso de que el programa de entrada sea válido, suministra el árbol sintáctico que lo reconoce. En teoría, se supone que la salida del analizador sintáctico es alguna representación del árbol sintáctico que reconoce la secuencia de tokens suministrada por el analizador léxico. En la práctica, el analizador sintáctico también hace: • Acceder a la tabla de símbolos (para hacer parte del trabajo del analizador semántico). • Chequeo de tipos (del analizador semántico). • Generar código intermedio. • Generar errores cuando se producen. En definitiva, realiza casi todas las operaciones de la compilación. Este método de trabajo da lugar a los métodos de compilación dirigidos por sintaxis Características  Es la segunda fase del proceso de compilación.  Se encarga de verificar la regla de estructura que define el lenguaje. La función de un analizador sintáctico Determina la sintaxis a la hora de compilar código. La sintaxis de un lenguaje de programación se determina mediante un conjunto de reglas gramaticales de una gramática libre de contexto. Por lo general el análisis se realiza recursivamente.

2

Regla Gramatical Exp -> Exp Oper Exp | (Exp) | Dig Oper-> +|-|* Dig->[0-9] Ejemplo (43-3) *24 Exp * Exp

(Exp)

Dig

Oper

*

Dig

Exp 2 4

(-)

Dig 4 3

3

¿pasos para construir un analizador sintáctico en Java?

Para realizar el programa de analizador sintáctico en java neatbeans en necesario tener un amplio conocimiento en el entorno de NetBeans. En otras áreas saber cual es el proceso de un compilador es fundamental ya que nos ahorraría tiempo en la construcción del código fuente. Para ello tenemos un diagrama la cual se muestra el proceso que realiza un compilador.

La función de cada proceso

2

1- Analizado léxico: El analizador léxico se encargará de reconocer y separar convenientemente los elementos básicos (tokens) del lenguaje que estamos construyendo, además se deben distinguir los diferentes tipos de datos que existen en el lenguaje. En Neatbeans existen 7 tipos de datos primitivos. 1- Byre. 2- Short. 3- Int. 4- Long. 5- Float. 6- Double. 7- Char. Deberemos definir por tanto cómo reconocer cada uno de estos literales en nuestro código. Espacio en blanco Se considerará espacio en blanco entre elementos del lenguaje a toda combinación de caracteres espacio, saltos de línea o tabuladores. Además, estos elementos tampoco serán pasados como tokens al analizador sintáctico.

2- Analizador Sintáctico: A partir de los tokens pasados por el analizador léxico, el analizador sintáctico se encargará de reconocer las combinaciones correctas de tokens que forman instrucciones o expresiones válidas en nuestro lenguaje, por tanto, deberemos definir cuál es la estructura general de un programa y la estructura concreta de cada una de las construcciones (instrucciones y presiones) aceptadas en el lenguaje.

Pasos para la elaboración del analizador sintáctico en Neatbeans

2

1- Crear una interfaz que se adapte a las necesidades del usuario. Los objetos que se utilizaron fueron: - 2 TextAre -1 Tabla -3 botones

2- Creación de código fuente Antes que nada, se deberá definir la estructura que almacenará los tokens, cantidad y tipo en el objeto tabla.

2

3- Generar tabla de símbolos. Ya teniendo el formulario con sus respectivos objetos, pasaremos a programar en el botón Generar Tabla de símbolos.

2

2

2

4- Generar código análisis sintáctico

2

2

2