Proyecto final compiladores

Páginas: 5 (1023 palabras) Publicado: 5 de agosto de 2014
Proyecto Final de Compiladores: Diseño e Implementación de
un Analizador Léxico – Sintáctico y Ambiente de
Programación (IDE) para un Lenguaje de Programación basado
en C++

Integrantes:

Rodríguez Crus, Rolando
rolandopalermo@hotmail.com

García Ibáñez, Erick
egarcia_ugaiber11@hotmail.com

Índice

1. Análisis Léxica
1.1 Palabras Reservas
1.2 Tokens
1.3 Expresiones Regulares yDefiniciones Regulares
2. Análisis Sintáctico
2.1 Notación BNF del lenguaje de Programación
3. Códigos de Prueba

Introducción

El presente proyecto consiste en crear un Analizador Léxico y
Sintáctico para un lenguaje de programación específico y una interfaz de
programación básica para dicho lenguaje. El objetivo del proyecto es el de
aplicar los conocimiento aprendidos en clase, ypracticado en el laboratorios
en un trabajo practico, el cual es construir un lenguaje de programación de
alto nivel sencillo y elemental.

Para poder realizar el presente trabajo se utilizaron herramienta de
uso libre: se utilizó las herramientas FLEX y BISON para crear los
Analizadores Léxico y Sintácticos respectivamente, y se hizo uso del lenguaje
de Programación Java junto con su ambientede programación NetBeans para
crear la interfaz de programación de nuestro lenguaje.

Para crear nuestro lenguaje de programación se decidió basarse en un
legunguaje muy popular y ampliamente usado a nivel mundial como es el C++,
una variante del C y en el lenguaje Scheme. Las gramáticas de nuestro
lenguaje de programación son similares a las que el lenguajes C++. Una de las
diferenciassobre el lenguaje C++ y la mayoría de lenguaje mas usados hoy en
día, es que nuestro lenguaje tiene una sintaxis escrita en el idioma Español.
Por ejemplo si en el lenguaje C++ se utiliza sentencias como For, While, y Do
While, en nuestro lenguaje se utilizan las equivalentes sentencias Para,
Hacer y Hacer Mientras.

Al igual que el C/C++, nuestro lenguaje de programación también es unlenguaje imperativo. Además de basarle en el lenguaje C++, hemos incorporado
en nuestro proyecto la notación postfija para el ingreso de operaciones
aritméticas y lógicas, la cual se utiliza en el lenguaje funcional Scheme.

Nuestro lenguaje consta con estructuras repetitivas (Para, Hacer
Mientras, Mientras), estructuras condicionales (Si, SinoSi, Sino), diferentes
tipos de datos (Entero, Real,Booleano, Caracter), operadores aritméticos (+,
-, *, /), operadores lógicos (&, $), operadores de comparación (, >=, | = | == | !=

Estas son las Expresiones Regulares que utiliza nuestro analizador léxico:
IDENT: esta expresión representa a un identificador. Un identificador
empieza con una letra, y a continuación puede tener una combinación de
letras y/o dígitos, con una cantidad mayor oigual a cero.

( letra ) ( letra | digito )*
-

CARACTER: esta expresión representa a un carácter. Puede tener una o más
letras del alfabeto español, las cuales están definidas en la parte
superior por medio de una definición regular.

( letra )
-

+

BOOLEANO: esta expresión representa a un dato de tipo booleano. Este token
utiliza elementos del alfabeto binario (0, 1), el cual seilustra en una
definición regular mostrada anteriormente. El token ‘binario’ puede tener
uno o mas caracteres.

( binario )
-

ENTERO: esta expresión representa a un dato de tipo entero. Un entero
puede tener uno o más números (del 0 al 9).

( digito )
-

+

+

REAL: esta expresión representa a un dato de tipo real. Un real se
refiere a un número decimal o flotante como se llamaen el lenguaje C.
Este token empieza con un dígito, seguido de un punto (‘.’), y después
puede tener uno o más digitos.
+

( digito ) ‘.’ ( digito)
-

+

COMPARADOR: esta expresión representa a un operador de comparación.

( comparador )

2. Análisis Sintáctico
2.1 Notación BNF del lenguaje de Programación
Todos los lenguajes de programación tienen una gramática específica, la...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Proyecto De Compiladores
  • Compilado preguntas de final Reales
  • Proyecto final
  • proyecto final
  • proyecto final
  • proyecto final
  • PROYECTO FINAL
  • Proyecto Final

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS