Você está na página 1de 7

GRAMÁTICAS E LINGUAGENS

Gramática regular e Linguagem Regular

Gramática

Um conjunto de regras de produção, e um símbolo de partida. Uma regra de produção


tem o formato  → , onde  representa o nome da construção sintáctica e  representa
uma forma possível dessa construção.

Por exemplo:

P:
1. <expr> → <expr> + <expr>

2. <expr> → <expr> – <expr>

3. <expr> → (<expr>)

4. <expr> → <const>

5. <const> → <const><const>

6. <const> → | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 9

Classificação de Gramáticas

Seja G=(Vn,Vt, P, S) uma gramática.

Onde:

Vn – Conjunto não vazio de símbolos não terminais.

Vt – Conjunto não vazio de símbolos terminais.

P – Regras da gramítica.

S – Símbolo inicial ou símbolo de partida, é um elemento de Vn.

MATEMATICA DISCRETA 1 Vasco Abudo


Tipos de Gramáticas

Tipo 0
GDC
GLC
GR
Tipo 1
Tipo 2
Tipo 3

▪ G é gramática do tipo 0 se não há nenhuma restrição sobre a forma das suas


regras.
▪ GDC é uma gramática dependente do contexto
▪ GLC é uma gramática livre de contexto
▪ GR é uma gramatica regular

Regras da gramática regular:

A → ou A → B
onde:
A  Vn ; B Vn ;   Vt *
Exercícios resolvidos:

1. Escreva a linguagem gerada pela gramática G1:


P:
1. S → aR
2. R → aR
3. R → 
G1=({R, S}, {a}, P, S)
S
Resolução:
S⎯⎯→
1
aR ⎯⎯→
3
a
a R

S⎯
⎯→
1
aR ⎯
⎯→
2
aaR ⎯
⎯→
3
aa
a
S⎯
⎯→
1
aR ⎯
⎯→
2
aaR ⎯
⎯→
2
aaaR ⎯
⎯→
3
aaa Árvore de sintaxe da primeira
derivação

MATEMATICA DISCRETA 2 Vasco Abudo


L1 = {a n n  1}

2. Escreva a linguagem gerada pela gramática G2:


P:
1. S → aR
2. R → aaR
3. R → 
G2=({R, S}, {a}, P, S)
S
Resolução:
S⎯⎯→
1
aR ⎯⎯→
3
a a R

a a R
S⎯
⎯→
1
aR ⎯
⎯→
2
aaaR ⎯
⎯→
3
aaa
E
S⎯
⎯→
1
aR ⎯
⎯→
2
aaaR ⎯
⎯→
2
aaaaaR ⎯
⎯→
3
aaaaa
Árvore de sintaxe da segunda
L2 = {a 2 n+1 n  0} derivação

3. Escreva a linguagem gerada pela gramática G3:


P:
1. S → aR
2. R → aaR
3. R → bX
4. X → bX
5. X → b
G3=({R, S, X}, {a, b}, P, S)

Resolução:
S⎯⎯→
1
aR ⎯⎯→
3
abX ⎯
⎯→
5
abb

S⎯
⎯→
1
aR ⎯
⎯→
2
aaaR ⎯
⎯→
3
aaabX ⎯
⎯→
4
aaabbX ⎯
⎯→
5
aaabbb

S⎯
⎯→
1
aR ⎯
⎯→
2
aaaR ⎯
⎯→
2
aaaaaR⎯
⎯→
3
aaaaabX ⎯
⎯→
4
aaaaabbX ⎯
⎯→
4

aaaaabbbX ⎯
⎯→
5
aaaaabbbb

L3 = {a 2 m+1b n m  0, n  2}

MATEMATICA DISCRETA 3 Vasco Abudo


4. Escreva a linguagem gerada pela gramática G4:
P:
1. S → y = a + R
2. R → a + R
3. R → a
G4=({R, S}, {a, y, +, =}, P, S) S

Resolução: Y = a + R
S⎯⎯→
1
y =a+R⎯
⎯→
3
y =a+a
a + R

S⎯
⎯→
1
y =a+R⎯
⎯→
2
y =a+a+R⎯
⎯→
3
y =a+a+a a
Árvore de sintaxe da
segunda derivação
S⎯
⎯→
1
y =a+R⎯
⎯→
2
y =a+a+R⎯
⎯→
2
y =a+a+a+R⎯
⎯→
3
y =a+a+a+a

n
L4 = { y = a1 + a2 + a3 + a4 + a5 + ... + an n  2 } ou L4 = { y =  a n  2 }
1

Gramática Livre de Contexto e Linguagem Livre de Contexto

Regras da gramática livre de Contexto:

A →
onde:
A  Vn ;   (Vn  Vt )* ;

Exercícios resolvidos:

5. Escreva a linguagem gerada pela gramatica G5:


P:
1. S → aR
2. R → Ra
3. R → 
G5=({R, S}, {a}, P, S)

Resolução:
S⎯⎯→
1
aR ⎯⎯→
3
a

