<div>Hi,</div>
<div> 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.</div>
<div> </div>
<div>expr :: Parser Expr<br>expr = buildExpressionParser table factor<br> <?> "expression"</div>
<div>table :: [[Operator Char st Expr]]<br>table = [[op "*" Mul AssocLeft, op "/" Div AssocLeft]<br> ,[op "+" Add AssocLeft, op "-" Sub AssocLeft]<br> ]<br> where<br> op s f assoc<br>
= Infix (do{ string s; return f}) assoc</div>
<div>factor :: Parser Expr<br>factor = do{ char '('<br> ; x <- expr<br> ; char ')'<br> ; return x<br> }<br> <|> number<br> <?> "simple expression"</div>
<div>number :: Parser Expr<br>number = do{ ds <- many1 alphaNum<br> ; return (Val $ read ds)<br> }<br> </div>
<div>John</div>