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