A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Linguagens Formais e Autômatos Prof. Yandre Maldonado e Gomes da Costa LFA - Prof. Yandre - 1.

Apresentações semelhantes


Apresentação em tema: "Linguagens Formais e Autômatos Prof. Yandre Maldonado e Gomes da Costa LFA - Prof. Yandre - 1."— Transcrição da apresentação:

1 Linguagens Formais e Autômatos Prof. Yandre Maldonado e Gomes da Costa LFA - Prof. Yandre - 1

2 Introdução n Problema: definir um conjunto de cadeias de símbolos; n Exemplo: conjunto M dos números binários que têm 2 dígitos M={00,01,10,11} LFA - Prof. Yandre - 2

3 Introdução n Porém, se fosse o conjunto N de todas as combinações de dígitos binários, poderíamos tentar o seguinte: N={0,1,00,01,10,11,000,...} n Percebe-se que este conjunto não é enumerável; LFA - Prof. Yandre - 3

4 Introdução n Representação clara: humanos x computador n Representação Formal Computador; n Um objetivo de LFA é estudar uma maneira precisa e formal de descrever sequências de símbolos pertencentes à um determinado conjunto; LFA - Prof. Yandre - 4

5 Introdução n Em especial conjuntos que não podem ser trivialmente enumerados; n Os estudos iniciais foram em torno de Linguagens Naturais (LN); n Insucesso: LN é extensa, complexa, não tem sintaxe rígida e semântica bem determinada (rica em ambiguidade); LFA - Prof. Yandre - 5

6 Introdução n Assim, ela não permite o tratamento computacional; n Resultados significativos na descrição de linguagens computacionais; n Linguagens Computacionais são muito mais simples; LFA - Prof. Yandre - 6

7 Introdução n As maneiras sistemáticas de descrever uma linguagem de programação são: –um método que permite construir programas sintaticamente corretos - geração (Gramática); –um método que permite verificar se um programa escrito está sintaticamente correto - reconhecimento (Autômatos); LFA - Prof. Yandre - 7

8 Introdução n Pesquisas já demonstraram o uso destas técnicas em: –análise de linguagens de programação léxica; sintática; –modelos de sistemas biológicos; –desenho de hardware; –relacionamentos com linguagens naturais (sem muito sucesso); LFA - Prof. Yandre - 8

9 Conceitos Básicos n Alfabeto: –Conjunto de finito de símbolos; –Normalmente descrito por ; –Exemplos: {a, b} {1, 2, 3} {00, 11} LFA - Prof. Yandre - 9

10 Conceitos Básicos n Símbolo ou letra: –é todo elemento pertencente à um alfabeto; –a é um símbolo de sse a ; –Exemplo: dado o alfabeto ={0, 1, 23} 0 é um símbolo de ; 1 é um símbolo de ; 23 é um símbolo de ; LFA - Prof. Yandre - 10

11 Conceitos Básicos n Essas duas primeiras definições são bastante livres. Embora os símbolos também possam ser chamados de letras, eles não precisam ter necessariamente um único caracter. E além disso, os símbolos de um alfabeto não precisam todos ter o mesmo número de caracteres. A única restrição é que o tamanho do símbolo seja finito. LFA - Prof. Yandre - 11

12 Conceitos Básicos n Cadeia ou palavra: –É uma concatenação de símbolos de um mesmo alfabeto; –É uma seqüência finita de símbolos do alfabeto justapostos; –Assim, dado um alfabeto e uma sequência de símbolos x=a 1 a 2 a 3...a n, x é uma cadeia sobre sse a i para i=1,2,...,n LFA - Prof. Yandre - 12

13 Conceitos Básicos n Comparando as definições: –Linguagem Natural: Uma palvra em português equivale à um símbolo; Uma sentença da língua portuguesa é uma cadeia composta por vários símbolos; –Linguagem Computacional: Cada programa escrito numa linguagem computacional corresponde a uma cadeia de símbolos que podem ser: –identificadores; –palavras reservadas; –símbolos especiais e operadores; –constantes numéricas. LFA - Prof. Yandre - 13

14 Conceitos Básicos n Comprimento de Cadeia ou Tamanho de Palavra: –É o número de símbolos que compõem uma dada cadeia (ou palavra). –O comprimento de uma cadeia x é denotado por |x| –Então, a cadeia x=a 1 a 2 a 3...a n, tem seu comprimento |x| = n –Cadeia nula ou palavra vazia: é um caso especial, ela é denotada por e tem tamanho igual a zero. LFA - Prof. Yandre - 14

15 Conceitos Básicos n Exercício: dado o alfabeto ={a, b, c, de}, verifique se as cadeias a seguir são formadas sobre este alfabeto, e se for, verifique qual o comprimento das mesmas: –x = ababac –y = abdec –z = abedc –w = abdceaba –s = d –t = a LFA - Prof. Yandre - 15

16 Conceitos Básicos n Exponenciação de Alfabetos: k é o conjunto de todas as cadeias com tamanho k, formadas sobre o alfabeto. –Exemplo: considere = {0, 1} 0 = { } 1 = {0, 1} = 2 = {00, 01, 10, 11}... n Exercício: encontre 3 para o exemplo anterior. LFA - Prof. Yandre - 16

17 Conceitos Básicos n Fechamento de um Alfabeto: Seja um alfabeto, então o fechamento de, descrito por * é definido como * = n... n * é o conjunto de todas as cadeias possíveis de se formar sobre o alfabeto. n Fechamento positivo + = * - { } n Questão: quando * é infinito? LFA - Prof. Yandre - 17

18 Conceitos Básicos n Concatenação de cadeias: dado o alfabeto e as cadeias x, y *, a concatenação de x e y, indicada por xy, produz uma cadeia formada pelos símbolos de x seguidos pelos símbolos de y. n Se x = a 1 a 2...a n * e y = b 1 b 2...b m *, então xy = a 1 a 2...a n b 1 b 2...b m LFA - Prof. Yandre - 18

19 Conceitos Básicos n Exemplos: = {a, b} x = abaa, y = ba, z= xy = abaaba yx = baabaa yz = ba = zy = y n A cadeia nula ( ) é o elemento neutro da concatenação. LFA - Prof. Yandre - 19

20 Conceitos Básicos n Dado um alfabeto e x, y *, diz-se que: –x é um prefixo de y sse w * tal que y= xw; –x é um sufixo de y sse w * tal que y= wx; –x é um subpalavra de y sse w,u * tal que y= wxu; LFA - Prof. Yandre - 20

21 Conceitos Básicos n Linguagem: dado o alfabeto, o conjunto de palavras L é uma linguagem sobre, sse L *. LFA - Prof. Yandre - 21 Linguagem *


Carregar ppt "Linguagens Formais e Autômatos Prof. Yandre Maldonado e Gomes da Costa LFA - Prof. Yandre - 1."

Apresentações semelhantes


Anúncios Google