Teste

1248 palavras 5 páginas
Transformação das GLCs
Eliminação das Produções Vazias
Objetivo: Eliminar produções da forma de um não terminal gerando palavra vazia (A).
Forma: Criar uma produção S, de forma que S seja um não terminal que não apareça em nenhum lado direito de alguma das produções existentes.
Etapas: Sendo G(N,T, P,S) uma GLC, fazemos:
1. Construímos um conjunto dos não terminais que geram a palavra vazia (Nv = {A. . .})
2. Construímos um conjunto de produções que não contenham a palavra vazia (P1={A}, sendo ), das produções existentes em P.
3. Para toda produção A contida em P1, sendo X um não terminal X em Nv tal que =1X2, com 12, acrescentamos em P1 a produção A12
4. Se necessário (a palavra vazia pertence à linguagem), inclui-se uma produção S.

Exemplo: Seja a gramática G({A,B,C}, {a,b}, {AaA | bA | aB, BbC, CbaC | }, {A}).
Conjunto dos não terminais que geram palavra vazia = {C}
Conjunto das produções que não tenham palavra vazia: P1={ AaA | bA | aB, BbC, CbaC}.
Como B e C geram não terminal com a palavra vazia, acrescentamos em P1 as produções Bb e Cba. P1={ AaA | bA | aB, BbC | b, CbaC | ba}
(Neste caso, não é mais necessária produção gerando palavra vazia, e o passo 4 pode ser descartado).
Eliminação de recursividade a esquerda
Objetivo: Eliminar produções tal que um não terminal apareça em uma de suas próprias produções como elemento mais à esquerda (AA), pois analisadores descendentes não conseguem processar tal construção. (Recursividade da forma AA- à direita- é permitida).
Recursividade indireta: Além da recursividade direta citada acima, a recursividade indireta, da forma A B, BA deve ser evitada.
Etapas para eliminação da recursividade direta:
1. Identificar cada produção recursiva existente, da forma AA1| A2|..| An|.... 1 |2 |..|n (nenhum  começando com A)
2. Criar um novo símbolo não terminal (X), e fazer:
Sendo permitidas as produções vazias: A1X |2X |.. |nX e

Relacionados

  • Teste teste teste teste teste
    297 palavras | 2 páginas
  • Teste teste teste teste
    398 palavras | 2 páginas
  • teste teste teste teste
    1381 palavras | 6 páginas
  • Teste teste teste
    310 palavras | 2 páginas
  • Teste teste teste
    1472 palavras | 6 páginas
  • teste teste
    12398 palavras | 50 páginas
  • teste de teste
    370 palavras | 2 páginas
  • Teste teste
    294 palavras | 2 páginas
  • Teste do teste
    900 palavras | 4 páginas
  • Teste teste
    304 palavras | 2 páginas