Académique Documents
Professionnel Documents
Culture Documents
CATEDRATICO:
RENE ALVARADO
CATEDRA:
COMPILADORES
TAREAS VARIAS
CARNE: 1890-06-16724
5TO. SEMESTRE
EJERCICIO: 1.1.1
El programa puede producir un programa destino en ensamblador como salida, ya que es más fácil
producir el lenguaje ensamblador como salida y es más fácil su depuración.
Es mucho más rápido.
Requiere menos tiempo.
4. A un compilador que traduce un lenguaje de alto nivel a otro lenguaje de alto nivel es el
llama traductor de source- source. ¿Qué ventajas hay en el uso de C como lenguaje
destino para un compilador.
¿??????????????
TOKEN DESCRIPCION
Float Palabra reservada
X Id
() Llamada funcion
<> Op. comparacion
|| Op. OR
10.0 Numeral
{} Id
* Operador
¿? Operador nulo
3.1.2 Lenguajes indecidibles como HTML con muchas etiquetas. Sugiera como
dividir el siguiente documento en HTML en los lexemas apropiados.
EJERCICIO 3.3.2
a(a|b)*a.
a ε a…a , a ε b…a
((ε|a)b*)*.
ε b… …,
(a|b)*a(a|b)(a|b).
a… ε aaa, b…abb,
(aa|bb)*((ab|ba)(aa|bb)* (ab|ba)(aa|bb)*)*
a) Prefijos
b) Sufijos
c) Prefijos propios
d) Subcadenas
e) Subsecuenticas
Prefijo de n: una cadena que se obtiene eliminando cero o más símbolos desde derecha de la
cadena n.
Sufijo: de n: una cadena que se forma suprimiendo cero o más símbolos desde la izquierda de una
cadena n por ejemplo era es un sufijo de bandera.
Prefijos propios: cualquier cadena no vacía x que sea respectivamente, un prefijo, sufijo o
subcadena de n tal que n = x
Subcadenas de n: una cadena que se obtiene suprimiendo un prefijo y un sufijo de n, por ejemplo
ande es una subcadena de bandera.
EJERCICIO: 3.3.4
La mayoría de los lenguajes son sensible a mayúsculas y minúsculas por lo que la palabra clave
solo pueden escribirse de una forma y las expresiones regulares que describen su lexema son muy
simples. No obstante, algunos lenguajes como SQL son insensibles a mayúsculas y minúsculas, por
lo que una palabra clave puede escribirse en minúsculas o en mayúsculas, o en cualquier mescla
de ambas. Por lo que una palabra clave puede escribirse en minúsculas o en mayúsculas, o en
cualquier mescla de ambas. Por ende, la palabra clave SELECT de SQL también puede escribirse
como select, Select, o sELEct o sELEcT. Muestre como escribir una expresión regular para una
palabra Clave en un lenguaje insensible a mayúsculas y minúsculas. Ilustre la idea escribiendo la
expresión “select”
((S)(s)(E)(e)(L)(l)(E)(e)(C)(c)(T)(t))
S[eleCt]* = SeleCt
s[ElecT]* = sElecT
EJERCICIO 3.3.5
a) Todas las cadenas de letras en minúsculas que contengan las cinco vocales en orden.
(a,e,i,o,u)* = {aeiou, aeeiou, aeiiiou ,aeiooou, aeiouuu}
b) Todas las cadenas de letras en minúsculas, en las que las letras se encuentren en orden
lexicográfico ascendente.
(a*b*)* = {aa,aaa,ab,abb,bb}
c) Comentarios, que consistan de una cadena rodeada por /* y */, sin un */ entre ellos, a
menos que se encierre entre dobles comillas (“).
L*=(anita,lava,la,tina) ={anita,anita,anitalava,anitala,anitatina…}
d) Todas las cadenas de dígitos sin dígitos repetidos. Sugerencia: Pruebe este problema
primero con unos cuantos dígitos, como {0,1,2}.
[0|1,5] [6|7,9]
e) Todas las cadenas de dígitos que tengan por lo menos un digito repetido
2(3|4*) (5|6*)7
Inciso G
a,h = Torre
b,g = caballo
c,f = arfil
d = rey
e = Dama
Posición 7= piones
a b c d e f g h
8 8
7 7
6 6
5 5
4 4
3 3
2 2
1 1
a b c d e f g h
1.e4 e5 2.f4 exf4 3.Bc4 Qh4+ 4.Kf1 b5 5.Bxb5 Nf6 6.Nf3 Qh6 7.d3 Nh5 8.Nh4
Qg5
9.Nf5 c6 10.g4 Nf6 11.Rg1 cxb5 12.h4 Qg6 13.h5 Qg5 14.Qf3 Ng8 15.Bxf4 Qf6
16.Nc3 Bc5 17.Nd5 Qxb2 18.Bd6 Bxg1 19.e5 Qxa1+ 20.Ke2 Na6 21.Nxg7+ Kd8
22.Qf6+ Nxf6 23.Be7# 1-0
|(a..A), (a..b),(a..C),(A..D),(a..e),(A..f),(a..G),(A..H),(a..i),(A..j)|
(b|c|d|f|g|h|j|k|l|m|n|ñ|p|q|r|s|t|v|w|x|y|z)
(1|2|3|4|5|6|7|8|9|A|B|C|D|E|F)
d) Los caracteres que pueden aparecer al final de una oración legitima en inglés (por
ejemplo, el signo de admiración)
(…|.|?|!|$|*)