{{fbdoc item="title" value="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)%%

{{fbdoc item="back" value="DevToc|FreeBASIC Developer Information"}}
{{fbdoc item="back" value="DocToc|Table of Contents"}}