Linguagens Formais e                        Autômatos                                             P. Blauth Menezes       ...
Linguagens Formais e Autômatos                                                     P. Blauth Menezes                      ...
1 – Introdução e Conceitos                  Básicos     1.1 Introdução         1.1.1 Sintaxe e Semântica         1.1.2 Abo...
1 – Introdução e Conceitos BásicosLinguagens Formais e Autômatos - P. Blauth Menezes   4
1.1 Introdução◆    Teoria das Linguagens Formais     • desenvolvida na década de 1950     • objetivo inicial        ∗ dese...
◆    Exemplos de aplicações     •   análise léxica e análise sintática de linguagens de programação     •   modelagem de c...
1 – Introdução e Conceitos                  Básicos     1.1 Introdução         1.1.1 Sintaxe e Semântica         1.1.2 Abo...
1.1.1             Sintaxe e Semântica◆    Linguagens Formais     • problemas sintáticos das linguagens◆    Importante apre...
◆    Conseqüência     • grande ênfase à sintaxe     • levando à idéia de que questões das linguagens de programação       ...
◆    Linguagem de programação (ou qq modelo     matemático) pode ser vista como uma entidade     • livre, sem qualquer sig...
◆    Conseqüentemente, a sintaxe:     • manipula símbolos     • sem considerar os seus correspondentes significados◆    Ma...
◆    Programa "correto" ou "errado"     • se o mesmo modela adequadamente o comportamento desejado◆    Limites entre a sin...
1 – Introdução e Conceitos                  Básicos     1.1 Introdução         1.1.1 Sintaxe e Semântica         1.1.2 Abo...
1.1.2             Abordagem◆    Centrada no tratamento sintático     • linguagens lineares abstratas     • com fácil assoc...
Operacional◆    Autômato ou uma máquina abstrata     • estados     • instruções primitivas     • especificação de como cad...
◆    Principais máquinas     • Autômato Finito     • Autômato com Pilha     • Máquina de TuringLinguagens Formais e Autôma...
Axiomático◆    Associam-se regras     • às componentes da linguagem◆    Regras permitem afirmar     • o que será verdadeir...
◆    Abordagem é sobre Gramáticas     •   Regulares     •   Livres do Contexto     •   Sensíveis ao Contexto     •   Irres...
Denotacional◆    Ou Funcional◆    Define-se um domínio     • caracteriza o conjunto de palavras admissíveis na linguagem  ...
1 – Introdução e Conceitos                  Básicos     1.1 Introdução         1.1.1 Sintaxe e Semântica         1.1.2 Abo...
Linguagens Formais e Autômatos                                                     P. Blauth Menezes                      ...
Próximos SlideShares
Carregando em…5
×

01 introducao e conceitos basicos

639 visualizações

Publicada em

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

Sem downloads
Visualizações
Visualizações totais
639
No SlideShare
0
A partir de incorporações
0
Número de incorporações
35
Ações
Compartilhamentos
0
Downloads
40
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

