[fpc-devel] OO rewrite - globals

Florian Klaempfl florian at freepascal.org
Tue Jul 27 11:27:24 CEST 2010

Am 26.07.2010 12:32, schrieb Hans-Peter Diettrich:
> Florian Klaempfl schrieb:
>>> When a parser is designed to work with exactly one scanner, why should
>>> it not inherit from it? 
>> Well, with the same argument one could stuff all code in one source file
>> and don't separate anything in units.
> Encapsulation requires some separation.

Yes, see below ;)

>> Having parser and scanner separated might also enable more fine grained
>> multi threading later one: the scanner creates fills a token queue which
>> is read by the parser later on, I know this won't be easy because FPC's
>> scanner is parser context sensitive.
> At least the scanner "context" is used in many places in other code. A
> hypothetical token stream had to include the full scanner context, i.e.
> file/offset/line/column information, as well as current_settings, for
> *every single* token. Not very practical :-(

The current_settings can be reused using ref. counting.

>> I simply don't like the idea of having one big parser class blob spread
>> over multiple include files.
> I don't like it as well :-(

But what is the reason against a

More information about the fpc-devel mailing list