Você está na página 1de 19

#===============================================================#

verso 5.0.3 #===============================================================# # Bem vindo ao fascinante mundo da linguagem Pascal! # #===============================================================# #===============================================================# # Organizao desse documento # #===============================================================# 1. 2. 3. 4. 5. 6. 7. 8. Apresentao Consideraes de uso Histrico do compilador Subconjunto da linguagem Pascal implementado Download Procedimento de instalao Agradecimentos Comentrios, crticas e sugestes

#===============================================================# #===============================================================# # 1.Apresentao # #===============================================================# A linguagem PASCAL foi desenvolvida pelo professor Niklaus Wirth no ano de 1972, em Genebra, Sua. O nome da linguagem, Pascal, foi uma homenagem ao filsofo e matemtico Blaise Pascal ( 1623-1662 ), inventor da primeira calculadora mecnica. O desejo de Wirth ao criar a linguagem Pascal era dispor, para o ensino de programao, de nova linguagem que fosse simples, coerente e capaz de incentivar a confeco de programas claros e facilmente legveis, favorecendo a utilizao de boas tcnicas de programao. A linguagem Pascal se tornou amplamente conhecida e utilizada com o lanamento da mundialmente famosa srie de compiladores Turbo Pascal pela Borland, em 1985, devido a uma combinao de simplicidade e poder. O compilador PASCAL ZIM!, desenvolvido no Departamento de Cincias da Computao da Universidade de Braslia, fruto de vrios anos de pesquisa e trabalho na rea de algoritmos,

tradutores e linguagens de programao. Foi adotado como ferramenta de apoio ao ensino e aprendizagem da linguagem Pascal pelos alunos matriculados no curso de Introduo Cincia da Computao nesta Instituio, e comeou a ser utilizado no primeiro semestre do ano de 2000. No segundo semestre de 2001,e nos semestres que se seguiram, a ferramenta foi utilizada pelos meus alunos do Instituto de Educao Superior de Braslia (IESB) na disciplina "Algoritmos e Programao Estruturada". A ferramenta foi exaustivamente testada, mas ainda assim no se encontra livre de erros de implementao. A correo destes ser efetuada to breve quanto sua descoberta, levando disponibilidade de verses mais atualizadas do compilador. O compilador implementa um subconjunto da linguagem Pascal e contm as estruturas de dados, funes e comandos mais utilizados por iniciantes no estudo dessa linguagem. O arquivo de ajuda que acompanha o produto especifica as instrues suportadas. Crticas e sugestes so bem vindas! O PASCAL ZIM! foi concebido com finalidade meramente educacional e sua distribuio livre. #===============================================================# #===============================================================# # 2.Consideraes de uso # #===============================================================# O compilador PASCAL ZIM! foi concebido para fins educacionais e sua distribuio gratuita. Ele no pode, sob nenhuma circunstncia, ser comercializado. O compilador foi exaustivamente testado, mas no se encontra livre de erros de implementao. Quando da descoberta destes sero efetuadas as devidas correes, o que acarretar na disponibilizao de verses mais atualizadas. O compilador implementa um subconjunto da linguagem Pascal e contm as estruturas de dados, funes e comandos mais utilizados por iniciantes no estudo dessa linguagem. O arquivo de ajuda que acompanha o produto especifica as instrues suportadas. Crticas e sugestes so bem vindas! #===============================================================# #===============================================================# 3.Histrico do compilador #===============================================================#

