Compilador

Cancelado Publicado hace 6 años Pagado a la entrega
Cancelado Pagado a la entrega

consiste en diseñar y programar un compilador con sus tres fases (Analizador Lexico, Analisador sintactico y analizador semantico), que analice

el código fuente del lenguaje I++, que les voy a proporcionar programado en JAVA, no se permite utilizar objetos de análisis léxico o sintáctico.

Incluirá como presentación un editor de texto que permitirá cargar el archivo de entrada (con extensión imm). Luego procederá a analizar el código fuente, validando la sintaxis del mismo y obteniendo como salida:

- Errores de cada fase (en una pantalla adicional a la del editor de texto).

- Salida a pantalla que el lenguaje arroje ( a través de una ventana adicional a la del editor).

- Resumen de tabla de símbolos del compilador. (en una ventana adicional a la del editor ).

- Un documento de salida que indique en formato de XML los errores ocurridos

GENERALIDADES DEL LENGUAJE

I++ es un lenguaje de programación sencillo, que cuenta con las siguientes características generales:

 I++ es un lenguaje en el que se diferencian las minúsculas y las mayúsculas (es case

sensitive). Solamente las palabras reservadas no se les debe hacer distinción entre

mayúsculas y minúsculas.

 Es un lenguaje que permite, parcialmente, formato libre, por lo que se admiten espacios y tabuladores en cualquier parte del código. Los comentarios pueden ir solamente al final de cada linea. No hay comentarios de varias líneas.

 Cada sentencia debe terminar con signo ; permitiendo varias sentencias por línea.

 Las palabras clave que tiene el lenguaje son reservadas.

 El lenguaje consta de los siguientes tipos de sentencias:

· Declaraciones de Variables

· Asignaciones de valor a una variable, que puede ser valores puntuales, otras

variables, operaciones con variables numéricas o concatenación de cadenas.

· Sentencias de Control (si…sino…finsi)

· Operaciones de Escritura a Pantalla

· Operación de lectura de teclado a una variable.

 Las sentencias anteriores pueden estar en cualquier parte del código fuente y repetirse cualquier número de veces.

Lenguaje I++:

void nombre() //método sin parametro

<

s1: cadena;

Salida(“ingrese su nombre”);

Entrada ( s1 );

Salida(“su nombre es ”, s1);

int1=5+8*3;

real1 = int1/ 1.23;

>

void cuadrado (b: entero) //método con parametro

<

c:entero;

c = b * b;

Salida (“El cuadrado de ”,b,” es ”,c);

>

void Principal () //método principal

<

s1: cadena; s2:cadena; s3:cadena; //Variables globales

int1:entero; int2: entero; int3: entero; //Variables globales

real1: real = 8.5;

Salida(“ingrese un valor entero y se mostrara el cuadrado del valor”);

Entrada ( int1);

Llamar cuadrado (int1);

Llamar nombre();

Salida (“el resultado de la operación es “,real1);

Salida (“Escriba un valor entero de 0 a 10”);

Entrada (int2);

Si (int2 > 5)

Salida (“El valor ingresado es mayor a 5”);

Sino

Salida (“El valor ingresado no es mayor a 5”);

FinSi

>

lo necesito para el viernes 26/05/2017

Java

Nº del proyecto: #14136189

Sobre el proyecto

4 propuestas Proyecto remoto Activo hace 6 años

4 freelancers están ofertando un promedio de $31 por este trabajo

usman1493

Hey I can write a compiler for you as per your need I have good advanced expertise in compiler construction Feel Free to message me We can discuss about the details in chat Regards

$25 USD en 1 día
(204 comentarios)
6.7
shahidost

Hi, I hope you will be doing well. I believe on perfect work with 100% satisfaction of my client then payment. I deliver only exceptionally robust and well-designed work as a rule to my client. I understand your pr Más

$50 USD en 2 días
(23 comentarios)
4.3
AJBANKURU

I am good at Java which may helpful to your task. I am giving an oath that I will finish it in 2 days

$24 USD en 1 día
(0 comentarios)
0.0