module Main (main) where
import Parser
import Lexer
import Data.Char
main = getContents >>= putStrLn . serialize . Parser.parse . Lexer.lex
type XML = String
serialize :: From -> XML
serialize (From mailboxList) = "" ++ serializeMailboxList mailboxList ++ ""
serializeMailboxList :: MailboxList -> XML
serializeMailboxList [] = ""
serializeMailboxList (x:xs) = serializeMailboxList xs ++ "" ++ serializeMailbox x ++ ""
serializeMailbox :: Mailbox -> XML
serializeMailbox (LongMailbox displayName angleAddress) = serializeDisplayName displayName ++ serializeAngleAddress angleAddress
serializeMailbox (AngleMailbox angleAddress) = serializeAngleAddress angleAddress
serializeMailbox (ShortMailbox addressSpecification) = serializeAddressSpecification addressSpecification
serializeDisplayName :: DisplayName -> XML
serializeDisplayName (DisplayName s) = "" ++ s ++ ""
serializeAngleAddress :: AngleAddress -> XML
serializeAngleAddress (AngleAddress s) = "
" ++ s ++ ""
serializeAddressSpecification :: AddressSpecification -> XML
serializeAddressSpecification (AddressSpecification s) = "" ++ s ++ ""