mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 06:38:20 +00:00
Dropping byacc support; bison now required.
This commit is contained in:
parent
02808b0a92
commit
79754bf6f8
4 changed files with 1 additions and 1353 deletions
|
@ -54,7 +54,7 @@ flex_target(REScanner re-scan.l ${CMAKE_CURRENT_BINARY_DIR}/re-scan.cc
|
|||
COMPILE_FLAGS "-Pre_")
|
||||
add_flex_bison_dependency(REScanner REParser)
|
||||
|
||||
bison_target(Parser parse.bison.y
|
||||
bison_target(Parser parse.y
|
||||
${CMAKE_CURRENT_BINARY_DIR}/p.cc
|
||||
HEADER ${CMAKE_CURRENT_BINARY_DIR}/broparse.h
|
||||
COMPILE_FLAGS "-t")
|
||||
|
|
|
@ -1,44 +0,0 @@
|
|||
#
|
||||
# Generate the yacc/bison grammar file parse.y from parse.in
|
||||
#
|
||||
# Importantly, it will eliminate the dependence on the internal location stack
|
||||
# if it is not supported.
|
||||
#
|
||||
|
||||
use strict;
|
||||
|
||||
|
||||
# figure out which yacc-like thing is used
|
||||
# ### Kind of a hack since it uses the Makefile
|
||||
|
||||
my $srcdir = $ARGV[0];
|
||||
my $builddir = $ARGV[1];
|
||||
my $yacc = $ARGV[2];
|
||||
|
||||
my $is_bison = ($yacc =~ /bison/);
|
||||
|
||||
if ($is_bison)
|
||||
{
|
||||
system ("cp $srcdir/parse.in $builddir/parse.y") == 0 or die "Could not make parse.y: $!\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
make_parser();
|
||||
}
|
||||
|
||||
|
||||
sub make_parser
|
||||
{
|
||||
open PARSE_OUT, ">$builddir/parse.y" or die "Could not open $builddir/parse.y: $!";
|
||||
open PARSE_IN, "$srcdir/parse.in" or die "Could not open $srcdir/parse.in: $!";
|
||||
|
||||
while (<PARSE_IN>)
|
||||
{
|
||||
$_ =~ s/\@\d+/GetCurrentLocation\(\)/g;
|
||||
print PARSE_OUT $_;
|
||||
}
|
||||
|
||||
# yylloc needs to be non-extern for non-bison systems, so stick it here
|
||||
print PARSE_OUT "\n/* Non-extern yylloc needed for non-bison system */\n",
|
||||
"YYLTYPE yylloc;\n"
|
||||
}
|
1308
src/parse.in
1308
src/parse.in
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue