This project has moved. For the latest updates, please go here.

ANTLR-based parser

The parser is built on top of ANTLR and the ANTLR (v3) C# 4.0 grammar. The grammar is complete enough that I don't even support all of it's functionality. It can parse C# 4.0 completely, but I cannot compile it yet.


Support for dynamics is one thing that sets ExpressionEvaluator apart from other C# expression libraries. ExpressionEvaluator uses code based on decompiled assemblies that use dynamics, as there appears to be no official Microsoft documentation on how to generate code that uses dynamics.

Scope context

Born out of necessity, the ScopeCompile feature is a quick way to pass multiple parameters as properties of a single object into an expression without having to reference the object. The object acts as the context of the expression, and any expressions without a parent context will be checked against the scope context first.


Another feature not usually supported in other libraries is the ability to create loop expressions, with for, foreach, and while statements. Your mileage may vary.

Last edited Jan 23, 2016 at 12:57 PM by RupertAvery, version 1


No comments yet.