aulão de linguagens formais e compiladores professor diógenes furlan
TRANSCRIPT
![Page 1: Aulão de Linguagens Formais e Compiladores Professor Diógenes Furlan](https://reader038.vdocuments.site/reader038/viewer/2022102722/552fc15e497959413d8e59cf/html5/thumbnails/1.jpg)
Aulão de Linguagens Formais e CompiladoresProfessor Diógenes Furlan
![Page 2: Aulão de Linguagens Formais e Compiladores Professor Diógenes Furlan](https://reader038.vdocuments.site/reader038/viewer/2022102722/552fc15e497959413d8e59cf/html5/thumbnails/2.jpg)
Linguagens Formais e Autômatos - Mecanismos Definidores: expressões
Expressões regulares, cálculo proposicional, cálculo de predicados, ...
Reconhecedores: autômatos
Autômatos Finitos (NFA e DFA), Autômatos de Pilha, Máquinas de Turing
Geradores: gramáticas
Gramáticas Regulares, Livre de Contexto, Sensível de Contexto, Irrestritas
![Page 3: Aulão de Linguagens Formais e Compiladores Professor Diógenes Furlan](https://reader038.vdocuments.site/reader038/viewer/2022102722/552fc15e497959413d8e59cf/html5/thumbnails/3.jpg)
Hierarquia de Chomsky
![Page 4: Aulão de Linguagens Formais e Compiladores Professor Diógenes Furlan](https://reader038.vdocuments.site/reader038/viewer/2022102722/552fc15e497959413d8e59cf/html5/thumbnails/4.jpg)
Compiladores
![Page 5: Aulão de Linguagens Formais e Compiladores Professor Diógenes Furlan](https://reader038.vdocuments.site/reader038/viewer/2022102722/552fc15e497959413d8e59cf/html5/thumbnails/5.jpg)
Compiladores X Interpretadores
![Page 6: Aulão de Linguagens Formais e Compiladores Professor Diógenes Furlan](https://reader038.vdocuments.site/reader038/viewer/2022102722/552fc15e497959413d8e59cf/html5/thumbnails/6.jpg)
Fases de um Compilador
![Page 7: Aulão de Linguagens Formais e Compiladores Professor Diógenes Furlan](https://reader038.vdocuments.site/reader038/viewer/2022102722/552fc15e497959413d8e59cf/html5/thumbnails/7.jpg)
Fases de um Compilador
![Page 8: Aulão de Linguagens Formais e Compiladores Professor Diógenes Furlan](https://reader038.vdocuments.site/reader038/viewer/2022102722/552fc15e497959413d8e59cf/html5/thumbnails/8.jpg)
![Page 9: Aulão de Linguagens Formais e Compiladores Professor Diógenes Furlan](https://reader038.vdocuments.site/reader038/viewer/2022102722/552fc15e497959413d8e59cf/html5/thumbnails/9.jpg)
Tipos de Analisadores Sintáticos
LL(1)
O primeiro símbolo lido é o (L)eftmost symbol
A análise é descendente (top-down)
Produz derivações mais a esquerda (L)eft
O compilador toma suas decisões lendo um (1) símbolo a frente na entrada
LR(1) ou canônico
A analise é ascendente (bottom-up)
Produz derivação mais a direita (R)ight
SLR (simple) tem tabela sintática mais simples: SLR(0) e SLR(1)
LALR analisa símbolos a frente também
SLR < LALR < LR(1)
![Page 10: Aulão de Linguagens Formais e Compiladores Professor Diógenes Furlan](https://reader038.vdocuments.site/reader038/viewer/2022102722/552fc15e497959413d8e59cf/html5/thumbnails/10.jpg)
Teoria da Computação
![Page 11: Aulão de Linguagens Formais e Compiladores Professor Diógenes Furlan](https://reader038.vdocuments.site/reader038/viewer/2022102722/552fc15e497959413d8e59cf/html5/thumbnails/11.jpg)
Tipos de Problemas
Problemas de Busca: precisam achar uma instancia num conjunto.
Problemas de Decisão: precisam responder sim ou não.
Problemas de Otimização: precisam transformar um problema em outro.
![Page 12: Aulão de Linguagens Formais e Compiladores Professor Diógenes Furlan](https://reader038.vdocuments.site/reader038/viewer/2022102722/552fc15e497959413d8e59cf/html5/thumbnails/12.jpg)
Teoria da Computação
![Page 13: Aulão de Linguagens Formais e Compiladores Professor Diógenes Furlan](https://reader038.vdocuments.site/reader038/viewer/2022102722/552fc15e497959413d8e59cf/html5/thumbnails/13.jpg)
Definições NP: é a classe de TODOS os problemas de busca.
P: é a classe de TODOS os problemas de busca que são resolvidos em tempo polinomial.
Existe algoritmo que responde em tempo polinomial, para uma instancia
Sua resposta
Diz que não existe resposta
NP-completo: existem problemas onde não se conhece algoritmos eficientes para resolvê-los;
esses problemas são conhecidos como NP-completos;
porém, não foi provado que esses algoritmos não existem.
NP-dificil (NP-hard): Um problema H é NP-difícil se e somente se existe um problema NP-completo L que é Turing-redutível em tempo polinomial para H.
![Page 14: Aulão de Linguagens Formais e Compiladores Professor Diógenes Furlan](https://reader038.vdocuments.site/reader038/viewer/2022102722/552fc15e497959413d8e59cf/html5/thumbnails/14.jpg)
Exemplos de Problemas NP-Completo
3SAT
Caixeiro Viajante
Longest Path
3D Matching
Mochila
Conjunto Independente
Zero-One Equações
Rudrata Path
Maximum Cut (grafo)
![Page 15: Aulão de Linguagens Formais e Compiladores Professor Diógenes Furlan](https://reader038.vdocuments.site/reader038/viewer/2022102722/552fc15e497959413d8e59cf/html5/thumbnails/15.jpg)
???
![Page 16: Aulão de Linguagens Formais e Compiladores Professor Diógenes Furlan](https://reader038.vdocuments.site/reader038/viewer/2022102722/552fc15e497959413d8e59cf/html5/thumbnails/16.jpg)
Conceito de Redução Se problema A tem solução => problema B também tem solução.
Porém, se for mostrado que
problema B não tem solução => problema A também não tem solução
A B
![Page 17: Aulão de Linguagens Formais e Compiladores Professor Diógenes Furlan](https://reader038.vdocuments.site/reader038/viewer/2022102722/552fc15e497959413d8e59cf/html5/thumbnails/17.jpg)
Enade 2008
Questão 13 – MD
Questão 22 – Compiladores
Questão 26 – CG
Questão 29 – LFA
Questão 33 – Compiladores
Questão 39 – Gramática (Discursiva)
![Page 18: Aulão de Linguagens Formais e Compiladores Professor Diógenes Furlan](https://reader038.vdocuments.site/reader038/viewer/2022102722/552fc15e497959413d8e59cf/html5/thumbnails/18.jpg)
Enade 2011
Questão 9 – MD
Questão 11 – TC
Questão 12 – LFA
Questão 23 – LFA
Questão 26 – Combinatória
Questão 36 – TC
Questão 37 – PLP
Questão 38 – LFA
![Page 19: Aulão de Linguagens Formais e Compiladores Professor Diógenes Furlan](https://reader038.vdocuments.site/reader038/viewer/2022102722/552fc15e497959413d8e59cf/html5/thumbnails/19.jpg)
Enade 2008 – Questão 22
![Page 20: Aulão de Linguagens Formais e Compiladores Professor Diógenes Furlan](https://reader038.vdocuments.site/reader038/viewer/2022102722/552fc15e497959413d8e59cf/html5/thumbnails/20.jpg)
Enade 2008
![Page 21: Aulão de Linguagens Formais e Compiladores Professor Diógenes Furlan](https://reader038.vdocuments.site/reader038/viewer/2022102722/552fc15e497959413d8e59cf/html5/thumbnails/21.jpg)
Resolução
Alternativa E: FALSA – não aparece na gramática
Alternativa C: FALSA – Só é possível gerar palavras com 1 ‘b’
Alternativa B: FALSA – Gramática é Sensível ao Contexto
Alternativa A: FALSA – Não é possível gerar duas derivações diferentes para uma mesma palavra
Alternativa D: VERDADEIRA
Expressão Regular: a*b
Gramática Regular: S aS | ab
![Page 22: Aulão de Linguagens Formais e Compiladores Professor Diógenes Furlan](https://reader038.vdocuments.site/reader038/viewer/2022102722/552fc15e497959413d8e59cf/html5/thumbnails/22.jpg)
![Page 23: Aulão de Linguagens Formais e Compiladores Professor Diógenes Furlan](https://reader038.vdocuments.site/reader038/viewer/2022102722/552fc15e497959413d8e59cf/html5/thumbnails/23.jpg)
![Page 24: Aulão de Linguagens Formais e Compiladores Professor Diógenes Furlan](https://reader038.vdocuments.site/reader038/viewer/2022102722/552fc15e497959413d8e59cf/html5/thumbnails/24.jpg)
![Page 25: Aulão de Linguagens Formais e Compiladores Professor Diógenes Furlan](https://reader038.vdocuments.site/reader038/viewer/2022102722/552fc15e497959413d8e59cf/html5/thumbnails/25.jpg)
Enade 2008
![Page 26: Aulão de Linguagens Formais e Compiladores Professor Diógenes Furlan](https://reader038.vdocuments.site/reader038/viewer/2022102722/552fc15e497959413d8e59cf/html5/thumbnails/26.jpg)
![Page 27: Aulão de Linguagens Formais e Compiladores Professor Diógenes Furlan](https://reader038.vdocuments.site/reader038/viewer/2022102722/552fc15e497959413d8e59cf/html5/thumbnails/27.jpg)
![Page 28: Aulão de Linguagens Formais e Compiladores Professor Diógenes Furlan](https://reader038.vdocuments.site/reader038/viewer/2022102722/552fc15e497959413d8e59cf/html5/thumbnails/28.jpg)