During my experiments with FPC, I had to to exactly that - support two lookahead symbols - to implement (in)famous semicolon before 'else'. One of problems I had was combination of macros and include files with two lookahead symbols - I "fixed" it in a dirty way, but I'm not completely sure that solution covered all possible situations.
Just think of include directive which includes file in which there is macro which expands to 'deprecated'. That wouldn't be that easy with two lookahead symbols, because you would have to keep lots of data about both symbols (they could be in two different files, for example). Now, just think of refactoring in FPC on such low level - doesn't smell good at all :-) I would rather stick to on lookahead symbol even if that means "inconsistent" (subject to this discussion) syntax. On Thu, Apr 29, 2010 at 14:55, Graeme Geldenhuys <graemeg.li...@gmail.com> wrote: > On 29 April 2010 14:51, Florian Klaempfl <flor...@freepascal.org> wrote: >> >> Having a bigger lookahead makes a lot more things far more complex >> epecially in combination with include files, macros, generics. > > Why? You only apply the extra lookaheads where needed (code that > could be ambiguous). All other parts of the code will be parsed as > normal - as it is done now. > > So far I know of only two examples where extra lookaheads need to be used. > * wiki example where 'default' is used > * my example to fix the inconsistent syntax for hint directives (deprecated). > > -- > Regards, > - Graeme - > > > _______________________________________________ > fpGUI - a cross-platform Free Pascal GUI toolkit > http://opensoft.homeip.net/fpgui/ > _______________________________________________ > fpc-pascal maillist - fpc-pas...@lists.freepascal.org > http://lists.freepascal.org/mailman/listinfo/fpc-pascal > -- Aleksa Todorovic - Lead Programmer Eipix Entertainment www eipix com _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal