I was then panic-king because I got this:

Match Failure
Felix location: /usr/local/lib/felix/felix-1.1.7dev/lib/std/regdef.flx 
20[10]-20[3]
C++ location  : 
/Users/johnskaller/.felix/cache/text/Users/johnskaller/felix/./bug.cpp 157

using regdefs for the libcontents system, instead of straight Perl strings 
(using RE2).
The bug was in the "render" function which just converts the regexp AST to a 
Perl string.

That function is pretty simple functional code and shouldn't fail (although I 
did get an
assertion error and discovered it can't handle zero length strings -- this was 
trapped
by a pre-condition).

It looked like the complex variant encoding was failing. But there are working 
test
cases. My bug code was like this:

/////////////////////////////
open Regdef;
regdef anychar = perl (".");

regdef letter = charset "abc";

regdef vlist =  "[" spaces letter (spaces "," spaces letter)* spaces "]";
 
regdef binder = "ctor" (spaces vlist)?;

regdef indent2 = "  ";
regdef spaces = " "*;

regdef classbind= group ("class" | "open class");
regdef otherbind= indent2 group (spaces binder);

// Group 1 = class
// Group 2 = other 
// group 3 = identifier
regdef decl = (classbind | otherbind) spaces group (letter) anychar*;


var lregex = decl . render;
println$ lregex;
////////////////////


Now, the thing is, the Felix compiler has got pretty reliable these days.
It may have bugs, but the test suite would pick up this kind of thing.
So I fiddled with it  ...

There's a bug in the compiler alright. But not something complex.
Can you see it?

[Hint: don't look for something complex! Its something brain dead ! ]

--
john skaller
skal...@users.sourceforge.net
http://felix-lang.org




------------------------------------------------------------------------------
Don't let slow site performance ruin your business. Deploy New Relic APM
Deploy New Relic app performance management and know exactly
what is happening inside your Ruby, Python, PHP, Java, and .NET app
Try New Relic at no cost today and get our sweet Data Nerd shirt too!
http://p.sf.net/sfu/newrelic-dev2dev
_______________________________________________
Felix-language mailing list
Felix-language@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/felix-language

Reply via email to