Carregar apresentação
A apresentação está carregando. Por favor, espere
1
Forma Normal de Chomsky
Programa de Pós-graduação em Ciência da Computação - UFU Profa. Sandra de Amo
2
Definição Uma gramática livre do contexto está na Forma Normal de Chomsky (FNC) se: suas regras de produção são do tipo A BC ; A, B, C são variáveis A a ; A variável e a terminal S ϵ a variável start S não aparece no corpo das regras
3
Arvores de Derivação de uma FNC
Arvores de derivação são binárias : cada nó tem no máximo 2 filhos Nós intermediários são variáveis Folhas só tem terminais A variável S só aparece na raiz
4
Arvores de Derivação = Start S = Variáveis distintas de S = terminais
5
Toda gramática LC é equivalente a uma gramática em FNC
Transformação das regras em FNC Inserir novo simbolo start S0 e regra S0 S Desta forma, o simbolo start S0 não aparece em nenhum corpo de regra Remover todas as regras do tipo A ϵ (inclusive S ϵ ) Para cada regra onde A tem uma ocorrência do lado direito, inserir uma regra sem esta ocorrência de A Exemplo: se R uAvAw é uma regra então acrescentamos as regras: R uvAw R uAvw R uvw se R A é uma regra e R ϵ não foi removido em um passo precedente então acrescentamos a regra R ϵ Desta forma, obtemos uma gramática sem regras do tipo A ϵ (para A distinto da variável start S0 )
6
Toda gramática LC é equivalente a uma em FNC
Eliminar regras unitárias do tipo A B. Para cada regra começando com B, acrescentar regra análoga, substituindo B por A na cabeça (a menos que a regra assim obtida seja uma regra unitária já removida) Exemplo: A B B C1C2a B C1C2a A C1C2a Resolver o problema de regras do tipo X = regras com corpo com comprimento maior do que 1 e contendo terminais. Para cada terminal a aparecendo no corpo de uma destas regras de tipo X inserir regra do tipo Ua a, onde Ua é uma nova variável. Substituir todas as ocorrências de a em regras do tipo X pela variável Ua. Exemplo: R aAB R UaAB Ua a
7
Toda gramática LC é equivalente a uma em FNC
Resolver o problema de regras do tipo Y = regras com corpo com comprimento maior do que 2: R ABCD R UD R UD U ABC U VC V AB
8
Exemplo S ASA | aB S0 S S0 S
A B | S S ASA | aB S ASA | aB | a B b | ϵ A B | S A B | S | ϵ B b | ϵ B b (6 regras) S0 S S0 ASA | aB | a | AS | SA S ASA | aB | a | AS | SA | S S ASA | aB | a | AS | SA A B | S A B | ASA | aB | a | AS | SA B b B b S0 ASA | aB | a | AS | SA S0 | AA1 | UB | a | AS | SA S ASA | aB | a | AS | SA S AA1 | UB | a | AS | SA A b | ASA | aB | a | AS | SA A b | AA1 | UB | a | AS | SA B b A1 SA U a B b (FNC : 20 regras)
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.