Intelib

Una biblioteca de clases de C ++ que le permite hacer la programación de LISP dentro de su programa C ++
Descargar ahora

Intelib Clasificación y resumen

Anuncio publicitario

  • Rating:
  • Licencia:
  • GPL
  • Precio:
  • FREE
  • Nombre del editor:
  • Andrey V. Stolyarov
  • Sitio web del editor:
  • http://www.intelib.org/

Intelib Etiquetas


Intelib Descripción

Una biblioteca de clases de C ++ que le permite hacer la programación de LISP dentro de su programa C ++ Intelib es una biblioteca de clases de C ++ que le permite hacer la programación de LISP dentro de su programa C ++, incluso sin ningún preprocesamiento adicional, sin todas aquellas convenciones de llamadas, etc. Puede escribir un código C ++ (es decir, un código aceptado por su compilador C ++) Pensando en un "modo LISP" y el código que escribe se parecerá al código LISP aunque será puro C ++. Para darle la sensación esencial, se proporciona el siguiente ejemplo. (Desfunar isomorfos (Tree1 Tree2) (Cond árbol1) (Tree Atom2) ((ÁRBLE ATOM2) NIL) (T (y (isomorfo (Tree 1) (Tree de Coche2) (Isomorfo (Tree1) (CDR Tree2))))) SOLO UNA FUNCIÓN LISP, ISN '¿Es? Ahora mire el siguiente código: (L | Defun, Isomorphic, (L | Tree1, Tree2), (L | Cond, (L | Átomo, Tree1), (L | Atom, Tree2)), (L | (L | Atom, Tree2), NIL), (L | T, (L | y (L | isomorfic, (L | Coche, Tree1), (L | Coche, Tree2)), (L | Isomorphic, (l | CDR, TREE1), (L | CDR, árbol2))))) Obviamente, el código es igual, la sintaxis cambió un poco, pero sigue siendo la misma. Bueno, ¿te sorprende si digo que es código C ++? Si no cree, observe lo siguiente: // archivo isomorph.cpp #include "lisp / lisp.hpp" #include "lisp / lsymbol.hpp" #include "lfun_std.hpp" lsymbol isomorphic ("isomorphic") ; estático Lfunctionsymbol Defun ("defun"); estática lfunctionsymbol cond ("cond"); estático Lfunctionsymbol átomo ("átomo"); estática lfunctionsymbol y ("y"); estático lfunctionsymbol coche ("automóvil"); estático Lfunctionsymbol CDR ("CDR"); LlistConstructor L; void lispinit_isomorphic () {estático lsymbol tree1 ("árbol1"); estadístico lsymbol tree2 ("árbol2"); //////////////////////////////////////////////// // (L | Defun, Isomorphic, (L | Tree1, Tree2), (L | Cond, (L | (L | Atom, Tree1), (L | Atom, Tree2), (L | (L | Atom, Tree2) , Nil), (l | t, (l | y, (l | isomorphic, (l | car, árbol1), (l | coche, árbol2)), (l | isomorfic, (l | cdr, árbol1), ( L | cdr, árbol2)))). Evaluar (); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// } // FIN de FILEWELL, este código es un módulo C ++ completo y se compila bastante bien. Sin broma, es real. Por cierto, no intente encontrar ningún uso que salí del macroprocesador. No se han utilizado ninguna macros por Intelib (excepto aquellos para las directivas de compilación condicional). En su lugar, simplemente recuerde que la coma es un operador en C ++ y se puede sobrecargar para los tipos de datos inventados por el usuario. ¿Qué hay de nuevo en este lanzamiento: · La versión incluye una implementación del modelo de cómputo de reforma reelaborado significativamente por Igor Bronshtein (¡Gracias Igor!). · Esta implementación parece ser notablemente más rápida que la anterior.


Intelib Software relacionado

Ecli

ECLI es una envoltura Eiffel alrededor de la interfaz X / Abra ISO / CLI (Interfaz de Nivel de llamada), que define un API a los controladores RDBMS y usa SQL92 ...

149

Descargar

Sirfio

SGE es una biblioteca gráfica para la excelente biblioteca simple de la capa de directoria (SDL) (principalmente) escrita por Sam Lantinga. ...

158

Descargar