teoria da computaÇÃo parte ii linguagens livres de contexto prof. yandre maldonado e gomes da...

51
TEORIA DA COMPUTAÇÃO Parte II Linguagens Livres de Contexto Prof. Yandre Maldonado e Gomes da Costa P r o f . Y a n d r e M a l d o n a d o - 1

Upload: internet

Post on 17-Apr-2015

114 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: TEORIA DA COMPUTAÇÃO Parte II Linguagens Livres de Contexto Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 1

TEORIA DA COMPUTAÇÃO

Parte II Linguagens Livres de Contexto

Prof. Yandre Maldonado e Gomes da Costa

Pro

f. Yan

dre M

aldo

nad

o - 1

Page 2: TEORIA DA COMPUTAÇÃO Parte II Linguagens Livres de Contexto Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 1

TEORIA DA COMPUTAÇÃO

Pro

f. Yan

dre M

aldo

nad

o - 2

Linguagem Livre de Contexto - LLC Compreende um universo mais amplo que

as LR, permitindo tratar questões como:• Parênteses Balanceados;• Construções Bloco-Estruturadas;• Outras estruturas próprias de linguagens como C,

Pascal, etc. Os algoritmos que as implementam são

simples e possuem uma boa eficiência. Aplicações: analisadores sintáticos,

tradutores de linguagens e processadores de texto etc.

Page 3: TEORIA DA COMPUTAÇÃO Parte II Linguagens Livres de Contexto Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 1

TEORIA DA COMPUTAÇÃO

Pro

f. Yan

dre M

aldo

nad

o - 3

As LLC´s podem ser especificadas através de:Gramática Livre de Contexto – GLC

• Formalismo gerador de sentenças da linguagem que define;

Autômato com Pilha – AP• Formalismo reconhecedor de sentenças

da linguagem que define;

Page 4: TEORIA DA COMPUTAÇÃO Parte II Linguagens Livres de Contexto Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 1

TEORIA DA COMPUTAÇÃO

GLC é uma quádrupla (V, T, P, S), onde: V é um conjunto finito de símbolos não-terminais

(ou variáveis); T é um conjunto finito de símbolos terminais

disjunto de V; P é um conjunto finito de pares, denominados

regras de produção tal que a primeira componente é um símbolo de V e a segunda componente é palavra de (VT)*;

S é um elemento de V, denominado símbolo inicial (ou símbolo de partida).

Pro

f. Yan

dre M

aldo

nad

o - 4

Page 5: TEORIA DA COMPUTAÇÃO Parte II Linguagens Livres de Contexto Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 1

TEORIA DA COMPUTAÇÃO

Os símbolos de T são aqueles que aparecem nos programas de uma linguagem de programação. É o alfabeto em cima do qual a linguagem é definida;

Os elementos de V são símbolos auxiliares que são criados para permitir a definição das regras da linguagem. Eles correspondem à “categorias sintáticas” da linguagem definida: Português: sentença, predicado, verbo, ...; Pascal: programa, bloco, procedure, ...;

Pro

f. Yan

dre M

aldo

nad

o - 5

Page 6: TEORIA DA COMPUTAÇÃO Parte II Linguagens Livres de Contexto Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 1

TEORIA DA COMPUTAÇÃO

Uma regra de produção (V, ) é representada por V;

As regras de produção definem as condições de geração das sentenças;

A aplicação de uma regra de produção é denominada derivação;

Uma regra V indica que V pode ser substituído por sempre que V aparecer;

Enquanto houver símbolo não-terminal na cadeia em derivação, esta derivação não terá terminado;

Pro

f. Yan

dre M

aldo

nad

o - 6

Page 7: TEORIA DA COMPUTAÇÃO Parte II Linguagens Livres de Contexto Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 1

TEORIA DA COMPUTAÇÃO

O símbolo inicial é o símbolo através do qual deve iniciar o processo de derivação de uma sentença;

Observações: VT = Os elementos de T são os terminais. Procuraremos

representá-los por letras minúsculas (a, b, c, d, ...) Os elementos de V são os não-terminais.

