Documentos de Académico
Documentos de Profesional
Documentos de Cultura
DE CUSCO
Facultad de Ingeniería Electrónica, Eléctrica Mecánica e Informática
Integrante :
SEMESTRE 2020- I
CUSCO - PERÚ
1
INTRODUCCIÓN
2
CONTENIDO
INTRODUCCIÓN 2
1. Léxico del lenguaje de programación JavaScript 4
a. Tipos de datos: 4
b. Variables Válidas 4
c. Delimitadores 4
d. Palabras reservadas 4
e. Operadores 4
f. Primitivas 4
g. Comentarios 5
2. Ejemplo de la construcciones del lenguaje con una sintaxis válida 6
Tabla 3. Segunda Sintaxis Válida 7
Tabla 4. Tercera Sintaxis Válida 7
3. Errores de tipo semántico en JavaScript 8
4. Analizador léxico (en FLEX) de JavaScript 10
5. Crear un programa que permita traducir un programa escrito en español en JavaScript
a su versión en Inglés. Para realizar las pruebas realizar 5 programas en JavaScript 11
6. Recomendaciones 17
3
COMPILADOR PARA JAVASCRIPT EN ESPAÑOL
b. Variables Válidas
c. Delimitadores
d. Palabras reservadas
e. Operadores
f. Primitivas
4
g. Comentarios
Formado por los siguientes lexemas (// /* */)
c. Delimitador ➢ . ➢ .
➢ ; ➢ ;
➢ : ➢ :
➢ { ➢ {
➢ } ➢ }
➢ ( ➢ (
➢ ) ➢ )
e. operadores ➢ + ➢ +
5
➢ * ➢ *
➢ - ➢ -
➢ % ➢ %
➢ / ➢ /
➢ ** ➢ **
➢ < ➢ <
➢ > ➢ >
➢ & ➢ &
➢ | ➢ |
➢ <= ➢ <=
➢ >= ➢ >=
➢ === ➢ ===
➢ < ➢ <
➢ > ➢ >
➢ ++ ➢ ++
➢ -- ➢ --
g. comentario ➢ // ➢ //
➢ /* ➢ /*
➢ */ ➢ */
Inglés Español
var y; variable y;
var x; variable x;
var sumas; variable suma;
function suma(){ funcion suma(){
y = 1; //asignamos valor y = 1; //asignamos valor
x = 2; x = 2;
sumas=x+y; suma=x+y;
} }
suma(); x();
console.log(sumas); consola.iniciar(suma);
6
Inglés Español
Inglés Español
Inglés Español
7
3. Errores de tipo semántico en JavaScript
8
● Uso de un argumento fuera de rango para un método de redondeo.
9
4. Analizador léxico (en FLEX) de JavaScript
10
5. Crear un programa que permita traducir un programa escrito en
español en JavaScript a su versión en Inglés. Para realizar las
pruebas realizar 5 programas en JavaScript
El programa en Flex que se ha creado para la traducción es el siguiente:
/* Sección DEFINICIONES */
%{
#include <stdio.h>
int lineas=1;
%}
/* Sección REGLAS */
%%
[ \t]+ { printf(" "); }
"verdadero" { printf("true"); }
"falso" { printf("false"); }
"si" { printf("if"); }
"caso_contrario" { printf("else"); }
"nuevo" { printf("new"); }
"variable" { printf("var"); }
"para" { printf("for"); }
"mientras" { printf("while"); }
"tratar" { printf("try"); }
"esto" { printf("this") ; }
"cambiar" { printf("switch"); }
"captura" { printf("catch"); }
"caso" { printf("case"); }
"eliminar" { printf("delete"); }
"en" { printf("in"); }
"regreso" { printf("back"); }
"hacer" { printf("do"); }
"descanso" { printf("break"); }
"funcion" { printf("function"); }
"importar" { printf("import"); }
"caso" { printf("case"); }
"alerta" { printf("alert"); }
"consola" { printf("console"); }
"iniciar" { printf("log"); }
"documento" { printf("document"); }
"escribir" { printf("write"); }
"escribir_lineal" { printf("writeln"); }
"aredondeo" { printf("toFixed"); }
"aexponente" { printf("toExponencial"); }
"ingresar" { printf("prompt"); }
"matematicas" { printf("maths"); }
11
"absoluto" { printf("abs"); }
"retornar" { printf("return"); }
\n lineas++; { printf("\n"); }
. printf ("%s", yytext);
%%
yylex();
return 0;
}
Los programas que se han utilizado como texto de entrada para la traducción,
fueron los siguientes:
12
consola.iniciar("El mayor es "+ console.log("El mayor es "+
numero1); numero1);
} }
caso_contrario else
{ {
consola.iniciar("El mayor es "+ console.log("El mayor es "+
numero2); numero2);
} }
} }
} }
Mayor_de_dos(); Mayor_de_dos();
Tabla 8. Programa Mayor_de_dos
13
Programa para calcular la factorial de un número
Español Inglés
14
Veamos la ejecución del programa:
Primero compilamos y ejecutamos todos los archivos
15
Veamos el contenido del archivo traducido. Se ha logrado traducir el archivo
de forma exitosa
16
6. Recomendaciones
17