Escolar Documentos
Profissional Documentos
Cultura Documentos
(CEUNES-UFES)ara adicionar um
Prof. Francisco de Assis S. Santos, Dr.
Tema: Gramticas e Linguagens Formais
1.1 Alfabeto
Um alfabeto um conjunto finito de smbolos ou
caracteres (letras e dgitos) . Portanto:
Um conjunto infinito no um alfabeto;
O Conjunto vazio um alfabeto.
1.2 Palavra
Uma Palavra, Cadeia de caracteres ou Sentena sobre um
alfabeto uma sequncia finita de smbolos, do alfabeto,
justapostos.
Portanto, uma cadeia sem smbolos um palavra vlida e
o smbolo denota cadeia vazia ou palavra vazia.
1.2.1 Prefixo, Sufixo, Subpalavra: Um prefixo (respectivamente,
Sufixo) de uma palavra qualquer sequncia inicial/final de
smbolos da palavra.
1.2 Palavra
Exemplo de Palavra, Prefixo, Sufixo, Subpalavra:
a)abcb um palavra sobre o alfabeto {a, b, c}
b)Em relao a palavra abcb vlido:
, a, ab, abc, abcb so todos prefixos;
, b, cb, bcb, abcb so todos os sufixos.
c) Qualquer prefixo ou sufixo de uma palavra uma subpalavra.
1.5 Gramtica
Gramtica um conjunto finito de regras as quais, quando
aplicadas sucessivamente, geram palavras. O conjunto de todas as
palavras geradas por uma gramtica define a linguagem.
Uma Gramtica de Chomsky, Gramtica Irrestrita ou
simplesmente Gramtica uma qudrupla ordenada: G = (V, T, P, S)
na qual:
V, um conjunto finito de smbolos variveis ou no-terminais;
T, um conjunto finito de smbolos terminais de V.
1.5 Gramtica
G = (V, T, P, S)
na qual:
V, um conjunto finito de smbolos variveis ou no-terminais;
T, um conjunto finito de smbolos terminais de V.
P: (V T)+ (V T)* uma relao finita (ou seja, P um
conjunto finito de pares), denominada de Relao de Produes ou
simplesmente Produes;
S: um elemento distinguido de V denominado smbolo inicial ou
varivel inicial.
1.5 Gramtica
Uma regra de produo (, ) representada como:
1.5 Gramtica
1.5.1 Relao de Derivao
Seja G = (V, T, P, S) um gramtica. Uma derivao um par da
Relao de Derivao denotada por com domnio em (V
relao de derivao:
S
1.5 Gramtica
1.5.2 Linguagem Gerada
Seja G = (V, T, P, S) um gramtica. A Linguagem Gerada pela
gramtica G, denotada por L(G) ou GERA(G), composta por
todas as palavras de smbolos terminais derivveis a partir do
smbolo inicial S, ou seja:
L(G) = {w T* | S +w}
1.5 Gramtica
Exemplo 1 Gramtica, Derivao, Linguagem Gerada: Nmeros
Naturais
Suponha que se deseja definir uma gramtica capaz de gerar
qualquer nmero natural
DN, D
0| 1 |...|9}
1.5 Gramtica
Continuao do Exemplo 1: G = (V, T, P, N), sendo:
V = {N, D}, T = {0, 1, 2,..., 9} ,
P = { N D, N
DN, D
0| 1 |...|9}
N DN
5N
N DN
52N
ND
DN
D5
5DN
D2
52D
D1
521
Exerccios
1) Assuma G = (V, T, P, N), sendo:
V = {N, D}, T = {0, 1, 2,..., 9} ,
P = { N D, N
DN, D
0| 1 |...|9}
Exerccios
3) Considere a Gramtica G = ({S, X, Y, A, B, F}, {a, b}, P, S), na qual:
P={S
XY,
X
XaA | XbB | F
Aa
aA, Ab
bA, AY
Ya,
Ba
aB, Bb
bB, BY
Yb,
Fa
aF, Fb
bF, FY
Exerccios
4) Apresente os possveis prefixos e sufixos de cada uma das
palavras abaixo:
a)teoria
b)universidade
c)aaa
d)Abccba
e)Abcabc
5) Desenvolva uma gramtica que gere expresses aritmticas com
parnteses balanceados, dois operadores (* e +) e um operando X.
Por exemplo, as seguintes palavras so expresses aritmticas
vlidas: X X*(X+X) (((((X)))))
Exerccios
6) Desenvolva uma gramtica que gere a seguinte linguagem:
2. Autmato Finito
Um Autmato Finito (AF) uma Mquina (procedimento aceitador ou
reconhecedor). um sistema de estados finitos, trata-se de um modelo
computacional
comum
em
diversos
estudos
terico-formais
da
Computao.
Reconhece uma quantidade finita e limitada de informao, a
qualquer momento.
So classificados em Autmatos Finitos Determinsticos e
Autmatos Finitos no Determinsticos.
Controle
Unidade de controle
M=(,Q,,q0,F), sendo:
Estado anterior
Novo Estado
Smbolo lido
Figura 1 Diagrama de Transio de estados de um autmato Finito Determinstico
qo
q1
qf
q1
qf
q2
q2
qf
qf
q1
q2
qf
Verificar se
Exerccios Propostos
1) Considere a Mquina M1 apresentada e construa seu
grafo/diagrama de transio de estados.
Resoluo:
Exerccios Propostos
2) Seja a M2 = ({a,b},{q0,q1,q2,q3},,q0,{q0}), esta aceita a Linguagem
L = {w | w possui um nmero par de a e nmero par de b}. Obtenha
a funo de transio no formato de quadro, considerando o
diagrama abaixo, e teste as palavras de entrada: w1=abba,
w2=bbabab e w3=ababa.
Exerccios Propostos
3) Elabore um AFD para aceitar valores monetrios em Reais. Estes
possuem exatamente duas casas decimais depois da vrgula, e
usam ponto como separador de milhar.
Exemplos: { R$2,35 ; R$1.546,98 ; R$1,00 ; R$10.000.000.000,00 }
4) Elabore um autmato finito determinstico para aceitar um
nmero mpar de cada smbolo (a, b).
Exerccios Propostos
3) Elabore um AFD para aceitar valores monetrios em Reais. Estes
possuem exatamente duas casas decimais depois da vrgula, e usam
ponto como separador de milhar. Exemplos: {R$2,35 ; R$1.546,98 ;
R$1,00 ; R$10.000.000.000,00}
Resoluo: um AFD ou AFN?
Exerccios Propostos
3) Elabore um AFD para aceitar valores monetrios em Reais. Estes
possuem exatamente duas casas decimais depois da vrgula, e usam
ponto como separador de milhar. Exemplos: {R$2,35 ; R$1.546,98 ;
R$1,00 ; R$10.000.000.000,00}
Resoluo: um AFD ou AFN?
Exerccios Propostos
4) Elabore AFD para gerar uma lista de expresses aritmticas
formadas apenas por nmeros inteiros sem sinal de 20 a 99 e pelo
operador de adio (as expresses so separadas por ponto e
vrgula). Observe os seguintes tokens:
<DGITO1> - representa exatamente um dgito de 0 a 9.
<DGITO2> - representa exatamente um dgito de 2 a 9.
<SOMA> - representa o caractere +.
<PT-VIRG> - representa o caractere ;.
Observe um exemplo de string que deve ser aceito pelo AFD:
23 + 44 + 99 ; 25 ; 51 + 20
Exerccios Propostos
5) Desenvolva uma gramtica para gerar expresses
aritmticas em notao polonesa (Existe tambm a notao
polonesa reversa, por exemplo, utilizada em calculadoras
grficas). Use apenas nmeros inteiros sem sinal. Considere,
para cada operao, exatamente dois operandos.
Exemplos: (+ 2 3);
(- (* 20 30) 4);
(+ (+ 1 4) (+ 3 (+ 3 5))) .
6) Descreve um autmato finito determinstico que reconhea
a linguagem A das palavras de alfabeto {0,1} em que no
ocorrem sequncias pares de 0 's imediatamente esquerda
de sequncias mpares de 1 s.
Resoluo do Exerccio 5
G = (V, T, P, E)
V = {E, S, X, N, D}
T = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, +, -, *, /}
P = { E (S X X),
S + | - | / | *,
X E | N,
N N D | D,
D 0 | 1 | 2 | 3 |...|9 }
Exerccios Propostos
7)
uma
para
cada
alternativa,
processando
q1
q2
Estado anterior
a Smbolo lido
...
qn
Conjunto de novos
estados
2Q
M5=({a,b},{qo,q1,q2,qf}, 5 ,qo,{qf}),
onde 5 dada pela quadro de transio:
5
qo
{qo,q1}
{qf}
{qf}
{qo,q2}
{qf}
{qf}
q1
q2
qf
M5=({a,b},{qo,q1,q2,qf}, 5 ,qo,{qf}),
onde 5 dada pelo quadro de transio:
qo
{qo,q1}
{qf}
{qf}
{qo,q2}
{qf}
{qf}
q1
q2
qf
qo
q1
q2
{qo,q1}
{qo}
{q2}
{qf}
determinsticos
Referncias Bibliogrficas
Menezes, P. B. Linguagens Formais e Autmatos, 5 Ed., Bookman: Instituto de
Informtica da UFRGS, Porto Alegre-RS, 2008.
Notas de Aula do Prof. Dr. Renato Elias Nunes. Universidade Federal do Esprito
Santo, 2016.