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 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
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