O desenvolvimento do Pascal ZIM! vem sendo feito de forma gradativa, e cada nova verso disponibilizada traz consigo um novo conjunto de recursos e/ou estruturas da linguagem da linguagem Pascal. Abaixo exibido um breve resumo do esforo de desenvolvimento do compilador: --------------------------------------------------------------------VERSO 5.0.3 (26/04/2009) --------------------------------------------------------------------------------------------- A funo val estava retornando valores incorretos para o cdigo de erro. O correto seria retornar a posio onde o erro foi encontrado. A funo foi revista, e seu resultado comparado com os resultados do Delphi. Esse bug foi reportado por Diogo Dias. Obrigado por esse importante feedback! ;) --------------------------------------------------------------------VERSO 5.0.2 (13/04/2009) --------------------------------------------------------------------------------------------- Foi necessrio fazer uma correo emergencial no compilador, porque alguns erros sintticos no estavam sendo reportados corretamente na verso 5.0.1, como por exemplo o ponto e vrgula antes do else. Esse bug foi reportado por Francisco Grangeiro Diniz Jnior. Obrigado pelo importante feedback! ;) - Adicionado no banco de templates os comandos write e read, que estavam faltando. --------------------------------------------------------------------VERSO 5.0.1 (14/03/2009) --------------------------------------------------------------------------------------------- Depois de receber a solicitao resolvi adicionar ao compilador a declarao uses. Assim, no comentar a linha de cdigo uses de diversas pessoas, a capacidade de ignorar mais necessrio crt.

- Atendendo a diversos pedidos, foi adicionada tambm a opo de personalizar a cor do editor de cdigo. - Adicionado no banco de templates vrios novos comandos e funes. Basta pressionar CTRL+Espao para conferir. Sugesto de Flaviano Gon Alves. :) - As variveis globais do programa no estavam sendo inicializadas com o valor zero. Esse problema foi reportado por Emmanuel O Monteiro. Obrigado pela contribuio! :) - A funo LN agora verifica se o argumento informado diferente de zero. Esse problema foi reportado por Francisco Rodrigues Santos. Obrigado pela contribuio! :)

- Adicionado o comando CASE no help. Esse problema foi reportado pelo Professor Licinio L. R. Branco. Obrigado pela contribuio! :) - Corrigido o comentrio do comando gotoxy no help. Esse problema foi reportado por William Xavier de Almeida. Obrigado pela contribuio! :) - Se o arquivo executvel estivesse em uso pelo sistema operacional o compilador no conseguir gerar um novo arquivo, e tambm no acusava nenhum erro. Esse problema foi reportado por Flaviano Gon Alves. Obrigado pela contribuio! :) - Alterado o nome dos novos arquivos de UntitledX para NovoX. Sugesto de Flaviano Gon Alves. :) - Adicionada uma restrio ao comando write, para impedir que uma varivel do tipo record seja exibida na tela ou escrita em arquivo. Isso estava gerando erro em tempo de execuo. Esse problema foi reportado por Vitor Afonso Pinto. Obrigado pela contribuio! :) - Realizada uma srie de outras pequenas otimizaes. --------------------------------------------------------------------VERSO 5.0 (02/04/2007) ----------------------------------------------------------------------------------------------- Depois de vrios meses sem lanar uma nova verso do compilador, foi adicionado um recurso h muito tempo desejado por todos: a execuo passo a passo de programas! :) - Corrigido um erro envolvendo passagem de parmetros. Obrigado, Jefferson Chaves, por detectar e reportar esse bug! - Quando o usurio pressiona CTRL+PAGEUP o editor passa para o prximo editor. CTRL+PAGEDOWN volta para o editor anterior. Sugesto de Jnior Golalvez! - Corrigido uma srie de outros pequenos bugs --------------------------------------------------------------------VERSO 4.09 (30/01/2006) ---------------------------------------------------------------------------------------------- Corrigido uma srie de pequenos bugs --------------------------------------------------------------------VERSO 4.08 (07/09/2005) ---------------------------------------------------------------------------------------------- Corrigido uma srie de pequenos bugs envolvendo vetores, registros e atribuies com tipos definidos. Obrigado, beta-testers! :)

