SlideShare une entreprise Scribd logo
1  sur  21
Télécharger pour lire hors ligne
Linguagens Formais e
                        Autômatos
                                             P. Blauth Menezes
                                                   blauth@inf.ufrgs.br

                    Departamento de Informática Teórica
                      Instituto de Informática / UFRGS




Matemática Discreta para Ciência da Computação - P. Blauth Menezes       1
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ões




Linguagens Formais e Autômatos - P. Blauth Menezes                              2
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ção



Linguagens Formais e Autômatos - P. Blauth Menezes   3
1 – Introdução e Conceitos Básicos
Linguagens Formais e Autômatos - P. Blauth Menezes   4
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 significativamente



Linguagens Formais e Autômatos - P. Blauth Menezes                      5
◆    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-dimensionais


Linguagens Formais e Autômatos - P. Blauth Menezes                         6
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ção



Linguagens Formais e Autômatos - P. Blauth Menezes   7
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ânticos




Linguagens Formais e Autômatos - P. Blauth Menezes   8
◆    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 Chomsky




Linguagens Formais e Autômatos - P. Blauth Menezes                     9
◆    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 programa



Linguagens Formais e Autômatos - P. Blauth Menezes                  10
◆    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 escrever
Linguagens Formais e Autômatos - P. Blauth Menezes                   11
◆    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 Formais


Linguagens Formais e Autômatos - P. Blauth Menezes                 12
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ção



Linguagens Formais e Autômatos - P. Blauth Menezes   13
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
     • Denotacional




Linguagens Formais e Autômatos - P. Blauth Menezes                      14
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
◆    Principais máquinas
     • Autômato Finito
     • Autômato com Pilha
     • Máquina de Turing




Linguagens Formais e Autômatos - P. Blauth Menezes   16
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
◆    Abordagem é sobre Gramáticas
     •   Regulares
     •   Livres do Contexto
     •   Sensíveis ao Contexto
     •   Irrestritas




Linguagens Formais e Autômatos - P. Blauth Menezes   18
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 linguagem

Linguagens Formais e Autômatos - P. Blauth Menezes                   19
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ção



Linguagens Formais e Autômatos - P. Blauth Menezes   20
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ões


Linguagens Formais e Autômatos - P. Blauth Menezes                              21

Contenu connexe

Tendances

Aula 1 - Introdução a Engenharia de Software
Aula 1 -  Introdução a Engenharia de SoftwareAula 1 -  Introdução a Engenharia de Software
Aula 1 - Introdução a Engenharia de SoftwareLeinylson Fontinele
 
Automatas-Lenguajes1-1 (1).pdf
Automatas-Lenguajes1-1 (1).pdfAutomatas-Lenguajes1-1 (1).pdf
Automatas-Lenguajes1-1 (1).pdfRamosDiez
 
Teoria da Computação - Fecho sob as operacoes regulares
Teoria da Computação - Fecho sob as operacoes regularesTeoria da Computação - Fecho sob as operacoes regulares
Teoria da Computação - Fecho sob as operacoes regularesIFCE
 
Explicando segurança e privacidade utilizando Wireshark
Explicando segurança e privacidade utilizando WiresharkExplicando segurança e privacidade utilizando Wireshark
Explicando segurança e privacidade utilizando WiresharkEuler Neto
 
Placa mãe e barramentos
Placa mãe e barramentosPlaca mãe e barramentos
Placa mãe e barramentosNeil Azevedo
 
Introdução aos periféricos
Introdução aos periféricosIntrodução aos periféricos
Introdução aos periféricosHenrique Quirino
 
Introdução a estruturas de dados em python
Introdução a estruturas de dados em pythonIntrodução a estruturas de dados em python
Introdução a estruturas de dados em pythonAlvaro Oliveira
 
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)Gustavo Zimmermann
 
Caderno de exercícios Sistemas digitais - Portas lógicas
Caderno de exercícios  Sistemas digitais - Portas lógicasCaderno de exercícios  Sistemas digitais - Portas lógicas
Caderno de exercícios Sistemas digitais - Portas lógicasCarlos Pereira
 
Autómatas Finitos Deterministas y Lenguajes Formales
Autómatas Finitos Deterministas y Lenguajes FormalesAutómatas Finitos Deterministas y Lenguajes Formales
Autómatas Finitos Deterministas y Lenguajes FormalesSandy Rafael Garcia
 

Tendances (20)

Manual de portugol
Manual de portugolManual de portugol
Manual de portugol
 
Aula 1 - Introdução a Engenharia de Software
Aula 1 -  Introdução a Engenharia de SoftwareAula 1 -  Introdução a Engenharia de Software
Aula 1 - Introdução a Engenharia de Software
 
UML - Diagrama de Pacotes
UML - Diagrama de PacotesUML - Diagrama de Pacotes
UML - Diagrama de Pacotes
 
Automatas-Lenguajes1-1 (1).pdf
Automatas-Lenguajes1-1 (1).pdfAutomatas-Lenguajes1-1 (1).pdf
Automatas-Lenguajes1-1 (1).pdf
 
Teoria da Computação - Fecho sob as operacoes regulares
Teoria da Computação - Fecho sob as operacoes regularesTeoria da Computação - Fecho sob as operacoes regulares
Teoria da Computação - Fecho sob as operacoes regulares
 
Explicando segurança e privacidade utilizando Wireshark
Explicando segurança e privacidade utilizando WiresharkExplicando segurança e privacidade utilizando Wireshark
Explicando segurança e privacidade utilizando Wireshark
 
Inglês Técnico Instrumental: Aula 1
Inglês Técnico Instrumental: Aula 1Inglês Técnico Instrumental: Aula 1
Inglês Técnico Instrumental: Aula 1
 
Álgebra Booleana
Álgebra BooleanaÁlgebra Booleana
Álgebra Booleana
 
Placa mãe e barramentos
Placa mãe e barramentosPlaca mãe e barramentos
Placa mãe e barramentos
 
Aula 07 - Visualg e Pseudocódigo
Aula 07 - Visualg e PseudocódigoAula 07 - Visualg e Pseudocódigo
Aula 07 - Visualg e Pseudocódigo
 
Introdução aos periféricos
Introdução aos periféricosIntrodução aos periféricos
Introdução aos periféricos
 
Structs em C
Structs em CStructs em C
Structs em C
 
Introdução a estruturas de dados em python
Introdução a estruturas de dados em pythonIntrodução a estruturas de dados em python
Introdução a estruturas de dados em python
 
Circuitos
CircuitosCircuitos
Circuitos
 
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
 
Caderno de exercícios Sistemas digitais - Portas lógicas
Caderno de exercícios  Sistemas digitais - Portas lógicasCaderno de exercícios  Sistemas digitais - Portas lógicas
Caderno de exercícios Sistemas digitais - Portas lógicas
 
Circuitos sequenciais
Circuitos sequenciaisCircuitos sequenciais
Circuitos sequenciais
 
Autómatas Finitos Deterministas y Lenguajes Formales
Autómatas Finitos Deterministas y Lenguajes FormalesAutómatas Finitos Deterministas y Lenguajes Formales
Autómatas Finitos Deterministas y Lenguajes Formales
 
Gerativismo
GerativismoGerativismo
Gerativismo
 
Paradigmas de programação
Paradigmas de programaçãoParadigmas de programação
Paradigmas de programação
 

Similaire à 01 introducao e conceitos basicos

08 linguagens recursivamente enumeraveis e sensiveis ao contexto
08   linguagens recursivamente enumeraveis e sensiveis ao contexto08   linguagens recursivamente enumeraveis e sensiveis ao contexto
08 linguagens recursivamente enumeraveis e sensiveis ao contextoComputação Depressão
 
04 propriedades das linguagens regulares
04   propriedades das linguagens regulares04   propriedades das linguagens regulares
04 propriedades das linguagens regularesComputação Depressão
 