Procuraremos representá-los por letras maiúsculas (A, B, C, D, ...)

As cadeias mistas, isto é, aquelas que contém símbolos de V e símbolos de T (cadeias pertencentes à (VT)* ) serão representadas por letras gregas (, , , , ...)

Pro

f. Yan

dre M

aldo

nad

o - 7

Page 8: TEORIA DA COMPUTAÇÃO Parte II Linguagens Livres de Contexto Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 1

TEORIA DA COMPUTAÇÃO

Exemplo:G1 = ({S, A, B}, {a, b}, P, S) onde:

• P = { 1) S AB

2) A a

3) B b }

Quais as cadeias terminais geradas por esta gramática?

Pro

f. Yan

dre M

aldo

nad

o - 8

Page 9: TEORIA DA COMPUTAÇÃO Parte II Linguagens Livres de Contexto Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 1

TEORIA DA COMPUTAÇÃO

Descrição de linguagens:

A linguagem gerada pela gramática G1 descrita acima, poderia ser expressa da seguinte forma: L(G1)={abnc, n 0}

A linguagem gerada pela gramática G2 descrita acima, poderia ser expressa da seguinte forma: L(G2)={biacj, i1, j 1}

G1 = ({A, B}, {a, b, c}, P, A) onde:

P = { 1) A aB

2)B bB 3)B c }

G2 = ({S, A, B, C}, {a, b, c}, P, S) onde:

P = { 1) S A 2) A BaC 3) B bB 4) B b 5) C cC 6) C c }

Pro

f. Yan

dre M

aldo

nad

o - 9

Page 10: TEORIA DA COMPUTAÇÃO Parte II Linguagens Livres de Contexto Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 1

TEORIA DA COMPUTAÇÃO

Pro

f. Yan

dre M

aldo

nad

o - 10

G2 (subconjunto da língua portuguesa)

• V = {Sentença, Sn, Sv, Artigo, Verbo, Substantivo, Complemento}

• T = {peixe, isca, mordeu, o, a}• P = { 1) Sentença Sn Sv

2) Sn Artigo Substantivo

3) Sv Verbo Complemento

4) Complemento Artigo Substantivo

5) Artigo o

6) Artigo a

7) Substantivo peixe

8) Substantivo isca

9) Verbo mordeu }• S = Sentença

Page 11: TEORIA DA COMPUTAÇÃO Parte II Linguagens Livres de Contexto Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 1

TEORIA DA COMPUTAÇÃO

G3 - Eliminando os problemas de concordância de gênero

• V = {Sentença, Sn, Sv, ArtigoF, ArtigoM, Verbo, SubstantivoF, SubstantivoM, Complemento}

• T = {peixe, isca, mordeu, o, a}• P = { 1) Sentença Sn Sv

2) Sn ArtigoF SubstantivoF3) Sn ArtigoM SubstantivoM4) Sv Verbo Complemento5) Complemento ArtigoF

SubstantivoF6) Complemento ArtigoM

SubstantivoM7) ArtigoF a8) ArtigoM o9) SubstantivoF isca

10) SubstantivoM peixe 11) Verbo mordeu }

• S = Sentença

Pro

f. Yan

dre M

aldo

nad

o - 11

Page 12: TEORIA DA COMPUTAÇÃO Parte II Linguagens Livres de Contexto Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 1

TEORIA DA COMPUTAÇÃO

BNF - Forma Normal de Backus Substitui o símbolo “” por “::=”; Os não-terminais são ladeados por “<” e “>”; É usada para regras que apresentam um único

símbolo não-terminal do lado esquerdo; Quando houverem repetições do lado esquerdo, do

tipo:• <A> ::= 1 • <A> ::= 2

...• <A> ::= n

escreve-se: <A> ::= 1 | 2 | ... | n

Pro

f. Yan

dre M

aldo

nad

o - 12

* Os símbolos <, >, :, = e | não fazem parte da linguagem, apenas ajudam a descrevê-la.

Page 13: TEORIA DA COMPUTAÇÃO Parte II Linguagens Livres de Contexto Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 1

