aulão de linguagens formais e compiladores professor diógenes furlan

Post on 21-Apr-2015

121 Views

Category:

Documents

9 Downloads

Preview:

Click to see full reader

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