On 6 Feb 2012, at 15:47, Tom MacWright wrote:

> > it makes parsing the language significantly harder
> 
> Could you be more specific there? I don't see much of a difference. In fact, 
> [ and ] are almost direct stand-ins for tag(' and ').

Previously, one could parse the MapCSS, using a rule along the lines of:
evalSpecifier ::= 'eval' '(' 'String' ')';
you could then take the string, and run a seperate parser over it, allowing the 
behaviour of MapCSS and the behaviour of eval to be 100% independent, you did 
not need to worry about tokenising eval constructs while dealing with MapCSS, 
instead just a string; etc.

Finally, I found that ambiguity that I suspected existed:
way[highway]
{
    width: casing-width;
}

Is this text is set to the value of casing-width, or is it set to the value of 
casing minus the value of width?  The fact that - and + are admissable in 
identifiers makes this ambiguous.

Personally, even if it weren't ambiguous, I would consider the eval('...') 
solution much cleaner anyway.


_______________________________________________
Mapcss mailing list
[email protected]
http://lists.openstreetmap.org/listinfo/mapcss

Reply via email to