It is a common misconception that Pascal compilers speed is mostly due to simple parsing. At least at current CPU speeds (as in 100MHz+). In general even mere lexing is already more CPU bound than parsing.

The real reason is the module system that allows to store interfaces (headers) in binary form. Under C, tons of headers, usually significantly larger in size than the actual sourcecode are included.

Since under most Pascal dialects, preprocessor symbols don't import over compilation unit borders, a unit only needs to recompile if a dependant unit changes.

There is no reason why a precompiled header system for C/C++ couldn't come pretty close to e.g. Delphi in compilation speed, specially when conditional compilation based on symbols that cross header lines are avoided/discouraged

(so no

#define x

when y.h depends on x

Such a system is a lot more work though for a complex language (from a unit importing/exporting view) like C/C++