30
Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 05 Gramáticas [email protected]

Linguagens Formais e Autômatos - bcc.unifal-mg.edu.brhumberto/disciplinas/2011_1_lfa/aulas/aula... · Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 05 –Gramáticas

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Linguagens Formais e Autômatos - bcc.unifal-mg.edu.brhumberto/disciplinas/2011_1_lfa/aulas/aula... · Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 05 –Gramáticas

Universidade Federal de Alfenas

Linguagens Formais e Autômatos

Aula 05 –Gramá[email protected]

Page 2: Linguagens Formais e Autômatos - bcc.unifal-mg.edu.brhumberto/disciplinas/2011_1_lfa/aulas/aula... · Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 05 –Gramáticas

Última aula...

• Linguagens Formais vs Linguagens Naturais

Page 3: Linguagens Formais e Autômatos - bcc.unifal-mg.edu.brhumberto/disciplinas/2011_1_lfa/aulas/aula... · Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 05 –Gramáticas

Última aula...

• Linguagens Formais vs Linguagens Naturais

• Linguagens Formais

▫ Sintaxe bem definida

▫ Semântica precisa

Page 4: Linguagens Formais e Autômatos - bcc.unifal-mg.edu.brhumberto/disciplinas/2011_1_lfa/aulas/aula... · Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 05 –Gramáticas

Última aula...

• Linguagens Formais vs Linguagens Naturais

• Linguagens Formais

▫ Sintaxe bem definida

▫ Semântica precisa

• Definição de alfabeto

Page 5: Linguagens Formais e Autômatos - bcc.unifal-mg.edu.brhumberto/disciplinas/2011_1_lfa/aulas/aula... · Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 05 –Gramáticas

Última aula...

• Linguagens Formais vs Linguagens Naturais

• Linguagens Formais

▫ Sintaxe bem definida

▫ Semântica precisa

• Definição de alfabeto

• Concatenação

▫ De palavras

▫ De linguagens

Page 6: Linguagens Formais e Autômatos - bcc.unifal-mg.edu.brhumberto/disciplinas/2011_1_lfa/aulas/aula... · Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 05 –Gramáticas

Última aula...

• Linguagens Formais vs Linguagens Naturais

• Linguagens Formais

▫ Sintaxe bem definida

▫ Semântica precisa

• Definição de alfabeto

• Concatenação

▫ De palavras

▫ De linguagens

• Fecho

▫ De Kleene

▫ Positivo de Kleene

Page 7: Linguagens Formais e Autômatos - bcc.unifal-mg.edu.brhumberto/disciplinas/2011_1_lfa/aulas/aula... · Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 05 –Gramáticas
Page 8: Linguagens Formais e Autômatos - bcc.unifal-mg.edu.brhumberto/disciplinas/2011_1_lfa/aulas/aula... · Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 05 –Gramáticas

Gramáticas

• As gramáticas são um formalismo projetado para a definição de linguagens;

Page 9: Linguagens Formais e Autômatos - bcc.unifal-mg.edu.brhumberto/disciplinas/2011_1_lfa/aulas/aula... · Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 05 –Gramáticas

Gramáticas

• As gramáticas são um formalismo projetado para a definição de linguagens;

• Uma gramática mostra como gerar as palavras de uma linguagem;

Page 10: Linguagens Formais e Autômatos - bcc.unifal-mg.edu.brhumberto/disciplinas/2011_1_lfa/aulas/aula... · Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 05 –Gramáticas

Gramáticas

• As gramáticas são um formalismo projetado para a definição de linguagens;

• Uma gramática mostra como gerar as palavras de uma linguagem;

• Um elemento fundamental das gramáticas é denominado regra;

Page 11: Linguagens Formais e Autômatos - bcc.unifal-mg.edu.brhumberto/disciplinas/2011_1_lfa/aulas/aula... · Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 05 –Gramáticas

Gramáticas

• As gramáticas são um formalismo projetado para a definição de linguagens;

• Uma gramática mostra como gerar as palavras de uma linguagem;

• Um elemento fundamental das gramáticas é denominado regra;

• A regra é um par ordenado (u,v), escrito no formato uv, em que u e v são palavras que podem contersímbolos de dois alfabetos disjuntos.

Page 12: Linguagens Formais e Autômatos - bcc.unifal-mg.edu.brhumberto/disciplinas/2011_1_lfa/aulas/aula... · Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 05 –Gramáticas

Gramáticas

• Nas regras, dois alfabetos que podem compor os símbolos u e v:

Page 13: Linguagens Formais e Autômatos - bcc.unifal-mg.edu.brhumberto/disciplinas/2011_1_lfa/aulas/aula... · Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 05 –Gramáticas

Gramáticas

• Nas regras, dois alfabetos que podem compor os símbolos u e v:

▫ Um deles possui os símbolos denominados variáveis, ou não terminais (geralmente compostos de letras maiúsculas);

Page 14: Linguagens Formais e Autômatos - bcc.unifal-mg.edu.brhumberto/disciplinas/2011_1_lfa/aulas/aula... · Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 05 –Gramáticas

Gramáticas

• Nas regras, dois alfabetos que podem compor os símbolos u e v:

▫ Um deles possui os símbolos denominados variáveis, ou não terminais (geralmente compostos de letras maiúsculas);

▫ O outro composto de símbolos terminais (geralmente contendo letras minúsculas);

Page 15: Linguagens Formais e Autômatos - bcc.unifal-mg.edu.brhumberto/disciplinas/2011_1_lfa/aulas/aula... · Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 05 –Gramáticas

Gramáticas

• Nas regras, dois alfabetos que podem compor os símbolos u e v:

▫ Um deles possui os símbolos denominados variáveis, ou não terminais (geralmente compostos de letras maiúsculas);

▫ O outro composto de símbolos terminais (geralmente contendo letras minúsculas);

Para cada gramática geradora, o conjunto de símbolos

terminais é idêntico ao alfabeto da sua linguagem:

Page 16: Linguagens Formais e Autômatos - bcc.unifal-mg.edu.brhumberto/disciplinas/2011_1_lfa/aulas/aula... · Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 05 –Gramáticas

Gramáticas

• Exemplo de regra:

• Dada uma palavra que contenha a subpalavra ,esta pode ser substituída por .

baAaAB

aABbaA

Page 17: Linguagens Formais e Autômatos - bcc.unifal-mg.edu.brhumberto/disciplinas/2011_1_lfa/aulas/aula... · Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 05 –Gramáticas

Gramáticas

• Exemplo de regra:

• Dada uma palavra que contenta a subpalavra ,esta pode ser substituída por .

• A partir da palavra aABBaAB, aplicando-se a regra mencionada, pode-se derivar:

▫ baABaAB, substituindo a primeira ocorrência de aAB;

▫ aABBbaA, substituindo a segunda ocorrência de aAB.

baAaAB

aABbaA

Page 18: Linguagens Formais e Autômatos - bcc.unifal-mg.edu.brhumberto/disciplinas/2011_1_lfa/aulas/aula... · Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 05 –Gramáticas

Gramáticas

• A regra de derivação é denotada pelo símbolo

Page 19: Linguagens Formais e Autômatos - bcc.unifal-mg.edu.brhumberto/disciplinas/2011_1_lfa/aulas/aula... · Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 05 –Gramáticas

Gramáticas

• A regra de derivação é denotada pelo símbolo

• Podemos obter uma cadeira de derivações, como por exemplo:

▫ aABBaAB baABaAB (aplicando a regra )

▫ bbaAaAB (aplicando a regra )

▫ bbaAbaA (aplicando a regra )

baAaAB

baAaAB

baAaAB

Page 20: Linguagens Formais e Autômatos - bcc.unifal-mg.edu.brhumberto/disciplinas/2011_1_lfa/aulas/aula... · Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 05 –Gramáticas

Gramáticas

• Toda gramática consta de um conjunto de regras e da indicação de uma variável especial denominada variável de partida.

Page 21: Linguagens Formais e Autômatos - bcc.unifal-mg.edu.brhumberto/disciplinas/2011_1_lfa/aulas/aula... · Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 05 –Gramáticas

Gramáticas

• Toda gramática consta de um conjunto de regras e da indicação de uma variável especial denominada variável de partida.

