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

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

tópicostópicos itens 01. Terminologia 02. Operações básicas 03. Representação de linguagens 04. Formalização de gramáticas 05. Processo de derivação 06.

Apresentações semelhantes


Apresentação em tema: "tópicostópicos itens 01. Terminologia 02. Operações básicas 03. Representação de linguagens 04. Formalização de gramáticas 05. Processo de derivação 06."— Transcrição da apresentação:

1

2 tópicostópicos itens 01. Terminologia 02. Operações básicas 03. Representação de linguagens 04. Formalização de gramáticas 05. Processo de derivação 06. Construção de gramáticas formais 07. Hierarquia de Chomsky 08. Notações gramaticais 09. Transformação entre notações 10. Ambigüidade 11. Gramática de Transdução

3 terminologiaterminologia terminologia básica  Átomo  Alfabeto  Cadeia  Sentença  Linguagem 01 Elemento individual ou símbolo que será utilizado pela linguagem. Menor parte que irá constituir os componentes de uma determinada linguagem.

4 terminologiaterminologia terminologia básica  Átomo  Alfabeto  Cadeia  Sentença  Linguagem 01 Conjunto de todos os átomos que serão utilizados para compor uma determinada linguagem. Várias linguagens distintas podem utilizar o mesmo conjunto alfabeto.

5 terminologiaterminologia terminologia básica  Átomo  Alfabeto  Cadeia  Sentença  Linguagem 01 Qualquer combinação de átomos de um determinado conjunto alfabeto.

6 terminologiaterminologia terminologia básica  Átomo  Alfabeto  Cadeia  Sentença  Linguagem 01 Qualquer cadeia que tenha algum significado para a linguagem que está sendo definida.

7 terminologiaterminologia terminologia básica  Átomo  Alfabeto  Cadeia  Sentença  Linguagem 01 Coleção ou conjunto de sentenças específicas.

8 operações básicas Comprimento Funcionamento da operação de comprimento  Tem apenas um operando.  É aplicada em cadeias (ou sentenças).  Gera como resultado um número inteiro. Definição da operação de comprimento:  Cada cadeia é formada pela justaposição de átomos de um conjunto alfabeto.  A operação de comprimento indica quantos átomos foram necessários para a construção daquela cadeia. Representação da operação de comprimento:  Dada uma cadeia qualquer   O comprimento da cadeia  é um número n  Representamos a operação de comprimento da forma. 02 |  | = n

9 operações básicas Comprimento (cont) Cadeias especiais:  Cadeia vazia:  É toda cadeia de comprimento zero.  É formada de zero átomos do alfabeto.  Representada pelo símbolo  Cadeia elementar:  É toda cadeia de comprimento um.  É formada de apenas um átomo do alfabeto.  Aplicada em cadeias (ou sentenças). 02 

10 operações básicas Concatenação Funcionamento da operação de concatenação  Tem dois operandos  É aplicada entre dois átomos ou  É aplicada entre um átomo e uma cadeia ou  É aplicada entre duas cadeias  Gera como resultado sempre uma cadeia Definição da concatenação:  Cada cadeia é formada pela justaposição de átomos de um conjunto alfabeto.  Concatenar significa juntar um átomo ou todos os átomos embutidos em uma cadeia a um outro átomo ou a todos os átomos embutidos numa outra cadeia.  A ordem na qual os átomos estão dispostos influencia no resultado da operação. 02

11 operações básicas Comprimento Funcionamento da operação de comprimento  Tem apenas um operando.  É aplicada em cadeias (ou sentenças).  Gera como resultado um número inteiro. Definição da operação de comprimento:  Cada cadeia é formada pela justaposição de átomos de um conjunto alfabeto.  A operação de comprimento indica quantos átomos foram necessários para a construção daquela cadeia. Representação da operação de comprimento:  Dada uma cadeia qualquer   O comprimento da cadeia  é um número n  Representamos a operação de comprimento da forma. 02 |  | = n

12 operações básicas Comprimento (cont) Cadeias especiais:  Cadeia vazia:  É toda cadeia de comprimento zero.  É formada de zero átomos do alfabeto.  Representada pelo símbolo  Cadeia elementar:  É toda cadeia de comprimento um.  É formada de apenas um átomo do alfabeto.  Aplicada em cadeias (ou sentenças). 02 

