URICER Universidade Regional Integrada do Alto Uruguai e das Missões Campus de Erechim Apostila de COMPILADORES

Tamanho: px
Começar a partir da página:

Download "URICER Universidade Regional Integrada do Alto Uruguai e das Missões Campus de Erechim Apostila de COMPILADORES"

Transcrição

1 URICR Universidde Regionl Integrd do Alto Urugui e ds Missões Cmpus de rechim Apostil de COMPILADORS rechim, gosto de 2001.

2 -2- SUMÁRIO 1 CONCIOS BÁSICOS (revisão) LINGUAGNS SUAS RPRSNAÇÕS Conceito ipos specificção de um lingugem INRODUÇÃO À COMPILAÇÃO ipos de Compilção Interpretção pur Sistems de Interpretção Híbridos Construção de Compildores Processdores de lingugens strutur gerl de um compildor Anlisdor léxico (ou scnner) Anlisdor sintático (ou prser) Anlisdor semântico Otimizção de código Gerção de código orms de construção de um compildor errments pr construção de compildores ANALISADOR LÉXICO unção Reconhecimento de tokens: utômto finito Implementção ANALISADOR SINÁICO unção specificção ds regrs sintátics: grmátic livre de contexto Notções Árvore de derivção ou árvore sintátic Análise sintátic descendente e scendente Autômto de pilh ipos de nlisdores sintáticos Anlisdor sintático scendente (bottom-up) Anlisdor sintático descendente (top-down) A Implementção d Análise Shift-Reduce trvés de pilhs O Anlisdor de grmátics de precedênci de operdores Simplificções de Grmátics Livres de Contexto Símbolos Inúteis ou Improdutivos ε - Produções Produções Unitáris... 47

3 torção liminção de Recursão à squerd ipos speciis de GLC Principis Notções de GLC Conjuntos irst e ollow Conjunto irst Conjunto ollow List de xercícios de Simplificção de GLC s BIBLIOGRAIA... 61

4 -4-1 CONCIOS BÁSICOS (RVISÃO) Segundo MNZS (1997), os estudos sobre lingugens formis inicirm-se n décd de 50 com o objetivo de definir mtemticmente s estruturs ds lingugens nturis. No entnto, verificou-se que teori desenvolvid plicv-se o estudo ds lingugens de progrmção. A teori de lingugens formis englob, bsicmente, o estudo ds crcterístics, proprieddes e plicções ds lingugens formis, bem com form de representção d estrutur (sintxe) e determinção do significdo (semântic) ds sentençs ds lingugens. Segundo URADO (1992), importânci dest teori é dupl: tnto pói outros spectos teóricos d teori d computção, tis como decibilidde, computbilidde, complexidde, etc. como fundment diverss plicções computcionis, como por exemplo processmento de lingugens, reconhecimento de pdrões, modelgem de sistems, etc. Ms, o que é um lingugem? um lingugem é um form de comunicção, usd por sujeitos de um determind comunidde; um lingugem é o conjunto de SÍMBOLOS e RGRAS pr combinr esses símbolos em sentençs sintticmente correts. "um lingugem é forml qundo pode ser representd trvés de um sistem com sustentção mtemátic" (PRIC; DLWISS, 1989). Assim sendo, são necessários conceitos mtemáticos pr o estudo ds lingugens formis. Símbolo Um símbolo é um entidde bstrt básic sem definição forml. São exemplos de símbolos s letrs, os dígitos, etc. Símbolos são ordenáveis lexicogrficmente e, portnto, podem ser comprdos qunto à iguldde ou precedênci. Por exemplo, tomndo s letrs dos lfbetos, tem-se ordenção A < B < C <... < Z. A principl utilidde dos símbolos está n possibilidde de usá-los como elementos tômicos em definições de lingugens. Sentenç (ou plvr) Um sentenç (ou plvr) é um seqüênci finit de símbolos. Sejm P, R, I, M, e A símbolos, então PRIMA é um sentenç. As sentençs vzis, representds por ε, é um sentenç constituíd por nenhum símbolo. mnho de um sentenç O tmnho (ou comprimento) de um sentenç w, denotdo por w, é ddo pelo número de símbolos que compõem w. Assim, o tmnho d sentenç PRIMA é 5 e o tmnho d sentenç vzi é 0.

5 -5- Alfbeto Um lfbeto, denotdo por V, é um conjunto finito de símbolos. Assim, considerndo os símbolos dígitos, letrs, etc., tem-se os seguintes lfbetos V binário = {0, 1}; V vogis = {, e, i, o, u}. É importnte observr que um conjunto vzio tmbém pode ser considerdo um lfbeto. O fechmento reflexivo de um lfbeto V, denotdo por V*, é o conjunto infinito de tods s sentençs que podem ser formds com os símbolos de V, inclusive sentenç vzi. O fechmento trnsitivo de um lfbeto V, denotdo por V +, é ddo por V* - {ε}. Sej V o lfbeto dos dígitos binários, V = {0, 1}. O fechmento trnsitivo de V é V + = {0, 1, 00, 01, 10, 11, 000, 001, 010, 011,...}, enqunto que o fechmento reflexivo de V é V* = {ε, 0, 1, 00, 01, 10, 11, 000, 001, 010, 011,...}.

6 -6-2 LINGUAGNS SUAS RPRSNAÇÕS 2.1 CONCIO Um lingugem forml L é um conjunto de sentençs formds por símbolos tomdos de lgum lfbeto V. Isto é, um lingugem sobre o lfbeto V é um subconjunto de V* (L V*). Assim, por exemplo, o conjunto de sentençs válids d língu portugues poderi ser definido extensionlmente como um subconjunto de {, b, c,..., z} +. Um lingugem pode ser: finit: qundo é compost por um conjunto finito de sentençs. Sej V = {, b} um lfbeto, L 1, L 2 e L 3 lingugens definids conforme segue: L 1 = {w w V* w < 3}, ou sej, L 1 é um lingugem constituíd por tods s sentençs de tmnho menor que 3 formds por símbolos de V. Portnto, L 1 = {ε,, b,, b, b, bb} L 2 = L 3 = {ε} As lingugens L 2 e L 3 são diferentes. infinit: qundo é compost por um conjunto infinito de sentençs. Sej V = {, b} um lfbeto, L 1, L 2 e L 3 lingugens definids conforme segue: L 1 = {w w V* w MOD 1 2 = 0}, ou sej, L 1 é um lingugem constituíd por tods s sentençs de tmnho pr formds por símbolos de V. Portnto, L 1 = {ε,, b, b, bb,, b, b,...} L 2 = {w w é um plíndrome 2 }. Portnto L 2 = {ε,, b,, bb, b, bb,...} L 3 = lingugem de progrmção PASCAL, ou sej, o conjunto infinito de progrms escritos n lingugem de progrmção em questão. Como definir/representr um lingugem? Um lingugem finit pode ser definid trvés d enumerção ds sentençs constituintes ou trvés de um descrição lgébric. Um lingugem infinit deve ser definid trvés de representção finit. Reconhecedores ou sistems gerdores são dois tipos de representções finits. Um reconhecedor é um dispositivo forml usdo pr verificr se um determind sentenç pertence ou não à lingugem. São exemplos de reconhecedores utômtos finitos, utômtos de pilh e máquins de uring. Um sistem gerdor é um dispositivo forml usdo pr gerr de form sistemátic s sentençs de um dd lingugem. São exemplos de sistems gerdores s grmátics. odo reconhecedor e todo sistem gerdor pode ser representdo por um lgoritmo. 1 MOD é um operção que represent o resto d divisão inteir. 2 Um plíndrome é um plvr que tem mesm leitur d esquerd pr direit e vice-vers.

7 IPOS Nom Chomsky definiu um hierrqui de lingugens como modelos pr lingugens nturis. As clsses de lingugens são: regulr, livre de contexto, sensível o contexto e irrestrit. As inclusões dos tipos de lingugens são presentds n figur bixo. LINGUAGM IRRSRIA (ou tipo 0) LINGUAGM SNSÍVL AO CONXO (ou tipo 1) LINGUAGM LIVR D CONXO (ou tipo 2) LINGUAGM RGULAR (ou tipo 3) IGURA 8: hierrqui de Chomsky Pode-se ver que um lingugem do tipo 3 é tmbém do tipo 2, um lingugem do tipo 2 é tmbém do tipo 1, e um lingugem do tipo 1 é tmbém do tipo 0. sts inclusões são estrits, isto é, existem lingugens do tipo 0 que não são do tipo 1, existem lingugens do tipo 1 que não são do tipo 2 e existem lingugens do tipo 2 que não são do tipo 3. As lingugens regulres constituem um conjunto de lingugens bstnte simples. sss lingugens podem ser reconhecids por utômtos finitos, gerds por grmátics regulres e fcilmente descrits por expressões simples, chmds expressões regulres. Segundo MNZS (1997), lgoritmos pr reconhecimento e gerção de lingugens regulres são de grnde eficiênci, fácil implementção e pouc complexidde. HOPCRO; ULLMAN (1979) firmm que vários são os problems cujo desenvolvimento pode ser fcilitdo pel conversão d especificção feit em termos de expressões regulres n implementção de um utômto finito correspondente. Dentre s váris plicções, podemos citr: nlisdores léxicos e editores de texto. Pr descrever precismente regr de formção (pdrão) de tokens mis complexos de lingugens de progrmção, tis como identificdores, plvrs reservds, constntes e comentários, us-se notção ds expressões regulres, s quis podem ser utomticmente convertids em utômtos finitos equivlentes cuj implementção é trivil. A operção de busc e substituição de plvrs (ou trechos de plvrs) tmbém pode ser relizd trvés d implementção de um utômto finito prtir d especificção d expressão regulr correspondente. A importânci ds lingugens livres de contexto reside no fto de que especificm dequdmente s estruturs sintátics ds lingugens de progrmção, tis como prênteses blncedos, construções ninhds, entre outrs. A miori ds lingugens de progrmção pertence o conjunto ds lingugens livre de contexto e pode ser nlisd por lgoritmos eficientes. sss lingugens podem ser reconhecids por utômtos de pilh e gerds por grmátics livre de contexto(glc). Segundo URADO (1992), dentre s váris plicções dos conceitos de lingugens livre de contexto, podemos citr: definição e

8 -8- especificção de lingugens de progrmção; implementção eficiente de nlisdores sintáticos; implementção de trdutores de lingugens e processdores de texto em gerl; estruturção forml e nálise computcionl de lingugens nturis. Segundo MNZS (1997), s lingugens sensíveis o contexto e irrestrits "permitem explorr os limites d cpcidde de desenvolvimento de reconhecedores ou gerdores de lingugens, ou sej, estud solucionbilidde do problem d existênci de lgum reconhecedor ou gerdor pr determind lingugem". sss lingugens podem ser respectivmente reconhecids por máquins de uring limitds e gerds por grmátics sensíveis o contexto(gsc); reconhecids por máquins de uring e gerds por grmátics irrestrits. MNZS (1997) observ que nem sempre s lingugens de progrmção são trtds dequdmente n hierrqui de Chomsky. Assim, pr especificção de determinds lingugens de progrmção pode-se fzer necessário o uso de outros formlismos como por exemplo grmátic de grfos. 2.3 SPCIICAÇÃO D UMA LINGUAGM oi dito que um lingugem L é qulquer subconjunto de sentençs sobre um lfbeto V. Ms, qul subconjunto é esse, como defini-lo? Um grmátic é um dispositivo forml usdo pr definir qul subconjunto de V* form determind lingugem. A grmátic define um estrutur sobre um lfbeto de form permitir que pens determinds combinções de símbolos sejm considerds sentençs. O que é GRAMÁICA? É um sistem gerdor de lingugens; é um sistem de reescrit; é um mneir finit de descrever um lingugem; é um dispositivo forml usdo pr especificr de mneir finit e precis um lingugem infinit. Grmátic ormlmente um grmátic G é definid como sendo um quádrupl G = (N,, P, S), onde: N é um conjunto finito de símbolos denomindos símbolos não-terminis, usdos n descrição d lingugem; é um conjunto finito de símbolos denomindos símbolos terminis, os quis são os símbolos proprimente ditos; P é conjunto finito de pres (α, β) denomindos regrs de produção (ou regrs grmticis) que relcionm os símbolos terminis e não-terminis; S é o símbolo inicil d grmátic pertencente N, prtir do qul s sentençs de um lingugem podem ser gerds. As regrs grmticis são representds por α ::= β ou α β, onde α e β são sentençs sobre V, com α envolvendo pelo menos um símbolo pertencente V N. Um seqüênci de regrs de produção d form α β 1, α β 2,... α β n, ou sej, com mesm componente do ldo esquerdo, pode ser brevid como um únic produção n form: α β 1 β 2... β n. O significdo de um regr de produção α β é α produz β ou α é definido por β.

