Re: [Felix-language] [felix] Segfault

2010-12-15 Thread john skaller
On 15/12/2010, at 7:02 PM, john skaller wrote: > > i doubt this will fix the original problem with regex .. but at least now > with my > cleaned up code it generates working code most of the time again .. :) Actually .. it **does** seem to fix it: include "./src/lib/std/regdef";

Re: [Felix-language] [felix] Segfault

2010-12-15 Thread john skaller
On 15/12/2010, at 6:34 PM, john skaller wrote: > > Dang.. thought I had it :) OMG: stupid typo in my changes: (** Helper to remove a bid from the table roots or it's parent's children. *) let remove_bid_from_parent bsym_table parent bid = match parent with | None -> () | Some parent ->

Re: [Felix-language] [felix] Segfault

2010-12-14 Thread john skaller
> Good news: I'm onto it! :) Hmmm .. interesting: In reparent1: let update_bsym bbdcl = Flx_bsym_table.remove bsym_table k; Flx_bsym_table.add bsym_table k parent (Flx_bsym.replace_bbdcl bsym bbdcl) in [GONG sounds] This is quite wrong, but it isn't obvious why unless you read som

Re: [Felix-language] [felix] Segfault

2010-12-14 Thread john skaller
Well after some rewriting I'm down to this (in the optimiser): COPYING join_mv_310 index 311 with old parent 310 to index 8499 with new parent 308 //Reparent 8499 <-- 311 Gen body caller = 308, callee=join_mf_310<310> Lazy INLINING join_mf_310<310>(()) into 308 .. INPUT: join_mv_310<311> := (eq<1

Re: [Felix-language] [felix] Segfault

2010-12-14 Thread john skaller
On 14/12/2010, at 9:04 PM, john skaller wrote: >> and of course .. the rewrite works fine :) >> >> There's a bug in there somewhere. > > > Ah, there we go: > > ~/felix>flx --test=build/release --force rt > Fatal error: exception File > "build/release/src/compiler/flx_core/flx_bsym_table.ml",

Re: [Felix-language] [felix] Segfault

2010-12-14 Thread john skaller
On 14/12/2010, at 8:13 PM, john skaller wrote: > I managed to get flxg to segfault when I removed some assertions in > Erick's bsym table building stuff, that came from my first version of > regdef.flx > or the test case, not sure. > > I'm pretty sure this is due to a stack overflow which the