Mercurial > 12ws.info2
view exercises/src/Exercise_11.hs @ 28:e0ae5d8b55d3
there was no solution here.
author | Markus Kaiser <markus.kaiser@in.tum.de> |
---|---|
date | Thu, 10 Jan 2013 14:04:09 +0100 |
parents | a316877ed3d9 |
children |
line wrap: on
line source
module Exercise_11 where import Data.List import Parser import RegEx import Test.QuickCheck {- Library DO NOT CHANGE -} data Html = Text String | Block String [Html] deriving (Eq, Show) data HtmlT = OpenT String | CloseT String | WordT String deriving (Eq, Show) htmlP_ex1 = [WordT "hello", WordT "world"] htmlP_ex2 = [OpenT "sv", WordT "hej", WordT "vaerld", CloseT "sv"] htmlP_ex3 = [OpenT "a", CloseT "a", WordT "b"] htmlP_ex4 = [OpenT "a", WordT "foo", WordT "bar"] htmlP_ex5 = [OpenT "a", OpenT "b", WordT "c", CloseT "b", WordT "d", CloseT "a"] vocabs = ["i", "kyoto", "more", "now", "tokyo", "want", "won"] text1 = ["i", "want", "mroe"] text2 = ["and", "i", "tnaw", "it", "now"] text3 =["tokyo", "toyko", "kyoto"] {- End Library -} {---------------------------------------------------------------------} {- Aufgabe G11.1 -} safeUnscrambleWord :: [String] -> String -> Either (String, [String]) String safeUnscrambleWord vocabs word = undefined safeUnscrambleWords :: [String] -> [String] -> [Either (String, [String]) String] safeUnscrambleWords vocabs words = undefined {- Musterlösung H7.2 -} unscrambleWord :: [String] -> String -> String unscrambleWord vocabs word | word `elem` vocabs = word | otherwise = case find (\vocab -> sort vocab == sort word) vocabs of Nothing -> word Just vocab -> vocab unscrambleWords :: [String] -> [String] -> [String] unscrambleWords = map . unscrambleWord {---------------------------------------------------------------------} {- Aufgabe G11.2, G11.3 -} -- siehe FormParser3.hs {---------------------------------------------------------------------} {- Aufgabe H11.1 -} nat :: Parser Char Int nat = undefined int :: Parser Char Int int = undefined double :: Parser Char Double double = undefined {---------------------------------------------------------------------} {- Aufgabe H11.2 -} htmlS :: Parser Char [HtmlT] htmlS = undefined infixr 5 ***= (***=) :: Parser a b -> (b -> Parser a c) -> Parser a (b,c) _ ***= _ = undefined htmlP :: Parser HtmlT Html htmlP = undefined {---------------------------------------------------------------------} {- Aufgabe H11.3 -} {-WETT-} regEx :: Parser Char RegEx regEx = undefined {-TTEW-}