9 -9- Abixo se encontr um exemplo de um grmátic: XMPLO 1: lingugem dos números inteiros sem sinl é gerd pel seguinte grmátic G: onde G = (N,, P, S) V N = {N, D} V = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} P = { N D N D D } S = N Observ-se que grmátic presentd no XMPLO 1 não é regulr. Grmátics Regulres (tipo 3) Um grmátic G é de tipo 3, ou regulr, se cd produção é d form : A ::= B, A ::= ou A ::= ε, onde A e B são não-terminis e é um terminl. xemplo de Grmátic Regulr: S ::= 0A 1A A ::= 0B 1A B ::= 0A 1B ε Grmátics Livres de Contexto - GLC (tipo2) As lingugens livres de contexto são definids por grmátics livres de contexto (GLC) que podem ser utilizds pr especificr prte sintátic de um lingugem de progrmção. Um grmátic livre de contexto é um quádrupl G = (V N, V, P, S), onde: P = {A α A V N, α é um sentenç em (V N V )*}. m outrs plvrs, um grmátic livre de contexto dmite pens regrs de produção cujo o ldo esquerdo contém extmente um não-terminl. Segundo MNZS (1997), signific que o não-terminl "A deriv α sem depender ('livre') de qulquer nálise dos símbolos que ntecedem ou sucedem A ('contexto') n sentenç que está sendo derivd". XMPLO: lingugem L = {x x {, b} + x segue o pdrão de formção n b n n 0} é gerd pel seguinte grmátic livre de contexto: S S b ε Pode-se estbelecer um nlogi entre est lingugem e os blocos estruturdos do tipo BGIN ND, ou s expressões com prênteses blncedos n form ( n ) n. Grmátics Sensíveis o Contexto - GSC (tipo 1)

10 O Símbolo inicil S não prece no ldo direito de nenhum produção, e 2. Pr cd produção α1 ::= α2, é verdde que α1 <= α2, ou sej, o ldo esquerdo d produção é <= o ldo direito(com exceção d regr S ::= ε), então se diz que G é um grmátic do tipo 1, ou Grmátic Sensível o Contexto. XMPLO: lingugem L = {x x {, b, c} + x segue o pdrão de formção n (b c) n n 1 é gerd pel seguinte grmátic sensível o contexto: S S B C B C B C C B C B B C B b C c Lingugens Irrestrits (tipo 0) As lingugens irrestrits representm tods s lingugens que podem ser reconhecids mecnicmente e em um tempo finito. São definids por grmátics irrestrits (GI). Um grmátic irrestrit é um quádrupl G = (N,, P, S) que não possui qulquer restrição qunto à form ds regrs de produção. Qulquer um ds grmátics especificds nteriormente é um exemplo de um grmátic irrestrit. Observ-se que um lingugem com dois ou mis símbolos terminis que possuem um relção quntittiv e posicionl não pode ser representd por GR; um lingugem com três ou mis símbolos terminis que possuem um relção quntittiv e posicionl não pode ser representd por GLC; qunto mis brngente o tipo d grmátic mis complex é nálise.

11 -11-3 INRODUÇÃO À COMPILAÇÃO 3.1 IPOS D COMPILAÇÃO Os progrms podem ser trduzidos pr lingugem de máquin, qul pode ser executd diretmente no computdor. Isso é chmdo de implementção compild. sse método tem vntgem de um execução de progrm muito rápid, ssim que o processo de trdução for concluído. A miori ds implementções de lingugens de produção como C, COBOL e Ad dáse por meio de compildores. A lingugem que um compildor trduz é chmd de lingugem-fonte. O processo de compilção desenvolve-se em diverss etps, miori ds quis mostrd n figur 3.1. O nlisdor léxico reúne os crcteres do progrm-fonte em uniddes léxics que são os identificdores, s plvrs especiis, os operdores e os símbolos de pontução. O nlisdor léxico ignor os comentários no progrm-fonte, porque eles não têm nenhum utilidde pr o compildor. O nlisdor sintático peg s uniddes do nlisdor léxico e us-s pr construir estruturs hierárquics chmds árvores de nálise, s quis representm estrutur sintátic do progrm (árvores de derivção, lembr?). m muitos csos, nenhum estrutur de árvore de nálise rel é construíd; o contrário, informção que seri necessári pr construí-l é gerd e usd. O gerdor de código intermediário produz um progrm em um lingugem diferente, no nível intermediário entre o progrm-fonte e síd finl do compildor, o progrm em lingugem de máquin (note que s plvrs lingugem e código muits vezes são usds de mneir intercmbiável). As lingugens intermediáris, às vezes, precem-se muito com s lingugens ssembly. m outros csos, o código intermediário está em um nível bem mis lto que o ssembly. O nlisdor semântico fz prte integrlmente do gerdor de código intermediário e verific se há erros difíceis, se não impossíveis, de serem detectdos durnte nálise sintátic, como por exemplo, erros de tipo.

12 -12- Progrm-fonte Anlisdor Léxico Uniddes léxics Anlisdor Sintático Árvores de nálise bels de Símbolos Gerdor de código intermediário e Anlisdor Sintático Otimizção (opcionl) Gerdor de Código Código Intermediário Lingugem de máquin Ddos de entrd Computdor Resultdos igur O processo de compilção.

13 -13- A otimizção, que melhor os progrms tornndo-os menores ou mis rápidos, ou mbos, muits vezes, é um prte opcionl d compilção. De fto, lguns compildores são incpzes de fzer qulquer otimizção significtiv. sse tipo de compildor seri usdo em situções em que velocidde de execução do progrm trduzido é bem menos importnte do que velocidde de compilção. Um exemplo dess situção é um lbortório de computção pr progrmdores principintes. N miori ds situções comerciis e industriis, velocidde de execução é mis importnte do que velocidde de compilção, de modo que otimizção é rotineirmente desejável. Um vez que muitos tipos de otimizção não podem ser feitos em lingugem de máquin, miori ds otimizções é feit no código intermediário. O gerdor de código converte versão do código intermediário otimizdo do progrm pr um progrm em lingugem de máquin equivlente. A tbel de símbolos serve como um bnco de ddos pr o processo de compilção. Seu principl conteúdo são informções sobre tipos e tributos de cd nome definido pelo usuário no progrm. sss informções são colocds n tbel de símbolos pelos nlisdores léxico e sintático e usds pelo nlisdor semântico e pelo gerdor de código. Conforme firmou-se cim, não obstnte lingugem de máquin gerd por um compildor poss ser executd diretmente no hrdwre, quse sempre el deve ser executd juntmente com lgum outro código. A miori dos progrms de usuário tmbém exige progrms do sistem opercionl. ntre os mis comuns, estão queles pr entrd (input) e síd (output) de ddos. O compildor cri chmds progrms do sistem necessários qundo o progrm de usuário necessit deles. Antes que os progrms em lingugem de máquin produzidos pelo compildor possm ser executdos, os progrms necessários do sistem opercionl devem ser encontrdos e vinculdos o usuário. A operção de vinculção conect o progrm de usuário os de sistem, colocndo os endereços dos pontos de entrd dos progrms de sistem ns chmds eles no de usuário. O código de usuário e o de sistems juntos, às vezes, são chmdos de módulo de crg ou imgem de executável. O processo de coletr progrms de sistem e vinculá-los os progrms de usuário é chmdo de vinculção e crregmento ou, às vezes, pens de vinculção. le é relizdo por um progrm de sistem chmdo linkeditor. Além dos progrms de sistems, os progrms de usuário muits vezes devem ser vinculdos progrms de usuário compildos nteriormente, que residem em bibliotecs. Assim, o linkeditor não somente vincul lgum ddo progrm os progrms de sistem, ms tmbém o vincul outros progrms de usuário. 3.2 INRPRAÇÃO PURA N extremidde opost dos métodos de implementção, os progrms podem ser interpretdos por outro progrm chmdo interpretdor, sem nenhum conversão. O progrm interpretdor ge como um simulção de softwre de um máquin cujo ciclo buscr-executr lid com instruções de progrm em lingugem de lto nível em vez de instruções de máquin. ss simulção de softwre, evidentemente, fornece um máquin virtul pr lingugem. ss técnic, chmd de interpretção pur ou, simplesmente de interpretção, tem vntgem de permitir um fácil implementção de muits operções de depurção do códigofonte, porque tods s mensgens de erro em tempo de execução podem referir-se uniddes do código. Por exemplo, se for considerdo que um índice de rry está for d fix, mensgem de erro poderá fcilmente indicr linh d fonte e o nome do rry. Por outro ldo, esse método tem séri desvntgem de que execução é de vezes mis lent que em sistems compildos. A principl cus dess lentidão é decodificção ds instruções de lto nível, bem mis complexs do que s instruções em lingugem de máquin (não obstnte poss hver um número menor de comndos do que de instruções de código de máquin

14 -14- equivlente). Portnto, decodificção de comndos, em vez d conexão entre o processdor e memóri, é o grglo de um interpretdor puro. Outr desvntgem d interpretção pur é que el freqüentemente exige mis espço. Além do progrm-fonte, tbel de símbolos deve estr presente n interpretção. Além disso, o progrm-fonte deve ser rmzendo em um form projetd pr permitir fácil cesso e modificção, em vez de um tmnho mínimo. A interpretção é um processo difícil em progrms escritos em um lingugem complicd, porque o significdo de cd expressão e instrução deve ser determindo diretmente do progrm-fonte em tempo de execução. Lingugens com estruturs mis simples prestm-se à interpretção pur. Por exemplo, APL e LIS, às vezes são implementds como sistems interprettivos puros. A miori dos comndos do sistem opercionl, como por exemplo, o conteúdo dos scripts do shell do UNIX e dos rquivos.bt do DOS, são implementdos com interpretdores puros. Lingugens mis complexs, como o ORRAN e o C, rrmente são implementds com interpretdores puros. O processo de interpretção pur é mostrdo n figur 3.2. Progrm-fonte Ddos de entrd Interpretdor Resultdos igur Interpretção pur.

15 SISMAS D INRPRAÇÃO HÍBRIDOS Alguns sistems de implementção de lingugem são um meio-termo entre os compildores e os interpretdores puros; eles trduzem progrms em lingugem de lto nível pr um lingugem intermediári projetd pr permitir fácil interpretção. sse método é mis rápido do que interpretção pur porque s instruções d lingugem fonte são decodificds somente um vez. sss implementções são chmds de sistems de implementção híbridos. O processo usdo em um sistem de implementção híbrido é mostrdo n figur 3 em vez de trduzir código em lingugem intermediári pr código de máquin, ele simplesmente interpret o código intermediário. A Perl é implementd com um sistem híbrido. l se desenvolveu prtir d lingugem impertiv sh e wk, ms é prcilmente compild pr detectr erros ntes d interpretção e pr simplificr o interpretdor. As implementções iniciis de Jv erm tods híbrids. Su form intermediári, chmd código de bytes, oferece portbilidde qulquer máquin que tenh um interpretdor de código de bytes e um sistem run-time ssocido. Juntos, eles são chmdos de Jv Virtul Mchine. Agor há sistems que trduzem código de bytes Jv pr código de máquin pr permitir um execução mis rápid. Porém os pplets Jv são sempre descrregdos do servidor Web n form de código de bytes. Às vezes, um interpretdor pode oferecer tnto implementções compilds como interpretds pr um lingugem. Nesses csos, o interpretdor é usdo pr desenvolver e pr depurr progrms. ntão, depois de que um estdo (reltivmente) livre de problems (bugs) é lcnçdo, os progrms são compildos pr umentr su velocidde de execução.

16 -16- Progrm-fonte Anlisdor Léxico Uniddes léxics Anlisdor Sintático Árvores de nálise Gerdor de código intermediário Código intermediário Ddos de entrd Interpretdor Resultdos igur Sistem de implementção híbrido. 3.4 CONSRUÇÃO D COMPILADORS A construção de compildores englob váris áres desde teori de lingugens de progrmção té engenhri de softwre, pssndo por rquitetur de máquin, sistems opercionis e lgoritmos. Algums técnics básics de construção de compildores podem ser usds n construção de ferrments vrids pr o processmento de lingugens, como por exemplo: compildores pr lingugens de progrmção: um compildor trduz um progrm escrito num lingugem fonte em um progrm escrito em um lingugem objeto; formtdores de texto: um formtdor de texto mnipul um conjunto de crcteres composto pelo documento ser formtdo e por comndos de formtção (prágrfos, figurs, fórmuls mtemátics, negrito, itálico, etc). São exemplos de textos formtdos os documentos escritos em editores convencionis, os documentos escritos em HML (Hyperext Mrkup Lnguge), os documentos escritos em Ltex, etc.; interpretdores de queries (consults bnco de ddos): um interpretdor de queries trduz um query compost por operdores lógicos ou relcionis em comndos pr percorrer um bnco de ddos. 3.5 PROCSSADORS D LINGUAGNS

17 -17- Um processdor é um progrm que permite o computdor entender os comndos de lto nível escritos pelos usuários. xistem dois tipos principis de processdores de lingugem: os interpretdores e os trdutores. Um interpretdor (IGURA 3.4) é um progrm que ceit como entrd um progrm escrito em um lingugem chmd lingugem fonte e execut diretmente s instruções dds nest lingugem. P fonte /L qq INRPRADOR resultdos IGURA 3.4: interpretdor Um trdutor (IGURA 3.5) é um progrm que ceit como entrd um progrm escrito em um lingugem fonte e produz como síd um progrm escrito em um lingugem objeto. Muits vezes lingugem objeto é própri lingugem de máquin do computdor. Nesse cso, o progrm objeto pode ser diretmente executdo pel máquin. IGURA 3.5: trdutor P fonte /L qq RADUOR P objeto /L qq rdutores são divididos em dois tipos: montdores e compildores, os quis trduzem lingugens de bixo nível e lingugens de lto nível, respectivmente. xistem tmbém o préprocessdor que trduz um lingugem de lto nível em outr lingugem de lto nível e o crosscompiler que ger código pr outr máquin diferente d utilizd pr compilção. A figur bixo (IGURA 3.6) esquemtiz os três tipos de trdutores. P fonte /L qq COMPILADOR P objeto /L ssemmbl P fonte /L ssemmbly MONADOR P objeto /L máquin P fonte /L qq PRÉ-PROCSSADOR P objeto /L QQ IGURA 3.6: tipos de trdutores No processmento de lingugens pode ser necessário o uso de vários processdores pr trduzir um progrm fonte composto por módulos em um progrm objeto. A figur bixo (IGURA 3.7) present o exemplo de um sistem de processmento de lingugem:

18 -18- esqueleto do progrm fonte / L qq PRÉ-PROCSSADOR progrm fonte / L qq COMPILADOR progrm objeto / L ssembly MONADOR progrm objeto / L máquin IGURA 3.7: um sistem de processmento de lingugem

19 SRUURA GRAL D UM COMPILADOR O objetivo de um compildor é trduzir s seqüêncis de crcteres que representm o progrm fonte em código executável. ss tref é complex o suficiente de form que um compildor pode ser dividido em processos menores interconectdos. A IGURA 3.8 mostr os processos constituintes de um compildor: progrm fonte / L qq nlisdor léxico nlisdor sintático gerencimento d tbel de símbolos nlisdor semântico gerdor de código intermediário trtmento de erros otimizdor de código gerdor de código progrm objeto / L máquin IGURA 3.8: estrutur gerl de um compildor Cd um dos processos tem cesso tbels de informções globis sobre o progrm fonte. N compilção existe tmbém um módulo responsável pelo trtmento ou recuperção de erros cuj função é dignosticr trvés de mensgens dequds os erros léxicos, sintáticos e semânticos encontrdos Anlisdor léxico (ou scnner) O nlisdor léxico sepr seqüênci de crcteres que represent o progrm fonte em entiddes ou tokens, símbolos básicos d lingugem. Durnte nálise léxic, os tokens são clssificdos como plvrs reservds, identificdores, símbolos especiis, constntes de tipos básicos (inteiro rel, literl, etc.), entre outrs ctegoris. Considere, por exemplo, seqüênci de crcteres:

20 -20- SOMA := SOMA + 35 os quis podem ser grupdos, pelo nlisdor léxico, em 5 entiddes: (VALOR) (CLASS) SOMA identificdor := comndo de tribuição SOMA identificdor + operdor ritmético de dição 35 constnte numéric inteir Um token consiste de um pr ordendo (vlor, clsse). A clsse indic nturez d informção contid em vlor. Outrs funções tribuíds o nlisdor léxico são: ignorr espços em brnco e comentários, e detectr erros léxicos Anlisdor sintático (ou prser) O nlisdor sintático grup os tokens fornecidos pelo nlisdor léxico em estruturs sintátics, construindo árvore sintátic correspondente. Pr isso, utiliz um série de regrs de sintxe, que constituem grmátic d lingugem fonte. É grmátic d lingugem que define estrutur sintátic do progrm fonte. Por exemplo, pr list de tokens exemplificdos n seção nterior, o nlisdor sintático construiri árvore de derivção presentd bixo: tribuição. identificdor := expressão expressão + expressão identificdor número SOMA SOMA 35 IGURA 3.9: árvore de derivção O nlisdor sintático tem tmbém por tref o reconhecimento de erros sintáticos, que são construções do progrm fonte que não estão de cordo com s regrs de formção de estruturs sintátics como especificdo pel grmátic.

21 Anlisdor semântico O compildor execut ind nálise semântic 3. O nlisdor semântico utiliz árvore sintátic determind pelo nlisdor sintático pr: identificr operdores e operndos ds expressões, reconhecer erros semânticos, fzer verificções de comptibilidde de tipo, nlisr o escopo ds vriáveis, fzer verificções de correspondênci entre prâmetros tuis e formis. Por exemplo, pr o comndo de tribuição SOMA:= SOMA + 35, é necessário fzer seguinte nálise: o identificdor SOMA foi declrdo? em cso negtivo, erro semântico. o identificdor SOMA é um vriável? em cso negtivo, erro semântico. qul o escopo d declrção d vriável SOMA: locl ou globl? qul o tipo d vriável SOMA? o vlor tribuído no ldo direito do comndo de tribuição é comptível? undmentlmente, nálise semântic trt os spectos sensíveis o contexto d sintxe ds lingugens de progrmção. Por exemplo, não é possível representr em um grmátic livre de contexto um regr como "odo identificdor deve ser declrdo ntes de ser usdo.", e verificção de que ess regr foi plicd cbe à nálise semântic. A regr pode ser representd em um grmátic sensível o contexto, ms não existem lgoritmos rápidos pr ess clsse de grmátics. A idéi fundmentl é de usr tbels externs o processo de nálise sintátic, em que s informções são coletds pr posterior consult. Por exemplo, um tbel de símbolos (ou tbel de identificdores) pode gurdr informções sobre s declrções dos identificdores, e esss informções podem ser consultds pr verificr correção de cd uso de um identificdor. sse processo é implementdo de form dirigid pel sintxe: ssoci-se cd regr d grmátic um ção (ção semântic) ser executd qundo o nlisdor sintático sinliz um uso d regr. sss ções são freqüentemente implementds como chmds de rotins semântics, e podem ser responsáveis por efetur nálise semântic e gerção de código, pelo menos prcilmente. od vez que o nlisdor sintático indicr o uso de um regr ssocid um declrção, rotin semântic ssocid ess regr é chmd pr crescentr à tbel o identificdor correspondente, fornecido pelo nlisdor léxico. Qundo um regr ssocid um uso de um identificdor for sinlizd, rotin semântic correspondente será chmd pr verificr se o identificdor (novmente fornecido pelo nlisdor léxico) const d tbel. Não existe um fronteir definid entre o que deve ser trtdo pelo nlisdor sintático e o que deve ser trtdo pelo nlisdor semântico, cbendo o progrmdor do compildor escolh, segundo sus preferêncis. Alguns compildores incluem gerção de um representção intermediári pr o progrm fonte. Um representção intermediári é um código pr um máquin bstrt e deve ser fácil de produzir e trduzir no progrm objeto. Por exemplo, pode ser usd como form intermediári o código de três endereços (AHO et. l., 1995). O código de três endereços consiste em um seqüênci de instruções, cd um possuindo no máximo três operndos. Pr o comndo de tribuição SOMA:= SOMA + 35 tem-se: 3 semântic nesse cso englob pens um pequen prte do que vem ser relmente semântic de um progrm.

22 -22- temp 1 := 35 temp 2 := SOMA + temp 1 SOMA:= temp Otimizção de código O processo de otimizção de código consiste em melhorr o código intermediário de tl form que o progrm objeto resultnte sej mis rápido em tempo de execução. Por exemplo, um lgoritmo pr gerção do código intermediário ger um instrução pr cd operdor n árvore sintátic, mesmo que exist um mneir mis otimizd de relizr o mesmo comndo. Assim, o código intermediário: temp 1 := 35 temp 2 := SOMA + temp 1 SOMA:= temp 2 poderi ser otimizdo pr: SOMA:= SOMA + 35 No entnto, não existe nd errdo com o lgoritmo de gerção de código intermediário, desde que o problem pode ser corrigido durnte fse de otimizção de código Gerção de código A fse finl do compildor é gerção do código pr o progrm objeto, consistindo normlmente de código em lingugem ssembly ou de código em lingugem de máquin: MOV AX, [som] % cópi do conteúdo do endereço de memóri correspondente o rótulo SOMA pr o registrdor AX ADD AX, 35 % som do vlor constnte 35 o conteúdo do registrdor AX MOV [som], AX % cópi do conteúdo do registrdor AX pr o endereço de memóri correspondente o rótulo som Gerção de Código e Otimizção Dependente de Máquin Observmos ntes que um representção intermediári do progrm fonte deve ser construíd durnte fse de nálise, pr ser usd como bse pr gerção do progrm objeto. Se form dess representção intermediári é bem escolhid, complexidde do processo de gerção de código depende pens d rquitetur d máquin (rel ou virtul) pr qul o código está sendo gerdo. Máquins mis simples oferecem poucs opções e por isso o processo de gerção de código é mis direto. Por exemplo, se um máquin tem pens um registrdor (cumuldor) em que s operções ritmétics são relizds, e pens um instrução pr relizr cd operção (um instrução pr som, um pr produto,...), existe pouc ou nenhum possibilidde de vrição no código que pode ser gerdo. Considere o comndo de tribuição: x := + b * c

23 -23- A primeir operção ser relizd é o produto de b por c. Seu vlor deve ser gurddo num posição temporári, que indicremos qui por t1. (Pr sistemtizr o processo, todos os resultdos de operções ritmétics serão rmzendos em posições temporáris.) m seguid, devemos relizr som de com t1, cujo vlor será gurddo num posição temporári t2. (Nturlmente, neste cso prticulr, o vlor poderi ser rmzendo diretmente em x, ms no cso gerl, temporári é necessári.) inlmente, o vlor de t2 é rmzendo em x. t1:=b*c t2:=+t1 x:=t2 Podemos fzer um gerdor de código reltivmente simples usndo regrs como: 1. tod operção ritmétic (binári) ger 3 instruções: instrução crreg o primeiro operndo no cumuldor us instrução correspondente operção com o segundo operndo, deixndo o resultdo no cumuldor rmzen o resultdo em um temporári nov exemplo: b * c Lod b Mult c Store t1 2. um comndo de tribuição ger sempre dus instruções: instrução exemplo: x := t2 crreg o vlor d expressão no cumuldor Lod t2 rmzen o resultdo n vriável Store x O comndo de tribuição: x := + b * c, ger o código: 1 Lod b { t1:=b*c } 2 Mult c 3 Store t1 4 Lod { t2:=+t1 } 5 Add t1 6 Store t2 7 Lod t2 { x:=t2 } 8 Store x mbor correto, este código pode obvimente ser melhordo: instrução 7 é desnecessári e pode ser retird: copi pr o cumuldor o vlor de t2, que já se encontr lá. (pós remoção d instrução 7) instrução 6 é desnecessári e pode ser retird: o vlor d vriável t2 nunc é utilizdo. (considerndo que som é comuttiv) s instruções 4 e 5 podem ser trocds por 4' e 5', preprndo novs lterções: 4' Lod t1

24 -24-5' Add As instruções 3 e 4' são desnecessáris e podem ser retirds (pels mesms rzões que 6 e 7 cim). O código finl pós s trnsformções é considervelmente melhor que o originl: 1 Lod b 2 Mult c 5' Add 8 Store x Normlmente, s máquins oferecem váris instruções (ou vrintes de instruções) com crcterístics semelhntes, e o gerdor deve escolher mis proprid entre els. Como exemplo, vmos exminr o cso d operção de som. m gerl, podemos observr os seguintes pontos: há váris instruções de som, correspondendo vários tipos de ddos e vários modos de endereçmento; há instruções de som plicáveis csos prticulres importntes, como instruções de incremento e decremento: som com ±1; lgums ds soms serem efetuds não form especificds explicitmente pelo progrmdor. ntre esss citmos s soms usds no cálculo de endereços de vriáveis componentes de vetores, mtrizes e estruturs situds em registros de tivção de procedimentos ou funções. reqüentemente, esss soms podem ser incluíds no código de form implícit trvés d escolh de modos de endereçmento dequdos; instruções cuj finlidde principl não é som podem mesmo ssim efetur soms. Por exemplo, s instruções que mnipulm pilh de hrdwre, incrementm ou decrementm o registrdor pontdor do topo d pilh. sses pontos devem ser levdos em considerção pelo gerdor de código n seleção de instruções. Outro problem que tmbém deve ser trtdo é o d escolh do locl pr gurd dos vlores ds vriáveis definids pelo usuário e ds vriáveis temporáris introduzids pelo compildor. Além d locção de posições de memóri esss vriáveis, é freqüente disponibilidde de vários registrdores de uso gerl, que tmbém podem ser usdos com ess finlidde. A locção de registrdores, entretnto, não é independente d seleção de instruções, já que muits instruções usm registrdores ou combinções de registrdores pr operções específics. Cbe o projetist do gerdor de código decidir como implementr gerção de código de mneir fzer bom uso dos recursos disponíveis n máquin. Cbe tmbém o projetist decidir se gerção do código deve ser feit com cuiddo, gerndo diretmente código de qulidde ceitável, ou se é preferível usr um esquem mis simples de gerção de código, seguido por um otimizção do código depois de gerdo. st otimizção do código lev em considerção principlmente s crcterístics d máquin lvo, e por isso é normlmente chmd de otimizção dependente de máquin Otimizção independente de máquin Algums trnsformções feits no código gerdo por um compildor independem d máquin pr o qul o código está sendo gerdo. Normlmente ests trnsformções são feits no código intermediário, pel fcilidde de cesso já menciond nteriormente. Vmos nest seção presentr lguns exemplos deste tipo de otimizção. xemplo 1: Sub-expressões comuns. Considere seqüênci de comndos de tribuição d primeir colun d tbel.

25 -25- onte código intermediário originl Código intermediário otimizdo w:=(+b)+c; t1:=+b t2:=t1+c w:=t2 t1:=+b t2:=t1+c w:=t2 x:=(+b)*d; y:=(+b)+c; z:=(+b)*d+e; t3:=+b t4:=t3*d x:=t4 t5:=+b t6:=t5+c y:=t6 t7:=+b t8:=t7*d t9:=t8+e z:=t9 t4:=t1*d x:=t4 y:=t2 t9:=t4+e z:=t9 Clrmente, s (sub-)expressões +b, (+b)+c, e (+b)*d não precism ser clculds mis de um vez. (Isto só é verdde porque os vlores de, b, c e d não se lterm no trecho em questão.) Podemos lterr representção intermediári correspondente (segund colun) pr form intermediári equivlente otimizd presentd n terceir colun. xemplo: Retird de comndos invrintes de loop. Considere o trecho de código seguir: for i:=1 to n do begin pi:=3.1416; pi4:=pi/4.; d[i]:=pi4 * r[i] * r[i]; end; Clrmente, os dois primeiros comndos de tribuição podem ser retirdos do loop, um vez que seu funcionmento é independente do funcionmento do loop. Obterímos pi:=3.1416; pi4:=pi/4.; for i:=1 to n do d[i]:=pi4 * r[i] * r[i]; que é um versão "otimizd" do trecho de código nterior. Note, entretnto, que só há um melhor no tempo de execução se o vlor de n for mior que zero. Se n=0, o código foi piordo: os dois comndos de tribuição serão sempre executdos. Normlmente, s trnsformções relizds no progrm durnte otimizção são simples: eliminr ou lterr instruções, ou ind mover instruções pr outrs posições. A prte mis trblhos é verificr que trnsformção pode ser feit. Por exemplo, pr eliminr um comndo d form v:=e, é preciso verificr que o vlor de v clculdo neste comndo não será usdo por nenhum outro comndo, e, portnto, exminr tod prte do progrm que poderá ser executd seguir. Por ess rzão, nálise de fluxo de ddos (dtflow nlysis) é um prte essencil do estudo d otimizção, pois vis obter informção sobre o funcionmento do progrm, em prticulr especificndo os pontos do progrm onde s vriáveis recebem vlores, e onde os vlores são usdos. 3.7 ORMAS D CONSRUÇÃO D UM COMPILADOR Um compildor pode ser composto de váris fses denominds de pssos do compildor.

26 -26- Dependendo d implementção, certos pssos podem ser executdos seqüencilmente ou ter execução entrelçd, enqunto lguns pssos podem ser omitidos. Num compilção em vários pssos, execução de um psso termin ntes de inicir-se execução dos pssos seguintes. Assim, o compildor de dois pssos, por exemplo, poderi combinr nálise léxic e nálise sintátic num primeiro psso e nálise semântic e gerção de código num segundo psso. De outr form, pode-se utilizr o nlisdor sintático como módulo principl: pr construir árvore sintátic, obtém os tokens necessários trvés de chmds o nlisdor léxico e chm o processo de gerção de código pr executr nálise semântic e gerção de código objeto. Os critérios pr escolh d form de implementção envolvem: memóri disponível, tempo de compilção ou tempo de execução, crcterístics d lingugem e equipe de desenvolvimento. A principl vntgem de se construir compildores de vários pssos é modulrizção lcnçd no projeto e n implementção dos processos que constituem o compildor. A principl desvntgem é o umento do projeto totl, com necessidde de introdução ds lingugens intermediáris. A figur bixo (IGURA 3.10) present estrutur gerl de um compildor: Anlisdor Léxico tokens Anlisdor Sintático tbel de literis tbel de constntes Anlisdor Semântico Gerção de Código código HIPO Simulção Máquin HIPOtétic tbel de símbolos Recuperção de RROS resultdos IGURA 3.10: estrutur gerl de um compildor 3.8 RRAMNAS PARA A CONSRUÇÃO D COMPILADORS N construção de compildores fz-se uso de ferrments de softwre tis como mbientes de progrmção, depurdores, gerencidores de versões, etc. ind, form crids lgums ferrments pr projeto e gerção utomátic de lguns processos componentes de compildores. sss ferrments são freqüentemente referids como compildores de compildores, gerdores de compildores ou sistems de escrit de trdutores. Normlmente, são orientdos um modelo prticulr de lingugem e mis dequdos pr construção de compildores de lingugens similres o modelo. Segundo AHO et. l. (1995), lguns tipos de ferrments são: 1. gerdores de nlisdores léxicos: germ utomticmente nlisdores léxicos, normlmente prtir de um especificção bsed em expressões regulres e um list de plvrs-chve d lingugem (LX); 2. gerdores de nlisdores sintáticos: produzem nlisdores sintáticos prtir d especificção de um grmátic livre de contexto (YACC, -gen, JACK).

27 -27-4 ANALISADOR LÉXICO 4.1 UNÇÃO No processo de compilção, o nlisdor léxico é responsável pel identificção dos tokens, ou sej, ds menores uniddes de informção que constituem lingugem em questão. Assim, pode-se dizer que o nlisdor léxico é responsável pel leitur dos crcteres d entrd, grupndo-os em plvrs, que são clssificds em ctegoris. sts ctegoris podem ser, bsicmente, s seguintes: plvrs reservds: plvrs que devem precer literlmente n lingugem, sem vrições. Algums plvrs reservds d lingugem PASCAL são: BGIN, ND, I, LS. identificdores: plvrs que seguem lgums regrs de escrit, porém podem ssumir diversos vlores. São definidos de form genéric. Gerlmente, s regrs de formção de identificdores são s mesms utilizds pr formção de plvrs reservds. Nesse cso, é necessário lgum mecnismo pr decidir qundo um token form um identificdor ou um plvr reservd. símbolos especiis: seqüêncis de um ou mis símbolos que não podem precer em identificdores nem plvrs reservds. São utilizdos pr composição de expressões ritmétics ou lógics, comndo de tribuição, etc. São exemplos de símbolos especiis: ; (ponto-e-vírgul), : (dois pontos), := (tribuição). constntes: podem ser vlores inteiros, vlores reis, crcteres ou literis. comentário: qulquer cdei de crcteres inicindo com e terminndo com símbolos delimitdores, utilizd n documentção do progrm fonte. Pr construção de um nlisdor léxico é necessário descrever precismente regr de formção (pdrão) de tokens mis complexos, como plvrs reservds, identificdores, constntes e comentários, usdo expressões regulres; converter especificção feit em termos de expressões regulres n implementção de utômtos finitos determinísticos mínimos correspondente; implementr os utômtos finitos determinísticos mínimos em um lingugem de progrmção. 4.2 RCONHCIMNO D OKNS: AUÔMAO INIO Um utômto finito (A) é o tipo mis simples de reconhecedor de lingugens. Um A, dentre outrs plicções, pode ser usdo como reconhecedor de pdrões de processmento de textos e nlisdor léxico em lingugens de progrmção. Um utômto finito pode ser visto como um máquin de estdos. Assume-se que máquin estej em um estdo inicil qundo começ su operção. O novo estdo d máquin é determindo em função do estdo corrente e do evento ocorrido. Assim, por exemplo, um máquin hipotétic cujos estdos possíveis são repouso, mnutenção e tividde, poderi ser representd d seguinte form (IGURA 4.1):

28 -28- OK mnutenção O PAN repouso tividde IGURA 4.1: exemplo de um máquin de estdos (ZILLR, 1997) Inicilmente máquin está em repouso. A máquin entr em tividde qundo é ligd (evento ON) e volt o estdo de repouso qundo é utomticmente desligd (evento O) pós produção de um determind peç. Assim, o funcionmento norml consiste num seqüênci de eventos ON e O. No entnto, pode ocorrer um pne qundo máquin estiver em tividde. Nesse cso, qundo d ocorrênci do evento PAN, máquin mud pr o estdo de mnutenção, retornndo o estdo de repouso pós serem relizdos os devidos justes (evento OK). ON 4.3 IMPLMNAÇÃO N implementção do nlisdor léxico deve-se: desconsiderr brncos à esquerd; considerr como mrc de finl de sentenç o primeiro crctere que não pertencer o lfbeto d seqüênci que está sendo reconhecid; eliminr delimitdores e comentários usdos por questões de legibilidde pelo progrmdor, os quis são totlmente irrelevntes do ponto de vist de gerção de código. O nlisdor léxico pode ser implementdo de form mist: us-se implementção específic de utômtos pr o reconhecimento do primeiro crctere e implementção genéric de utômtos pr o reconhecimento do restnte d sentenç, exceto os símbolos especiis cujo o reconhecimento poderá ser totlmente efetudo de form específic. Deve-se tmbém implementr estrtégis pr recuperção e trtmento de erros léxicos, quis sejm: símbolos que não fzem prte d lingugem em questão bem como seqüêncis de símbolos que não obedecem às regrs de formção dos tokens especificdos. JOSÉ NO (1987) present lgums técnics pr recuperção de erros léxicos. AHO et. l. (1995) descreve técnic pnic-mode.

29 -29-5 ANALISADOR SINÁICO 5.1 UNÇÃO O nlisdor sintático grup os tokens fornecidos pelo nlisdor léxico em estruturs sintátics, construindo árvore sintátic correspondente. Pr isso, utiliz um série de regrs de sintxe, que constituem grmátic d lingugem fonte. O nlisdor sintático tem tmbém por tref o reconhecimento de erros sintáticos, que são construções do progrm fonte que não estão de cordo com s regrs de formção de estruturs sintátics especificds trvés de um grmátic livre de contexto. 5.2 SPCIICAÇÃO DAS RGRAS SINÁICAS: GRAMÁICA LIVR D CONXO Segundo PRIC; DLWISS (1989), dentro d hierrqui de Chomsky, s grmátics livres de contexto (GLC) são s mis importntes n áre de compildores e lingugens formis, pois podem especificr mior prte ds construções sintátics usuis Notções xistem inúmers notções pels quis representção de um lingugem pode ser especificd. Segundo JOSÉ NO (1987), " tis notções dá-se o nome de metlingugens, já que els própris são lingugens, trvés ds quis s lingugens são especificds". A sintxe de um lingugem de progrmção pode ser descrit usndo-se s seguintes notções: Suponh que um lingugem de progrmção só tem vriáveis do tipo inteiro e que declrção de vriáveis deve ser feit usndo plvr reservd vriáveis seguid do tipo, de um list de identificdores seprdos por vírgul, e de um ponto e vírgul. Pr especificr sintxe dess declrção de vriáveis pode-se escrever seguinte grmátic: XMPLO : sintxe d declrção de vriáveis usndo notção de regrs de produção D vriáveis inteiro L; L identificdor identificdor, L notção BN (Bckus-Nur orm), muito usd pr especificção de lingugens livres de contexto, dot seguinte simbologi: <x> represent um símbolo não-terminl, cujo o nome é ddo pel cdei x de crcteres quisquer. <x>::= β represent s regrs de produção, ssocindo o não-terminl <x> à sentenç β. O significdo de um regr de produção <x> ::= β é <x> é definido por β. sepr s diverss regrs de produção que estão à direit do símbolo ::=, desde que o símbolo não-terminl à esquerd sej o mesmo. O significdo de <x> ::= β 1 β 2... β n é <x> é definido por β 1 OU <x> é definido por β 2 OU... <x> é definido por β n.

30 -30- x ou X represent um símbolo terminl, ddo pel cdei x ou X de crcteres quisquer e deve ser escrito tl como prece ns sentençs d lingugem. A grmátic presentd nteriormente pode ser escrit d seguinte form usndo notção BN: XMPLO : sintxe d declrção de vriáveis usndo notção BN <declrção de vriáveis> ::= vriáveis inteiro <list de identificdores> ; <list de identificdores> ::= identificdor identificdor, <list de identificdores> digrms de sintxe são "um ferrment muito cômod pr documentção e o estudo d sintxe de lingugens de progrmção, oferecendo possibilidde de obtenção de reconhecedores eficientes prtir d grmátic, medinte um esforço reduzido" (JOSÉ NO, 1987). Um digrm de sintxe present um início e um fim, ligdos por um grfo orientdo, cujos retângulos representm os símbolos não-terminis e s elipses representm os símbolos terminis. Pr ler um digrm de sintxe, deve-se seguir s sets, s quis podem eventulmente presentr cminhos lterntivos ou não obrigtórios. XMPLO : grmátic presentd nteriormente, tem o seguinte digrm de sintxe: declrção de vriáveis =, vriáveis inteiro identificdor ; IGURA 5.1: digrm de sintxe Árvore de derivção ou árvore sintátic Algums vezes pode ser útil mostrr s derivções de um GLC trvés de representções gráfics. sss representções chmds de árvores de derivção ou árvores sintátics impõem estruturs hierárquics às sentençs ds lingugens gerds. A árvore de derivção é síd lógic d nálise sintátic, constituindo um representção intermediári utilizd n nálise semântic. xemplo: + * ( ) Pels convenções vists, temos: símbolos terminis: { +, *, (, ), } símbolos não terminis: {,, } Símbolo inicil: regrs: { +,, *,, (), } Por exemplo, cdei +* pertence à lingugem d grmátic, por cus d derivção (1) * +* +* +*

31 -31- Note que outrs derivções são possíveis pr mesm cdei. Por exemplo, temos (2) + +* +* +* +* +* +* +* (3) + +* +* +* +* +* +* +* As derivções (1), (2) e (3) cim são equivlentes, no sentido de que mbs germ cdei d mesm mneir, plicndo s mesms regrs os mesmos símbolos, e se diferencim pens pel ordem em que s regrs são plicds. A mneir de verificr isso é usr um árvore de derivção, que pr este cso seri descrit n figur bixo: + * igur - Árvore de derivção pr +* Num certo sentido, árvore de derivção crcteriz s grmátics livres de contexto: expnsão correspondente cd sub-árvore pode ser feit de form bsolutmente independente ds demis sub-árvores. Por ess rzão, considermos equivlentes tods s derivções que correspondem à mesm árvore de derivção. Dois tipos de derivção são especilmente interessntes: derivção esquerd (leftmost derivtion), em que um regr é sempre plicd o primeiro não terminl d cdei, o que fic mis à esquerd; derivção direit (rightmost derivtion), em que um regr é sempre plicd o último não terminl d cdei, o que fic mis à direit. Pr especificr um derivção de um cdei x, podemos, equivlentemente, presentr um derivção esquerd de x, um derivção direit de x, ou um árvore de derivção de x. A prtir de um desss três descrições, é possível sempre gerr s outrs dus. Por exemplo, dd um árvore de derivção de x, bst percorrer árvore em pré-ordem (primeiro riz, depois s subárvores em ordem, d esquerd pr direit), e plicr s regrs encontrds sempre o primeiro não terminl, pr construir um derivção esquerd. Pr derivção direit árvore deve ser percorrid em um ordem semelhnte: primeiro riz, depois s sub-árvores em ordem, d direit pr esquerd. xemplo (continução): A derivção (1) é um derivção esquerd, e derivção (2) é um derivção direit. A derivção (3) nem é um derivção esquerd, nem é um derivção direit. Dd um cdei x, tods s derivções possíveis de x correspondem extmente à mesm árvore de derivção. Veremos bixo que isto quer dizer que grmátic nterior não é mbígu. Um grmátic é mbígu se, pr lgum cdei x, existem dus ou mis árvores de derivção. Podemos mostrr que um grmátic é mbígu mostrndo um cdei x e dus árvores de derivção distints de x (ou dus derivções esquerds distints, ou dus derivções direits distints).

Aula 8: Gramáticas Livres de Contexto

Aula 8: Gramáticas Livres de Contexto Teori d Computção Segundo Semestre, 2014 ul 8: Grmátics Livres de Contexto DINF-UTFPR Prof. Ricrdo Dutr d Silv Veremos gor mneir de gerr s strings de um tipo específico de lingugem, conhecido como lingugem

Leia mais

Analisadores Sintáticos. Análise Recursiva com Retrocesso. Análise Recursiva Preditiva. Análise Recursiva Preditiva 05/04/2010

Analisadores Sintáticos. Análise Recursiva com Retrocesso. Análise Recursiva Preditiva. Análise Recursiva Preditiva 05/04/2010 Anlisdores intáticos Análise Descendente (Top-down) Anlisdores sintáticos descendentes: Recursivo com retrocesso (bcktrcking) Recursivo preditivo Tbulr preditivo Análise Redutiv (Bottom-up) Anlisdores

Leia mais

Algoritmos de Busca de Palavras em Texto

Algoritmos de Busca de Palavras em Texto Revisdo 08Nov12 A busc de pdrões dentro de um conjunto de informções tem um grnde plicção em computção. São muits s vrições deste problem, desde procurr determinds plvrs ou sentençs em um texto té procurr

Leia mais

Capítulo 3. Autómatos e respectivas linguagens

Capítulo 3. Autómatos e respectivas linguagens Cpítulo 3. Neste estudo, os utómtos serão considerdos principlmente como dispositivos de ceitção d lingugem, e respectiv estrutur intern será discutid pens n medid em que se relcione com lingugem ceite.

Leia mais

POLINÔMIOS. Definição: Um polinômio de grau n é uma função que pode ser escrita na forma. n em que cada a i é um número complexo (ou

POLINÔMIOS. Definição: Um polinômio de grau n é uma função que pode ser escrita na forma. n em que cada a i é um número complexo (ou POLINÔMIOS Definição: Um polinômio de gru n é um função que pode ser escrit n form P() n n i 0... n i em que cd i é um número compleo (ou i 0 rel) tl que n é um número nturl e n 0. Os números i são denomindos

Leia mais

Faculdade de Computação

Faculdade de Computação UNIVERIDADE FEDERAL DE UBERLÂNDIA Fculdde de Computção Disciplin : Teori d Computção Professor : ndr de Amo Revisão de Grmátics Livres do Contexto (1) 1. Fzer o exercicio 2.3 d págin 128 do livro texto

Leia mais

Análise Léxica. Construção de Compiladores. Capítulo 2. José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto

Análise Léxica. Construção de Compiladores. Capítulo 2. José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto Construção de Compildores Cpítulo 2 Análise Léxic José Romildo Mlquis Deprtmento de Computção Universidde Federl de Ouro Preto 2014.1 1/23 1 Análise Léxic 2/23 Tópicos 1 Análise Léxic 3/23 Análise léxic

Leia mais

Simbolicamente, para. e 1. a tem-se

Simbolicamente, para. e 1. a tem-se . Logritmos Inicilmente vmos trtr dos ritmos, um ferrment crid pr uilir no desenvolvimento de cálculos e que o longo do tempo mostrou-se um modelo dequdo pr vários fenômenos ns ciêncis em gerl. Os ritmos

Leia mais

Resumo da última aula. Compiladores. Conjuntos de itens LR(0) Exercício SLR(1) Análise semântica

Resumo da última aula. Compiladores. Conjuntos de itens LR(0) Exercício SLR(1) Análise semântica Resumo d últim ul Compildores Verificção de tipos (/2) Análise semântic Implementção: Esquems -tribuídos: Mecnismo bottom-up direto Esquems -tribuídos: Mecnismo top-down: Necessit grmátic não recursiv

Leia mais

Aula 4: Autômatos Finitos 2. 4.1 Autômatos Finitos Não-Determinísticos

Aula 4: Autômatos Finitos 2. 4.1 Autômatos Finitos Não-Determinísticos Teori d Computção Primeiro Semestre, 25 Aul 4: Autômtos Finitos 2 DAINF-UTFPR Prof. Ricrdo Dutr d Silv 4. Autômtos Finitos Não-Determinísticos Autômtos Finitos Não-Determinísticos (NFA) são um generlizção

Leia mais

Acoplamento. Tipos de acoplamento. Acoplamento por dados. Acoplamento por imagem. Exemplo. É o grau de dependência entre dois módulos.

Acoplamento. Tipos de acoplamento. Acoplamento por dados. Acoplamento por imagem. Exemplo. É o grau de dependência entre dois módulos. Acoplmento É o gru de dependênci entre dois módulos. Objetivo: minimizr o coplmento grndes sistems devem ser segmentdos em módulos simples A qulidde do projeto será vlid pelo gru de modulrizção do sistem.

Leia mais

CENTRO UNIVERSITÁRIO CATÓLICA DE SANTA CATARINA Pró-Reitoria Acadêmica Setor de Pesquisa

CENTRO UNIVERSITÁRIO CATÓLICA DE SANTA CATARINA Pró-Reitoria Acadêmica Setor de Pesquisa FORMULÁRIO PARA INSCRIÇÃO DE PROJETO DE INICIAÇÃO CIENTÍFICA. Coordenção/Colegido o(s) qul(is) será vinculdo: Engenhris Curso (s) : Engenhris Nome do projeto: MtLb Aplicdo n Resolução de Sistems Lineres.

Leia mais

Semelhança e áreas 1,5

Semelhança e áreas 1,5 A UA UL LA Semelhnç e áres Introdução N Aul 17, estudmos o Teorem de Tles e semelhnç de triângulos. Nest ul, vmos tornr mis gerl o conceito de semelhnç e ver como se comportm s áres de figurs semelhntes.

Leia mais

EXAME DE INGRESSO 2014 3º Período

EXAME DE INGRESSO 2014 3º Período PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA ÁREA DE ENGENHARIA DE COMPUTAÇÃO (141) ESCOLA POLITÉCNICA DA UNIVERSIDADE DE SÃO PAULO EXAME DE INGRESSO 2014 º Período NOME: Oservções Importntes: 1. Não

Leia mais

Hierarquia de Chomsky

Hierarquia de Chomsky Universidde Ctólic de Pelots Centro Politécnico 364018 Lingugens Formis e Autômtos TEXTO 1 Lingugens Regulres e Autômtos Finitos Prof. Luiz A M Plzzo Mrço de 2011 Hierrqui de Chomsky Ling. Recursivmente

Leia mais

LRE LSC LLC. Autômatos Finitos são reconhecedores para linguagens regulares. Se não existe um AF a linguagem não é regular.

LRE LSC LLC. Autômatos Finitos são reconhecedores para linguagens regulares. Se não existe um AF a linguagem não é regular. Lingugens Formis Nom Chomsky definiu que s lingugens nturis podem ser clssificds em clsses de lingugens. egundo Hierrqui de Chomsky, s lingugens podem ser dividids em qutro clsses, sendo els: Regulres

Leia mais

Alocação sequencial - Pilhas

Alocação sequencial - Pilhas Alocção seqüencil - pilhs Alocção sequencil - Pilhs Pilhs A estrutur de ddos Pilh é bstnte intuitiv. A nlogi é um pilh de prtos. Se quisermos usr um pilh de prtos com máxim segurnç, devemos inserir um

Leia mais

Teoria da Computação. Unidade 3 Máquinas Universais (cont.) Referência Teoria da Computação (Divério, 2000)

Teoria da Computação. Unidade 3 Máquinas Universais (cont.) Referência Teoria da Computação (Divério, 2000) Teori d Computção Unidde 3 Máquins Universis (cont.) Referênci Teori d Computção (Divério, 2000) 1 Máquin com Pilhs Diferenci-se ds MT e MP pelo fto de possuir memóri de entrd seprd ds memóris de trblho

Leia mais

Linguagens Formais Capítulo 5: Linguagens e gramáticas livres de contexto

Linguagens Formais Capítulo 5: Linguagens e gramáticas livres de contexto Lingugens ormis Cpítulo 5: Lingugens e grmátics livres de contexto José Lucs Rngel, mio 1999 5.1 - Introdução Vimos no cpítulo 3 definição de grmátic livre de contexto (glc) e de lingugem livre de contexto

Leia mais

CONJUNTOS NUMÉRICOS Símbolos Matemáticos

CONJUNTOS NUMÉRICOS Símbolos Matemáticos CONJUNTOS NUMÉRICOS Símolos Mtemáticos,,... vriáveis e prâmetros igul A, B,... conjuntos diferente pertence > mior que não pertence < menor que está contido mior ou igul não está contido menor ou igul

Leia mais

LINGUAGEM DE PROGRAMAÇÃO ESTRUTURADA CAPÍTULO 6 ARRAYS (VETORES E MATRIZES)

LINGUAGEM DE PROGRAMAÇÃO ESTRUTURADA CAPÍTULO 6 ARRAYS (VETORES E MATRIZES) LINGUGEM DE PROGRMÇÃO ESTRUTURD CPÍTULO 6 RRYS VETORES E MTRIZES trdução do termo rry pr língu portugues seri rrnjo. Em progrmção, empreg-se este termo pr representção de um vriável com diversos elementos

Leia mais

Característica de Regulação do Gerador de Corrente Contínua com Excitação em Derivação

Característica de Regulação do Gerador de Corrente Contínua com Excitação em Derivação Experiênci I Crcterístic de egulção do Gerdor de Corrente Contínu com Excitção em Derivção 1. Introdução Neste ensio máquin de corrente contínu ANEL trblhrá como gerdor utoexcitdo, não sendo mis necessári

Leia mais

São possíveis ladrilhamentos com um único molde na forma de qualquer quadrilátero, de alguns tipos de pentágonos irregulares, etc.

São possíveis ladrilhamentos com um único molde na forma de qualquer quadrilátero, de alguns tipos de pentágonos irregulares, etc. LADRILHAMENTOS Elvi Mureb Sllum Mtemtec-IME-USP A rte do ldrilhmento consiste no preenchimento do plno, por moldes, sem superposição ou burcos. El existe desde que o homem começou usr pedrs pr cobrir o

Leia mais

Busca Digital (Trie e Árvore Patrícia) Estrutura de Dados II Jairo Francisco de Souza

Busca Digital (Trie e Árvore Patrícia) Estrutura de Dados II Jairo Francisco de Souza Busc Digitl (Trie e Árvore Ptríci) Estrutur de Ddos II Jiro Frncisco de Souz Introdução No prolem de usc, é suposto que existe um conjunto de chves S={s 1,, s n } e um vlor x correspondente um chve que

Leia mais

push (c) pop () retorna-se c topo b a topo Figura 10.1: Funcionamento da pilha.

push (c) pop () retorna-se c topo b a topo Figura 10.1: Funcionamento da pilha. 11. Pilhs W. Celes e J. L. Rngel Um ds estruturs de ddos mis simples é pilh. Possivelmente por ess rzão, é estrutur de ddos mis utilizd em progrmção, sendo inclusive implementd diretmente pelo hrdwre d

Leia mais

Transporte de solvente através de membranas: estado estacionário

Transporte de solvente através de membranas: estado estacionário Trnsporte de solvente trvés de membrns: estdo estcionário Estudos experimentis mostrm que o fluxo de solvente (águ) em respost pressão hidráulic, em um meio homogêneo e poroso, é nálogo o fluxo difusivo

Leia mais

Programação Linear Introdução

Programação Linear Introdução Progrmção Liner Introdução Prof. Msc. Fernndo M. A. Nogueir EPD - Deprtmento de Engenhri de Produção FE - Fculdde de Engenhri UFJF - Universidde Federl de Juiz de For Progrmção Liner - Modelgem Progrmção

Leia mais

UFU Universidade Federal de Uberlândia Faculdade de Computação Apostila de Lógica Proposicional (Fundamentos Básicos)

UFU Universidade Federal de Uberlândia Faculdade de Computação Apostila de Lógica Proposicional (Fundamentos Básicos) UFU Universidde Federl de Uberlândi Fculdde de Computção Apostil de Lógic Proposicionl (Fundmentos Básicos) Prof. Luiz Gustvo Almeid Mrtins UFU - Fculdde de Computção Lógic Proposicionl Fundmentos Básicos

Leia mais

Português. Manual de Instruções. Função USB. Transferindo padrões de bordado para a máquina Atualização fácil da sua máquina

Português. Manual de Instruções. Função USB. Transferindo padrões de bordado para a máquina Atualização fácil da sua máquina Mnul de Instruções Função USB Trnsferindo pdrões de borddo pr máquin Atulizção fácil d su máquin Português Introdução Este mnul fornece descrições sobre trnsferênci de pdrões de borddo de um mídi USB

Leia mais

1 Fórmulas de Newton-Cotes

1 Fórmulas de Newton-Cotes As nots de ul que se seguem são um compilção dos textos relciondos n bibliogrfi e não têm intenção de substitui o livro-texto, nem qulquer outr bibliogrfi. Integrção Numéric Exemplos de problems: ) Como

Leia mais

Análise Sintática I: Analisadores Descendentes com Retrocesso

Análise Sintática I: Analisadores Descendentes com Retrocesso Análise intátic I: Anlisdores Descendentes com Retrocesso Definição A nálise sintátic é o processo de determinr se um cdei de átomos (tokens), isto é, o progrm já nlisdo pelo nlisdor léxico, pode ser gerdo

Leia mais

AULA 1. 1 NÚMEROS E OPERAÇÕES 1.1 Linguagem Matemática

AULA 1. 1 NÚMEROS E OPERAÇÕES 1.1 Linguagem Matemática 1 NÚMEROS E OPERAÇÕES 1.1 Lingugem Mtemátic AULA 1 1 1.2 Conjuntos Numéricos Chm-se conjunto o grupmento num todo de objetos, bem definidos e discerníveis, de noss percepção ou de nosso entendimento, chmdos

Leia mais

Pontifícia Universidade Católica de Campinas Centro de Ciências Exatas, Ambientais e de Tecnologias Faculdade de Engenharia de Computação

Pontifícia Universidade Católica de Campinas Centro de Ciências Exatas, Ambientais e de Tecnologias Faculdade de Engenharia de Computação Pontifíci Universidde Ctólic de Cmpins Centro de Ciêncis Exts, Ambientis e de Tecnologis Fculdde de Engenhri de Computção LINGUAGENS FORMAIS E AUTÔMATOS List de Exercícios 1 1. Que lingugem grmátic ger?

Leia mais

Cálculo Numérico Faculdade de Engenharia, Arquiteturas e Urbanismo FEAU

Cálculo Numérico Faculdade de Engenharia, Arquiteturas e Urbanismo FEAU Cálculo Numérico Fculdde de Enenhri, Arquiteturs e Urnismo FEAU Pro. Dr. Serio Pillin IPD/ Físic e Astronomi V Ajuste de curvs pelo método dos mínimos qudrdos Ojetivos: O ojetivo dest ul é presentr o método

Leia mais

1. VARIÁVEL ALEATÓRIA 2. DISTRIBUIÇÃO DE PROBABILIDADE

1. VARIÁVEL ALEATÓRIA 2. DISTRIBUIÇÃO DE PROBABILIDADE Vriáveis Aletóris 1. VARIÁVEL ALEATÓRIA Suponhmos um espço mostrl S e que cd ponto mostrl sej triuído um número. Fic, então, definid um função chmd vriável letóri 1, com vlores x i2. Assim, se o espço

Leia mais

3.3 Autómatos finitos não determinísticos com transições por ε (AFND-ε)

3.3 Autómatos finitos não determinísticos com transições por ε (AFND-ε) TRANSIÇÕES POR (AFND-) 43 3.3 Autómtos finitos não determinísticos com trnsições por (AFND-) Vmos gor considerr utómtos finitos que podem mudr de estdo sem consumir qulquer símbolo, isto é, são utómtos

Leia mais

Aula 27 Integrais impróprias segunda parte Critérios de convergência

Aula 27 Integrais impróprias segunda parte Critérios de convergência Integris imprópris segund prte Critérios de convergênci MÓDULO - AULA 7 Aul 7 Integris imprópris segund prte Critérios de convergênci Objetivo Conhecer dois critérios de convergênci de integris imprópris:

Leia mais

DCC-UFRJ Linguagens Formais Primeira Prova 2008/1

DCC-UFRJ Linguagens Formais Primeira Prova 2008/1 DCC-UFRJ Lingugens Formis Primeir Prov 28/. Constru um utômto finito determinístico que ceite lingugem L = {w ( ) w contém pelos menos dois zeros e no máximo um }. 2. Use o lgoritmo de substituição pr

Leia mais

1º semestre de Engenharia Civil/Mecânica Cálculo 1 Profa Olga (1º sem de 2015) Função Exponencial

1º semestre de Engenharia Civil/Mecânica Cálculo 1 Profa Olga (1º sem de 2015) Função Exponencial º semestre de Engenhri Civil/Mecânic Cálculo Prof Olg (º sem de 05) Função Eponencil Definição: É tod função f: R R d form =, com R >0 e. Eemplos: = ; = ( ) ; = 3 ; = e Gráfico: ) Construir o gráfico d

Leia mais

Operadores momento e energia e o Princípio da Incerteza

Operadores momento e energia e o Princípio da Incerteza Operdores momento e energi e o Princípio d Incertez A U L A 5 Mets d ul Definir os operdores quânticos do momento liner e d energi e enuncir o Princípio d Incertez de Heisenberg. objetivos clculr grndezs

Leia mais

Professores Edu Vicente e Marcos José Colégio Pedro II Departamento de Matemática Potências e Radicais

Professores Edu Vicente e Marcos José Colégio Pedro II Departamento de Matemática Potências e Radicais POTÊNCIAS A potênci de epoente n ( n nturl mior que ) do número, representd por n, é o produto de n ftores iguis. n =...... ( n ftores) é chmdo de bse n é chmdo de epoente Eemplos =... = 8 =... = PROPRIEDADES

Leia mais

A MODELAGEM MATEMÁTICA NA CONSTRUÇÃO DE TELHADOS COM DIFERENTES TIPOS DE TELHAS

A MODELAGEM MATEMÁTICA NA CONSTRUÇÃO DE TELHADOS COM DIFERENTES TIPOS DE TELHAS A MODELAGEM MATEMÁTICA NA CONSTRUÇÃO DE TELADOS COM DIFERENTES TIOS DE TELAS Angéli Cervi, Rosne Bins, Til Deckert e edro A.. Borges 4. Resumo A modelgem mtemátic é um método de investigção que utiliz

Leia mais

3. Seja Σ um alfabeto. Explique que palavras pertencem a cada uma das seguintes linguagens:

3. Seja Σ um alfabeto. Explique que palavras pertencem a cada uma das seguintes linguagens: BCC244-Teori d Computção Prof. Lucíli Figueiredo List de Exercícios DECOM ICEB - UFOP Lingugens. Liste os strings de cd um ds seguintes lingugens: ) = {λ} ) + + = c) {λ} {λ} = {λ} d) {λ} + {λ} + = {λ}

Leia mais

Formas Quadráticas. FUNÇÕES QUADRÁTICAS: denominação de uma função especial, definida genericamente por: 1 2 n ij i j i,j 1.

Formas Quadráticas. FUNÇÕES QUADRÁTICAS: denominação de uma função especial, definida genericamente por: 1 2 n ij i j i,j 1. Forms Qudrátics FUNÇÕES QUADRÁTICAS: denominção de um função especil, definid genericmente por: Q x,x,...,x x x x... x x x x x... x 1 n 11 1 1 1 1n 1 n 3 3 nn n ou Qx,x,...,x 1 n ij i j i,j1 i j n x x

Leia mais

SERVIÇO PÚBLICO FEDERAL Ministério da Educação

SERVIÇO PÚBLICO FEDERAL Ministério da Educação SERVIÇO PÚBLICO FEDERAL Ministério d Educção Universidde Federl do Rio Grnde Universidde Abert do Brsil Administrção Bchreldo Mtemátic pr Ciêncis Sociis Aplicds I Rodrigo Brbos Sores . Mtrizes:.. Introdução:

Leia mais

APONTAMENTOS DE ÁLGEBRA LINEAR E GEOMETRIA ANALÍTICA

APONTAMENTOS DE ÁLGEBRA LINEAR E GEOMETRIA ANALÍTICA UNIVERSIDADE DO ALGARVE ESCOLA SUPERIOR DE TECNOLOGIA APONTAMENTOS DE ÁLGEBRA LINEAR E GEOMETRIA ANALÍTICA (II Determinntes) ÁREA DEPARTAMENTAL DE ENGENHARIA CIVIL Determinntes Índice 2 Determinntes 2

Leia mais

ÁLGEBRA LINEAR Equações Lineares na Álgebra Linear EQUAÇÃO LINEAR SISTEMA LINEAR GEOMETRIA DA ESQUAÇÕES LINEARES RESOLUÇÃO DOS SISTEMAS

ÁLGEBRA LINEAR Equações Lineares na Álgebra Linear EQUAÇÃO LINEAR SISTEMA LINEAR GEOMETRIA DA ESQUAÇÕES LINEARES RESOLUÇÃO DOS SISTEMAS EQUAÇÃO LINEAR SISTEMA LINEAR GEOMETRIA DA ESQUAÇÕES LINEARES RESOLUÇÃO DOS SISTEMAS Equção Liner * Sej,,,...,, (números reis) e n (n ) 2 3 n x, x, x,..., x (números reis) 2 3 n Chm-se equção Liner sobre

Leia mais

Linguagens Formais e Autômatos (LFA)

Linguagens Formais e Autômatos (LFA) PU-Rio Lingugens Formis e Autômtos (LFA) omplemento d Aul de 21/08/2013 Grmátics, eus Tipos, Algums Proprieddes e Hierrqui de homsky lrisse. de ouz, 2013 1 PU-Rio Dic pr responder Pergunts finis d ul lrisse.

Leia mais