S⎯
⎯→
1
aR ⎯
⎯→
2
aRa ⎯
⎯→
3
aa
MATEMATICA DISCRETA 4 Vasco Abudo
S⎯
⎯→
1
aR ⎯
⎯→
2
aRa ⎯
⎯→
2
aRaa ⎯
⎯→
3
aaa

L5 = {a n n  1}

6. Escreva a linguagem gerada pela gramática G6:


P:
1. S → aR
2. R → aRa
3. R → 
G6=({R, S}, {a}, P, S)

Resolução:
S⎯⎯→
1
aR ⎯⎯→
3
a

S⎯
⎯→
1
aR ⎯
⎯→
2
aaRa ⎯
⎯→
3
aaa

S⎯
⎯→
1
aR ⎯
⎯→
2
aaRa ⎯
⎯→
2
aaaRaa ⎯
⎯→
3
aaaaa

L6 = {a 2 n+1 n  0}

7. Escreva a linguagem gerada pela gramática G7:


P:
1. S → aRbX
2. R → aaR
3. R → 
4. X → bX
5. X → b
G7=({R, S, X}, {a, b}, P, S)

Resolução:
S⎯⎯→
1
aRbX ⎯
⎯→
3
abX ⎯
⎯→
5
abb

S⎯
⎯→
1
aRbX ⎯
⎯→
2
aaaRbX ⎯
⎯→
3
aaabX ⎯
⎯→
4
aaabbX ⎯
⎯→
5
aaabbb

S⎯
⎯→
1
aRbX ⎯
⎯→
2
aaaRbX ⎯
⎯→
2
aaaaaRbX ⎯
⎯→
3
aaaaabX ⎯
⎯→
4
aaaaabbX ⎯
⎯→
4

aaaaabbbX ⎯
⎯→
5
aaaaabbbb

L7 = {a 2 m+1b n m  0, n  2}

MATEMATICA DISCRETA 5 Vasco Abudo


8. Escreva a linguagem gerada pela gramática G8:
P:
1. S → y = R + a
2. R → a + R
3. R → a
G8=({R, S}, {a, y, +, =}, P, S)

Resolução:
S⎯⎯→
1
y = R+a⎯
⎯→
3
a+a

S⎯
⎯→
1
y = R+a⎯
⎯→
2
a+R+a⎯
⎯→
3
a+a+a

S⎯
⎯→
1
y = R+a⎯
⎯→
2
a+R+a⎯
⎯→
2
a+a+R+a⎯
⎯→
3
a+a+a+a

n
L8 = { y = a1 + a2 + a3 + a4 + a5 + ... + an n  2 } ou L8 = { y =  a n  2 }
1

EXERCICIOS PROPOSTOS

9. Escreva uma gramática regular da linguagem L9: L9 = {a m b n m  3, n  1}


▪ Demonstra que aaaabb é uma instrução da linguagem L9;
▪ Construa a árvore de sintáxe da instruçao aaaabb.

10. Escreva uma gramática regular da linguagem L10: L10 = { y = a m − b n m  1, n  1}


▪ Demonstra que y=aa-bbb é uma instrução da linguagem L10;
▪ Construa a árvore de sintáxe da instrução y=aa-bbb.

11. Escreva uma gramática regular da linguagem L11: L11 = {a 2 m − b 2 n−1 m  1, n  1}

12. Escreva uma gramática regular da linguagem L12: L12 = {a mb 2 n c k m  k , n  1, k  0}

13. Escreva uma gramática livre de contexto da linguagem L 13: L13 = {a mb n m  3, n  1}

14. Escreva uma gramática livre de contexto da linguagem L 14:


L14 = { y = a m − b n m  1, n  1}
▪ Demonstra que y=aaa-b é uma instrução da linguagem L9;
▪ Construa a árvore de sintáxe da instruçao y=aaa-b.

MATEMATICA DISCRETA 6 Vasco Abudo


15. Escreva uma gramática livre de contexto da linguagem L 15:
L15 = {a 2 m − b 2 n−1 m  1, n  1}

16. Escreva uma gramática livre de contexto da linguagem L 16:


L16 = {a mb 2 n c k m  k , n  1, k  0}

17. Escreva uma gramática livre de contexto da linguagem L17: L17 = {a mb m m  1}


▪ Demonstra que aaabbb é uma sentença da linguagem L17;
▪ Construa a árvore de sintáxe da sentença aaabbb.

18. Escreva uma gramática livre de contexto da linguagem L18: L18 = { y = a 2 m − b m m  1}

19. Escreva uma gramática livre de contexto da linguagem L20:


m
L20 = { y =  a xi m  1, xi  N + }
i =1

▪ Dê exemplos de três instruções da linguagem L20

20. Considere a gramática:


P:
1. F → (E)
2. E → T
3. T → T-T
4. F → a
5. T → F
6. E → E+T
7. F → b
G22 = ({E, T, F}, {a, b, (, +, ), -}, P, E)
Construa a árvore de sintaxe da sentença: b-(b)+a

21. Determina a linguagem gerada pela gramática G23:


P:
1. B → Dn
2. D → mSn
3. S → mB
4. D → +
G23 = ({S, B, D}, {m, n, +}, P, S)

MATEMATICA DISCRETA 7 Vasco Abudo

Você também pode gostar