Alô Zé

On Fri, 19 Jun 2009 10:48:14 -0300 Mario Domenech Goulart 
<[email protected]> wrote:

> On Fri, 19 Jun 2009 10:35:24 -0300 padovani <[email protected]> wrote:
>
>> queria saber se vocês tem alguma idéia de como incluir um
>> interpretador scheme (ou, preferivelmente, common lisp) em um código
>> em C ou C++?  gostaria de poder mandar strings com o código a ser
>> interpretado, sendo que as strings seriam dadas pelo usuário...
>
> A documentação para fazer isso com Chicken Scheme está em
> http://chicken.wiki.br/man/4/Embedding
>
> Uma vez cheguei a começar a embutir o interpretador de Chicken no editor
> de textos zile (http://www.gnu.org/software/zile/) para que ele
> avaliasse expressões Scheme.  Não me pergunte como, não lembro.  Mas
> ainda tenho o código e lembro que consegui fazer um M-x chicken-eval no
> editor. :-)

Coloquei o código do Zile com Chicken embutido em
http://paginas.ucpel.tche.br/~mario/misc/zile-2.2.21.tar.bz2

Na realidade, o que funciona é o M-x chicken-eval-region.  Ou seja,
podes digitar código em Scheme em um buffer, selecionar a região com o
código e executar M-x chicken-eval-region. O resultado será impresso na
echo area do zile.

A implementação está nos arquivos src/main.c e src/funcs.c 
("grep -ri chicken *" deve dar mais pistas).

Para compilar, precisarás do chicken.h e da libchicken.so.  O script
configure procurará esses arquivos a partir de /usr/local/chicken-4.0.0
(podes modificar esse caminho no script configure).  Se instalares
Chicken 4.0.0 com

  $ make PREFIX=/usr/local/chicken-4.0.0

deve funcionar (ou colocar o caminho de instalação de Chicken no script
configure).

Aí, basta executar

  $ ./configure
  $ make
  $ ./src/zile

e testar.

Fiz isso só como teste, portanto, não espere nada de muito espetacular
nem bug-free. :-)

Um abraço.
Mario

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Lisp-br" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/lisp-br?hl=en
-~----------~----~----~----~------~----~------~--~---

Responder a