Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Dia Positi Vas para Impri Mir
Dia Positi Vas para Impri Mir
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva2
El problema de la traduccin
MOVE 3 to A
(Cobol)
A := 3;
(Ada,Pascal)
A=3
(Fortran)
3 A !
(Forth)
MOV AX, 3
A =3;
(C/C++, JS,
Java)
01010111
11101010
00000101
/A 3 def
(Postscript)
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva3
Anlisis
Lxico
tokens
Unidad I
Anlisis
Sintctico
rboles
Anlisis
Semntico
Traductor
Programa en
lenguaje de
mquina
Unidad II
UTN - FRM: Fundamentos de sintaxis y semntica
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva4
Descripcin de lenguajes
y
Lenguajes de programacin
Programas
Lenguajes de alto nivel y de mquina
Traductores
x Especificaciones gramaticales y semnticas
Lenguajes formales
Alfabeto
Palabras
Sintaxis
Semntica
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva5
y
y
Smbolos
Alfabeto: = {a, b, c, ...}
Cadenas o palabras
n con n >= 0
(vaco , , , )
0 = {}
0
1
* = 2 ...
+ = 1 2 ... = * - {}
Universo de un alfabeto W()
Lenguaje sobre un alfabeto
L() W()
UTN - FRM: Fundamentos de sintaxis y semntica
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva6
Operaciones
y
Con palabras
Concatenacin:X.Y
Potencia:Xi
Reflexin:X1 oXR
Con lenguajes
Unin:L1 L2
Interseccin:L1 L2
Resta:L1 L2
Concatenacin:L1 L2
Potencia:Li
Clausura:L+ =Ui=1 Li
Cierre:L*=L+ U{}
Reflexin:L1
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva7
Reglas de produccin
NR
N (elemento a definir)
R (patrn de generacin)
Sean: v w
donde v, w *
Derivacin directa: v w
Derivacin: v v1 v2 w
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva8
Gramticas formales
y
Definicin: G = {, t, S, P}
alfabeto (t U n)
n = variables
t conjunto de smbolos terminales
S axioma S n
P conjunto finito de reglas de produccin
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva9
Gramticas formales
P = { S -> aSb, S -> aSbb, S -> b }
t = { S }
n = { a, b }
Qu genera?
Dados t = {S, T} n = {a, b}
Obtener P para L = { ar b / r > 0 }
S -> aS
S -> b
S -> aS
S -> aT
T -> b
S -> aT
T -> aT
T -> b
S
aSb
aSbb
b
aabbbb
S -> aSc
S -> T
T -> b
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva10
Restriccin: N R donde N
Ejemplo: S aSBC | aBC, CB BC, aB ab
bB bb, bC bc, cC cc, A bc
Sensibles al
contexto
(G1)
Libres de
contexto
(G2)
Regulares
(G3)
10
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva11
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
11
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva12
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
12
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva13
rbol de derivacin
Sea G = { t, n, S, P }
t
n
S=
P=
= { 0, 1, [, ], +, * }
= { E }
E
{E[EE+],E[EE*],E0, E1}
13
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva14
Sea:S SaS|SbS|c
Qupasaparacbcac ?
Necesidaddereglasdeprecedencia
Sea:E E+E|E*E|E^E|id|(E)
Expresin: x + y ^ z ^ v * w
Jerarqua: 1) ^
2) *
3) +
Asociatividad: *+(izqdcha) ^ (dchaizq)
y
Ambiguedad enlenguajeFortran
z=x+algo(3,4)arregloofuncin?
14
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva15
Para ? B := B + ( A * C )
Para ? C := (B + C) * (A := B)
UTN - FRM: Fundamentos de sintaxis y semntica
15
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva16
16
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva17
Diagramas sintcticos
17
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva18
BNF:
<expr> ::= <expr> + <term> |
<expr> - <term> | <term>
EBNF:
<expr> ::= <term> { (+ | -) <term> }
Diagrama sintctico
expr
term
+
term
18
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva19
Infija
ms usual (requiere parntesis)
Postfija
Evaluacin muy eficiente
Prefija
notacin funcional
Infija
Postfija
Prefija
a+d*g-h
adg*+h-
-+a*dgh
C
a=a+ b
PostScript
/a a b add def
Lisp
(setf a (+ a b))
19
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva20
20
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva21
Autmatas
y
Estados de un autmata
en un instante de tiempo dado, slo puede estar en un estado
estados iniciales y estados finales
y
y
y
21
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva22
Mquina de Mealy
y
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
22
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva23
Mquina de Moore
00
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
10
10/0
A
10/1
C/
0
0/11
00/0
1/11
00/0
00
B/
1
0/00
10
A/
0
A/11
1/01
B/00
C/01
23
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva24
Q: estados ??
F: estados finales Q ??
f: Q x Q ??
Notacin
Notacin
matricialfuncional
f(1,
a
b a) $ 2 2
f(1, b) 3
1
2
3 a)
- 2 f(2,
$, 2
a b, $, 2
a, 2
1
b
a, b
f(3,
- b) - 2 f(3,
2 $) 4 4 f(4, $) 4
4 3 3
f(4,2)
Algoritmo de implementacin
Habitualmente slo se representan las transiciones que conducen al reconocimiento de alguna cadena,
considerndose implcito un "estado de captacin global", donde se supone que llegan los arcos omitidos.
UTN - FRM: Fundamentos de sintaxis y semntica
24
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva25
1
q1
1
q0
0,1
,1
1 0 1 0 0
0
q2
q3
25
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva26
Gramticas G3 y autmatas
y
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)
26
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva27
Expresiones regulares
y
Operadores
Unin
| V
Concatenacin
Cierre (Kleene)
Cierre (positivo)
27
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva28
Propiedades de las ER
SeaL={a,b,c}*
Sonequivalentes: c*.c|c*= c*?
4)
3)
2)
1)
28
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva29
Reglas de transformacin
a|b
a.b
Sea: (x | y*).z*.w
qi
qf
b
a
qi
qk
qf
a
a*
qi
qk
qf
Algoritmos formales
McNaughton-Yamada-Thompson
UTN - FRM: Fundamentos de sintaxis y semntica
29
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva30
Algoritmo de transformacin
r.s
a
r*
r|s
ER vs AEF
30
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva31
Equivalencia de autmatas
y
y
y
AFND AFD
Un AFD es un caso particular de AFND
N=(, q0, Q, F, f) equivale a D=(, {q0}, Q, F, f)
Es decir N = D / L(D)=L(N)
Si se cumple:
x Q = 2|Q| (conjunto potencia P(Q) )
x qi = [qi , , qf ] => {qi , , qf} Q
x q0 = {q0}
x F = { q Q / q F ( } al menos uno sea final)
x f(q, a) = {qq f(q, a)} / q Q ^ a
UTN - FRM: Fundamentos de sintaxis y semntica
31
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva32
Equivalencia de autmatas
y
y
y
32
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva33
Equivalencia de autmatas
y
AFND
Cmo se obtiene ?
UTN - FRM: Fundamentos de sintaxis y semntica
33
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva34
Algoritmo de minimizacin
Sean AFD=(, q0, Q, F, f) = AFDM=(, q0, Q, F, f) / L(AFD)=L(AFDM)
y Eliminar los estados no alcanzables desde el estado inicial
y Eliminar los estados desde los que no se alcanza un estado final
y Luego:
1. Hacer particin inicial P en dos grupos G(F) y G(Q F)
2. G de P (|G| > 1) obtener nueva Pn de modo que:
x qi, qj Gi <=> / f(qi, ), f(qj, ) Gi
x sustituir G en Pn por el nuevo conjunto de subgrupos
3. si Pn= P entonces Pfinal := P e ir a (4) sino P := Pn e ir a (2)
4. Finalmente
x
elegir en cada grupo un qi como representante del grupo
x
eliminar estados pasivos (sumideros no finales)
34
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva35
Minimizacin de autmatas
AFD que reconoce L = (a|b)*abb
Q1aaQ3
Q2aabQ2
Q4bbQ4
Q5abaQ2
Q5 bbQ4bbQ5
Mtodo
P1:= G1{Q5} + G2{Q1,Q2,Q3,Q4}
P := {Q5} y (Q1, Q2, Q3) x b G2 y Q4 x b G1
P2 := G1{Q5} + G2{Q1, Q2, Q3} + G3{Q}
Otro enfoque
35
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva36
Autmatas de pila
AP = ( , , Q, a0, q0, F, f )
: alfabeto de entrada
: alfabeto de pila
q0: estado inicial
Q: conjunto de estados
F: estados finales
a0: smbolo inicial pila
f: Q ( {}) Q
Transicin (x, h / w) donde:
x = estado actual
h = smbolo ledo de la cima de la pila
w = smbolo escrito en la pila
x, h /w
36
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva37
q0
, $
1, #
,
q1
q2
, $
q3
Estado
Entrada
Pila
Transicin
q0
e1,$
q1
e2,
q1
e1,#
q2
e3,
q2
e2,
37
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva38
Formas de reconocimiento
y
38
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva39
Es determinista si cumple
AP <=> G2
39
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva40
N = {S}
: {a, b}
q0: e0
P = { S -> aSb| }
: {#, $, a}
F: {e3}
L1 = {anbn / n >= 0}
Q: {e0,e1,e2,e3}
a0: $
a, a
e0
, $ $
b, a
b, a
e1
e2
, $ $
e3
Ejemplo
UTN - FRM: Fundamentos de sintaxis y semntica
40
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva41
41
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva42
Definir
1) con t
2) con t + n + #
3) Q como i, p, q y fi
Agregar transiciones
4) (i, , ; p, #)
5) (p, , ; q, S)
6) (q, ,N; q,w) n
7) (q, x, x; q, ) t
8) (q, , #; fi, )
Ejemplo
42
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva43
(input)
(output)
cinta
Control
43
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva44
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
44
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva45
Mquinas de Turing
y
45
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva46
Mquinas de Turing
Mquina que acepta el lenguaje de palabras sobre {0, 1}
que comienzan y terminan con el mismo smbolo
46
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva47
Mquinas de Turing
Concatenador
1 $, R
1 1, L
1 1, R
q0 , L q1 $ 1, R
Duplicador
, R
q3
q2
1, L
47
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva48
48
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva49
49
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva50
Anlisis lxico
y
Scanner
Recibir caracteres de entrada
Agruparlos segn la G3 para reconocer lexemas
y generar tokens
Detectar algunos significados y errores
x identificar los tokens y evaluarlos
50
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva51
Anlisis lxico
51
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva52
Anlisis lxico
lexema
token
secuencia de
caracteres,
que se
asocia a un
token
nombre de
cada
componente
lxico
Lexemas
index
=
2
*
count
+
17
;
Enunciado
index = 2 * count + 17
patrn
conjunto de
lexemas
Tokens
identifier
equal_sign
int_literal
mult_op
identifier
plus_op
int_literal
semicolon
52
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva53
Anlisis sintctico
y
Parser
Recibir tokens suministrados por el scanner
Agrupar tokens
x de acuerdo a producciones especificadas por la G2 para
reconocer frases
x determinar si son sintcticamente correctas
x establecer la estructura subyacente
53
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva54
Anlisis sintctico
y
Proceso de anlisis
Tokenizado
rbol
Analizador
lxico
Analizador
sintctico
Reglas de
produccin
UTN - FRM: Fundamentos de sintaxis y semntica
54
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva55
Anlisis sintctico
y
rboles de sintaxis
Concreta: sirve para el anlisis sintctico
Abstracta: sirve para el anlisis semntico
Concreta
55
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva56
Anlisis sintctico
y
Analizadores recursivos
cada no-terminal tiene asociada una rutina de anlisis,
creada a partir de las reglas gramaticales
y scan de izquierda a derecha
y
Estrategias de anlisis
DESCENDENTE(Top-Down)
x construye el rbol desde la raz (S) hacia las hojas
x problemas con recursividad a izquierda
ASCENDENTE(Bottom-Up)
x construye el rbol desde las hojas hacia la raz (S)
x se basa en encontrar una derivacin por la derecha
UTN - FRM: Fundamentos de sintaxis y semntica
56
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva57
57
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva58
58
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva59
Analizador top-down
y
59
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva60
S Aa | b
A bdB | fB
B cB | adB |
UTN - FRM: Fundamentos de sintaxis y semntica
60
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva61
S = <PROGRAMA>
61
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva62
62
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva63
63
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva64
Analizador ascendente
y
Sean
Produccin: EE+E|E*E|(E)|-E|id
Enunciado: id+id*id
Derivaciones por izquierda y por derecha
64
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva65
Analizador ascendente
Pila
rbol
Entrada
Regla
65
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva66
66
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva67
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
67
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva68
Semntica
y
int A;
68
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva69
Semntica esttica
Se calcula en tiempo de compilacin
y Ejemplos de aspectos que controla
y
69
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva70
Semntica dinmica
y
entonces
entonces
z + 5 = 455
z + 5 = 50
70
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva71
Especificacin de la semntica
y
71
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva72
72
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva73
73
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________
Diapositiva74
Resumen de caractersticas
R
R
Denotacional
Axiomtica
Algebrica
De estado abstacto
experiencia
flexibe
legible
prototipar
demostrar
Operacional
reusable
Lenguaje natural
Modular
No
ambigua
Semntica
De accin
Mondica modular
Mondica reutilizable
74
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________