On Sep 14, 2010, at 9:17 AM, Alon Bar-Lev wrote:

> 4. grammar.y - any idea why we need pcap_parse if yacc defines it
> anyway instead of yyparse?

Because

        1) WinPcap is based on libpcap;

        2) libpcap was originally written back when many UN*Xes had only the 
old AT&T YACC, which only defined yyparse().

The current top-of-trunk version of grammar.y, at least, defines pcap_parse() 
only if YYBISON is not defined, which presumably means "not Bison".

> 5. yacc does not accept -y argument.

Earlier versions of GNUmakefile mirrored the UN*X Makefile.in, and had a YACC 
variable that ran Bison, rather than YACC, with the "-y" flag (which, for 
Bison, means "act like YACC and produce y.tab.c and y.tab.h files").

The 4.1.2 version runs whatever make sets YACC to refer to, with the YFLAGS 
flag.  Is there some reason why that was done?  Was this to support 
parser-generators *other* than Bison?  Unless there's a compelling reason not 
to run Bison, it should probably go back to the way it was, using Bison - 
that'll fix that problem *and* the previous problem, with no changes required 
to grammar.y.

If there *is* a compelling reason not to run Bison, then

        1) it should not include "-y"

and

        2) either it should not do "-p pcap_", if whatever version of YACC is 
being used doesn't support "-p", or:

                2a) grammar.y should check for YYBISON *and* some other #define 
named appropriately for whatever parser-generator is being used

        and

                2b) it should do "-D{that #define name}".

> 7. Minor modification of (char*)A += code.

(I.e., "casting lvalues considered harmful - and possibly rejected by some 
compilers.")
_______________________________________________
Winpcap-users mailing list
[email protected]
https://www.winpcap.org/mailman/listinfo/winpcap-users

Reply via email to