01 introducao e conceitos basicos

  1. 1. Linguagens Formais e Autômatos P. Blauth Menezes blauth@inf.ufrgs.br Departamento de Informática Teórica Instituto de Informática / UFRGSMatemática Discreta para Ciência da Computação - P. Blauth Menezes 1
  2. 2. Linguagens Formais e Autômatos P. Blauth Menezes 1 Introdução e Conceitos Básicos 2 Linguagens e Gramáticas 3 Linguagens Regulares 4 Propriedades das Linguagens Regulares 5 Autômato Finito com Saída 6 Linguagens Livres do Contexto 7 Propriedades e Reconhecimento das Linguagens Livres do Contexto 8 Linguagens Recursivamente Enumeráveis e Sensíveis ao Contexto 9 Hierarquia de Classes e Linguagens e ConclusõesLinguagens Formais e Autômatos - P. Blauth Menezes 2
  3. 3. 1 – Introdução e Conceitos Básicos 1.1 Introdução 1.1.1 Sintaxe e Semântica 1.1.2 Abordagem 1.2 Conjuntos, Relações e Funções 1.3 Noções de Lógica 1.4 Técnicas de Demonstração 1.5 InduçãoLinguagens Formais e Autômatos - P. Blauth Menezes 3
  4. 4. 1 – Introdução e Conceitos BásicosLinguagens Formais e Autômatos - P. Blauth Menezes 4
  5. 5. 1.1 Introdução◆ Teoria das Linguagens Formais • desenvolvida na década de 1950 • objetivo inicial ∗ desenvolver teorias relacionadas com as linguagens naturais • entretanto, logo foi verificado que era importante ∗ estudo de linguagens artificiais ∗ em especial, para as linguagens originárias da Computação e Informática • desde então, desenvolveu-se significativamenteLinguagens Formais e Autômatos - P. Blauth Menezes 5
  6. 6. ◆ Exemplos de aplicações • análise léxica e análise sintática de linguagens de programação • modelagem de circuitos lógicos ou redes lógicas • modelagem de sistemas biológicos • …◆ Mais recentemente • animações • hipertextos e hipermídias • linguagens não-lineares ∗ planares ∗ espaciais ∗ n-dimensionaisLinguagens Formais e Autômatos - P. Blauth Menezes 6
  7. 7. 1 – Introdução e Conceitos Básicos 1.1 Introdução 1.1.1 Sintaxe e Semântica 1.1.2 Abordagem 1.2 Conjuntos, Relações e Funções 1.3 Noções de Lógica 1.4 Técnicas de Demonstração 1.5 InduçãoLinguagens Formais e Autômatos - P. Blauth Menezes 7
  8. 8. 1.1.1 Sintaxe e Semântica◆ Linguagens Formais • problemas sintáticos das linguagens◆ Importante apresentar os conceitos de • sintaxe e semântica◆ Historicamente, o problema sintático • reconhecido antes do problema semântico • primeiro a receber um tratamento adequado • tratamento mais simples que os semânticosLinguagens Formais e Autômatos - P. Blauth Menezes 8
  9. 9. ◆ Conseqüência • grande ênfase à sintaxe • levando à idéia de que questões das linguagens de programação ∗ resumiam-se às questões da sintaxe◆ Teoria da sintaxe possui construções matemáticas • bem definidas e universalmente reconhecidas • exemplo: Gramáticas de ChomskyLinguagens Formais e Autômatos - P. Blauth Menezes 9
  10. 10. ◆ Linguagem de programação (ou qq modelo matemático) pode ser vista como uma entidade • livre, sem qualquer significado associado • juntamente com uma interpretação do seu significado◆ Sintaxe • trata das propriedades livres da linguagem • exemplo: verificação gramatical de programas◆ Semântica • objetiva dar uma interpretação para a linguagem • exemplo: significado ou valor para um determinado programaLinguagens Formais e Autômatos - P. Blauth Menezes 10
  11. 11. ◆ Conseqüentemente, a sintaxe: • manipula símbolos • sem considerar os seus correspondentes significados◆ Mas, para resolver qualquer problema real • necessário dar uma interpretação semântica aos símbolos • exemplo: estes símbolos representam os inteiros◆ Sintaticamente "errado" • não existe tal noção de programa • simplesmente não é um programa da linguagem◆ Sintaticamente válido ("correto") • pode não ser o programa que o programador esperava escreverLinguagens Formais e Autômatos - P. Blauth Menezes 11
  12. 12. ◆ Programa "correto" ou "errado" • se o mesmo modela adequadamente o comportamento desejado◆ Limites entre a sintaxe e a semântica • nem sempre são claros • exemplo: ocorrência de um nome em um programa • entretanto, em linguagens artificiais ∗ distinção entre sintaxe e semântica é (em geral) óbvia◆ Análise léxica • tipo especial de análise sintática • centrada nas componentes básicas da linguagem • portanto, também é ênfase das Linguagens FormaisLinguagens Formais e Autômatos - P. Blauth Menezes 12
  13. 13. 1 – Introdução e Conceitos Básicos 1.1 Introdução 1.1.1 Sintaxe e Semântica 1.1.2 Abordagem 1.2 Conjuntos, Relações e Funções 1.3 Noções de Lógica 1.4 Técnicas de Demonstração 1.5 InduçãoLinguagens Formais e Autômatos - P. Blauth Menezes 13
  14. 14. 1.1.2 Abordagem◆ Centrada no tratamento sintático • linguagens lineares abstratas • com fácil associação às linguagens da Computação e Informática◆ Clasificação dos formalismos • Operacional • Axiomático • DenotacionalLinguagens Formais e Autômatos - P. Blauth Menezes 14
  15. 15. Operacional◆ Autômato ou uma máquina abstrata • estados • instruções primitivas • especificação de como cada instrução modifica cada estado◆ Máquina abstrata • suficientemente simples • para não permitir dúvidas sobre a execução de seu código◆ Também é dito um formalismo Reconhecedor • análise de uma entrada para verificar se é "reconhecida"Linguagens Formais e Autômatos - P. Blauth Menezes 15
  16. 16. ◆ Principais máquinas • Autômato Finito • Autômato com Pilha • Máquina de TuringLinguagens Formais e Autômatos - P. Blauth Menezes 16
  17. 17. Axiomático◆ Associam-se regras • às componentes da linguagem◆ Regras permitem afirmar • o que será verdadeiro após a ocorrência de cada cláusula • considerando-se o que era verdadeiro antes da ocorrência◆ Também é dito um formalismo Gerador • verifica se um elemento da linguagem é "gerado"Linguagens Formais e Autômatos - P. Blauth Menezes 17
  18. 18. ◆ Abordagem é sobre Gramáticas • Regulares • Livres do Contexto • Sensíveis ao Contexto • IrrestritasLinguagens Formais e Autômatos - P. Blauth Menezes 18
  19. 19. Denotacional◆ Ou Funcional◆ Define-se um domínio • caracteriza o conjunto de palavras admissíveis na linguagem • funções, em geral, composicionais (horizontalmente) ∗ valor denotado por uma construção ∗ especificado em termos dos valores denotados por suas subcomponentes◆ Abordagem restrita às Expressões Regulares◆ Também é dito um formalismo Gerador • é simples inferir ("gerar") as palavras da linguagemLinguagens Formais e Autômatos - P. Blauth Menezes 19
  20. 20. 1 – Introdução e Conceitos Básicos 1.1 Introdução 1.1.1 Sintaxe e Semântica 1.1.2 Abordagem 1.2 Conjuntos, Relações e Funções 1.3 Noções de Lógica 1.4 Técnicas de Demonstração 1.5 InduçãoLinguagens Formais e Autômatos - P. Blauth Menezes 20
  21. 21. Linguagens Formais e Autômatos P. Blauth Menezes 1 Introdução e Conceitos Básicos 2 Linguagens e Gramáticas 3 Linguagens Regulares 4 Propriedades das Linguagens Regulares 5 Autômato Finito com Saída 6 Linguagens Livres do Contexto 7 Propriedades e Reconhecimento das Linguagens Livres do Contexto 8 Linguagens Recursivamente Enumeráveis e Sensíveis ao Contexto 9 Hierarquia de Classes e Linguagens e ConclusõesLinguagens Formais e Autômatos - P. Blauth Menezes 21

×