Quick overview of the call graph

Showing the recursion between the FB parser, the PP parser, and the lexer:
+------------------> lexGetLookAhead() --------+ | | | v (begin) (FB parsing) (PP parsing) (lexing) fbCompile() -> cProgram() ------------> lexSkipToken() -> lexNextToken() | ^ | | ^ | ^ v | | v | v | fbPreIncludes() | |('$include) ppCheck() | ppDefineLoad() | | | | | (macro expansion) v | v v | fbIncludeFile() <-------------- ppParse() (#include) (directives)