Você está na página 1de 6

Uma linguagem é dita formal quando pode ser representada através de um sistema com

sustentação matemática. A Linguística Formal compreende a representação da sintaxe


(estrutura) e da semântica (significado) das sentenças de uma linguagem.

Gramática

Uma gramática serve para definir qual o subconjunto de sentenças que faz parte de uma
determinada linguagem.

Ela é um dispositivo formal para especificar uma linguagem potencialmente infinita de


uma forma finita.

Uma gramática G é definida por uma quádrupla: G = (N, T, P, S) onde,

N - Conjunto finito de não-terminais;

T - Conjunto finito de terminais;

P - Conjunto finito de regras de produção;

S - Símbolo inicial da gramática.

Hierarquia de Chomsky

Em termos gerais, para n {0, 1, 2, 3} pode-se afirmar que uma linguagem de qualquer
tipo pode ser classificada também como sendo de tipo menor, de acordo com a
Hierarquia de Chomsky. Uma linguagem do tipo n é caracterizada pela existência de
alguma gramática do tipo n que a descreva.
Gramaticas e reconhecedores

Gramaticas Reconhecedores
Irrestrita Máquina de Turing
Sensível ao contexto Máquina de Turing com memoria limitada
Livre ao contexto Autômato a pilha
Regular Autômato finito

Hierarquia de Chomsky

Hierarquia de Gramatica Linguagem reconhecedor


Chomsky
Tipo 0 Irrestrita Recursivamente Máquina de Turing
enumeráveis
Tipo 1 Sensível ao contexto Sensíveis ao Máquina de Turing
contexto com Fita Limitada
Tipo 2 Livre de contexto Livre de contexto Autômato de Pilha
Tipo 3 Linear Regulares Autômato de Pilha

Tipos de Gramáticas

Tipo 0: Gramáticas Irrestritas (GI).

Tipo 1: Gramáticas Sensíveis ao Contexto (GSC).

Tipo 2: Gramáticas Livres de Contexto (GLC).

Tipo 3: Gramáticas Regulares (GR).


Tipo 0: Gramáticas Irrestritas (GI)

Nenhuma limitação é imposta. São capazes de gerar linguagens recursivamente


enumeráveis. São definidas pelas seguintes regras de produção:

V* = conjunto de todas as sentenças compostas de símbolos de V incluindo a sentença


vazia.

Do lado esquerdo da produção pode haver uma sequência de quaisquer símbolos, desde
que haja um não-terminal.

Do lado direito da produção pode haver qualquer sequência de símbolos, inclusive a


sentença vazia.

Tipo 1 - Gramáticas Sensíveis ao Contexto (GSC)

Para toda produção:

Comprimento da sentença do lado esquerdo deve ser menor ou igual ao comprimento da


sentença do lado direito.

Do lado direito não é aceito a sentença vazia.


GI x GSC

Não
aAb →ab
O lado direito da produção é menor que o lado esquerdo

Tipo 2 - Gramáticas Livres de Contexto (GLC)

São gramaticas onde as regras de produção são definidas de forma mais livre do que as
gramaticas regulares.

Quando as regras de produção são todas na seguinte forma:

Do lado esquerdo da produção deve, sempre, ocorrer um e apenas um não-terminal. A


sentença vazia também não é aceita do lado direito da produção. Exemplo: X →abcX
{não interessa o contexto em que X se encontra}.

Tipo 3 - Gramáticas Regulares (GR)

Aplicando-se mais uma restrição sobre a forma das produções, pode-se criar uma nova
classe de gramáticas, as Gramáticas Regulares (GR), de grande importância no estudo
dos compiladores por possuírem propriedades adequadas para a obtenção de
reconhecedores simples
Toda produção é da forma:

A → aB ou A→a

Ou seja:

Do lado esquerdo deve, sempre, ocorrer um e apenas um não-terminal e do lado direito


podem ocorrer ou somente um terminal, ou um terminal seguido de um não-terminal.

Linguagens geradas por gramáticas

Portanto, conforme o tipo da gramática que dá origem a uma linguagem, estas se


classificam em:

LSC - Linguagem Sensível ao Contexto

LLC - Linguagem Livre de Contexto

LR - Linguagem Regular

-----

Maquina turing

Máquina de Turing é uma máquina imaginaria que formou a estrutura para fundamentar
a ciência da computação moderna.

Ela provou que a computação das operações de leitura, escrita e exclusão de símbolos
binários poderiam ser satisfeitos por uma máquina que continha uma fita de
comprimento ilimitado, com quadrados de tamanho definido sobre ela e um dispositivo
com um número finito de estados.

----

Autômato de Pilha
Um autômato com pilha (PDA), também denominado push down automata, é um
dispositivo formal não-determinístico reconhecedor de linguagens livre de contexto.
Um PDA é um modelo natural de um analisador sintático.

Possui a seguinte estrutura geral:

Movimentos de um autômato de pilha (PDA)

Os movimentos de um PDA são determinados com base nas seguintes informações:

 Próximo símbolo de entrada;


 Símbolo de topo da pilha;
 Estado corrente.

Você também pode gostar