TEORIA DA COMPUTAÇÃO

G3 - Descrição em BNF1) <Sentença> ::= <Sn> <Sv>

2) <Sn> ::= <ArtigoF> <SubstantivoF>

| <ArtigoM> <SubstantivoM>

4) <Sv> ::= <Verbo> <Complemento>

5) <Complemento> ::= <ArtigoF> <SubstantivoF>

|<ArtigoM> <SubstantivoM>

7) <ArtigoF> ::= o

8) <ArtigoM> ::= a

9) <SubstantivoF> ::= peixe

10) <SubstantivoM> ::= isca

11) <Verbo> ::= mordeu

Pro

f. Yan

dre M

aldo

nad

o - 13

Page 14: TEORIA DA COMPUTAÇÃO Parte II Linguagens Livres de Contexto Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 1

TEORIA DA COMPUTAÇÃO

BNF é um padrão muito utilizado para a descrição sintática de linguagens;

Principais aplicações de descrição sintática de linguagens (BNF):Ajuda a entender como se escreve

programas sintaticamente corretos;Pode ser usada para determinar se

um programa está sintaticamente correto (papel do compilador).

Pro

f. Yan

dre M

aldo

nad

o - 14

Page 15: TEORIA DA COMPUTAÇÃO Parte II Linguagens Livres de Contexto Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 1

TEORIA DA COMPUTAÇÃO

BNF para expressões aritméticas:

<expressão> ::= <valor> | <valor><operador><expressão>

<valor> ::= <número> | <sinal><número> <número> ::= <semsinal> | <semsinal>.<semsinal> <semsinal> ::= <dígito> | <dígito><semsinal> <dígito>::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 <sinal> ::= + | - <operador> ::= + | - | / | *

Pro

f. Yan

dre M

aldo

nad

o - 15

Page 16: TEORIA DA COMPUTAÇÃO Parte II Linguagens Livres de Contexto Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 1

TEORIA DA COMPUTAÇÃO

Adaptação para o software PROSINTATIC:

<expressão> ::= <valor> | <valor><operador><expressão>

<valor> ::= <número> | <sinal><número> <número> ::= cn | cn.cn<sinal> ::= + | - <operador> ::= + | - | / | *

Pro

f. Yan

dre M

aldo

nad

o - 16

Page 17: TEORIA DA COMPUTAÇÃO Parte II Linguagens Livres de Contexto Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 1

TEORIA DA COMPUTAÇÃO

EBNF – Extended BNF Notação que acrescenta metasímbolos adicionais à

notação BNF;• [ ] opcionalidade;• {} repetição;

Seguindo esta notação, os Não-Terminais <expressão>, <valor>, <semsinal> e <número> (do slide 15) poderiam ter suas regras descritas da seguinte forma:

• <expressão> ::= <valor> [<operador><expressão>] • <valor> ::= [<sinal>] <semsinal> [.<semsinal>] • <semsinal> ::= <dígito> {<dígito>}

Pascal simplificado em EBNF;

Pro

f. Yan

dre M

aldo

nad

o - 17

Page 18: TEORIA DA COMPUTAÇÃO Parte II Linguagens Livres de Contexto Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 1

TEORIA DA COMPUTAÇÃO

PROSINTATICAmbiente computacional para auxílio

ao projeto sintático de linguagens computacionais;

Baseado no algoritmo de Cocke-Younger-Kasami;

Introduz algumas facilidades para o projeto de linguagens, tais como:

• Analisador Léxico;• Classificação de símbolos terminais

(símbolo/palavra reservada).

Pro

f. Yan

dre M

aldo

nad

o - 18

Page 19: TEORIA DA COMPUTAÇÃO Parte II Linguagens Livres de Contexto Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 1

TEORIA DA COMPUTAÇÃO

Algoritmo de Cocke-Younger-KasamiReconhecedor de LLC´s;Só funciona para GLC´s que estejam

na Forma Normal de Chomsky (FNC);Uma GLC está na FNC quando todas

as suas regras são da forma:• ABC ou Aa, onde:

