Image of noble porcinePigGen AutoGenerator for PigIron

Copyright (c) 2008, Jack J. Woehr PO Box 51, Golden, Colorado 80402-0051 USA All rights reserved.

PigGen autogenerates Java source code to embody PigIron-specific VSMAPI parameter structures and arrays and VSMAPI function calls for either native VSMAPI functions or for your own custom VSMAPI host-side functions.

VSMAPI is extensible on the Host by Rexx programming. You may wish at sometime to extend PigIron's class library support to support functions you and your team members have coded on the Host. Supporting a new VSMAPI function in PigIron requires Java classes which implement the function and its parameters. PigGen is a macro language which will author these classes for you from an m4-based description file. You do not even have to know Java beyond knowing how to compile everything after PigGen has autogenerated your code.

You have three principal uses for PigGen:
  1. You can extend PigIron as IBM adds new VSMAPI Functions (along with their complement of parameter structures and arrays) without your having to understand PigIron's Java source code intimately.
  2. You can extend PigIron with calls to support your own custom-coded host-side extensions to VSMAPI (since VSMAPI supports custom extension coding).
  3. You can extend PigLet the PigIron Servlet to support your own custom-coded host-side extensions to VSMAPI.
PigGen also generates FIJI source to simplify scripting PigIron via FIJI. FIJI the ForthIsh Java Interpreter can be used to drive or test PigIron. The same description files used to generate PigIron's own Java source code embodying VSMAPI function parameters, structures and functions can be interpreted by PigGen to produce FIJI source to make it easier to employ PigIron in a FIJI program, such as some of the test code accompanying PigIron.

PigGen also generates Java source for proxy classes used by PigLet the PigIron Servlet to interpret JSON strings into PigIron requests and responses. Again, this is from the same description files as those used to generate the other classes.

PigGen is part of The PigIron Project Logo