Intelib

Eine Bibliothek von C ++ - Klassen, mit der Sie die LISP-Programmierung in Ihrem C ++ - Programm erstellen können
Jetzt downloaden

Intelib Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • GPL
  • Preis:
  • FREE
  • Name des Herausgebers:
  • Andrey V. Stolyarov
  • Website des Verlags:
  • http://www.intelib.org/

Intelib Stichworte


Intelib Beschreibung

Eine Bibliothek von C ++ - Klassen, mit der Sie die Lisp-Programmierung in Ihrem C ++ - Programm erstellen können Intelib ist eine Bibliothek von C ++ - Klassen, mit der Sie die Lisp-Programmierung innerhalb Ihres C ++ - Programms auch ohne zusätzliche Vorverarbeitungsvorgänge programmieren können, ohne alle aufrufenden Konventionen usw., die einen C ++ - Code (dh einen Code, der von Ihrem C ++ - Compiler akzeptiert wird, schreiben kann. Denken Sie in einem "Lisp-Modus" und dem von Ihnen schreienden Code, den Sie schreiben, ähneln den LiSP-Code, dass es rein C ++ ist. Um Ihnen das wesentliche Gefühl zu geben, ist das folgende Beispiel bereitgestellt. (Defun isomorph (Tree1 Tree2) (Cond Tree1) (Atomstree2)) ((Atomstaum) null) (t (und (isomorph (Auto Tree1) (Auto Tree2)) (isomorph (CDR Tree1) (CDR Tree2))))) Nur eine Lisp-Funktion, isn 't es? Jetzt den folgenden Code ansehen: (l | Defun, isomorph, (l | tree1, tree2), (l | cond, (l | (l | Atom, Tree), (l | Atom, Tree2)), (l | (L | Atom, Tree2), Null), (l | t, (l | und, (l | isomorph, (l | auto, tree1), (l | auto, tree2)), (l | isomorph, (l | CDR, Tree1), (L | CDR, Tree2))))))))))) Natürlich ist der Code offensichtlich genauso, die Syntax hat sich ein wenig geändert, aber es ist immer noch dasselbe. Nun, ich überrasche, wenn ich sage, dass es C ++ - Code ist? Wenn Sie nicht glauben, betrachten Sie Folgendes: // Datei isomorph.cpp #include "lisp / lissp.hpp" #include "lisp / lsymbol.hpp" #include "lfun_stdd.hpp" lsymbol isomorph ("isomorph") ; statische lfunctionalsymbol defun ("Defun"); statisches lfunctionaltalymbol cond ("cond"); statische LfunctionaltalSymbol Atom ("Atom"); statisches Lfunctionaltalymbol Auto ("Auto"); statisches LfunctionSymbol cdr ("cdr"); Llistconstructor l; void lispinit_isomorphic () {static lsymbol tree1 ("tree1"); statische LSymbol Tree2 ("Tree2"); ////////////////////////////////////////////////////// (L | Defun, isomorph, (l | tree1, tree2), (l | cond, (l | (l | Atom, Tree), (L | Atom, Tree2)), (L | (L | Atom, Tree2) , Null), (l | t, (l | und, (l | isomorph, (l | auto, tree1), (l | auto, tree2)), (l | isomorph, (l | cdr, tree1), ( L | cdr, tree2)))))). Bewertung (); /////T////////////////////////////////////////////////////////////////////////// } // Ende von FileWell, dieser Code ist ein komplettes C ++ - Modul und kompiliert ziemlich gut. Kein Witz, es ist echt. Nach dem Weg, versuchen Sie nicht, jeden Gebrauch zu finden, den ich aus dem Makroprozessor gemacht habe. Es wurden noch keine Makros von Intelib verwendet (außer denen für bedingte Kompilierungsrichtlinien). Stattdessen erinnern Sie sich einfach, dass Komma ein Bediener in C ++ ist und für benutzerige Datentypen überlastet werden kann. Was ist neu in dieser Version: · Die Version beinhaltet eine Implementierung des Rechenberechnungsmodells, das von Igor Bronhtein erheblich überarbeitet wurde (danke Igor!). · Diese Implementierung scheint vor allem schneller als der zuvor vorhandene zu sein.


Intelib Zugehörige Software

Japar

JAVA ist eine Java-API, die so konzipiert wurde, dass sie die API der Sun-API mit verschiedenen Funktionen ausdehnt. ...

165

Herunterladen

Libphish

libphish ist eine plattformübergreifende Bibliothek, um mit der offenen Phishing-Datenbank zu interagieren. ...

141

Herunterladen

Smalloc

SMALOC (Static Memory Puffer Malloc) ist ein idealer Speichermanager für Echtzeit-Linux-Kernel-Module. ...

218

Herunterladen