Você está na página 1de 137

Li

nguagensFor
mai
se
Aut
mat
os
Paul
oBl
aut
hMenez
es

Linguagens Formais e Autmatos


P. Blauth Menezes
1
2
3
4
5
6
7
8
9

Linguagens Formais e Autmatos

Introduo e Conceitos Bsicos


Linguagens e Gramticas
Linguagens Regulares
Propriedades das Linguagens Regulares
Autmato Finito com Sada
Linguagens Livres do Contexto
Propriedades e Reconhecimento das Linguagens
Livres do Contexto
Linguagens Recursivamente Enumerveis e
Sensveis ao Contexto
Hierarquia de Classes de Linguagens e Concluses

6 Linguagens Livres do Contexto


6.1
6.2
6.3
6.4
6.5
6.6
6.7

Gramtica Livre do Contexto


rvore de Derivao
Gramtica Livre do Contexto Ambgua
Simplificao de Gramtica Livre do Contexto
Formas Normais
Recurso Esquerda
Autmato com Pilha

Linguagens Formais e Autmatos

6 Linguagens Livres do Contexto

Linguagens Formais e Autmatos

6 Linguagens Livres do Contexto

Estudo da Classe das Linguagens Livres do Contexto


ou Tipo 2 de fundamental importncia
universo mais amplo de linguagens comparativamente com as LR
trata, adequadamente, questes tpicas de linguagens de
programao:
parnteses balanceados
construes bloco-estruturadas, etc.

Algoritmos reconhecedores e geradores


relativamente simples
eficincia razovel

Linguagens Formais e Autmatos

Aplicaes tpicas
centradas em linguagens artificiais, em especial, nas linguagens de
programao
analisadores sintticos
tradutores de linguagens
processadores de texto em geral

Hierarquia de Chomsky
classe das Linguagens Livres do Contexto
contm propriamente a Classe das Linguagens Regulares

Entretanto, uma classe relativamente restrita


fcil definir linguagens que no pertencem a esta classe

Linguagens Formais e Autmatos

Abordagens
Gramtica Livre do Contexto (axiomtico ou gerador)
restries na forma das regras de produo
mais livre do que na gramtica regular
Autmato com Pilha (operacional ou reconhecedor)
anlogo ao autmato finito no determinstico
adicionalmente: memria auxiliar tipo pilha
pode ser lida ou gravada

Linguagens Formais e Autmatos

Relativamente s GLC
rvore de derivao
representa a derivao de uma palavra na forma de rvore
parte do smbolo inicial como a raiz
termina em smbolos terminais como folhas
Gramtica Ambgua
pelo menos uma palavra com duas ou mais rvores de
derivao
Simplificao de Gramtica (produes)
sem reduzir o poder de gerao
Forma Normal: restries rgidas na forma das produes sem
reduzir o poder de gerao da gramtica

Linguagens Formais e Autmatos

Autmato com pilha construdo a partir de uma GLC


Construo simples e imediata de um reconhecedor a partir de sua
gramtica
estrutura de pilha suficiente como nica memria
pode ser reconhecida por autmato com pilha com um estado
estados no so necessrios para "memorizar" o passado

Linguagens Formais e Autmatos

6 Linguagens Livres do Contexto


6.1
6.2
6.3
6.4
6.5
6.6
6.7

Gramtica Livre do Contexto


rvore de Derivao
Gramtica Livre do Contexto Ambgua
Simplificao de Gramtica Livre do Contexto
Formas Normais
Recurso Esquerda
Autmato com Pilha

Linguagens Formais e Autmatos

10

6.1 Gramtica Livre do Contexto


Def: Gramtica Livre do Contexto (GLC)
G = (V, T, P, S)
qualquer regra de produo da forma
A
A varivel de V
palavra de (V T)*

Linguagens Formais e Autmatos

lado esquerdo = uma varivel

11

Def: Linguagem Livre do Contexto (LLC) ou Tipo 2


Linguagem gerada pela gramtica livre do contexto G
GERA(G) = { w T* S + w }

Portanto, livre do contexto


qualquer linguagem regular

Linguagens Formais e Autmatos

12

Relao entre as classes de linguagens estudadas

Universo de Todas as Linguagens


Linguagens Livre do Contexto

Linguagens Regulares

Linguagens Formais e Autmatos

13

"Livre do contexto" ?
mais geral classe de linguagens cuja produo da forma A
em uma derivao, a varivel A deriva
sem depender ("livre") de qualquer anlise dos smbolos que
antecedem ou sucedem A (o "contexto") na palavra que est
sendo derivada

Linguagens Formais e Autmatos

14

Exp: GLC: Duplo Balanceamento


L1 = { anbn n 0 }
G1 = ({ S }, { a, b }, P1, S)
P1 = { S aSb S }
GERA(G1) = L1
Derivao da palavra aabb
S aSb aaSbb aabb = aabb

Linguagens Formais e Autmatos

15

Importante: Duplo Balanceamento


analogia com estruturas de duplo balanceamento em linguagens de
programao
linguagens bloco-estruturadas
beginn endn e similares
linguagens com parnteses balanceados
(n )n

Linguagens Formais e Autmatos

16

Exp: GLC: Expresses Aritmticas


L2 - expresses aritmticas com colchetes balanceados, dois
operadores e um operando
G2 = ({ E }, { , , [, ], x }, P2, E)
P2 = { E EE EE [E] x }
Derivao da expresso [xx]x
E EE [E]E [EE]E [xE]E [xx]E [xx]x
Existe outra sequncia de derivao? Quantas?
Quais produes controlam o duplo balanceamento de parnteses?

Linguagens Formais e Autmatos

17

Obs: BNF: Backus Naur Form


Maneira usual de representar uma GLC
variveis
palavras delimitadas pelos smbolos e
terminais
palavras no delimitadas
representao de uma regra de produo A
A ::=

Linguagens Formais e Autmatos

18

Exp: BNF: Identificador em Pascal


A varivel identificador o smbolo inicial
identificador ::= letra identificadorletra identificadordgito
letra ::= a b z
dgito ::= 0 1 9

Linguagens Formais e Autmatos

19

6 Linguagens Livres do Contexto


6.1
6.2
6.3
6.4
6.5
6.6
6.7

Gramtica Livre do Contexto


rvore de Derivao
Gramtica Livre do Contexto Ambgua
Simplificao de Gramtica Livre do Contexto
Formas Normais
Recurso Esquerda
Autmato com Pilha

Linguagens Formais e Autmatos

20

6.2 rvore de Derivao

Derivao de palavras na forma de rvore


partindo do smbolo inicial como a raiz
terminando em smbolos terminais como folhas

Conveniente em muitas aplicaes


compiladores
processadores de textos

Linguagens Formais e Autmatos

21

Def: rvore de Derivao


Raiz: smbolo inicial
Vrtices interiores: variveis
se A um vrtice interior e X1, X2,, Xn so os "filhos" de A
A X1X2Xn uma produo da gramtica
X1, X2,, Xn so ordenados da esquerda para a direita
Vrtice folha ou folha: terminal ou o smbolo vazio
se vazio: nico filho de seu pai (A )

Linguagens Formais e Autmatos

22

raiz

vrtice
interior

...
Exp: rvore de Derivao: aabb e [xx]x

Linguagens Formais e Autmatos

folhas

23

Uma rvore de derivao


pode representar derivaes distintas de uma mesma palavra

Linguagens Formais e Autmatos

24

Exp: rvore de Derivao Derivaes: xxx


E EE xE xEE xxE xxx
E EE EEE EEx Exx xxx
E EE EEE xEE xxE xxx
etc.

Linguagens Formais e Autmatos

mais esquerda
mais direita

25

Def: Derivao mais Esquerda (Direita)


Sequncia de produes aplicada sempre varivel mais esquerda
(direita) da palavra

Exp: Derivao mais Esquerda (Direita): xxx


E EE xE xEE xxE xxx
Linguagens Formais e Autmatos

mais esquerda
26

E EE EEE EEx Exx xxx

mais direita

Linguagens Formais e Autmatos

27

6 Linguagens Livres do Contexto


6.1
6.2
6.3
6.4
6.5
6.6
6.7

Gramtica Livre do Contexto


rvore de Derivao
Gramtica Livre do Contexto Ambgua
Simplificao de Gramtica Livre do Contexto
Formas Normais
Recurso Esquerda
Autmato com Pilha

Linguagens Formais e Autmatos

28

6.3 GLC Ambgua

Gramtica ambgua
uma palavra associada a duas ou mais rvores de derivao

Pode ser desejvel que a gramtica usada seja no


ambgua
desenvolvimento e otimizao de alguns algoritmos de
reconhecimento

Nem sempre possvel eliminar ambiguidades


fcil definir linguagens para as quais qualquer GLC ambgua

Linguagens Formais e Autmatos

29

Def: Gramtica (Livre do Contexto) Ambgua


Existe pelo menos uma palavra que possui duas ou mais rvores de
derivao

Linguagens Formais e Autmatos

30

Exp: Gramtica Ambgua: xxx


E

Mais de uma derivao esquerda (direita)


xxx

Linguagens Formais e Autmatos

31

Derivao mais esquerda


E EE xE xEE xxE xxx
E EE EEE xEE xxE xxx
Derivao mais direita
E EE EEE EEx Exx xxx
E EE Ex EEx Exx xxx

Linguagens Formais e Autmatos

32

Forma equivalente de definir gramtica ambgua


existe pelo menos uma palavra com duas ou mais derivaes mais
esquerda
alternativamente, mais direita

Teorema: Gramtica Ambgua


Uma GLC uma Gramtica Ambgua se existe pelo menos uma
palavra
duas ou mais derivaes mais esquerda ou
duas ou mais derivaes mais direita

Linguagens Formais e Autmatos

33

Def: Linguagem Inerentemente Ambgua


Qualquer GLC ambgua

Exp: Linguagem Inerentemente Ambgua


{ w w = anbncmdm ou w = anbmcmdn, n 1, m 1 }

Linguagens Formais e Autmatos

34

Exp: Linguagem Inerentemente Ambgua:


contraexemplo
Expresses aritmticas no ambgua (exerccio)
Correto entendimento da soluo especialmente importante
justifica a maneira aparentemente estranha de definir expresses
na maioria das gramticas das linguagens de programao

Linguagens Formais e Autmatos

35

6 Linguagens Livres do Contexto


6.1
6.2
6.3
6.4

Gramtica Livre do Contexto


rvore de Derivao
Gramtica Livre do Contexto Ambgua
Simplificao de Gramtica Livre do Contexto
6.4.1 Smbolos Inteis
6.4.2 Produes Vazias
6.4.3 Produes que Substituem Variveis
6.4.4 Simplificaes Combinadas
6.5 Formas Normais
6.6 Recurso Esquerda
6.7 Autmato com Pilha

Linguagens Formais e Autmatos

36

6.4 Simplificao de GLC

Simplificao de alguns tipos de produes


sem reduzir o poder de gerao das GLC

Simplificaes so importantes
construo e otimizao de algoritmos
demonstrao de teoremas

Linguagens Formais e Autmatos

37

Simplificaes
Smbolos inteis
excluso de variveis ou terminais no usados
Produes vazias, da forma A
se pertence linguagem: includa produo vazia especfica
Produes que substituem variveis, da forma A B
substituem uma varivel por outra
no adicionam informao de gerao de palavras

Provas omitidas
algoritmos de simplificao atingem os objetivos propostos

Linguagens Formais e Autmatos

38

6 Linguagens Livres do Contexto


6.1
6.2
6.3
6.4

Gramtica Livre do Contexto


rvore de Derivao
Gramtica Livre do Contexto Ambgua
Simplificao de Gramtica Livre do Contexto
6.4.1 Smbolos Inteis
6.4.2 Produes Vazias
6.4.3 Produes que Substituem Variveis
6.4.4 Simplificaes Combinadas
6.5 Formas Normais
6.6 Recurso Esquerda
6.7 Autmato com Pilha

Linguagens Formais e Autmatos

39

6.4.1

Smbolos Inteis

Smbolos inteis
smbolos no usados na gerao de palavras de terminais

Simplificao exclui
produes que fazem referncia a esses smbolos
os prprios smbolos inteis
no necessria qualquer modificao adicional

Linguagens Formais e Autmatos

40

Algoritmo
Etapa 1: qualquer varivel gera terminais
restringe o conjunto de variveis
considera todas as variveis que geram terminais diretamente

(exemplo: A a)
adiciona, sucessivamente, variveis que geram terminais
indiretamente (exemplo: B Ab)
Etapa 2: qualquer smbolo atingvel a partir do smbolo inicial
analisa as produes da gramtica a partir do smbolo inicial
considera exclusivamente o smbolo inicial
sucessivamente, as produes da gramtica so aplicadas:

smbolos referenciados so adicionados aos novos conjuntos


Linguagens Formais e Autmatos

41

Def: Algoritmo: Excluso dos Smbolos Inteis


G = (V, T, P, S)

GLC

Etapa 1: qualquer varivel gera terminais. Gramtica resultante


G1 = (V1, T, P1, S)
construo de V1 V
V1 = ;
repita V1 = V1 { A A P e (T V1)* }
at que o cardinal de V1 no aumente;
P1 possui os mesmos elementos que P, excetuando-se produes
cujas variveis no pertencem a V1

Linguagens Formais e Autmatos

42

Etapa 2: qualquer smbolo atingvel a partir do smbolo inicial


Gramtica resultante
G2 = (V2, T2, P2, S)
T2 = ;
V2 = { S };
repita
V2 = V2 { A X A P1, X V2 };
T2 = T2 { a X a P1, X V2 }
at que os cardinais de V2 e T2 no aumentem;
P2 possui os mesmos elementos que P1, excetuando-se:
produes cujos smbolos no pertencem a V2 ou T2

Linguagens Formais e Autmatos

43

Se as etapas forem executadas em ordem inversa


(Etapa 2 antes da Etapa 1)
pode no atingir o resultado esperado
demonstrao: apresentar um contraexemplo (exerccio)

Linguagens Formais e Autmatos

44

Exp: Excluso dos Smbolos Inteis


G = ({ S, A, B, C }, { a, b, c }, P, S)
P = { S aAa bBb, A a S, C c }
Etapa 1: qualquer varivel gera terminais
Iterao Variveis
incio

{ A, C }

{ A, C, S }

{ A, C, S }

S bBb excluda: B no pertence ao novo conjunto de variveis


Linguagens Formais e Autmatos

45

gramtica resultante da etapa 1


G1 = ({ A, C, S }, { a }, { S aAa, A a S, C c }, S)
Etapa 2: qualquer smbolo atingvel a partir do smbolo inicial
Iterao Variveis Terminais
incio

{S}

{ S, A }

{a}

{ S, A }

{a}

C c excluda: C e c no pertencem aos novos conjuntos


gramtica resultante da etapa 2
G2 = ({ S, A }, { a }, { S aAa, A a S }, S)
Linguagens Formais e Autmatos

46

6 Linguagens Livres do Contexto


6.1
6.2
6.3
6.4

Gramtica Livre do Contexto


rvore de Derivao
Gramtica Livre do Contexto Ambgua
Simplificao de Gramtica Livre do Contexto
6.4.1 Smbolos Inteis
6.4.2 Produes Vazias
6.4.3 Produes que Substituem Variveis
6.4.4 Simplificaes Combinadas
6.5 Formas Normais
6.6 Recurso Esquerda
6.7 Autmato com Pilha

Linguagens Formais e Autmatos

47

6.4.2

Produes Vazias

Excluso de produes vazias (da forma A )


pode determinar modificaes diversas nas produes

Algoritmo
Etapa 1: variveis que constituem produes vazias
A
variveis que geram diretamente
B A: sucessivamente, variveis que indiretamente geram
Etapa 2: excluso de produes vazias
considera apenas as produes no vazias
cada produo cujo lado direito possui uma varivel que gera ,
determina uma produo adicional, sem essa varivel
Etapa 3: gerao da palavra vazia, se necessrio

Linguagens Formais e Autmatos

48

Def: Algoritmo: Excluso das Produes Vazias


G = (V, T, P, S)

GLC

Etapa 1: variveis que constituem produes vazias


V, conjunto das variveis que geram
V = { A A };
repita
V = V { X X X1Xn P
tal que X1,, Xn V }
at que o cardinal de V no aumente;

Linguagens Formais e Autmatos

49

Etapa 2: excluso de produes vazias


Gramtica resultante
G1 = (V, T, P1, S)
construo de P1
P1 = { A };
repita
para toda A P1, X V tal que = 1 X 2,
1 2
faa P1 = P1 { A 1 2 }
at que o cardinal de P1 no aumente;

Linguagens Formais e Autmatos

50

Etapa 3: gerao da palavra vazia, se necessrio


se pertence linguagem
introduz a produo S
gramtica resultante
G2 = (V, T, P2, S)
P2 = P1 { S }

Linguagens Formais e Autmatos

51

Exp: Excluso das Produes Vazias


G = ({ S, X, Y }, { a, b }, P, S)
P = { S aXa bXb , X a b Y, Y }

Etapa 1: variveis que constituem produes vazias

Linguagens Formais e Autmatos

Iterao

incio

{ S, Y }

{ S, Y, X }

{ S, Y, X }

52

Etapa 2: excluso de produes vazias

Iterao

Produes

incio

{ S aXa bXb, X a b Y }

{ S aXa bXb aa bb, X a b Y }

{ S aXa bXb aa bb, X a b Y }

Gramtica resultante
G1 = ({ S, X, Y }, { a, b }, { S aXa bXb aa bb, X a b Y }, S)
Etapa 3: gerao da palavra vazia, se necessrio
palavra vazia pertence linguagem: S includa
Linguagens Formais e Autmatos

53

Gramtica resultante
G2 = ({ S, X, Y }, P2, S)
P2 = { a, b }, { S aXa bXb aa bb , X a b Y }

Observe
Y, originalmente um smbolo til, resultou em um smbolo intil
excluso de produes vazias gerou smbolo intil

Concluso
no qualquer combinao de simplificaes de gramtica
que atinge o resultado desejado

Linguagens Formais e Autmatos

54

6 Linguagens Livres do Contexto


6.1
6.2
6.3
6.4

Gramtica Livre do Contexto


rvore de Derivao
Gramtica Livre do Contexto Ambgua
Simplificao de Gramtica Livre do Contexto
6.4.1 Smbolos Inteis
6.4.2 Produes Vazias
6.4.3 Produes que Substituem Variveis
6.4.4 Simplificaes Combinadas
6.5 Formas Normais
6.6 Recurso Esquerda
6.7 Autmato com Pilha

Linguagens Formais e Autmatos

55

6.4.3

Produes que Substituem Variveis

Produo que substitui uma varivel por outra


tipo A B
no adiciona informao em termos de gerao de palavras
se B , ento
A B pode ser substituda por A
generalizao da ideia: algoritmo proposto

