tools/PascalPreprocessor.hs
changeset 7762 d2fd8040534f
parent 7429 fcf13e40d6b6
child 7957 497ec84e0c21
child 8138 cfb228baa598
equal deleted inserted replaced
7761:6dc1be8ff73e 7762:d2fd8040534f
   119         return ""
   119         return ""
   120     define = do
   120     define = do
   121         try $ string "DEFINE"
   121         try $ string "DEFINE"
   122         spaces
   122         spaces
   123         i <- identifier
   123         i <- identifier
   124         d <- ((string ":=" >> return ())<|> spaces) >> many (noneOf "}")
   124         d <- ((string ":=" >> return ()) <|> spaces) >> many (noneOf "}")
   125         char '}'
   125         char '}'
   126         updateState $ \(m, b) -> (if (and b) && (head i /= '_') then Map.insert i d m else m, b)
   126         updateState $ \(m, b) -> (if (and b) && (head i /= '_') then Map.insert i d m else m, b)
   127         return ""
   127         return ""
   128     replace s = do
   128     replace s = do
   129         (m, _) <- getState
   129         (m, _) <- getState