Aula 1 - Apresentação da disciplina e metodologia de trabalho. aspectos teori...
Aula 1 - Apresentação da disciplina e metodologia de trabalho. aspectos teori...Aula 1 - Apresentação da disciplina e metodologia de trabalho. aspectos teori...
Aula 1 - Apresentação da disciplina e metodologia de trabalho. aspectos teori...wab030
 
07 propriedades e reconhecimento das linguagens livres do contexto
07   propriedades e reconhecimento das linguagens livres do contexto07   propriedades e reconhecimento das linguagens livres do contexto
07 propriedades e reconhecimento das linguagens livres do contextoComputação Depressão
 
Mini-curso Processamento de linguagens naturais: pondo em prática
Mini-curso Processamento de linguagens naturais: pondo em prática Mini-curso Processamento de linguagens naturais: pondo em prática
Mini-curso Processamento de linguagens naturais: pondo em prática William Colen
 
Cronograma da Disciplina Aspectos Teóricos da Computação
Cronograma da Disciplina Aspectos Teóricos da ComputaçãoCronograma da Disciplina Aspectos Teóricos da Computação
Cronograma da Disciplina Aspectos Teóricos da Computaçãowab030
 
Aula 2 - PIE - LFA - (2018.2) CCO 6 NA
Aula 2 - PIE - LFA - (2018.2) CCO 6 NAAula 2 - PIE - LFA - (2018.2) CCO 6 NA
Aula 2 - PIE - LFA - (2018.2) CCO 6 NACloves da Rocha
 
Apostila de português
Apostila de portuguêsApostila de português
Apostila de portuguêsLeila Pryjma
 
Metodologia de ensino de língua
Metodologia de ensino de línguaMetodologia de ensino de língua
Metodologia de ensino de línguaKelly Moraes
 
TRAVAGLIA : MÉTODOS USADOS PELO AUTOR PARA O ENSINO-APRENDIZAGEM NAS SUAS SÉR...
TRAVAGLIA : MÉTODOS USADOS PELO AUTOR PARA O ENSINO-APRENDIZAGEM NAS SUAS SÉR...TRAVAGLIA : MÉTODOS USADOS PELO AUTOR PARA O ENSINO-APRENDIZAGEM NAS SUAS SÉR...
TRAVAGLIA : MÉTODOS USADOS PELO AUTOR PARA O ENSINO-APRENDIZAGEM NAS SUAS SÉR...universigatas
 
Introdução linguísitca aplicada
Introdução linguísitca aplicadaIntrodução linguísitca aplicada
Introdução linguísitca aplicadamarumbi
 
Planificações 1º período áreas curriculares
Planificações 1º período áreas curricularesPlanificações 1º período áreas curriculares
Planificações 1º período áreas curricularesRogério Vara
 
Planejemantodeingls 1anodoensinomdio-120305175312-phpapp01
Planejemantodeingls 1anodoensinomdio-120305175312-phpapp01Planejemantodeingls 1anodoensinomdio-120305175312-phpapp01
Planejemantodeingls 1anodoensinomdio-120305175312-phpapp01Flavia Peres
 

Similaire à 01 introducao e conceitos basicos (20)

08 linguagens recursivamente enumeraveis e sensiveis ao contexto
08   linguagens recursivamente enumeraveis e sensiveis ao contexto08   linguagens recursivamente enumeraveis e sensiveis ao contexto
08 linguagens recursivamente enumeraveis e sensiveis ao contexto
 
02 linguagens e gramaticas
02   linguagens e gramaticas02   linguagens e gramaticas
02 linguagens e gramaticas
 
04 propriedades das linguagens regulares
04   propriedades das linguagens regulares04   propriedades das linguagens regulares
04 propriedades das linguagens regulares
 
06 linguagens livres do contexto
06   linguagens livres do contexto06   linguagens livres do contexto
06 linguagens livres do contexto
 
