tags:

views:

352

answers:

5

Hey guys,

I want to write a simple DSL in C#. Nothing too complicated. I'm looking for the .NET equivalent of Lex & Yacc. The easiest one I've found so far is GOLD Parser builder. The other choice is to use the lex & yacc available with F#, but I'm not keen to program in F# right now.

If you have any suggestions for the .NET version of Lex or Yacc, I'd love to hear them!

Thanks!

+1  A: 

How much F# programming do you need to do to take advantage of the Lex & Yacc? Can you throw what you need into an F# dll, and reference it from a C# project?

Robert Harvey
+3  A: 

ANTLR 3 has a C# target.

Matthew Flaschen
+7  A: 

If you really want to stay in C#, I would recommend using the Irony toolkit - it allows you to specify grammars in C# code.

Erik Forbes
+1 I've had a great experience with Irony.
Daniel Earwicker
A: 

I don't know if it's what you're looking for, but Oslo has the ability to create a textual DSL.

It's got more features than that, but you can ignore all the repository and Grand Vision stuff and just produce a grammar you can use to parse your DSL into an AST. Alternatively, you can take advantage of the built-in support for parsing into a set of rows in a database.

John Saunders
A: 

There is also a C# Lex and C# CUP that I found on a Vienna University website

C# Lex Manual

Jason Short