§1. The task of the Inform 7 compiler is to take natural-language source text and "transpile" it down to lower-level, more orthodox code which another compiler can take the rest of the way. Usually, but not necessarily, that other compiler is the typeless but otherwise C-like Inform 6 (1996-2003).

Inform offers three compiler tools: inbuild, inform7 and inter. These represent the front end (build control, resource management), the middle part (actual compilation), and the back end (code generation, assimilation of kits), but really they are three points of access to the same code base. See Manual (in inbuild), Manual (in inform7), Manual (in inter) and Reference Card (in inbuild), Reference Card (in inform7), Reference Card (in inter).

Each tool has its own CLI (or "command-line interface") but is otherwise divided up into "modules", many shared between two or even all three tools.

        INBUILD                  INFORM7                   INTER
    +-------------+          +-------------+          +-------------+
    |   inbuild   |          |   inform7   |          |    inter    |
    |    (cli)    |          |    (cli)    |          |    (cli)    |
    +-------------+          +-------------+          +-------------+
+----------------------------------------------+      .             .
|  supervisor-module                           |      .             .
+----------------------------------------------+      .             .
    .             .      +---------------------+      .             .
    .             .      | BASIC INFORM        |      .             .
    .             .      |     core-module     |      .             .
    .             .      |  assertions-module  |      .             .
    .             .      |    values-module    |      .             .
    .             .      |   knowledge-module  |      .             .
    .             .      |  imperative-module  |      .             .
    .             .      |    runtime-module   |      .             .
    .             .      |    index-module     |      .             .
    .             .      +---------------------+      .             .
    .             .      | EXTRAS              |      .             .
    .             .      |      if-module      |      .             .
    .             .      |  multimedia-module  |      .             .
    .             .      +---------------------+      .             .
    .             .      +----------------------------------------------+
    .             .      |                            bytecode-module   |
    .             .      |                            building-module   |
    .             .      |                            codegen-module    |
    .             .      +----------------------------------------------+
+-----------------------------------------------------------------------+
|  SERVICES              shared linguistics-module                      |
|                         shared calculus-module                        |
|                          shared kinds-module                          |
|                         shared lexicon-module                         |
|                        shared inflections-module                      |
|                         shared problems-module                        |
|                          shared syntax-module                         |
|                          shared words-module                          |
|                           shared arch-module                          |
|                           shared html-module                          |
+-----------------------------------------------------------------------+
+-----------------------------------------------------------------------+
|  FOUNDATION      foundation-module (in inweb repository)              |
|                   (Posix or Windows-related functions)                |
|                           (standard C library)                        |
+-----------------------------------------------------------------------+

The three tools each use a "services" library, made up of a variety of modules providing services useful for natural language-based programs (though only inform7 needs them all). At one time this was going to be called "Second Foundation" or possibly "Foundation and Empire", because there is also foundation underneath, a library of utility functions provided by inweb.

§2. That's a lot: for code-spelunkers, this is a veritable limestone hillside of points of entry. Where to begin? Here are some suggested entrances: