Is there any good tutorial for writing a parser for a given grammar in Haskell from scratch?
I found:
parsing expressions and statements (HaskellWiki)
I really liked Graham Hutton's "Programming in Haskell". It gives a gentle introduction to monads and parser combinators. The eighth chapter builds a basic parser library.
Here is the link to Programming in Haskell book site. You will also find link to the parser library and basic expression parser.
Further, if you are interested, you can also look at uu-parsinglib applicative style parser combinators developed at Utrecht University.