Você está na página 1de 24

Linguagens e Gramáticas

Prof. Ricardo Mesquita


Sumário
 Introdução
 Linguagens Regulares
 Linguagens Livres de Contexto
 Linguagens Sensíveis a Contexto
 Linguagens Recursivamente Enumeráveis
 A Hierarquia de Chomsky

2 Prof. Ricardo Mesquita


Observações
 Na aula de hoje faremos uma apresentação sobre os tipos de
linguagens e suas respectivas gramáticas geradoras.
 Este conteúdo refere-se à disciplina de Linguagens
Formais.
 Da mesma forma, mencionaremos autômatos finitos,
autômatos de pilha e máquina de Turing, cujo teor refere-se à
disciplina de Teoria da Computação.
 Assim, esta aula tem caráter de breve revisão deste conteúdo.
 Oportunamente, será indicada a abordagem para
Compiladores

3 Prof. Ricardo Mesquita


Linguagens Regulares

4 Prof. Ricardo Mesquita


Linguagens Regulares

A representação está
sendo feita usando-se
expressões regulares

| |

Observações:
A linguagem está em sua representação por expressões regulares
O + aqui representa opção e não o símbolo aritmético
5 Prof. Ricardo Mesquita
Gramáticas Regulares
G = (N, T, P, S)

Regras de Produção obedecem


o seguinte formato: Atenção:
Aqui não temos a representação
A → wB de uma gramática específica!!
A → Bw Apenas encontram-se
A→w demonstrados os tipos possíveis
A→ formatos de regras de produção
em uma gramática!
onde w  T*, e A e B  N.

6 Prof. Ricardo Mesquita


Gramáticas Regulares

7 Prof. Ricardo Mesquita


Autômatos Finitos

8 Prof. Ricardo Mesquita


Linguagens Livres de Contexto

9 Prof. Ricardo Mesquita


Linguagens Livres de Contexto

10 Prof. Ricardo Mesquita


Gramáticas Livres de Contexto
Obs.: V de “variable” é equivalente à simbologia “N”
de “Não-terminal”.

Observação:
As linguagens de programação são definidas com gramáticas livres
de contexto!

11 Prof. Ricardo Mesquita


Gramáticas Livres de Contexto

12 Prof. Ricardo Mesquita


Autômatos com Pilha

(a, , B) (b, B, )

(b, B, )

(, , ) (, , )

13 Prof. Ricardo Mesquita


Linguagens Sensíveis ao Contexto

14 Prof. Ricardo Mesquita


Linguagens Sensíveis ao Contexto

aa, aabaab, abaaba

15 Prof. Ricardo Mesquita


Gramáticas Sensíveis ao Contexto
G = (N, T, P, S)
G é sensível a contexto se suas regras de produção são da forma:
 → , com
𝛼 ∈ (𝑁 ∪ 𝑇)+
𝛽 ∈ (𝑁 ∪ 𝑇)∗
|𝛽| ≥ |𝛼|

Uma característica marcante:


Gramáticas Sensíveis ao contexto admitem
sequências do tipo u  (𝑁 ∪ 𝑇)+ no lado
esquerdo das produções!

16 Prof. Ricardo Mesquita


Gramáticas Sensíveis ao Contexto
 Exemplo:
G=({a, b, c, S, B, C},{a, b, c}, P, S)
P = { S → aSBC,
S → aBC,
CB → BC,
aB → ab,
bB → bb,
bC → bc,
cC → cc }

17 Prof. Ricardo Mesquita


Gramáticas Sensíveis ao Contexto

18 Prof. Ricardo Mesquita


Linguagens Recursivamente Enumeráveis

19 Prof. Ricardo Mesquita


Gramáticas Irrestritas
 G = (N, T, P, S) é dita irrestrita se nenhuma restrição adicional
é aplicada às suas regras de produção, ou seja, suas regras de
produção seguem a forma geral:

𝛼 → 𝛽, 𝛼 ∈ (𝑉 ∪ 𝑇)+ , 𝛽 ∈ (𝑉 ∪ 𝑇)∗

 Note que as gramáticas regulares, livres de contexto e sensíveis a


contexto são casos particulares das gramáticas irrestritas.

20 Prof. Ricardo Mesquita


Hierarquia de Chomsky

21 Prof. Ricardo Mesquita


Hierarquia de Chomsky

22 Prof. Ricardo Mesquita


Hierarquia de Chomsky

23 Prof. Ricardo Mesquita


Dúvidas?

24 Prof. Ricardo Mesquita

Você também pode gostar