A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

III – Análise sintáctica Parsers ascendentes Instruções shift-reduce Bibliografia aconselhada: –Aho, Sethi e Ullman – secção 4.5 LFA 1999/2000 - 1Jorge.

Apresentações semelhantes


Apresentação em tema: "III – Análise sintáctica Parsers ascendentes Instruções shift-reduce Bibliografia aconselhada: –Aho, Sethi e Ullman – secção 4.5 LFA 1999/2000 - 1Jorge."— Transcrição da apresentação:

1 III – Análise sintáctica Parsers ascendentes Instruções shift-reduce Bibliografia aconselhada: –Aho, Sethi e Ullman – secção 4.5 LFA 1999/ Jorge Morais

2 Parsers ascendentes Reconhecimento das folhas para o nó principal Redução duma sequência ao símbolo inicial da gramática Ponto de apoio (handle) é uma subsequência que pode ser associada à parte direita duma produção permitindo a sua redução à parte esquerda da mesma LFA 1999/ Jorge Morais

3 Pontos de apoio (handle) Forma Derivada à Direita – sequência resultante de uma derivação Um ponto de apoio duma Forma Derivada à Direita é uma produção A e uma posição de onde pode ser substituído por A de modo a produzir a Forma Derivada à Direita anterior LFA 1999/ Jorge Morais

4 Exemplo S aABe A Abc | b B d abbcde (b – ponto de apoio) aAbcde (Abc) aAde (d) aABe (aABe) S LFA 1999/ Jorge Morais

5 Implementação do parser Pilha – na pilha são colocadas os símbolos da gramática Entrada – sequência a ser analisada Acção – acção a tomar perante o símbolo no topo da pilha e o próximo símbolo na entrada LFA 1999/ Jorge Morais

6 shift-reduce Acções possíveis: –shift – deslocamento do símbolo de entrada para a pilha –reduce – reduz o lado direito duma produção (que está no topo da pilha) ao lado esquerdo –erro – chamada à rotina de erro –aceitação – derivação bem sucedida LFA 1999/ Jorge Morais

7 Aceitação duma sequência Duma forma geral, uma sequência u é reconhecida por uma gramática se S * u, onde S é o símbolo inicial Configuração inicial: –Pilha: $ –Entrada: u $ Configuração final: –Pilha: $ S –Entrada: $ LFA 1999/ Jorge Morais

8 Exemplo E E + E | E * E | ( E ) | id id + id * id E * id + id * id E E + E id + E id + E * E id + id * E id + id * id LFA 1999/ Jorge Morais

9 Exemplo - Parser LFA 1999/ Jorge Morais PilhaEntradaAcção $id+id*id$shift $id+id*id$ redução E id $E+id*id$shift $E +id*id$shift $E + id*id$ redução E id $E + E*id$shift $E + E *id$shift

10 Exemplo - Parser (cont.) NOTA: a escolha do ponto de apoio depende da precedência de operadores LFA 1999/ Jorge Morais PilhaEntradaAcção $E + E * id$ redução E id $E + E * E$ redução E E*E $E + E$ redução E E + E $E$aceitação


Carregar ppt "III – Análise sintáctica Parsers ascendentes Instruções shift-reduce Bibliografia aconselhada: –Aho, Sethi e Ullman – secção 4.5 LFA 1999/2000 - 1Jorge."

Apresentações semelhantes


Anúncios Google