Compilador
$10-30 USD
着払い
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
プロジェクトID: #14136189
プロジェクトについて
4人のフリーランサーが、平均$31 で、この仕事に入札しています。
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
I am good at Java which may helpful to your task. I am giving an oath that I will finish it in 2 days