NASA Logo

NTRS

NTRS - NASA Technical Reports Server

Back to Results
CLIPS++: Embedding CLIPS into C++This paper describes a set of C++ extensions to the CLIPS language and their embodiment in CLIPS++. These extensions and the implementation approach of CLIPS++ provide a new level of embeddability with C and C++. These extensions are a C++ include statement and a defcontainer construct; (include (c++-header-file.h)) and (defcontainer (c++-type)). The include construct allows C++ functions to be embedded in both the LHS and RHS of CLIPS rules. The header file in an include construct is the same header file the programmer uses for his/her own C++ code, independent of CLIPS. The defcontainer construct allows the inference engine to treat C++ class instances as CLIPS deftemplate facts. Consequently existing C++ class libraries may be transparently imported into CLIPS. These C++ types may use advanced features like inheritance, virtual functions, and templates. The implementation has been tested with several class libraries, including Rogue Wave Software's Tools.h++, GNU's libg++, and USL's C++ Standard Components. The execution speed of CLIPS++ has been determined to be 5 to 700 times the execution speed of CLIPS 6.0 (10 to 20X typical).
Document ID
19950013214
Acquisition Source
Legacy CDMS
Document Type
Conference Paper
Authors
Obermeyer, Lance
(Texas Univ. Austin, TX, United States)
Miranker, Daniel P.
(Texas Univ. Austin, TX, United States)
Date Acquired
September 6, 2013
Publication Date
November 1, 1994
Publication Information
Publication: NASA. Lyndon B. Johnson Space Center, Third CLIPS Conference Proceedings, Volume 1
Subject Category
Computer Programming And Software
Accession Number
95N19630
Funding Number(s)
CONTRACT_GRANT: DABT63-92-0042
Distribution Limits
Public
Copyright
Work of the US Gov. Public Use Permitted.
No Preview Available