help-bison
[Top][All Lists]
Advanced

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

Re: Parsing '\x00' -- appears to be the only thing preventing parsing bi


From: Chris verBurg
Subject: Re: Parsing '\x00' -- appears to be the only thing preventing parsing binary data
Date: Tue, 30 Mar 2021 13:15:26 -0700

I don’t know how you’ve set up your flex/bison interface, but I’m guessing from 
your quoting that you have flex return each character as a token?  Can you 
special-case 0 to not have the token value 0?  That is, flex does this:

\x00  { return ZERO; }

And then in your grammar:

%token ZERO

and use ZERO instead of ‘\x00’?

(Note: typed this on a phone..not 100% sure the syntax is right.)

-Chris


> On Mar 30, 2021, at 12:37 PM, Stephen Taylor via Users list for the GNU Bison 
> parser generator <help-bison@gnu.org> wrote:
> 
> I am trying to parse binary files and obviously need to write rules that 
> include the 8-bit value 0x00 — flex appears to allow me to obtain an 8-bit 
> scanner using the -8 option. I seem to be able to use ‘\x01’ to ‘\xFF’ for 
> individual terminal symbols in Bison rules. Unfortunately, ‘\x00’ is used to 
> denote end of input. Looking at the output tables, there appears to be no 
> real reason to do this (other than convenience) and I am wondering if anyone 
> has a workaround? 
> Thanks !
> Steve
> 
> 
> 
> 



reply via email to

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