Mercurial > 12ws.info2
view exercises/src/AdditionParser.hs @ 29:53732b9605c7
add AdditionParser
author | Markus Kaiser <markus.kaiser@in.tum.de> |
---|---|
date | Fri, 11 Jan 2013 00:49:48 +0100 |
parents | |
children |
line wrap: on
line source
module AdditionParser where import Data.Char import Parser digit :: Parser Char Char digit = one isDigit number :: Parser Char String number = list1(one isDigit) addition :: Parser Char [String] addition = number *** optional (item '+' *** addition >>> snd) >>> ints where ints (x, Just y) = x : y ints (x, _) = [x] test = addition "2134+123+1+2+3"