A partir de hoc4 se usan dos etapas en hoc. Cuales son y que hacen ?
Escriba 3 cosas importantes que se almacenan usualmente en un marco (o registro de activacion ) de funcion.
1.________________________ 2.__________________________ 3.____________________________
1.-En lenguaje C los parámetros formales no tienen nombre________________( )
2.-En lenguaje C las variables locales (no estáticas) se crean cuando se entra a una función y se destruyen cuando se sale de la función
3.-En hoc los parámetros formales no tienen nombre_______________________( )
4.-No es posible definir funciones recursivas en hoc6_______________________( )
5.-En hoc no hay variables locales___________________________________( )
6.-Es imposible que la pila de hoc se desborde (Stack Overflow)____________( )
7.-En hoc6 cuando una función termina su ejecución se saca su marco de la pila de llamadas( )
8.-En hoc6 cuando una función termina su ejecución se sacan sus parametros de la pila( )
9.-En hoc6 los parámetros reales son listas de expresiones ___________( )
10.-En hoc6 $n es el enesimo parametro ( )
11.-En hoc4 el código que ejecuta la maquina virtual de pila esta en prefijo (considere como se ejecuta una operacion de suma ( )
12.-Los valores de los atributos sintetizados se calculan a partir de los valores de atributos de su nodo padre o sus nodos hermanos.
13.-En hoc4 la variable pc se usa en la etapa de ejecucion ( )
14.-En hoc4 la variable progp se usa en la etapa de generacion de codigo ( )
15.-La variable progp indica la posicion de la RAM donde esta la sig. Instruccion a ejecutar ( )
16.-La variable pc indica cual es la sig. posicion de la RAM donde se almacenara una instruccion ( )
17.-La funcion code retorna la direccion donde se guardo la instruccion que recibe como parametro ( )
18.-La funcion define pone la direcccion de la 1a instrucccion de una funcion definida por el usuario en la tabla de simbolos ( )
19-La variables en HOC son de tipo entero __________________________________( )
20.-La variables en HOC son de tipo doble __________________________________( )
21.-En hoc las variables son globales________________________________________( )
22.-En hoc4 la funcion yyparse() genera el codigo__________________________ ( )
23.-En hoc4 la funcion execute() genera el codigo__________________________ ( )
24.-En hoc4 el arreglo prog es la RAM de la maquina virtual de pila ( )
25.-En hoc4 el arreglo prog es la pila de la maquina virtual de pila ( )
26.-En hoc6 el arreglo frame es la RAM de la maquina virtual de pila ( )
1.-Un ______________________ es [A→ α . β , a] donde A→ αβ es una producción y a es un terminal o $.
2.-Es una producción de G con un punto en cierta posición del lado derecho.
3.-Son prefijos de las formas de frase derecha que pueden aparecer en la pila
4.-Un _________________ de una forma de frase derecha gamma es una producción S → β y una posición de gamma donde la cadena β podría encontrarse y sustituirse por A para producir la forma de frase derecha previa en una derivación por la derecha de gamma.
1-Ejecutar la funcion (poner el contador de programa igual a la direccion de su primera instrucción y ejecutar la instrucción a la que apunta el contador de programa) y meter el valor de retorno de la funcion en la pila.
2-Meter los parametros en la pila y meter el marco de la funcion en la pila de llamadas.
3-Poner el contador de programa igual a la direccion de retorno y ejecutar la instrucción a la que apunta el contador de programa.
4-Sacar parametros de la pila y sacar marco de la pila de llamadas.
5.-De acuerdo al mecanismo de llamada a funcion cual es el orden correcto?
Problema 1.-Considere la siguiente gramática :
cerradura({X → X . X}), cerradura({X → X X . }) e ir_a ( { X → a . X c } , X )
-Para el Análisis LR las gramáticas se muestran con sus producciones numeradas
-Calcule los conjuntos PRIMERO y SIGUIENTE
-Construya la tabla Análisis Sintáctico Predictivo no Recursivo ( LL(1) )
-Construya la colección de conjuntos de elementos LR (0)
-Explicar porque esta grammatica no es LL(1).
I1=ir_a(I0, x ) , I2=ir_a(I0, y ) , I3=ir_a(I0, A ), I4=ir_a(I1, A) , I5=ir_a(I2, A )
I1=ir_a(I0, a ) , I2=ir_a(I0, ( ) , I3=ir_a(I0, S ), I4=ir_a(I2, S ) , I5=ir_a(I4 , , ) , I6=ir_a(I4, ) ),
I7=ir_a(I4 , R ) , I8=ir_a(I5, S ) , I9=ir_a(I8, R )
Use ambos análisis para analizar las siguientes cadenas:
I1=ir_a(I0, b ) , I2=ir_a(I0, S) , I3=ir_a(I0, A), I4=ir_a(I1, b ) , I5=ir_a(I4, A )
Use ambos análisis para analizar la siguiente cadena : bbbb
Análisis LR Para cada gramática:
-Calcule los conjuntos PRIMERO y SIGUIENTE
-Construya la colección de conjuntos de elementos LR (0)
-Use la tabla de análisis SLR para analizar la(s) cadena(s) propuesta(s)
I1=ir_a(I0, b) , I2=ir_a(I0, A ) , I3=ir_a(I2, a)
I1=ir_a(I0, b) , I2=ir_a(I0, S) , I3=ir_a(I2, a)
I1=ir_a( I0, a ) , I2=ir_a( I0, b ) , I3=ir_a( I0, S ), I4=ir_a( I0, A ) , I5=ir_a( I1, A ) ,
I1=ir_a( I0, b ) , I2=ir_a( I0, c ) , I3=ir_a( I0, S ), I4=ir_a( I0, B ) , I5=ir_a( I1, B ) ,
I1=ir_a(I0, ( ) , I2=ir_a(I0, a ) , I3=ir_a(I0, A ), I4=ir_a(I1, A ) , I5=ir_a(I4, ) )
I1=ir_a(I0, ( ) , I2=ir_a(I0, e ) , I3=ir_a(I0, S ), I4=ir_a(I1, S ) , I5=ir_a(I4, ) )
I1=ir_a(I0, ( ) , I2=ir_a(I0, n ) , I3=ir_a(I0, E), I4=ir_a(I1, E) , I5=ir_a(I4, , ) ,
I6=ir_a(I5, E), I7=ir_a(I6, ) )
cadena ( (21 , 18) , 17 )
I1=ir_a(I0, [ ) , I2=ir_a(I0, a ) , I3=ir_a(I0, S ), I4=ir_a(I1, S ) , I5=ir_a(I1, L ) , I6=ir_a(I5, ] ),
I7=ir_a(I5 , , ) , I8=ir_a(I7, S)
I1=ir_a(I0, d ) , I2=ir_a(I0 , c ) , I3=ir_a(I0, S ), I4=ir_a(I0, A ) , I5=ir_a(I1 , c ) ,
I6=ir_a(I1, A), I7=ir_a(I4, a ) , I8=ir_a(I5, a ) , I9=ir_a(I6, b )
I1=ir_a(I0, b ) , I2=ir_a(I0, d ) , I3=ir_a(I0, S), I4=ir_a(I0, A ) , I5=ir_a(I1, d ) , I6=ir_a(I1, A ),
I7=ir_a(I2, c ) , I8=ir_a(I4 , a ) , I9=ir_a(I5, a ), I10=ir_a(I6, c )
I1=ir_a(I0 , c ) , I2=ir_a(I0, d ) , I3=ir_a(I0, S), I4=ir_a(I1, S) , I5=ir_a(I4, a ) ,
I6=ir_a(I4, A), I7=ir_a(I5, a ) , I8=ir_a(I5, b ) , I9=ir_a(I5, B), I10=ir_a(I6, d)
I1=ir_a(I0, ( ) , I2=ir_a(I0, a ) , I3=ir_a(I0, b ), I4=ir_a(I0, R ) , I5=ir_a(I1, R ) , I6=ir_a(I5, | ),
I7=ir_a(I5, * ) , I8=ir_a(I5, R ) , I9=ir_a(I5, ) ), I10=ir_a(I6, R )
I1=ir_a(I0, id ) , I2=ir_a(I0, * ) , I3=ir_a(I0, S), I4=ir_a(I0, L ) , I5=ir_a(I0, R ) ,
I6=ir_a(I0, L ), I7=ir_a(I2, R ) , I8=ir_a(I4, = ) , I9=ir_a(I8, R )
I1=ir_a(I0 , S ) , I2=ir_a(I0, A ) , I3=ir_a(I2, b ), I4=ir_a(I3, b )
Problema 18.-Considere la siguiente gramática:
I1=ir_a(I0, S) , I2=ir_a(I0, A ) , I3=ir_a(I0, B ), I4=ir_a(I2, a ) , I5=ir_a(I3, b ) ,
I6=ir_a(I4, A ), I7=ir_a(I5, B ) , I8=ir_a(I6, b ) , I9=ir_a(I7, a )
Problema 19.-Considere la siguiente gramática:
I1=ir_a(I0, a) , I2=ir_a(I0, S ) , I3=ir_a(I1, S ), I4=ir_a(I3, b ) , I5=ir_a(I3, S ) ,
Problema 20.-Considere la siguiente gramática:
I1=ir_a(I0, a) , I2=ir_a(I0, C ) , I3=ir_a(I0, A ), I4=ir_a(I3, a ) , I5=ir_a(I3, B ) .
Problema 21.-Considere la siguiente gramática:
I1=ir_a(I0, a) , I2=ir_a(I0, S ) , I3=ir_a(I1, b ), I4=ir_a(I3, S )
Problema 22.-Considere la siguiente gramática: