• Nenhum resultado encontrado

Publicações do PESC Novas Técnicas para Analisadores Sintáticos Tipo Matriz de Transição

N/A
N/A
Protected

Academic year: 2021

Share "Publicações do PESC Novas Técnicas para Analisadores Sintáticos Tipo Matriz de Transição"

Copied!
169
0
0

Texto

(1)

- E ~ f e v a m G i l b e f i f o De S i m o n e -

T E S E SUBMETIDA AO CORPO DOCENTE DA COORDENAÇAO DOS PROGRAMAS DE PÓS-GRADUAÇÃO DE ENGENHARIA DA UNIVERSIDADE FEDERAL DO R I O DE J A N E I R O COMO PARTE DOS R E Q U I S I T O S N E C E S S ~ R I O S PARA A OBTENÇÃO DO GRAU DE DOUTOR EM

CIENCIAS

(D. S c . )

.

A p r o v a d a p o r : J O & L u c a s M o u r ã o R a n g e 1 N e t o ( P r e s i d e n t e ) r - S u e l i M e n d e s d o s S a n t o s V a l d e m a r Se t z e r R I O DE J A N E I R O DEZEMBRO DE 1 9 8 0

(2)

SIMONE, ESTEVAM

G I L B E R T O

D E

Novas ~ é c n i c a s p a r a A n a l i s a d o r e s S i n t á t i c o s Tipo Matriz de T r a n s i ç ã o [Rio de J a n e i r o 1 1980

x ,

157 p . 2 9 , 7 cm (COPPE-UFRJ,

D . Sc.

,

Engenharia de Sistemas e Computa - ç ã o , 1980)

Tese

-

Univ. Fed. Rio de J a n e i r o , Fac. Engenharia

.

1. Compiladores I . COPPE/UFRJ 11

T F ~ O

( s é r i e )

(3)
(4)

iii

AGRADECIMENTOS

- Aos meus a l u n o s da COPPE e I n s t i t u t o de ~ a t e m á t i c a d a UFRJ;

- Aos meus c o l e g a s p r o f e s s o r e s da á r e a de Computação e do Depar -

t a m e n t o de C i ê n c i a d a Computação; - Ao L u c a s , não a p e n a s p e l o s c u r s o s , p e l a o r i e n t a ç ã o e p e l a pa- c i ê n c i a mas, p r i n c i p a l m e n t e , p o r t e r emprestado a e s t e t r a b a - l h o um pouco do b r i l h o de s u a i n t e l i g ê n c i a ;

-

- Ã L i g i a , a B e t i , ao

Z G

C a r l o s e

5

~ e c í l i a p e l a a j u d a i m p o r t a n - t e e d e s i n t e r e s s a d a ;

- Aos p r o f e s s o r e s C e l i o Guimarães, Jayme S z w a r c f i t e r , S e r g i o T e i x e i r a , S u e l i Mendes dos S a n t o s e Valdemar S e t z e r p o r acede -

rem em p a r t i c i p a r d e s t a b a n c a ;

-

5

COPPE, a FINEP e a CAPES p e l o a p o i o r e c e b i d o .

- A

S t a v n a , p e l o f a n t á s t i c o t r a b a l h o de d a t i l o g r a f i a , d e s e n h o ,

composição g r á f i c a ( e a t é c o r r e ç ã o de e r r o s d e p o r t u g u ê s e c o n t e u d o ) !

(5)

O método de a n á l i s e s i n t á t i c a p o r m a t r i z e s de t r a n s i - ção p r o p o s t o p o r I~hLen, 681 & t o t a l m e n t e r e e l a b o r a d o . É p r o p o s t a uma d e f i n i ç ã o e q u i v a l e n t e p a r a a c l a s s e de g r a m á t i c a s r e c o n h e c i - da p e l o método. É f o r n e c i d o um a l g o r í t m o c o n s t r u t o r mais e f i c i e n - t e p a r a a s t a b e l a s de c o n t r o l e do a n a l i s a d o r . É a l t e r a d a a d e f i - n i ç ã o d a s f u n ç õ e s que c o n t r o l a m o a n a l i s a d o r e f o r n e c i d o s e u no - vo a l g o r í t m o . E s t a s n o v a s f u n ç õ e s s ã o r e ~ r e s e n t á v e i s em t a b e l a s que permitem d e t e r m i n a r s e u s p o n t o s i n a c e s s i v e i s e s ã o f o r n e c i - dos a l g o r I t m o s de compactação d a s t a b e l a s que permitem r e d u z i r grandemente o e s p a ç o ocupado, p r e s e r v a d o o f o r m a t o m a t r i c i a l . P a r a l e l a m e n t e

6

d e s e n v o l v i d o um a l g o r í t m o de r e c u p e r a - ç ã o de e r r o s que p e r m i t e uma r e c u p e r a ç ã o s o f i s t i c a d a e p r e c i s a , sem u t i l i z a r i n f o r m a ç ã o a d i c i o n a l

às

t a b e l a s do a n a l i s a d o r , sem d e g r a d a r o desempenho do a n a l i s a d o r p a r a programas c o r r e t o s e c o r - r i g i f i d o de alguma forma a s i m p r e c i s õ e s n a d e t e c ç ã o do e r r o p e l o a n a l i s a d o r . Demonstra- se que a s t a b e l a s o r i g i n a i s de um a n a l i s a d o r de g r a m á t i c a s p o r m a t r i z e s de t r a n s i ç ã o s ã o menores que s u a s c o r - r e s p o n d e n t e s p a r a g r a m á t i c a s SLR (1) e que o a n a l i s a d o r p o r ma- t r i z e s de t r a n s i ç ã o

é

m a i s r á p i d o que- o c o r r e s p o n d e n t e a n a l i s a - d o r SLR(1)

.

(6)

ABSTRACT

Transition matrices have been used in parsing, since

the method was proposed by I ~ h i e s , 6 8 1 . Wè present here a

completely new vèrsion of the method, with a new equivalent definition for the class of grammars accepted.

New, more efficient algorithms are presented both for parsing and for the construction of the parsing tables. The control functions are redefined, and allow the determination of inaccesible points and table compression.

In parallel, an algorithm for error recovery is present -

ed which results in a sophisticate and accurate recovery, which need no information besides the one in the parsing tables, and which introduces no degradation of the performance in the parser.

It is shown that the original tables of the transition

matrix parser are srnaller than the corresponding s L R ( 1 ) parsers,

(7)

I n t r o d u ç ã o

...

Fundamentos

...

Formalismo e d e f i n i ç õ e s b á s i c a s

...

~ r a m á t i c a s de p r e c e d ê n c i a de o p e r a d o r e s

...

M a t r i z e s de T r a n s i ç ã o

...

Gramática de o p e r a d o r e s e s t e n d i

-

d a

...

A n á l i s e s i n t á t i c a em GOE

...

M a t r i z e s de T r a n s i ç ã o , O u t r a Vez

.

. .

.

.

. .

.

.

Gramáticas de m a t r i z e s de t r a n - s i ç a o

...

A n á l i s e s i n t á t i c a em GMT, o u t r a v.ez

...

C o n s t r u t o r de a n a l i s a d o r e s s i n - t g t i c o s p a r a GMT

...

Armazenamento da t a b e l a de con- t r o l e

...

9 1 Recuperação de E r r o s

...

1 0 6 Fundamentos de r e c u p e r a ç ã o de e r r o s

...

1 0 6 Revisão b i b l i ogr á f i c a

.

.

.

.

. .

. .

.

.

.

.

. . .

.

.

109 D e f i n i ç ã o i n f o r m a l do r e c u p e r a - d o r

...

11 3 A l g o r l t m o de r e c u p e r a ç ã o

. . .

.

. . .

.

. .

.

. . .

123 A v a l i a ç ã o e Conclusões

...

138

(8)

v i i X I I X I I I X I V

xv

xv

I XVI I XVI I I X I X XX XX I XXI I X X I I I N o t a ç ã o D e f i n i ç ã o N o t a ç ã o D e f i n i ç ã o D e f i n i ç ã o D e f i n i ç ã o D e f i n i ç ã o D e f i n i ç ã o D e f i n i ç ã o D e f i n i ç ã o D e f i n i ç ã o D e f i n i ç ã o D e f i n i ç ã o D e f i n i ç ã o E x e m p l o N o t a ç ã o D e f i n i ç ã o D e f i n i ç ã o T e o r e m a 1 D e f i n i ç ã o D e f i n i ç ã o D e f i n i ç ã o E x e m p l o CONJUNTOS

...

3

FORMA SENTENCIAL E SENTENCA

...

6

LINGUAGEM

...

6

GRAMTICA UNICAMENTE INVERSÍVEL

...

7

DERIVAÇÃO (REDUÇÃO) D I R E I T A (ESQUERDA)

....

7

RELAÇÃO BINÁRIA

...

8

RELAÇÕES

BINARIAS

SOBRE CONJUNTOS GRAMATI- C A I S

...e...

8

OPERAÇÕES SOBRE RELAÇÕES

...

9

REPRESENTAÇÃO DE RELAÇÕES POR GRAFOS . a 9 . . 9

OPERACÕES SOBRE RELALÕES REPRESENTADAS POR GRAFOS

...

...*ee...a*..e.a... 1 0

..e...,... 1 2

ANALISADOR

SINTATICO

DA

GRAMTICA

G a . W . . . . 1 3

1

GRAMÃTICA DE OPERADORES ( G O )

...

1 4

RELAÇÕES DE PRECEDÊNCIA ENTRE OPERADORES

..

1 5 GRAMÁTICAS DE PRECEDÊNCIA DE OPERADORES

(GPO) . . . . e . .

.

1 6

(9)

viii

XXIV

XXV

XXVI

XXVI

I

XXVI

I

I

XXIX

XXX

XXXI

XXXI

I

XXXI

I

I

XXXIV

xxxv

XXXVI

XXXVI

I

XXXVI

I

I

XXXIX

XL

XL

I

XL

I

I

XLIII

XL

IV

Definição

Definição

AlgorFtmo

1

Exemplo

Definição

~ l g o r P t m o

2

Exemplo

Proprfedade

Teorema 2

~ e f i n i ~ ã o

Definição

Teorema 3

Definição

Definição

Teorema 4

~ l ~ o r l t m o

3

Exemplo

Teorema 5

Teorema 6

Exemplo

Exemplo

ANALISADOR

SINTATICO

PARA GRAMÁTICA

.

ESTRUTURAL DE GPO

. . . e . . .

22

...

24

GRAMÁTICA DE OPERADORES ESTENDIDA

...

28

CONSTRUÇÃO DA GRAMÁTIcA DE OPERADO-

...

RES ESTENDIDA

28

GOE

...

31 ...*..........e...*....................

33

FRASE

...

34

FRASE PRIMA

...

34 . . . e . a..................i........i..

34

RELAÇÃO PRECEDE

...

35

GRAMTICAS

DE MATRIZES DE TRANSIÇÃO

(GMT)

...

35

CONSTRUTOR DE ANALISADOR

SINTATICO

PARA GMT

...

36

XLV

Teorema

7

...

55

XLVI

Definição

MAIS ALGUMAS RELAÇÕES SOBRE CONJUNTOS

GRAMATICAIS

...

58

(10)

XLVI I I XLIX L L I L I 1 L I 1 1 L I V LV L V I L V I I L V I I I L I X LX LXI L X I I L X I I I LXIV LXV LXVI L X V I I LXVI I I L X I X LXX LXXI LXXI I LXXI I I D e f i n i ç ã o T e o r e m a 8 D e f i n i ç ã o T e o r e m a 9 R e d e f i n i ç ã o T e o r e m a 1 0 E x e m p l o D e f i n i ç ã o T e o r e m a 11 D e f i n i ç ã o E x e m p l o D e f i n i ç ã o D e f i n i ç ã o A l g o r i ' t m o 4 E x e m p l o ~ l ~ o r l t m o 5 E x e m p l o A l g o r i ' t m o 6 T e o r e m a 1 2 D e f i n i ç ã o E x e m p l o T e o r e m a 1 3 T e o r e m a 1 4 E x e m p l o E x e m p l o T e o r e m a 1 5

...

RELAÇÕES DE PRECEDÊNCIA EM GOE 6 0

...

CALCULO DE Q E .x) 6 1

...

RELAÇÃO MEIO 6 2

CALCULO DE MEIO

...

6 2 GRAMÁTICAS DE MATRIZES DE TRANSIÇÃO

...

6 3

...

6 4 p a r t e 2

...

6 5

...

CONJUNTO DE ESTADOS 7 0 . . . e . . . . * . . . * . . . 7 0 FUNÇÃO GOTO

...

7 2

FUNÇÕES AÇÃO E AVANÇAREDUZ . . . a . 7 4

...

FUNÇÃO ESQUERDO 7 5

ANALISADOR

SINTATICO

PARA GMT. MODI-

...

FICADO

...

7 6

...

p a r t e 4 7 7 VERIFICAÇÃO DA UNICIDADE DE A B

...

E CONSTRUÇÃO DE SYMB* 8 2 p a r t e 5

...

8 3

CONSTRUTOR DE ANALISADORES GMT. OUTRA

VEZ

...

8 5 p a r t e 6

...

9 3 . . . e . . .......e......*.. . . . e . . . 9 5

...

p a r t e 7 9 7

...

p a r t e 8 1 0 0

...

1 0 1

(11)

LXXIV E x e m p l o p a r t e 9

...

1 0 4 LXXV A l g o r í t m o 7 RECUPEFUDOR DE ERROS

SINTATICOS

GMT

. .

1 2 3 LXXVI ~ l g o r í t r n o 8 ANALISADOR

SINTATICO

GMT COM RECUPE .

RAÇÃO DE ERROS

...

1 2 7 L X X V I I E x e m p l o

LXXVI I I E x e m p l o LXXIX T e o r e m a

(12)

De t o d a s a s f a s e s de um c o m p i l a d o r a a n á l i s e s i n t á t i c a A e , sem d ú v i d a , o problema m e l h o r r e s o l v i d o . E n t r e t a n t o , t a l v e z A p e l a v a r i e d a d e de s o l u ç õ e s d i s t i n t a s , e um campo a b e r t o a p o l ê m i c a s

j á

c l á s s i c a s : a n a l i s a d o r e s s i n t á t i c o s a s c e n d e n t e s c o n t r a d e s c e n d e n t e s , a n a l i s a d o r e s c o n t r o l a d o s p o r t a b e l a s ou por p r o g r a m a s , g e r a ç ã o a u t o m á t i c a de a n a l i s a d o r e s c o n t r a programação manual, g r a m á t i c a s SLR c o n t r a g r a m á t i c a s L L c o n t r a g r a m á t i c a s LALR c o n t r a g r a m á t i c a s LR c o n t r a g r a m á t i c a s de p r e c e d ê n c i a con- t r a g r a m á t i c a s r e c u r s i v o - d e s c e n d e n t e s , e m u i t a s m a i s . É r e a l m e n - t e um t a n t o a r r i s c a d o a v e n t u r a r - s e a p e s q u i s a r n e s t e t e r r e n o . E s t e t r a b a l h o

é

uma r e c o m p o s i c ã o do método de a n á l i s e s i n t á t i c a p o r m a t r i z e s de t r a n s i ç ã o , p r o p o s t o p o r IGLQ~, 681. De f a t o , r e s t o u d a q u e l e método a p e n a s o e s s e n c i a l : a c l a s s e de g r a -

mát

i c a s

,

d i t a s "gtrum&ccu d e maOúzen d e ~ ~ ~ ç Ü a l ' (GMT)

.

Não s e e n c o n t r a n a l i t e r a t u r a , r e f e r ê n c i a s p o s t e r i o r e s a 1972 p a r a a n a l i s a d o r e s GMT. E n t r e n ó s , t o d a v i a , o método a i n d a

6

b a s t a n t e p o p u l a r , sendo u t i l i z a d o a t u a l m e n t e p a r a a f e i t u r a de c o m p i l a d o r e s c o m e r c i a i s ou d i d á t i c o s . A o r i g e m d e s t e t r a b a l h o e s -

t á

no d e s e n v o l v i m e n t o do p r i m e i r o g e r a d o r de a n a l i s a d o r e s s i n t á - t i c o s f e i t o n a COPPE/UFRJ. I n i c i a l m e n t e v o l t a d o a p e n a s p a r a GMT e s s e g e r a d o r - o NHÃ0 NHÃ0 - deu origem a g e r a d o r e s de a n a l i s a d o - r e s p a r a a s p r i n c i p a i s c l a s s e s de g r a m á t i c a s . O NHÃO NHÃO, em uso desde 1 9 7 8 ,

j á

p e r m i t i u a g e r a ç ã o de t a b e l a s de c o n t r o l e pa r a uma dezena de l i n g u a g e n s d i s t i n t a s , usando m a t r i z e s de t r a n s i

(13)

ç ã o . O t r a b a l h o e s t á d i v i d i d o n a s s e g u i n t e s s e c ç õ e s p r i n c i - p a i s : a ) no ~ a ~ $ t u l o I1

é

a p r e s e n t a d o o e s t r i t a m e n t e n e c e s s á r i o de t e o - r i a de l i n g u a g e n s , r e l a ç õ e s b i n á r i a s , g r a f o s e g r a m á t i c a s de p r e c e d ê n c i a de o p e r a d o r e s , v i s a n d o f i x a r o s c o n c e i t o s e a no- t a ç ã o ;

b) no C a p z t u l o I11 f a z - s e uma r e v i s ã o do método o r i g i n a l com suas p r i n c i p a i s p r o p r i e d a d e s ;

c ) o C a p í t u l o I V

é

o c e n t r o do t r a b a l h o onde o método

é

r e f o r m u -

l a d o , s ã o demonstrados o s t e o r e m a s p r i n c i p a i s ,

é

d e f i n i d o o novo c o n j u n t o de r e l a ç õ e s ,

é

r e d e f i n i d a a c l a s s e de g r a m á t i - c a s e s ã o p r o p o s t o s o novo a n a l i s a d o r s i n t á t i c o e o novo cons -

t r u t o r de a n a l i s a d o r e s s i n t á t i c o s ; além d i s s o

é

a p r e s e n t a d o o método de compactação d a s t a b e l a s ; d) n o c a p $ t u l o V ,

é

f e i t a uma r e v i s ã o b i b l i o g r á f i c a de r e c u p e r a - ç ã o de e r r o s e a p r e s e n t a d o o a l g o r % t m o r e c u p e r a d o r ; e ) o c a p í t u l o V I

é

d e d i c a d o a a v a l i a ç ã o do t r a b a l h o e

2s

c o n c l u - s õ e s . Visando c r i a r um s i s t e m a de r e f e r ê n c i a s o b r e o p r o p r i o t e x t o e s t e f o i p a r a g r a f a d o sendo o s p a r á g r a f o s numerados em roma -

no e c l a r a m e n t e d e l i m i t a d o s . A n o t a ç ã o u t i l i z a d a e s t á d e f i n i d a no ~ a ~ l t u l o I1 ou n a s u a p r i m e i r a o c o r r ê n c i a . O t e x t o f a z u s o i n t e n s i v o d e s s a n o t a ç ã o menos p e l a a f i n i d a d e do a u t o r ao r i g o r i s m o que por s u a c a p a c i d a d e de s í n t e s e .

(14)

- FUNDAMENTOS -

2 . 1 - FORMALISMO E DEFINIÇÕES

BASICAS

São i n t r o d u z i d o s a q u i o s c o n c e i t o s n e c e s s á r i o s ao de s e n v o l v i m e n t o d a t e o r i a n o s c a p ? t u l o s p o s t e r i o r e s . P a r a l e l a m e n - t e

5s

d e f i n i ç õ e s s e r á e s t a b e l e c i d a s u a n o t a ç ã o . S e r ã o a d o t a d a s a s i m b o l o g i a e a e s t r u t u r a ç ã o t e ó r i c a de IAho & UUn~rn, 721

.

Notação CONJUNTOS (1) Um c o n j u n t o X formado p e l o s e l e m e n t o s x l , x 2 ,

. . .

,xn s e r á d e n o t a d o ( i ) X = i x l , x 2 ,

...

, xn} O número de e l e m e n t o s d e s s e c o n j u n t o s e r á ( i i )

#(X).

B

g e f i n i ç á o GRAMÃTICA L I V R E DE CONTEXTO (GLC) Uma g r a m á t i c a G

é

d i t a l i v r e de c o n t e x t o o u , equivalen- temente G E C G L C , quando G

é

uma q u á d r u p l a (N, L , P , S) com:

( i ) N, um c o n j u n t o f i n i t o de s i m b o l o s denominados n ã o - t e r m i - n a i s ;

(15)

( i i i ) N n C =

a ;

( i v ) P , um c o n j u n t o f i n i t o de p a r e s denominados p r o d u ç õ e s on- a de o p r i m e i r o e l e m e n t o

6

um n ã o - t e r m i n a l e o segundo e uma s e q u ê n c i a n ã o - v a z i a de t e r m i n a i s e / o u n ã o - t e r m i n a i s . Ou s e j a , P = { ( A , a )

I

A E N a E (N u C)+}

Uma produção (A, a ) E P s e r á d e n o t a d a (A + a ) ;

( v ) S E N, um n ã o - t e r m i n a l e s p e c i a l denominado s ~ m b o l o i n i - c i a l .

Omitiremos, d o r a v a n t e , a menção ltRivne d e c ~ n k e x X u ~ ~ .

II

Notação CONJUNTOS GRAMATICAIS (111)

( i ) NÃO TERMINAIS

