mirror of
https://github.com/php/php-src.git
synced 2026-04-18 13:31:27 +02:00
The parser files for phpdbg are generated by bison from the *.y file. Parser files in Zend already follows such approach of these files being ignored from tracking in the Git repository and they are shipped via the release packages. This way the end user still don't need to have bison dependency installed to install PHP. The genfiles script was refactored to generate the phpdbg parser and lexer files. Empty comment in phpdbg parser y template file has been changed to the YACC compliant /* empty */ instead of custom one.
33 lines
869 B
Bash
Executable File
33 lines
869 B
Bash
Executable File
#! /bin/sh
|
|
|
|
if [ -z $YACC ]; then
|
|
YACC="bison"
|
|
fi
|
|
YACC="$YACC -y -l"
|
|
|
|
if [ -z $RE2C ]; then
|
|
RE2C="re2c"
|
|
fi
|
|
|
|
# Generate Zend parser and lexer files
|
|
STD="make -f Zend/Makefile.frag RE2C='$RE2C' RE2C_FLAGS='-i' YACC='$YACC' srcdir=Zend builddir=Zend top_srcdir=."
|
|
(eval "$STD Zend/zend_language_parser.c Zend/zend_language_scanner.c Zend/zend_ini_parser.c Zend/zend_ini_scanner.c")
|
|
|
|
# Generate phpdbg parser and lexer files
|
|
STD="make -f sapi/phpdbg/Makefile.frag RE2C='$RE2C' RE2C_FLAGS='-i' YACC='$YACC' srcdir=sapi/phpdbg builddir=sapi/phpdbg top_srcdir=."
|
|
(eval "$STD sapi/phpdbg/phpdbg_parser.c sapi/phpdbg/phpdbg_lexer.c")
|
|
|
|
set -x
|
|
|
|
CLEANUP_FILES=" \
|
|
ext/pdo/pdo_sql_parser.c \
|
|
ext/date/lib/parse_date.c \
|
|
ext/standard/url_scanner_ex.c \
|
|
ext/standard/var_unserializer.c \
|
|
"
|
|
|
|
for f in $CLEANUP_FILES; do
|
|
cp $f $f.orig
|
|
grep -v '#line ' $f.orig > $f
|
|
done
|