= Pan Language & Compiler = [[TracNav]] 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 [https://sourceforge.net/project/showfiles.php?group_id=221766&package_id=286489 panc section] of the [https://sourceforge.net/project/showfiles.php?group_id=221766 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 [http://subversion.tigris.org/ 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 [http://quattor.svn.sourceforge.net/viewvc/quattor/ ViewVC interface at SourceForge]. The code can be built and packaged with [http://maven.apache.org/ 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.