You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by David Reid <dr...@jetnet.co.uk> on 2002/09/15 15:42:17 UTC

mod_ssl and yacc?

Shouldn't we be trying to detect yacc and using some suitable value instead
of having it hardcoded? bison seems to be used on a number of systems but
when run without yacc mod_ssl fails to build.

david


Re: mod_ssl and yacc?

Posted by Bojan Smojver <bo...@rexursive.com>.
Quoting Aaron Bannert <aa...@clove.org>:

> On Sun, Sep 15, 2002 at 12:31:47PM -0700, Justin Erenkrantz wrote:
> > On Sun, Sep 15, 2002 at 02:42:17PM +0100, David Reid wrote:
> > > Shouldn't we be trying to detect yacc and using some suitable value
> instead
> > > of having it hardcoded? bison seems to be used on a number of systems
> but
> > > when run without yacc mod_ssl fails to build.
> > 
> > +1.
> > 
> > Support for lex (instead of flex) would be nice, too.  -- justin
> 
> AFAIK, lex can't produce threadsafe or reentrant code. Someone please
> correct me if I'm wrong.

Neither can flex, unless you use C++, that is. There is a version of flex that
can: http://astro.temple.edu/~john43/flex/.

Bojan

-------------------------------------------------
This mail sent through IMP: http://horde.org/imp/

Re: Reentrant flex was Re: mod_ssl and yacc?

Posted by Henning Brauer <hb...@bsws.de>.
On Sun, Sep 15, 2002 at 01:31:48PM -0700, Justin Erenkrantz wrote:
> On Sun, Sep 15, 2002 at 12:57:13PM -0700, Aaron Bannert wrote:
> > AFAIK, lex can't produce threadsafe or reentrant code. Someone please
> > correct me if I'm wrong.
> 
> Hmm, it seems that neither flex nor lex can produce reentrant C
> scanners.  Flex can produce reentrant C++ scanners though.  And,
> flex's man page indicates that its C scanners aren't as reentrant
> as lex's.

There is no such thing as "the" lex and "the" yacc...

-- 
Henning Brauer, BS Web Services, http://bsws.de
hb@bsws.de - henning@openbsd.org
Unix is very simple, but it takes a genius to understand the simplicity.
(Dennis Ritchie)

Reentrant flex was Re: mod_ssl and yacc?

Posted by Justin Erenkrantz <je...@apache.org>.
On Sun, Sep 15, 2002 at 12:57:13PM -0700, Aaron Bannert wrote:
> AFAIK, lex can't produce threadsafe or reentrant code. Someone please
> correct me if I'm wrong.

Hmm, it seems that neither flex nor lex can produce reentrant C
scanners.  Flex can produce reentrant C++ scanners though.  And,
flex's man page indicates that its C scanners aren't as reentrant
as lex's.

Bison has an option for using "%pure_parser", but that doesn't get
around the fact that flex/lex aren't reentrant.  (And, yacc doesn't
have this option.)

Should we punt the code in mod_ssl which uses flex/yacc?  But, it
only seems to be used at config-time (for SSLRequire?), so maybe
it isn't really a problem?  -- justin

Re: mod_ssl and yacc?

Posted by Cliff Woolley <jw...@virginia.edu>.
On Sun, 15 Sep 2002, Aaron Bannert wrote:

> AFAIK, lex can't produce threadsafe or reentrant code. Someone please
> correct me if I'm wrong.

PHP has some kind of special trickery to make it work, but I don't
remember the specifics...

--Cliff


Re: mod_ssl and yacc?

Posted by Aaron Bannert <aa...@clove.org>.
On Sun, Sep 15, 2002 at 12:31:47PM -0700, Justin Erenkrantz wrote:
> On Sun, Sep 15, 2002 at 02:42:17PM +0100, David Reid wrote:
> > Shouldn't we be trying to detect yacc and using some suitable value instead
> > of having it hardcoded? bison seems to be used on a number of systems but
> > when run without yacc mod_ssl fails to build.
> 
> +1.
> 
> Support for lex (instead of flex) would be nice, too.  -- justin

AFAIK, lex can't produce threadsafe or reentrant code. Someone please
correct me if I'm wrong.

-aaron

Re: mod_ssl and yacc?

Posted by Justin Erenkrantz <je...@apache.org>.
On Sun, Sep 15, 2002 at 02:42:17PM +0100, David Reid wrote:
> Shouldn't we be trying to detect yacc and using some suitable value instead
> of having it hardcoded? bison seems to be used on a number of systems but
> when run without yacc mod_ssl fails to build.

+1.

Support for lex (instead of flex) would be nice, too.  -- justin