13 operações básicas Concatenação Funcionamento da operação de concatenação  Tem dois operandos  É aplicada entre dois átomos ou  É aplicada entre um átomo e uma cadeia ou  É aplicada entre duas cadeias  Gera como resultado sempre uma cadeia Definição da concatenação:  Cada cadeia é formada pela justaposição de átomos de um conjunto alfabeto.  Concatenar significa juntar um átomo ou todos os átomos embutidos em uma cadeia a um outro átomo ou a todos os átomos embutidos numa outra cadeia.  A ordem na qual os átomos estão dispostos influencia no resultado da operação. 02

14 operações básicas Concatenação (cont) Representação da operação de concatenação  Dadas duas cadeias quaisquer chamadas de  e   A concatenação entre estas duas cadeias gera uma terceira cadeia chamada de   Representamos a operação de concatenação das formas: ou  Podemos considerar a concatenação entre átomos e entre átomo e cadeia como um caso particular do caso acima onde o átomo foi considerado como uma cadeia elementar 02   = .  = 

15 operações básicas Concatenação (cont) Características da operação de concatenação  Operação associativa  Operação não comutativa  Elemento neutro é a cadeia vazia 02 .  = .  =  .  ≠ .  ( .  ).   . ( .  )

16 operações básicas Concatenação (cont) Considerações em relação ao comprimento  Na concatenação entre dois átomos o comprimento da cadeia resultante é sempre 2  Na concatenação entre um átomo e uma cadeia o comprimento da cadeia resultante é sempre o comprimento da cadeia original + 1  Na concatenação entre duas cadeias o comprimento da cadeia concatenada é sempre a soma dos comprimentos das cadeias operadas  Em resumo: se então 02 .  =  |  | + |  | = |  |

17 operações básicas Fechamento Funcionamento da operação de fechamento  Tem apenas um operando.  É aplicada sobre um conjunto finito e não vazio (normalmente o conjunto alfabeto).  Gera como resultado um conjunto infinito. Tipos de fechamento existentes:  Existem dois tipos diferentes de operação de fechamento 1. Fechamento recursivo e transitivo 2. Fechamento transitivo ou Fechamento transitivo puro e simples 02

18 operações básicas Fechamento (cont) Fechamento recursivo e transitivo  Aplicado sobre um determinado conjunto produz um segundo conjunto com todas as possíveis combinações dos elementos do primeiro.  Admite gerar qualquer cadeia formada por qualquer quantidade de elementos do primeiro conjunto, até nenhum elemento.  Inclui a cadeia vazia no conjunto gerado Fechamento transitivo  Aplicado sobre um determinado conjunto produz um segundo conjunto com quase todas as possíveis combinações dos elementos do primeiro.  Admite gerar qualquer cadeia formada por pelo menos um elementos do primeiro conjunto.  Exceto a cadeia vazia, possui todos os outros elementos do conjunto gerado pelo fechamento recursivo e transitivo. 02

19 operações básicas Fechamento (cont) Representação da operação de fechamento  Dado um conjunto alfabeto finito e não vazio   O fechamento recursivo e transitivo sobre este conjunto alfabeto () é representado da forma  O fechamento transitivo sobre este conjunto alfabeto () é representado da forma  A diferença entre o conjunto gerado pelo fechamento recursivo e transitivo e o conjunto gerado pelo fechamento transitivo é apenas a cadeia vazia: onde   * e  + são conjuntos gerais e englobam toda a sorte de linguagens possíveis de se construir a parir do conjunto 02 ** ++  * =  + U {  }   +  +

20 operações básicas Concatenação de linguagens Funcionamento da operação de concatenação  Tem dois operandos  É aplicada entre duas linguagens  Gera como resultado uma linguagem  Se as duas linguagens operadas forem conjuntos finitos o resultado da operação de concatenação de linguagens é um conjunto finito. Caso contrário o resultado da operação de concatenação de linguagens é um conjunto infinito Definição da concatenação de linguagens:  Cada linguagem é formada de um conjunto específico de cadeias (chamadas de sentenças)  Concatenar linguagens significa juntar uma cadeia de uma linguagem a outra cadeia de outra linguagem, gerando um outro conjunto linguagem.  A ordem na qual as cadeias estão dispostas influencia no resultado da operação. 02

