logo separator

[mkgmap-dev] style compiler bug

From Mike Baggaley mike at tvage.co.uk on Tue Mar 8 20:37:07 GMT 2016

Hi Gerd/Steve,
I seem to have come across an anomaly in the style compiler (or I am doing
something silly).

The following line does not compile:

((highway=* & motorroad=yes) | highway=motorway | highway=motorway_link) &
foot!=yes & foot!=designated & foot!=permissive { add mkgmap:foot=no }

But this variant compiles:

(highway=motorway | highway=motorway_link | (highway=* & motorroad=yes)) &
foot!=yes & foot!=designated & foot!=permissive { add mkgmap:foot=no }

And so does this one:

((highway=* & motorroad=yes) | highway=motorway | highway=motorway_link) &
(foot=yes | foot=designated | foot=permissive)

This is the error message:
  Error in style: Error: (inc/access:6): Invalid rule expression:
((($highway=*&($motorroad='yes'))|(($highway='motorway')|($highway='motorway
_link')))&($foot!=yes&($foot!=designated&$foot!=permissive)))

Changing the != operators to = allows it to compile, so most likely a
mishandling of the ! operator.
Any ideas what is wrong?
Mike



More information about the mkgmap-dev mailing list