Ciências da computação dia 206

compiladores --- gramáticas

Uma gramatica é composta de uma tupla com 4 items:

G = N, Σ, P, S

onde G é a gramática, N são os símbolos não terminais, Σ o alfabeto (simbolos terminais), P são as regras de derivação e S o símbolo inicial.

os símbolos terminais são aqueles que não possuem qualquer derivação, já os simbolos não terminais são aqueles que podem ser derivados para outros símbolos (ex: A(não terminal)-> b(terminal))

https://pt.wikipedia.org/wiki/Hierarquia_de_Chomsky

Segundo a hierarquia de Chomsky, temos a organização dos tipos de gramática elencados do mais díficil para o mais simples de reconhecer. Dentro dessas gramáticas temos as seguintes características.

Gramática Irrestrita

Gramática sensível ao contexto

Gramática livre de contexto

Gramática regular

P = S -> aB, B -> cS, S -> Ɛ

S -> aB -> cS -> Ɛ

sendo assim A -> β

Exemplo

G = Vn, Vt, P, S

Vn = T, X

Vt = a,b

P = (T->aX), (T->Ɛ), (X->bT)

S = T

image

com isso, conseguimos derivar imediatamente de T, após cada aplicação de X -> bT a palavra ababab.

Nesse caso, pode ser visto que, utilizando as regras temos a seguinte linguagem:

L(G) = Ɛ, ab, abab, ababab, abababab, ...