- Reescrito e revisado grande parte do cdigo, incluindo o analisador lxico, sinttico e semntico. - Agora, ao clicar no boto fechar, a janela preta no fecha. :) - Usando CTRL+C, pode-se parar a execuo do programa (til em loops infinitos) - Implementado o operador XOR (sim, no havia xor antes!) - Agora o compilador salva o estilo de editor selecionado, bem como o tamanho da fonte. - Adicionado aos programas de exemplo um interessante jogo de labirinto, desenvolvido por mim. ;) - Adicionado vrios outros exemplos. --------------------------------------------------------------------VERSO 4.07 (16/04/2004) ---------------------------------------------------------------------------------------------- Corrigidos alguns pequenos bugs no editor: => Revisado o pareamento Begin-End, que identificava incorretamente esses marcadores em "endereco" etc. => Desabilitado pareamento Begin-End em comentarios => Amenizado SRIO problema de lentido do editor para programas muito extensos. - Corrigido um SRIO problema com o comando 'val', quando chamado com variaveis do tipo char. - Corrigido um SRIO problema ao retornar strings em funes. - Corrigido um SRIO problema ao ler reais de arquivo. - Corrigido um SRIO problema ao ler vrias variveis de arquivo, em um mesmo comando READ. - Revisado os comandos para leitura de strings em arquivos. - Implementada as funes EOLN, KEYPRESSED e o comando STR - Sobrecarregada a funo UPCASE para receber cadeias - Agora CTRL+C no fecha mais a janela estilo DOS - Adicionado o estilo de editor Dark Pascal - Corrigidos alguns outros pequenos bugs... - Mais uma vez, agradeo ao colega Leonardo Pignataro (beta-tester do Pzim) e aos alunos do curso de ICC do 2 semestre de 2003 na Unb pela importante

ajuda na deteco destes erros e sugestes. ;) - Corrigido um bug na passagem de parametros de tipo definido para funcoes. Reportado por Paulo Marcos Figueiredo de Andrade, e tambm pelo pessoal da UnB. Obrigado! ;) - Adicionado mais alguns programas de exemplo, enviados por Rodrigo Gar Pissarro (beta-tester do Pzim). ;) - Adicionado aos programas de exemplo um belssimo jogo estilo tetris, desenvolvido por Leonardo Pignataro (beta-tester do Pzim). ;) --------------------------------------------------------------------VERSO 4.06 (25/10/2003) ---------------------------------------------------------------------------------------------- Corrigido um pequeno problema de overflow na leitura de vetores de strings. - Inteiros agora tem 4 bytes, e variam de -2.147.483.647 at 2.147.483.647. - Detectado e corrigido um problema envolvendo a preciso de nmeros reais. Antes a atribuio: r := 12345678901 ; Resultava em: r = 12345678848.000000 - Detectado e corrigido um pequeno bug que ocorria no comando case, em rarssimas situaes. - Erros sintticos comuns, como ausncia de ponto e vrgula antes de um comando e ponto e vrgula antes de um else, so agora reportados de forma mais acurada. - Corrigido problema com a opo de substituir... - Habilitada a tecla TAB para o editor. - Habilitado CTRL+C para parar a execuo de um programa, sem fechar o compilador. - Agradeo ao colega Leonardo Pignataro e aos alunos do curso de ICC do 2 semestre de 2003 na Unb pela importante ajuda na deteco de erros, contribuio com sugestes, e tambm pela ajuda nos testes dessa nova verso. ;) - Corrigido um bug envolvendo a passagem de valores de tipos definidos para funes e procedimentos - erro reportado por Gilson Marcos Nogacz. ;) --------------------------------------------------------------------VERSO 4.05 (11/08/2003) --------------------------------

--------------------------------------------------------------- Nessa verso foi implementado o suporte a ponteiros (graas a importante ajuda de Alex Sandro Garzo). - Nessa verso foi implementado o suporte a tipos enumerados. - O editor foi substitudo pelo em desenvolvimento no projeto open source SynEdit. - O editor agora aponta, atravs de uma linha vertical, o incio e o fim de blocos de cdigo (begin/end) - O editor agora aponta, em destaque, o pareamento de parenteses (em funes e expresses) e colchetes (em vetores). - A definio de tipos foi revista. Agora, possvel declarar novos tipos da forma: Type novoTipo = tipoExistente ; At a verso anterior, s era possvel declarar tipos definidos registro e vetor. --------------------------------------------------------------------VERSO 4.04 (24/01/2003) ---------------------------------------------------------------------------------------------- A pedido de inmeras pessoas... Nessa verso o Pzim capaz de gerar arquivos executveis! O arquivo executvel contm, alm do cdigo do interpretador, o cdigo compilado do programa fonte. Dessa forma, os executveis gerados pelo compilador no chegam a ser so to pequenos quanto os gerados por outros compiladores mais avanados, como o Turbo Pascal da Borland, que geram cdigo assembler... Mas o importante que agora o Pzim pode agora ser utilizado para construir programas reais! :~ - Nessa verso o Pzim suporta comentrios delimitados pelos marcadores (* e *) - Benjamin y sus alunos :) reportaram que as funes round, trunc e abs no estavam funcionando da forma correta para round(1.2), trunc(-0.05) e abs(0.453). Essas funes foram ento reescritas. - Daniel Emilio apontou um exemplo de vetores onde o Pzim no se comportava como em outros compiladores, a exemplo o Turbo Pascal: type nota = array [1..3, 1..4] of real; vnota[1,1]:=4.5; // Vlido na verso 4.03 vnota[1][1]:=4.5; // No aceita na verso 4.03 :( O tratamento de vetores foi completamente revisado, e o comportamento desejado foi implementado nesta

nova verso. - Meus alunos do IESB reportaram que os itens do menu do Pzim no estavam sendo corretamente acionados pelas teclas CTRL+<algo>. Isso foi consertado nesta nova verso. Obrigado pela ajuda, meus pupilos! :~ - Nessa verso possvel acessar a ajuda rapidamente, colocando o cursor do editor sobre uma palavra e pressionando F1. Por exemplo, podemos posicionar o cursor sobre a palavra "while" e pressionar F1 para abrir a ajuda no tpico referente a este comando. - Muito do cdigo do compilador foi reescrito, com a inteno de portar o cdigo (originalmente escrito em C puro) para C++. O analisador lxico, o analisador sinttico e o interpretador foram revisados e reescritos. Algumas revises foram tambm efetuadas no analisador semntico. --------------------------------------------------------------------VERSO 4.03 (04/08/2002) ---------------------------------------------------------------------------------------------- Implementados os comandos break e continue. - Editor clssico (ao estilo do Turbo Pascal) - O interpretador de cdigo e boa parte do analisador semntico foram reescritos. - Muitos bugs foram descobertos e consertados. --------------------------------------------------------------------VERSO 4.02 (11/04/2002) ---------------------------------------------------------------------------------------------- Agora ficou mais fcil trabalhar com seus programas escritos em Pascal. Foi adicionado ao compilador o Pascal ZIM! Explorer, um utililitrio que permite a navegao pelo sistema de arquivos do Windows para localizao de arquivos com extenso pas. - Agora expresses contendo os operadores AND e OR so avaliadas em curto-circuito, a exemplo do compilador Turbo Pascal. Dessa forma, se o primeiro operando do AND for avaliado em false, o segundo no analisado. Tambm, se o primeiro operando do OR for avaliado em true, o segundo o operando no analisado. - Agora o comando case admite intervalos como 1..5 nas opes de seleo. - Weber - Rio de Janeiro - enviou um email reportando que o comando de atribuio soma:= exp(ln(5)*2) no estava sendo executado adequadamente. Graas a este email consegui detectar e corrigir um erro que vinha sendo gerado na avaliacao de certas expresses, particularmente as expresses que faziam uso de funes matemticas como exp, ln, sin, etc. Obrigado

