SlideShare une entreprise Scribd logo
1  sur  36
Télécharger pour lire hors ligne
Curso: Ciência da Computação
       Turma: 4º/5º Série


Aspectos Teóricos da Computação

            Aula 3

   Linguagens e Gramáticas
Linguagem
O Dicionário Aurélio define linguagem como:


o uso da palavra articulada ou escrita como meio
  de expressão e comunicação entre as pessoas.
Entretanto, esta definição não é suficientemente
 precisa para permitir o desenvolvimento
 matemático de uma teoria baseada em
 linguagens.
Precisamos de uma definição mais objetiva e
 ampla.
Uma linguagem é composta de de palavras que
 formam um alfabeto. da Computação
               Aspectos Teóricos                   2
Albabeto
Um alfabeto é um conjunto finito de símbolos ou
 caracteres.
Portanto:
  ●   Um conjunto infinito não é um alfabeto;
  ●   o conjunto vazio é um alfabeto.
Exemplo:
  {a,b,c} ou {} são alfabetos
  N não é um alfabeto
  {a,b,aa,ab,bb,ba,bb....} não é um alfabeto



                    Aspectos Teóricos da Computação   3
Alfabeto de uma Linguagem de
             Programação
O alfabeto de uma linguagem de programação
 como Pascal é o conjunto de todos os símbolos
 usados na construção de programas, incluindo
 letras, dígitos, caracteres especiais, espaço.




                Aspectos Teóricos da Computação   4
Palavra
Uma Palavra, Cadeia de Caracteres ou Sentença
 sobre um alfabeto é uma sequência finita de
 símbolos do alfabeto justapostos.
O símbolo ε denota a palavra ou cadeia vazia.




                Aspectos Teóricos da Computação   5
Prefixo, Sufixo e Subpalavra
Um Prefixo ou Sufixo de uma palavra é qualquer sequência inicial respectivamente final
  de símbolos da palavra.


Uma Subpalavra é qualquer sequência de símbolos contíguos da palavra.


Exemplos:
abcb é uma palavra do alfabeto {a,b,c}
Relativamente à palavra abcb, vale que:

    ε , a, ab, abc, abcb são todos os prefixos;
    ε, b, cb, bcb, abcb são todos os sufixo;
    Qualquer prefixo ou sufixo é uma subpalavra;




                              Aspectos Teóricos da Computação                            6
Palavra: Linguagem de Programação
Em uma linguagem de programação como
 Pascal, uma palavra é um programa.




              Aspectos Teóricos da Computação   7
Concatenação
A Concatenação de Palavras ou simplesmente Concatenação é uma operação
   binária definida sobre um conjunto de palavras, a qual associa a cada par
   de palavras uma palavra formada pela justaposição de primeira com a
   segunda.
Propriedades
   suponha v,w,t palavras quaisquer
   a) Associativa. v(wt) = (vw)t
   b) Elemento neutro. εw = wε
Exemplo: Suponha o alfabeto Σ = {a,b}. Então, para as palavras v =
  baaaa e w = bb vale que:
   vw = baaaabb
   vε = baaaa


Concatenação sucessiva de uma palavra..
Se w = a o que seria w5?
                           Aspectos Teóricos da Computação                 8
Concatenação Sucessiva
A Concatenação Sucessiva é representada na forma de um expoente,
wn onde n representa o número de concatenações sucessivas é definida
   indutivamente a partir da operação de concatenção binária, como segue:
w0 = ε
wn = wwn-1 n>0


Exemplo
   Seja w uma palavra e a um símbolo, Então:
   w3 = www
   w1 = w
   a5 = aaaaa
   an = aaaa..a (o símbolo repetido n vezes)



                          Aspectos Teóricos da Computação                   9
Alfabeto
Se Σ representa o alfabeto, então:
Σ* denota o conjunto de todas as palavras possíveis sobre
 Σ.
Σ+ denota Σ* - {ε }


Conjunto de todas as palavras.
Seja Σ um alfabeto. Então o conjunto de toda as palavras
  Σ* é indutivamente definido como segue:
a. Base da indução: ε є Σ* para qualquer x є ∑, vale x є ∑*
b. Passo da indução: Se u e v são palavras de ∑* então a
   concatenação uv é uma palavra de ∑*
                      Aspectos Teóricos da Computação         10
Exemplo: Conjunto de todas as palavras
●   Se ∑ = {a,b}, então:
    ●
        ∑+ = {a,b,aa,ab,ba,bb,aaa,...}
    ●   ∑* = {ε, a,b,aa,ab,ba,bb,aaa,...}




                       Aspectos Teóricos da Computação   11
Comprimento, tamanho de uma palavra
●   O comprimento ou Tamanho de uma palavra w,
    representado por |w|, é o número de símbolos
    que compõem a palavra. Portanto, para um
    dado alfabeto ∑ , comprimento é uma função
    com domínio em ∑* e codomínio em N.
    a. |abc| = 3
    b. | ε | = 0




                   Aspectos Teóricos da Computação   12
Linguagem Formal
Uma linguagem formal ou simplesmente
Linguagem L sobre um alfaberto ∑ é um
conjunto de palavras sobre ∑, ou seja:
L ⊆ ∑*




              Aspectos Teóricos da Computação   13
Exemplo de Linguagem Formal
●   O conjunto Ø e o conjunto formado pela palavra vazia { ε }
    são linguagens sobre qualquer alfabeto. Obviamente, vale
    que:
    Ø≠{ε}
●   Os conjuntos ∑* e ∑+ são linguagens sobre um alfabeto ∑
    qualquer. Obviamente, vale que:
    ∑* ≠ ∑+




                      Aspectos Teóricos da Computação        14
Exercício
●   Suponha o alfabeto ∑ = {a,b}. Então, o conjunto de
    palíndromos (palavras que tem a mesma leitura da
    esquerda para a direita e vice-versa) sobre ∑ é um
    exemplo de linguagem infinita. Quais são os elementos
    dessa linguagem?




                     Aspectos Teóricos da Computação        15
