1#!/bin/sh 2 3INFILE="../../Zend/zend_language_parser.h" 4OUTFILE="tokenizer_data.c" 5AWK=awk 6 7#################################################################### 8 9if test ! -f "./tokenizer.c"; then 10 echo "Please run this script from within php-src/ext/tokenizer" 11 exit 0 12fi 13 14 15echo '/* 16 +----------------------------------------------------------------------+ 17 | PHP Version 5 | 18 +----------------------------------------------------------------------+ 19 | Copyright (c) 1997-2016 The PHP Group | 20 +----------------------------------------------------------------------+ 21 | This source file is subject to version 3.01 of the PHP license, | 22 | that is bundled with this package in the file LICENSE, and is | 23 | available through the world-wide-web at the following url: | 24 | http://www.php.net/license/3_01.txt | 25 | If you did not receive a copy of the PHP license and are unable to | 26 | obtain it through the world-wide-web, please send a note to | 27 | license@php.net so we can mail you a copy immediately. | 28 +----------------------------------------------------------------------+ 29 | Author: Johannes Schlueter <johannes@php.net> | 30 +----------------------------------------------------------------------+ 31*/ 32 33/* $Id$ */ 34 35/* 36 DO NOT EDIT THIS FILE! 37 This file is generated using tokenizer_data_gen.sh 38*/ 39 40#include "php.h" 41#include "zend.h" 42#include <zend_language_parser.h> 43 44' > $OUTFILE 45 46 47echo 'void tokenizer_register_constants(INIT_FUNC_ARGS) {' >> $OUTFILE 48$AWK '/^#define T_/ { print " REGISTER_LONG_CONSTANT(\"" $2 "\", " $2 ", CONST_CS | CONST_PERSISTENT);" }' < $INFILE >> $OUTFILE 49echo ' REGISTER_LONG_CONSTANT("T_DOUBLE_COLON", T_PAAMAYIM_NEKUDOTAYIM, CONST_CS | CONST_PERSISTENT);' >> $OUTFILE 50echo '}' >> $OUTFILE 51 52 53echo ' 54char *get_token_type_name(int token_type) 55{ 56 switch (token_type) { 57' >> $OUTFILE 58 59$AWK ' 60 /^#define T_PAAMAYIM_NEKUDOTAYIM/ { 61 print " case T_PAAMAYIM_NEKUDOTAYIM: return \"T_DOUBLE_COLON\";" 62 next 63 } 64 /^#define T_/ { 65 print " case " $2 ": return \"" $2 "\";" 66 } 67' < $INFILE >> $OUTFILE 68 69echo ' 70 } 71 return "UNKNOWN"; 72} 73' >> $OUTFILE 74 75echo "Wrote $OUTFILE" 76