On Mon, 2011-03-21 at 01:57 +0100, Karsten Bräckelmann wrote: > Another might be to reproduce the issue, and get a minimal test-case.
Just received a reply privately, containing like heaps of information and debugging. Two very noteworthy points it appears to surface. (a) The actual rule that triggers this is the __PILL_PRICE_3 variant. (b) It might be due to the usage of \s. Which reminded me -- something I thought about seeing the original rules, but now it might be key to the re2c compilation problem. These sub-rules are body tests. That is a *normalized* version of the original body. Within a paragraph (in the old-school double newline sense), there is only one kind of whitespace. A space. There are no tabs, nor newlines -- and no multiple, consecutive occurrences of whitespace. IF the \s turns out to be part of the problem, a simple SPACE instead would do just as fine for body rules. If you change any occurrence of \s in the original sub-rules (specifically the third one) to a simple space, does that fix the issue? -- char *t="\10pse\0r\0dtu\0.@ghno\x4e\xc8\x79\xf4\xab\x51\x8a\x10\xf4\xf4\xc4"; main(){ char h,m=h=*t++,*x=t+2*h,c,i,l=*x,s=0; for (i=0;i<l;i++){ i%8? c<<=1: (c=*++x); c&128 && (s+=h); if (!(h>>=1)||!t[s+h]){ putchar(t[s]);h=m;s=0; }}}