help-bison
[Top][All Lists]
Advanced

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

Re: bison 1.35: end of file?


From: Torsten Müller
Subject: Re: bison 1.35: end of file?
Date: 27 May 2002 12:37:01 +0200
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2

Akim Demaille <address@hidden> writes:

> This is very interesting. I'd like to try with this version of
> Bison, please, and report (a success!) as soon as possible: you come
> right on time: this bug is precisely being discussed (and fixed).
>
> http://www.lrde.epita.fr/~akim/download/bison-1.49b.tar.bz2
> http://www.lrde.epita.fr/~akim/download/bison-1.49b.tar.gz

Thanx, here are my first results:

I tried to compile bison on my Windows machine. Windows is my primary
development platform and I use MinGW. I tried it with gcc 2.95.3 and
gcc 3.1 (beta), but I haven't got it working. Even the
configure-script reported some errors and the compilation required
functions like "pipe" and "fork" not available in my c-lib.

So I went to Linux. Configuration, compilation (gcc 3.1) and
installation did work very well. But the use of this bison made
problems. Not only that I had to add a very large number of
semicolons, one in every rule (was this really necessary? - my grammar
has more than 3000 lines), I got the following in output file:

<<<<<<< bison.simple
   while (yyn = yypact[yystate] + YYTERROR,
          ! (yyn != YYFLAG + YYTERROR
             && 0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR
             && 0 < yytable[yyn]))
    {
      /* Pop the parsing stack.  */
      if (yyssp == yyss)
        YYABORT;
      yyvsp--;
      yystate = *--yyssp;
=======
  for (;;)
    {
      yyn = yypact[yystate];
      if (yyn != YYFLAG)
        {
          yyn += YYTERROR;
          if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
            {
              yyn = yytable[yyn];
              if (0 < yyn)
                break;
            }
        }

      /* Pop the current state because it cannot handle the error token.  */
      if (yyssp == yyss)
        YYABORT;
      yyvsp--;
      yystate = *--yyssp;
>>>>>>> 1.27

This is neither C nor C++. So I could not compile a bison output file
until now.

Finally I must say, the use of m4 is not a good idea in my opinion. So
bison depends on the presence of another tool. Think about the many
Windows developers. The all need m4 now!

Torsten




reply via email to

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