this is not entirely true:

token : "[WS]+?[WS]+" == conditional if seperater 1
token : "[WS]+:[WS]+" == conditional if seperater 2
token : ":[WS]+" == case/ if ($a == 5): / else: / endif;
token : ":" == namespace stuff...

eg. adding whitespace around the " : " and declaring that a token,
rather than creating a token for the whitespace it, should work??

Regards
Alan


On Sat, 2005-11-26 at 13:56 +0100, Marcus Boerger wrote:
> Hello Sebastian,
> 
> Saturday, November 26, 2005, 1:46:31 PM, you wrote:
> 
> > On 11/26/05, Marcus Boerger <[EMAIL PROTECTED]> wrote:
> >> The only thing that matters is whether i can write a correct
> >> lexer/parser for this without breaking stuff.
> 
> > Im no parser expert at all, so just to be sure that I understand the
> > problem correctly: I guess you can't distinguish at the parser/lexer
> > level between cases where it's ambiguos without white spaces and where
> > it isn't?
> 
> A lexer splits on tokens while white space is optional. If present it
> allows separation of tokens. Forcing this would make whitespace a token
> which would be very bad. The parser then works on the tokens and doesn't
> see any whitespace.
> 
> > Alternatively, could you provide a configuration switch to turn the
> > use of namespace constants in the ternary on or off? (So that people
> > who don't use namespace constants but use the ternary without spaces
> > wouldn't need to change all their code?)
> 
> That is no option at all becuase it would make it impossible to write
> portable php code.
> 
> marcus
> 

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to