Escolar Documentos
Profissional Documentos
Cultura Documentos
Exemplos
Omisso de parnteses
Para omitir parnteses devemos respeitar:
O fecho (*) tem prioridade sobre a concatenao (rs), que
tem prioridade sobre a unio.
A concatenao e a unio so associadas da esquerda para
a direita.
Ex: 01* + 1 agrupado como (0(1*)) + 1 => L = {1, 0, 01,
011,...}
Usamos parnteses quando queremos alterar a prioridade:
(01)* + 1 => L = {1 U (01)n | n >= 0} = {1, , 01, 0101,...}
0(1* + 1) => L = {w {0,1}* | w comea com 0 seguido de 1n |
n>=0} Lei distributiva esq = 01* + 01 = {0,01,011,0111,...}
5
Escreva a ER equivalente a:
Escreva a ER equivalente a:
AF e ER
AF e ER representam exatamente o
mesmo conjunto de linguagens, as
Linguagens Regulares. Para mostrar isso,
deve-se mostrar que:
toda linguagem definida por um AFD ou AFND
definida por uma ER. (por expresses dos
caminhos ou por reduo de estados)
toda linguagem definida por uma ER
definida por um AFD ou AFND. (na verdade,
mostra-se que existe um -AFND que aceita a
mesma linguagem)
8
ER
Teo 2.14
(Menezes 2002)
AFD
Teo 2.1
(H&U 79)
Teo 2.13
(Menezes 2002)
AFND
Teo 2.11
(Menezes 2002)
-AF
(a)
(b)
(c)
L(R) U L(S)
S
11
S
L(R)L(S)
L(R*)
12
Exemplo
Seja a ER: (0+1)*1(0+1) cadeias sobre {0,1} cujo penltimo
smbolo 1.
0+1
(0+1)*
13
(0+1)*1(0+1)
14
L + M = M + L (unio comutativa)
(L + M) + N = L + (M + N) (unio associativa)
(LM)N = L(MN) (concatenao associativa)
A concatenao comutativa???
L+L=L
(L*)* = L*
* =
* =
Algumas extenses de ER usadas em utilitrios do
UNIX
L+ = LL*
L? = (L + ) (usado no Lex para indicar opcional)
16
Exerccios
17
Comentrios em Pascal
{ C* }
onde C ASCII menos }
19
identificadores,
os nomes dos smbolos simples (<, =, [, ), etc.),
os nomes dos smbolos compostos (:= , <>, <=, .., etc.),
constantes inteiras,
constantes reais,
constantes literais (cadeias e caracteres)
constantes lgicas (true/false),
20
o nome das palavras-chaves.
21