• A, B e C são Não-terminais e a é terminal.

Pro

f. Yan

dre M

aldo

nad

o - 19

Page 20: TEORIA DA COMPUTAÇÃO Parte II Linguagens Livres de Contexto Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 1

TEORIA DA COMPUTAÇÃO

Exemplo de análise com o algoritmo CYK:

Pro

f. Yan

dre M

aldo

nad

o - 20

Dada a Gramática:

G({S,A,B},{a,b},P,S), onde P:S AAS ASS bA SAA ASA a

S, A

S, A

S, A

S, A

A

a

S, A

S

A

S

b

S, A

S

A

a

S, A

A

a

S

b

S – Símbolo de partida no topo: cadeia aceita

Page 21: TEORIA DA COMPUTAÇÃO Parte II Linguagens Livres de Contexto Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 1

Autômato com Pilha São formalismos (máquinas) capazes de

reconhecer as Linguagens Livres de Contexto;

Maior poder que os Autômatos Finitos, pois possuem um “espaço de armazenamento” extra que é utilizado durante o processamento de uma cadeia;

Possui uma pilha que caracteriza uma memória auxiliar onde pode-se inserir e remover informações;

Mesmo poder de reconhecimento das GLC’s;

TEORIA DA COMPUTAÇÃO

Pro

f. Yan

dre M

aldo

nad

o - 21

Page 22: TEORIA DA COMPUTAÇÃO Parte II Linguagens Livres de Contexto Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 1

Exemplo de LLC: {anbn | n0} Um AF não é capaz de reconhecer

este tipo de linguagem devido à sua incapacidade de “recordar” (memorizar) informação sobre a cadeia analisada;

Autômatos com Pilha (AP) possuem uma pilha para armazenar informação, adicionando poder aos AF’s.

TEORIA DA COMPUTAÇÃO

Pro

f. Yan

dre M

aldo

nad

o - 22

Page 23: TEORIA DA COMPUTAÇÃO Parte II Linguagens Livres de Contexto Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 1

Definição:AP é uma sextupla <,,S,S0,,B>, onde:

é o alfabeto de entrada do AP; é o alfabeto da pilha;• S é o conjunto finito não vazio de estados do

AP;• S0 é o estado inicial, S0 S; é a função de transição de estados,

: S ({}) conjunto de subconjuntos finitos de S *

• B é o símbolo da base da pilha, B .

TEORIA DA COMPUTAÇÃO

Pro

f. Yan

dre M

aldo

nad

o - 23

Page 24: TEORIA DA COMPUTAÇÃO Parte II Linguagens Livres de Contexto Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 1

Ao contrário da fita de entrada, a pilha pode ser lida e alterada durante um processamento;

O autômato verifica o conteúdo do topo da pilha, retira-o e substitui por uma cadeia *. Se = A, e A , então o símbolo do topo é substituído por

A e a cabeça de leitura escrita continua posicionada no mesmo lugar;

Se = A1A2...An, n>1 então o símbolo do topo da pilha é retirado, sendo An colocado em seu lugar, An-1 na posição seguinte, e assim por diante. A cabeça é deslocada para a posição ocupada por A1 que é então o novo topo da pilha;

Se = então o símbolo do topo da pilha é retirado, fazendo a pilha decrescer.

TEORIA DA COMPUTAÇÃO

Pro

f. Yan

dre M

aldo

nad

o - 24

Page 25: TEORIA DA COMPUTAÇÃO Parte II Linguagens Livres de Contexto Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 1

A função de transição , é função do estado corrente, da letra corrente na fita de entrada e do símbolo no topo da pilha;

Além disso, esta função determina não só o próximo estado que o AP assume, mas também como o topo da pilha deve ser substituído;

O AP inicia sua operação num estado inicial especial denotado por S0 e com um único símbolo na pilha, denotado por B.

TEORIA DA COMPUTAÇÃO

Pro

f. Yan

dre M

aldo

nad

o - 25

Page 26: TEORIA DA COMPUTAÇÃO Parte II Linguagens Livres de Contexto Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 1

A configuração de um AP é dada por uma tripla <s, x, > onde s é o estado corrente, x é a cadeia da fita que falta ser processada e é o conteúdo da pilha, com o topo no início de ;

O AP anda ou move-se de uma configuração para outra através da aplicação de uma função de transição.

TEORIA DA COMPUTAÇÃO

Pro

f. Yan

dre M

aldo

nad

o - 26

Page 27: TEORIA DA COMPUTAÇÃO Parte II Linguagens Livres de Contexto Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 1

Se o AP está na configuração <s,ay,A> e temos que (s,a,A)=<t,>, então o AP move-se para a configuração <t,y, > e denota-se <s,ay,A> |— <t,y, >.

Se o AP move-se de uma configuração <s1,x1,1> para uma configuração <s2,x2,2> por meio de um número finito de movimentos, denotamos

<s1,x1,1>|—*<s2,x2,2> Se o valor de para uma determinada

configuração for o AP pára.

TEORIA DA COMPUTAÇÃO

Pro

f. Yan

dre M

aldo

nad

o - 27

Page 28: TEORIA DA COMPUTAÇÃO Parte II Linguagens Livres de Contexto Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 1

Note que AP’s não possuem estados finais como os AF’s;

Assim, um string x é aceito se, ao chegar ao final da cadeia de entrada, a pilha estiver vazia, independentemente do estado em que o AP se encontra;

TEORIA DA COMPUTAÇÃO

Pro

f. Yan

dre M

aldo

nad

o - 28

Page 29: TEORIA DA COMPUTAÇÃO Parte II Linguagens Livres de Contexto Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 1

Formalmente temos:Dado o AP P = <,,S,S0,,B> e o string

x sobre , diz-se que x é aceito por P sse existe s S tal que <S0,x,B>|—*<s,, >. Caso contrário, x é rejeitado.

Dado o AP P = <,,S,S0,,B>, a linguagem L(P) definida por P é

{x *| sS <S0,x,B> |—*<s,, >}

TEORIA DA COMPUTAÇÃO

Pro

f. Yan

dre M

aldo

nad

o - 29

Page 30: TEORIA DA COMPUTAÇÃO Parte II Linguagens Livres de Contexto Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 1

Exemplo de AP para a LLC {anbn | n0}:

(S,a,B) = {<S,A>}

(S,a,A) = {<S,AA>}

(S,b,A) = {<R,>}

(R,b,A) = {<R, >}

(S,,B) = {<S, >}

S R

<a,B>/A<a,A>/AA<,B>/

<b,A>/

<b,A>/

TEORIA DA COMPUTAÇÃO

Pro

f. Yan

dre M

aldo

nad

o - 30

Page 31: TEORIA DA COMPUTAÇÃO Parte II Linguagens Livres de Contexto Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 1

Exemplo: processamento da cadeia aaabbb

S R

<a,B>/A<a,A>/AA<,B>/

<b,A>/

<b,A>/

PILHAPILHA

B

TEORIA DA COMPUTAÇÃO

Pro

f. Yan

dre M

aldo

nad

o - 31

Page 32: TEORIA DA COMPUTAÇÃO Parte II Linguagens Livres de Contexto Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 1

Exemplo: processamento da cadeia aaabbb

S R

<a,B>/A<a,A>/AA<,B>/

<b,A>/

<b,A>/

PILHAPILHA

A

TEORIA DA COMPUTAÇÃO

Pro

f. Yan

dre M

aldo

nad

o - 32

Page 33: TEORIA DA COMPUTAÇÃO Parte II Linguagens Livres de Contexto Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 1

Exemplo: processamento da cadeia aaabbb

S R

<a,B>/A<a,A>/AA<,B>/

<b,A>/

<b,A>/

PILHAPILHA

A

A

TEORIA DA COMPUTAÇÃO

Pro

f. Yan

dre M

aldo

nad

o - 33

Page 34: TEORIA DA COMPUTAÇÃO Parte II Linguagens Livres de Contexto Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 1

Exemplo: processamento da cadeia aaabbb

