[Top][All Lists]

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


From: Akim Demaille
Date: 25 Apr 2002 12:38:46 +0200
User-agent: Gnus/5.0808 (Gnus v5.8.8) XEmacs/21.4 (Common Lisp)

| I'll stop here for now, as I'm still not sure I'm building CVS Bison
| correctly.  

Now, I hope it is definitely fixed.

| I typically use the Bash grammar as a test case, and the
| Bison that I build does not handle the Bash 2.05a grammar correctly:
|   $ bison -y -d parse.y
|   conflicts:  1 shift/reduce
|   /tmp/bsng.aiDD:2537: /opt/sfw/bin/gm4: Warning: Excess arguments to 
built-in `m4_define' ignored

Wow!  I use GCC, some C++ projects, Gettext and others.  I tried Bash,
and I face the same problem.

| Is there some way to tell Bison to output the m4 input instead of the
| m4 output, for debugging purposes?  If not, perhaps there should be.

There is --trace:

~/src/bash-2.04 % bison parse.y --trace
running: /usr/local/bin/m4 -I /usr/local/share/bison m4sugar/m4sugar.m4 
/tmp/bsn9HUeP2 bison.simple
/usr/local/bin/m4: /tmp/bsn9HUeP2: 2435: Warning: m4_define: too many arguments 
(ignored): 12 > 2

and then the /tmp/ file is not removed, to aid debugging.  It

~/src/bash-2.04 % cat -n /tmp/bsn9HUeP2| sed -n '2434,2436p'     nostromo 12:37
  2434  #if defined (COND_COMMAND) /* [[ */
  2435    if ((parser_state & PST_CONDEXPR) && token[0] == ']' && token[1] == 
']' && token[2] == '\0')
  2436      return (COND_END);

i.e., M4 quotes.  I already knew we would have to use quadrigraphs,
but it's even sooner than I thought.

reply via email to

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