pela ajuda na deteco destes erros, Weber! --------------------------------------------------------------------VERSO 4.01 (11/04/2002) ---------------------------------------------------------------------------------------------- O comando case agora reconhecido pelo compilador. - Foi implementado o comando readln ; ( equivalente a um readkey ) - Foram implementados os comando delay e val. Obrigado, Luiz Marcelo, pelas sugestes, e por ajudar na validao da verso 4.01 beta! - Ricardo Costa enviou um email reportando dois erros de implementao envolvendo o analisador semntico. Primeiro erro: estava sendo gerando uma instruo errada para comparao < entre reais. Segundo erro: uma constante real, declarada em const, estava perdendo sua preciso decimal. Obrigado pela ajuda na deteco destes erros, Ricardo, e por ajudar a validar a verso 4.01 beta! - At a verso 4.0 o primeiro caractere de uma string estava sendo referenciado pela posio zero (como em Java e C++). Nessa nova verso, esse caractere referenciado pela posio um (de acordo com a linguagem Pascal padro). - Pequenos problemas foram detectados e corrigidos. - Foram adicionados templates para os comandos case, readln e writeln. - Foi adicionado um atalho para a calculadora do Windows. - Foi adicionada opo Ir para a linha... - O compilador agora pede uma confirmao do usurio antes de sobrescrer um arquivo j existente, na opo Salvar Como. --------------------------------------------------------------------VERSO 4.0 (25/01/2002) ----------------------------------------------------------------------------------------------O editor do compilador foi consideravelmente aprimorado, levando verso 4.0! Agora: - Os elementos lxicos do programa fonte apresentam uma formatao prpria, no estilo de compiladores como o Turbo Pascal da Borland. - O editor apresenta uma barra vertical mostrando as linhas do programa fonte. - O editor disponibiliza agora templates para os comandos mais utilizados.

- possvel trabalhar em vrios arquivos fonte ao mesmo tempo. - Foi removida a opo de alterar a fonte e a cor de fundo do editor. Essas alteraes no seriam possveis sem a considervel ajuda de Andrei Prygounkov, autor da biblioteca de componentes R&A Library. Thanks a lot, Andrei! Alm disso, nessa nova verso, foram adicionados: - O comando randomize. - As funes upcase, random e readkey (antes s existia o comando readkey). --------------------------------------------------------------------VERSO 3.16 (13/11/2001) ---------------------------------------------------------------------------------------------- Foram identificados e corrigidos alguns pequenos bugs envolvendo alocao dinmica de memria pelo compilador. Essa verso est muito menos sujeita a problemas e exibio de mensagens de erro dessa natureza (principalmente quando o programa fechado :) ). - Foram corrigidas algumas falhas associadas ao tratamento de arquivos. Esta nova verso imprescindvel se voc est construindo programas que fazem uso de arquivos. - Foram corrigidas algumas pequenas falhas na passagem de parmetros para funes. At a verso anterior era possvel declarar uma funo que espera n parmetros e cham-la sem passar nenhum dos parmetros. Tambm, era possvel chamar uma funo sem parmetros passando a ela parmetros. Esse tratamento de parmetros foi incorporado nova verso do compilador. Agradeo ao aluno Eolisses Ferreira Leopoldino, IESB, pela importante ajuda ao detectar a falta de tratamento destes casos de passagem de parmetro! --------------------------------------------------------------------VERSO 3.15 (08/10/2001) ---------------------------------------------------------------------------------------------- Foram implementadas no editor as opes de localizar e substituir. Tambm um problema envolvendo a troca da fonte usada pelo editor foi corrigido. --------------------------------------------------------------------VERSO 3.14 (02/10/2001) ----------------------------------------------------------------------------------------------

- Essa nova verso corrige alguns pequenos bugs. Alm disso, se a fonte ou a cor de fundo utilizada pelo editor for modificada a nova configurao automaticamente aparecer quando o programa for executado. --------------------------------------------------------------------VERSO 3.13 (27/08/2001) ---------------------------------------------------------------------------------------------Depois de mais de um ano sem uma nova atualizao, o Pascal ZIM! foi recompilado. Foi includa a possibilidade de comentar uma linha de cdigo com //, de forma semelhante s linguagens C e Java. --------------------------------------------------------------------VERSO 3.12 (07/11/2000) ---------------------------------------------------------------------------------------------- O analisador lxico foi totalmente reescrito. Agora possvel executar um programa Pascal sem que seja necessrio salvar o arquivo fonte. Com essa mudana o tempo de compilao diminuiu consideravelmente. - Foi corrigido um erro na implementao da funo abs para reais - a funo estava truncando reais. - Erros envolvendo a leitura de dados de arquivos foram encontrados e consertados. - Foi implementado um menu popup para o editor, contendo funes como copiar, colar e executar! - Outros pequenos erros foram consertados. Agradeo ao professor Homero ( Departamento de Cincia da Computao da Universidade de Braslia ) pela importante ajuda em sugestes, teste e deteco de erros no compilador! --------------------------------------------------------------------VERSO 3.11 (15/08/2000) ---------------------------------------------------------------------------------------------- Novos erros envolvendo a passagem de parmetros foram encontrados e corrigidos. - Nessa nova verso possvel declarar os intervalos de um vetor atravs de constantes inteiras declaradas na seo const, como em: Const max = 5 ; Var vetor : array [ 1 ... max , 1.. max ] of integer; - Foi implementado um menu Popup para o Editor. Atravs desse menu possvel acessar facilmente os comandos Editar, Recortar e Colar, alm das funes de formatao da cor de fundo e da fonte do editor. Atravs desse menu possvel tambm acessar a funo Executar!

