Está en la página 1de 14

UNIVERSIDAD NACIONAL DE LOJA

INGENIERIA EN SISTEMAS

INTEGRANTES:
 ANDREA KARINA SARANGO JIMÉNEZ.

 DIEGO ANDRÉS SARANGO LUZURIAGA.

DOCENTE:
 ING. WILMAN CHAMBA.

MÓDULO:
 NOVENO “B”.
ANALISIS SEMÁNTICO

Considere una gramática de expresión como se


escribiría para el analizador sintáctico predictivo
con la recursividad por la izquierda eliminada:
exp → term exp'
exp' → + term exp' I – term exp' I λ
term → factor term'
term' → * factor term' I λ
factor → ( exp ) I numero
GRAMÁTICA CON ATRIBUTOS
REGLAS GRAMATICALES REGLAS SEMANTICAS
exp'.her = term.val
exp → term exp'
exp.val = exp'.val
exp1'.her = exp'.her + term.val
exp' → + term exp'
exp'.val = exp1'.val
exp2'.her = exp'.her - term.val
exp' → – term exp'
exp'.val = exp2'.val
exp' → λ exp'.val = exp'.her
term'.her = factor.val
term → factor term' term'.val = term'.val
term2'.her = term'.her * factor.val
term' →* factor term' term'val = term2'.val
term' → λ term'.val = term'.her

factor → ( exp ) factor.val = exp.val

factor → numero factor.val = num.val


ÁRBOL DE ANÁLISIS GRAMATICAL
RECORREMOS EL ÁRBOL DESDE LAS HOJAS HACIA LA RAÍZ BASÁNDONOS EN
LAS REGLAS GRAMÁTICAS Y LAS REGLAS SEMÁNTICAS.

CADENA: (8+5)*3
EL VALOR TERM‘.HER HEREDA EL VALOR DE SU HERMANO
FACTOR.VALOR.
PARA EL VALOR ( EXP ) RECORREMOS EL SIGUIENTE RAMAL, DONDE
EXP‘.HER HEREDA EL VALOR DE TERM.VALOR
EL VALOR TERM‘.HER HEREDA EL VALOR DE SU HERMANO
FACTOR.VALOR.
EL VALOR ( EXP ) SE OBTIENE RECORRIENDO LOS NODOS EXP‘ –
EXP1‘ - EXP‘ – ( EXP ).
PARA EL VALOR TERM SE RECORRE EL SIGUIENTE RAMAL.
EL VALOR TERM SE OBTIENE RECORRIENDO LOS NODOS TERM‘ –
TERM2‘ – TERM.
EL VALOR EXP SE OBTIENE RECORRIENDO LOS NODOS EXP‘ – EXP.
ÁRBOL DE ANÁLISIS
GRAMATICAL
RECORRIDO DEL ÁRBOL
term term exp
factor term‘ factor term‘ exp‘
5 (8+5) λ
factor factor exp
numero ( exp ) term exp‘
5 8+5 (8+5)*3
( exp ) ( exp ) tem
term exp‘ exp‘ term‘
8 5 3
term exp‘ tem‘
term‘ exp1‘ term2‘
λ λ λ
term exp‘ tem‘
factor term‘ + term exp1‘ * factor term2‘
8 5 3
factor term factor
numero term‘ num exp
8 λ 3 (8+5)*3

También podría gustarte