|
|
Procedimento do Analisador Sintático |
|||||||||||||
Mostraremos o funcionamento de um AS através de exemplos: |
|||||||||||||
|
Exemplos: |
||||||||||||
|
S® a ( b | Sc) | dM | e M® {fS}* G17 |
||||||||||||
|
|||||||||||||
|
Reconhecimento Canônico |
||||||||||||
|
a a b c ¬ a S c ¬ S a a b c ® AS (G17) ® |
|
sucesso |
||||||||||
Exemplos: d f a e c |
|||||||||||||
|
|
||||||||||||
|
dfaec ¬ dfaSc ¬ dfS ¬ dM ¬ S |
||||||||||||
O reconhecimento canônico mostra a substituição de partes das formas sentenciais por NT. |
|||||||||||||
O reconhecimento descrito ainda não inclui a construção das formas sentenciais (árvores sintáticas). |
|||||||||||||
Autômato finito correspondente ao grafo sintático da figura (i): |
|||||||||||||
|
|||||||||||||
Carregador Sintático, Analisador Sintático e Pilha Sintática |
|||||||||||||
Análise Sintática |
|||||||||||||
|
d f a e c Símbolo lido |
Cadeia restante |
Nó visitado |
Pilha do Analisador |
Pilha Sintática 1 2 3 4 5 |
||||||||
|
d |
f a e c |
0 |
(0,1) |
|
||||||||
|
|
|
1 |
|
|
||||||||
|
|
|
5 |
|
d |
||||||||
|
f |
a e c |
6 |
(0,1) (6,2) |
|
||||||||
|
|
|
8 |
|
d f |
||||||||
|
a |
e c |
9 |
(0,1) (6,2) (9,3) |
|
||||||||
|
|
|
1 |
|
d f a |
||||||||
|
e |
c |
2 |
|
|
||||||||
|
|
|
3 |
(0,1) (6,2) (9,3) (3,4) |
|
||||||||
|
|
|
1 |
|
|
||||||||
|
|
|
5 |
|
|
||||||||
|
|
|
7 |
|
d f a e |
||||||||
|
c |
|
0 |
(0,1) (6,2) (9,3) |
d f a S |
||||||||
|
|
|
4 |
|
d f a S c |
||||||||
|
$ |
|
0 |
(0,1) (6,2) |
d f S |
||||||||
|
|
|
8 |
|
|
||||||||
|
|
|
10 |
|
|
||||||||
|
|
|
0 |
(0,1) |
d M |
||||||||
|
|
|
0 |
|
S |