Java

Páginas: 12 (2863 palabras) Publicado: 19 de marzo de 2011
Definición del lenguaje

1. Introducción

Los lenguajes de programación son herramientas que nos permiten crear programas utilizando una serie de comandos capaces de dialogar con la maquina y funcionar de acuerdo a un requerimiento necesitado.

La primera parte del desarrollo de este software consiste en la implementación de un programa capaz de diferenciar y dialogar con los componentesléxicos. Para ello se deben definir previamente estos componentes.
La importancia de este proyecto radica en que se aplicaran conceptos muy importantes de programación tales como archivos, recursividad, tokens, entre otros.
Este lenguaje de programación esta basado en Listas Dobles (Estructura de datos) para su funcionamiento, aunque la idea era hacer árboles BNF surgieron problemas y debírecurrir al uso de listas.

Descripción: en la elaboración del software se utilizaron estructuras de datos tales como árboles binarios, listas y además a esto también cuenta con varios archivos. El software cuenta con una tabla de símbolos contenida en un archivo llamado token.txt; esta tabla será explicada mas adelante.
También cuenta con otro archivo llamado Ejemplo.txt en cual se encuentra unamuestra de código para su posterior compilación.
Análisis Léxico:

Esta es la primera fase de un compilador. En esta fase, la cadena de caracteres que conforma al programa fuente es despojada de comentarios, espacios en blanco y otros elementos. El programa encargado de hacer esto es conocido como un scanner, y de aquí que al proceso se le refiera comúnmente como scanning (exploración). Duranteesta fase se identifican los elementos gramaticales usados en la creación del programa. Leyendo los caracteres uno a uno desde la entrada iba formando grupos de caracteres con alguna relación entre sí (tokens), que constituirán la entrada para la siguiente etapa del compilador. Cada token representa una secuencia de caracteres que son tratados como una única entidad.

Hay dos tipos de tokens:tirasespecíficas, tales como palabras reservadas (if, while,begin,etc.), el punto y coma, la asignación, los operadores aritméticos ológicos, etc.; tiras no específicas, como identificadores, constantes o etiquetas.

Se considera que un token tiene dos partes componentes: el tipo de token y su valor. Todo esto contenido en la tabla de símbolos.

Una tabla de símbolos es una estructura de datos quecontiene un registro por cada identificador, con los campos para los atributos del identificador. La estructura de datos permite encontrar rápidamente el registro de cada identificador y almacenar o consultar rápidamente datos en un registro.
Cuando el analizador léxico detecta un identificador en el programa fuente, el identificador se introduce en la tabla de símbolos. Sin embargo, normalmentelos atributos de un identificador no se pueden determinar durante el análisis léxico. Las fases restantes introducen información sobre los identificadores en la tabla de símbolos y después la utilizan de varias formas. Por ejemplo, cuando se está haciendo el análisis semántico y la generación de código intermedio, se necesita saber cuáles son los tipos de los identificadores, para poder comprobarsi el programa fuente los usa de una forma válida y así poder generar las operaciones apropiadas con ellos. El generador de código, por lo general, introduce y utiliza información detallada sobre la memoria asignada a los identificadores.

Las demás especificaciones son:

Patrón: expresión regular que define el conjunto de cadenas que puede representar a cada uno de los tokens.

Lexema:secuencia de caracteres del código fuente que concuerda con el patrón de un token. Es decir, cuando analizamos el texto fuente y encontramos una cadena de

caracteres que representa un token determinado diremos que esa cadena es su lexema.

Atributos: El análisis léxico debe proporcionar información adicional sobre los token sen sus atributos asociados. El número de atributos depende de cada...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Java
  • Java
  • java
  • JAVA
  • java
  • java
  • javiera
  • Java

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS