tools/pas2c/PascalPreprocessor.hs
changeset 10240 bfae7354d42f
parent 10120 b7f632c12784
child 15958 24545642473f
--- a/tools/pas2c/PascalPreprocessor.hs	Wed May 07 22:47:54 2014 +0200
+++ b/tools/pas2c/PascalPreprocessor.hs	Fri May 09 22:36:15 2014 +0400
@@ -92,13 +92,12 @@
         s <- try (string "IFDEF") <|> try (string "IFNDEF")
         let f = if s == "IFNDEF" then not else id
 
-        spaces
-        d <- identifier
+        ds <- (spaces >> identifier) `sepBy` (spaces >> string "OR")
         spaces
         char' '}'
 
         updateState $ \(m, b) ->
-            (m, (f $ d `Map.member` m) : b)
+            (m, (f $ any (flip Map.member m) ds) : b)
 
         return ""