• Qualquer cadeia de derivação DEVE começar a partir da variável/símbolo de partida.

Page 22: Linguagens Formais e Autômatos - bcc.unifal-mg.edu.brhumberto/disciplinas/2011_1_lfa/aulas/aula... · Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 05 –Gramáticas

Gramáticas

• Uma gramática é formalmente composta por uma tupla de quatro elementos:

▫ G = (V, , R, P)

Page 23: Linguagens Formais e Autômatos - bcc.unifal-mg.edu.brhumberto/disciplinas/2011_1_lfa/aulas/aula... · Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 05 –Gramáticas

Gramáticas

• Uma gramática é formalmente composta por uma tupla de quatro elementos:

▫ G = (V, , R, P)

V: Conjunto finito de elementos chamados variáveis;

Page 24: Linguagens Formais e Autômatos - bcc.unifal-mg.edu.brhumberto/disciplinas/2011_1_lfa/aulas/aula... · Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 05 –Gramáticas

Gramáticas

• Uma gramática é formalmente composta por uma tupla de quatro elementos:

▫ G = (V, , R, P)

V: Conjunto finito de elementos chamados variáveis;

: Conjunto finito chamado alfabeto da linguagem, onde

V V=

Page 25: Linguagens Formais e Autômatos - bcc.unifal-mg.edu.brhumberto/disciplinas/2011_1_lfa/aulas/aula... · Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 05 –Gramáticas

Gramáticas

• Uma gramática é formalmente composta por uma tupla de quatro elementos:

▫ G = (V, , R, P)

V: Conjunto finito de elementos chamados variáveis;

: Conjunto finito chamado alfabeto da linguagem, onde

V V=

R: conjunto de partes ordenados chamados regras, onde:

R (V )+ x (V )*

Page 26: Linguagens Formais e Autômatos - bcc.unifal-mg.edu.brhumberto/disciplinas/2011_1_lfa/aulas/aula... · Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 05 –Gramáticas

Gramáticas

• Uma gramática é formalmente composta por uma tupla de quatro elementos:

▫ G = (V, , R, P)

V: Conjunto finito de elementos chamados variáveis;

: Conjunto finito chamado alfabeto da linguagem, onde

V V=

R: conjunto de partes ordenados chamados regras, onde:

R (V )+ x (V )*

P: variável de partida, onde:

PV

Page 27: Linguagens Formais e Autômatos - bcc.unifal-mg.edu.brhumberto/disciplinas/2011_1_lfa/aulas/aula... · Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 05 –Gramáticas

Gramáticas

• Exemplo de gramática que gera expressões aritméticas na base decimal, operadores de soma, subtração e parênteses:

9|8|7|6|5|4|3|2|1|0

|

|)(

||

:

}9,8,7,6,5,4,3,2,1,0),(,,,{

},,,{

),,,(

D

DDNN

NPT

TTPTPP

regrasascontémR

DNTPV

PRVG

Page 28: Linguagens Formais e Autômatos - bcc.unifal-mg.edu.brhumberto/disciplinas/2011_1_lfa/aulas/aula... · Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 05 –Gramáticas

Exercícios

• Entregar na próxima aula:

▫ Todos os exercícios do capítulo 1.11 do livro do Newton.

Page 29: Linguagens Formais e Autômatos - bcc.unifal-mg.edu.brhumberto/disciplinas/2011_1_lfa/aulas/aula... · Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 05 –Gramáticas

Exercícios

• Entregar na próxima aula:

▫ Todos os exercícios do capítulo 1.11 do livro do Newton.

Leitura para próxima aula

• 2 Máquinas de Estados Finitos

• 2.1 Alguns Exemplos

• 2.2 Autômatos Finitos Determinísticos

Page 30: Linguagens Formais e Autômatos - bcc.unifal-mg.edu.brhumberto/disciplinas/2011_1_lfa/aulas/aula... · Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 05 –Gramáticas

Bibliografia

• VIEIRA, Newton José. Introdução aos Fundamentos da Computação: Linguagens e Máquinas. 1a ed.: Rio de Janeiro: Thomson, 2006.