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)