Exemplo de Linguagem Formal
●   Suponha o alfabeto ∑ = {a,b}. Então, o conjunto de
    palíndromos (palavras que tem a mesma leitura da
    esquerda para a direita e vice-versa) sobre ∑ é um
    exemplo de linguagem infinita. Assim, são palavras dessa
    linguagem:
      , a, b, aa, bb, aaa, aba, bab, bbb, aaa, ...




                        Aspectos Teóricos da Computação    16
Exemplo: Linguagem Formal: Linguagem de
                   Programação
●   Um linguagem de programação como C é
    formalmente definida pelo conjunto de todos os
    programas (palavras) da linguagem.




                  Aspectos Teóricos da Computação   17
Gramática
Como definir todos os programas de uma
determinada linguagem se torna inviável pois é
infinito criou-se uma nova maneira de especificar
linguagem de maneira finita, a gramática.


   Uma gramática é, basicamente, um conjunto
    finito de regras as quais, quando aplicadas
   sucessivamente, geram palavras. O conjunto
        de todas a palavras geradas por uma
           gramática define as linguagens.


                 Aspectos Teóricos da Computação    18
Gramática
Exemplo de Gramática:
                             S→A
                           A→0A1
                              A→ε
Uma gramática consiste de uma coleção de regras que
especificam como derivar strings de uma linguagem.
As regras de produção envolvem símbolos da linguagem
(ou terminais) e variáveis (ou símbolos não-terminais),
que representam conjuntos de strings.
Uma das variáveis é distinguida como símbolo inicial.


                   Aspectos Teóricos da Computação      19
Exemplo de Derivação de String
Seja G1 a seguinte gramática:
                                     S→A
                                   A → 0A1
                                      A →ε
Exemplo de derivação de string usando G1 :
           S ⇒ A ⇒ 0A1 ⇒ 00A11 ⇒ 000A111 ⇒ 000111
A sequência de substituições é chamada de derivação.
O conjunto de todos os strings de terminais gerados desta forma
constitui a linguagem especificada pela gramática.
Escrevemos L(G) para denotar a linguagem gerada pela gramática
G. Portanto, L(G1 ) = {0n1n | n ≥ 0 }

000111 é chamada de string terminal pois não tem como substituir mais
nenhuma variável nela.
                           Aspectos Teóricos da Computação              20
Gramática
Uma gramática de Chomsky, Gramática Irrestrita ou simplesmente
Gramática é uma quadrupla ordenada:
       G = {V, ∑,P,S} na qual:
a. V, um conjunto finito de símbolos variáveis ou não terminais;
b. ∑, um conjunto finito de símbolos terminais ou constantes disjunto de
V;
c. P: (V U ∑ )+ → (V U ∑ )* é uma relação finita (ou seja, P é um conjunto
finito de pares), denominada de Relação de Produções ou simplesmente
produções. Cada par da relação é denominado de regra de produção ou
simplesmente produção; P pode ser considerada a função que leva um
elemento x a um elemento y.
d. S, um elemento distinguido de V denominado símbolo inicial ou
variável inicial.




                           Aspectos Teóricos da Computação              21
Exemplo de Gramática
G = ({S, A}, {0, 1}, R, S) onde R:
                 S→A
               A → 0A1
                    A→ε




             Aspectos Teóricos da Computação   22
Exercício de Gramática
Formule uma outra gramática
baseada na gramática do exemplo
G = ({S, A}, {0, 1}, R, S) onde R:
                                      S→A
                                     A → 0A1
                                      A→ε
15 minutos em grupo




                           Aspectos Teóricos da Computação   23
Derivação
●   Se u, v , w ∈ (V ∪ ∑ )∗ (i.e., são strings de variáveis e
    terminais) e α → β ∈ R (i.e., é uma regra da gramática) então
    dizemos que uαv deriva uβv, escrito como uαv ⇒ uβv .
●   Podemos também dizer que uβv é derivado diretamente de uαv
    usando a regra α → β
●   u ⇒k v se existe uma sequência finita
    u0 , u1 , . . . , uk ∈ (V ∪ ∑ )∗ , para k > 0, tal que
    u = u 0 ⇒ u1 ⇒ . . . ⇒ u k = v
●   Também dizemos que u0 , u1 , . . . , uk é uma derivação de v a
    partir de u
●   Escrevemos u ⇒∗ v se u = v ou u ⇒k v para algum k > 0




                           Aspectos Teóricos da Computação           24
Linguagem Especificada por uma
              Gramática
Seja G = (V , Σ, R, S) uma gramática.
A linguagem especificada por G é
    L(G) = {w ∈ Σ∗ | S ⇒∗ w }




                  Aspectos Teóricos da Computação   25
Tipos de Regras




 Aspectos Teóricos da Computação   26
Tipos de Gramática – Hierarquia de
            Chomsky




           Aspectos Teóricos da Computação   27
Notação
Para distinguir não-terminais de terminais,
frequentemente usamos não-terminais entre < > e
terminais entre aspas ” ”.
Se duas ou mais regras têm o mesmo lado
esquerdo, por exemplo:
A → 0A1 e A →ε
podemos escrever, de forma mais compacta
A → 0A1 | ε.


Obs. Só use essa regra quando tudo estiver
muito claro na sua cabeça.
                 Aspectos Teóricos da Computação   28
Gramática Livre de Contexto G2
A gramática G2 a seguir especifica um fragmento da língua inglesa:
<SENTENCE> → <NOUN_PHRASE><VERB_PHRASE>
<NOUN_PHRASE> → <CP_NOUN> | <CP_NOUN><PREP_PHRASE>
<VERB_PHRASE> → <CP_VERB> | <CP_VERB><PREP_PHRASE>
<PREP_PHRASE> → <PREP><CP_NOUN>
<CP_NOUN> → <ARTICLE><NOUN>
<CP_VERB> → <VERB> | <VERB><NOUN_PHRASE>
<ARTICLE> → a | the
<NOUN> → boy | girl | flower
<VERB> → touches | likes | sees
<PREP> → with



                        Aspectos Teóricos da Computação              29
