Professional Documents
Culture Documents
Diapositiva1
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva2
Introduccin
Lenguajes de programacin
Programas
Lenguajes de alto nivel y de mquina
Traductores
Especificaciones gramaticales y semnticas
Lenguajes formales
Alfabeto
Palabras
Sintaxis
Semntica
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva3
Lxico
tokens
(palabras)
Sintctico
gramtica
Anlisis
rboles
(frases)
Lenguaje de mquina
Semntico
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva4
Smbolos
Cadenas o palabras
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva5
Interseccin:L1 L2
Concatenacin:L1 L2
Clausura:L+ =Ui=1 Li
Reflexin:L1
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva6
Derivacin
Regla de produccin: x y : x, y *
Derivacin directa: v w
Derivacin: v v1 v2 w
Derivacin por izquierda y por derecha
Ejemplo:
01 11
00 10
Derivaciones para la palabra?
00011
Regla compresora: x y si |y| < |x|
UTN - FRM: Fundamentos de sintaxis y semntica
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva7
Gramticas formales
Definicin
G = {t, n, S, P}
t: conjunto de smbolos terminales
n: conjunto de no-terminales (=t n y t n=)
S: axioma : S n
P: reglas de produccin
Lenguaje generado
L(G) es el conjunto de todas las palabras o cadenas generadas
por la gramtica.
Equivalencia
L(G1) = L(G2)
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva8
Gramticas formales
Sea t={a,b,c}
gramtica que genera { ar b cr/r0 } ?
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva9
Jerarqua de Chomsky
Tipo 0
(sin restricciones)
uv
u = xA y
u (n t)+
v, x, y (n t)*
A n
Tipo 1
(sensible al contexto)
xA y x v y
x, y (n t)*
v (n t)+
A n
S (regla compresora)
1
2
Tipo 2
(independiente del contexto)
Av
A n
v (n t)*
Tipo 3
(regular a dcha. o izq.)
A aB
Aa
A
A, B n
a t
Expresiones regulares
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva10
G3 (regulares)
Regular x izquierda
Regular x derecha
S 1A
A 1A | 0B | 0
B 0B | 0
S C0
C C0 | D1 | 1
D D1 | 1
Ambas generan
11000
10
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva11
G2 (independientes de contexto)
G1 (no estricta)
G2 (estricta)
S AB
A 0A1 |
B 2B |
S AB | A | B |
A 0A1 | 01
B 2B | 2
Ambas generan
0n1n2m con n, m 0
G1 no es estricta ya que incluye reglas nulas
asociadas a smbolos que no son el axioma
11
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva12
rbol de derivacin
SeaG={t,n,S,P}
t:{0,1,[,],+,*}
n:{E}
S:E
P:{E[EE+],E[EE*],E0,E1}
Paralacadena:[0[01*]+]
12
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva13
Sea:S SaS|SbS|c
Qupasaparacbcac ?
Sea:E E+E|E*E|E^E|id|(E)
Necesidaddereglasdeprecedencia
* (izq adcha) + (izq adcha) ^ (dcha aizq)
E E*E|E
E id|(E)
E E+E|E
E E^E|E
EjemploenlenguajeFortran:
x+algo(3,4)
algoesunarregloounafuncin?
13
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva14
Para ? B := B + ( A * C )
Para ? C := (B + C) * (A := B)
UTN - FRM: Fundamentos de sintaxis y semntica
14
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva15
Es un meta-lenguaje
Smbolos no terminales (abstractiones BNF)
Smbolos terminales (lexemas)
Ejemplo
()
<dgito>::=0|1||9
<nmero>::=<dgito><nmero>
<nmero>::=<dgito>
Ejemplo
{ }+
[]
<dgito>::=0|1||9
<nmero>::=<dgito>{<dgito>}*
15
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva16
Diagramas sintcticos
16
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva17
BNF:
<expr> ::= <expr> + <term> |
<expr> - <term> | <term>
EBNF:
<expr> ::= <term> { (+ | -) <term> }
Diagrama sintctico
expr
term
term
+
-
17
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva18
Postfija
adg*+h-
C
a=a+ b
PostScript
/a a b add def
Prefija
-+a*dgh
Lisp
(setf a (+ a b))
18
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva19
19
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva20
Autmatas
Estado de un autmata
en un instante de tiempo dado, slo puede estar en un estado
estado inicial y estados finales
20
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva21
Mquina de Mealy
M = (e, s, Q, f, g)
e: alfabeto de entrada
s: alfabeto de salida
Q: conjunto de estados
f: Q x e Q
g: Q x e s
21
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva22
Mquina de Moore
M = (e, s, Q, f, g)
e: alfabeto de entrada
s: alfabeto de salida
Q: conjunto de estados
f: Q x e Q
g: Q s
22
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva23
23
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva24
1
q1
1
q0
0,1
,1
q2
q3
24
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva25
Gramticas G3 y autmatas
Gramtica regular
T ={0,1}
N ={A,B,S}
P={S>0A,A>0S,A>1B,B>1,B>0 }
Autmata
Expresin regular
0.(0.0)*.1.(1|0)
25
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva26
Expresiones regulares
Operadores
Unin
Concatenacin
Cierre (Kleene)
Cierre (positivo) +
26
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva27
Propiedades de las ER
SeaL={a,b,c}*
Sonequivalentes:c*.c|c*= c*?
4)
3)
2)
1)
27
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva28
qi
a|b
qf
a.b
qi
qk
qf
a
qi
a*
qk
qf
28
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva29
Algoritmo de transformacin
29
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva30
Equivalencia de autmatas
AFND AFD
Un AFD es un caso particular de AFND
Sean N=(, q0, Q, F, f) y D=(, {q0}, Q, F, f)
N = D / L(D)=L(N)
Si se cumple:
Q = 2|Q| (conjunto potencia P(Q) )
qi = [qi , , qf ] => {qi , , qf} Q
q0 = {q0}
F = { q Q / q F } (al menos uno sea final)
f(q, a) = { qq f(q, a)} / q Q ^ a
UTN - FRM: Fundamentos de sintaxis y semntica
30
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva31
Equivalencia de autmatas
Se basa en la construccin de subconjuntos
La idea general es que cada estado del AFD
le corresponde un conjunto de estados del
AFND
Algoritmo:
31
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva32
Equivalencia de autmatas
AFND
32
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva33
Minimizacin de autmatas
Sean AFD=(, q0, Q, F, f) = AFDM=(, q0, Q, F, f) / L(AFD)=L(AFDM)
a) Eliminar los estados no alcanzables desde el estado inicial
b) Eliminar los estados desde los que no se alcanza un estado final
Algoritmo:
1. particin inicial P en dos grupos G(F), G(Q F)
2. G de P (|G| > 1) obtener nueva Pn de modo que:
1. qi, qj Gi <=> / f(qi, ), f(qj, ) Gi
2. sustituir G en Pn por el nuevo conjunto de subgrupos
3. si Pn= P (indistinguibles) entonces Pfinal := P e ir a (5)
4. sino P := Pn e ir a (2)
5. elegir en cada grupo de Pfinal, un qi como representante del
grupo
6. se eliminan estados pasivos (que no son finales y hay transiciones
hacia ellos, pero no desde ellos hacia otros estados)
33
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva34
Minimizacin de autmatas
Sea el AFD que reconoce L = (a|b)*abb
Minimizacin:
1.
P := G1{Q5} + G2{Q1,Q2,Q3,Q4}
2.
3.
4.
si Pn P entonces P := Pn y repite
5.
6.
7.
1.
luego Pn = P entonces
1.
Q1 representa a G3
34
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva35
Conceptos
Lenguajes regulares
Gramticas regulares (G3)
Expresiones regulares
Autmatas de estado finito
35
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva36
Casos
AEFND AEFD
Minimizar
36
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva37
Autmatas de pila
Autmata de Pila
AP = ( , , Q, a0, q0, F, f )
: alfabeto de pila
Q: conjunto de estados
a0: smbolo inicial pila
: alfabeto de entrada
q0: estado inicial
F: estados finales
f: Q ({}) Q
pila
Control
37
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva38
Gramticas G2 y AP
Gramtica libre de contexto Autmata de Pila
T = {a, b}
N = {S}
P = { S -> aSb| }
L1 =
{anbn
/ n >= 0}
: {a, b}
q0: e0
: {#, $}
F: {e3}
Q: {e0,e1,e2,e3}
a0:
a, a
q0
b, a
b, a
q1
q2
, $ $
q3
38
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva39
Autmatas de pila
Descripcin funcional
f: e0 x
e1 x
e1 x
e2 x
e2 x
x e1 x $
x e2 x
0 x e1 x #
x $ e3 x
1 x # e2 x
Descripcin tabular
Estado
Entrada
Pila
Transicin
e0
e1,$
e1
e2,
e1
e1,#
e2
e3,
e2
e2,
39
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva40
Autmatas de pila
40
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva41
Autmatas de pila
Es determinista si cumple
(q Q
(q Q
A ) si |f(q, ,A)|>0
a , f(q, a, A)=
A a {} ), |f(q, a, A)|<2
AP <=> G2
41
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva42
42
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva43
2.
3.
4.
5.
Agregar una transicin de la forma (q, ,N; q,w) para cada regla de
reescritura Nw en G, donde w puede ser una cadena de cero o mas
smbolos, incluyendo terminales y no terminales
6.
7.
43
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva44
G2:
AP:
= {a, b, z}
= {a, b, z, S, M, N, #}
Q = {i, p, q, fi}
a0 = #
q0 = i
F = fi
Comportamiento
UTN - FRM: Fundamentos de sintaxis y semntica
44
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva45
(input)
(output)
cinta
Control
45
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva46
Mquinas de Turing
AP = (, , b, Q, q0, F, f)
: alfabeto de entrada c
: alfabeto de la cinta
b: blanco c, e
Q: conjunto de estados
q0: estado inicial Q
F: estados finales Q
f: Q x c Q x c x {I, D, P}
cinta
estados
Control
46
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva47
Mquinas de Turing
47
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva48
Mquinas de Turing
Mquina que acepta el lenguaje de palabras sobre {0, 1}
que comienzan y terminan con el mismo smbolo
48
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva49
Mquinas de Turing
Concatenador
1 $, R
1 1, L
1 1, R
q0 , L q1 $ 1, R
Duplicador
, R
q3
q2
1, L
49
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva50
Gramticas y autmatas
3: lenguajes regulares
autmatas finitos
2: lenguajes
independientes del
contexto
autmatas de pila
1: lenguajes sensibles al
contexto
autmatas linealmente
acotados
0: lenguajes irrestrictos
mquinas de Turing
50
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva51
51
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva52
Anlisis lxico
Scanner
agrupar caracteres de entrada en tokens
detectar algunos significados y errores
a veces debe realizar una doble funcin: identificar el token y
evaluar el token
52
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva53
Anlisis lxico
53
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva54
Anlisis lxico
lexema
token
patrn
secuencia de
caracteres,
que se
asocia a un
token
nombre de
cada
componente
lxico
conjunto de
lexemas
Lexemas
index
=
2
*
count
+
17
;
Enunciado
index = 2 * count + 17
Tokens
identifier
equal_sign
int_literal
mult_op
identifier
plus_op
int_literal
semicolon
54
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva55
Anlisis sintctico
Parser
agrupar los tokens suministrados por el scanner
para reconocer frases
determinar si son sintcticamente correctas
establecer la estructura subyacente
55
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva56
Anlisis sintctico
Proceso de anlisis
56
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva57
Anlisis sintctico
rboles de sintaxis
Concreta: sirve para el anlisis sintctico
Abstracta: sirve para el anlisis semntico
Abstracta (AST)
57
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva58
Anlisis sintctico
Analizadores recursivos
Estrategias de anlisis
DESCENDENTE(Top-Down)
construye el rbol desde la raz (S) hacia las hojas
problemas con recursividad a izquierda
ASCENDENTE(Bottom-Up)
construye el rbol desde las hojas hacia la raz (S)
se basa en encontrar una derivacin por la derecha
UTN - FRM: Fundamentos de sintaxis y semntica
58
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva59
59
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva60
60
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva61
Recursividad a izquierda
Analizador top-down no puede procesarla
RI Inmediata
A A |
Para eliminarla
Se trabaja con el trmino (que no es RI)
AB
BB |
61
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva62
Sea
S Aa | b
A Ac | Sd | f
Reemplazar: A Sd por A Aad | bd
Queda: A Ac | Aad | bd | f
Eliminar recursividad inmediata:
A bdA | fA
A cA | adA |
Resolver:
SaB|c
Finalmente:
S Aa | b
A bdA | fA
A cA | adA |
BBa|c
62
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva63
Analizador descendente
63
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva64
Anlisis sintctico
64
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva65
Anlisis sintctico
65
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva66
Analizador ascendente
Sean
66
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva67
Analizador ascendente
67
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva68
Analizador ascendente
Pila
rbol
Entrada
Regla
68
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva69
69
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva70
Fases de anlisis
sup = alto*ancho;
anlisis lxico
(id,sup)(asignador)(id,alto)(opMult)(id,ancho)(separador)
anlisis sintctico
(asignador)
(id,sup)
(opMult)
(id,alto)
(id,ancho)
anlisis semntico
70
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva71
Semntica
Anlisis y Optimizacin
Depuracin
Verificacin
Transformacin
71
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva72
Semntica esttica
Flujo de control
Accesibilidad de las variables para su uso
Unicidad
Uso de identificadores nicos
Ejemplo
var A: integer;
72
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva73
Semntica dinmica
Otros no es posible
Errores de lgica cambian la semntica de un
enunciado, pero no son estrictamente, errores
semnticos de los enunciados
x := z / y si lo que se quera escribir era x := z * y
Ejemplo
s = hola; s = 45.78;
25 + 5 255
73
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva74
Especificacin de la semntica
74
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva75
75
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva76
76
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva77
Resumen de caractersticas
NAM
Nat.
MOD
S
REU
DEM
PRO
Oper.
Reg
Reg
Deno.
Reg
Axio.
Reg
Alge.
S
Reg
LEG
FLE
EXP
Reg
Reg
Reg
Reg
Reg
S
Reg
Estad.
Reg
Reg
Reg
Acc.
Reg
Reg
Reg
Reg
Reg
Modu.
Reuti.
77
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________
UTNFRM:SintaxisySemnticadeLenguajes
Diapositiva78
Implementacin de la semntica
Hardware
Intrprete en
hardware
Lenguaje de mquina
Lenguaje ensamblador o
pseudolenguajes
Natural
...
Axiomtica
Denotativa
Operacional
Especificaciones
semnticas
Implementacin de la semntica
Atributos
Estructuras de
datos + algoritmos
Construir
enlazador o
intrprete
Construir
compilador
(traductor)
78
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
____________________________________________________________