21 operações básicas Concatenação de linguagens (cont) Representação da operação de concatenação  Dadas duas linguagens quaisquer X e Y  A concatenação entre estas duas linguagens gera uma terceira linguagem Z  Representamos a operação de concatenação das formas: ou  No conjunto das sentenças de Z temos todas as combinações possíveis entre uma sentença de X e outra sentença de Y, nesta ordem. 02 XY = ZX. Y = Z

22 operações básicas Concatenação de linguagens (cont) Características da operação de concatenação  Operação associativa  Operação não comutativa  Elemento neutro é a cadeia vazia qualquer linguagem que possua como conjunto de sentenças apenas a cadeia vazia se então 02 X. L = L. X = X X. Y ≠ Y. X (X. Y). Z  X. (Y. Z) L = {  }

23 como formalizar Representação linguagens  Enumeração  Gramáticas  Reconhecedores 03 Consiste em listar todas as sentenças da linguagem  Representação válida apenas para linguagens finitas  Para decidir se uma cadeia é ou não sentença da linguagem deve ser feita uma busca completa no conjunto de sentenças definidas.

24 como formalizar Representação linguagens  Enumeração  Gramáticas  Reconhecedores 03 É um dispositivo gerador de sentenças  Define um conjunto de leis de formação para todas as sentenças de uma linguagem  Pertence à linguagem? Deve-se tentar formar uma cadeia igual pela aplicação das leis de formação da gramática.  Derivação: processo de obter uma sentença pelas regras de uma gramática formal  Definição de linguagem por gramáticas: conjunto de todas as sentenças possíveis de serem geradas através das regras de formação definidas.

25 como formalizar Representação linguagens  Enumeração  Gramáticas  Reconhecedores 03 É um dispositivo testador de cadeias  Define um conjunto de regras de aceitação para todas as sentenças de uma linguagem  Pertence à linguagem? Deve-se aplicar as regras de aceitação a esta cadeia  Reconhecimento: processo de aplicação das regras de aceitação de um reconhecedor a uma cadeia  Definição de linguagem por reconhecedores: conjunto de todas as cadeias que passam com resultado positivo nas regras de aceitação (e portanto são sentenças).

26 gramáticasgramáticas Formalização É definida através de uma quádrupla ordenada  Os quatro elementos que formam a gramática:  Conjunto Vocabulário,  Conjunto Alfabeto,  Conjunto das Produções Gramaticais e  Símbolo Inicial.  Representada da forma: 04 G = ( V, , P, S )

27 gramáticasgramáticas Vocabulário (V) Conjunto de todos os elementos simbólicos utilizados para definir as leis de formação da gramática.  Contém todos os elementos do conjunto alfabeto (os chamados símbolos terminais).  Contém também os símbolos auxiliares criados para a montagem das regras de formação (os chamados símbolos não terminais). 04 G = ( V, , P, S )

28 gramáticasgramáticas Alfabeto () Conjunto de todos os elementos simbólicos utilizados para definir as sentenças da linguagem  Também chamado de conjunto dos símbolos terminais  Conjunto finito e não vazio  Define junto com o Vocabulário (V) outro conjunto  Conjunto dos símbolos não terminais ( N )  Formado pelos outros elementos de V que são utilizados para definir construções intermediárias ou auxiliares  São os elementos do Vocabulário (V) que não estão definidos no conjunto alfabeto (), ou seja: onde 04 G = ( V, , P, S ) V =   N   N = 

29 gramáticasgramáticas Produções gramaticais (P) Conjunto das leis de formação de sentenças  Principal elemento definidor da gramática  Cada elemento deste conjunto é chamado de lei de formação ou de produção gramatical  Toda produção gramatical segue um formato padrão. Utiliza uma cadeia (que chamaremos de  ) gerando ou produzindo uma outra cadeia (que chamaremos de  ). 04 G = ( V, , P, S )     

