Programação  
 
Rede de conhecimento computador >> Programação >> Programação De Computador Idiomas >> Content
Qual é a gramática sem contexto para a linguagem e a ANBN?
A gramática livre de contexto (CFG) para o idioma `aⁿbⁿ`, onde` n ≥ 0`, é:

`` `
S -> ASB | ε
`` `

Explicação:

* s: Este é o símbolo inicial da gramática. Representa uma sequência pertencente ao idioma `aⁿbⁿ`.
* a: Representa o personagem literal 'a'.
* b: Representa o personagem literal 'B'.
* |: Representa "ou". Indica que existem várias regras de produção para o símbolo à esquerda.
* ε: Representa a sequência vazia.

como funciona:

1. `s -> asb`: Essa regra gera um 'a', seguido por um 's' (que acabará por gerar mais 'A e' B's), seguido por A 'B'. Cada vez que essa regra é aplicada, ele efetivamente adiciona um 'a' à esquerda e um 'b' à direita, mantendo o saldo exigido pelo idioma.

2. `s -> ε`: Esta regra fornece o caso base para a recursão. Ele permite que a derivação termine, produzindo a sequência vazia (onde n =0).

Exemplos de derivação:

* n =0:String vazia (ε)
`S -> ε`

* n =1:"ab"
`S -> asb`
`S -> aεb`
`S -> ab`

* n =2:"AABB"
`S -> asb`
`S -> aasbb`
`S -> aaεbb`
`S -> aabb`

* n =3:"aaabbb"
`S -> asb`
`S -> aasbb`
`S -> aaasbbb`
`S -> aaaεbbb`
`S -> aaabbb`

Por que este CFG gera apenas aⁿbⁿ:

A única maneira de derivar uma string de 's' é aplicando repetidamente a regra `s -> asb` zero ou mais vezes, seguida pela aplicação da regra` s -> ε` uma vez. Cada aplicação de `s -> asb` adiciona um 'a' à esquerda e um 'b' à direita. Portanto, a sequência resultante sempre terá um número igual de 'A e' B, com todos os 'A precedindo todos os' B's. Isso descreve com precisão o idioma `aⁿbⁿ`.

Conceitos -chave:

* Gramática sem contexto (CFG): Uma gramática formal, onde as regras de produção têm um único símbolo não terminal no lado esquerdo e qualquer combinação de símbolos terminais e não terminais no lado direito. A aplicação de uma regra de produção não depende do contexto em que o símbolo não terminal aparece.

* Símbolos do terminal: Símbolos que aparecem na sequência final (por exemplo, 'a', 'b').

* símbolos não terminais: Símbolos que representam categorias gramaticais ou etapas intermediárias na derivação (por exemplo, 's').

* Iniciar o símbolo: O símbolo não terminal do qual todas as cordas no idioma são derivadas (por exemplo, 's').

* Regras de produção: Regras que especificam como os símbolos não terminais podem ser substituídos por outros símbolos (por exemplo, `s -> asb`).

Esse CFG é um exemplo clássico frequentemente usado para ilustrar o poder dos CFGs e sua capacidade de expressar idiomas que não são regulares. O idioma `aⁿbⁿ` é um exemplo padrão de um idioma sem contexto que não é um idioma regular.

Anterior :

Próximo :
  Os artigos relacionados
·Uma máquina de escrever é considerada computador? 
·Como Excluir do T-SQL 
·Quando a linguagem básica do computador foi inventada?…
·Métodos WSH Objeto 
·Como construir seu próprio software PC 
·Como quebrar uma List Apart em Prolog 
·Como os esquemas de codificação possibilitam que os h…
·Como tirar caracteres alfa Mas Deixar caracteres numér…
·Como comparar Fluxogramas e Pseudocódigo 
·Como obter uma Licenciatura em Hacking 
  Artigos em destaque
·Como Criar uma matriz em Python 
·Como permitir o uso de funções PHP Sistema 
·Como definir o valor padrão para o ComboBox WPF 
·Como fazer o download e Aprender Java no BlueJ Ambiente…
·Como converter arquivos simples para XML 
·Qual é o significado das línguas regulares e não reg…
·Como usar variáveis ​​no intervalo Visual Basic 
·Como editar o SQL em um Centro de Controle do DB2 
·Como converter WMA para MP3 no Visual Basic 2008 
·Como fazer upload de arquivos grandes em PHP 
Cop e direita © Rede de conhecimento computador https://ptcomputador.com Todos os Direitos Reservados