Gramática Livre de Contexto G2
Note que:
A CFG(Gramática livre de contexto) G2 tem 10 variáveis (escritas em
letras maiúsculas e entra < >) e 9 não-terminais (escritos no alfabeto
padrão), mais um caractere de espaço.
A CFG G2 tem 18 regras.
Exemplos de strings que pertencem a L(G2):
a boy sees
the boy sees a flower
a girl with a flower likes the boy




                           Aspectos Teóricos da Computação               30
Exemplo de Derivação em G2
<SENTENCE>   ⇒ <NOUN_PHRASE><VERB_PHRASE>
             ⇒ <CP_NOUN><VERB_PHRASE>
             ⇒ <ARTICLE><NOUN><VERB_PHRASE>
             ⇒ a <NOUN><VERB_PHRASE>
             ⇒ a boy <VERB_PHRASE>
             ⇒ a boy <CP_VERB>
             ⇒ a boy <VERB>
             ⇒ a boy sees




                   Aspectos Teóricos da Computação   31
Regras Lineares
Seja G = (V , Σ, R, S) uma CFG e A → w ∈ R,
onde A ∈ V .
  ●   r é linear se w ∈ Σ∗VΣ∗
  ●   r é linear à direita se w ∈ Σ∗V
  ●   r é linear à esquerda se w ∈ VΣ∗
  ●   r é terminal se w ∈ Σ∗




                     Aspectos Teóricos da Computação   32
Exemplo de Gramática Linear à Direita
 G = ({A, B}, {0, 1}, {A → 0A | B, B → 1B | ε }, A)




                 Aspectos Teóricos da Computação      33
Exemplo de Gramática Linear à Direita
    G = ({A, B}, {0, 1}, {A → 0A | B, B → 1B | ε}, A)


    Exemplo de derivação em G:
    A ⇒ 0A ⇒ 00A ⇒ 00B ⇒ 001B ⇒ 0011B ⇒
    00111B ⇒ 00111

●   Qual é a linguagem especificada por G?




                    Aspectos Teóricos da Computação     34
Exemplo de Gramática Linear à Direita
    G = ({A, B}, {0, 1}, {A → 0A | B, B → 1B | ε}, A)


    Exemplo de derivação em G:
    A ⇒ 0A ⇒ 00A ⇒ 00B ⇒ 001B ⇒ 0011B ⇒
    00111B ⇒ 00111

●   Qual é a linguagem especificada por G?
           L(G) = 0*1*




                         Aspectos Teóricos da Computação   35
Para a Próxima Aula
Ler capítulo 2 do livro texto.




                  Aspectos Teóricos da Computação   36

Contenu connexe

Tendances

08 algoritmo - eSTRUTURA DE REPETIÇÃO PARTE 2
08   algoritmo - eSTRUTURA DE REPETIÇÃO PARTE 208   algoritmo - eSTRUTURA DE REPETIÇÃO PARTE 2
08 algoritmo - eSTRUTURA DE REPETIÇÃO PARTE 2Roney Sousa
 
Lógica e Matemática Computacional - Exercícios 02
Lógica e Matemática Computacional - Exercícios 02Lógica e Matemática Computacional - Exercícios 02
Lógica e Matemática Computacional - Exercícios 02thomasdacosta
 
Lógica e Matemática Computacional - Aula 02
Lógica e Matemática Computacional - Aula 02Lógica e Matemática Computacional - Aula 02
Lógica e Matemática Computacional - Aula 02thomasdacosta
 
Aula 1 - Introdução ao Mobile
Aula 1 - Introdução ao MobileAula 1 - Introdução ao Mobile
Aula 1 - Introdução ao MobileCloves da Rocha
 
Aula01 - protocolos da camada de aplicação
Aula01 - protocolos da camada de aplicaçãoAula01 - protocolos da camada de aplicação
Aula01 - protocolos da camada de aplicaçãoCarlos Veiga
 
Barramento do Sistema - Arquitetura e Organização de Computadores
Barramento do Sistema - Arquitetura e Organização de ComputadoresBarramento do Sistema - Arquitetura e Organização de Computadores
Barramento do Sistema - Arquitetura e Organização de ComputadoresWellington Oliveira
 
Gerenciamento de Arquivos Nos Sistemas Operacionais
Gerenciamento de Arquivos Nos Sistemas OperacionaisGerenciamento de Arquivos Nos Sistemas Operacionais
Gerenciamento de Arquivos Nos Sistemas OperacionaisLeandro Júnior
 
Aula 03.1 - Operadores Relacionais e Lógicos
Aula 03.1 - Operadores Relacionais e LógicosAula 03.1 - Operadores Relacionais e Lógicos
Aula 03.1 - Operadores Relacionais e LógicosMessias Batista
 
Logica computacional
Logica computacionalLogica computacional
Logica computacionalJota Thin
 
Aula 01 - Planeamento de Sistemas de Informação
Aula 01 - Planeamento de Sistemas de InformaçãoAula 01 - Planeamento de Sistemas de Informação
Aula 01 - Planeamento de Sistemas de InformaçãoAlberto Simões
 
INTRODUCTION TO LISP
INTRODUCTION TO LISPINTRODUCTION TO LISP
INTRODUCTION TO LISPNilt1234
 
Processamento de Linguagem Natural
Processamento de Linguagem NaturalProcessamento de Linguagem Natural
Processamento de Linguagem NaturalThiago Reis da Silva
 

Tendances (20)

08 algoritmo - eSTRUTURA DE REPETIÇÃO PARTE 2
08   algoritmo - eSTRUTURA DE REPETIÇÃO PARTE 208   algoritmo - eSTRUTURA DE REPETIÇÃO PARTE 2
08 algoritmo - eSTRUTURA DE REPETIÇÃO PARTE 2
 
Lógica e Matemática Computacional - Exercícios 02
Lógica e Matemática Computacional - Exercícios 02Lógica e Matemática Computacional - Exercícios 02
Lógica e Matemática Computacional - Exercícios 02
 
Lógica e Matemática Computacional - Aula 02
Lógica e Matemática Computacional - Aula 02Lógica e Matemática Computacional - Aula 02
Lógica e Matemática Computacional - Aula 02
 
