I think it is more accurate to say that the compiler source exhibits various coding styles (plural). Unless by "style" you mean something considerably broader than what the term is generally understood to mean.
You can't force volunteers to write according to a particular narrow style definition. You have the sanction of rejecting contributions. But that is short-sighted if the quality of the code is very high and it is designed to be easy to maintain, but fails to adhere to a preferred style convention.
In a commercial environment, of course, the project leader has other levers s/he can apply to get employees to conform.
At some levels coding is an art as much as it is a science or a mechanical application of technique.
That there are multiple styles right now in the compiler's sources is for historic reasons. We have a style in the compiler that we're gearing towards and we
do reject contributions that do not adhere to this (especially if they are bigger contributions, single line patches are a different topic). The link provided by
valdir.marcos lists some part of the style, though it is a work in progress to document it.
Spaces
Don't use spaces around operators, colons, parentheses etc.
{ correct }
p:=p+i;
{ incorrect }
p := p + i ;
I really don't like it if all code is written without spaces. It reads terrible.
It does not matter what you like or not (I personally don't like that the
begin is on a separate line for example), but when you're working on a shared project (no matter if Open Source or in a company) you adhere to the guide lines of that project. When in Rome, do as the Romans do...