Aula 09 Equações de Estado (parte II)

Aula 09 Equações de Estado (parte II) Aul 9 Equções de Estdo (prte II) Recpitulndo (d prte I): s equções de estdo têm form (sistems de ordem n ) = A + B u y = C + D u onde: A é um mtriz n n B é um mtriz n p C é um mtriz q n D é um mtriz q

Leia mais

CINÉTICA QUÍMICA CINÉTICA QUÍMICA. Lei de Velocidade

CINÉTICA QUÍMICA CINÉTICA QUÍMICA. Lei de Velocidade CINÉTICA QUÍMICA Lei de Velocidde LEIS DE VELOCIDADE - DETERMINAÇÃO Os eperimentos em Cinétic Químic fornecem os vlores ds concentrções ds espécies em função do tempo. A lei de velocidde que govern um

Leia mais

Comprimento de arco. Universidade de Brasília Departamento de Matemática

Comprimento de arco. Universidade de Brasília Departamento de Matemática Universidde de Brsíli Deprtmento de Mtemátic Cálculo Comprimento de rco Considerefunçãof(x) = (2/3) x 3 definidnointervlo[,],cujográficoestáilustrdo bixo. Neste texto vmos desenvolver um técnic pr clculr

Leia mais

Resolução Numérica de Sistemas Lineares Parte I