Diagramas de componentes
Diagramas de componentesDiagramas de componentes
Diagramas de componentes
 
Aula 1 - Introdução ao Mobile
Aula 1 - Introdução ao MobileAula 1 - Introdução ao Mobile
Aula 1 - Introdução ao Mobile
 
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
 
Aula01 - protocolos da camada de aplicação
Aula01 - protocolos da camada de aplicaçãoAula01 - protocolos da camada de aplicação
Aula01 - protocolos da camada de aplicação
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
 
Barramento do Sistema - Arquitetura e Organização de Computadores
Barramento do Sistema - Arquitetura e Organização de ComputadoresBarramento do Sistema - Arquitetura e Organização de Computadores
Barramento do Sistema - Arquitetura e Organização de Computadores
 
Gerenciamento de Arquivos Nos Sistemas Operacionais
Gerenciamento de Arquivos Nos Sistemas OperacionaisGerenciamento de Arquivos Nos Sistemas Operacionais
Gerenciamento de Arquivos Nos Sistemas Operacionais
 
Interface Homem Computador - Aula02 - Principios de design em IHC
Interface Homem Computador - Aula02 - Principios de design em IHCInterface Homem Computador - Aula02 - Principios de design em IHC
Interface Homem Computador - Aula02 - Principios de design em IHC
 
Aula 03.1 - Operadores Relacionais e Lógicos
Aula 03.1 - Operadores Relacionais e LógicosAula 03.1 - Operadores Relacionais e Lógicos
Aula 03.1 - Operadores Relacionais e Lógicos
 
Logica computacional
Logica computacionalLogica computacional
Logica computacional
 
Aula 01 - Planeamento de Sistemas de Informação
Aula 01 - Planeamento de Sistemas de InformaçãoAula 01 - Planeamento de Sistemas de Informação
Aula 01 - Planeamento de Sistemas de Informação
 
INTRODUCTION TO LISP
INTRODUCTION TO LISPINTRODUCTION TO LISP
INTRODUCTION TO LISP
 
Sistemas digitais
Sistemas digitaisSistemas digitais
Sistemas digitais
 
Processamento de Linguagem Natural
Processamento de Linguagem NaturalProcessamento de Linguagem Natural
Processamento de Linguagem Natural
 
Regular expressions
Regular expressionsRegular expressions
Regular expressions
 
Rabin Karp ppt
Rabin Karp pptRabin Karp ppt
Rabin Karp ppt
 
Árvores balanceadas - AVL
Árvores balanceadas - AVLÁrvores balanceadas - AVL
Árvores balanceadas - AVL
 

Similaire à Linguagens e Gramáticas

2º/2012 - Prova 02 de Autômatos e Computabilidade
2º/2012 - Prova 02 de Autômatos e Computabilidade2º/2012 - Prova 02 de Autômatos e Computabilidade
2º/2012 - Prova 02 de Autômatos e Computabilidadeshichibukai_01
 
Aula 1 -_introducao_e_conceitos_basicos_linguagem_
Aula 1 -_introducao_e_conceitos_basicos_linguagem_Aula 1 -_introducao_e_conceitos_basicos_linguagem_
Aula 1 -_introducao_e_conceitos_basicos_linguagem_Conceição Ramos
 
Linguagens Formais e Autômatos: alfabetos, palavras e linguagens
Linguagens Formais e Autômatos: alfabetos, palavras e linguagensLinguagens Formais e Autômatos: alfabetos, palavras e linguagens
Linguagens Formais e Autômatos: alfabetos, palavras e linguagensWellington Della Mura
 
Linguagens formais e autômatos
Linguagens formais e autômatosLinguagens formais e autômatos
Linguagens formais e autômatosLuccas Reis
 
linguagens regulares na ciencia da computação.pdf
linguagens regulares na ciencia da computação.pdflinguagens regulares na ciencia da computação.pdf
linguagens regulares na ciencia da computação.pdfjonathan509395
 
Aula 9 propriedadedas linguagensregulares
Aula 9   propriedadedas linguagensregularesAula 9   propriedadedas linguagensregulares
Aula 9 propriedadedas linguagensregulareswab030
 
Prova 01 de Autômatos e Computabilidade
Prova 01 de Autômatos e ComputabilidadeProva 01 de Autômatos e Computabilidade
Prova 01 de Autômatos e Computabilidadeshichibukai_01
 
Aula 6 relações semânticas entre os conectivos da lógica proposicional
Aula 6   relações semânticas entre os conectivos da lógica proposicionalAula 6   relações semânticas entre os conectivos da lógica proposicional
Aula 6 relações semânticas entre os conectivos da lógica proposicionalPaulo Cesar Diniz Bicudo
 
Aula 05 - explicação de conteúdos e didática
Aula 05 - explicação de conteúdos e didáticaAula 05 - explicação de conteúdos e didática
Aula 05 - explicação de conteúdos e didáticajuliacttprofissional
 
Aula 2 conceitos fundamentais-conjuntoserelacoes
Aula 2   conceitos fundamentais-conjuntoserelacoesAula 2   conceitos fundamentais-conjuntoserelacoes
Aula 2 conceitos fundamentais-conjuntoserelacoeswab030
 
Dicas quentes conjuntos
Dicas quentes conjuntosDicas quentes conjuntos
Dicas quentes conjuntostrigono_metria
 
Aula 12 revisãodos exercícios
Aula 12   revisãodos exercíciosAula 12   revisãodos exercícios
Aula 12 revisãodos exercícioswab030
 
2º/2012 - Prova 01 de Autômatos e Computabilidade
2º/2012 - Prova 01 de Autômatos e Computabilidade2º/2012 - Prova 01 de Autômatos e Computabilidade
2º/2012 - Prova 01 de Autômatos e Computabilidadeshichibukai_01
 
Gramáticas E Linguagens Formais
Gramáticas E Linguagens FormaisGramáticas E Linguagens Formais
Gramáticas E Linguagens Formaisguest47ac6
 

Similaire à Linguagens e Gramáticas (20)

