Está en la página 1de 34




A  a B C
B  b bas
B  big C boss
C  ε
C  c
A  a B C
B  b bas
B  big C boss A  a B C
A  a B C
C  ε  a B c
C  c
 a b bas C
 a big C boss c
 a b bas
 a big boss c

E  E opsuma T

E  T opsuma E
A  B a C
A  B a d

E  E op E
E  num

“2+3-4”
“2+3-4+5”

S  A
S  a
A  S

E  E … E

S  A
S  B
A  B

S  H R S
S  s
H  h | ε
R  r | ε

S  H R
H  h | ε
R  r | h | ε
Código
Fuente
--------------
--------------
-------------- Reporte de
Errores

1010011
1011000
1
1010101
0101010

int foo(int x, int y))
{
for(int i=0; x i)
{
fi(i>y)
return x
}
return y;
}


E  E opsuma T
E  T
T  T opmul F
T  F
F  id
F  num
F  pari E pard
2+3*4
2+3-4
2+3*(4-5)

*


- 6

+ +

5 2 3 8










int a,b,c;

D  Tipo id L
Tipo  int
Tipo  float
L  coma id L
L  pyc

D  Tipo id L
 int id(a) L
 int id(a) coma id(b) L
 int id(a) coma id(b) coma id(c) L
 int id(a) coma id(b) coma id(c) pyc
int a,b,c;
D  Tipo id L
Tipo  int
Tipo  float
L  coma id L
L  pyc
int id(a) coma id(b) coma id(c) pyc 
Tipo id(a) coma id(b) coma id(c) pyc
Tipo id(a) coma id(b) coma id(c) L 
Tipo id(a) coma id(b) L 
Tipo id(a) L 
D 


4 – 3 – 2 = -1

4 – 3 – 2 = 3


E  E operador T
E  T operador E


a=b=c=0

2 + 3 * 4 = 14
*
+


(2 + 3) * 4 = 20

Expr  Expr || EBool


Expr  EBool
Ebool  EBool && ExpRel
Ebool  ExpRel
ExpRel E oprel E
E  E opsuma T
E  T
T  T opmul F
T  F
F  …

a < b < c  a < b && b < c


A  A @ B
A  B
B  C % B
B  C
C  C # D
C  D
D  …
• !
!!!true
ExpRel  ! ExpRel

• - +
---3
E  opsuma T

También podría gustarte