Zum Inhalt springen

Benutzer:Dirk Huenniger/haskell2

Aus Wikibooks

import Text.ParserCombinators.Parsec

attr::Parser String
attr=do { 
      many1 (oneOf " \n");
      many1 (alphaNum) 
}

start::Parser String
start= do { dh<- many(attr);
              many (oneOf " \n");                                    
              return (concat dh)}

main = do {
	 run start " abc "}


run ::  Parser String -> String -> IO ()
run p input
        = case (parse p "" input) of
            Left err -> do{ putStr "parse error at "
                          ; print err
                          }
            Right x  -> do {
                     putStrLn (show  x);
                }