30 gramáticasgramáticas Produções gramaticais (P)  Toda produção gramatical deve obedecer a duas restrições básicas.  Restrição a ser seguida pela cadeia geradora (  ):  Restrição a ser seguida pela cadeia gerada (  ): 04 G = ( V, , P, S )   V*. N. V*   V*

31 gramáticasgramáticas Símbolo Inicial (S) Símbolo que inicia todo o processo de produção de sentenças da linguagem  Único elemento definidor da gramática que não é um conjunto  É um elemento que pertence ao conjunto Vocabulário (V) 04 G = ( V, , P, S ) S  V

32 derivaçãoderivação definição O que é derivação  É um processo utilizado para obter uma sentença completa a partir das regras de formação definidas numa gramática formal.  As produções gramaticais (conjunto de regras de formação de uma gramática), junto com os outros elementos de uma gramática formal, compõem um sistema de substituição de cadeias.  A derivação é esta substituição acontecendo para uma sentença específica da linguagem 05

33 derivaçãoderivação funcionamento Como funciona a derivação  Todo processo de derivação é iniciado pelo símbolo inicial da gramática (S).  O símbolo inicial deve ser substituído utilizando alguma regra onde a cadeia geradora () seja o símbolo inicial.  A aplicação desta regra coloca no lugar do símbolo inicial a cadeia gerada () pela regra.  Sobre a cadeia resultante pode ser aplicada qualquer regra de substituição especificada no conjunto de produções gramaticais, em qualquer ordem e quantas vezes forem necessárias.  Estas regras são aplicadas quantas vezes forem necessárias até que se tenha uma sentença da linguagem formada. 05

34 derivaçãoderivação exemplo A cadeia  será uma sentença da linguagem:  se existir uma seqüência de substituições definidas na gramática (usando as regras existentes no conjunto de produções gramaticais)  que permita sair do símbolo inicial da linguagem e  chegar até a cadeia : S  1  2  3 ...  n    Este processo inteiro é o que chamamos de derivação da sentença  05

35 derivaçãoderivação representação  O símbolo que é usado para representar derivações  É diferente do símbolo usado para construir as regras de substituição São operações diferentes  As derivações (ou aplicações das regras) mapeiam o produto cartesiano  As regras de substituição mapeiam o produto cartesiano 05   V + x V* V* N V* x V*

36 derivaçãoderivação tipos de derivação Derivação direta  A derivação direta é obtida pela aplicação de uma única regra de substituição. Utiliza o símbolo Derivação não trivial  A derivação não trivial é obtida pela aplicação de pelo menos uma regra de substituição (uma ou mais regras de substituição aplicadas). Utiliza o símbolo Derivação (pura e simples)  A derivação aplica todas as regras de substituição necessárias para partir do símbolo inicial para chegar a uma cadeia de símbolos do Vocabulário. Utiliza o símbolo 05    + *

37 derivaçãoderivação comprimento Comprimento de uma derivação  O comprimento de uma derivação é a quantidade de regras de produção gramatical que foram utilizadas em um passo de substituição (entre um e outro momento indicado durante o processo de derivação).  Utiliza o símbolo onde n representa um número inteiro que indica a quantidade de regras usadas 05  n

38 derivaçãoderivação formas sentenciais O que é uma forma sentencial  Dada uma gramática formal  É qualquer cadeia  Formada de elementos do conjunto vocabulário (V).  Obtida a partir do símbolo inicial (S).  Pela aplicação das regras de substituição (elementos do conjunto de produções gramaticais) da gramática. 05

39 derivaçãoderivação sentenças O que é sentença  É também uma forma sentencial  É uma forma sentencial especial onde todos os elementos formadores de sua cadeia são elementos do conjunto alfabeto ().  Cada sentença gerada faz parte da linguagem que está sendo definida pela gramática formal. 05

40 derivaçãoderivação linguagem O que é linguagem  A linguagem definida pela gramática formal (G)  É indicada pela notação L(G)  É definida como sendo o conjunto 05 {    * | S   }

41


Carregar ppt "tópicostópicos itens 01. Terminologia 02. Operações básicas 03. Representação de linguagens 04. Formalização de gramáticas 05. Processo de derivação 06."

Apresentações semelhantes


Anúncios Google