Analizador Lexico
• Objetivo
Es la primera etapa de un compilador, cuyo principal objetivo consiste en leer los caracteres de entrada y elaborar como salida una secuencia de componentes léxicos que utiliza el analizador sintáctico para hacer el análisis. Esta interacción, suele aplicarse, para convertir al analizador léxico en una subrutina o rutina básica de entrada del analizadorsintáctico. Recibida la orden “obtener el siguiente componente léxico” del Analizador Sintáctico, el Analizador Léxico lee los caracteres de entrada hasta que pueda identificar el siguiente componente léxico.
• Metodología
El Analizador Léxico es la parte del compilador que lee el código fuente, en nuestro caso este código será almacenado dentro de un arreglo de caracteresdimensionable dinámicamente de acuerdo al tamaño del código fuente, al cual se le llamo “Token”, el cual realizará funciones secundarias en la interfaz del usuario, como detectar del código fuente los comentarios y espacios en blanco en forma de caracteres de espacio en blanco, caracteres TAB y de nueva línea (ENTER), que permitirá reconocer cada letra del token, la cual será almacenada en el arraypara su posterior identificación en conjunto.
DEFINICIÓN DEL LENGUAJE
I.- Estructura del programa
Todo programa tendrá la siguiente estructura:
1. Programa Principal
principal
inicio
inideclara_var
---------------- Declaración de variables globales
----------------
findeclara_var
-------------------------------- Cuerpo del programa principal
----------------
fin
2. Funciones
OBS: TD = Tipo de dato
TD funcion nombre_funcion (TD parámetro1, .........)
inicio_f
inideclara_varf
----------------- Declaración de variables locales
-----------------
findeclara_varf
------------------------------------ Cuerpo de la función
------------------
Retornar nombre_var
fin_f
3. Procedimientos
procedimiento nombre_procedimiento (TD parámetro1, .........)
inicio_p
inideclara_varp
----------------- Declaración de variables locales
-----------------
findeclara_varp------------------
------------------ Cuerpo del procedimiento
------------------
fin_p
4. Clases
acceso_público clase nombre_clase
inicio_c
acceso_privado
inideclara_a
---------------
--------------- Declaración de los Atributos findeclara_a
acceso_publico
inideclara_m--------------- Declaración de los Métodos(funciones y/o
--------------- procedimientos)
findeclara_m
fin_c
5. Clases Abstractas
acceso_público clase abstracta nombre_clase
inicio_ca
acceso_privado
inideclara_a
---------------
--------------- Declaración de los Atributos findeclara_a
acceso_publico
inideclara_m--------------- Declaración de los Métodos(funciones y/o
--------------- procedimientos)
findeclara_m
fin_ca
OBS: En las clases abstractas al menos uno de los métodos debe declararse abstracto.
6. Procedimientos con Operador de ámbito
Clase nombre_clase :: procedimiento nombre_procedimiento (TD parámetro1, .........)
inicio_pcinideclara_varpc
----------------- Declaración de variables locales
-----------------
findeclara_varpc
------------------
------------------ Cuerpo del procedimiento
------------------
fin_pc
7. Funciones con Operador de ámbito
TD clase nombre_clase :: funcion...
Regístrate para leer el documento completo.