2010. február 12., péntek

flee - Fast Lightweight Expression Evaluator

A flee (Fast Lightweight Expression Evaluator) pont az, ami a neve. Egy gyors, pehelysúlyú kifejezés kiértékelő - aki dolgozott már LINQ Dynamic Query Library-vel, annak nagyjából érthető miről van szó. Erről:

static void Main(string[] args)
{
    var ctx = new ExpressionContext();
    ctx.Variables.Add("now", DateTime.Now);
    var expression = ctx.CompileGeneric<string>("now.ToString(\"yyyy-MMMM-dd (dddd)\").ToUpper()");
    var result = expression.Evaluate();
    Console.WriteLine(result); // Output: "2010-FEBRUÁR-12 (PÉNTEK)"
}

Azaz egy sztring-kifejezésből, mint pl. a "sqrt(a^2 + b^2)" vagy a "now.ToString("yyyy-MMMM-dd (dddd)").ToUpper()" képes IL kódot előállítani. A kifejezésünk nyelve kicsit C#, kicsit VB, erősen típusos, de nem case sensitive...

A flee LGPL licencelésű, ami praktikusan azt jelenti, hogy ha (az egyébként letölthető) forráskódján nem módosít az ember, csak a lefordított assemblyt referenciálja, akkor szabadon használható akár nyílt, akár zárt, non-profit vagy for-profit feljesztésekben egyaránt.

0 megjegyzés:

Megjegyzés küldése