Está en la página 1de 4

Teoría de la Computación MC Juan Fraustro de la O

Lenguajes y Autómatas
LUIS ANTONIO CERDA GONZALEZ 17430460.
Actividad 2.
Objetivo: El estudiante logra identificar las funciones de las fases de un compilador y los errores
que cada fase debe detectar.

Desarrollo de la actividad:

Considerando como lenguaje de programación “java” generar casos con:

a. Errores de léxico 3
son pocos los errores que se pueden

detectar al hacer análisis léxico

• fi (a == f(x)) //Error de sintaxis

• Pero puede existir algún error si ninguno de

los patrones con cuerda con el prefijo deentradaTécnicas de recuperación de errores

• Borrar un carácter extraño

• Insertar un carácter que falta

• Reemplazar un carácter incorrecto por otro

correcto

• Intercambiar dos caracteres adyacentes

Int i;

For( i = 0; i<5; i++) ; {

System.out.println(i);

b. Errores de sintaxis 3
-Un error sintáctico en el código de Java es una en la que el lenguaje que se utiliza para crear
su código es incorrecto. Por ejemplo, si intenta crear una sentencia if que no incluye la
condición entre paréntesis, incluso cuando la condición está presente en la misma línea que la
sentencia if, eso es un error de sintaxis

agosto de 2020 1
Teoría de la Computación MC Juan Fraustro de la O

*Olvidarse de importar una clase: Cada vez que desee utilizar una función de la API de Java en
particular, debe importar la clase asociada a su aplicación. Por ejemplo, si su aplicación contiene
Cadena de nombre de usuario, entonces debe agregar java.lang.String- importación para
importar la clase String.

* El tratamiento de un método estático como un método de instancia: Los métodos estáticos


son aquellos que están asociados con una clase específica, mientras que los métodos de
instancia se asocian con un objeto creado a partir de la clase.

* Olvidar el nombre de clase o un objeto como parte de una llamada al método: Siempre se
incluye la clase u objeto asociado a un método antes de hacer la llamada al método. Por
ejemplo, Character.toUpperCase () y System.out.print () son correctas, sino simplemente
llamando toUpperCase () o print () es incorrecta.

* El uso incorrecto de mayúsculas: Uno de los errores más comunes de sintaxis que los nuevos
desarrolladores hacen es capitalizar palabras clave, en lugar de usar minúsculas. Java es sensible
a mayúsculas, así que usar el caso correcto al escribir su código es esencial. Este mismo error
puede ocurrir con nombres de clases, variables, o cualquier otro código que escribe como parte
de la aplicación Java. Una variable llamada MiVar es siempre diferentes entre myVar nombrado

*Ejemplo2 = 0;

Whhile (ejemplo2 = 0 );

Do “hola mundo”

Prueba ejemploprueba ()

Echo “solo prueba” ;

}}

c. Errores de semántica 3

Los errores que puede detectar el analizador sintáctico son aquellos que violan las reglas de
una gramática independiente del contexto. Ya hemos mencionado que algunas de las
características de un lenguaje de programación no pueden enunciarse con reglas
independientes del contexto, ya que dependen de él; por ejemplo, la restricción de que los
identificadores deben declararse previamente. Por lo tanto, los principales errores semánticos
son:

 Conversiones de tipos no permitidas

agosto de 2020 2
Teoría de la Computación MC Juan Fraustro de la O

 int x;
x = 4.32;
 Error: Ej1.java [6:1] possible loss of precision
 Variables usadas y no definidas
  Operandos de tipos no compatibles
if (x || 5) x = 0;
 Error: Ej2.java [7:1] operator || cannot be applied to int,int

Prueba ejemplo

Int x;

X = 4.35

Public class clase{

Public static void main (string args [] ){

String nombre;

Nombre = “luis”

Apellido = “cerda”;

Public class clase{

Public static void main (string args [] ){

Float a;

String b;

a = b + a;

agosto de 2020 3
Teoría de la Computación MC Juan Fraustro de la O

Subir a plataforma el archivo con estos casos.

Evidencias: Archivo en Word o pdf con los casos solicitados, subido a plataforma

agosto de 2020 4

También podría gustarte