Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
intervienen en las expresiones sean compatibles o que los parmetros reales de una funcin sean coherentes con los parmetros formales
del
analizador
los smbolos, es decir, para poder realizar el anlisis semntico es necesario que las reglas de la gramtica puedan realizar acciones semnticas y manipular los atributos.
10/10/2012
saber qu resultado nos da cada operacin, y para ello hemos etiquetado el rbol indicando el orden en el que se han aplicado las reducciones. A los terminales le asignaremos ese valor mediante una accin asociada al patrn correspondiente en el anlisis lxico, de la siguiente forma:
[0-9]+ { Convertir yytext en un entero y asociar dicho entero al token NUM; return NUM; } rbol de reconocimiento de num + num + num. Los nmeros entre crculos indican la secuencia de reducciones del anlisis. Por lo tanto lo que le llegar al analizador sintctico es: num.33 +.nada num.12 +.nada num.20
asociadas a cada regla de produccin, de tal manera que la accin se ejecutar cada vez que se reduzca por su regla asociada, de igual manera que podamos asociar una accin a un patrn del analizador lxico.
terminales y no terminales y las asociaciones de acciones semnticas a los patrones y a las reglas de produccin, podemos evaluar el comportamiento de un programa, es decir, generamos cdigo.
terminal o a un no terminal.
Una accin o regla semntica es un algoritmo que
10/10/2012
asignacin a un atributo, adems puede aadirse cdigo; p.ej. si se hace la asociacin: E1 E2 + T {E1 = E2 + T; printf(%d\n, E1)}
podra aadirse una nueva regla S E y pasar el printf de la regla 1 a esta otra: S E { printf(%d\n, E); } E1 E2 + T {E1 = E2 + T; }
visualizar en pantalla el valor del atributo de la regla que, en el ejemplo, sern los valores 45 y 65