A fork of FLEE

Alex
01 Aug 2011, 17:02
Quest 5 uses FLEE to parse and compile expressions: http://flee.codeplex.com

Unfortunately FLEE stopped being maintained around mid-2009. Not such a problem because it's pretty stable... until you find something broken.

It turns out FLEE can't handle accented characters in expressions, which caused this bug: http://quest.codeplex.com/workitem/821. Digging into the source code of FLEE makes my brain hurt, but I found that it searches for identifiers in an expression using a Regex, containing a "\w" sequence, which should match accented characters. But it turns out it doesn't, because it's not using System.Text.RegularExpressions - it has its own regex handling.

So I've made a slightly hacky modification to FLEE to make it handle "\w" using System.Text.RegularExpressions. As it's under an LGPL licence I am required to release my modification under the same licence, so I've created a public fork here: https://bitbucket.org/alexwarren/flee

If anybody wants to dive further into the FLEE code, be my guest! It would be nice to update it further, as the way Quest currently handles spaces in identifiers and dot notation is a bit of a kludge too.