- O compilador guarda agora a informao sobre os cinco ltimos arquivos abertos. --------------------------------------------------------------------VERSO 3.10b (07/06/2000) --------------------------------------------------------------------------------------------- Todo o cdigo envolvendo passagem de parmetros por valor e referncia para funes e procedimentos foi reescrito, e inmeros erros de implementao foram corrigidos. Muitas novas possibilidades de passagem, antes no previstas, foram implementadas. - O uso do comando read para leitura de cadeias em arquivos texto foi modificado, de forma a funcionar como no compilador Turbo Pascal da Borland. Agora uma sequncia de comandos como: Var cadeia : string [ 20 ] ; .... Read ( arquivo , cadeia ) L, do arquivo associado a arquivo, uma cadeia contendo 20 caracteres, ou todos os caracteres contidos em uma linha do arquivo se a linha conter menos de 20 caracteres. - Novos bugs foram identificados e corrigidos. --------------------------------------------------------------------VERSO 3.09 (07/06/2000) ---------------------------------------------------------------------------------------------- Foram detectados e corrigidos um conjunto de bugs que o compilador vinha trazendo at esta verso. Anteriormente a execuo de determinados programas causava estouro de memria, fazendo com que o compilador finalizasse prematuramente. Com a correo de alguns destes bugs, o compilador se tornou mais estvel ! Agradeo ao aluno Rafael Faria Braga, UnB, pela importante ajuda na deteco destes erros! - Revisado o comando Assign. --------------------------------------------------------------------VERSO 3.08 (06/06/2000) ---------------------------------------------------------------------------------------------- Os comandos para abertura de arquivos ( Reset, Rewrite, Append ) foram revisados. - A funo EOF foi revisada. - Foi implementada a escrita de caracteres acentuados. Agora possvel imprimir um literal como: writeln ( 'Essa escrita correta s possvel a partir dessa nova verso !' ) ;

--------------------------------------------------------------------VERSO 3.07 (30/05/2000) ---------------------------------------------------------------------------------------------- Foram revisadas as operaes de leitura de dados (read) em arquivos. - O esquema usado para reportar mensagens de erro foi reestruturado. Agora as mensagens de erro aparecem na janela do editor. --------------------------------------------------------------------VERSO 3.06 (24/05/2000) ---------------------------------------------------------------------------------------------- Foram revisadas as definies de tipos atravs da palavra reservada Type. Alguns pequenos bugs foram encontrados e consertados. - Foi corrigido um bug envolvendo a leitura de mltiplas variveis no comando read e readln. - Foram reescritas as rotinas de adio e impresso de cadeias. - Foi implementada a verificao de diviso por zero. --------------------------------------------------------------------VERSO 3.05 (11/05/2000) ---------------------------------------------------------------------------------------------- Foi habilitado o uso dos comandos for...to e for...downto para variveis do tipo char . - O operador / foi revisado. A diviso de inteiros, at a verso anterior do compilador, estava gerando uma instruo div no processo de diviso . - A definio das cadeias de caracteres (strings) foi revisada. Agora possvel acessar elementos individuais das cadeias. - Todas as operaes envolvendo cadeias de caracteres foram revisadas. - O comando de atribuio foi revisado. - As operaes envolvendo vetores foram revisadas. Alguns bugs foram encontrados e consertados. --------------------------------------------------------------------VERSO 3.04 (02/05/2000) ---------------------------------------------------------------------------------------------- Foi desabilitada a opo de criao obrigatria do arquivo xxx.ZIM. - Foram revisadas as expresses lgicas. Pequenos bugs foram consertados.

