Your SlideShare is downloading. ×
  • Like
01   introducao e conceitos basicos
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

01 introducao e conceitos basicos

  • 390 views
Published

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
390
On SlideShare
0
From Embeds
0
Number of Embeds
2

Actions

Shares
Downloads
27
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 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. 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. 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. 1 – Introdução e Conceitos BásicosLinguagens Formais e Autômatos - P. Blauth Menezes 4
  • 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. ◆ 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. 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. 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. ◆ 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. ◆ 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. ◆ 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. ◆ 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. 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. 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. 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. ◆ Principais máquinas • Autômato Finito • Autômato com Pilha • Máquina de TuringLinguagens Formais e Autômatos - P. Blauth Menezes 16
  • 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. ◆ Abordagem é sobre Gramáticas • Regulares • Livres do Contexto • Sensíveis ao Contexto • IrrestritasLinguagens Formais e Autômatos - P. Blauth Menezes 18
  • 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. 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. 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