Baixe o app para aproveitar ainda mais
Prévia do material em texto
1º Prova de Construção de Compiladores Nome: R.A.: 1- A linguagem L(G) = {w / w ϵ {a,b,c}* e w = anbcn+1, n>=1} pode ser obtida através de uma Gramática Linear à Direita G? Se a resposta for afirmativa, construa a GLD G. No caso de não ser possível obtê-la a partir de uma GLD, destaque o motivo e apresente uma gramática equivalente G’ que gere L(G). (3,0 pts) 2- Considere que a linguagem de programação vista em sala de aula pode agora reconhecer comandos de definição de estruturas similares a linguagem C: typedef struct X inicio var int a; int b; boolean c; fim ; Altere a gramática da linguagem de programação LPD, e os analisadores léxico e sintático para reconhecer este novo comando. Qualquer alteração deve ser apresentada em pseudocódigo (não serão aceitas respostas em linguagens de programação específicas) Qualquer rotina já existente no léxico ou sintático pode ser chamada pelo seu programa. (4,0 pts) 3- Explique qual a relação e para que servem expressões regulares, autômatos finitos, tokens e lexemas em compiladores. (2,0 pts) 4- Apresente 2 exemplos diferentes de erros léxicos. (1,0 pts)
Compartilhar