The C version of Yazoo, whose source files end in .c, can be extended with user-defined C routines, and embedded into a larger C program. The C++ version of Yazoo, with source files ending in .cpp, is extensible with user-defined C++ routines and embeddable into C++ programs. The two versions are identical beyond the names of their source files.
The procedure for embedding C or C++ functions involves three steps. First, one declares the C/C++ routine in a particular way and writes the code accordingly; this is easy because the Yazoo format is almost identical to that for a stand-alone program. In the second step the author introduces his routine to Yazoo by modifying one of Yazoo's own source files. The final, optional step is to Yazoo-script a wrapper that allocates storage for the C/C++ function and provides it with a smooth interface.
The additional step required to embed Yazoo within a larger C or C++ program is to comment out the definition of YazooMainProgram in userfn.h. The embedding application can then run Yazoo by including yzmain.h and calling run_yazoo(argc, argv). If there is a makefile then that will probably have to be merged with Yazoo's own makefile.
Last update: July 28, 2013