A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Aulão de Linguagens Formais e Compiladores Professor Diógenes Furlan.

Apresentações semelhantes


Apresentação em tema: "Aulão de Linguagens Formais e Compiladores Professor Diógenes Furlan."— Transcrição da apresentação:

1 Aulão de Linguagens Formais e Compiladores Professor Diógenes Furlan

2 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

3 Hierarquia de Chomsky

4 Compiladores

5 Compiladores X Interpretadores

6 Fases de um Compilador

7

8

9 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)

10 Teoria da Computação

11 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.

12 Teoria da Computação

13 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.NP-completoTuring-redutível em tempo polinomial

14 Exemplos de Problemas NP-Completo  3SAT  Caixeiro Viajante  Longest Path  3D Matching  Mochila  Conjunto Independente  Zero-One Equações  Rudrata Path  Maximum Cut (grafo)

15 ???

16 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

17 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)

18 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

19 Enade 2008 – Questão 22

20 Enade 2008

21 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

22

23

24

25 Enade 2008

26

27

28


Carregar ppt "Aulão de Linguagens Formais e Compiladores Professor Diógenes Furlan."

Apresentações semelhantes


Anúncios Google