aulão de linguagens formais e compiladores professor diógenes furlan
Post on 21-Apr-2015
121 Views
Preview:
TRANSCRIPT
Aulão de Linguagens Formais e CompiladoresProfessor Diógenes Furlan
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
Hierarquia de Chomsky
Compiladores
Compiladores X Interpretadores
Fases de um Compilador
Fases de um Compilador
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)
Teoria da Computação
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.
Teoria da Computação
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.
Exemplos de Problemas NP-Completo
3SAT
Caixeiro Viajante
Longest Path
3D Matching
Mochila
Conjunto Independente
Zero-One Equações
Rudrata Path
Maximum Cut (grafo)
???
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
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)
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
Enade 2008 – Questão 22
Enade 2008
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
Enade 2008
top related