title: Tools to build a DSL in .NET
body: <p>I'm getting teased more and more into developing DSLs. I've developed a tiny one with F# using fslex and fsyacc but the error messages are inaccurate (I also can't find a way to generate better ones, there seems to be little documentation on how to handle error cases) and the fact that they won't parse UNICODE strings adequately is not acceptable to me.
  Long story short, I'm looking for tools making it pretty simple to develop a DSL (the Visual Studio tools for that are really nothing like what I'm after) and I'm most interested in the parsing/AST generation part. I've looked at ANTLR and mixing up code and grammar definition meta-language looks bad to me, so please don't mention it or solutions suffering from a similar issue in the answers. Also, I've seen there's some stuff for a language named Boo but I'm really not interested in messing with yet another language (especially if it has little support) right now, so that doesn't fit either. Any other suggestion is appreciated, as long as it's decently documented, works fine with .NET and last but not least doesn't involve the use of a dynamically typed language or use of the DLR.</p>