ryanbloor at hotmail.com
Sun Dec 9 19:24:08 EST 2007
I am writing a basic Parser from scratch. So far I have functions;# removeSpaces# match - which checks if a string is a substring of another# orParser which combines two parser's abilities# Basic pasrers like... parseInt, parseTrue, parseFalse, parseBoolusing the orParser on True and False.What I want to do now is have a parseBinaryOp that recognises:parseBinaryOp "+" "(5 + 2) if" >>>gives>> [(EInt 5, EInt 2, "if")]So I think that I have to split the initial string into four parts."+" becomes op'(' becomes tokenF')' becomes tokenB"5" becomes e1"2" becomes e2parseBinaryOp :: String -> String -> [(Expr, Expr, String)]parseBinaryOp op str = let (tokenF,e1,op,e2,tokenB) =I am not sure how to go about separating the string for how I need itusing my other functiuons. Ryan
Get free emoticon packs and customisation from Windows Live.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Haskell-Cafe