Вы находитесь на странице: 1из 10

SISTEMAS DE INFORMAO

DISCIPLINA: GRAMTICAS, AUTMATOS E COMPILADORES


TRABALHO: ANLISE SINTTICA
ALUNOS: PAULO GIOVANNY, ALISSON RANIEL E JOSELITO ANDR

RELATRIO

1. Gramtica Prolog

S -> A | R
A -> id ( P ) .
P -> id C | LISTA C | var C
C ->, P | | ; P
LISTA -> [ ELEMENTO ] .
ELEMENTO -> id D | Lista D |
D ->, ELEMENTO |
R -> CABEA :- CORPO .

CORPO -> VAR


EXPRESSO

is

EXPRESSO

X -> id ( P ) , X
EXPRESSO E | id B
B -> OP | ( P )
E -> L E'
E' -> + L E' | - L E' |
L -> G L'

CABEA ->id CABEA'

L' -> * G L' | / G L' | div G L' | mod G L' |

CABEA' -> ( P ) |

G -> id | num | ( E )

VAR -> VAR ( P ) | CORPO

OP ->L id > | > = id | = H


H -> L id | \ = id | := id | id

2. Eliminao da Recursividade Esquerda e Fatorao

S -> A | R
A -> id ( P ) .
P -> id C | LISTA C | var C
C ->, P | | ; P
LISTA -> [ ELEMENTO ] .
ELEMENTO -> id D | Lista D |
D ->, ELEMENTO |
R -> CABEA :- CORPO .
CABEA ->id CABEA'
CABEA' -> ( P ) |
VAR -> VAR ( P )
VAR -> VAR
VAR -> (P)VAR |

CORPO -> VAR


EXPRESSO

is

EXPRESSO

X -> id(P),X | id(P)


X -> id(P) X
X -> X |
EXPRESSO E | id B
B -> OP | ( P )
E -> L E'
E' -> + L E' | - L E' |
L -> G L'
L' -> * G L' | / G L' | div G L' | mod G L' |
G -> id | num | ( E )
OP ->L id > | > = id | = H
H -> L id | \= id | := id | id

3. Conjunto FIRST das Variveis da Gramtica

FIRST (S) = { id }

FIRST (CORPO) = { ( , id }

FIRST (A) = { id }

FIRST (X) = { id }

FIRST (P) = { id , [ , var }

FIRST (X) = { id , }

FIRST (C) = { , , , ;}

FIRST (EXPRESSAO) = { id , num , ( }

FIRST (LISTA) = { [ }

FIRST (B) = { id , num , ( }

FIRST (ELEMENTO) = { id, Lista, }

FIRST (E) = { id , num , ( }

FIRST (D) = { , , }

FIRST (E) = { + , - , }

FIRST (R) = { id }

FIRST (L) = { id , num , ( }

FIRST (CABECA) = { id }

FIRST (L) = { * , / , div , mod , }

FIRST (CABECA) = { ( }

FIRST (G) = { id , num , ( }

FIRST (VAR) = { ( }

FIRST (OP) = { id , num , ( , >= , = }

FIRST (VAR) = { ( , }

FIRST (H) = { id , num , ( , \= , := }

4. Fazer a verificao de 1 (um) trecho de cdigo mostrando a sua aceitao


utilizando a Anlise Recursiva Preditiva
5.
S
6.
7.
A

id

id

LISTA

ELEMENT
O

id

id

8.

DERIVAO
10. S
12. A
14. Id(P).
16. (P).
18. Id C).
20. ,P).
22. LISTA C).
24. [ELEMENTO];P).
26. ELEMENTO]:P).
28. Id D];P).
30. ,ELEMENTO];P).
32. Id D];P).
34. D];P).
36. ];P).
38. ];P).
40. ;P).
42. P).
44. Id C).
46. ).
48. ).
50. .
52.
53.
54.

PALAVRA ACEITA

9. PALAVRA
11. Id(id,[id,id];id).
PALAVRA GERADA:
13. Id(id,[id,id];id).
Id(id,[id,id];id).
15. Id(id,[id,id];id).
17. (id,[id,id];id).
19. id,[id,id];id).
21. ,[id,id];id).
23. [id,id];id).
25. [id,id];id).
27. id,id];id).
29. id,id];id).
31. ,id];id).
33. id];id).
35. ];id).
37. ];id).
39. ];id).
41. ;id).
43. id).
45. id).
47. ).
49. ).
51. .

55.

Id(id,[id,id];id).

56. Fazer a verificao de 1 (um) trecho de cdigo mostrando a sua rejeio


utilizando a Anlise Recursiva Preditiva
57.

58.

S
A
id

P
id

)
C

59.
60.

61. DERIVAO

62. PALAVRA

63. S
65. A
67. Id(P).
69. (P).
71. Id C).
73. C).
75. ).
77. ).
79. .
81.
82.
83.

64. Id(id)
66. Id(id)
68. Id(id)
70. (id)
72. id)
74. )
76. )
78. )
80.

PALAVRA NO ACEITA

84. Id(id)
85.
86.

PALAVRA ESPERADA

87.

Id(id).

88.
89. Difculdades Encontradas
90.
91.
A realizao desse trabalho se mostrou relativamente mais simples do que a
anlise lxica. A parte que demandou mais ateno foram as correes na gramtica para
eliminao de recursividade a esquerda e ambiguidade, levando em considerao que

foram percebidas algumas inconsistncias na gramtica original que foram corrigidas pela
professora.
92.
A criao dos conjuntos FIRST das variveis tambm demanda ateno porque
um trabalho repetitivo, bem como a posterior anlise preditiva.
93.
Para ns ficou claro, em linhas gerais, a mecnica de funcionamento de um
analisador sinttico para aceitar ou rejeitar uma palavra.
94.
95.

Вам также может понравиться