mirror of
https://github.com/php/php-src.git
synced 2024-12-14 04:16:30 +08:00
80 lines
2.3 KiB
Bash
Executable File
80 lines
2.3 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
INFILE="../../Zend/zend_language_parser.h"
|
|
OUTFILE="tokenizer_data.c"
|
|
AWK=awk
|
|
|
|
####################################################################
|
|
|
|
if test ! -f "./tokenizer.c"; then
|
|
echo "Please run this script from within php-src/ext/tokenizer"
|
|
exit 0
|
|
fi
|
|
|
|
|
|
echo '/*
|
|
+----------------------------------------------------------------------+
|
|
| PHP Version 7 |
|
|
+----------------------------------------------------------------------+
|
|
| Copyright (c) 1997-2017 The PHP Group |
|
|
+----------------------------------------------------------------------+
|
|
| This source file is subject to version 3.01 of the PHP license, |
|
|
| that is bundled with this package in the file LICENSE, and is |
|
|
| available through the world-wide-web at the following url: |
|
|
| http://www.php.net/license/3_01.txt |
|
|
| If you did not receive a copy of the PHP license and are unable to |
|
|
| obtain it through the world-wide-web, please send a note to |
|
|
| license@php.net so we can mail you a copy immediately. |
|
|
+----------------------------------------------------------------------+
|
|
| Author: Johannes Schlueter <johannes@php.net> |
|
|
+----------------------------------------------------------------------+
|
|
*/
|
|
|
|
/* $Id$ */
|
|
|
|
/*
|
|
DO NOT EDIT THIS FILE!
|
|
This file is generated using tokenizer_data_gen.sh
|
|
*/
|
|
|
|
#include "php.h"
|
|
#include "zend.h"
|
|
#include <zend_language_parser.h>
|
|
|
|
' > $OUTFILE
|
|
|
|
|
|
echo 'void tokenizer_register_constants(INIT_FUNC_ARGS) {' >> $OUTFILE
|
|
$AWK '
|
|
/^#define T_(NOELSE|ERROR)/ { next }
|
|
/^#define T_/ { print " REGISTER_LONG_CONSTANT(\"" $2 "\", " $2 ", CONST_CS | CONST_PERSISTENT);" }
|
|
' < $INFILE >> $OUTFILE
|
|
echo ' REGISTER_LONG_CONSTANT("T_DOUBLE_COLON", T_PAAMAYIM_NEKUDOTAYIM, CONST_CS | CONST_PERSISTENT);' >> $OUTFILE
|
|
echo '}' >> $OUTFILE
|
|
|
|
|
|
echo '
|
|
char *get_token_type_name(int token_type)
|
|
{
|
|
switch (token_type) {
|
|
' >> $OUTFILE
|
|
|
|
$AWK '
|
|
/^#define T_PAAMAYIM_NEKUDOTAYIM/ {
|
|
print " case T_PAAMAYIM_NEKUDOTAYIM: return \"T_DOUBLE_COLON\";"
|
|
next
|
|
}
|
|
/^#define T_(NOELSE|ERROR)/ { next }
|
|
/^#define T_/ {
|
|
print " case " $2 ": return \"" $2 "\";"
|
|
}
|
|
' < $INFILE >> $OUTFILE
|
|
|
|
echo '
|
|
}
|
|
return "UNKNOWN";
|
|
}
|
|
' >> $OUTFILE
|
|
|
|
echo "Wrote $OUTFILE"
|