Integrating logic and object-oriented programming

Method representation in most object-oriented programing languages is too procedural and less declarative and expressive. Logic programming with declarative semantics can contribute a lot to the expressiveness of representing methods. Therefore, it is very desirable to combine logic programming and object-oriented programming to get the advantages of both. LogiC++ that integrates logic and object-oriented programming is designed primarily based on C++. However, methods in a LogiC++ program can be represented by Prolog Horn clauses. In this paper, we describe a compiler that takes a LogiC++ program as input and produces an equivalent C++ program as the output. The C++ program can then be compiled by a C++ compiler.