[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Bison 1.30f broke my C++ parser
From: |
Akim Demaille |
Subject: |
Re: Bison 1.30f broke my C++ parser |
Date: |
27 Jan 2002 21:03:35 +0100 |
User-agent: |
Gnus/5.0808 (Gnus v5.8.8) XEmacs/21.4 (Common Lisp) |
>>>>> "Marc" == Marc Autret <address@hidden> writes:
Marc> "Richard B. Kreckel" <address@hidden> writes:
>> > Nevertheless, in the meanwhile, my advice is use 1.32, but steal
>> bison > 1.28's bison.simple, give it another name, and ask 1.32 to
>> use the > latter (using BISON_SIMPLE or --skeleton).
>>
>> This does not seem to work:
>>
>> cappuccino:~/projects/GiNaC/ginac$
>> BISON_SIMPLE=/home/kreckel/bison.simple bison -y -p ginac_yy -d
>> input_parser.yy && mv y.tab.c input_parser.cc bison: output.c:1236:
>> output_parser: Assertion `actions_dumped == 1' failed. Aborted
Marc> bison.simple from version 1.28a is not compatible with 1.28 one.
Marc> What changed is the handling of actions. The incompatibility is
Marc> still true between 1.28 and 1.32.
My fault, sorry. 1.28 uses `$' as a marker, 1.32 something like
%%actions. Have a look at bison.simple in 1.32.
I don't have an easy access to the CVS sources now, otherwise, look on
subversions.gnu.org the history of bison.simple, and fetch the copy
before
2001-11-29 Paul Eggert <address@hidden>
* src/bison.simple (YYSTACK_REALLOC): Remove.
(YYSTACK_ALLOC): Resurrect this macro, with its old meaning.
(YYSTACK_FREE, YYSTACK_GAP_MAX, YYSTACK_BYTES, YYSTACK_RELOCATE):
New macros.
(union yyalloc): New type.
(__yy_memcpy): Last arg is size_t, not unsigned int, to remove
an arbitrary restriction on hosts where size_t is wider than int.
(yyparse): Don't dump core if alloca or malloc fails; instead, report
a parser stack overflow. Allocate just one block of memory for all
three stacks, instead of allocating three blocks; this typically is
faster and reduces fragmentation.
Do not limit the number of items in the stack to a value that fits
in 'int', as this is an arbitrary limit on hosts with 64-bit
size_t and 32-bit int.
Re: Bison 1.30f broke my C++ parser, Hans Aberg, 2002/01/27