2º/2012 - Prova 02 de Autômatos e Computabilidade
2º/2012 - Prova 02 de Autômatos e Computabilidade2º/2012 - Prova 02 de Autômatos e Computabilidade
2º/2012 - Prova 02 de Autômatos e Computabilidade
 
Compiladores 2
Compiladores 2Compiladores 2
Compiladores 2
 
Aula 1 -_introducao_e_conceitos_basicos_linguagem_
Aula 1 -_introducao_e_conceitos_basicos_linguagem_Aula 1 -_introducao_e_conceitos_basicos_linguagem_
Aula 1 -_introducao_e_conceitos_basicos_linguagem_
 
Linguagens Formais e Autômatos: alfabetos, palavras e linguagens
Linguagens Formais e Autômatos: alfabetos, palavras e linguagensLinguagens Formais e Autômatos: alfabetos, palavras e linguagens
Linguagens Formais e Autômatos: alfabetos, palavras e linguagens
 
First Order Logic
First Order LogicFirst Order Logic
First Order Logic
 
Linguagens formais e autômatos
Linguagens formais e autômatosLinguagens formais e autômatos
Linguagens formais e autômatos
 
linguagens regulares na ciencia da computação.pdf
linguagens regulares na ciencia da computação.pdflinguagens regulares na ciencia da computação.pdf
linguagens regulares na ciencia da computação.pdf
 
Aula 9 propriedadedas linguagensregulares
Aula 9   propriedadedas linguagensregularesAula 9   propriedadedas linguagensregulares
Aula 9 propriedadedas linguagensregulares
 
Prova 01 de Autômatos e Computabilidade
Prova 01 de Autômatos e ComputabilidadeProva 01 de Autômatos e Computabilidade
Prova 01 de Autômatos e Computabilidade
 
Aula 6 relações semânticas entre os conectivos da lógica proposicional
Aula 6   relações semânticas entre os conectivos da lógica proposicionalAula 6   relações semânticas entre os conectivos da lógica proposicional
Aula 6 relações semânticas entre os conectivos da lógica proposicional
 
Gramaticas
GramaticasGramaticas
Gramaticas
 
Python 03 - Sintaxe
Python 03 - SintaxePython 03 - Sintaxe
Python 03 - Sintaxe
 
Aula 05 - explicação de conteúdos e didática
Aula 05 - explicação de conteúdos e didáticaAula 05 - explicação de conteúdos e didática
Aula 05 - explicação de conteúdos e didática
 
Aula 2 conceitos fundamentais-conjuntoserelacoes
Aula 2   conceitos fundamentais-conjuntoserelacoesAula 2   conceitos fundamentais-conjuntoserelacoes
Aula 2 conceitos fundamentais-conjuntoserelacoes
 
Dicas quentes conjuntos
Dicas quentes conjuntosDicas quentes conjuntos
Dicas quentes conjuntos
 
Matematica quantica
Matematica quanticaMatematica quantica
Matematica quantica
 
Aula 12 revisãodos exercícios
Aula 12   revisãodos exercíciosAula 12   revisãodos exercícios
Aula 12 revisãodos exercícios
 
2º/2012 - Prova 01 de Autômatos e Computabilidade
2º/2012 - Prova 01 de Autômatos e Computabilidade2º/2012 - Prova 01 de Autômatos e Computabilidade
2º/2012 - Prova 01 de Autômatos e Computabilidade
 
Gramáticas E Linguagens Formais
Gramáticas E Linguagens FormaisGramáticas E Linguagens Formais
Gramáticas E Linguagens Formais
 
Pag 01.121
Pag 01.121Pag 01.121
Pag 01.121
 

Plus de wab030

Internet e Educação
Internet e EducaçãoInternet e Educação
Internet e Educaçãowab030
 
Programe ou seja programado
Programe ou seja programadoPrograme ou seja programado
Programe ou seja programadowab030
 
Internet e cidadania
 Internet e cidadania Internet e cidadania
Internet e cidadaniawab030
 
Internet, Cidadania e Educação
Internet, Cidadania e EducaçãoInternet, Cidadania e Educação
Internet, Cidadania e Educaçãowab030
 
Internet e redes sociais digitais como instrumento para os movimentos sociais
 Internet e redes sociais digitais como instrumento para os movimentos sociais Internet e redes sociais digitais como instrumento para os movimentos sociais
Internet e redes sociais digitais como instrumento para os movimentos sociaiswab030
 
A internet como espaço de mobilidade social: democratização e regulamentação ...
A internet como espaço de mobilidade social: democratização e regulamentação ...A internet como espaço de mobilidade social: democratização e regulamentação ...
A internet como espaço de mobilidade social: democratização e regulamentação ...wab030
 
Hp0061
Hp0061Hp0061
Hp0061wab030
 
Internet e educação
Internet e educaçãoInternet e educação
Internet e educaçãowab030
 
Alimentos Orgânicos - Melhor para sua saúde
Alimentos Orgânicos - Melhor para sua saúdeAlimentos Orgânicos - Melhor para sua saúde
Alimentos Orgânicos - Melhor para sua saúdewab030
 
Notas b2redes
Notas b2redesNotas b2redes
Notas b2redeswab030
 
Notas info+banco
Notas info+bancoNotas info+banco
Notas info+bancowab030
 
Aula 10 camada de rede
Aula 10   camada de redeAula 10   camada de rede
Aula 10 camada de redewab030
 
Aula 10 maquinade turing
Aula 10   maquinade turingAula 10   maquinade turing
Aula 10 maquinade turingwab030
 
Wireshark ip sept_15_2009
Wireshark ip sept_15_2009Wireshark ip sept_15_2009
Wireshark ip sept_15_2009wab030
 
Aula 10 camada de rede
Aula 10   camada de redeAula 10   camada de rede
Aula 10 camada de redewab030
 
Aula 9 conceitos gerais de Rede
Aula 9   conceitos gerais de RedeAula 9   conceitos gerais de Rede
Aula 9 conceitos gerais de Redewab030
 
Wireshark UDP
Wireshark UDPWireshark UDP
Wireshark UDPwab030
 
Notas b1 redes
Notas b1 redesNotas b1 redes
Notas b1 redeswab030
 
