SlideShare uma empresa Scribd logo
1 de 21
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

R vs Matlab: which one is more powerful and why
R vs Matlab:  which one is more powerful and why R vs Matlab:  which one is more powerful and why
R vs Matlab: which one is more powerful and why Stat Analytica
 
NP Complete Problems
NP Complete ProblemsNP Complete Problems
NP Complete ProblemsNikhil Joshi
 
Regular Languages
Regular LanguagesRegular Languages
Regular Languagesparmeet834
 
Regular language and Regular expression
Regular language and Regular expressionRegular language and Regular expression
Regular language and Regular expressionAnimesh Chaturvedi
 
Teoria Lista Exercicios 1.0
Teoria Lista Exercicios 1.0Teoria Lista Exercicios 1.0
Teoria Lista Exercicios 1.0Thayse
 
Aula 7 expressão regular
Aula 7   expressão regularAula 7   expressão regular
Aula 7 expressão regularwab030
 
Engenharia de software para Web
Engenharia de software para WebEngenharia de software para Web
Engenharia de software para WebIuri Matos
 
Introdução à Qualidade de Software
Introdução à Qualidade de SoftwareIntrodução à Qualidade de Software
Introdução à Qualidade de SoftwareCloves da Rocha
 
Lógica de Programação - Estrutura condicional
Lógica de Programação - Estrutura condicionalLógica de Programação - Estrutura condicional
Lógica de Programação - Estrutura condicionalWesley R. Bezerra
 
Presentation of daa on approximation algorithm and vertex cover problem
Presentation of daa on approximation algorithm and vertex cover problem Presentation of daa on approximation algorithm and vertex cover problem
Presentation of daa on approximation algorithm and vertex cover problem sumit gyawali
 
Theory of Automata
Theory of AutomataTheory of Automata
Theory of AutomataFarooq Mian
 
KMP Pattern Matching algorithm
KMP Pattern Matching algorithmKMP Pattern Matching algorithm
KMP Pattern Matching algorithmKamal Nayan
 
Introdução à Lógica de Predicados
Introdução à Lógica de PredicadosIntrodução à Lógica de Predicados
Introdução à Lógica de PredicadosHugo Souza
 

Mais procurados (20)

Theory of computation Lec3 dfa
Theory of computation Lec3 dfaTheory of computation Lec3 dfa
Theory of computation Lec3 dfa
 
R vs Matlab: which one is more powerful and why
R vs Matlab:  which one is more powerful and why R vs Matlab:  which one is more powerful and why
R vs Matlab: which one is more powerful and why
 
NP Complete Problems
NP Complete ProblemsNP Complete Problems
NP Complete Problems
 
Regular Languages
Regular LanguagesRegular Languages
Regular Languages
 
Hierarquia de Chomsky
Hierarquia de ChomskyHierarquia de Chomsky
Hierarquia de Chomsky
 
Regular language and Regular expression
Regular language and Regular expressionRegular language and Regular expression
Regular language and Regular expression
 
Teoria Lista Exercicios 1.0
Teoria Lista Exercicios 1.0Teoria Lista Exercicios 1.0
Teoria Lista Exercicios 1.0
 
Aula 7 expressão regular
Aula 7   expressão regularAula 7   expressão regular
Aula 7 expressão regular
 
Engenharia de software para Web
Engenharia de software para WebEngenharia de software para Web
Engenharia de software para Web
 
Introdução a python
Introdução a pythonIntrodução a python
Introdução a python
 
Python - Introdução
Python - IntroduçãoPython - Introdução
Python - Introdução
 
Introdução à Qualidade de Software
Introdução à Qualidade de SoftwareIntrodução à Qualidade de Software
Introdução à Qualidade de Software
 
Lógica de Programação - Estrutura condicional
Lógica de Programação - Estrutura condicionalLógica de Programação - Estrutura condicional
Lógica de Programação - Estrutura condicional
 
Presentation of daa on approximation algorithm and vertex cover problem
Presentation of daa on approximation algorithm and vertex cover problem Presentation of daa on approximation algorithm and vertex cover problem
Presentation of daa on approximation algorithm and vertex cover problem
 
Expressões Regulares: Teoria e Prática
Expressões Regulares: Teoria e PráticaExpressões Regulares: Teoria e Prática
Expressões Regulares: Teoria e Prática
 
Aula 8 - Comandos de Entrada e Saída
Aula 8 - Comandos de Entrada e SaídaAula 8 - Comandos de Entrada e Saída
Aula 8 - Comandos de Entrada e Saída
 
Theory of Automata
Theory of AutomataTheory of Automata
Theory of Automata
 
KMP Pattern Matching algorithm
KMP Pattern Matching algorithmKMP Pattern Matching algorithm
KMP Pattern Matching algorithm
 
Introdução à Lógica de Predicados
Introdução à Lógica de PredicadosIntrodução à Lógica de Predicados
Introdução à Lógica de Predicados
 
Lógica
LógicaLógica
Lógica
 

Semelhante a 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
 

Semelhante a 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
 

Mais 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
 

Mais 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