Linguagens Formais e Autmatos

56

Algoritmo
Etapa 1: fecho transitivo de cada varivel
conjunto de variveis que podem substitu-la transitivamente
ex: se A B e B C, ento B e C pertencem ao fecho de A

Etapa 2: excluso das produes que substituem variveis


se atingvel a partir de A atravs de seu fecho
substitui A B por A

Linguagens Formais e Autmatos

57

Def: Algoritmo: Excluso das Produes que


Substituem Variveis
G = (V, T, P, S)

GLC

Etapa 1: fecho transitivo de cada varivel


para toda A V
faa FECHO-A = { B A B e A + B usando
exclusivamente produes de P da forma X Y };

Linguagens Formais e Autmatos

58

Etapa 2: excluso das produes que substituem variveis


Gramtica resultante
G1 = (V, T, P1, S)
construo de P1
P1 = { A A P e V };
para toda A V e B FECHO-A
faa se B P e V
ento P1 = P1 { A };

Linguagens Formais e Autmatos

59

Exp: Excluso das Produes que Substituem


Variveis
G = ({ S, X }, { a, b }, P, S)

GLC

P = { S aXa bXb, X a b S }
Etapa 1: fecho transitivo da cada varivel
FECHO-S =
FECHO-X = { S }

Linguagens Formais e Autmatos

60

Etapa 2: excluso das produes da forma A B

Iterao

Produes

inicial

{ S aXa bXb, X a b }

{ S aXa bXb, X a b }

{ S aXa bXb, X a b aXa bXb }

Gramtica resultante
G1 = ({ S, X }, { a, b }, P1, S)
P1 = { S aXa bXb, X a b aXa bXb }, S)

Linguagens Formais e Autmatos

61

6 Linguagens Livres do Contexto


6.1
6.2
6.3
6.4

Gramtica Livre do Contexto


rvore de Derivao
Gramtica Livre do Contexto Ambgua
Simplificao de Gramtica Livre do Contexto
6.4.1 Smbolos Inteis
6.4.2 Produes Vazias
6.4.3 Produes que Substituem Variveis
6.4.4 Simplificaes Combinadas
6.5 Formas Normais
6.6 Recurso Esquerda
6.7 Autmato com Pilha

Linguagens Formais e Autmatos

62

6.4.4

Simplificaes Combinadas

No qualquer combinao de simplificaes de GLC


que atinge o resultado desejado

Exemplo: gramtica sem smbolos inteis, mas com


produes que substituem variveis
algoritmo para excluir produes que substituem variveis pode
gerar smbolos inteis (por qu?)

Sequncia de simplificao recomendada


Excluso das produes vazias
Excluso das produes que substituem variveis
Excluso dos smbolos inteis

Linguagens Formais e Autmatos

63

6 Linguagens Livres do Contexto


6.1
6.2
6.3
6.4
6.5

Gramtica Livre do Contexto


rvore de Derivao
Gramtica Livre do Contexto Ambgua
Simplificao de Gramtica Livre do Contexto
Formas Normais
6.5.1 Forma Normal de Chomsky
6.5.2 Forma Normal de Greibach
6.6 Recurso Esquerda
6.7 Autmato com Pilha

Linguagens Formais e Autmatos

64

6.5 Formas Normais

Formas normais
restries rgidas na forma das produes sem reduzir o poder de
gerao das GLC, excetuando-se a gerao da palavra vazia

Aplicaes
desenvolvimento de algoritmos
destaque para reconhecedores de linguagens
prova de teoremas

Linguagens Formais e Autmatos

65

Forma Normal de Chomsky: produes so da forma


A BC

ou

Forma Normal de Greibach: produes so da forma


A a

Aa

palavra de variveis

Algoritmos de converso
provas omitidas de que os algoritmos atingem os objetivos
propostos

Linguagens Formais e Autmatos

66

6 Linguagens Livres do Contexto


6.1
6.2
6.3
6.4
6.5

Gramtica Livre do Contexto


rvore de Derivao
Gramtica Livre do Contexto Ambgua
Simplificao de Gramtica Livre do Contexto
Formas Normais
6.5.1 Forma Normal de Chomsky
6.5.2 Forma Normal de Greibach
6.6 Recurso Esquerda
6.7 Autmato com Pilha

Linguagens Formais e Autmatos

67

6.5.1

Forma Normal de Chomsky

Def: Forma Normal de Chomsky (FNC)


G = (V, T, P, S)

GLC

Todas as produes so da forma (A, B e C so variveis, a terminal)


A BC

ou

Aa

Palavra vazia
no pertence linguagem gerada por uma gramtica na FNC

Linguagens Formais e Autmatos

68

Algoritmo: trs etapas


Etapa 1: simplificao da gramtica
A
linguagem no possui
AB
um smbolo no lado direito: terminal
smbolos inteis
opcional
Etapa 2: variveis no lado direito das produes
lado direito de comprimento 2: exclusivamente variveis
se for um terminal?
Etapa 3: exatamente duas variveis no lado direito das produes
como transformar produes da forma A B1B2Bn (n 2)?

Linguagens Formais e Autmatos

69

Def: Algoritmo - Forma Normal de Chomsky


G = (V, T, P, S)

GLC tal que GERA(G)

Etapa 1: simplificao da gramtica


G1 = (V1, T1, P1, S)
simplificaes combinadas
produes vazias
produes que substituem variveis
smbolos inteis (opcional)

Linguagens Formais e Autmatos

gramtica resultante
(algoritmos estudados)

70

Etapa 2: transformao do lado direito das produes de comprimento


maior ou igual a dois
G2 = (V2, T1, P2, S)
construo de V2 e P2

gramtica resultante

(para cada varivel a, suponha Ca V2)

V2 = V 1 ;
P2 = P1;
para toda A X1X2Xn P2 tal que n 2
faa se para r { 1,,n }, Xr um smbolo terminal
ento (suponha Xr = a)
V2 = V2 { Ca };
substitui
a por Ca em A X1X2Xn P2;
P2 = P2 { Ca a };
Linguagens Formais e Autmatos

71

Etapa 3: transformao do lado direito das produes de comprimento


maior ou igual a trs em produes com exatamente duas variveis
G3 = (V3, T1, P3, S)

gramtica resultante

construo de V3 e P3
a cada ciclo, suponha (D1 V3,,Dn-2 V3)
V3 = V2;
P3 = P2;
para toda A B1B2Bn P3 tal que n 3
faa P3 = P3 { A B1B2Bn };
V3 = V3 { D1,,Dn-2 };
P3 = P3 { A B1D1, D1 B2D2,,
Dn-3 Bn-2Dn-2, Dn-2 Bn-1Bn };

Linguagens Formais e Autmatos

72

Exp: Algoritmo: Forma Normal de Chomsky


G = ({ E }, { , , [, ], x }, P, E)

expr. aritmticas

P = { E EE EE [E] x }
Etapa 1: simplificao da gramtica

j est simplificada

Etapa 2: lado direito das produes de comprimento 2


E x est OK
demais produes
E E C E E C E C E C
C
C
C[[

Linguagens Formais e Autmatos

73

C] ]

Etapa 3: exatamente duas variveis no lado direito das produes


produes
E E C E E C E C[ E C]
substitudas por
E E D1 E D2 C D3
D1 C E
D2 C E
D3 E C]

Linguagens Formais e Autmatos

74

Gramtica resultante, na Forma Normal de Chomsky


GFNC = ({ E, C, C, C, C, D1, D2, D3 }, { , , [, ], x }, PFNC, E)
Produes de PFNC
E E D1 E D2 C[ D3 x,
D1 C E
D2 C E
D3 E C,
C
C
C[ [
C] ]

Linguagens Formais e Autmatos

75

6 Linguagens Livres do Contexto


6.1
6.2
6.3
6.4
6.5

Gramtica Livre do Contexto


rvore de Derivao
Gramtica Livre do Contexto Ambgua
Simplificao de Gramtica Livre do Contexto
Formas Normais
6.5.1 Forma Normal de Chomsky
6.5.2 Forma Normal de Greibach
6.6 Recurso Esquerda
6.7 Autmato com Pilha

Linguagens Formais e Autmatos

76

6.5.2

Forma Normal de Greibach

Def: Forma Normal de Greibach (FNG)


G = (V, T, P, S)

GLC

Todas as suas produes so da forma


A a

( uma palavra de V*)

Palavra vazia
no pertence linguagem gerada por uma gramtica na FNG

Linguagens Formais e Autmatos

77

Algoritmo (etapas)

Etapa 1: simplificao da gramtica. Anloga FNC


A
AB
smbolos inteis

linguagem no possui
primeiro smbolo no lado direito: terminal
opcional

Etapa 2: renomeao das variveis em uma ordem crescente


exemplo: A1, A2,, An
diferentes critrios de renomeao
diferentes gramticas na FNG
todas equivalentes (geram a mesma linguagem)

Linguagens Formais e Autmatos

V = n

78

Etapa 3: produes na forma Ar As, em que r s


Ar As tais que r s so modificadas
substitui As pelas suas produes (As 1 m)
resulta em Ar 1 m, e assim sucessivamente
conjunto de variveis finito: limite para produes crescentes
gerao de terminal
Ar a
gerao de recurso
Ar Ar

Linguagens Formais e Autmatos

79

Etapa 4: excluso das recurses da forma Ar Ar


podem existir originalmente na gramtica ou ser geradas pela etapa
anterior
eliminao da recurso esquerda
introduz variveis auxiliares
inclui recurso direita

Linguagens Formais e Autmatos

Br Br

80

Etapa 5: um terminal no incio do lado direito de cada produo


produes da forma Ar As so tais que r s
portanto, produes da maior varivel Na obrigatoriamente iniciam
por terminal no lado direito
An-1 An: substitui An pelas suas produes
(An a)
lado direito das produes de An-1 tambm inicia por terminal
exemplo: An-1 a
repetio para An-2,,A1
resulta em produes exclusivamente da forma Ar a
Etapa 6: produes na forma A a, palavra de variveis

Linguagens Formais e Autmatos

81

anloga correspondente etapa do algoritmo relativo FNC

Def: Algoritmo: Forma Normal de Greibach


G = (V, T, P, S)

GLC tq GERA(G)

Etapa 1: simplificao da gramtica


G1 = (V1, T1, P1, S)
simplificaes combinadas
produes vazias
produes que substituem variveis
smbolos inteis (opcional)

Linguagens Formais e Autmatos

gramtica resultante
(algoritmos estudados)

82

Etapa 2: renomeao das variveis em uma ordem crescente qualquer


G2 = (V2, T1, P2, Ai)

gramtica resultante

suponha que Ai corresponde renomeao de S

Etapas 3 e 4: transformao de produes para a forma Ar As, na


qual r s e excluso das recurses da forma Ar Ar
G3 = (V3, T1, P3, Ai)

gramtica resultante

construo de V3 e P3 supondo que


cardinal de V2 n
a cada ciclo, Br V3

Linguagens Formais e Autmatos

83

P3 = P2
para r variando de 1 at n
faa
para s variando de 1 at r-1
Etapa 3
faa para toda Ar As P3
faa excluir Ar As de P3;
para
toda As P3
faa
P3 = P3 { Ar }
para toda Ar Ar P3
Etapa 4
faa excluir Ar Ar de P3;
V3 = V3 { Br };
P3 = P3 { Br } { Br Br };
para toda Ar P3 tq no inicia por Ar e
alguma Ar Ar foi excluda
faa P3 = P3 { Ar Br };
Linguagens Formais e Autmatos

84

Etapa 5: um terminal no incio do lado direito de cada produo


G4 = (V3, T1, P4, Ai)

gramtica resultante

construo de P4
P4 = P3;
para r variando de n-1 at 1 e toda Ar As P4
faa excluir Ar As de P4;
para toda As de P4
faa P4 = P4 { Ar };

Linguagens Formais e Autmatos

85

produes relativas s variveis auxiliares Br iniciam por um


terminal do lado direito
para
faa

toda Br As r
excluir Br As r de P4;
para toda As a
faa P4 = P4 { Br a r };

Etapa 6: produes na forma A a, palavra de variveis


anloga correspondente etapa da Forma Normal de Chomsky

Linguagens Formais e Autmatos

86

Exp: Algoritmo: Forma Normal de Greibach


G = ({ S, A }, { a, b }, P, S)

GLC

P = { S AA a, A SS b }
Etapa 1: simplificao da gramtica
j est simplificada
Etapa 2: renomeao das variveis em uma ordem crescente qualquer
S e A so renomeadas para A1 e A2
A1 A2A2 a
A2 A1A1 b

Linguagens Formais e Autmatos

87

Etapas 3 e 4: transformao de produes para a forma Ar As, na


qual r s e excluso das recurses da forma Ar Ar
A2 A1A1 necessita ser modificada, resultando em
A1 A2A2 a
A2 A2A2A1 aA1 b
A2 A2A2A1 contm recurso
A1 A2A2 a
A2 aA1 b aA1B bB
B A2A1 A2A1B

Linguagens Formais e Autmatos

(varivel auxiliar B)

88

Etapa 5: um terminal no incio do lado direito de cada produo


lado direito das produes da maior varivel A2 inicia por
um terminal
substitui A2 em A1 A2A2 pelas correspondentes derivaes
A1 aA1A2 bA2 aA1BA2 bBA2 a
A2 aA1 b aA1B bB
B A2A1 A2A1B
produes referentes varivel B
B aA1A1 bA1 aA1BA1 bBA1
aA1A1B bA1B aA1BA1B bBA1B

Linguagens Formais e Autmatos

89

Etapa 6: produes na forma A a, composta por variveis


produes j esto nessa forma
Gramtica resultante, na Forma Normal de Greibach
GFNG = ({ A1, A2, B }, { a, b }, PFNG, A1),
PFNG = {
A1 aA1A2 bA2 aA1BA2 bBA2 a,
A2 aA1 b aA1B bB,
B aA1A1 bA1 aA1BA1 bBA1 aA1A1B bA1B
aA1BA1B bBA1B }

Linguagens Formais e Autmatos

90

6 Linguagens Livres do Contexto


6.1
6.2
6.3
6.4
6.5
6.6
6.7

Gramtica Livre do Contexto


rvore de Derivao
Gramtica Livre do Contexto Ambgua
Simplificao de Gramtica Livre do Contexto
Formas Normais
Recurso Esquerda
Autmato com Pilha

Linguagens Formais e Autmatos

91

6.6 Recurso Esquerda

Recurso esquerda
A + A

Frequentemente desejvel que a gramtica no seja


recursiva esquerda
exemplo: desenvolvimento de algoritmos reconhecedores

Algoritmo
quatro primeiras etapas do algoritmo Forma Normal de Greibach

Linguagens Formais e Autmatos

92

Def: Algoritmo: Gramtica sem Recurses Esquerda


G = (V, T, P, S)

GLC

Etapa 1: simplificao da gramtica


Etapa 2: renomeao das variveis em uma ordem crescente qualquer
Etapa 3: produes na forma Ar As, na qual r s
Etapa 4: excluso das recurses da forma Ar Ar

Linguagens Formais e Autmatos

93

6 Linguagens Livres do Contexto


6.1
6.2
6.3
6.4
6.5
6.6
6.7

Gramtica Livre do Contexto


rvore de Derivao
Gramtica Livre do Contexto Ambgua
Simplificao de Gramtica Livre do Contexto
Formas Normais
Recurso Esquerda
Autmato com Pilha
6.7.1 Definio do Autmato com Pilha
6.7.2 Autmato com Pilha e Linguagens Livres do
Contexto
6.7.3 Nmero de Pilhas e o Poder Computacional

Linguagens Formais e Autmatos

94

6.7 Autmato com Pilha

Classe das Linguagens Livres do Contexto


pode ser associada a um formalismo do tipo autmato
Autmato com pilha

Autmato com pilha


anlogo ao autmato finito
incluindo uma pilha como memria auxiliar
no determinismo

Linguagens Formais e Autmatos

95

Pilha
independente da fita de entrada
no possui limite mximo de tamanho
to grande quanto se queira
baseada na noo de conjunto infinitamente contvel

Linguagens Formais e Autmatos

96

Estrutura de uma pilha


ltimo smbolo gravado o primeiro a ser lido
base: fixa e define o seu incio
topo: varivel e define a posio do ltimo smbolo gravado
gravao

leitura

topo
sentido
de
crescimento
base
Linguagens Formais e Autmatos

97

No determinismo: importante e necessrio


aumenta o poder computacional dos AP
exemplo
{ wwr w palavra sobre { a, b } }
reconhecimento s possvel por um AP No Determinstico

Linguagens Formais e Autmatos

98

AP Nmero de estados
qualquer LLC pode ser reconhecida por um AP
com somente um estado (ou trs estados, dependendo da
definio)
pilha suficiente como nica memria
estados no so necessrios para "memorizar" informaes
passadas
estados no AP
poderiam ser excludos sem se reduzir o poder computacional
como a pilha no possui tamanho mximo
AP pode assumir tantos estados quanto se queira

Linguagens Formais e Autmatos

99

6 Linguagens Livres do Contexto


6.1
6.2
6.3
6.4
6.5
6.6
6.7

Gramtica Livre do Contexto


rvore de Derivao
Gramtica Livre do Contexto Ambgua
Simplificao de Gramtica Livre do Contexto
Formas Normais
Recurso Esquerda
Autmato com Pilha
6.7.1 Definio do Autmato com Pilha
6.7.2 Autmato com Pilha e Linguagens Livres do
Contexto
6.7.3 Nmero de Pilhas e o Poder Computacional

Linguagens Formais e Autmatos

100

6.7.1

Definio do Autmato com Pilha

Duas definies universalmente aceitas


estados finais
para aceitando ao atingir um estado final
inicialmente a pilha vazia
pilha vazia
para aceitando quando a pilha estiver vazia
inicialmente, a pilha contm um smbolo especial, denominado
smbolo inicial da pilha
no existem estados finais
definies equivalentes (possuem o mesmo poder computacional)
adotada a definio que usa estados finais

Linguagens Formais e Autmatos

101

AP No Determinstico ou simplesmente AP
Fita
anloga do autmato finito

Pilha
memria auxiliar
pode ser usada para leitura e gravao
Unidade de Controle
reflete o estado corrente da mquina
possui: cabea de fita e cabea de pilha
Programa, Funo Programa ou Funo de Transio comanda
leitura da fita
leitura e gravao da pilha

Linguagens Formais e Autmatos

102

define o estado da mquina

Pilha
cada clula armazena um smbolo do alfabeto auxiliar
pode ser igual ao alfabeto de entrada
leitura ou gravao sempre no topo
no possui tamanho fixo, nem mximo
tamanho corrente: tamanho da palavra armazenada
valor inicial: vazio (palavra vazia)

Linguagens Formais e Autmatos

103

Unidade de controle
nmero finito e predefinido de estados
Cabea da Fita
unidade de leitura: acessa uma clula da fita de cada vez
move exclusivamente para a direita
pode testar se a entrada foi completamente lida
Cabea da Pilha
unidade de leitura e gravao

Linguagens Formais e Autmatos

104

Cabea da Pilha: leitura e gravao


Leitura
move para a direita ("para baixo") ao ler um smbolo
acessa um smbolo de cada vez, sempre do topo
exclui o smbolo lido
pode testar se a pilha est vazia
Gravao
move para a esquerda ("para cima") ao gravar
pode gravar uma palavra composta por mais de um smbolo
smbolo do topo o mais esquerda da palavra gravada

Linguagens Formais e Autmatos

105

Controle Finito?
Unidade de controle: nmero finito e predefinido de estados
Mas no dita de controle finito
em oposio aos autmatos finitos
contedo da pilha tambm caracteriza o estado do sistema

Linguagens Formais e Autmatos

106

Programa uma funo parcial


dependendo
estado corrente
smbolo lido da fita
smbolo lido da pilha
determina
novo estado
palavra a ser gravada (na pilha)
possui a facilidade de movimento vazio
permite mudar de estado sem ler da fita

Linguagens Formais e Autmatos

107

Def: Autmato com Pilha (No Determinstico)


M = (, Q, , q0, F, V)
- (alfabeto de smbolos) de entrada
Q - conjunto de estados possveis o qual finito
- (funo) programa ou funo de transio
funo parcial
: Q ( { , ? }) (V { , ? }) 2QV*

(p, x, y) = { (q1, v1),,(qn, vn) }

transio

q0 - elemento distinguido de Q: estado inicial


F - subconjunto de Q: conjunto de estados finais
V - alfabeto auxiliar ou alfabeto da pilha

Linguagens Formais e Autmatos

108

Caractersticas da funo programa


funo parcial
"?" indica teste de
pilha vazia
toda palavra de entrada lida
indica
movimento vazio da fita ou pilha (no l, nem move a cabea)
no determinstico: basta que o movimento seja vazio na fita
gravao de
nenhuma gravao realizada na pilha (e no move a cabea)

Linguagens Formais e Autmatos

109

Exemplo: (p, ?, ) = { (q, ) }


no estado p, se a entrada foi completamente lida, no l da pilha
assume o estado q e no grava na pilha

Programa como diagrama: (p, x, y) = { (q, v) }

Linguagens Formais e Autmatos

110

(x, y, v)

estado anterior
smbolo lido da fita

novo estado
palavra gravada na pilha

b l lid d

ilh

Computao de um AP
sucessiva aplicao da funo programa para cada smbolo da
entrada (da esquerda para a direita) at ocorrer uma condio de
parada

Linguagens Formais e Autmatos

111

possvel que nunca atinja uma condio de parada


processa indefinidamente (loop infinito)
exemplo: empilha e desempilha um mesmo smbolo
indefinidamente, sem ler da fita
definio formal
estende a definio da funo programa
argumento: um estado e uma palavra
exerccio

Linguagens Formais e Autmatos

112

Parada de um AP
Aceita
pelo menos um dos caminhos alternativos atinge um estado
final
no importa se leu ou no toda a entrada
Rejeita
todos os caminhos alternativos rejeitam a entrada
a funo programa indefinida para cada caso
Loop
pelo menos um caminho alternativo est em loop infinito
demais: rejeitam ou tambm esto em loop infinito

Linguagens Formais e Autmatos

113

Def: Linguagem Aceita, Rejeitada, Loop


M = (, Q, , q0, F, V) autmato com pilha
Linguagem Aceita ou Linguagem Reconhecida: ACEITA(M) ou L(M)
todas as palavras de * aceitas por M, a partir de q0
Linguagem Rejeitada: REJEITA(M)
todas as palavras de * rejeitadas por M, a partir de q0
Linguagem Loop: LOOP(M)
todas as palavras de * para as quais M fica processando
indefinidamente a partir de q0

Linguagens Formais e Autmatos

114

Partio de * induzida por um AP M

*
ACEITA(M)

REJEITA(M)

LOOP(M)

algum conjunto vazio?


partio induzida contm um conjuntos a menos
uma classe de equivalncia no pode ser vazia

Linguagens Formais e Autmatos

115

Exp: Autmato com Pilha: Duplo Balanceamento


M1 = ({ a, b }, { q0, q1, qf }, 1, q0, { qf }, { B })

(a, , B)

q0

(b, B, )

(?, ?, )

q1

(b, B, )

(?, ?, )
qf

Linguagens Formais e Autmatos

116

Exp: Autmato com Pilha: Duplo Balanceamento


M1 = ({ a, b }, { q0, q1, qf }, 1, q0, { qf }, { B })
AP determinstico
ACEITA(M1) = L1
LOOP(M1) vazio?
1 (q0, a, ) = { (q0, B) }
1 (q0, b, B) = { (q1, ) }
1 (q0, ?, ?) = { (qf, ) }
1 (q1, b, B) = { (q1, ) }
1 (q1, ?, ?) = { (qf, ) }

Linguagens Formais e Autmatos

117

Exp: Autmato com Pilha: Palavra e sua Reversa


L3 = { wwr w pertence a { a, b }* }
ACEITA(M3) = L3
LOOP(M3) vazio?
AP no determinstico (por qu?)

q0

(a, , a)
(b, , b)
Linguagens Formais e Autmatos

(, , )

q1

(?, ?, )

qf

(a, a, )
(b, b, )
118

Exp: Autmato com Pilha: anbman+m


L4 = { anbman+m n 0, m 0 }
ACEITA(M4) = L4
LOOP(M4) vazio?
AP no determinstico (por qu?)

q0

(, , )

(a, , X)

Linguagens Formais e Autmatos

q1

(b, , X)

(, , )

q2

(?, ?, )

qf

(a, X, )

119

6 Linguagens Livres do Contexto


6.1
6.2
6.3
6.4
6.5
6.6
6.7

Gramtica Livre do Contexto


rvore de Derivao
Gramtica Livre do Contexto Ambgua
Simplificao de Gramtica Livre do Contexto
Formas Normais
Recurso Esquerda
Autmato com Pilha
6.7.1 Definio do Autmato com Pilha
6.7.2 Autmato com Pilha e Linguagens Livres do
Contexto
6.7.3 Nmero de Pilhas e o Poder Computacional

Linguagens Formais e Autmatos

120

6.7.2

AP e Linguagens Livres do Contexto

Classe linguagens aceitas por AP = Classe LLC


classe das linguagens geradas pelas GLC

Construo de um AP a partir de uma GLC qualquer,


permite concluir:
construo de um reconhecedor para uma LLC a partir de sua
gramtica simples e imediata
qualquer LLC pode ser aceita por um AP com somente um estado
estados no aumentam o poder computacional

Linguagens Formais e Autmatos

121

Teorema: GLC AP
Se L uma LLC, ento existe M, AP M tal que ACEITA(M) = L

Prova: Suponha que L


Construo de um AP a partir da gramtica na FNG
produes da forma A a, palavra de variveis
AP resultante simula a derivao mais esquerda
l o smbolo a da fita
l o smbolo A da pilha
empilha a palavra de variveis
AP M a partir da gramtica G = (V, T, P, S)

Linguagens Formais e Autmatos

122

GFNG = (VFNG, TFNG, PFNG, S), G na Forma Normal de Greibach


M = (TFNG, { q0, q1, qf }, , q0, { qf }, VFNG)
(q0, , ) = { (q1, S) }
(q1, a, A) = { (q1, ) A a PFNG }
(q1, ?, ?) = { (qf, ) }

q0

(, , S)

q1

(?, ?, )

qf

(a1, A1, 1)
...
(an, An, n)
Linguagens Formais e Autmatos

123

A demonstrao de que ACEITA(M) = GERA(GFNG)


induo no nmero de movimentos de M (ou derivaes de GFNG)
exerccio
como o AP pode ser modificado para tratar a palavra vazia?

Linguagens Formais e Autmatos

124

Exp: GLC AP: L5 = { anbn n 1 }


Gramtica na Forma Normal de Greibach
G5 = ({ S, B }, { a, b }, P5, S)
P5 = { S aB aSB, B b }
Correspondente AP
M5 = ({ a, b }, { q0, q, qf }, 5, q0, { qf }, { S, B })

Linguagens Formais e Autmatos

125

q0

(, , S)

q1

(?, ?, )

qf

(a, S, B)
(a, S, SB)
(b, B, )

Corolrio : AP Nmero de Estados


Se L uma LLC, ento existe M
AP com controle de aceitao por estados finais, com trs estados,
tal que ACEITA(M) = L
AP com controle de aceitao por pilha vazia, com um estado tal
que ACEITA(M) = L

Linguagens Formais e Autmatos

126

Corolrio : Existncia de um AP que Sempre Para


Se L uma LLC, ento existe M, AP, tal que
ACEITA(M) = L
REJEITA(M) = * - L
LOOP(M) =

Teorema: AP GLC
Se L aceita por um AP, ento L LLC
demonstrao omitida

Obs: Estados Poder Computacional dos AP


A combinao dos resultados:

Linguagens Formais e Autmatos

127

Corolrio: AP Nmero de Estados


Corolrio: Existncia de um AP que Sempre Para
Teorema: AP GLC
comprovam que o uso dos estados como "memria" no aumenta o
poder de reconhecimento do AP

Linguagens Formais e Autmatos

128

6 Linguagens Livres do Contexto


6.1
6.2
6.3
6.4
6.5
6.6
6.7

Gramtica Livre do Contexto


rvore de Derivao
Gramtica Livre do Contexto Ambgua
Simplificao de Gramtica Livre do Contexto
Formas Normais
Recurso Esquerda
Autmato com Pilha
6.7.1 Definio do Autmato com Pilha
6.7.2 Autmato com Pilha e Linguagens Livres do
Contexto
6.7.3 Nmero de Pilhas e o Poder Computacional

Linguagens Formais e Autmatos

129

6.7.3

Nmero de Pilhas e o Poder Computacional

Linguagens Formais e Autmatos

130

Modelo autmato com pilha


Adequado para estudos aplicados e formais
pilha adequada para implementao em computadores
poucas modificaes na definio determinam significativas
alteraes no poder computacional
principais estudos de linguagens e computabilidade
podem ser desenvolvidos usando-se exclusivamente AP
variando o nmero de pilhas
com ou sem no determinismo

Linguagens Formais e Autmatos

131

Autmato com Pilha, sem usar a estrutura de pilha


estados: nica forma de memorizar informaes passadas
muito semelhante ao autmato finito
AP, sem usar a pilha, com ou sem no determinismo
reconhecem a Classe das Linguagens Regulares

Linguagens Formais e Autmatos

132

Autmato com Pilha Determinstico


aceita a Classe das Linguagens Livres do Contexto Determinsticas
importante subconjunto prprio da Classe das LLC
implementao de um AP determinstico simples e eficiente
facilita o desenvolvimento de analisadores sintticos
algumas propriedades da Classe das LLC Determinsticas
existe um tipo de gramtica que gera exatamente tal classe
(exerccio de pesquisa)
fechada para a operao de complemento
no fechada para as operaes de unio, interseco e
concatenao

Linguagens Formais e Autmatos

133

Autmato com (uma) Pilha No Determinstico


aceitam exatamente a Classe das LLC
Autmato com Duas Pilhas
mesmo poder computacional da Mquina de Turing
considerada o dispositivo mais geral de computao
se existe um algoritmo para resolver um problema
pode ser expresso como um autmato com duas pilhas
no determinismo no aumenta o poder computacional

Linguagens Formais e Autmatos

134

Autmato com Mltiplas Pilhas


poder computacional de um autmato com mais de duas pilhas
equivalente ao do autmato com duas pilhas
se um problema solucionado por um autmato com mltiplas
pilhas, pode ser solucionado por um autmato com duas pilhas

Linguagens Formais e Autmatos

135

Linguagens Formais e Autmatos


P. Blauth Menezes
1
2
3
4
5
6
7
8
9

Linguagens Formais e Autmatos

Introduo e Conceitos Bsicos


Linguagens e Gramticas
Linguagens Regulares
Propriedades das Linguagens Regulares
Autmato Finito com Sada
Linguagens Livres do Contexto
Propriedades e Reconhecimento das Linguagens
Livres do Contexto
Linguagens Recursivamente Enumerveis e
Sensveis ao Contexto
Hierarquia de Classes de Linguagens e Concluses

136

Linguagens Formais e
Autmatos
P. Blauth Menezes
blauth@inf.ufrgs.br

Departamento de Informtica Terica


Instituto de Informtica / UFRGS

Linguagens Formais e Autmatos

137

Você também pode gostar