{{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"}}