[fpc-devel] circular uses clauses
    Daniël Mantione 
    daniel.mantione at freepascal.org
       
    Fri Oct  3 08:57:49 CEST 2008
    
    
  
Op Fri, 3 Oct 2008, schreef Graeme Geldenhuys:
> On Fri, Oct 3, 2008 at 2:31 AM, Joao Morais <post at joaomorais.com.br> wrote:
>>
>> Because a Pascal compiler parses the interface section of an unit only once,
>
> That would make sense. And probably the reason why FPC and Delphi are
> such fast compilers compared to C compilers.
Yes, the interface contains all information the compiler needs to call a 
procedure. Once this is known the compiler can call procedures in a unit 
without having compiled the implementation yet. This is why 
implementations can use each other (a procedure call to a not yet compiled 
unit is no problem), but interfaces cannot (a reference to a type in a not 
yet compiled interface is problematic, because it affects how procedures 
are called).
Daniël
    
    
More information about the fpc-devel
mailing list