Gramáticas, Autômatos e
Compiladores
Aula 1
Paulo Eduardo e Silva Barbosa

Adaptado de:
Roteiro
}

Formato da disciplina

}

Introdução

}

Linguagens e Gramáticas
◦ Alfabeto
◦ Palavra
◦ Linguagem
◦ Gramática

...
Formato da disciplina
}

Paulo Eduardo e Silva Barbosa
◦ pesbarbosa@gmail.com

}

Página da disciplina
◦ https://sites.goo...
Bibliografia
SIPSER,Michael. Introdução à Teoria da
Computação. 2ª ed. São Paulo: Thomson
Pioneira, 2007. MENEZES, Paulo B...
Formato da disciplina
}

Avaliações
◦ 1º Estágio
– Prova (5)
– Lista de exercícios (2)
– Projeto de Compiladores (analisad...
Introdução
}

Teoria das Linguagens Formais
◦ 1950
◦ Desenvolvida para Linguagens Naturais
◦ Aplicadas para Linguagens da ...
Linguagens e Gramáticas
}

Como definir uma linguagem em Computação?

}

Alfabeto (Σ)
◦ Conjunto finito de símbolos ou car...
Palavra
}

Palavra, cadeia de caracteres ou sentenças sobre
um alfabeto. É uma sequência finita de símbolos
(do alfabeto) ...
Palavra
}

Σ*
◦ Denota o conjunto de todas as palavras possíveis sobre
Σ

}

Σ+
◦ Denota Σ* - {ε}

◦ ε
– Palavra vazia, se...
Linguagem Formal
}

Uma linguagem formal L sobre um alfabeto Σ é
um conjunto de palavras sobre Σ* :
◦ L ⊆ Σ*

}

Exemplo:
...
Linguagem de Programação

É formalmente definida pelo conjunto de todos os
programas (palavras) da linguagem.
Gramática
}

Conjunto finito de regras nas quais, quando
aplicadas sucessivamente, geram palavras;

}

O conjunto de todas...
Gramática
}

Gramática de Chomsky, Gramática Irrestrita ou
simplesmente Gramática
◦ G = (V, T, P, S)
◦ V = conjunto finito...
Exemplos de Gramática
}

Gramática Regular (Linguagens Regulares)

}

G = ({S, A, B}, {0, 1}, P, S)

}

P = { S → 0B,
S → ...
Exemplos de Gramática
}

G = ({S, R}, {0, 1}, P, S)

}

P = { S → 0S,
S → 1R,
R → 1R,
R→ε

}
Próximos SlideShares
Carregando em…5
×

Aula1.0.pptx

505 visualizações

Publicada em

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
505
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
15
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Aula1.0.pptx

  1. 1. Gramáticas, Autômatos e Compiladores Aula 1 Paulo Eduardo e Silva Barbosa Adaptado de:
  2. 2. Roteiro } Formato da disciplina } Introdução } Linguagens e Gramáticas ◦ Alfabeto ◦ Palavra ◦ Linguagem ◦ Gramática } Exemplos
  3. 3. Formato da disciplina } Paulo Eduardo e Silva Barbosa ◦ pesbarbosa@gmail.com } Página da disciplina ◦ https://sites.google.com/site/pesbarbosa/ } } Bibliografia básica AHO, Alfred V.; LAM, Mônica S.; SETHI, Ravi; ULLMAN, Jeffrey D. Compiladores: Princípios, Técnicas e Ferramentas. Pearson Addison Wesley, 2007.
  4. 4. Bibliografia SIPSER,Michael. Introdução à Teoria da Computação. 2ª ed. São Paulo: Thomson Pioneira, 2007. MENEZES, Paulo Blauth. Linguagens Formais e Autômatos. Ed. Bookman Companhia, 1a edicao, 2008. PRICE, Ana Maria de Alencar; TOSCANI, Simão Sirineo Implementação de Linguagens de Programação: Compiladores. 3a ed. Bookman, 2008 LOUDEN, Keneth C. Compiladores: Princípios e Práticas. São Paulo: Thomson Learning, 2004.
  5. 5. Formato da disciplina } Avaliações ◦ 1º Estágio – Prova (5) – Lista de exercícios (2) – Projeto de Compiladores (analisador léxico e sintático) (3) ◦ 2º Estágio – Prova – Projeto de Compiladores (analisador léxico e sintático) ◦ 3º Estágio – Integrador – Projeto de Compiladores (analisador léxico e sintático)
  6. 6. Introdução } Teoria das Linguagens Formais ◦ 1950 ◦ Desenvolvida para Linguagens Naturais ◦ Aplicadas para Linguagens da Computação } Sintaxe ◦ Verificação gramatical de programas } Semântica ◦ Interpretação para a linguagem (significado ou valor para um determinado programa)
  7. 7. Linguagens e Gramáticas } Como definir uma linguagem em Computação? } Alfabeto (Σ) ◦ Conjunto finito de símbolos ou caracteres. ◦ Exemplos: – {a, b, c} –ø
  8. 8. Palavra } Palavra, cadeia de caracteres ou sentenças sobre um alfabeto. É uma sequência finita de símbolos (do alfabeto) justapostos. } Exemplos: ◦ Considere o alfabeto {a, b, c} ◦ Palavras: – ab – cab – aabcabb
  9. 9. Palavra } Σ* ◦ Denota o conjunto de todas as palavras possíveis sobre Σ } Σ+ ◦ Denota Σ* - {ε} ◦ ε – Palavra vazia, sem símbolos
  10. 10. Linguagem Formal } Uma linguagem formal L sobre um alfabeto Σ é um conjunto de palavras sobre Σ* : ◦ L ⊆ Σ* } Exemplo: ◦ Σ = {a, b} ◦ Linguagem: conjunto de palíndromos sobre Σ ◦ Palavras desta linguagem (infinito): – a, bb, aba, abba, bbbb, ...
  11. 11. Linguagem de Programação É formalmente definida pelo conjunto de todos os programas (palavras) da linguagem.
  12. 12. Gramática } Conjunto finito de regras nas quais, quando aplicadas sucessivamente, geram palavras; } O conjunto de todas as palavras geradas por uma gramática define a linguagem.
  13. 13. Gramática } Gramática de Chomsky, Gramática Irrestrita ou simplesmente Gramática ◦ G = (V, T, P, S) ◦ V = conjunto finito de símbolos variáveis ou não-terminais; ◦ T = conjunto finito de símbolos terminais disjunto de V; ◦ Regra de Produção = P: (V ∪ T)+ (V ∪ T)* ◦ S = elemento de V chamado de símbolo inicial
  14. 14. Exemplos de Gramática } Gramática Regular (Linguagens Regulares) } G = ({S, A, B}, {0, 1}, P, S) } P = { S → 0B, S → 1A, A → 0, A → 0S, B → 1, B → 1S }
  15. 15. Exemplos de Gramática } G = ({S, R}, {0, 1}, P, S) } P = { S → 0S, S → 1R, R → 1R, R→ε }

×