Shannon Stewman
Shannon Stewman
Interesting. I'm not finding any errors: ``` % bmake -r CC=clang DEBUG=1 ASAN=1 && ./build/bin/retest -O1 -l vm ./x.tst [OK ] line 2: pcre regexp /^abc$/ matched "abc". [OK ]...
Asking `retest` to dump the vmir encoding with `retest -L ir -l vm ./x.tst`, I don't see what you're generating with `vmdot`. I see: ``` 0x631000000810 ;;; state 0 (index:...
If I modify the `src/retest/runner.c` code to print the C code generated by `vmc` to stderr, code is also quite different and very similar to the IR code above: ```...
Okay, if I add an `fsm_minimise()` step into `retest`, I can trigger the error. I've tracked it down to how the VM IR is generated from `IR_NONE` nodes. We should...
I think this makes a lot of sense. For the PCRE dialect, `$unsupported` currently falls into four buckets: * Word boundary, capture groups, and multiline things that libfsm could potentially...
To be pedantic, the PCRE (v2) syntax does not allow `a{2,3}{2,3}`. `pcregrep` returns an error: ``` % echo 'aaaaa' | pcregrep 'a{2,3}{2,3}' pcregrep: Error in command-line regex at offset 10:...
> To be pedantic, the PCRE (v2) syntax does not allow `a{2,3}{2,3}`. `pcregrep` returns an error: > > ``` > % echo 'aaaaa' | pcregrep 'a{2,3}{2,3}' > pcregrep: Error in...
I'm not familiar enough with sid's error handling to know the best way to fix this. One approach that essentially bypasses sid would be to create an "arena" for allocating...
Thanks for the idea @hvdijk! @katef also mentioned that. The downside is that the sid code ends up littered with try/catch blocks, and if you miss one you still have...
> > > Looking at the first few backtraces I wonder if there's a `ast_free` missing if `ast_rewrite` fails in https://github.com/katef/libfsm/blob/main/src/libre/re.c#L116-L118. > > For the error in `src/re/main.c:653` there's a...