Hola a todos!!
Estoy haciendo un compilador en pascal utilizando lex y yacc.
Por ahora he conseguido completar el análisis léxico y el sintáctico pero a la hora de hacer el semántico me encuentro con varios problemas.
1º.- No se como puedo saber el ambito de las variables para poder averiguar en que función o procedimiento han sido declaradas y asi poder saber si las variables han sido declaradas antes de su uso.
2º.-Comprobar que las llamadas a los subprogramas son correctas respecto
al número y tipo de los parámetros.
3º.-Comprobar que el paso por referencia es correcto. Por ejemplo, debe
comprobarse que no se pasa una constante por referencia y debe tenerse
en cuenta que una variable que se pasa por referencia puede inicializarse
en la llamada a esa función.
Agradezco la ayuda y cualquier "pista" acerca de como poder hacer todo esto.
1 SALUDO Y GRACIAS POR TODO !!!!!!!