Notas b1 info+banco
Notas b1 info+bancoNotas b1 info+banco
Notas b1 info+bancowab030
 
Aula 9 camada de rede
Aula 9   camada de redeAula 9   camada de rede
Aula 9 camada de redewab030
 

Plus de wab030 (20)

Internet e Educação
Internet e EducaçãoInternet e Educação
Internet e Educação
 
Programe ou seja programado
Programe ou seja programadoPrograme ou seja programado
Programe ou seja programado
 
Internet e cidadania
 Internet e cidadania Internet e cidadania
Internet e cidadania
 
Internet, Cidadania e Educação
Internet, Cidadania e EducaçãoInternet, Cidadania e Educação
Internet, Cidadania e Educação
 
Internet e redes sociais digitais como instrumento para os movimentos sociais
 Internet e redes sociais digitais como instrumento para os movimentos sociais Internet e redes sociais digitais como instrumento para os movimentos sociais
Internet e redes sociais digitais como instrumento para os movimentos sociais
 
A internet como espaço de mobilidade social: democratização e regulamentação ...
A internet como espaço de mobilidade social: democratização e regulamentação ...A internet como espaço de mobilidade social: democratização e regulamentação ...
A internet como espaço de mobilidade social: democratização e regulamentação ...
 
Hp0061
Hp0061Hp0061
Hp0061
 
Internet e educação
Internet e educaçãoInternet e educação
Internet e educação
 
Alimentos Orgânicos - Melhor para sua saúde
Alimentos Orgânicos - Melhor para sua saúdeAlimentos Orgânicos - Melhor para sua saúde
Alimentos Orgânicos - Melhor para sua saúde
 
Notas b2redes
Notas b2redesNotas b2redes
Notas b2redes
 
Notas info+banco
Notas info+bancoNotas info+banco
Notas info+banco
 
Aula 10 camada de rede
Aula 10   camada de redeAula 10   camada de rede
Aula 10 camada de rede
 
Aula 10 maquinade turing
Aula 10   maquinade turingAula 10   maquinade turing
Aula 10 maquinade turing
 
Wireshark ip sept_15_2009
Wireshark ip sept_15_2009Wireshark ip sept_15_2009
Wireshark ip sept_15_2009
 
Aula 10 camada de rede
Aula 10   camada de redeAula 10   camada de rede
Aula 10 camada de rede
 
Aula 9 conceitos gerais de Rede
Aula 9   conceitos gerais de RedeAula 9   conceitos gerais de Rede
Aula 9 conceitos gerais de Rede
 
Wireshark UDP
Wireshark UDPWireshark UDP
Wireshark UDP
 
Notas b1 redes
Notas b1 redesNotas b1 redes
Notas b1 redes
 
Notas b1 info+banco
Notas b1 info+bancoNotas b1 info+banco
Notas b1 info+banco
 
Aula 9 camada de rede
Aula 9   camada de redeAula 9   camada de rede
Aula 9 camada de rede
 

Dernier

PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...HELENO FAVACHO
 
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfplanejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfmaurocesarpaesalmeid
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaHELENO FAVACHO
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)ElliotFerreira
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteVanessaCavalcante37
 
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTailsonSantos1
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...azulassessoria9
 
atividades_reforço_4°ano_231206_132728.pdf
atividades_reforço_4°ano_231206_132728.pdfatividades_reforço_4°ano_231206_132728.pdf
atividades_reforço_4°ano_231206_132728.pdfLuizaAbaAba
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptssuser2b53fe
 
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIAPROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIAHELENO FAVACHO
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãIlda Bicacro
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdfAna Lemos
 
Slide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptxSlide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptxedelon1
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesFabianeMartins35
 
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfReta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfWagnerCamposCEA
 
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSOLeloIurk1
 
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMHELENO FAVACHO
 
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfProjeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfHELENO FAVACHO
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...IsabelPereira2010
 
apostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médioapostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médiorosenilrucks
 

Dernier (20)

PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
 
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfplanejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
 
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
 
atividades_reforço_4°ano_231206_132728.pdf
atividades_reforço_4°ano_231206_132728.pdfatividades_reforço_4°ano_231206_132728.pdf
atividades_reforço_4°ano_231206_132728.pdf
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.ppt
 
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIAPROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! Sertã
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdf
 
Slide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptxSlide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptx
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividades
 
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfReta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
 
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
 
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
 
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfProjeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 
apostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médioapostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médio
 