Aula 1 - Apresentação da disciplina e metodologia de trabalho. aspectos teori...
Aula 1 - Apresentação da disciplina e metodologia de trabalho. aspectos teori...Aula 1 - Apresentação da disciplina e metodologia de trabalho. aspectos teori...
Aula 1 - Apresentação da disciplina e metodologia de trabalho. aspectos teori...
 
07 propriedades e reconhecimento das linguagens livres do contexto
07   propriedades e reconhecimento das linguagens livres do contexto07   propriedades e reconhecimento das linguagens livres do contexto
07 propriedades e reconhecimento das linguagens livres do contexto
 
Mini-curso Processamento de linguagens naturais: pondo em prática
Mini-curso Processamento de linguagens naturais: pondo em prática Mini-curso Processamento de linguagens naturais: pondo em prática
Mini-curso Processamento de linguagens naturais: pondo em prática
 
Cronograma da Disciplina Aspectos Teóricos da Computação
Cronograma da Disciplina Aspectos Teóricos da ComputaçãoCronograma da Disciplina Aspectos Teóricos da Computação
Cronograma da Disciplina Aspectos Teóricos da Computação
 
Aula 2 - PIE - LFA - (2018.2) CCO 6 NA
Aula 2 - PIE - LFA - (2018.2) CCO 6 NAAula 2 - PIE - LFA - (2018.2) CCO 6 NA
Aula 2 - PIE - LFA - (2018.2) CCO 6 NA
 
Linguagens Formais
Linguagens FormaisLinguagens Formais
Linguagens Formais
 
Apostila de português
Apostila de portuguêsApostila de português
Apostila de português
 
Teoria da Computação
Teoria da ComputaçãoTeoria da Computação
Teoria da Computação
 
Metodologia de ensino de língua
Metodologia de ensino de línguaMetodologia de ensino de língua
Metodologia de ensino de língua
 
TRAVAGLIA : MÉTODOS USADOS PELO AUTOR PARA O ENSINO-APRENDIZAGEM NAS SUAS SÉR...
TRAVAGLIA : MÉTODOS USADOS PELO AUTOR PARA O ENSINO-APRENDIZAGEM NAS SUAS SÉR...TRAVAGLIA : MÉTODOS USADOS PELO AUTOR PARA O ENSINO-APRENDIZAGEM NAS SUAS SÉR...
TRAVAGLIA : MÉTODOS USADOS PELO AUTOR PARA O ENSINO-APRENDIZAGEM NAS SUAS SÉR...
 
Introdução linguísitca aplicada
Introdução linguísitca aplicadaIntrodução linguísitca aplicada
Introdução linguísitca aplicada
 
Gramatica01
Gramatica01Gramatica01
Gramatica01
 
Planificações 1º período áreas curriculares
Planificações 1º período áreas curricularesPlanificações 1º período áreas curriculares
Planificações 1º período áreas curriculares
 
Planejemantodeingls 1anodoensinomdio-120305175312-phpapp01
Planejemantodeingls 1anodoensinomdio-120305175312-phpapp01Planejemantodeingls 1anodoensinomdio-120305175312-phpapp01
Planejemantodeingls 1anodoensinomdio-120305175312-phpapp01
 
Apostila Redação Técnica CFS
Apostila Redação Técnica CFSApostila Redação Técnica CFS
Apostila Redação Técnica CFS
 
Ensino deci .2
Ensino deci .2Ensino deci .2
Ensino deci .2
 

Plus de Computação Depressão

Sd08 (si) sistemas de arquivos distribuídos
Sd08 (si)   sistemas de arquivos distribuídosSd08 (si)   sistemas de arquivos distribuídos
Sd08 (si) sistemas de arquivos distribuídosComputação Depressão
 
Sd02 (si) gerenciamento de entrada e saída
Sd02 (si)   gerenciamento de entrada e saídaSd02 (si)   gerenciamento de entrada e saída
Sd02 (si) gerenciamento de entrada e saídaComputação Depressão
 

Plus de Computação Depressão (20)

Sd08 (si) sistemas de arquivos distribuídos
Sd08 (si)   sistemas de arquivos distribuídosSd08 (si)   sistemas de arquivos distribuídos
Sd08 (si) sistemas de arquivos distribuídos
 
Sd06 (si) exclusão mútua
Sd06 (si)   exclusão mútuaSd06 (si)   exclusão mútua
Sd06 (si) exclusão mútua
 
Sd05 (si) relógios e sincronização
Sd05 (si)   relógios e sincronizaçãoSd05 (si)   relógios e sincronização
Sd05 (si) relógios e sincronização
 
Sd04 (si) comunicação em sd
Sd04 (si)   comunicação em sdSd04 (si)   comunicação em sd
Sd04 (si) comunicação em sd
 
Sd03 (si) conceitos básicos de sd
Sd03 (si)   conceitos básicos de sdSd03 (si)   conceitos básicos de sd
Sd03 (si) conceitos básicos de sd
 
Sd02 (si) gerenciamento de entrada e saída
Sd02 (si)   gerenciamento de entrada e saídaSd02 (si)   gerenciamento de entrada e saída
Sd02 (si) gerenciamento de entrada e saída
 
Sd01 (si) sistemas de arquivos
Sd01 (si)   sistemas de arquivosSd01 (si)   sistemas de arquivos
Sd01 (si) sistemas de arquivos
 
Sd07 (si) eleição
Sd07 (si)   eleiçãoSd07 (si)   eleição
Sd07 (si) eleição
 
Ufbamat2013
Ufbamat2013Ufbamat2013
Ufbamat2013
 
Ufbaingles2013
Ufbaingles2013Ufbaingles2013
Ufbaingles2013
 
Ufbagab mat 2013
Ufbagab mat 2013Ufbagab mat 2013
Ufbagab mat 2013
 
Ufbagab ingles2013
Ufbagab ingles2013Ufbagab ingles2013
Ufbagab ingles2013
 
Ufbagab fis 2013
Ufbagab fis 2013Ufbagab fis 2013
Ufbagab fis 2013
 
Ufbafisqui2013
Ufbafisqui2013Ufbafisqui2013
Ufbafisqui2013
 
Ufbagab qui 2013
Ufbagab qui 2013Ufbagab qui 2013
Ufbagab qui 2013
 
Questesdetecnologia ano2002
Questesdetecnologia ano2002Questesdetecnologia ano2002
Questesdetecnologia ano2002
 
Questesdematemtica ano2003
Questesdematemtica ano2003Questesdematemtica ano2003
Questesdematemtica ano2003
 
Questesdematemtica ano2002
Questesdematemtica ano2002Questesdematemtica ano2002
Questesdematemtica ano2002
 
Questesdefundamentos ano2003
Questesdefundamentos ano2003Questesdefundamentos ano2003
Questesdefundamentos ano2003
 
Questesdefundamentos ano2002
Questesdefundamentos ano2002Questesdefundamentos ano2002
Questesdefundamentos ano2002
 

01 introducao e conceitos basicos

  • 1. Linguagens Formais e Autômatos P. Blauth Menezes blauth@inf.ufrgs.br Departamento de Informática Teórica Instituto de Informática / UFRGS Matemá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ões Linguagens 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ção Linguagens Formais e Autômatos - P. Blauth Menezes 3
  • 4. 1 – Introdução e Conceitos Básicos Linguagens 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 significativamente Linguagens 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-dimensionais Linguagens 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ção Linguagens 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ânticos Linguagens 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 Chomsky Linguagens 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 programa Linguagens 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 escrever Linguagens 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 Formais Linguagens 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ção Linguagens 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 • Denotacional Linguagens 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 Turing Linguagens 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 • Irrestritas Linguagens 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 linguagem Linguagens 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ção Linguagens 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ões Linguagens Formais e Autômatos - P. Blauth Menezes 21