Professional Documents
Culture Documents
3
4
5
6
7
8
9
10
CARACTER
TRUE
FALSE
OPERADOR
PR
LPAR
RPAR
(b) El analizador Lxico tendr como entrada un archivo de texto con las
palabras que deber reconocer como cdigo fuente.
(c) Los valores de los tokens se deben guardar en la variable yylval.
(d) Cada vez que el programa encuentre un token deber imprimirlo en
pantalla. (se pueden imprimir en un archivo).
(e) Los errores que encuentre se debern imprimir en pantalla, indicando el
nmero de lnea donde ocurri y el nmero de carcter.
4. Elaboracin del parser
(a) Eliminar la ambigedad de la gramtica si es que la tiene.
condicioncondicion > condiciondos | condicion< condiciondos | condicion==
condiciondos | condicion! = condiciondos |condicion>= condiciondos |
condicion<= condiciondos | condiciondos
condiciondos-> expresin
C-> C > Cdos | C< Cdos | C== Cdos | C! = Cdos |C>= Cdos | C<= Cdos | Cdos
Cdos-> expresin
C-> C > Cdos|C<Cdos| C>=Cdos|C<=Cdos|Cdos
Cdos-> Cdos==C|Cdos!=C|E
D->TL;D|
D-> {TL;}
T-> int | float |double | char
T-> int | float |double
| char
L-> idIL
L-> idIL
L-> ,L|
L->[,L]
I-> =I
I-> =I
I->id|numero|character|true|false
I->id|numero|character|
true|false
S-> ZS
S-> ZS
S-> ZS|
S-> {Z}
Z-> F|W|A
Z-> F|W|A
F-> if(C){S}F
F-> if(C){S}F
F-> else{S}|
F->[else{S}]
W-> while(C){S}
W-> while(C){S}
A-> idOE
A-> idOE
O-> +=|-=|*=|/=|%=|=
O-> +=|-=|*=|/=|%=|
=
C-> CdosC
C-> CdosC
C-> >CdosC|<CdosC|>=CdosC|<=CdosC|
C-> { >Cdos|<Cdos|
>=Cdos|<=Cdos}
Cdos-> ECdos
Cdos-> ECdos
Cdos-> ==CCdos|!=CCdos|
Cdos-> {==C|!=C}
E EdosE
E EdosE
E-> + EdosE | EdosE |
E-> {+Edos|-Edos}
Edos-> EtresEdos
Edos-> EtresEdos
Edos-> * Etres Edos | / Etres Edos | % Etres Edos |
Edos->
{*Etres|/Etres|%Etres}
Etres -> (E)|id|numero|caracter|true|false
Etres -> (E)|id|numero|
caracter|true|false
T
L
L
I
I
S
S
Z
F
F
W
A
O
C
C
Cdos
Cdos
E
E
Edos
Edos
Etres