Linguagens e Gramáticas

  • 1. Curso: Ciência da Computação Turma: 4º/5º Série Aspectos Teóricos da Computação Aula 3 Linguagens e Gramáticas
  • 2. Linguagem O Dicionário Aurélio define linguagem como: o uso da palavra articulada ou escrita como meio de expressão e comunicação entre as pessoas. Entretanto, esta definição não é suficientemente precisa para permitir o desenvolvimento matemático de uma teoria baseada em linguagens. Precisamos de uma definição mais objetiva e ampla. Uma linguagem é composta de de palavras que formam um alfabeto. da Computação Aspectos Teóricos 2
  • 3. Albabeto Um alfabeto é um conjunto finito de símbolos ou caracteres. Portanto: ● Um conjunto infinito não é um alfabeto; ● o conjunto vazio é um alfabeto. Exemplo: {a,b,c} ou {} são alfabetos N não é um alfabeto {a,b,aa,ab,bb,ba,bb....} não é um alfabeto Aspectos Teóricos da Computação 3
  • 4. Alfabeto de uma Linguagem de Programação O alfabeto de uma linguagem de programação como Pascal é o conjunto de todos os símbolos usados na construção de programas, incluindo letras, dígitos, caracteres especiais, espaço. Aspectos Teóricos da Computação 4
  • 5. Palavra Uma Palavra, Cadeia de Caracteres ou Sentença sobre um alfabeto é uma sequência finita de símbolos do alfabeto justapostos. O símbolo ε denota a palavra ou cadeia vazia. Aspectos Teóricos da Computação 5
  • 6. Prefixo, Sufixo e Subpalavra Um Prefixo ou Sufixo de uma palavra é qualquer sequência inicial respectivamente final de símbolos da palavra. Uma Subpalavra é qualquer sequência de símbolos contíguos da palavra. Exemplos: abcb é uma palavra do alfabeto {a,b,c} Relativamente à palavra abcb, vale que: ε , a, ab, abc, abcb são todos os prefixos; ε, b, cb, bcb, abcb são todos os sufixo; Qualquer prefixo ou sufixo é uma subpalavra; Aspectos Teóricos da Computação 6
  • 7. Palavra: Linguagem de Programação Em uma linguagem de programação como Pascal, uma palavra é um programa. Aspectos Teóricos da Computação 7
  • 8. Concatenação A Concatenação de Palavras ou simplesmente Concatenação é uma operação binária definida sobre um conjunto de palavras, a qual associa a cada par de palavras uma palavra formada pela justaposição de primeira com a segunda. Propriedades suponha v,w,t palavras quaisquer a) Associativa. v(wt) = (vw)t b) Elemento neutro. εw = wε Exemplo: Suponha o alfabeto Σ = {a,b}. Então, para as palavras v = baaaa e w = bb vale que: vw = baaaabb vε = baaaa Concatenação sucessiva de uma palavra.. Se w = a o que seria w5? Aspectos Teóricos da Computação 8
  • 9. Concatenação Sucessiva A Concatenação Sucessiva é representada na forma de um expoente, wn onde n representa o número de concatenações sucessivas é definida indutivamente a partir da operação de concatenção binária, como segue: w0 = ε wn = wwn-1 n>0 Exemplo Seja w uma palavra e a um símbolo, Então: w3 = www w1 = w a5 = aaaaa an = aaaa..a (o símbolo repetido n vezes) Aspectos Teóricos da Computação 9
  • 10. Alfabeto Se Σ representa o alfabeto, então: Σ* denota o conjunto de todas as palavras possíveis sobre Σ. Σ+ denota Σ* - {ε } Conjunto de todas as palavras. Seja Σ um alfabeto. Então o conjunto de toda as palavras Σ* é indutivamente definido como segue: a. Base da indução: ε є Σ* para qualquer x є ∑, vale x є ∑* b. Passo da indução: Se u e v são palavras de ∑* então a concatenação uv é uma palavra de ∑* Aspectos Teóricos da Computação 10
  • 11. Exemplo: Conjunto de todas as palavras ● Se ∑ = {a,b}, então: ● ∑+ = {a,b,aa,ab,ba,bb,aaa,...} ● ∑* = {ε, a,b,aa,ab,ba,bb,aaa,...} Aspectos Teóricos da Computação 11
  • 12. Comprimento, tamanho de uma palavra ● O comprimento ou Tamanho de uma palavra w, representado por |w|, é o número de símbolos que compõem a palavra. Portanto, para um dado alfabeto ∑ , comprimento é uma função com domínio em ∑* e codomínio em N. a. |abc| = 3 b. | ε | = 0 Aspectos Teóricos da Computação 12
  • 13. Linguagem Formal Uma linguagem formal ou simplesmente Linguagem L sobre um alfaberto ∑ é um conjunto de palavras sobre ∑, ou seja: L ⊆ ∑* Aspectos Teóricos da Computação 13
  • 14. Exemplo de Linguagem Formal ● O conjunto Ø e o conjunto formado pela palavra vazia { ε } são linguagens sobre qualquer alfabeto. Obviamente, vale que: Ø≠{ε} ● Os conjuntos ∑* e ∑+ são linguagens sobre um alfabeto ∑ qualquer. Obviamente, vale que: ∑* ≠ ∑+ Aspectos Teóricos da Computação 14
  • 15. Exercício ● Suponha o alfabeto ∑ = {a,b}. Então, o conjunto de palíndromos (palavras que tem a mesma leitura da esquerda para a direita e vice-versa) sobre ∑ é um exemplo de linguagem infinita. Quais são os elementos dessa linguagem? Aspectos Teóricos da Computação 15
  • 16. Exemplo de Linguagem Formal ● Suponha o alfabeto ∑ = {a,b}. Então, o conjunto de palíndromos (palavras que tem a mesma leitura da esquerda para a direita e vice-versa) sobre ∑ é um exemplo de linguagem infinita. Assim, são palavras dessa linguagem: , a, b, aa, bb, aaa, aba, bab, bbb, aaa, ... Aspectos Teóricos da Computação 16
  • 17. Exemplo: Linguagem Formal: Linguagem de Programação ● Um linguagem de programação como C é formalmente definida pelo conjunto de todos os programas (palavras) da linguagem. Aspectos Teóricos da Computação 17
  • 18. Gramática Como definir todos os programas de uma determinada linguagem se torna inviável pois é infinito criou-se uma nova maneira de especificar linguagem de maneira finita, a gramática. Uma gramática é, basicamente, um conjunto finito de regras as quais, quando aplicadas sucessivamente, geram palavras. O conjunto de todas a palavras geradas por uma gramática define as linguagens. Aspectos Teóricos da Computação 18
  • 19. Gramática Exemplo de Gramática: S→A A→0A1 A→ε Uma gramática consiste de uma coleção de regras que especificam como derivar strings de uma linguagem. As regras de produção envolvem símbolos da linguagem (ou terminais) e variáveis (ou símbolos não-terminais), que representam conjuntos de strings. Uma das variáveis é distinguida como símbolo inicial. Aspectos Teóricos da Computação 19
  • 20. Exemplo de Derivação de String Seja G1 a seguinte gramática: S→A A → 0A1 A →ε Exemplo de derivação de string usando G1 : S ⇒ A ⇒ 0A1 ⇒ 00A11 ⇒ 000A111 ⇒ 000111 A sequência de substituições é chamada de derivação. O conjunto de todos os strings de terminais gerados desta forma constitui a linguagem especificada pela gramática. Escrevemos L(G) para denotar a linguagem gerada pela gramática G. Portanto, L(G1 ) = {0n1n | n ≥ 0 } 000111 é chamada de string terminal pois não tem como substituir mais nenhuma variável nela. Aspectos Teóricos da Computação 20
  • 21. Gramática Uma gramática de Chomsky, Gramática Irrestrita ou simplesmente Gramática é uma quadrupla ordenada: G = {V, ∑,P,S} na qual: a. V, um conjunto finito de símbolos variáveis ou não terminais; b. ∑, um conjunto finito de símbolos terminais ou constantes disjunto de V; c. P: (V U ∑ )+ → (V U ∑ )* é uma relação finita (ou seja, P é um conjunto finito de pares), denominada de Relação de Produções ou simplesmente produções. Cada par da relação é denominado de regra de produção ou simplesmente produção; P pode ser considerada a função que leva um elemento x a um elemento y. d. S, um elemento distinguido de V denominado símbolo inicial ou variável inicial. Aspectos Teóricos da Computação 21
  • 22. Exemplo de Gramática G = ({S, A}, {0, 1}, R, S) onde R: S→A A → 0A1 A→ε Aspectos Teóricos da Computação 22
  • 23. Exercício de Gramática Formule uma outra gramática baseada na gramática do exemplo G = ({S, A}, {0, 1}, R, S) onde R: S→A A → 0A1 A→ε 15 minutos em grupo Aspectos Teóricos da Computação 23
  • 24. Derivação ● Se u, v , w ∈ (V ∪ ∑ )∗ (i.e., são strings de variáveis e terminais) e α → β ∈ R (i.e., é uma regra da gramática) então dizemos que uαv deriva uβv, escrito como uαv ⇒ uβv . ● Podemos também dizer que uβv é derivado diretamente de uαv usando a regra α → β ● u ⇒k v se existe uma sequência finita u0 , u1 , . . . , uk ∈ (V ∪ ∑ )∗ , para k > 0, tal que u = u 0 ⇒ u1 ⇒ . . . ⇒ u k = v ● Também dizemos que u0 , u1 , . . . , uk é uma derivação de v a partir de u ● Escrevemos u ⇒∗ v se u = v ou u ⇒k v para algum k > 0 Aspectos Teóricos da Computação 24
  • 25. Linguagem Especificada por uma Gramática Seja G = (V , Σ, R, S) uma gramática. A linguagem especificada por G é L(G) = {w ∈ Σ∗ | S ⇒∗ w } Aspectos Teóricos da Computação 25
  • 26. Tipos de Regras Aspectos Teóricos da Computação 26
  • 27. Tipos de Gramática – Hierarquia de Chomsky Aspectos Teóricos da Computação 27
  • 28. Notação Para distinguir não-terminais de terminais, frequentemente usamos não-terminais entre < > e terminais entre aspas ” ”. Se duas ou mais regras têm o mesmo lado esquerdo, por exemplo: A → 0A1 e A →ε podemos escrever, de forma mais compacta A → 0A1 | ε. Obs. Só use essa regra quando tudo estiver muito claro na sua cabeça. Aspectos Teóricos da Computação 28
  • 29. Gramática Livre de Contexto G2 A gramática G2 a seguir especifica um fragmento da língua inglesa: <SENTENCE> → <NOUN_PHRASE><VERB_PHRASE> <NOUN_PHRASE> → <CP_NOUN> | <CP_NOUN><PREP_PHRASE> <VERB_PHRASE> → <CP_VERB> | <CP_VERB><PREP_PHRASE> <PREP_PHRASE> → <PREP><CP_NOUN> <CP_NOUN> → <ARTICLE><NOUN> <CP_VERB> → <VERB> | <VERB><NOUN_PHRASE> <ARTICLE> → a | the <NOUN> → boy | girl | flower <VERB> → touches | likes | sees <PREP> → with Aspectos Teóricos da Computação 29
  • 30. Gramática Livre de Contexto G2 Note que: A CFG(Gramática livre de contexto) G2 tem 10 variáveis (escritas em letras maiúsculas e entra < >) e 9 não-terminais (escritos no alfabeto padrão), mais um caractere de espaço. A CFG G2 tem 18 regras. Exemplos de strings que pertencem a L(G2): a boy sees the boy sees a flower a girl with a flower likes the boy Aspectos Teóricos da Computação 30
  • 31. Exemplo de Derivação em G2 <SENTENCE> ⇒ <NOUN_PHRASE><VERB_PHRASE> ⇒ <CP_NOUN><VERB_PHRASE> ⇒ <ARTICLE><NOUN><VERB_PHRASE> ⇒ a <NOUN><VERB_PHRASE> ⇒ a boy <VERB_PHRASE> ⇒ a boy <CP_VERB> ⇒ a boy <VERB> ⇒ a boy sees Aspectos Teóricos da Computação 31
  • 32. Regras Lineares Seja G = (V , Σ, R, S) uma CFG e A → w ∈ R, onde A ∈ V . ● r é linear se w ∈ Σ∗VΣ∗ ● r é linear à direita se w ∈ Σ∗V ● r é linear à esquerda se w ∈ VΣ∗ ● r é terminal se w ∈ Σ∗ Aspectos Teóricos da Computação 32
  • 33. Exemplo de Gramática Linear à Direita G = ({A, B}, {0, 1}, {A → 0A | B, B → 1B | ε }, A) Aspectos Teóricos da Computação 33
  • 34. Exemplo de Gramática Linear à Direita G = ({A, B}, {0, 1}, {A → 0A | B, B → 1B | ε}, A) Exemplo de derivação em G: A ⇒ 0A ⇒ 00A ⇒ 00B ⇒ 001B ⇒ 0011B ⇒ 00111B ⇒ 00111 ● Qual é a linguagem especificada por G? Aspectos Teóricos da Computação 34
  • 35. Exemplo de Gramática Linear à Direita G = ({A, B}, {0, 1}, {A → 0A | B, B → 1B | ε}, A) Exemplo de derivação em G: A ⇒ 0A ⇒ 00A ⇒ 00B ⇒ 001B ⇒ 0011B ⇒ 00111B ⇒ 00111 ● Qual é a linguagem especificada por G? L(G) = 0*1* Aspectos Teóricos da Computação 35
  • 36. Para a Próxima Aula Ler capítulo 2 do livro texto. Aspectos Teóricos da Computação 36