Resolução Numérica de Sistemas Lineares Parte I Cálculo Numérico Resolução Numéric de Sistems ineres Prte I Prof. Jorge Cvlcnti jorge.cvlcnti@univsf.edu.br MATERIA ADAPTADO DOS SIDES DA DISCIPINA CÁCUO NUMÉRICO DA UFCG - www.dsc.ufcg.edu.br/~cnum/ Sistems

Leia mais

Problemas e Algoritmos

Problemas e Algoritmos Problems e Algoritmos Em muitos domínios, há problems que pedem síd com proprieddes específics qundo são fornecids entrds válids. O primeiro psso é definir o problem usndo estruturs dequds (modelo), seguir

Leia mais

Função de onda e Equação de Schrödinger

Função de onda e Equação de Schrödinger Função de ond e Equção de Schrödinger A U L A 4 Met d ul Introduzir função de ond e Equção de Schrödinger. objetivos interpretr fisicmente função de ond; obter informção sobre um sistem microscópico, prtir

Leia mais

6.1 Recursos de Curto Prazo ADMINISTRAÇÃO DO CAPITAL DE GIRO. Capital de giro. Capital circulante. Recursos aplicados em ativos circulantes (ativos

6.1 Recursos de Curto Prazo ADMINISTRAÇÃO DO CAPITAL DE GIRO. Capital de giro. Capital circulante. Recursos aplicados em ativos circulantes (ativos ADMINISTRAÇÃO DO CAPITAL DE GIRO 6.1 Recursos de curto przo 6.2 Administrção de disponibiliddes 6.3 Administrção de estoques 6.4 Administrção de conts 6.1 Recursos de Curto Przo Administrção Finnceir e

Leia mais

COPEL INSTRUÇÕES PARA CÁLCULO DA DEMANDA EM EDIFÍCIOS NTC 900600

COPEL INSTRUÇÕES PARA CÁLCULO DA DEMANDA EM EDIFÍCIOS NTC 900600 1 - INTRODUÇÃO Ests instruções têm por objetivo fornecer s orientções pr utilizção do critério pr cálculo d demnd de edifícios residenciis de uso coletivo O referido critério é plicável os órgãos d COPEL

Leia mais

ALGEBRA LINEAR AUTOVALORES E AUTOVETORES. Prof. Ademilson

ALGEBRA LINEAR AUTOVALORES E AUTOVETORES. Prof. Ademilson LGEBR LINER UTOVLORES E UTOVETORES Prof. demilson utovlores e utovetores utovlores e utovetores são conceitos importntes de mtemátic, com plicções prátics em áres diversificds como mecânic quântic, processmento

Leia mais

Capítulo 1 Introdução à Física

Capítulo 1 Introdução à Física Vetor Pré Vestiulr Comunitário Físic 1 Cpítulo 1 Introdução à Físic Antes de começrem com os conceitos práticos d Físic, é imprescindível pr os lunos de Pré-Vestiulr estrem certificdos de que dominm os

Leia mais

a a 3,88965 $140 7 9% 7 $187 7 9% a 5, 03295

a a 3,88965 $140 7 9% 7 $187 7 9% a 5, 03295 Anuiddes equivlentes: $480 + $113 + $149 5 9% 5 VPL A (1, 09) $56, 37 A 5 9% 3,88965 5 9% 5 9% AE = = = = $14, 49 = 3,88965 AE B $140 $620 + $120 + 7 9% 7 VPL B (1, 09) $60, 54 = = = 5, 03295 7 9% 7 9%

Leia mais

Relações em triângulos retângulos semelhantes

Relações em triângulos retângulos semelhantes Observe figur o ldo. Um escd com seis degrus está poid em num muro de m de ltur. distânci entre dois degrus vizinhos é 40 cm. Logo o comprimento d escd é 80 m. distânci d bse d escd () à bse do muro ()

Leia mais

Gabarito - Matemática Grupo G

Gabarito - Matemática Grupo G 1 QUESTÃO: (1,0 ponto) Avlidor Revisor Um resturnte cobr, no lmoço, té s 16 h, o preço fixo de R$ 1,00 por pesso. Após s 16h, esse vlor ci pr R$ 1,00. Em determindo di, 0 pessos lmoçrm no resturnte, sendo

Leia mais

Projeto de Compiladores Professor Carlos de Salles

Projeto de Compiladores Professor Carlos de Salles Projeto de Compildores 2006.1 Professor Crlos de Slles Trlho 1 Autômto pr Plvrs Reservds Ojetivo do trlho: implementr um progrm que recee como entrd um list de plvrs reservds e define como síd um função

Leia mais

ANÁLISE DE SISTEMAS DE ENERGIA REPRESENTAÇÃO DE SISTEMAS DE ENERGIA ELÉTRICA EM REGIME PERMANENTE 4

ANÁLISE DE SISTEMAS DE ENERGIA REPRESENTAÇÃO DE SISTEMAS DE ENERGIA ELÉTRICA EM REGIME PERMANENTE 4 A E ANÁLE DE TEMA DE ENERGA REREENTAÇÃO DE TEMA DE ENERGA ELÉTRCA EM REGME ERMANENTE 4 ANÁLE DE TEMA DE ENERGA REREENTAÇÃO DE TEMA DE ENERGA ELÉTRCA EM REGME ERMANENTE 4 MODELAGEM DO COMONENTE DE TEMA

Leia mais

Circuitos Elétricos II Experimento 1 Experimento 1: Sistema Trifásico

Circuitos Elétricos II Experimento 1 Experimento 1: Sistema Trifásico Circuitos Elétricos Experimento 1 Experimento 1: Sistem Trifásico 1. Objetivo: Medição de tensões e correntes de linh e de fse em um sistem trifásico. 2. ntrodução: As tensões trifásics são normlmente

Leia mais

Autor: Carlos Otávio Schocair Mendes

Autor: Carlos Otávio Schocair Mendes Plno de Implntção do no Centro Federl de Educção Tecnológic Celso Suckow d Fonsec CEFET- RJ 1 Autor: Crlos Otávio Schocir Mendes O objetivo desse trblho é fornecer subsídios pr implntção no no CEFET- RJ.

Leia mais

Conversão de Energia II

Conversão de Energia II Deprtmento de ngenhri létric Aul 6. Máquins íncrons Prof. João Américo ilel Máquins íncrons Crcterístics vzio e de curto-circuito Curv d tensão terminl d rmdur vzio em função d excitção de cmpo. Crctéristic

Leia mais

Incertezas e Propagação de Incertezas. Biologia Marinha

Incertezas e Propagação de Incertezas. Biologia Marinha Incertezs e Propgção de Incertezs Cursos: Disciplin: Docente: Biologi Biologi Mrinh Físic Crl Silv Nos cálculos deve: Ser coerente ns uniddes (converter tudo pr S.I. e tender às potêncis de 10). Fzer um

Leia mais

Área entre curvas e a Integral definida

Área entre curvas e a Integral definida Universidde de Brsíli Deprtmento de Mtemátic Cálculo Áre entre curvs e Integrl definid Sej S região do plno delimitd pels curvs y = f(x) e y = g(x) e s rets verticis x = e x = b, onde f e g são funções

Leia mais

Linguagens Formais e Autômatos (LFA)

Linguagens Formais e Autômatos (LFA) Lingugens Formis e Autômtos (LFA) Aul de 11/09/2013 Conjuntos Regulres, Expressões Regulres, Grmátics Regulres e Autômtos Finitos 1 Conjuntos Regulres Conjuntos regulres sobre um lfbeto finito são LINGUAGENS

Leia mais

ESTATÍSTICA APLICADA. 1 Introdução à Estatística. 1.1 Definição

ESTATÍSTICA APLICADA. 1 Introdução à Estatística. 1.1 Definição ESTATÍSTICA APLICADA 1 Introdução à Esttístic 1.1 Definição Esttístic é um áre do conhecimento que trduz ftos prtir de nálise de ddos numéricos. Surgiu d necessidde de mnipulr os ddos coletdos, com o objetivo

Leia mais

Fluxo de execução e blocos básicos

Fluxo de execução e blocos básicos Otimizção Fluxo de execução e blocos básicos Compildores II Melhorr código mke it better, não mke it best Não deve lterr semântic originl do progrm Tipos locis ou globis Precoce Constnt folding 6-6 0 Simplificções

Leia mais

PROJETO E ANÁLISES DE EXPERIMENTOS (PAE) EXPERIMENTOS COM UM ÚNICO FATOR E A ANÁLISE DE VARIÂNCIA

PROJETO E ANÁLISES DE EXPERIMENTOS (PAE) EXPERIMENTOS COM UM ÚNICO FATOR E A ANÁLISE DE VARIÂNCIA PROJETO E ANÁLISES DE EXPERIMENTOS (PAE) EXPERIMENTOS COM UM ÚNICO FATOR E A ANÁLISE DE VARIÂNCIA Dr. Sivldo Leite Correi EXEMPLO DE UM PROBLEMA COM UM ÚNICO FATOR Um empres do rmo textil desej desenvolver

Leia mais

Teoria de Linguagens 2 o semestre de 2014 Professor: Newton José Vieira Primeira Lista de Exercícios Entrega: até 16:40h de 23/10.

Teoria de Linguagens 2 o semestre de 2014 Professor: Newton José Vieira Primeira Lista de Exercícios Entrega: até 16:40h de 23/10. Pós-Grdução em Ciênci d Computção DCC/ICEx/UFMG Teori de Lingugens 2 o semestre de 2014 Professor: Newton José Vieir Primeir List de Exercícios Entreg: té 16:40h de 23/10. Oservções: O uso do softwre JFLAP,

Leia mais

Aula 10 Estabilidade

Aula 10 Estabilidade Aul 0 Estbilidde input S output O sistem é estável se respost à entrd impulso 0 qundo t Ou sej, se síd do sistem stisfz lim y(t) t = 0 qundo entrd r(t) = impulso input S output Equivlentemente, pode ser

Leia mais

Faculdade de Computação

Faculdade de Computação UNIVERIDADE FEDERAL DE UBERLÂNDIA Fculdde de Computção Disciplin : Lingugens Formis e Autômtos - 0 emestre 2006 Professor : ndr Aprecid de Amo List de Exercícios n o - 4/08/2006 Observção : os exercícios

Leia mais

1 MÁQUINAS ELÉTRICAS II 1233 A/C : PROF. CAGNON - 2005 ENSAIO 01 : OBTENÇÃO DA CARACTERÍSTICA A VAZIO DE UMA MÁQUINA CC

1 MÁQUINAS ELÉTRICAS II 1233 A/C : PROF. CAGNON - 2005 ENSAIO 01 : OBTENÇÃO DA CARACTERÍSTICA A VAZIO DE UMA MÁQUINA CC 1 MÁQUINS ELÉTRICS II 1233 /C : PROF. CGNON - 2005 LBORTÓRIO L1 ENSIO 01 : OBTENÇÃO D CRCTERÍSTIC ZIO DE UM MÁQUIN CC 1. Objetivo Neste ensio será relizdo o levntmento d crcterístic de funcionmento vzio

Leia mais

INTRODUÇÃO AOS MÉTODOS NUMÉRICOS

INTRODUÇÃO AOS MÉTODOS NUMÉRICOS ITRODUÇÃO AOS MÉTODOS UMÉRICOS Professor: Dr. Edwin B. Mitcc Mez emitcc@ic.uff.r www.ic.uff.r/~emitcc Ement oções Básics sore Erros Zeros Reis de Funções Reis Resolução de Sistems Lineres Introdução à

Leia mais

EQUAÇÃO DO 2 GRAU. Seu primeiro passo para a resolução de uma equação do 2 grau é saber identificar os valores de a,b e c.

EQUAÇÃO DO 2 GRAU. Seu primeiro passo para a resolução de uma equação do 2 grau é saber identificar os valores de a,b e c. EQUAÇÃO DO GRAU Você já estudou em série nterior s equções do 1 gru, o gru de um equção é ddo pelo mior expoente d vriável, vej lguns exemplos: x + = 3 equção do 1 gru já que o expoente do x é 1 5x 8 =

Leia mais

Módulo 02. Sistemas Lineares. [Poole 58 a 85]

Módulo 02. Sistemas Lineares. [Poole 58 a 85] Módulo Note em, leitur destes pontmentos não dispens de modo lgum leitur tent d iliogrfi principl d cdeir Chm-se à tenção pr importânci do trlho pessol relizr pelo luno resolvendo os prolems presentdos

Leia mais

Introdução à Programação Linear

Introdução à Programação Linear CAPÍTULO. Definição Um problem de PL consiste em determinr vlores não negtivos pr s vriáveis de decisão, de form que stisfçm s restrições imposts e que optimizem (minimizem ou mimizem) um função (rel)

Leia mais

Eletrotécnica. Módulo III Parte I Motores CC. Prof. Sidelmo M. Silva, Dr. Sidelmo M. Silva, Dr.

Eletrotécnica. Módulo III Parte I Motores CC. Prof. Sidelmo M. Silva, Dr. Sidelmo M. Silva, Dr. 1 Eletrotécnic Módulo III Prte I Motores CC Prof. 2 3 Máquin CC Crcterístics Básics Muito versáteis (bos crcterístics conjugdo X velocidde) Elevdos conjugdos de prtid Aplicções em sistems de lto desempenho

Leia mais

Circuitos Elétricos II Experimento 1 Experimento 1: Sistema Trifásico

Circuitos Elétricos II Experimento 1 Experimento 1: Sistema Trifásico Circuitos Elétricos Experimento 1 Experimento 1: Sistem Trifásico 1. Objetivo: Medição de tensões e correntes de linh e de fse em um sistem trifásico. 2. ntrodução: As tensões trifásics são normlmente

Leia mais

TRIGONOMETRIA. A trigonometria é uma parte importante da Matemática. Começaremos lembrando as relações trigonométricas num triângulo retângulo.

TRIGONOMETRIA. A trigonometria é uma parte importante da Matemática. Começaremos lembrando as relações trigonométricas num triângulo retângulo. TRIGONOMETRIA A trigonometri é um prte importnte d Mtemátic. Começremos lembrndo s relções trigonométrics num triângulo retângulo. Num triângulo ABC, retângulo em A, indicremos por Bˆ e por Ĉ s medids

Leia mais

Manual de Operação e Instalação

Manual de Operação e Instalação Mnul de Operção e Instlção Clh Prshll MEDIDOR DE VAZÃO EM CANAIS ABERTOS Cód: 073AA-025-122M Rev. B Novembro / 2008 S/A. Ru João Serrno, 250 Birro do Limão São Pulo SP CEP 02551-060 Fone: (11) 3488-8999

Leia mais

Pontos onde f (x) = 0 e a < x < b. Suponha que f (x 0 ) existe para a < x 0 < b. Se x 0 é um ponto extremo então f (x 0 ) = 0.

Pontos onde f (x) = 0 e a < x < b. Suponha que f (x 0 ) existe para a < x 0 < b. Se x 0 é um ponto extremo então f (x 0 ) = 0. Resolver o seguinte PPNL M (min) f() s. [, ] Pr chr solução ótim deve-se chr todos os máimos (mínimos) locis, isto é, os etremos locis. A solução ótim será o etremo locl com mior (menor) vlor de f(). É

Leia mais

Licença de uso exclusiva para Petrobrás S.A. Licença de uso exclusiva para Petrobrás S.A. NBR 13434

Licença de uso exclusiva para Petrobrás S.A. Licença de uso exclusiva para Petrobrás S.A. NBR 13434 ABNT-Associção Brsileir de Norms Técnics Sede: Rio de Jneiro Av. Treze de Mio, 13-28º ndr CEP 20003-900 - Cix Postl 1680 Rio de Jneiro - RJ Tel.: PABX (021) 210-3122 Fx: (021) 220-1762/220-6436 Endereço

Leia mais

Modelos de Computação -Folha de trabalho n. 2

Modelos de Computação -Folha de trabalho n. 2 Modelos de Computção -Folh de trlho n. 2 Not: Os exercícios origtórios mrcdos de A H constituem os prolems que devem ser resolvidos individulmente. A resolução em ppel deverá ser depositd n cix d disciplin

Leia mais

Física Geral e Experimental I (2011/01)

Física Geral e Experimental I (2011/01) Diretori de Ciêncis Exts Lbortório de Físic Roteiro Físic Gerl e Experimentl I (/ Experimento: Cinemátic do M. R. U. e M. R. U. V. . Cinemátic do M.R.U. e do M.R.U.V. Nest tref serão borddos os seguintes

Leia mais

FUNÇÕES. Mottola. 1) Se f(x) = 6 2x. é igual a (a) 1 (b) 2 (c) 3 (d) 4 (e) 5. 2) (UNIFOR) O gráfico abaixo. 0 x

FUNÇÕES. Mottola. 1) Se f(x) = 6 2x. é igual a (a) 1 (b) 2 (c) 3 (d) 4 (e) 5. 2) (UNIFOR) O gráfico abaixo. 0 x FUNÇÕES ) Se f() = 6, então f ( 5) f ( 5) é igul () (b) (c) 3 (d) 4 (e) 5 ) (UNIFOR) O gráfico bio 0 () não represent um função. (b) represent um função bijetor. (c) represent um função não injetor. (d)

