OpenC++ is a software tool to parse and analyze C plus plus source code. It uses a metaobject protocol (MOP) to provide services for language extensions.
The following tools provide similar capabilities:
*CLOS
*DMS Software Reengineering Toolkit
*introspector (program)
*Flexible object generator language
*ObjVlisp
*OpenJava
*Python programming language
*Smalltalk programming language
*Synopsis
*XOTcl
=Application areas=
*Static code analysis
*Parsing
*Compiler
*Translation
*Code generation
*Precompiler
*Preprocessor
*Persistence
*Object database
*Object serialization
*Interface repository
*Source formatter
*Code beautifier
*Obfuscator
*Test coverage
*Profiler
*Metaprogramming (programming)
*Reflective programming
=See also=
*Anibus
*Intrigue
*Pointer swizzling
*Classdesc
*Metaclass
*Meta-information protocol
*CppReflection
*Reflection
*Introspection
*Dynamism
*Transparency
*DyReCT
*Runtime Type Information
*EDG
*GNU Compiler Collection
*LLVM
*PCCTS
*TenDRA
*ANTLR
*Loki (C Plus Plus)
*SWIG
*CppFrontEnd
*Typelist
*Artefaktur (AAL)
*Abstract syntax tree (AST)
*Language syntax tree (LST)
*Semantic resolution tree (RST)
*Interpretation syntax tree (IST)
*Code generation syntax tree (CST)
*Symbol table
=External links=
*[
http://opencxx.sourceforge.net/ OpenC++ Homepage]
*[
http://www.semanticdesigns.com/Products/FrontEnds/CppFrontEnd C++ Front End and Transformation Tools]
[http://citeseer.ist.psu.edu/chiba95metaobject.html A Metaobject Protocol for C++] by Shigeru Chiba
[http://citeseer.ist.psu.edu/jautzy97metalevel.html A metalevel architecture for dynamism and reflection in C++] by O. Jautzy and F. Lebastard
*[
http://vollmann.com/en/pubs/meta/index.html Meta object protocol in C++], Article [
http://vollmann.com/en/pubs/meta/meta/meta.html Metaclasses and Reflection in C++] by Detlef Vollmann
[http://parallel.hpc.unsw.edu.au/rks/docs/classdesc/ A system for reflection in C++] by Duraid Madina and Russell K. Standish
[http://cuj.com/documents/s=7986/cujcexp2002alexandr/alexandr.htm Generic: Typelists and Applications] by Andrei Alexandrescu
*[
http://garret.ru/~knizhnik/cppreflection/docs/reflect.html Reflection Package for C++] by Konstantin Knizhnik
*Discussions in the group [news:comp.lang.c++].*:
**[
http://groups.google.de/groupsthreadm=380BF4DF.7059B160%40my-deja.com C++ parser front end]
**[
http://groups.google.de/groupsthreadm=x1wv7xyou2.fsf%40gravy.sitera.com Bjarne Stroustrup launches C++0x ]
**[
http://groups.google.de/groupsthreadm=de001473.0209181637.7191ef2f%40posting.google.com C++ Reflection]
**[
http://groups.google.de/groupsthreadm=e45a1027.0210060112.60a322e4%40posting.google.com Reflections in C++]
**[
http://groups.google.de/groupsthreadm=Xns94B268D7EA5D9manzanitaman%40130.133.1.4 Introspection in C++]
*Article [
http://www.nobugs.org/developer/parsingcpp/ Parsing C++] by Andrew Birkett