Professional Documents
Culture Documents
'para' '(' <Atrib> ';' <Exp_Rel> ';' <Atrib> ')' '{' <List_Coman> '}'
Obs1.: um exemplo de comando estilo For , no MLP, na definio acima poderia ser:
i : inteiro ;
para ( i = 0 ; i < 10 ; i = i + 1 ) {
escreve ( i ) ;
}
corretas. Esse processo de anlise sinttica pode ser realizado construindo-se uma rvore de anlise
segundo duas principais abordagens: top-down, quando a rvore investigada da raiz s folhas; ou
bottom-up, das folhas raiz. Acerca desse assunto, julgue os itens seguintes.
I) A anlise top-down adequada quando a linguagem de entrada definida por uma gramtica
recursiva esquerda.
II) Independentemente da abordagem adotada, top-down ou bottom-up, o analisador sinttico utiliza
informaes resultantes da anlise lxica.
III) Se os programas em uma linguagem podem ser analisados tanto em abordagem top-down como
em bottom-up, a gramtica dessa linguagem ambgua.
IV) A anlise bottom-up utiliza aes comumente conhecidas como deslocamentos e redues sobre
as sentenas do programa-fonte.
Esto certos apenas os itens
a) II, III e IV.
b) II e IV.
c) I, III e IV.
d) I e III.
e) I e II.
Questo 5) As fases de anlise de um compilador tradicional so: anlise lxica, anlise sinttica e
anlise semntica. Nesse contexto definir a funo de cada fase de anlise e exemplificar com
cdigo SPP (Script de Pascal em Portugus) pelo menos um tipo de erro que deve ser capturado por
cada analisador.
Questo 6) Uma das fases mais importantes de um compilador a fase de anlise sinttica onde se
tm algumas tcnicas como a anlise sinttica preditiva recursiva. Nesse contexto considere a as
regras da gramtica abaixo (o smbolo de start <Bl_Comando>) e implemente os procedimentos
(em linguagem algortmica) de um analisador sinttico recursivo preditivo (ASRP):
<Bl_Comando> -> 'inicio' <Lista_Co> 'fim'
<Lista_Co>
<Comando>
-> id | num
inserir registro;
atualizar registro;
deletar registro;