
Hi
don't know if this helps: I see one possible implementation for a conditional rule like if (<exp>) { some rules } else { other rules } where <exp> would be something like tag=val, maybe also a parameter given to the program. If someone knows how to implement the syntax parser for such an if-thent-else clause the evaluation could simply
It would be easier for the parser without curly braces: if (<exp) some rules else other rules endif I could make that work. ..Steve
translate the if (<exp>) to a rule like exp {set special_var_x=true;} and then add this special tag with tag=true or tag!=true to each conditional rule. So, we would not need many changes in the evaluation of the rules, only in the parser.
Gerd
________________________________________ Von: mkgmap-dev <mkgmap-dev-bounces@lists.mkgmap.org.uk> im Auftrag von Mike Baggaley <mike@tvage.co.uk> Gesendet: Dienstag, 7. Februar 2017 18:22:32 An: mkgmap-dev@lists.mkgmap.org.uk Betreff: Re: [mkgmap-dev] To do: If-Then-Else
Hi Andrzej, can you not make use of mkgmap:country to handle this scenario?
mkgmap:country=DZA | mkgmap:country=AGO | mkgmap:country=SHN | mkgmap:country=BEN ... {set continent=AF}
continent=AF & landuse=farmland [0x10f01 level 1]
Would mkgmap be better with a mkgmap:continent variable using place=continent added?
Regards, Mike
-----Original Message----- From: Andrzej Popowski [mailto:popej@poczta.onet.pl] Sent: 07 February 2017 12:39 To: mkgmap-dev@lists.mkgmap.org.uk Subject: Re: [mkgmap-dev] To do: If-Then-Else
Hi Dave,
I think the idea is to include some preprocessing capability to style interpreter.
I develop a single style for my topo maps, but I need some possibility to get a small variation in style depending on region. For example I prefer to show landuse=farmland on a map of Africa but to remove it on a map of Europe. So instead of maintaining 2 nearly identical styles, I would like to get a conditional statement, something like:
if (SHOW_FARMS) ( landuse=farmland [0x10f01 level 1] )
and then add (or not) an option to mkgmap like --style-define=SHOW_FARMS
-- Best regards, Andrzej
_______________________________________________ mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev _______________________________________________ mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev