bug-bison
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ftpcmd.y -- syntax error


From: Paul Eggert
Subject: Re: ftpcmd.y -- syntax error
Date: Wed, 07 Apr 2004 13:35:42 -0700
User-agent: Gnus/5.1006 (Gnus v5.10.6) Emacs/21.3 (gnu/linux)

Hans Aberg <address@hidden> writes:

> Paul, what does Yacc say about an unquoted = in a grammar rule?

It's not allowed; see
<http://www.opengroup.org/onlinepubs/007904975/utilities/yacc.html>
under "Input Grammar".  The "=" signs are spurious and should be
removed.  Older (pre-1978) versions of Yacc used them for something
slightly different, and effectively they are ignored in the wu-ftpd
grammar; but they shouldn't be present at all.


> At 08:33 -0400 2004/04/06, Jacques Dejean wrote:
>>I discovered yesterday that the problem is with 'bison -y'.  I ran 'bison -y
>>ftpcmd.y' and got errors.  If I either remove the equal sign (=) from the
>>syntax

That's the right thing to do.  This topic has come up with wu-ftpd before;
e.g., see

<http://www.landfield.com/wu-ftpd/mail-archive/wuftpd-questions/2003/Jan/0007.html>

The bug is fixed in the latest Debian version of wu-ftpd 2.6.2; see:

http://ftp.debian.org/debian/pool/main/w/wu-ftpd/wu-ftpd_2.6.2-17.1.diff.gz


>> or enclose it in quotes ('=')

Don't do that: it changes the grammar.


>>'bison -y' will compile ok; however, the final executable (ftpd)
>>will refuse connection.  I changed 'bison -y' to 'yacc', and it
>>worked successfully.

I tried to reproduce this problem and failed: when I tried to build
wu-ftpd-2.6.1-18.src.rpm on Debian GNU/Linux 3.0r1, running
sbin/in.ftpd failed with the following message in the log file

getpeername (sbin/in.ftpd): Socket operation on non-socket

regardless of whether I built with "bison -y" or with Berkeley yacc.


>>What is the difference between 'bison -y' and 'yacc'?  Isn't
>>"bison -y" supposed to function as 'yacc'?

Yes it is.  It could be that your yacc was built from different
sources than your bison, though.  You can test this theory by running
"bison --version" and "yacc --version".




reply via email to

[Prev in Thread] Current Thread [Next in Thread]