Logo Passei Direto
Buscar

Ferramentas de estudo

Questões resolvidas

Na seção 4, a semântica de consultas e respostas é explicada, incluindo exemplos de como as expressões são reconhecidas.
O que significa a resposta 'X = []' na consulta '?expr(Y, X).'?
A expressão na lista Y foi reconhecida.
A lista Y está vazia.
A consulta não foi reconhecida.
A lista X contém valores.

O relatório deve conter várias seções conforme descrito na seção 6.
Quais elementos devem estar presentes no relatório?
Apenas a folha de rosto.
Folha de rosto, sumário e referências.
Folha de rosto, sumário, link para download e referências.
Sumário e referências apenas.

Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Questões resolvidas

Na seção 4, a semântica de consultas e respostas é explicada, incluindo exemplos de como as expressões são reconhecidas.
O que significa a resposta 'X = []' na consulta '?expr(Y, X).'?
A expressão na lista Y foi reconhecida.
A lista Y está vazia.
A consulta não foi reconhecida.
A lista X contém valores.

O relatório deve conter várias seções conforme descrito na seção 6.
Quais elementos devem estar presentes no relatório?
Apenas a folha de rosto.
Folha de rosto, sumário e referências.
Folha de rosto, sumário, link para download e referências.
Sumário e referências apenas.

Prévia do material em texto

<p>20241 CET087-CLP</p><p>Proj3d</p><p>Entrega: 3 de junho</p><p>Sumário</p><p>1. G1 DCG (Definite Clause Grammar)</p><p>para expressões aritméticas</p><p>2. G Gramática de Atributos DCG para gerar</p><p>código intermediário</p><p>3. G Consulta e resposta</p><p>4. Semântica de consultas e respostas</p><p>5. Exercícios</p><p>6. Relatório</p><p>2. G Gramática de Atributos DCG para gerar</p><p>código intermediário</p><p>expr --> term,rexpr.</p><p>rexpr --> [+],expr, {write('y=POP(); x=POP(); PUSH(x ADD y)'),nl}.</p><p>rexpr --> [-],expr, {write('y=POP(); x=POP(); PUSH(x SUB y)'),nl}.</p><p>rexpr --> [].</p><p>term--> factor,rterm.</p><p>rterm--> [*],term, {write('y=POP(); x=POP(); PUSH(x MUL y)'),nl}.</p><p>rterm--> [/],term, {write('y=POP(); x=POP(); PUSH(x DIV y)'),nl}.</p><p>rterm--> [].</p><p>factor --> [a],{write('PUSH('),write(a), write(')'), nl}.</p><p>factor --> [b],{write('PUSH('),write(b), write(')'), nl}.</p><p>factor --> [c],{write('PUSH('),write(c), write(')'), nl}.</p><p>factor --> [d],{write('PUSH('),write(d), write(')'), nl}.</p><p>factor --> [e],{write('PUSH('),write(e), write(')'), nl}.</p><p>factor --> ['('], expr, [')'].</p><p>3</p><p>3. G Consulta e resposta</p><p>?expr(['(',a,*,b,')',-,c,+,d],[]).</p><p>PUSH(a)</p><p>PUSH(b)</p><p>y=POP(); x=POP(); PUSH(x MUL y)</p><p>PUSH(c)</p><p>PUSH(d)</p><p>y=POP(); x=POP(); PUSH(x ADD y)</p><p>y=POP(); x=POP(); PUSH(x SUB y)</p><p>true</p><p>4. Semântica de consultas e respostas</p><p>• Para G1 as consultas tem a forma “?expr(Y, X).” onde X,Y são listas.</p><p>Se a resposta é “X = []” significa que a expressão na lista Y foi</p><p>reconhecida. Se na consulta X for a lista vazia [] e a resposta for “true”</p><p>significa que a expressão em Y foi reconhecida.</p><p>• ?expr([1,+,2,*,3],X). X = []</p><p>• ?expr([1,+,2,+,3], []). true</p><p>• Para G2 as consultas tem a forma “?expr(V, Y, X).” o primeiro</p><p>parâmetro V, vai devolver o valor da expressão; os outros parâmetros são</p><p>como para G1.</p><p>• ?expr(V,[1,+,2,*, 3],X). V = 7, X = []</p><p>• ?expr(V,[1,+,'(',2,*, 3,')'],[]). V = 7</p><p>• Para G3 as consultas e respostas são como para G1; além disso, o programa</p><p>imprime o código intermediário para a parte da expressão que foi</p><p>reconhecida.</p><p>5. Exercícios</p><p>1. Considere que os valores das variáveis a, b, c, d,</p><p>e estão armazenados nas posições 3, 4, 5, 6, 7 da</p><p>memória.</p><p>2. Gere 10 expressões com variáveis a, b, c, d, e</p><p>que utilize a gramática G para gerar o código</p><p>intermediário dessas expressões.</p><p>3. Faça um programa C ANSI para gerar o código</p><p>p-code correspondente ao código intermediário</p><p>do exercício 2. Referências às variáveis a, b, c, d,</p><p>e devem ser traduzidas para os respectivos</p><p>endereços.</p><p>6. Relatório</p><p>• O relatório deve conter:</p><p>– Folha de rosto</p><p>– Sumário</p><p>– Link para download da implementação e saídas.</p><p>– Comando para consultas.</p><p>– Referências.</p><p>Slide 1: 20241 CET087-CLP Proj3d</p><p>Slide 2: Sumário</p><p>Slide 3: 2. G Gramática de Atributos DCG para gerar código intermediário</p><p>Slide 4: 3. G Consulta e resposta</p><p>Slide 5: 4. Semântica de consultas e respostas</p><p>Slide 6: 5. Exercícios</p><p>Slide 7: 6. Relatório</p>

Mais conteúdos dessa disciplina