[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: YYEOF shouldn't be defined with bison -y
From: |
Akim Demaille |
Subject: |
Re: YYEOF shouldn't be defined with bison -y |
Date: |
Sat, 18 Aug 2018 06:39:36 +0200 |
Hi!
I’m coming long after the discussion, sorry.
> Le 5 déc. 2017 à 02:32, Dimitrios Apostolou <address@hidden> a écrit :
>
> On Mon, 04 Dec 2017 21:24:40 +0100,
> Kaz Kylheku wrote:
>>
>> On 03.12.2017 18:34, Dimitrios Apostolou wrote:
>>> Hello list,
>>>
>>> I am configuring the build using AC_PROG_YACC, which invokes bison with "-y"
>>> option. But bison-generated parser compiled successfully, and YYEOF
>>> extension
>>> in the parser remained undetected.
>>>
>>> Generating the parser with "byacc" on the other hand creates a file that
>>> does
>>> not compile because of undefined symbol YYEOF.
>>
>> What is your error report?
>>
>> Are you saying that you cannot boostrap a build of Bison using Byacc?
>
> My error report has nothing to do with bootstrapping Bison, sorry for not
> being clear.
>
> I am generating a parser as part of a different project, and that project is
> configured with AC_PROG_YACC. As such, it invokes Bison with "-y" option, and
> I would expect that Bison tries hard to fail when the parser uses non-portable
> features, such as YYEOF.
>
> This is not the case however, and the project was released, and this was
> discovered after longtime that somebody built it with byacc instead of
> Bison. With that version of byacc, the generated parser C code failed to build
> with "undefined symbol YYEOF".
>
> I would expect that "bison -y" undefines YYEOF, so that the software that uses
> YYEOF fails to build.
There’s something which is not fully clear here: unless _you_ used YYEOF
somewhere in your code, there’s no reason for the parser not to be
compilable with byacc.
So I expect that you did use YYEOF. In which case, the question is rather:
where was it used, to what purpose, and how would you have expected to
write it independently of YYEOF?
- Re: YYEOF shouldn't be defined with bison -y,
Akim Demaille <=