- Foram revisados os comandos de leitura e escrita em arquivo. - Foi implementada a especificao de parmetros formatadores para os comandos write e writeln. O compilador, nessa nova verso, reconhece um comando Pascal como: writeln ( 3.141516 : 3 : 2 ) ; - O compilador, nessa verso, aceita comandos writeln com a seguinte sintaxe : writeln ; - O tpico referente aos comandos write e writeln no arquivo de help foi atualizado. --------------------------------------------------------------------VERSO 3.03 (18/04/2000) ---------------------------------------------------------------------------------------------- Foram atualizadas as mensagens geradas para os erros sintticos do compilador. Agora os erros sintticos so reportados mais acuradamente. --------------------------------------------------------------------VERSO 3.02 (17/04/2000) ---------------------------------------------------------------------------------------------- O arquivo de help foi reescrito e atualizado com as novas funes implementadas na verso 3.01. - Foi corrigido um pequeno bug que fazia com que o compilador travasse ao executar determinados programas. --------------------------------------------------------------------VERSO 3.01 (13/04/2000) ---------------------------------------------------------------------------------------------- Foram implementadas as funes ln, exp, sqr, sqrt, abs, trunc, round, sin, cos, arctan, odd, succ, pred, predefinidas na linguagem Pascal. - Foram implementados os comandos de incremento e decremento de variveis inc e dec. - Foi implementado o suporte a mltiplas entradas nos comandos read e readln. --------------------------------------------------------------------VERSO 3.0 (fevereiro de 2000) ---------------------------------------------------------------------------------------- O compilador foi portado para C++ Builder, e embutido em um ambiente de editorao visual; - Inmeros bugs foram identificados e consertados;

- Foi abolida a chamada ao compilador via linha de comando. --------------------------------------------------------------------VERSO 2.0 (dezembro de 1999) ----------------------------------------------------------------------------------------- O programa responsvel por interpretar as instrues geradas pelo compilador foi embutido no mesmo ambiente do compilador; - O subconjunto da linguagem Pascal implementada no compilador foi largamente expandida. - Foi desenvolvido um ambiente de editorao visual ( em ambiente Delphi ) capaz de se comunicar com o compilador via linha de comando; - Foi criado um arquivo de ajuda contendo a definio sinttica dos tipos, expresses, comandos e estruturas da linguagem Pascal implementada pelo compilador. --------------------------------------------------------------------VERSO 1.0 (dezembro de 1998) ----------------------------------------------------------------------------------------- Foi implementada a primeira verso do compilador, em linguagem C, consistindo de um programa capaz de traduzir um programa fonte em um programa objeto (compilador) e um programa capaz de interpretar e executar programas objetos gerados pelo compilador; #===============================================================# #===============================================================# 4.Subconjunto da linguagem Pascal implementado #===============================================================# O compilador Pascal ZIM! : - Suporta os tipos predefinidos integer, char, boolean, real, string. - Permite a utilizao dos seguintes tipos estruturados: vetor (array), registro (record), enumerao e ponteiro. - Trabalha com constantes inteiras, reais, lgicas e literais; - Reconhece os seguintes operadores: - Aritmticos: +, - , *, /, DIV, MOD - Lgicos: NOT, AND, OR, XOR - Condicionais: =, <>, >, >=, <, <=

- Reconhece os seguintes comandos: - Comandos de atribuio - Comandos de repetio: repeat, while, for .. to, for .. downto - Comandos condicionais: if .. then, if .. then .. else, case - Comandos envolvendo arquivos: open, reset, rewrite, append, close - Comandos para manipulao de ponteiros: new, dispose - Comandos de entrada e sada: read, readln, write, writeln - Outros: gotoxy, textcolor, textbackground, clrscr, readkey, inc, dec, randomize, delay, val, break, continue - Reconhece as seguintes funes: abs arctan chr cos eof eoln exp keypressed length ln odd ord pred random readkey round sin sqr sqrt str succ trunc upcase

