MICROPROSESADORES

Páginas: 5 (1171 palabras) Publicado: 19 de marzo de 2014
Analizador léxico
Como la primera fase de un compilador, la principal tarea del analizador léxico es leer los caracteres de la entrada del programa fuente, agruparlos en lexemas y producir como salida una secuencia de tokens para cada lexema en el programa fuente. El flujo de tokens se envía al analizador sintáctico para su análisis. Con frecuencia el analizador léxico interactúa también con latabla de símbolos.

Como el analizador léxico es la parte del compilador que lee el texto de origen, debe realizar otras tareas aparte de identificar lexemas. Una de esas tareas es eliminar los comentarios y el espacio en blanco (caracteres de espacio, nueva línea, tabulador y tal vez otros caracteres que se utilicen para separar tokens en la entrada). Otra de las tareas es correlacionar losmensajes de error generados por el compilador con el programa fuente. Por ejemplo, el analizador léxico puede llevar el registro del número de caracteres de nueva línea vistos, para poder asociar un número de línea con cada mensaje de error. En algunos compiladores, el analizador léxico crea una copia del programa fuente con los mensajes de error insertados en las posiciones apropiadas.
Si elprograma fuente utiliza un preprocesador de macros, la expansión de las macros también pueden formar parte de las tareas del analizador léxico.

Algunas veces, los analizadores léxicos se dividen en una cascada de dos procesos:

a) El escaneo consiste en los procesos simples que no requieren la determinación de tokens de la entrada, como la eliminación de comentarios y la compactación de loscaracteres de espacio en blanco consecutivos en uno solo.
b) El propio análisis léxico es la porción más compleja, en donde el escanear produce la secuencia de tokens como salida.

1. La sencillez en el diseño es la consideración más importante. La separación del análisis léxico y el análisis sintáctico a menudo nos permite simplificar por lo menos una de estas tareas. Por ejemplo, un analizadorsintáctico que tuviera que manejar los comentarios y el espacio en blanco como unidades sintácticas sería mucho más complejo que uno que asumiera que el analizador léxico ya ha eliminado los comentarios y el espacio en blanco.
Si vamos a diseñar un nuevo lenguaje, la separación de las cuestiones léxicas y sintácticas puede llevar a un diseño más limpio del lenguaje en general.

2. Se mejora laeficiencia del compilador. Un analizador léxico separado nos permite aplicar técnicas especializadas que sirven sólo para la tarea léxica, no para el trabajo del análisis sintáctico. Además, las técnicas de búfer especializadas para leer caracteres de entrada pueden agilizar la velocidad del compilador en forma considerable.

3. Se mejora la portabilidad del compilador. Las peculiaridades específicasde los dispositivos
de entrada pueden restringirse al analizador léxico.

Un token es un par que consiste en un nombre de token y un valor de atributo opcional.
El nombre del token es un símbolo abstracto que representa un tipo de unidad léxica; por ejemplo, una palabra clave específica o una secuencia de caracteres de entrada que denotan un identificador. Los nombres de los tokens son lossímbolos de entrada que procesa el analizador sintáctico. A partir de este momento, en general escribiremos el nombre de un token en negrita. Con frecuencia nos referiremos a un token por su nombre.

• Un patrón es una descripción de la forma que pueden tomar los lexemas de un token. En el caso de una palabra clave como token, el patrón es sólo la secuencia de caracteres que forman la palabraclave. Para los identificadores y algunos otros tokens, el patrón es una estructura más compleja que se relaciona mediante muchas cadenas.
• Un lexema es una secuencia de caracteres en el programa fuente, que coinciden con el patrón para un token y que el analizador léxico identifica como una instancia de ese token.

Cuando más de un lexema puede coincidir con un patrón, el analizador léxico...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • microprosesadores
  • Microprosesador
  • Microprosesador
  • microprosesadores
  • Microprosesadores
  • microprosesadores
  • microprosesadores
  • Microprosesador

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS