We wrote a custom rules engine language using the Lex-Yacc implementation in F#
EDIT to include comment reply
There was no lex/yacc implementation in C#. (as far as we were aware, and the F# one was)
It would have been possible, but a downright pain to build the parsing ourselves.
This topic shows some other suggestions, such as external libraries, but our lead architect is an old hand at functional languages, so the choice to use F# was a no-brainer.