- Permite a definio de funes e procedimentos, suportando : - Recursividade - Aninhamento

- Passagem de parmetros por valor e/ou referncia #===============================================================# #===============================================================# 5.Download #===============================================================# Os arquivos necessrios para a instalao do PASCAL ZIM! podem ser obtidos a partir dos seguintes endereos: http://br.geocities.com/pascalzim/index.html http://pascalzim.tripod.com/index.html #===============================================================# #===============================================================# 6.Procedimento de instalao #===============================================================# Aps copiar o arquivo Pzim.zip para o seu disco local (download do arquivo) siga as seguintes instrues: - Utilize o Winzip (ou outro utilitrio capaz de descompactar arquivos zip) para descompactar o arquivo que voc pegou no site. - Execute o programa clicando em Pzim.exe #===============================================================# #===============================================================# 7.Agradecimentos #===============================================================# O desenvolvimento do Pascal ZIM! contou com a colaborao, ajuda e apoio de inmeras pessoas: - Professor Pedro Rezende, do Departamento de Cincia da Computao da Universidade de Braslia, que foi meu orientador na disciplina Tradutores durante minha graduao, e com quem aprendi conceitos fundamentais para o desenvolvimento deste trabalho. - Professora Maria Emlia, do Departamento de Cincia da Computao da Universidade de Braslia, que foi minha orientadora no projeto final de graduao, e que acompanhou todo o processo de implementao e definio da documentao terica necessria para o desenvolvimento da verso 2.0 do compilador. - Meus ex-alunos do curso de Introduo a Cincia

da Computao (turma L) na Universidade de Braslia no primeiro semestre de 2000, que utilizaram o compilador nesse perodo e contriburam de forma significativa para deteco de erros e para o desenvolvimento do compilador. Obrigado, meus grandes beta-testers! - Professor Homero Picollo, do Departamento de Cincia da Computao da Universidade de Braslia, que contribuiu de forma considervel para a descoberta de erros de implementao, sugerindo tambm inmeras sugestes. - Minha esposa, Valquria, que acompanhou todo o desenvolvimento deste trabalho, incentivando-me em cada pequena conquista e descoberta, que trouxe alegria, amor e ternura para meus dias, tornando possvel a concluso de cada nova verso. - Todos os meus alunos do curso de Algoritmos e Programao Estruturada, no Instituto de Educao Superior de Braslia (IESB), que utilizaram o compilador no aprendizado da linguagem Pascal. - Andrei Prygounkov, autor da biblioteca de componentes R&A Library, que contribuiu para o aprimoramento significativo do editor do compilador na verso 4.0. - Aos desenvolvedores do projeto SynEdit, pela ajuda e prestatividade no esclarecimento de dvidas para a incorporao deste poderoso componente nova verso 4.05. - O amigo Alex Sandro Garzo, ex-aluno do curso de Cincia da Computao na Unisinos, que contribuiu com seu conhecimento e experincia no desenvolvimento de novos mdulos do Pascal ZIM!, na verso 4.05. O suporte a ponteiros s foi possvel porque pude contar com sua importante ajuda e dedicao. - A todos os beta-testers, pela importante ajuda na validao e teste das verses beta do compilador, encontrando inmeros bugs e contribuindo com preciosas sugestes. Em especial, fica aqui registrado meu agradecimento a Leonardo Pignataro e Rodrigo Gare Pissarro, pelas importantes contribuies. - A todos os alunos e professores da Universidade de Braslia, do IESB, e tambm a todas as pessoas que utilizaram (e esto utilizando :) ) o compilador para fins educacionais e que, de alguma forma, contribuiram para o desenvolvimento desse trabalho. A todas essas pessoas gostaria de expressar aqui

minha eterna gratido. Esse trabalho no seria possvel sem a significativa contribuio de vocs. Muito obrigado! #===============================================================# #===============================================================# 8.Comentrios, crticas e sugestes #===============================================================# Sua opinio importante! Dvidas, comentrios, sugestes e crticas so bem vindos! Encontrou um bug? Por favor, no deixe de avisar! Envie um email para: pascalzim@yahoo.com.br #===============================================================#

Você também pode gostar