[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
34 User Extensions
The extension package system allows the language compiled by Bigloo to be extended and this is achieved by associating an extension file with a suffix. The extension file is loaded at the beginning of a compilation and it can do three things: call extern programs (unix programs); define macros; modify the values of some of the compiler’s variables (for example, the list of the libraries to be linked with). The Bigloo’s initializing procedure is the following:
- If it exists, Bigloo loads the runtime-command file, see Section Compiler description.
- It then parses the command line to find the source file to compile.
- It extracts the source file suffix and looks it up in its
*auto-mode*
variable. - If the suffix is found, the associated file is loaded. This
file could contain a function named
*extend-entry*
which must accept a list as argument. It is invoked with the Bigloo’s unparsed arguments. - The result of the
*extend-entry*
application has to be a regular list of arguments and these are parsed by Bigloo.
For now, two extension packages exist: the Meroon package which is a native version of the Christian Queinnec object language; the Camloo [SerranoWeis94] package which is a front end compiler for the Caml language [Caml-light]
Furthermore, Bigloo supports the -extend
option which forces
the usage of an extension file. When Bigloo encounters this option, it
immediately loads the extension file, invoking the function
*extend-entry*
with the list of arguments which have not
been parsed yet.
The extension files are always sought in the directory containing the Bigloo’s libraries.
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This document was generated on March 31, 2014 using texi2html 5.0.