Re: [njs-devel] Patch for CVS version for compilation under RedHat ES 3
Status: Beta
Brought to you by:
bribass
From: Bill P. <bpr...@sy...> - 2004-10-15 13:30:10
|
Chris> Of course this entire discussion could be moot if this Chris> project is dead. What IS the status of this project Chris> anyhow? I'm looking into using this for a bunch of things, Chris> I like the bytecode compiler idea. At any rate, even if Chris> it's dead this patch would probably help compiling. There was one person (Brian) who was working on this project. He had converted the parser from the byte-code to Yacc. I think that this will cause a significant increase in speed for scripting type applications. Ie, something that is done once or twice. A long running application shouldn't notice that much difference. Anyways, I think that he had a car accident. After that he did make some changes... but maybe he has physio (sic) or some other challenges. It might be nice if other people had the ability to make commits? Chris> I did make a minor change to get it to compile. I don't Chris> believe this is a RedHat Enterprise 3 (actually TaoLinux, Chris> but I digress) specific bug. Might be a bison 1.875 Chris> specific one. Chris> The following is a patch to src/regex/rxparser.y: --- rxparser.y 2004-10-14 14:09:39.000000000 -1000 +++ rxparser.y.orig 2004-10-14 14:17:04.000000000 -1000 @@ -37,12 +37,12 @@ int start; int end; } YYLTYPE; #define YYLTYPE_IS_DECLARED 1 #define YYLLOC_DEFAULT(current, rhs, n) \ - current.start = (rhs)[n].start; \ - current.end = (rhs)[n].end; + current.start = rhs[n].start; \ + current.end = rhs[n].end; #define YYPARSE_PARAM ctx #define YYLEX_PARAM ctx #undef yyerror It sounds more like a compiler bug. You didn't post the warning, etc that caused the error. The previous code looks more correct as macro parameters should be parenthesised. For instance rhs is "p + 4" where "p" is a pointer. Not great code, but you could see how the macro is broken with the new code. fwiw, Bill Pringlemeir. |