Leia mais

Regras. Resumo do Jogo Resumo do Jogo. Conteúdo. Conteúdo. Objetivo FRENTE do Jogo

Regras. Resumo do Jogo Resumo do Jogo. Conteúdo. Conteúdo. Objetivo FRENTE do Jogo Resumo do Jogo Resumo do Jogo Regrs -Qundo for seu turno, você deve jogr um de sus crts no «ponto n linh do tempo» que estej correto. -Se você jogr crt corretmente, terá um crt menos à su frente. -Se você

Leia mais

6 Conversão Digital/Analógica

6 Conversão Digital/Analógica 6 Conversão Digitl/Anlógic n Em muits plicções de processmento digitl de sinl (Digitl Signl Processing DSP), é necessário reconstruir o sinl nlógico pós o estágio de processmento digitl. Est tref é relizd

Leia mais

Universidade Federal do Rio Grande FURG. Instituto de Matemática, Estatística e Física IMEF Edital 15 - CAPES MATRIZES

Universidade Federal do Rio Grande FURG. Instituto de Matemática, Estatística e Física IMEF Edital 15 - CAPES MATRIZES Universidde Federl do Rio Grnde FURG Instituto de Mtemátic, Esttístic e Físic IMEF Editl - CAPES MATRIZES Prof. Antônio Murício Medeiros Alves Profª Denise Mri Vrell Mrtinez Mtemátic Básic pr Ciêncis Sociis

Leia mais

TÓPICOS. Equação linear. Sistema de equações lineares. Equação matricial. Soluções do sistema. Método de Gauss-Jordan. Sistemas homogéneos.

TÓPICOS. Equação linear. Sistema de equações lineares. Equação matricial. Soluções do sistema. Método de Gauss-Jordan. Sistemas homogéneos. Note bem: leitur destes pontmentos não dispens de modo lgum leitur tent d bibliogrfi principl d cdeir ÓPICOS Equção liner. AUA 4 Chm-se tenção pr importânci do trblho pessol relizr pelo luno resolvendo

Leia mais

CONSTRUÇÃO DE ALGORITMOS E PROGRAMAS

CONSTRUÇÃO DE ALGORITMOS E PROGRAMAS CONSTRUÇÃO DE ALGORITMOS E PROGRAMAS O computdor é cpz de mnipulr e rmzenr um grnde quntidde de ddos ou informções com lto desempenho, liberndo o homem pr outrs trefs ns quis o seu conhecimento é indispensável.

Leia mais

& fé ISSN por Rodolfo Petrônio Unirio.

& fé ISSN por Rodolfo Petrônio Unirio. ATIVIDADE E PASSIVIDADE DOS ELEMENTOS E A ÁLGEBRA DE WEYL (PARTE III) por Rodolfo Petrônio Unirio. Vimos em nosso texto nterior (prte II) que se definem 1 os ssim chmdos idempotentes primitivos, q e q

Leia mais

MODELAGEM DINÂMICA OO: UMA ANÁLISE COMPARATIVA DE TÉCNICAS

MODELAGEM DINÂMICA OO: UMA ANÁLISE COMPARATIVA DE TÉCNICAS MODELAGEM DINÂMICA OO: UMA ANÁLISE COMPARATIVA DE TÉCNICAS Guillermo Bustos Reinoso Crlos A. Heuser UFRGS/Instituto de Informátic Cix Postl 15064 91501-970 Porto Alegre RS e-mil: {gbustos heuser}@inf.ufgrs.br

Leia mais

Vestibular UFRGS 2013 Resolução da Prova de Matemática

Vestibular UFRGS 2013 Resolução da Prova de Matemática Vestibulr UFRG 0 Resolução d Prov de Mtemátic 6. Alterntiv (C) 00 bilhões 00. ( 000 000 000) 00 000 000 000 0 7. Alterntiv (B) Qundo multiplicmos dois números com o lgrismo ds uniddes igul 4, o lgrismo

Leia mais

COLÉGIO NAVAL 2016 (1º dia)

COLÉGIO NAVAL 2016 (1º dia) COLÉGIO NAVAL 016 (1º di) MATEMÁTICA PROVA AMARELA Nº 01 PROVA ROSA Nº 0 ( 5 40) 01) Sej S som dos vlores inteiros que stisfzem inequção 10 1 0. Sendo ssim, pode-se firmr que + ) S é um número divisíel

Leia mais

TERMO DE REFERÊNCIA PROJETOS DE INCLUSÃO PRODUTIVA

TERMO DE REFERÊNCIA PROJETOS DE INCLUSÃO PRODUTIVA TERMO DE REFERÊNCIA PROJETOS DE INCLUSÃO PRODUTIVA 1 - Ddos do Proponente 1.1- Nome d Entidde 1.2- CNPJ 1.3- Número de Sócios 1.4- Dt d Fundção 1.5- Endereço 20/09/2011 1.6- Município 1.7- CEP 1.8- U F

Leia mais