Considere las siguientes declaraciones.
- I. Solo se accede a la tabla de símbolos durante el análisis léxico y el análisis de sintaxis.
- II. Los compiladores de lenguajes de programación que admiten la recursividad necesariamente necesitan almacenamiento en montón para la asignación de memoria en el entorno de tiempo de ejecución.
- tercero Los errores que violan la condición ‘cualquier variable debe declararse antes de su uso’ se detectan durante el análisis de sintaxis.
¿Cuál de las afirmaciones anteriores es/son VERDADERAS?
(A) Solo I
(B) Solo I y III
(C) Solo Ⅱ
(D) Ninguno de Ⅰ, Ⅱ y Ⅲ
Respuesta: (D)
Explicación: I. Falso. La tabla de símbolos se utiliza en las 6 fases del compilador : análisis léxico, análisis de sintaxis, análisis semántico, generación de código intermedio, optimización de código y fase de generación de código de destino.
II. Falso. La asignación de almacenamiento dinámico se utiliza para asignar memoria dinámicamente a las variables. La asignación de montones se puede usar para la recursividad, pero la recursividad también se admite en la asignación de pilas.
tercero Falso. El análisis de sintaxis solo verifica la sintaxis, pero la declaración de variables antes de su uso debe realizarse mediante análisis semánticos.
La opción (D) es correcta.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA