Você está na página 1de 15

Analisador Sintático

Raphael de Souza – raphael@ic.ufmt.br


Analisador Sintático

2/15
2
Analisador Sintático
 Recebe uma cadeia de tokens

 Verifica se essa cadeia de tokens pertence à


linguagem gerada pela gramáfica

 Construir uma árvore de derivação

3/15
3
Analisador Sintático
 Notação
 G – gramática
 Σ – Símbolos terminais
 N – Símbolos não terminais
 P – regras de produção
 S – não terminal especial de início
 * – Considera cadeia vazia
 $ – Fim de cadeia

4/15
4
Analisador Sintático
 Métodos mais usados
 Bottom-up (Ascendentes)
 Top-down (Descendentes)

5/15
5
Analisador Sintático
 Para a construção dos analisadores é utilizado
as funções FIRST e FOLLOW da gramática G

 Elas auxiliam a escolher qual produção aplicar


com base no próximo símbolo

6/15
6
Analisador Sintático
 FIRST

 Conjunto de símbolos terminais que iniciam as


cadeias derivadas
*
First ( A)=x , onde A ∈Ν e x ∈Σ

First ( A)={ a | a é um terminal e


*
A → a α , para alguma cadeia α qualquer}

7/15
7
Analisador Sintático
 FIRST

S →c A d
A →a b | a

 First(A) = {a}
 First(S) = {c}

8/15
8
Analisador Sintático
 First
E →T E '
E' →+T E '
E' →ϵ
T →F T '
T' →* F T '
T' →ϵ
F →( E)| id

9/15
9
Analisador Sintático
 FOLLOW

 Conjunto de símbolos terminais que podem


aparecer imediatamente à direita

 Adiciona-se o fim de cadeia ($) ao Follow do


terminal inicial
Follow( A)=x , onde A ∈Ν e x ∈Σ
Follow ( A)={ a | a é um terminal e
*
S $ → α A a β , para cadeias α , β quaisquer}
10/15
10
Analisador Sintático
 FOLLOW

 Podemos pensar então em 3 regras:

A → Ba ==> Follow ( B) = {a}


A → BC ==> Follow (B) = First (C )
A →C ==> Follow (C) = Follow ( A)

11/15
11
Analisador Sintático
 FOLLOW

S →c A d
A →a b | a

 Follow(S) = {$}
 Follow(A) = {d}

12/15
12
Analisador Sintático
 Follow
E →T E '
E' →+T E '
E' →ϵ
T →F T '
T' →* F T '
T' →ϵ
F →( E)| id

13/15
13
Analisador Sintático
 Análise Sintática Descendente (Top-down)

E →T E '
E' →+T E '
E' →ϵ
T →F T '
T' →* F T '
T' →ϵ
F →( E)| id

14/15
14
Referências Bibliográficas
 Livro:
 Compiladores: Princípios, técnicas e
ferramentas. Alfred V. Aho, et al

15/15
15

Você também pode gostar