:: F a k i i r :: v0.4.1 A programmer's tool for code generation in object exposure by Denis "jaromil" Rojo Fakiir helps a programmer to accomply the task of exposing an API with methods and properties, generating code for object introspection to offer access to public functions. If you are a user you are not really interested in this software, but if you are a programmer you might want to read further ;^) By now Fakiir analyzes a C++ header using a Lex&C gramatic parser, then creates a labeled representation of the classes found (including inheritance up to one level) and generates code to operate the classes executing their methods. It also implements introspection for the parsed class. Access methods will be implemented to remote objects thru XML-RPC and OSC protocols, as well to implement their scriptability thru a JavaScript interpreter. Basically Fakiir can help you with the task of writing the long, repetitive and error prone code which is needed for mapping a public API to object brokers. Unlike most brokers it does its work at compile time by reading your headers. This software is in its early development phase, while the following limitations are respected: - parsed headers must be well formed i.e. methods must not be implemented inside the header - argument types supported are only int, float and char* strings - inheritance is supported only up to one level: only parents, no grand-parents, so that a child can't also be a parent Fakiir is being written in C++ employing STL with SGI extensions. The gramatic parser is written in Flex and tokens are analyzed using C, but the adoption of Yacc/Bison is planned for the future. This code is still not very useful (and not yet employed in a real environment by its author), but it will be soon. If you are interested you are very welcome to join development, it might take less effort than writing by hand the code Fakiir is going to generate when it's ready ;^) fakiir-model.cpp/h is the code to be included in an application in order to take advantage of Fakiir, as well the fakiir.cpp generated file. More documentation about its usage is lacking at the moment, but there is a fully functional test application in the test/ directory, have a look there if you are curious enough. Thanks to Supreet aka Djinn for his advices on string handling and for revamping in me the interest in STL, which i'll be exploring further while developing this software. This source code is free software; you can redistribute it and/or modify it under the terms of the GNU Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This source code is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Please refer to the GNU Public License for more details. You should have received a copy of the GNU Public License along with this source code; if not, write to: Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.