N = {A, B , C,

.

. .

,

T I ou N = {PROGRAMA, BLOCO,

. .

. I

( i i ) TERMINAIS C = { a , b , c ,

...,

t } ou C = C i f , t h e n ,

...

1

( i i i ) TERMINAIS OU NÃO-TERMINAIS ( N u C) = C U , V , X ,

...,

Z } ( i v ) SEQUENCIAS DE TERMINAIS (C)* = { u , v , x ,

.

. . z )

(V) SEQUENCIAS DE TERMINAIS E / O U NÃO-TERMINAIS (N u C)* = { a , B,y

...,

-r}

(16)

( v i ) SEQUENC I A VAZ IA

g e f i n i ç ã o DERIVAÇÃO E REDUÇÃO ( I V )

Sejam G = ( N , C , P , S) e BAY E (N u C ) * .

Diremos que BAy " d e l t i v u cfdzQR:m~~ke" Bay em G , s e (A -+ a ) E P . I n d i c a - s e p o r :

Diremos a i n d a n e s s e c a s o que Bay "heduz-he cfdzQR:urne&en a BAy em G e i n d i c a m o s p o r : ( i i ) BAy <= Bay G Por e x t e n s ã o , d i r e m o s que a " d d v u m z ~ n o ou m u h PUA- aoh"

-

' O U s i m p l e s m e n t e "dQnivut'

-

6 s e e x i s t i r e m s e q u e n c i a s B, y ,

..

.

t a i s que e i n d i c a m o s ( i i i ) a

c>

*

6 Analogamente , 6 "mduz-ne" a a em G e

*

( i v ) a 6 Quando nenhuma p r o d u ç ã o f o r a p l i c a d a a i n d a t e r e m o s

(17)

Quando p e l o menos uma p r o d u ç ã o f o r a p l t c a d a d i r e m o s que

+

e ( v i i i ) a <= 6 G

Omitiremos o nome d a g r a m á t i c a quando não c a u s a r d ú v i - d a .

D e f i n i ç ã o FORMA SENTENCIAL E SENTENÇA (v)

( i ) s e G = (N, C , P , S) e S => a =>

P

=>

...=

> y e n t ã o a , 8 , * - a , y s e r ã o formas s e n t e n c i a i s de G .

+

( i i ) s e S => u e n t ã o u s e r á s e n t e n ç a p r o d u z i d a p o r G. G D e f i n i ç ã o LINGUAGEM (VI

1

Se G = ( N , C

,

P , S) e n t ã o a linguagem p r o d u z i d a p o r G s e r á

I

D e f i n i ç ã o GRAMT I CA REDUZ I D A (VI11 Uma g r a m á t i c a G = (N, 1, P , S) s e r á d i t a r e d u z i d a

(18)

s e , s i m u l t a n e a m e n t e :

( i ) L ( G )

#

@ (caso particular de ( i i i ) abaixo)

I

Q

*

( i v ) A E N S => aAf3 G

I

D e f i n i ç ã o GRAMÁTICA UNICAMENTE I N V E R S ~ V E L ( V I I I ) Uma g r a m á t i c a r e d u z i d a G = (N, 1 , P , S) s e r á d i t a u- nicamente i n v e r s T v e 1 s e não p o s s u i r duas produções com mesmo l a -

do d i r e i t o .

I

I

D e f i n i ~ ã o DERIVAÇÃO (REDUÇÃO) DIREITA (ESQUERDA) (IX) Se G = (N, C , P , S) e S => aAu => f3Bv =>

...

=> y C x e n t ã o S d e r i v a yCx por d e r i v a ç ã o mais a d i r e i t a o u , s i m p l e s -

mente, ' d e r i v a ç ã o d i r e i t a e ( i )

s

=>

*

ycx DIR Ainda n e s t e c a s o ,

*

( i i ) S <== yCx (redução d i r e i t a ) DIR Se S => uAa => vBf3 =>

...

=> xCy e n t ã o S d e r i - va xCy por d e r i v a ç ã o e s q u e r d a e

*

( i i i ) S => xCy ESQ

(19)

*.

(iv) S <= XCY (redução esquerda)

ESQ

Omitiremos a indicação direita/esquerda quando for su -

f

icientemente claro.

I

Definição RELAÇÃO

BINARIA

(x)

Sejam A , B conjuntos. Uma relação R

é

qualquer sub -

conjunto de (AxB)

.

(i) R G C(a,b)

I

a E A A b B) = (AxB)

(i i) (a,b) E R aRb

I

I

Defini~ão RELAÇÕES

BINARIAS

SOBRE CONJUNTOS

GRAMAT I CA I S (XI

1

(i) FIRSTNT (NxN)

A FIRSTNT B *(A + Ba) E

P

(ii) LASTNT G (NxN)

A LASTNT B -(A + aB) E

P

(iii) NT.TERM c (NxC)

(iv) TERM.NT (CxN)

a TERM.NT A<W>(B -t aaAf3) E P

(v) SYMB c (NxN)

A SYMB B *(A -t B) E

P

(vi) FIRSTTERM

s

(NxC)'

(20)

( v i i ) LASTTERM (NxC)

A LASTTERM a ( A + a a B ) E P , B E ( N u { & } )

I

D e f i n i ç ã o

- OPERAÇÕES SOBRE RELAÇÕES

R G (AxB) , S c (AxB) , T c (BxC)

,

V c (AxA)

SOMA (R + S ) = { ( a , b )

I

a R b v a S b ) E (AxB) PRODUTO (RT) = { ( a , c)

I

a R b A b T c

1

c

(AxC) POTÊNC IA

(v0)

= { ( a , a )

1

a ~ A 1 c (AxA)

(vn)

=

vv

n - 1 , Vn > O TRANSPOSIÇÃO (V-') = { ( a , b )

I

b V a 1 c (AxA) FECHAMENTO T R A N S I T I V O (V') = V + V' +

v3

+

...

c (AxA) FECHAMENTO T R A N S I T I V O REFLEXIVO (V*) = V' + V+ c (AxA) D e f i n i ç ã o

- REPRESENTAÇÃO DE RELAÇÕES POR GRAFOS ( X I I I ) ( B a s e a d o e m

I

ffuvLt, 77

1 )

A S e j a R c (AxB) e G = ( V , X ) um g r a f o d i r e c i o n a d o o n d e V e o c o n j u n t o f i n i t o de v é r t i c e s e X

é

o c o n j u n t o f i n i t o de a r e s - t a s ( u , v ) , c o m u , v E V.

(21)

Se ( i ) V = V1 u V2 e VI n V2 = @

( i i ) ( u , v ) ~ X , U E V ~ , v E V2 URV ( * )

( i i i ) não houver o u t r a s a r e s t a s e n t ã o G r e p r e s e n t a R .

I

- D e f i n i ç ã o OPERAÇÕES SOBRE RELACÕES REPRESENTADAS POR

GRAFOS (XIV) Sejam: G1 = ( I l U 01, X1) r e p r e s e n t a n d o R (AxB) G 2 = ( I 2 U 0 2 , X2) r e p r e s e n t a n d o S Ç (AxB) G 3 = ( I 3 u 0 3 , X3) r e p r e s e n t a n d o T 2 (BxC) G 4 = ( I 4 u 0 4 , X4) r e p r e s e n t a n d o W C (AxA) Suporemos a i n d a que t o d o s os c o n j u n t o s de nós 11, 1 2 , I g , 14,01, 0 2 , O 3 e O 4 s ã o d i s j u n t o s e n t r e s í . (e) não h á o u t r a s a r e s t a s ( i i ) PRODUTO . . . . G = ( I

u

C u O, X) r e p r e s e n t a r á RT s e : (a) I = I1

(22)

( f ) n ã o

o u t r a s a r e s t a s ( i i i ) TRANSPOSIÇÃO G = ( I u O, X) r e p r e s e n t a r á W s e : ( a ) I = O 4 (b) O = I 4 (C) ( u , v ) € X 4 + ( v , U ) E X , V E I , U E O (d) n ã o

o u t r a s a r e s t a s

( i v ) FECHAMENTO TRANSITIVO REFLEXIVO

G = ( I u O, X) r e p r e s e n t a r á W* s e : ( a ) I = O ( b ) ( u , V ) E

X

(v) FECHAMENTO TRANSITIVO O b t i d o p o r

w + =

WW*

u

(23)
(24)

0 s " a l g o r ~ t m o s c o n s t a n t e s d e s t e t r a b a l h o s e r ã o e s c r i - . -

t o s em p o r t u g u ê s , envolvendo alguma n o t a ç á o m a t e m á t i c a e l ó g i c a , além da n o t a ç ã o d e f i n i d a no p r ó p r i o t e x t o . Seu funcionamento s e -

r á

demonstrado t e o r i c a m e n t e quando n e c e s s á r i o .

I

D e f i n i ç ã o ANALISADOR

SINTATICO

DA GRAMÁTICA G (XVI I )

É um a l g o r I t m o que admite a s e n t e n ç a x como e n t r a - da e f o r n e c e como s a í d a : . , ( i ) "ACEITO", s e x E L (G)

,

f o r n e c e n d o a i n d a uma s e q u ê n c i a o r -

*

denada. d a s p r o d u ç õ e s u s a d a s em S => X ; G ( i i ) "REJEITADO", s e

x

L(G)

.

I

(25)

2 . 2 - GRAMTICAS DE PRECEDÊNCIA DE OPERADORES

O p r e s e n t e t r a b a l h o g u a r d a I n t i m a r e l a ç ã o com o e s t u d o d a s g r a m á t i c a s de p r e c e d ê n c i a de o p e r a d o r e s , que s e j u s t i f i c a s u a e x p l i c a ç ã o d e t a l h a d a a q u i .

a

- D e f i n i ç ã o : GRAMÁTICA DE OPERADORES (GO) ( X V I I I ) Uma g r a m á t i c a r e d u z i d a G = ( N , C , P , S )

é

d i t a gramá -

t i c a de o p e r a d o r e s , ou e q u i v a l e n t e m e n t e d a c l a s s e

C G O 7

s e

Ou s e j a , n ã o h á d o i s n ã o - t e r m i n a i s a d j a c e n t e s no l a d o d i r e i t o de s u a s p r o d u ç õ e s .

Ou s e j a , não há forma s e n t e n c i a 1 em G com d o i s n ã o - t e r m i n a i s a d j a c e n t e s

.

I

Demonstração :

I

FRa yd, 63

1

I

A p r i n c i p a l c a r a c t e r I s t i c a d a s GO

é

a p o s S i b i l i d a d e de s e montar a n a l i s a d o r e s s i n t á t i c o s b a s e a d o s a p e n a s em r e l a ç õ e s s o b r e o s t e r m i n a i s d a g r a m á t i c a . A s u b c l a s s e i m p o r t a n t e d a s GO

é

(26)

d a p e l a s s e g u i n t e s r e l a ç õ e s .

D e f i n i ç ã o RELAÇÕES DE PRECEDENCIA ENTRE OPERADORES

I

Flayd, 6 3

1

( F o r m a l i z a ç ã o s e g u n d o

I

G h h n , 7 1

1

) S e j a G = (N, C, P , S) E

C G O .

( i ) r e l a ç ã o @ 5 ( 1 x C) ( m a i o r o p e r a d o r e s ) ( i i ) r e l a ç ã o 4 L (C x C ) (menor o p e r a d o r e s ) (C -t Dby) E P

,

D E ( N u { E ) ) ( i i i ) r e l a ç ã o C ( C

x

C) ( i g u a l o p e r a d o r e s ) P o d e - s e d e d u z i r com f a c i l i d a d e

I G ~ u ,

7 1

1

q u e , conforme a s d e f i n i ç õ e s de (X) : ( i v ) a b a (LASTTERMY-I ( L A S T N T * ) ~ ' NT.TERM b G

( v ) a 4 b a TERM-NT FIRSTNT* FIRSTTERM b G

(27)

( v i ) a

o

b pode s e r c o n s t r u í d a por i n s p e ç ã o n a g r a m á t i

G -

c a .

A r e f e r ê n c i a

5

g r a m á t i c a pode s e r o m i t i d a na n o t a ç ã o .

I

I

D e f i n i ç ã o

GRAMAT

ICAS DE PRECEDÊNCIA DE OPERADORES (GPO) Uma g r a m á t i c a unicamente i n v e r s í v e l G = ( N , L,P, S) E C G O s e r á d i t a de p r e c e d ê n c i a de o p e r a d o r e s , ou e q u i v a l e n t e m e n t e , p e r

-

t e n c e n t e

5

c l a s s e CGPO, s e : ( i ) Q n - - O = 4 ( i i ) 4 n

*

= 4 A ( i i i ) O - - n

*

=

4

I

Vamos nos a p r . o v e i t a r d e s t a c l a s s e de g r a m á t i c a s p a r a i n t r o d u z i r os c o n c e i t o s e e x e m p l i f i c a r o problema da a n á l i s e s i n t á t i c a , conforme o t r a t a r e m o s p o s t e r i o r m e n t e . I n t e r e s s a - n o s o b t e r do a n a l i s a d o r s i n t á t i c o a á r v o r e s i n t á t i c a t a l como d e f i n i d a a b a i x o . D e f i n i ç ã o

A

RVORE

SINTAT

I CA ( X X I I ) S e j a G = (N, C , P, S) e x uma s e n t e n ç a em L(G) A á r v o r e s i n t á t i c a de x em G s e r á uma á r v o r e cons -

(28)

t r u í d a d a forma a b a i x o , supondo- se c o n h e c i d a uma d e r i v a ç ã o ( i ) a r a i z t e r á r ó t u l o S ; ( i i ) a c a d a p a s s o da d e r i v a ç ã o , p a r a o nó c u j o r ó t u l o

é

o l a d o e s q u e r d o da p r o d u ç ã o u s a d a c r i e t a n t o s f i l h o s r o t u l a d o s q u a n t o s forem o s s ~ m b o l o s do l a d o d i r e i t o d e s s a p r o d u ç ã o . A s f o l h a s da á r v o r e s i n t á t i c a s e r ã o t e r m i n a i s e o s n ó s i n t e r n o s s e r ã o n ã o - t e r m i n a i s

.

-

I

Exemplo FJ = { ( E + E + T ) , (E -t T ) , (T -+ T

*

F ) , (T -t F ) , ( F -t ( E ) ) , ( F -+ i )

1 .

S e j a a d e r i v a ç ã o A á r v o r e s i n t á t i c a c o r r e s p o n d e n t e s e r i a :

(29)

Se tomarmos o u t r a d e r i v a ç ã o a i n d a t e r e m o s , n e s t e c a s o , a mesma á r v o r e s i n t á t i c a .

I

I

D e f i n i ç ã o (XXIV) Uma g r a m á t i c a G = ( N , 1

,

P , S)

é

d i t a ambígua, s e : ( i ) p a r a

x

E L(G) e x i s t i r mais de uma á r v o r e s i n t á t i c a E s t a condição é e q u i v a l e n t e a : ( i i ) p a r a x E L(G) e x i s t i r mais de uma d e r i v a ç ã o d i r e i t a ( e s - q u e r d a ) de x em G .

I

(30)

I

d a s

D e f i n i ç ã o PARSE

S e j a G = ( N , C , P , S) com a s produções de P numera-

*: 1 , 2 ,

...

,

p e uma d e r i v a ç ã o S = > x . G A s e q u ê n c i a d o s números d a s produções u t i l i z a d a s n a de - r i v a ç ã o

é

o p a r s e de x em G . Mais p a r t i c u l a r m e n t e : ( i ) o p a r s e d e s c e n d e n t e de x em G

é

a s e q u ê n c i a d o s núme-

*

r o s d a s p r o d u ç õ e s u t i l i z a d o s n a d e r i v a ç ã o S

=>x;

ESQ A ( i i ) o p a r s e a s c e n d e n t e de x em G

é

a s e q u ê n c i a d o s nume-

*

r o s d a s p r o d u ç õ e s u t i l i z a d a s na r e d u ç ã o S<= x ; D I R

c o r r e s p o n d ê n c i a b i u n l v o c a e n t r e p a r s e a s c e n d e n t e , p a r s e d e s c e n d e n t e e á r v o r e s i n t á t i c a . Em t o d o o d e c o r r e r d e s t e t r a b a l h o usaremos o p a r s e co- mo a s e q u ê n c i a o r d e n a d a de p r o d u ç õ e s p r e v i s t a em X V I I . ( i i ) , a s a í d a dos a n a l i s a d o r e s s i n t á t i c o s . Como t r a t a r e m o s a p e n a s a n a l i - s a d o r e s a s c e n d e n t e s t o d a r e f e r ê n c i a f u t u r a a p a r s e s i g n i f i c a r á p a r s e a s c e n d e n t e .

O s métodos de a n á l i s e que e s t u d a r e m o s não permitem a o b t e n ç ã o

-

o u , c a s o permitam, s e r á i g n o r a d a

-

do p a r s e d a s e n - t e n ç a . Veremos n e s t e c a p í t u l o a d e f i n i ç ã o de p a r s e " e n k h u ; t ~ h a R "

e no c a p í t u l o s e g u i n t e a d e f i n i ç ã o de p a r s e " e a p a h n a H .

(31)

consegue o b t e r a n a l i s a d o r e s s i n t á t i c o s , t a l como d e f i n i d o s em X V I I , mas a p e n a s a n a l i s a d o r e s s i n t á t i c o s de s u a g r a m á t i c a e s t r u - t u r a l ( " s k e l e t a l " em IAho g U m a n , 721 ) . E s t a g r a m á t i c a

é

o b t i d a da g r a m á t i c a o r i g i n a l p e l a s u b s t i t u i ç ã o de t o d a s a s o c o r r ê n c i a s de n ã o - t e r m i n a i s p e l o s í m b o l o i n i c i a l . I s t o

é ,

em g e r a l , s u f i c i - e n t e p a r a a c o n s t r u ç ã o de c o m p i l a d o r e s , s e n d o uma p r e o c u p a ç ã o r e -

d u z i r o tempo g a s t o com p r o d u ç õ e s s i m p l e s

-

do t i p o A + B com

A , B E N

-

que normalmente não c a r r e g a m i n f o r m a ç ã o s e m â n t i c a .

E s t a d i s c u s s ã o s o b r e a n e c e s s i d a d e de s e e l i m i n a r p r o - duções s i m p l e s tem g e r a d o um sem número de " o t i m i z a d o r e s " de ana - l i s a d o r e s s i n t á t i c o s

I

A n d m u n , 73

1,

I ~ h u g U&man, 73

1,

b a g a ,

74

1,

~I?Imm, 75

1 ,

I ~ a c h h u u n e , 76

1 ,

I

Lufunde, 76

1 ,

I ~ u i ~ u l u n - S u i n i n e n , 77

I , I

Ruh - h by,771, c a d a q u a l propondo métodos d i s t i n t o s de a p e r f e i ç o a r a a n ã l i s e s i n t á t i c a d a s c l a s s e s de g r a m á t i c a s , em p a r t i c u l a r a f a m í - l i a L R , que produzem p a r s e s c o m p l e t o s . T a n t a e f e r v e c ê n c i a no a s s u n t o d e v e - s e ao a l t o l u c r o o b t i d o p e l a a n á l i s e s i n t á t i c a sem p r o d u ç õ e s s i m p l e s : I J u f i d , 73

1

m o s t r o u que s u a e l i m i n a ç ã o e f i c i - e n t e d o b r a a v e l o c i d a d e d a a n á l i s e s i n t á t i c a e aumenta a v e l o c i - dade do c o n p i l a d o r , como um t o d o , em 1 5 % .

O u t r a a l t e r n a t i v a p a r a o mesmo problema s ã o o s métodos r e c e n t e s de a n á l i s e s i n t á t i c a em g r a m á t i c a s com l a d o s d i r e i t o s r e g u l a r e s [De R e m a , 70

I ,

ILaLunde, 75

1 ,

/Simune, 80

I

.

que P a r t e m Pa -

r a a e l i m i n a ç ã o da c a u s a p r i m á r i a d a s p r o d u ç õ e s s i m p l e s : a i n a d e

quação do mecanismo descritivo composto p e l a s g r a m á t i c a s l i v r e s de c o n t e x t o , para descrever as próprias linguagens l i v r e s de contexto.

De modo que e s t a r e m o s t r a t a n d o de a n a l i s a d o r e s s i n t á t i -

tos q u e , p o r n a t u r e z a , gozam da p r o p r i e d a d e de i g n o r a r p r o d u ç õ e s

(32)

Vejamos, e n t ã o , como o p e r a o a n a l i s a d o r s i n t á t i c o de, g r a m á t i c a s de p r e c e d ê n c i a de o p e r a d o r e s , d e s c r i t o p e l o a l g o r í t - mo 1 , a s e g u i r . E s t e a l g o r i t m o obtem o p a r s e e s t r u t u r a l d a s e n t e n ç a , sendo c o n t r o l a d o p o r duas f u n ç õ e s : ( i ) f : ( C X C) -> { Q , , * , " e r r o " ) d e f i n i d o p o r : f ( a , b )

= *

a 9 b f ( a , b) = " a b f ( a , b ) = Q a 4 b f ( a , b ) = " e r r o " , q u a l q u e r o u t r o c a s o . ( i i ) g : C

u

{ S } l f

-

> 1 ,

...,

p , " s t o p " ) d e f i n i d a p o r : g ( a ) = i ( i : ~ + - a ) c p g (a) = " s t o p " , q u a l q u e r o u t r o c a s o . O a l g o r . í t m o

é

uma v e r s ã o do c l á s s i c o a l g o r i t m o "CLVUMÇU -neduzu p a r a a n á l i s e s i n t á t i c a a s c e n d e n t e . A f u n ç ã o f d e t e r m i - n a a s a ç õ e s de a v a n ç a r um s í m b o l o d a e n t r a d a ou r e d u z i r , i n d i c a n - do também a f r a s e a s e r r e d u z i d a . A f u n ç ã o g i n d i c a o número da produção u s a d a .

(33)

I

- ~ l ~ o r l t m o 1 (XXVI) ANALISADOR

SINTATICO

PARA GRAMÁTIcA ESTRUTURAL DE GPO

P a s s o 1 : ( I n i c i a l i z a ç ã o ) Coloque n a p i l h a o marcador

"#"

; Faça a v a r i á v e l M E I O = "

"

; L e i a um sImbolo da s e n t e n ç a p a r a ENTRADA; R e p i t a o p a s s o 2 a t é r e c e b e r ordem de p a r a d a . P a s s o 2 : ( E s c o l h a d a a ç ã o ) Caso f ( t o p o d a p i l h a , ENTRADA) i g u a l a : Q ou "- : e x e c u t e o p a s s o 3 ; CD : e x e c u t e o p a s s o 4 ; " e r r o " : e x e c u t e o p a s s o 5 ; Passo 3 : (Avanço) Se MEIO = "S" e n t ã o c o l o q u e S n a p i l h a e f a ç a M E I O = " "; Coloque ENTRADA n a p i l h a ;

L e i a novo símbolo p a r a ENTRADA;

Passo 4 : (Redução) R e t i r e d a p i l h a t o d o s o s s í m b o l o s a t é e n c o n t r a r d o i s s ~ m b o l o s c u j a r e l a ç ã o e n t r e

S I

s e j a 4 ; Concatene t a i s s í m b o l o s r e t i r a d o s , em ordem; Se M E I O = "S", c o n c a t e n e também "S", d i r e i t a ; S e j a SEQ o p r o d u t o d a c o n c a t e n a ç ã o ;

(34)

s e n ã o : v e r i f i q u e s e o t o p o da p i l h a

é

"

#

", s e MEIO = "S" e ENTRADA =

"

#

"

;

Caso a s t r ê s c o n d i ç õ e s ocorram escreva "ACEITO" e p a r e ; Caso c o n t r á r i o e s c r e v a "REJEITADO" e p a r e ; Passo 5 : ( E r r o ) E s c r e v a "REJEITADO" e p a r e ; O a l g o r l t m o s e b a s e i a n a s e g u i n t e p r o p r i e d a d e d a s g r a m á t i c a s de p r e c e d ê n c i a e

é

v á l i d a também p a r a a s G P O , n a forma abaixo : " S e j a X1 X 2

...

Xm uma forma s e n t e n c i a 1 e a l a Z a . . an os t e r m i n a i s d e s s a forma s e n t e n c i a l . A s e q u ê n c i a a s e r r e d u z i d a

6

a s e q u ê n c i a mais

à

e s q u e r d a t a l que A demonstração d e s t a p r o p r i e d a d e pode s e r v i s t a em I ~ n i e A , 771

.

O s i n a l

"

#

" é

usado como i n f c i a l i z a ç ã o d a p i l h a e f i n a l da s e n t e n ç a de e n t r a d a . Faz p a r t e do c o n j u n t o de t e r m i n a i s da p - a m á t i c a aumentada, o b t i d a a p a r t i r de G = (N, C , P , S) com GA = (A! u { S ' I ,

u{

f l } ,

P u {(SI +

#

S

# ) I ,

S I ) .

O a l g o r i t m o nada mais f a z que v a r r e r a s e q u ê n c i a de en - t r a d a da e s q u e r d a p a r a a d i r e i t a , e f e t u a n d o uma redução sempre que a s i t u a ç ã o acima o c o r r e r . A s f u n ç õ e s f e g s ã o c a l c u l a -

(35)

d a s s o b r e a g r a m á t i c a e s t r u t u r a l de GA. Exemplo (XXVI I J P' = { ( S +

#

E

#

1 ,

(T + T * F ) , (F + ( E ) ) , ( E + T ) , (E + E

+

T)

,

(T -t F)

,

( F + i ) ( i i i ) G~~~~ = ( { S I ,

C#,

+, * ,

(

,

1 ,

1

, P", S) p 1 c

= C

1 : S +

#s#

2 : s + S + S 3 : s + S * S 4 : S + (S) 5 : s + i } ( i v ) ~ á l c u l o d a s f u n ç õ e s f e g

(36)

(v) ~ x e c u ç ã o P I LHA ME I O ENTRADA

#s#

S+S S*S (S i qq

.

outro PARSE ESTRUTURAL 5 5 3 ACEITO

(37)

( v i ) Á r v o r e s S i n t á t i c a s

(38)

a

P r o p r i a m e n t e , começaremos a q u i . E s t e c a p í t u l o s e r a a r e v i s ã o do c o n h e c i d o s o b r e e s t a s u b - c l a s s e d a s g r a m á t i c a s l i v r e s de c o n t e x t o . I G h i e h , 681 p r o p ô s a denominação ";ttLunaWon m&x" p a r a a t é c n i c a de a n á l i s e s i n t á t i c a que e n t ã o f o r m a l i z o u . E s s a

llmcu%iz d~ ~ u ~ ~ ? l l ç Ü o ~ ~ g u a r d a s e m e l h a n ç a s com a ";tubQRu d~ ~ ~ n a l ç õ e h ~ ~ de um automato f i n i t o . T a l s e m e l h a n ç a

é

f a t a l n o m e n c l a t u r a ,

a

Mais i m p o r t a n t e , porem, que o t í t u l o d a f e r r a m e n t a

é

a d e f i n i - ç ã o d e s s a c l a s s e de g r a m á t i c a s , m a i s ampla que a c l a s s e de p r g c e d ê n c i a de o p e r a d o r e s , b a s e a d a de c e r t a forma em c o n c e i t o s a n ã l o g o s . Como a c l a s s e de g r a m á t i c a de o p e r a d o r e s , e s u a nomencla

-

t u r a , j á e s t ã o também e s t a b e l e c i d a s contentamo- nos em m a n t e r o t z t u l o i n a d e q u a d o : m a t r i z e s de t r a n s i ç ã o .

O f u n d a m e n t a l d e s t e c a p í t u l o f o i e x t r a i d o de I ~ a m e h o n B Baueh, 6 0 1 , I ~ o m a y , 6 3 1 e , p r i n c i p a l m e n t e , I G h i u , 6 8 1 . As d e - m o n s t r a ç õ e s d e v i d a s s ã o a l i e n c o n t r a d a s .

3 . 1 -

-

GRAMÁTICA DE OPERADORES ESTENDIDA

O o b j e t i v o d e s t a p r i m e i r a m o d i f i c a ç ã o n a g r a m á t i c a d a - da

é

r e d u z i r o comprimento dos l a d o s d i r e i t o s d a s p r o d u ç õ e s a , no máximo,

t r ê s

s í m b o l o s .

a a

(39)

v e l s e p a r t i r m o s de uma g r a m á t i c a de o p e r a d o r e s .

O p r o c e s s o s e d a r á p e l a a d i ç ã o

2

g r a m á t i c a de novos n ã o - t e r m i n a i s , denominados - o u t r a vez com i n f e l i c i d a d e - p o r

I G & ~ Q ~ ,

681 de "vtÜo-X~nmincLín ~n;DLQeudun': e de n o v a s p r o d u ç õ e s i n t e r

m e d i á r i a s , denominadas " p o d u ç õ u ~nk.ItQRuda"

.

A o r i g e m do nome vem do uso de um "P" p a r a i d e n t i f i c á - l o s . P r e f e r i m o s , com m a i o r

c l a r e z a , s u b l i n h á - l o s .

(XXVI I I )

GRAMÁTICA DE OPERADORES ESTENDIDA (GOE)

S e j a G = (N, C , P , S) E

C G O .

A g r a m á t i c a

G ' =

(N',

C ' , P'

,

S ' ) = (N u

-

N u

i

S ' ) , C u

i

# I ,

P ' , S ' ) s e r a s u a g r a m á t i c a de o p e r a d o r e s e s t e n d i d a s e G ' f o r c o n s t r u í d a con forme o a l g o r l t m o 2 , a s e g u i r .

I

~ l ~ o r í t m o 2 (XXI X)

CONSTRUÇÃO DA GRAMÁTICA DE OPERADORES ESTENDIDA

P a s s o 1 : C o n s t r u a G ' = ( N ' , C ' , P ' , S ' ) de modo que G f = (N u { S I ) , C u

C # ) ,

P u i S '

+ #

S

#),

S ' ) com S ' N e

#

C . Chamaremos e s t a g r a m á t i c a ob

-

t i d a no P a s s o 1 de g r a m á t i c a de o p e r a d o r e s aumentada P a s s o 2 : Se (A -t a a ) E P ' , a~ (N' u C ' ) * e n t ã o ( i ) a c r e s c e n t e a p r o d u ç ã o V - -t a , s e

j á

não e x i s t i r

(40)

alguma produção com l a d o d i r e i t o a ; c a s o e x i s - t a , s e j a V - o s e u l a d o e s q u e r d o ; ( i i ) s u b s t i t u a c a d a produção d a forma (B -t af3) E P ' p o r (B -+ E@) ; P a s s o 3 : Se (A -t Baa) E P ' , a E (N' u C' ) " e n t ã o ( i ) a c r e s c e n t e a p r o d u ç ã o V - -t Ba, s e

j á

n ã o e x i s -

t i r alguma p r o d u ç ã o com l a d o d i r e i t o .Ba; c a s o e x i s t a , s e j a V - o s e u l a d o e s q u e r d o ; ( i i ) s u b s t i t u a cada p r o d u ç ã o d a forma (C .+ Baf3) G

P'

p o r (C +- YB); P a s s o 4 : Se (A -+ g a a ) E P '

,

a E

(H'

u

x')*

e n t ã o ( i ) a c r e s c e n t e a p r o d u ç ã o V - - + U a , s e j

á

não e x i s - t i r alguma p r o d u ç ã o com l a d o d i r e i t o !a; c a s o e x i s t a s e j a V - s e u l a d o e s q u e r d o ; ( i i ) s u b s t i t u a c a d a p r o d u ç ã o d a forma ( C + - U ~ @ ) E P ' p o r ( C - t X P ) ; P a s s o 5 : Se (A -t UBaa) E P ' ,a E (N' u I')* e n t ã o ( i ) a c r e s c e n t e a p r o d u ç ã o V - + y - Ba, s e j

á

n ã o e x i s

-

t i r alguma produção com l a d o d i r e i t o - UBa; c a s o

e x i s t a s e j a V - s e u l a d o e s q u e r d o ; ( i i ) s u b s t i t u a c a d a p r o d u s ã o d a forma

(C + UBaB) - E P ' p o r (C -+ YP);

(41)

Note q u e , a cada p a s s o , V -

é

um novo n ã o - t e r m i n a l criado quando uma nova produção f o r a c r e s c e n t a d a e N -

é

o c o n j u n - t o d e s s e s n ã o - t e r m i n a i s e s t r e l a d o s . Vamos c o n v e n c i o n a r que a n u - meração d a s p r o d u ç õ e s o r i g i n a i s s e j a ( 1 , 2 ,

. .

.

, p )

,

que o P a s - s o 1 c r i e uma n o v a p r o d u ç ã o numerada O e que a s demais p r o d u - ç õ e s a c r e s c i d a s s e j a m numeradas (p + 1 , p + 2 ,

...).

Note que a s s u b s t i t u i ç Õ e s de p r o d u ç õ e s n ã o a l t e r a m s u a numeração.

I

Exemplo N = { S , A, B, C,

D)

C = { a , b , c , d l

pós

o P a s s o 1: N ' = { S ' , S , A, B, C ,

D)

C ' =

C#,

a , b , c , d l P ' = {O: S' + #S#

,

1 : S + a A b , 2 : A + b c B , 3 : B + C , 4 : C + D d , 5 : D + d ) E x e c u t a n d o - s e o s p a s s o s s e g u i n t e s :

(42)

11: - b c - t b c

-

P r o p r i e d a d e s d a s GOE (XXXI)

(i) após o p a s s o 2 a s produções s ã o d a s formas (A -t B) , (A -t Bca)

,

(A +- - Ua)

,

(E

-t a)

( i i ) após o p a s s o 3 a s produções s ã o das formas (A -+ B) , (A +- - Ua) ,

(c

+ a )

,

(E

-+ Ba)

( i i i ) após o p a s s o 4 a s produções s ã o d a s formas (A +- B)

,

(A -t EBaa),

(E

+- a )

,

(c

+- Ba)

(c

-t ula)

,

(A +

E)

-

(43)

( i v ) em q u a l q u e r GOE temos a p e n a s 7 formas de p r o d u ç ã o : (A + B) , ( A - + 2 )

,

(A + - UB) 1 ( v ) cada n ã o - t e r m i n a l e s t r e l a d o a p a r e c e como l a d o e s q u e r d o de uma Única p r o d u ç ã o ; o l a d o d i r e i t o c o r r e s p o n d e n t e a- p a r e c e como l a d o d i r e i t o a p e n a s d e s s a p r o d u ç ã o .

( v i ) s e o s novos n ã o - t e r m i n a i s e s t r e l a d o s ,forem numerados conforme a ordem de a p a r e c i m e n t o no a l g o r í t m o , e n t ã o

( v i i ) p a r a c a d a produção (A +- a ) n a g r a m á t i c a o r i g i n a l e x i s t e

um Único c o n j u n t o de p r o d u ç õ e s

( v i i i ) p a r a cada á r v o r e s i n t á t i c a de uma forma s e n t e n c i a 1 y n a

4

g r a m á t i c a de o p e r a d o r e s p o d e - s e c o n s t r u i r uma Única a r v o r e s i n t á t i c a d a s e n t e n ç a # y

#

n a g r a m á t i c a de ope - r a d o r e s e s t e n d i d a , s u b s t i t u i n d o - s e o ramo (A + a) p e l a s p r o d u ç õ e s d e s c r i t a s no ;tem a n t e r i o r

(44)

I

Teorema 2 (XXXI I ) Se uma GOE

é

não- ambígua e n t ã o a GO d a q u a l d e r i v a

é

também não -amb?gua.

Demonstração : d e c o r r ê n c i a d a s p r o p r i e d a d e s X X X I ( i v ) , (v), ( v i ) , ( v i i ) e ( v i i i ) e d e v i d a a

I G ~ ~ u ,

6 g l .

I

A-- N

A

LISE SINTÁTICA EM GOE

Iremos d e s c r e v e r a s e g u i r o método de c o n s t r u ç ã o de a n a l i s a d o r e s s i n t á t i c o s p a r a GOE, b a s e a d o em r e l a ç õ e s de p r e c e

-

d ê n c i a , sendo p o r t a n t o um r e c o n h e c e d o r a s c e n d e n t e que

l ê

a s e n -

t e n ç a d a e s q u e r d a p a r a a d i r e i t a . P e l o f a t o de propormos um ana -

l i s a d o r d e t e r m i n í s t i c o e s t a r e m o s também d e f i n i n d o c o n d i ç õ e s s u - f i c i e n t e s p a r a que uma GOE s e j a não- ambígua.

Uma c a r a c t e r í s t i c a e s s e n c i a l d e s t e método

é

que s e b a -

s e a r á em r e l a ç õ e s de p r e c e d ê n c i a e n t r e n ã o - t e r m i n a i s e s t r e l a d o s e t e r m i n a i s , n ã o sendo capaz de d e t e c t a r uma r e d u ç ã o quando a produção u s a d a f o r s i m p l e s . P o r t a n t o , f o r n e c e r á um p a r s e e s p a r - s 0 .

As d e f i n i ç õ e s s e g u i n t e s de "6huh~" e "Óhuhe ptrAmurl p r g tendem s u b s t i t u i r a d e f i n i ç ã o u s u a l de "hundee" em a n a l i s a d o r e s

a s c e n d e n t e s e contornam o problema t e ó r i c o d a f o r m a l i u a ç ã o do p a r s e de modo mais s o f i s t i c a d o q u e a g r a m á t i c a e s t r u t u r a l v i s t a no c a p ? t u l o 2 p a r a a s g r a m á t i c a s de p r e c e d ê n c i a de o p e r a d o r e s .

(45)

I

~ e f i n i ç ã o FRASE (XXXIII) Diremos que ~ E ( N ' u C ' ) *

é

uma f r a s e s e

* .

*

*

ç ==> PAB => ByB e A => y

I

I

( i ) ( i i ) ( i i i ) D e f i n i ç ã o

- FRASE PRIMA (XXXIV)

Diremos que y E ( N ' u C ' ) *

é

uma f r a s e prima s e

y

é

f r a s e ;

y = a X B , X E (N - u C ) ;

y = a a 2

...

an Q a i não

é

f r a s e , qq.

i

A d e f i n i ç ã o

é

f e i t a de t a l forma que as f r a s e s primas s e r ã o o o b j e t o das r e d u ç õ e s , r e s t a n d o s o l u c i o n a r a s reduções ad

-

v i n d a s das produções s i m p l e s .

I

Teorema 3

A s f r a s e s primas em GOE s ã o de 6 formas :

U -

,

!a, a , UA, - Aa, UAa. -

Demonstração : consequência da p r o p r i e d a d e X X X I

.

( i v ) e da d e f i

-

n i ç ã o de f r a s e prima.

(46)

j u n t o das GOE - p a r a a s q u a i s s e r á sempre p o s s 2 v e l o b t e r um a - n a l i s a d o r s i n t á t i c o a s c e n d e n t e d e t e r m i n l s t i c o , do t i p o que n o s i n t e r e s s a .

I

D e f i n i ç ã o RELAÇÃO PRECEDE PRECEDE E ( N ' u C ' ) x (N' u C ' )

*

X PRECEDE Y . S 1 ====+aXYB

I

I

De£ i n i ç ã o

GRAMÁTIcAS DE MATRIZES DE TRANSIÇÃO (GMT)

(XXXVI) (XXXVI I ) Uma g r a m á t i c a G = (N' , C ' , P ' , s ' ) E

CGOE

s e r á d i t a g r a m á t i c a de m a t r i z de t r a n s i ç ã o (GMT) o u , e q u i v a l e n t e m e n t e , G E CGm, s e :

*

( i ) p a r a q u a l q u e r p a r (A,B) E (N u 1.5' ) ) s e A =>B, e n t ã o e s s a d e r i v a ç ã o

é

Única;

( i i ) p a r a cada p a r (U,

-

a) e

(E

x C ' ) no máximo uma das t r ê s s e g u i n t e s condições

é

v e r d a d e i r a :

( a ) ' (A -t - U) E P

'

A (A PRECEDE a) A (A Único) ;

(b)

(x

+ ' ~ a ) E p

'

;

(C)

(E

-+ a ) E P ' A (U - PRECEDE V) ;

-

( i i i ) p a r a cada t r i p l a ( U , - A, a) E (N - x N x C ' ) no máximo uma

das t r ê s s e g u i n t e s condições

é

v e r d a d e i r a : ( a ) (B + Uc) e P ' ( B PRECEDE a )

*

(47)

(b)

(E

+ U - Ca) E

P'

A ( C =>

*

A) A (C Único) ; (C)

(1

+ Ca) E P ' A (U - PRECEDE V) - (C

2>

A) A (C ú n i c o ) ;

I

São c o n s e q u ê n c i a s da d e f i n i ç ã o : ( i ) ( i i )

cada condição imposta c o r r e s p o n d e a uma d a s s e i s p o s s í - v e i s formas de f r a s e prima em GOE;

a G O E ( e , em consequência de XXXI. (v) também a g r a m á t i - c a de o p e r a d o r e s o r i g i n a l ) não n e c e s s i t a s e r unicamente i n v e r s í v e l admitindo a e x i s t ê n c i a de duas produções (A +- B) e (C +- B ) , desde que r e s p e i t a d a a condição de

d e r i v a ç ã o Única. P a r a a s produções não s i m p l e s

6

n e c e s s á - r i o que a g r a m á t i c a s e j a U I , em consequência d a s c o n d i - ç õ e s ( i )

.

a e ( i i . a ) da d e f i n i ç ã o de GMT.

I

Teorema 4 E [GMT

e

G

é

não-ambZgua. Demonstração : IGL~A, 68

1 .

(XXXVIII) (XXXIX)

CONSTRUTOR DE ANALISADOR

SINTATICO

PARA GMT

(48)

P a s s o 2 : P a s s o 3 : P a s s o 4 : P a s s o 5 : P a s s o 6 : C o n s t r u a a GOE a t r a v é s do A l g . 2 ; C o n s t r u a a r e l a ç ã o PRECEDE c (N u N) -

x

(N

-

u C ' ) ; P a r a cada p a r (U - , a ) v e r i f i q u e s e a p e n a s uma das con -

d i ç õ e s ( i )

.

a , ( i )

.

b e ( i )

.

c p r e v a l e c e . A s s i m sendo c o n s t r u a a q u á d r u p l a

(E,

a ,

L

j l onde X

é

o l a d o e s q u e r d o d a produção u s a d a \ j

é

o número d e s s a p r o d u ç ã o ; P a r a c a d a t r i p l a (U, -

A ,

a ) v e r i f i q u e s e a p e n a s uma d a s c o n d i ç õ e s ( i i )

.

a , ( i i )

.

b e ( i i )

.

c o c o r r e .

Assim sendo c o n s t r u a a 5-tupla

(g,

A, a , X, j )

Se mais de uma c o n d i ç ã o o c o r r e r n o s p a s s o s 4 ou 5 ou s e não f o r v e r i f i c a d a a c o n d i ç ã o do p a s s o 1 i n d i q u e que G

C G M T *

É i m p o r t a n t e que s e f a ç a uma v e r i f i c a ç ã o s u m á r i a d a complexidade do A l g . 3 , v i s a n d o s u a comparação com o aigorFtmo a s e r p r o p o s t o no c a p i t u l o s e g u i n t e :

( i ) o P a s s o 1 , conforme veremos no próximo c a p í t u l o ,

é

r e d u t h e l ao problema de d e t e r m i n a ç ã o da e x i s t ê n c i a de d o i s cami -

nhos d i s t i n t o s e n t r e um p a r de n ó s de um d i g r a f o e s p a r s o . Esse a l g o r $ t m o

é

de O (n) , onde n

é

o número de n ã o - t e r m i n a i s e n - v o l v i d o s em p r o d u ç õ e s s i m p l e s ;

( i i ) o Passo 2

é

o Alg.2 p a r a a c o n s t r u ç ã o d a GOE. E s s e a l g o r í t m o

é

de complexidade 0 (pn) , onde p

é

o número de p r o - duções e n

é

a soma d o s comprimentos dos l a d o s d i r e i t o s . Como

(49)

P

<

n , temos complexidade 0 ( n2)

.

( i i i ) o P a s s o 3 c o n s t r o i a r e l a ç ã o PRECEDE. E s t a r e l a - ç ã o pode s e r e x p r e s s a como PRECEDE =

<o

+

o>

+ , onde e s - t a s s ã o a s r e l a ç õ e s de

I

WMh & Webm, 66

1.

Conforme IffunX, 77

1

,que de t a l h a r e m o s no

capitulo,

é

c a l c u l á v e l p o r a l g o r í t m o de

I

2

complexidade 0 (n ) , onde n

é

a soma d o s números de t e r m i n a i s e n ã o - t e r m i n a i s ; ( i v ) o P a s s o 4 p e r c o r r e t o d a s a s produções p a r a cada p a r

(E,

a ) E

(E

x C ' ) , t o r n a n d o o a l g o r I t m o de complexidade O(pmn), c o m p =

#

( P ' ) , m =

#

( E ) ,

n = # ( L f ) . C o m o p < C l n - e m - < C2n, p a r a c o n s t a n t e s C1 e C 2 , t e r e m o s complexidade O(n3); (v) o P a s s o 5 , p o r a n a l o g i a ao Passo 4 , t e r á complexi dade O(pmnr), com p = # ( P ' ) , m = # ( N ) , - n = # (C' ) , r = # ( N ) . Por c o n s e g u i n t e 0 ( n4) ;

( v i ) em c o n c l u s ã o , temos um a l g o r í t m o 0 ( n4) .

R e s t a - n o s a p r e s e n t a r o a n a l i s a d o r s i n t á t i c o p a r a GMT.

Alguns p r o b l e m a s a i n d a não e s t ã o r e s o l v i d o s , t a i s como a s r e d u - ç õ e s da forma A < L B e o armazenamento d a s t r i p l a s o b t i d a s p e l o c o n s t r u t o r . Seguiremos p r e c i s a m e n t e a s o l u ç ã o de I ~ h i e ~ , 681 que advoga a t r a d u ç ã o d a s t r i p l a s em m a t r i z de c o n t r o l e ( a " m W z de 2xuvz&LçÜa1' ) a c o p l a d a a um c o n j u n t o de subprogramas.

A g e r a ç ã o d a m a t r i z e dos subprogramas

é

a l g o r í t m i c a mas não s e r á n e c e s s á r i o d e s c r e v ê - l a formalmente a q u i b a s t a n d o l e m b r a r :

( i ) como a m a t r i z s e r á b i d i m e n s i o n a l (N x - C ) , t o d a s a s t u p l a s que c o n t i v e r e m o p a r ( U , - a ) s e r ã o t r a t a d a s p e l o mesmo

(50)

subprograma ;

( i i ) a v e r i f i c a ç ã o do e l e m e n t o d a t u p l a c o r r e s p o n d e n - t e ao n ã o - t e r m i n a l s e r á f e i t a sempre s o b r e o c o n j u n t o SYMB*(A) =

*

{ B

I

A A> B}, quando t o d a s a s r e d u ç õ e s d i r e t a s de A<= B s e r ã o f e i t a s de uma

s ó

v e z ;

( i i i ) a s t u p l a s a d v i n d a s d a s c o n d i ç õ e s ( i ) . a e (ii) . a

4

(ou s e j a , X + - U e X -t - UA) i r ã o compor um subprograma que apos

v e r i f i c a r o n ã o - t e r m i n a l o r i g i n a l , s e r a :

I ' p o p ; MEIO:=:X;

w r i t e ( j ) ; 1 1

( i v ) a s t u p l a s a d v i n d a s d a s c o n d i ç õ e s ( i ) . b e ( i i ) . b (ou s e j a , X + U a - e X + U A a ) - i r ã o compor um subprograma q u e ,

após v e r i f i c a r o n ã o - t e r m i n a l , ser;:

"

p o p ;

-

p u s h

(x);

MEIO:=&; w r i t e ( j ) ; SCAN; 1 I

(v) a s t u p l a s a d v i n d a s d a s c o n d i ç õ e s ( i ) . c e ( i i ) . c (ou s e j a , X -+ a e

X:

-t Aa) i r ã o compor um subprograma q u e , a -

4 p ó s v e r i f i c a r o n ã o - t e r m i n a l , s e r a :

"

push --

(X)

; M E I O : = E ; w r i t e ( j ) ; SCAN; r ! -- O a n a l i s a d o r s i n t á t i c o d a GMT

é

o programa composto p e - 10s subprogramas g e r a d o s e i n i c i a l i z a ç ã o . Exemplo -- G = ( N , L , P , S) E CGO

(51)

P = (1 PROG + S T A T E

2 PROG -+ i f EXPR t h e n STATE

3 S T A T E + i f EXPR t h e n STATE e l s e STATE

4 STATE + v a r : = EXPR 5 EXPR -+ EXPR o r v a r 6 EXPR + v a r S = PROG C o n s t r u i n d o a GOE S

'

PRO G PRO G STATE STATE EXPR EXPR v a r

-

E X P R o r

--

v a r : = E X P R o r v a r

#

PROG

#

i f E X P R t h e n STATE i f E X P R t h e n STATE i f E X P R t h e n S T A T E e l s e STATE v a r : = EXPR E X P R o r v a r v a r

#

i f v a r EXPR o r v a r : = E X P R o r v a r

#

PROG

#

- i f EXPR t h e n - i f E X P R t h e n STATE e l s e . -

(52)

-

UPLA

-

1 2 3 4 5 6 7 8 9 1 0 11 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 20 2 1 2 2 2 3 24 2 5 2 6 27 28

-

v a r

-

v a r v a r

-

v a r v a r - v a r : = v a r : = v a r : = v a r : = EXPRor EXPRorvar EXPRorvar EXPRorvar EXPRorvar a

#

i f Jar khm Jar )r

#

i f :lse far

#

i f 2 l s e v a r

#

then 2 l s e

.

- - 3r

#

e l s e v a r o r v a r

#

t h e r elsc o r

-

var

-

var

-

PROG var

-

STATE STATE var

-

EXPR EXPR EXPR var : = EXPR STATE STATE var EXPRor EXPRo rvar EXPR EXPR EXPR EXPR FORMA ?SPECIAL U +

-

a U + a

-

V + UAa

-

- U + a

-

U + A a

-

A + - U a

U +

a - V + UAa - - U + a

-

A +

-

UA U + a

-

A + UA - U + a

-

A + U

-

A + U - A + U

V +

- U a - A + U A + UA A + UA

-

U + a

-

U + - A a V + U a

- -

A + U d A + - U A + U A + U

(53)

b e g i n

p u s h ( # ) ; M E I O : = & ; SCAN; DONE:= f a l s e ; -

w h i l e n o t DONE - d o

case MAT-TRANSICAO [

top,

SCANNEDI

- of

b e g i n

O : ERROR; DONE : = t r u e ;

1: - i f MEIO=PROG - o r MEIO=STATE t h e n

b e g i n w r i t e (" ACEITO" ) ; DONE: = t r u e ;

-

end

e l s e ERROR;

2 : - i f MEIO = E t h e n b e g i n p u s h --

(Yf)

-

; SCAN; -- e n d e l s e ERROR;

3 : - i f MEIO = E t h e n b e g i n p u s h ( ~ a r ) ;

-

SCAN; - - e n d e l s e ERROR; 4 : - i f MEIO = EXPR t h e n b e g i n p o p ; - p u s h ( i f E X P R t h e n ) ; M E I O : = E ; SCAN;

e '

- e l s e ERROR; 5 : I f MEIO = EXPR t h e n b e g i n p u s h ( E X P R o r ) ; M E I O : = E ; SCAN; end - e l s e ERROR;

6 :

-

i f MEIO = STATE t h e n b e g i n p o p ; MEIO:=PROG end e l s e

--

ERROR;

7 : - i f MEIO = STATE t h e n b e g i n

pop;

p u s h ( i f E X P R t h e n S T A T E e l s e ) ;

M E I O : = E ; SCAN; end

-

e l s e ERROR;

-

-

8 :

-

i f MEIO = STATE t h e n b e g i n p o p ; MEIO:=STATE - - end e l s e ERROR; 9 : - if MEIO = E

-

t h e n b e g i n p o p ; M E I O : = E X P R end e l s e -- ERROR;

1 0 : i f MEIO - = E -- t h e n b e g i n p o p ; push ( ~ a r : = ) ; SCAN; end - e l s e ERROR; 11 : - i f MEIO = E t h e n b e g i n

pop;

p u s h ( E X P R o r v a r ) ; end ; - end. SCAN ; end

-

Referências

Documentos relacionados

É importante destacar que as práticas de Gestão do Conhecimento (GC) precisam ser vistas pelos gestores como mecanismos para auxiliá-los a alcançar suas metas

Neste trabalho o objetivo central foi a ampliação e adequação do procedimento e programa computacional baseado no programa comercial MSC.PATRAN, para a geração automática de modelos

Para facilitar a compila¸c˜ao de aplica¸c˜oes que uti- lizem estas bibliotecas, um programa foi desenvolvido que inclui automatica- mente as diretivas necess´ arias para utilizar

The fourth generation of sinkholes is connected with the older Đulin ponor-Medvedica cave system and collects the water which appears deeper in the cave as permanent

As doenças mais frequentes com localização na cabeça dos coelhos são a doença dentária adquirida, os abcessos dentários mandibulares ou maxilares, a otite interna e o empiema da

Peça de mão de alta rotação pneumática com sistema Push Button (botão para remoção de broca), podendo apresentar passagem dupla de ar e acoplamento para engate rápido

No caso e x p líc ito da Biblioteca Central da UFPb, ela já vem seguindo diretrizes para a seleção de periódicos desde 1978,, diretrizes essas que valem para os 7

Extinction with social support is blocked by the protein synthesis inhibitors anisomycin and rapamycin and by the inhibitor of gene expression 5,6-dichloro-1- β-