S R

<a,B>/A<a,A>/AA<,B>/

<b,A>/

<b,A>/

PILHAPILHA

A

A

A

TEORIA DA COMPUTAÇÃO

Pro

f. Yan

dre M

aldo

nad

o - 34

Page 35: TEORIA DA COMPUTAÇÃO Parte II Linguagens Livres de Contexto Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 1

Exemplo: processamento da cadeia aaabbb

S R

<a,B>/A<a,A>/AA<,B>/

<b,A>/

<b,A>/

PILHAPILHA

A

A

TEORIA DA COMPUTAÇÃO

Pro

f. Yan

dre M

aldo

nad

o - 35

Page 36: TEORIA DA COMPUTAÇÃO Parte II Linguagens Livres de Contexto Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 1

Exemplo: processamento da cadeia aaabbb

S R

<a,B>/A<a,A>/AA<,B>/

<b,A>/

<b,A>/

PILHAPILHA

A

TEORIA DA COMPUTAÇÃO

Pro

f. Yan

dre M

aldo

nad

o - 36

Page 37: TEORIA DA COMPUTAÇÃO Parte II Linguagens Livres de Contexto Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 1

Exemplo: processamento da cadeia aaabbb

S R

<a,B>/A<a,A>/AA<,B>/

<b,A>/

<b,A>/

PILHAPILHA

CADEIA ACEITA

TEORIA DA COMPUTAÇÃO

Pro

f. Yan

dre M

aldo

nad

o - 37

Page 38: TEORIA DA COMPUTAÇÃO Parte II Linguagens Livres de Contexto Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 1

Exemplo de AP para {x{a,b}*| |x|a=|x|b}:

(S,a,C) = {<S,AC>}

(S,b,C) = {<S,BC>}

(S,,C) = {<S,>}

(S,a,A) = {<S,AA>}

(S,b,A) = {<S,>}

(S,a,B) = {<S,>}

(S,b,B) = {<S,BB>}

S

<a,C>/AC<b,C>/BC<,C>/<a,A>/AA<b,A>/<a,B>/<b,B>/BB

TEORIA DA COMPUTAÇÃO

Pro

f. Yan

dre M

aldo

nad

o - 38

Page 39: TEORIA DA COMPUTAÇÃO Parte II Linguagens Livres de Contexto Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 1

Exemplo: processamento da cadeia aaaabbabbb

PILHAPILHA

C

S

<a,C>/AC<b,C>/BC<,C>/<a,A>/AA<b,A>/<a,B>/<b,B>/BB

BASE DA PILHA: C

TEORIA DA COMPUTAÇÃO

Pro

f. Yan

dre M

aldo

nad

o - 39

Page 40: TEORIA DA COMPUTAÇÃO Parte II Linguagens Livres de Contexto Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 1

Exemplo: processamento da cadeia aaaabbabbb

PILHAPILHA

C

S

<a,C>/AC<b,C>/BC<,C>/<a,A>/AA<b,A>/<a,B>/<b,B>/BB A

TEORIA DA COMPUTAÇÃO

Pro

f. Yan

dre M

aldo

nad

o - 40

Page 41: TEORIA DA COMPUTAÇÃO Parte II Linguagens Livres de Contexto Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 1

Exemplo: processamento da cadeia aaaabbabbb

PILHAPILHA

C

S

<a,C>/AC<b,C>/BC<,C>/<a,A>/AA<b,A>/<a,B>/<b,B>/BB A

A

TEORIA DA COMPUTAÇÃO

Pro

f. Yan

dre M

aldo

nad

o - 41

Page 42: TEORIA DA COMPUTAÇÃO Parte II Linguagens Livres de Contexto Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 1

Exemplo: processamento da cadeia aaaabbabbb

PILHAPILHA

C

S

<a,C>/AC<b,C>/BC<,C>/<a,A>/AA<b,A>/<a,B>/<b,B>/BB A

A

A

TEORIA DA COMPUTAÇÃO

Pro

f. Yan

dre M

aldo

nad

o - 42

