Information for hacking on FreeBASIC

This area of the Wiki is for documenting everything about the compiler and 
the runtime libraries. It is, however, incomplete. If you find that 
information provided here does not match what the source is doing then 
please update the relevant pages here. New pages and articles may be added 
freely, provided they help understanding what's going on inside FB.

Developing FreeBASIC Itself

   Compiling a Development Version of FreeBASIC
      Getting the source code
      Compiling FB for DOS
      Compiling FB on Linux
      Compiling FB on Windows
      Compiling FB with Emscripten
      Getting source code updates and recompiling FB
      Debugging FB
      FB build configuration options
      Known problems when compiling FB
      GCC toolchain choice

   Running the FreeBASIC test suite
   Normal vs. Standalone
   Glossary
   Notes on the creation of FB releases
   FB and cross-compiling
   Bootstrapping/cross-compiling fbc

   Creating FB bindings for C libraries
   C Header Translation Tutorial
   Header Style Guidelines
   External Libraries Index (header status)

Compiler internals

   Quick overview of all modules
   The objinfo feature
   Memory management
   Lexer & preprocessor

   Parser & compiler (fb, parser, symb, rtl)
      Purpose
      Top level parsing process
      Symbols
      Representation of data types

   Arrays
   SELECT CASE
   Profiling FB programs
   Structure packing/field alignment

Run-time (rtlib) and Graphics (gfxlib2) Libraries

   Keyboard input: inkey(), multikey(), etc.
   Overview of drivers (backends)
   Pixel formats

