---------------------------< leiame.txt >--------------------------
    Eval Lite 0.6 (C)
    Autor: Sadao Massago (sadao@dm.ufscar.br)
    Utima atualizacao: Dezembro de 2000

    "Eval Lite 0.6" e a versao definitiva da versao anterior "eval lite 0.5 beta", mas podem conter erros, e o autor NAO ASSUME qualquer responsabilidade. A mudanca de versao e devido ao "bug fix" do examp3.c (Obrigado por Aggod Jozsef <Aggod@freemail.hu> pelo seu bug fix). Outros arquivos nao foram modificados. A impelementacao do "eval" em C foi interrompido. Eu estou planejando estas implementacoes em C++ ou Java.
    
    Este programa e freeware. O conjunto dos arquivos pode ser distribuido livremente na sua integra, desde que nao tenha fins lucrativos e respeitem os direitos autorais.

    Codigo fonte dos dois programas listados abaixo e o livro de Niklaus Wirth (Algoritmos e Estrutura de Dados) serviram de base para o desenvolvimento do "eval lite":

    1. C Interpreter (little C): 
      Schildt, Helbert - "building your own C interpreter", Dr. Dobb's Jornal - August/1989.
      Schildt Helbert e o autor de diversos livros de programacao em C.
      Endereco (EUA): RR#1, Box 130, Mabomet, IL61853
      home page do Dr. Dobb's journal: http://www.ddj.com
      Onde conseguir o codigo fonte: na revista Dr. Dobb's Journal August/1989 ou pelo CD-ROM do Dr. Dobb's Journal que pode ser encomendado pelo site http://www.ddj.com.
        
    2. EE - Expression Evaluator (January 1992)
      Categoria: freeware.
      Autor: Mark Morley
      Endereco do autor: 3889 Mildred Street
                Victoria, B.C.  Canada
                V8Z 7G1
                (604) 479-7861
      e-mail: morley@Camosun.BC.CA
      onde conseguir o codigo fonte:
      http://www.simtel.net/pub/simtelnet/msdos/c/c-eval.zip
      tambem podera obter a partir dos mirrors de SIMTEL NET tais como http://ftp.unicamp.br

    O autor esta gratos pelos autores acima por revelarem seus codigo fontes da sua implementacao.
-----------------------------------------------------------------------
    O objetivo desta implementacao e alcancar a velocidade maior que as versoes puramente interpretadas, tais como little C e EE.
Assim, o processo e feito em duas etapas, como sugerido pelo Wirth: 
    - O procedimento parse() transforma a expressao num quase "byte code" (codigo binario) no modo polonesa (pos fixa) para que o eval() possa interpretar o codigo de forma mais rapida.
    - A funcao eval() interpreta o codigo binario e retorna o resultado.
    Uma das implementacoes particulares do aautor e o compartilhamento do variavel (a ser utilizado na expressao) com o variavel interno do C, atraves da funcao RegisterSharedVar().

    Estas implementacoes aumenta consideravelmente a velocidade dos calculos repetidos tais como montagem de tabelas e calculo dos integrais, se for comparadas com as versoes puramente interpretadas. Porem, isto aumentou consideravelmente o tamanho do arquivo (compare com o little C e EE).
-----------------------------------------------------------------------
    Obs.1: A implementacao e comentarios estao em ingles, devido a conveniencia de distribuicao fora do Brasil.

    Obs.2: Este programa nao contem tutorials. Veja os exemplos que acompanham para entender a sua utilizacao.

    Obs.3: as funcoes SetValue()/GetValue() (usado em EE) esta implementado para serem utilizado como ilustracoes. Como os variaveis sao compartilhados com as variaveis internas de C, aconselho o acesso direto ao variavel em vez de utilizar o SetValue()/GetValue(), o que proporciona maior velocidade.

    Obs.4: Estes arquivos foram testado sobre DOS (Turbo C) e UNIX (gcc).
-----------------------------------------------------------------------
  Sadao Massago
  DM/UFSCar - Sao Carlos - SP - Brasil
  http://www.dm.ufscar.br/~sadao
  e-mail: sadao@dm.ufscar.br
-------------------< fim do arquivo: leiame.txt >-------------------