Page 43: TEORIA DA COMPUTAÇÃO Parte II Linguagens Livres de Contexto Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 1

Exemplo: processamento da cadeia aaaabbabbb

PILHAPILHA

C

S

<a,C>/AC<b,C>/BC<,C>/<a,A>/AA<b,A>/<a,B>/<b,B>/BB A

A

A

A

TEORIA DA COMPUTAÇÃO

Pro

f. Yan

dre M

aldo

nad

o - 43

Page 44: TEORIA DA COMPUTAÇÃO Parte II Linguagens Livres de Contexto Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 1

Exemplo: processamento da cadeia aaaabbabbb

PILHAPILHA

C

S

<a,C>/AC<b,C>/BC<,C>/<a,A>/AA<b,A>/<a,B>/<b,B>/BB A

A

A

TEORIA DA COMPUTAÇÃO

Pro

f. Yan

dre M

aldo

nad

o - 44

Page 45: TEORIA DA COMPUTAÇÃO Parte II Linguagens Livres de Contexto Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 1

Exemplo: processamento da cadeia aaaabbabbb

PILHAPILHA

C

S

<a,C>/AC<b,C>/BC<,C>/<a,A>/AA<b,A>/<a,B>/<b,B>/BB A

A

TEORIA DA COMPUTAÇÃO

Pro

f. Yan

dre M

aldo

nad

o - 45

Page 46: TEORIA DA COMPUTAÇÃO Parte II Linguagens Livres de Contexto Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 1

Exemplo: processamento da cadeia aaaabbabbb

PILHAPILHA

C

S

<a,C>/AC<b,C>/BC<,C>/<a,A>/AA<b,A>/<a,B>/<b,B>/BB A

A

A

TEORIA DA COMPUTAÇÃO

Pro

f. Yan

dre M

aldo

nad

o - 46

Page 47: TEORIA DA COMPUTAÇÃO Parte II Linguagens Livres de Contexto Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 1

Exemplo: processamento da cadeia aaaabbabbb

PILHAPILHA

C

S

<a,C>/AC<b,C>/BC<,C>/<a,A>/AA<b,A>/<a,B>/<b,B>/BB A

A

TEORIA DA COMPUTAÇÃO

Pro

f. Yan

dre M

aldo

nad

o - 47

Page 48: TEORIA DA COMPUTAÇÃO Parte II Linguagens Livres de Contexto Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 1

Exemplo: processamento da cadeia aaaabbabbb

PILHAPILHA

C

S

<a,C>/AC<b,C>/BC<,C>/<a,A>/AA<b,A>/<a,B>/<b,B>/BB A

TEORIA DA COMPUTAÇÃO

Pro

f. Yan

dre M

aldo

nad

o - 48

Page 49: TEORIA DA COMPUTAÇÃO Parte II Linguagens Livres de Contexto Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 1

Exemplo: processamento da cadeia aaaabbabbb

PILHAPILHA

C

S

<a,C>/AC<b,C>/BC<,C>/<a,A>/AA<b,A>/<a,B>/<b,B>/BB

TEORIA DA COMPUTAÇÃO

Pro

f. Yan

dre M

aldo

nad

o - 49

Page 50: TEORIA DA COMPUTAÇÃO Parte II Linguagens Livres de Contexto Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 1

Exemplo: processamento da cadeia aaaabbabbb

PILHAPILHA

S

<a,C>/AC<b,C>/BC<,C>/<a,A>/AA<b,A>/<a,B>/<b,B>/BB

CADEIA ACEITA

TEORIA DA COMPUTAÇÃO

Pro

f. Yan

dre M

aldo

nad

o - 50

Page 51: TEORIA DA COMPUTAÇÃO Parte II Linguagens Livres de Contexto Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 1

TEORIA DA COMPUTAÇÃO

Atividade Prática Nº 1Complemente a descrição em BNF da

linguagem LIAD, que será entregue durante a aula.

Atividade Prática Nº 2Resolva a lista de exercícios de

Autômato com Pilha.

Pro

f. Yan

dre M

aldo

nad

o - 51