wiki:Doc/compiler

Version 9 (modified by /C=FR/O=CNRS/OU=UMR8607/CN=Charles Loomis/emailAddress=loomis@…, 13 years ago) (diff)

--

Pan Language & Compiler

The pan "compiler" interprets machine configurations written in the pan configuration language and produces "machine profiles" that describe each machine's configuration. "Compiler" is actually a misnomer because the actual compilation of pan source files or "templates" is a small part of the work. The compiler runs through five stages to produce a machine profile: compilation of pan templates, execution of those templates, insertion of default values, validation of configuration information, and finally serialization of the machine profile.

Documentation

Documentation for the pan compiler and pan language are distributed with each version of the pan compiler:

  • Pan Language Manual: Detailed description of pan language syntax and functions.
  • Pan Compiler Manual: Detailed information about compiler options.
  • Pan Tutorial: A tutorial designed to explain the major features of the pan language.

PDF versions of those manuals can be downloaded from the panc section of the Quattor SourceForge repository. The installation packages also contain HTML versions of the documentation.

The pan language continues to evolve. It is strongly recommended to consult the version of the Pan Language Manual that corresponds to the exact version of the compiler you are using.

See the Pan Compiler Manual for installation instructions.

Sources

The source for the pan compiler is managed through a subversion repository. The mainline development ("trunk") can be checked out with a subversion client with the command:

svn checkout https://quattor.svn.sourceforge.net/svnroot/quattor/trunk/pan

Specific versions of the compiler can be checked out from the tags area:

https://quattor.svn.sourceforge.net/svnroot/quattor/tags/pan-8.4.6

where the tags correspond to the version of the compiler. The code can be browsed through the ViewVC interface at SourceForge.

The code can be built and packaged with maven. Issue the command:

mvn install

from the top-level directory to package the compiler and install in your local maven cache. To build the RPM, you must be on a machine with rpmbuild installed.