
10 Jan
2010
10 Jan
'10
2:33 p.m.
Hi, Can anyone explain how to turn the code from infix to Prefix. I want to include a let statement below. I not sure of how prefix works. expr :: Parser Expr expr = buildExpressionParser table factor <?> "expression" table :: [[Operator Char st Expr]] table = [[op "*" Mul AssocLeft, op "/" Div AssocLeft] ,[op "+" Add AssocLeft, op "-" Sub AssocLeft] ] where op s f assoc = Infix (do{ string s; return f}) assoc factor :: Parser Expr factor = do{ char '(' ; x <- expr ; char ')' ; return x } <|> number <?> "simple expression" number :: Parser Expr number = do{ ds <- many1 alphaNum ; return (Val $ read ds) } John