Introdução às Gramáticas

No sentido literário do termo, gramáticas denotam regras sintáticas para conversação em línguas naturais. A linguística tem tentado definir gramáticas desde o início das línguas naturais como o inglês, sânscrito, mandarim, etc.

A teoria das linguagens formais encontra sua aplicabilidade extensivamente nos campos da Ciência da Computação. Noam Chomsky deu um modelo matemático de gramática em 1956 que é eficaz para escrever linguagens de computador.

Gramática

Uma gramática G pode ser formalmente escrito como uma tupla de 4 (N, T, S, P) onde -

  • N ou VN é um conjunto de variáveis ​​ou símbolos não terminais.

  • T ou é um conjunto de símbolos de Terminal.

  • S é uma variável especial chamada símbolo inicial, S ∈ N

  • Psão as regras de produção para terminais e não terminais. Uma regra de produção tem a forma α → β, onde α e β são cordas em V N ∪ Σ e pelo menos um símbolo de α pertence a V N .

Exemplo

Grammar G1 -

({S, A, B}, {a, b}, S, {S → AB, A → a, B → b})

Aqui,

  • S, A, e B são símbolos não terminais;

  • a e b são símbolos terminais

  • S é o símbolo de início, S ∈ N

  • Produções, P : S → AB, A → a, B → b

Exemplo

Grammar G2 -

(({S, A}, {a, b}, S, {S → aAb, aA → aaAb, A → ε})

Aqui,

  • S e A são símbolos não terminais.

  • a e b são símbolos terminais.

  • ε é uma string vazia.

  • S é o símbolo de início, S ∈ N

  • Produção P : S → aAb, aA → aaAb, A → ε

Derivações de uma gramática

Strings podem ser derivadas de outras strings usando as produções em uma gramática. Se uma gramáticaG tem uma produção α → β, Nós podemos dizer que x α y deriva x β y no G. Esta derivação é escrita como -

x α y G x β y

Exemplo

Vamos considerar a gramática -

G2 = ({S, A}, {a, b}, S, {S → aAb, aA → aaAb, A → ε})

Algumas das strings que podem ser derivadas são -

S ⇒ aA b usando produção S → aAb

⇒ a aA bb usando produção aA → aAb

⇒ aaa A bbb usando produção aA → aAb

⇒ aaabbb usando produção A → ε