138367513 Tema2 Ejercicios

Páginas: 7 (1734 palabras) Publicado: 4 de junio de 2015
Procesadores de lenguajes


Ejercicios del Tema 2






MANEJO DE EXPRESIONES REGULARES



Ejercicio 2.1

Escriba expresiones regulares para los siguientes lenguajes:

a) Comentarios que comiencen por << y terminen por >>. b) Comentarios de una línea de C++.
c) Números enteros que no acepten que el primer dígito sea cero salvo el número ‘0’.

d) Lenguaje que no distinga entre letras mayúsculas yminúsculas y acepte las palabras inte- ger, real y char.

Ejercicio 2.2

¿Cuáles de las siguientes expresiones regulares para los comentarios de C son correctas? Da un contraejemplo para las erróneas.

a) “/*” ( ~[] )* “*/”

b) “/*” ( ~[“*”, “/”] )* “*/”
c) “/ *” ( ~[“*”] | “*” ~[“/”] )* “*/”
d) “/*” ( ( ~[“*”] )* (“*”)+ ~[“*”, “/”] )* ( ~[“*”] )* (“*”)+ “/”
e) “/*” ( (“*”)* ~[“*”,“/”] | “/” )* (“*”)+ “/”

Ejercicio 2.3

Diseña expresiones regulares para los siguientes lenguajes:

a) Cualquier secuencia de caracteres encerrada entre llaves que no contenga ni el carácter | ni la llave cerrada.

b) Cualquier secuencia de caracteres encerrada entre llaves que no contenga la llave cerrada ni el carácter | salvo que vaya precedido de la barra invertida (\|).

c) Las direcciones IP enformato numérico (por ejemplo, 127.0.0.1).

Ejercicio 2.4

¿Qué lenguajes representan las siguientes expresiones regulares?

a) 0 (0|1)* 0



1



b) (0|1)* 0 (0|1) (0|1)

c) 0* 1 0* 1 0* 1 0*

d) (00|11)* ( (01|10)(00|11)* (01|10)(00|11)* )*

Ejercicio 2.5

Escribe expresiones regulares para los siguientes lenguajes:

a) Todas las cadenas de letras que contengan las cinco vocales en orden (lasvocales pueden repetirse).

b) Todas las cadenas de letras que estén en orden lexicográfico ascendente.

c) Comentarios que consisten en una cadena encerrada entre /* y */, sin ningún */ intermedio salvo que aparezca entre comillas.

Ejemplo: /* comentario “ sigue */ Ejemplo: /* comentario “*/” sigue */
Ejemplo incorrecto: /* “comentario */ sigue “ */

d) Todas las cadenas de dígitos sinningún dígito repetido.

e) Todas las cadenas de dígitos con a lo sumo un dígito repetido.

f) Todas las cadenas de 0 y 1 con un número par de 0s e impar de 1s. g) Todas las cadenas de 0 y 1 que no contienen la subcadena 011.
Ejercicio 2.6 (1er parcial curso 04/05)

a) Escribir una expresión regular que genere cadenas que comiencen y terminen por comillas (“), cuyo contenido admita cualquier carácter,incluido las comillas si van precedidas de la barra invertida (\”). Por ejemplo: “Esta es una cadena \” que incluye comillas”.

b) Generar el autómata finito determinista a partir de la expresión anterior.

Ejercicio 2.7 (1er parcial curso 05/06)

Los literales de tipo carácter en Java se pueden introducir de cuatro formas: caracteres im- primibles, caracteres con escape, caracteres en formatooctal y caracteres unicode.

Los caracteres imprimibles son los que se representan por códigos ASCII mayores que 31 y menores que 256, a excepción de los siguientes: barra invertida ( \ ), comilla simple ( ‘ ), comilla doble ( “ ) y el código 127.

Los caracteres de escape se forman con la barra invertida seguida de otro símbolo. Las op- ciones son: salto de línea ( \n ), retorno de carro ( \r ),tabulador ( \t ), nulo ( \f ), barra invertida ( \\ ), comilla simple ( \’ ) y comilla doble ( \” ).

Los caracteres en formato octal se representan por la barra invertida seguida de uno, dos o tres dígitos octales. Por ejemplo, \0 \15 \163.



Los carateres en formato unicode se representan por medio de la barra invertida, seguida de una letra ‘u’ o ‘U’, seguida de cuatro dígitos en formatohexadecimal. Por ejemplo: \u005F
\u007e.

Un literal de tipo carácter en Java se representa por una comilla simple, seguida de la repre- sentación del carácter en alguno de los cuatro formatos indicados anteriormente y terminado en comila simple. Por ejemplo: ‘A’, ‘\n’, ‘\163’, ‘\u007B’.

(a) Realizar una expresión regular que describa los literales de tipo carácter de Java.

(b) Realizar un...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • ejercicios tema2
  • Tema2.
  • tema2
  • Tema2
  • TEMA2
  • Tema2
  • Tema2
  • Tema2

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS