01   introducao e conceitos basicos
Upcoming SlideShare
Loading in...5
×
 

01 introducao e conceitos basicos

on

  • 1,192 views

 

Statistics

Views

Total Views
1,192
Views on SlideShare
1,162
Embed Views
30

Actions

Likes
0
Downloads
23
Comments
0

1 Embed 30

http://www.computacaodepressao.com.br 30

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-NonCommercial LicenseCC Attribution-NonCommercial License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

01   introducao e conceitos basicos 01 introducao e conceitos basicos Presentation Transcript

  • 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
  • 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
  • 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
  • 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 ∗ 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
  • ◆ 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
  • 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
  • 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
  • ◆ 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
  • ◆ 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
  • ◆ 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
  • ◆ 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
  • 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
  • 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
  • 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 TuringLinguagens 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 • IrrestritasLinguagens 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 linguagemLinguagens 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çãoLinguagens 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õesLinguagens Formais e Autômatos - P. Blauth Menezes 21