From 21e56bfe786b2490cc02ba8b6b8275547171b048 Mon Sep 17 00:00:00 2001 From: Michael Wallner Date: Tue, 7 Feb 2017 10:40:34 +0100 Subject: [PATCH] configure: fix consts; rel paths for lemon; stabilize --- Makefile.frag | 3 +- config.m4 | 9 +- m4/psi/psi.m4 | 53 ++-- m4/psi/psi_const.m4 | 19 +- src/parser_proc.c | 688 ++++++++++++++++++++++---------------------- 5 files changed, 396 insertions(+), 376 deletions(-) diff --git a/Makefile.frag b/Makefile.frag index 597fc45..78a3a33 100644 --- a/Makefile.frag +++ b/Makefile.frag @@ -27,7 +27,8 @@ $(PHP_PSI_SRCDIR)/src/parser_proc.y: $(PHP_PSI_SRCDIR)/src/parser_def.h $(PHP_PS cat $(PHP_PSI_SRCDIR)/src/parser_proc.inc >$@ $(CPP) -P -DGENERATE $< >>$@ $(PHP_PSI_SRCDIR)/src/parser_proc.c: $(PHP_PSI_SRCDIR)/src/parser_proc.y $(LEMON) - $(LEMON) $< + # trickery needed for relative #line directives + cd $(PHP_PSI_SRCDIR) && $(LEMON_PATH)$(LEMON) $(patsubst $(PHP_PSI_SRCDIR)/%,%,$<) $(PHP_PSI_SRCDIR)/src/parser.re: $(PHP_PSI_SRCDIR)/src/parser_proc.h touch $@ diff --git a/config.m4 b/config.m4 index de400c4..b4107c8 100644 --- a/config.m4 +++ b/config.m4 @@ -60,8 +60,8 @@ if test "$PHP_PSI" != no; then [ --enable-psi-maintainer-mode PSI: enable maintainer mode . parallel configure - . source dependencies - . extra decl wrappers], [no], [no]) + . make dependencies + . extra debug wrappers], [no], [no]) PHP_ARG_WITH(psi-libjit, where to find libjit, [ --with-psi-libjit=DIR PSI: path to libjit], [ ], [ ]) @@ -102,7 +102,10 @@ if test "$PHP_PSI" != no; then PSI_CHECK_STDDEF dnl parallel - AC_MSG_CHECKING([for POSIX modules: $PHP_PSI_POSIX]) + AC_MSG_CHECKING([for POSIX modules]) + if ! $PSI_FAST_CONFIG; then + AC_MSG_RESULT([$PHP_PSI_POSIX]) + fi PSI_CONFIG_POSIX(signal, signal.h, [ PSI_CONFIG_POSIX(time, time.h, [ diff --git a/m4/psi/psi.m4 b/m4/psi/psi.m4 index 0c2b165..b137ec6 100644 --- a/m4/psi/psi.m4 +++ b/m4/psi/psi.m4 @@ -41,11 +41,22 @@ AC_DEFUN(PSI_CONFIG_INIT, [ ]) +dnl PSI_CONFIG_WAIT() +dnl Internal: waits for sub configures in maintainer mode +AC_DEFUN(PSI_CONFIG_WAIT, [ + wait + if test $? -gt 0; then + cat $PSI_CONFIG_TMP/*/stderr.log >&2 + exit 1 + fi +]) + dnl PSI_CONFIG_DONE() dnl Finish the headers with the pre-defined types etc. AC_DEFUN(PSI_CONFIG_DONE, [ + PSI_CONFIG_WAIT + if $PSI_FAST_CONFIG; then - wait for conf_env in $PSI_CONFIG_TMP/*/conf.env; do source $conf_env done @@ -116,22 +127,20 @@ AC_DEFUN(PSI_CONFIG_POSIX, [ AC_DEFUN([PSI_CONFIG_POSIX_PARALLEL], [ ( - dnl setup + dnl chaway mkdir $PSI_CONFIG_TMP/AS_TR_SH([$1]) - printenv > $PSI_CONFIG_TMP/AS_TR_SH([$1])/start.env - ln -s $(pwd)/confdefs.h $PSI_CONFIG_TMP/AS_TR_SH([$1])/confdefs.h + cd $PSI_CONFIG_TMP/AS_TR_SH([$1]) + + dnl AC_DEFINEs + ln -s $abs_builddir/confdefs.h confdefs.h - dnl restore stdio - exec 66>&AS_MESSAGE_FD - exec AS_MESSAGE_FD>$PSI_CONFIG_TMP/AS_TR_SH([$1])/stdout.log - exec 2>$PSI_CONFIG_TMP/AS_TR_SH([$1])/stderr.log + dnl STDOUT, STDERR + exec {PSI_MESSAGE_FD}>&AS_MESSAGE_FD {PSI_ERROR_FD}>&2 + exec AS_MESSAGE_FD>stdout.log 2>stderr.log dnl check for headers? ifelse([$2],,:,[AC_CHECK_HEADERS($2)]) - dnl chaway - cd $PSI_CONFIG_TMP/AS_TR_SH([$1]) - dnl run checks PSI_TYPES= PSI_CONSTS= @@ -142,27 +151,31 @@ AC_DEFUN([PSI_CONFIG_POSIX_PARALLEL], [ AS_TR_CPP([PSI_CHECK_$1]) dnl save env - printenv > $PSI_CONFIG_TMP/AS_TR_SH([$1])/end.env - cat >$PSI_CONFIG_TMP/AS_TR_SH([$1])/conf.env <conf.env <>$PSI_CONFIG_TMP/AS_TR_SH([$1])/conf.env <>conf.env <>$PSI_CONFIG_TMP/AS_TR_SH([$1])/conf.env + _AC_CACHE_DUMP >>conf.env + dnl restore STDOUT,STDERR + exec >&$PSI_MESSAGE_FD 2>&$PSI_ERROR_FD dnl done - printf "%s " "$1" >&66 + AS_ECHO_N(["$1 "]) + cd - >/dev/null + dnl run dependents $3 - wait + + PSI_CONFIG_WAIT ) & ]) @@ -285,7 +298,13 @@ AC_DEFUN(PSI_LEMON, [ if test -z "$LEMON" then AC_PATH_PROG(LEMON, lemon, $PHP_PSI_BUILDDIR/lemon) + if expr + "$LEMON" : "/" >/dev/null; then + LEMON_PATH= + else + LEMON_PATH=$abs_builddir/ + fi fi + PHP_SUBST(LEMON_PATH) PHP_SUBST(LEMON) ]) diff --git a/m4/psi/psi_const.m4 b/m4/psi/psi_const.m4 index 57edff4..e98561d 100644 --- a/m4/psi/psi_const.m4 +++ b/m4/psi/psi_const.m4 @@ -17,16 +17,13 @@ dnl Check the value of a str/int constant and add it to the list of pre-defined dnl constants. AC_DEFUN(PSI_CONST, [ AC_CHECK_DECL($1, [ - if test "$psi_cv_const_$1" - then - case $2 in - str*) - psi_add_str_const "$1" - ;; - int) - psi_add_int_const "$1" - ;; - esac - fi + case $2 in + str*) + psi_add_str_const "$1" + ;; + int) + psi_add_int_const "$1" + ;; + esac ],, [PSI_INCLUDES]) ]) diff --git a/src/parser_proc.c b/src/parser_proc.c index bf4cde3..316805e 100644 --- a/src/parser_proc.c +++ b/src/parser_proc.c @@ -24,7 +24,7 @@ */ #include /************ Begin %include sections from the grammar ************************/ -#line 1 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 1 "src/parser_proc.y" #include "php_psi_stdinc.h" @@ -58,7 +58,7 @@ void psi_parser_proc_free(void **parser_proc) } } -#line 62 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 62 "src/parser_proc.c" /**************** End of %include directives **********************************/ /* These constants specify the various numeric values for terminal symbols ** in a format understandable to "makeheaders". This section is blank unless @@ -1086,9 +1086,9 @@ static void yy_destructor( case 85: /* FUNCTION */ case 86: /* DOLLAR_NAME */ { -#line 37 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 37 "src/parser_proc.y" free((yypminor->yy0)); -#line 1092 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 1092 "src/parser_proc.c" } break; /* Default NON-TERMINAL Destructor */ @@ -1111,16 +1111,16 @@ free((yypminor->yy0)); case 156: /* decl_scalar_type_long_long */ case 157: /* callback_rval */ { -#line 38 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 38 "src/parser_proc.y" (void)P; -#line 1117 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 1117 "src/parser_proc.c" } break; case 88: /* decl_enum */ { -#line 60 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 60 "src/parser_proc.y" psi_decl_enum_free(&(yypminor->yy63)); -#line 1124 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 1124 "src/parser_proc.c" } break; case 89: /* decl_enum_items */ @@ -1136,44 +1136,44 @@ psi_decl_enum_free(&(yypminor->yy63)); case 135: /* set_exps */ case 139: /* free_exps */ { -#line 62 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 62 "src/parser_proc.y" psi_plist_free((yypminor->yy163)); -#line 1142 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 1142 "src/parser_proc.c" } break; case 90: /* decl_enum_item */ { -#line 64 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 64 "src/parser_proc.y" psi_decl_enum_item_free(&(yypminor->yy217)); -#line 1149 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 1149 "src/parser_proc.c" } break; case 93: /* decl_struct */ { -#line 70 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 70 "src/parser_proc.y" psi_decl_struct_free(&(yypminor->yy275)); -#line 1156 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 1156 "src/parser_proc.c" } break; case 95: /* decl_union */ { -#line 73 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 73 "src/parser_proc.y" psi_decl_union_free(&(yypminor->yy271)); -#line 1163 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 1163 "src/parser_proc.c" } break; case 96: /* const_type */ { -#line 75 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 75 "src/parser_proc.y" psi_const_type_free(&(yypminor->yy171)); -#line 1170 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 1170 "src/parser_proc.c" } break; case 97: /* constant */ { -#line 77 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 77 "src/parser_proc.y" psi_const_free(&(yypminor->yy154)); -#line 1177 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 1177 "src/parser_proc.c" } break; case 98: /* decl_typedef */ @@ -1183,194 +1183,194 @@ psi_const_free(&(yypminor->yy154)); case 107: /* decl_arg */ case 110: /* struct_arg */ { -#line 79 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 79 "src/parser_proc.y" psi_decl_arg_free(&(yypminor->yy184)); -#line 1189 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 1189 "src/parser_proc.c" } break; case 102: /* decl */ { -#line 87 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 87 "src/parser_proc.y" psi_decl_free(&(yypminor->yy103)); -#line 1196 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 1196 "src/parser_proc.c" } break; case 104: /* decl_abi */ { -#line 91 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 91 "src/parser_proc.y" psi_decl_abi_free(&(yypminor->yy218)); -#line 1203 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 1203 "src/parser_proc.c" } break; case 105: /* decl_var */ { -#line 93 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 93 "src/parser_proc.y" psi_decl_var_free(&(yypminor->yy11)); -#line 1210 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 1210 "src/parser_proc.c" } break; case 111: /* decl_layout */ { -#line 105 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 105 "src/parser_proc.y" psi_layout_free(&(yypminor->yy141)); -#line 1217 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 1217 "src/parser_proc.c" } break; case 112: /* decl_type */ case 113: /* const_decl_type */ { -#line 107 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 107 "src/parser_proc.y" psi_decl_type_free(&(yypminor->yy132)); -#line 1225 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 1225 "src/parser_proc.c" } break; case 114: /* impl */ { -#line 111 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 111 "src/parser_proc.y" psi_impl_free(&(yypminor->yy97)); -#line 1232 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 1232 "src/parser_proc.c" } break; case 115: /* impl_func */ { -#line 113 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 113 "src/parser_proc.y" psi_impl_func_free(&(yypminor->yy168)); -#line 1239 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 1239 "src/parser_proc.c" } break; case 116: /* impl_def_val */ { -#line 115 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 115 "src/parser_proc.y" psi_impl_def_val_free(&(yypminor->yy93)); -#line 1246 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 1246 "src/parser_proc.c" } break; case 117: /* impl_var */ { -#line 117 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 117 "src/parser_proc.y" psi_impl_var_free(&(yypminor->yy37)); -#line 1253 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 1253 "src/parser_proc.c" } break; case 118: /* impl_arg */ case 120: /* impl_vararg */ { -#line 119 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 119 "src/parser_proc.y" psi_impl_arg_free(&(yypminor->yy210)); -#line 1261 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 1261 "src/parser_proc.c" } break; case 122: /* impl_stmt */ { -#line 127 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 127 "src/parser_proc.y" psi_impl_stmt_free(&(yypminor->yy78)); -#line 1268 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 1268 "src/parser_proc.c" } break; case 123: /* number */ { -#line 129 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 129 "src/parser_proc.y" psi_number_free(&(yypminor->yy188)); -#line 1275 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 1275 "src/parser_proc.c" } break; case 124: /* num_exp */ { -#line 131 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 131 "src/parser_proc.y" psi_num_exp_free(&(yypminor->yy259)); -#line 1282 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 1282 "src/parser_proc.c" } break; case 125: /* let_stmt */ { -#line 133 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 133 "src/parser_proc.y" psi_let_stmt_free(&(yypminor->yy311)); -#line 1289 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 1289 "src/parser_proc.c" } break; case 126: /* let_calloc */ { -#line 135 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 135 "src/parser_proc.y" psi_let_calloc_free(&(yypminor->yy9)); -#line 1296 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 1296 "src/parser_proc.c" } break; case 127: /* let_func */ { -#line 137 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 137 "src/parser_proc.y" psi_let_func_free(&(yypminor->yy27)); -#line 1303 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 1303 "src/parser_proc.c" } break; case 128: /* callback_arg_list */ case 129: /* callback_args */ { -#line 139 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 139 "src/parser_proc.y" psi_plist_free((yypminor->yy43)); -#line 1311 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 1311 "src/parser_proc.c" } break; case 130: /* let_callback */ { -#line 143 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 143 "src/parser_proc.y" psi_let_callback_free(&(yypminor->yy220)); -#line 1318 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 1318 "src/parser_proc.c" } break; case 131: /* let_exp */ { -#line 145 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 145 "src/parser_proc.y" psi_let_exp_free(&(yypminor->yy20)); -#line 1325 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 1325 "src/parser_proc.c" } break; case 133: /* set_stmt */ { -#line 149 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 149 "src/parser_proc.y" psi_set_stmt_free(&(yypminor->yy98)); -#line 1332 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 1332 "src/parser_proc.c" } break; case 134: /* set_exp */ { -#line 151 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 151 "src/parser_proc.y" psi_set_exp_free(&(yypminor->yy147)); -#line 1339 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 1339 "src/parser_proc.c" } break; case 136: /* set_func */ { -#line 155 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 155 "src/parser_proc.y" psi_set_func_free(&(yypminor->yy26)); -#line 1346 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 1346 "src/parser_proc.c" } break; case 137: /* return_stmt */ { -#line 157 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 157 "src/parser_proc.y" psi_return_stmt_free(&(yypminor->yy90)); -#line 1353 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 1353 "src/parser_proc.c" } break; case 138: /* free_stmt */ { -#line 159 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 159 "src/parser_proc.y" psi_free_stmt_free(&(yypminor->yy192)); -#line 1360 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 1360 "src/parser_proc.c" } break; case 140: /* free_exp */ { -#line 163 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 163 "src/parser_proc.y" psi_free_exp_free(&(yypminor->yy94)); -#line 1367 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 1367 "src/parser_proc.c" } break; case 141: /* impl_type */ { -#line 165 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 165 "src/parser_proc.y" psi_impl_type_free(&(yypminor->yy138)); -#line 1374 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 1374 "src/parser_proc.c" } break; /********* End destructor definitions *****************************************/ @@ -1843,7 +1843,7 @@ static void yy_reduce( /********** Begin reduce actions **********************************************/ YYMINORTYPE yylhsminor; case 0: /* block ::= LIB QUOTED_STRING EOS */ -#line 174 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 174 "src/parser_proc.y" { if (P->file.ln) { P->error(PSI_DATA(P), yymsp[-2].minor.yy0, PSI_WARNING, "Extra 'lib %s' statement has no effect", yymsp[-1].minor.yy0->text); @@ -1853,31 +1853,31 @@ static void yy_reduce( free(yymsp[-1].minor.yy0); free(yymsp[-2].minor.yy0); } -#line 1857 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 1857 "src/parser_proc.c" yy_destructor(yypParser,63,&yymsp[0].minor); break; case 1: /* block ::= decl */ -#line 183 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 183 "src/parser_proc.y" { if (!P->decls) { P->decls = psi_plist_init((psi_plist_dtor) psi_decl_free); } P->decls = psi_plist_add(P->decls, &yymsp[0].minor.yy103); } -#line 1868 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 1868 "src/parser_proc.c" break; case 2: /* block ::= impl */ -#line 189 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 189 "src/parser_proc.y" { if (!P->impls) { P->impls = psi_plist_init((psi_plist_dtor) psi_impl_free); } P->impls = psi_plist_add(P->impls, &yymsp[0].minor.yy97); } -#line 1878 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 1878 "src/parser_proc.c" break; case 3: /* block ::= decl_typedef */ -#line 195 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 195 "src/parser_proc.y" { if (!P->types) { P->types = psi_plist_init((psi_plist_dtor) psi_decl_arg_free); @@ -1910,58 +1910,58 @@ static void yy_reduce( break; } } -#line 1914 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 1914 "src/parser_proc.c" break; case 4: /* block ::= constant */ -#line 227 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 227 "src/parser_proc.y" { if (!P->consts) { P->consts = psi_plist_init((psi_plist_dtor) psi_const_free); } P->consts = psi_plist_add(P->consts, &yymsp[0].minor.yy154); } -#line 1924 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 1924 "src/parser_proc.c" break; case 5: /* block ::= decl_struct */ -#line 233 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 233 "src/parser_proc.y" { if (!P->structs) { P->structs = psi_plist_init((psi_plist_dtor) psi_decl_struct_free); } P->structs = psi_plist_add(P->structs, &yymsp[0].minor.yy275); } -#line 1934 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 1934 "src/parser_proc.c" break; case 6: /* block ::= decl_union */ -#line 239 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 239 "src/parser_proc.y" { if (!P->unions) { P->unions = psi_plist_init((psi_plist_dtor) psi_decl_union_free); } P->unions = psi_plist_add(P->unions, &yymsp[0].minor.yy271); } -#line 1944 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 1944 "src/parser_proc.c" break; case 7: /* block ::= decl_enum */ -#line 245 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 245 "src/parser_proc.y" { if (!P->enums) { P->enums = psi_plist_init((psi_plist_dtor) psi_decl_enum_free); } P->enums = psi_plist_add(P->enums, &yymsp[0].minor.yy63); } -#line 1954 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 1954 "src/parser_proc.c" break; case 8: /* optional_name ::= */ case 42: /* decl_var_array_size ::= */ yytestcase(yyruleno==42); case 64: /* decl_scalar_type_short ::= */ yytestcase(yyruleno==64); case 68: /* decl_scalar_type_long ::= */ yytestcase(yyruleno==68); case 71: /* decl_scalar_type_long_long ::= */ yytestcase(yyruleno==71); -#line 251 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 251 "src/parser_proc.y" { yymsp[1].minor.yy0 = NULL; } -#line 1965 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 1965 "src/parser_proc.c" break; case 9: /* optional_name ::= NAME */ case 62: /* decl_scalar_type ::= CHAR */ yytestcase(yyruleno==62); @@ -1971,31 +1971,31 @@ static void yy_reduce( case 72: /* decl_scalar_type_long_long ::= INT */ yytestcase(yyruleno==72); case 130: /* callback_rval ::= ZVAL|OBJVAL|ARRVAL|PATHVAL|STRLEN|STRVAL|FLOATVAL|INTVAL|BOOLVAL|COUNT */ yytestcase(yyruleno==130); case 131: /* callback_rval ::= VOID */ yytestcase(yyruleno==131); -#line 254 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 254 "src/parser_proc.y" { yylhsminor.yy0 = yymsp[0].minor.yy0; } -#line 1979 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 1979 "src/parser_proc.c" yymsp[0].minor.yy0 = yylhsminor.yy0; break; case 10: /* align_and_size ::= */ -#line 257 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 257 "src/parser_proc.y" { yymsp[1].minor.yy91.pos = 0; yymsp[1].minor.yy91.len = 0; } -#line 1988 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 1988 "src/parser_proc.c" break; case 11: /* align_and_size ::= COLON COLON LPAREN NUMBER COMMA NUMBER RPAREN */ { yy_destructor(yypParser,64,&yymsp[-6].minor); -#line 261 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 261 "src/parser_proc.y" { yymsp[-6].minor.yy91.pos = atol(yymsp[-3].minor.yy0->text); yymsp[-6].minor.yy91.len = atol(yymsp[-1].minor.yy0->text); free(yymsp[-3].minor.yy0); free(yymsp[-1].minor.yy0); } -#line 1999 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 1999 "src/parser_proc.c" yy_destructor(yypParser,64,&yymsp[-5].minor); yy_destructor(yypParser,65,&yymsp[-4].minor); yy_destructor(yypParser,66,&yymsp[-2].minor); @@ -2005,7 +2005,7 @@ static void yy_reduce( case 12: /* enum_name ::= ENUM optional_name */ case 13: /* struct_name ::= STRUCT optional_name */ yytestcase(yyruleno==13); case 14: /* union_name ::= UNION optional_name */ yytestcase(yyruleno==14); -#line 267 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 267 "src/parser_proc.y" { if (yymsp[0].minor.yy0) { yylhsminor.yy0 = yymsp[0].minor.yy0; @@ -2016,141 +2016,141 @@ static void yy_reduce( yylhsminor.yy0 = psi_token_translit(psi_token_append(yymsp[-1].minor.yy0, 1, digest), " ", "@"); } } -#line 2020 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2020 "src/parser_proc.c" yymsp[-1].minor.yy0 = yylhsminor.yy0; break; case 15: /* decl_enum ::= enum_name LBRACE decl_enum_items RBRACE */ -#line 297 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 297 "src/parser_proc.y" { yylhsminor.yy63 = psi_decl_enum_init(yymsp[-3].minor.yy0->text, yymsp[-1].minor.yy163); yylhsminor.yy63->token = yymsp[-3].minor.yy0; } -#line 2029 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2029 "src/parser_proc.c" yy_destructor(yypParser,71,&yymsp[-2].minor); yy_destructor(yypParser,72,&yymsp[0].minor); yymsp[-3].minor.yy63 = yylhsminor.yy63; break; case 16: /* decl_enum_items ::= decl_enum_item */ -#line 301 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 301 "src/parser_proc.y" { yylhsminor.yy163 = psi_plist_add(psi_plist_init((psi_plist_dtor) psi_decl_enum_item_free), &yymsp[0].minor.yy217); } -#line 2040 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2040 "src/parser_proc.c" yymsp[0].minor.yy163 = yylhsminor.yy163; break; case 17: /* decl_enum_items ::= decl_enum_items COMMA decl_enum_item */ -#line 305 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 305 "src/parser_proc.y" { yylhsminor.yy163 = psi_plist_add(yymsp[-2].minor.yy163, &yymsp[0].minor.yy217); } -#line 2048 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2048 "src/parser_proc.c" yy_destructor(yypParser,66,&yymsp[-1].minor); yymsp[-2].minor.yy163 = yylhsminor.yy163; break; case 18: /* decl_enum_item ::= NAME EQUALS num_exp */ -#line 308 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 308 "src/parser_proc.y" { yylhsminor.yy217 = psi_decl_enum_item_init(yymsp[-2].minor.yy0->text, yymsp[0].minor.yy259); yylhsminor.yy217->token = yymsp[-2].minor.yy0; } -#line 2058 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2058 "src/parser_proc.c" yy_destructor(yypParser,73,&yymsp[-1].minor); yymsp[-2].minor.yy217 = yylhsminor.yy217; break; case 19: /* decl_enum_item ::= NAME */ -#line 312 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 312 "src/parser_proc.y" { yylhsminor.yy217 = psi_decl_enum_item_init(yymsp[0].minor.yy0->text, NULL); yylhsminor.yy217->token = yymsp[0].minor.yy0; } -#line 2068 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2068 "src/parser_proc.c" yymsp[0].minor.yy217 = yylhsminor.yy217; break; case 20: /* decl_struct_args_block ::= LBRACE struct_args RBRACE */ { yy_destructor(yypParser,71,&yymsp[-2].minor); -#line 316 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 316 "src/parser_proc.y" { yymsp[-2].minor.yy163 = yymsp[-1].minor.yy163; } -#line 2077 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2077 "src/parser_proc.c" yy_destructor(yypParser,72,&yymsp[0].minor); } break; case 21: /* decl_struct_args ::= decl_struct_args_block */ -#line 319 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 319 "src/parser_proc.y" { yylhsminor.yy163 = yymsp[0].minor.yy163; } -#line 2086 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2086 "src/parser_proc.c" yymsp[0].minor.yy163 = yylhsminor.yy163; break; case 22: /* decl_struct_args ::= EOS */ { yy_destructor(yypParser,63,&yymsp[0].minor); -#line 322 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 322 "src/parser_proc.y" { yymsp[0].minor.yy163 = psi_plist_init((psi_plist_dtor) psi_decl_arg_free); } -#line 2095 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2095 "src/parser_proc.c" } break; case 23: /* decl_struct ::= STRUCT NAME align_and_size decl_struct_args */ { yy_destructor(yypParser,69,&yymsp[-3].minor); -#line 325 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 325 "src/parser_proc.y" { yymsp[-3].minor.yy275 = psi_decl_struct_init(yymsp[-2].minor.yy0->text, yymsp[0].minor.yy163); yymsp[-3].minor.yy275->align = yymsp[-1].minor.yy91.pos; yymsp[-3].minor.yy275->size = yymsp[-1].minor.yy91.len; yymsp[-3].minor.yy275->token = yymsp[-2].minor.yy0; } -#line 2107 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2107 "src/parser_proc.c" } break; case 24: /* decl_union ::= UNION NAME align_and_size decl_struct_args */ { yy_destructor(yypParser,70,&yymsp[-3].minor); -#line 331 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 331 "src/parser_proc.y" { yymsp[-3].minor.yy271 = psi_decl_union_init(yymsp[-2].minor.yy0->text, yymsp[0].minor.yy163); yymsp[-3].minor.yy271->align = yymsp[-1].minor.yy91.pos; yymsp[-3].minor.yy271->size = yymsp[-1].minor.yy91.len; yymsp[-3].minor.yy271->token = yymsp[-2].minor.yy0; } -#line 2119 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2119 "src/parser_proc.c" } break; case 25: /* const_type ::= BOOL|INT|FLOAT|STRING */ -#line 337 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 337 "src/parser_proc.y" { yylhsminor.yy171 = psi_const_type_init(yymsp[0].minor.yy0->type, yymsp[0].minor.yy0->text); free(yymsp[0].minor.yy0); } -#line 2128 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2128 "src/parser_proc.c" yymsp[0].minor.yy171 = yylhsminor.yy171; break; case 26: /* constant ::= CONST const_type NSNAME EQUALS impl_def_val EOS */ { yy_destructor(yypParser,74,&yymsp[-5].minor); -#line 341 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 341 "src/parser_proc.y" { yymsp[-5].minor.yy154 = psi_const_init(yymsp[-4].minor.yy171, yymsp[-3].minor.yy0->text, yymsp[-1].minor.yy93); yymsp[-5].minor.yy154->token = yymsp[-3].minor.yy0; } -#line 2138 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2138 "src/parser_proc.c" yy_destructor(yypParser,73,&yymsp[-2].minor); yy_destructor(yypParser,63,&yymsp[0].minor); } break; case 27: /* decl_typedef ::= TYPEDEF decl_typedef_body EOS */ -#line 345 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 345 "src/parser_proc.y" { yylhsminor.yy184 = yymsp[-1].minor.yy184; yylhsminor.yy184->token = yymsp[-2].minor.yy0; } -#line 2149 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2149 "src/parser_proc.c" yy_destructor(yypParser,63,&yymsp[0].minor); yymsp[-2].minor.yy184 = yylhsminor.yy184; break; case 28: /* decl_typedef_body_ex ::= struct_name align_and_size decl_struct_args_block decl_var */ -#line 349 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 349 "src/parser_proc.y" { yylhsminor.yy184 = psi_decl_arg_init(psi_decl_type_init(PSI_T_STRUCT, yymsp[-3].minor.yy0->text), yymsp[0].minor.yy11); yylhsminor.yy184->type->token = psi_token_copy(yymsp[-3].minor.yy0); @@ -2159,11 +2159,11 @@ static void yy_reduce( yylhsminor.yy184->type->real.strct->align = yymsp[-2].minor.yy91.pos; yylhsminor.yy184->type->real.strct->size = yymsp[-2].minor.yy91.len; } -#line 2163 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2163 "src/parser_proc.c" yymsp[-3].minor.yy184 = yylhsminor.yy184; break; case 29: /* decl_typedef_body_ex ::= union_name align_and_size decl_struct_args_block decl_var */ -#line 357 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 357 "src/parser_proc.y" { yylhsminor.yy184 = psi_decl_arg_init(psi_decl_type_init(PSI_T_UNION, yymsp[-3].minor.yy0->text), yymsp[0].minor.yy11); yylhsminor.yy184->type->token = psi_token_copy(yymsp[-3].minor.yy0); @@ -2172,68 +2172,68 @@ static void yy_reduce( yylhsminor.yy184->type->real.unn->align = yymsp[-2].minor.yy91.pos; yylhsminor.yy184->type->real.unn->size = yymsp[-2].minor.yy91.len; } -#line 2176 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2176 "src/parser_proc.c" yymsp[-3].minor.yy184 = yylhsminor.yy184; break; case 30: /* decl_typedef_body_ex ::= decl_enum NAME */ -#line 365 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 365 "src/parser_proc.y" { yylhsminor.yy184 = psi_decl_arg_init(psi_decl_type_init(PSI_T_ENUM, yymsp[-1].minor.yy63->name), psi_decl_var_init(yymsp[0].minor.yy0->text, 0, 0)); yylhsminor.yy184->var->token = yymsp[0].minor.yy0; yylhsminor.yy184->type->token = psi_token_copy(yymsp[-1].minor.yy63->token); yylhsminor.yy184->type->real.enm = yymsp[-1].minor.yy63; } -#line 2187 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2187 "src/parser_proc.c" yymsp[-1].minor.yy184 = yylhsminor.yy184; break; case 31: /* decl_typedef_body ::= decl_typedef_body_ex */ case 34: /* decl_typedef_body ::= decl_arg */ yytestcase(yyruleno==34); case 37: /* decl_func ::= decl_arg */ yytestcase(yyruleno==37); -#line 371 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 371 "src/parser_proc.y" { yylhsminor.yy184 = yymsp[0].minor.yy184; } -#line 2197 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2197 "src/parser_proc.c" yymsp[0].minor.yy184 = yylhsminor.yy184; break; case 32: /* decl_typedef_body_fn_args ::= LPAREN decl_args RPAREN */ { yy_destructor(yypParser,65,&yymsp[-2].minor); -#line 374 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 374 "src/parser_proc.y" { yymsp[-2].minor.yy163 = yymsp[-1].minor.yy163; } -#line 2206 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2206 "src/parser_proc.c" yy_destructor(yypParser,67,&yymsp[0].minor); } break; case 33: /* decl_typedef_body ::= decl_func decl_typedef_body_fn_args */ -#line 377 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 377 "src/parser_proc.y" { yylhsminor.yy184 = psi_decl_arg_init(psi_decl_type_init(PSI_T_FUNCTION, yymsp[-1].minor.yy184->var->name), psi_decl_var_copy(yymsp[-1].minor.yy184->var)); yylhsminor.yy184->type->token = psi_token_copy(yymsp[-1].minor.yy184->token); yylhsminor.yy184->type->real.func = psi_decl_init(psi_decl_abi_init("default"), yymsp[-1].minor.yy184, yymsp[0].minor.yy163); } -#line 2217 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2217 "src/parser_proc.c" yymsp[-1].minor.yy184 = yylhsminor.yy184; break; case 35: /* decl ::= decl_abi decl_func LPAREN decl_args RPAREN EOS */ -#line 385 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 385 "src/parser_proc.y" { yylhsminor.yy103 = psi_decl_init(yymsp[-5].minor.yy218, yymsp[-4].minor.yy184, yymsp[-2].minor.yy163); } -#line 2225 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2225 "src/parser_proc.c" yy_destructor(yypParser,65,&yymsp[-3].minor); yy_destructor(yypParser,67,&yymsp[-1].minor); yy_destructor(yypParser,63,&yymsp[0].minor); yymsp[-5].minor.yy103 = yylhsminor.yy103; break; case 36: /* decl ::= decl_abi decl_func LPAREN decl_args COMMA ELLIPSIS RPAREN EOS */ -#line 388 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 388 "src/parser_proc.y" { yylhsminor.yy103 = psi_decl_init(yymsp[-7].minor.yy218, yymsp[-6].minor.yy184, yymsp[-4].minor.yy163); yylhsminor.yy103->varargs = 1; } -#line 2237 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2237 "src/parser_proc.c" yy_destructor(yypParser,65,&yymsp[-5].minor); yy_destructor(yypParser,66,&yymsp[-3].minor); yy_destructor(yypParser,76,&yymsp[-2].minor); @@ -2242,7 +2242,7 @@ static void yy_reduce( yymsp[-7].minor.yy103 = yylhsminor.yy103; break; case 38: /* decl_func ::= VOID NAME */ -#line 395 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 395 "src/parser_proc.y" { yylhsminor.yy184 = psi_decl_arg_init( psi_decl_type_init(yymsp[-1].minor.yy0->type, yymsp[-1].minor.yy0->text), @@ -2252,11 +2252,11 @@ static void yy_reduce( yylhsminor.yy184->var->token = yymsp[0].minor.yy0; yylhsminor.yy184->token = yymsp[0].minor.yy0; } -#line 2256 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2256 "src/parser_proc.c" yymsp[-1].minor.yy184 = yylhsminor.yy184; break; case 39: /* decl_typedef_body ::= VOID indirection LPAREN indirection NAME RPAREN decl_typedef_body_fn_args */ -#line 404 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 404 "src/parser_proc.y" { struct psi_decl_arg *func_ = psi_decl_arg_init( psi_decl_type_init(yymsp[-6].minor.yy0->type, yymsp[-6].minor.yy0->text), @@ -2273,14 +2273,14 @@ static void yy_reduce( yylhsminor.yy184->type->token = psi_token_copy(func_->token); yylhsminor.yy184->type->real.func = psi_decl_init(psi_decl_abi_init("default"), func_, yymsp[0].minor.yy163); } -#line 2277 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2277 "src/parser_proc.c" yy_destructor(yypParser,65,&yymsp[-4].minor); yy_destructor(yypParser,67,&yymsp[-1].minor); yymsp[-6].minor.yy184 = yylhsminor.yy184; break; case 40: /* decl_typedef_body ::= CONST VOID pointers LPAREN indirection NAME RPAREN decl_typedef_body_fn_args */ { yy_destructor(yypParser,74,&yymsp[-7].minor); -#line 420 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 420 "src/parser_proc.y" { struct psi_decl_arg *func_ = psi_decl_arg_init( psi_decl_type_init(yymsp[-6].minor.yy0->type, yymsp[-6].minor.yy0->text), @@ -2297,32 +2297,32 @@ static void yy_reduce( yymsp[-7].minor.yy184->type->token = psi_token_copy(func_->token); yymsp[-7].minor.yy184->type->real.func = psi_decl_init(psi_decl_abi_init("default"), func_, yymsp[0].minor.yy163); } -#line 2301 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2301 "src/parser_proc.c" yy_destructor(yypParser,65,&yymsp[-4].minor); yy_destructor(yypParser,67,&yymsp[-1].minor); } break; case 41: /* decl_abi ::= NAME */ -#line 436 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 436 "src/parser_proc.y" { yylhsminor.yy218 = psi_decl_abi_init(yymsp[0].minor.yy0->text); yylhsminor.yy218->token = yymsp[0].minor.yy0; } -#line 2312 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2312 "src/parser_proc.c" yymsp[0].minor.yy218 = yylhsminor.yy218; break; case 43: /* decl_var_array_size ::= LBRACKET NUMBER RBRACKET */ { yy_destructor(yypParser,77,&yymsp[-2].minor); -#line 443 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 443 "src/parser_proc.y" { yymsp[-2].minor.yy0 = yymsp[-1].minor.yy0; } -#line 2321 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2321 "src/parser_proc.c" yy_destructor(yypParser,78,&yymsp[0].minor); } break; case 44: /* decl_var ::= NAME decl_var_array_size */ -#line 446 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 446 "src/parser_proc.y" { yylhsminor.yy11 = psi_decl_var_init(yymsp[-1].minor.yy0->text, 0, yymsp[0].minor.yy0?atol(yymsp[0].minor.yy0->text):0); yylhsminor.yy11->token = yymsp[-1].minor.yy0; @@ -2330,11 +2330,11 @@ static void yy_reduce( free(yymsp[0].minor.yy0); } } -#line 2334 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2334 "src/parser_proc.c" yymsp[-1].minor.yy11 = yylhsminor.yy11; break; case 45: /* decl_var ::= pointers NAME decl_var_array_size */ -#line 453 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 453 "src/parser_proc.y" { yylhsminor.yy11 = psi_decl_var_init(yymsp[-1].minor.yy0->text, yymsp[-2].minor.yy202+!!yymsp[0].minor.yy0, yymsp[0].minor.yy0?atol(yymsp[0].minor.yy0->text):0); yylhsminor.yy11->token = yymsp[-1].minor.yy0; @@ -2342,37 +2342,37 @@ static void yy_reduce( free(yymsp[0].minor.yy0); } } -#line 2346 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2346 "src/parser_proc.c" yymsp[-2].minor.yy11 = yylhsminor.yy11; break; case 46: /* decl_vars ::= decl_var */ -#line 460 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 460 "src/parser_proc.y" { yylhsminor.yy163 = psi_plist_add(psi_plist_init((psi_plist_dtor) psi_decl_var_free), &yymsp[0].minor.yy11); } -#line 2355 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2355 "src/parser_proc.c" yymsp[0].minor.yy163 = yylhsminor.yy163; break; case 47: /* decl_vars ::= decl_vars COMMA decl_var */ -#line 464 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 464 "src/parser_proc.y" { yylhsminor.yy163 = psi_plist_add(yymsp[-2].minor.yy163, &yymsp[0].minor.yy11); } -#line 2363 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2363 "src/parser_proc.c" yy_destructor(yypParser,66,&yymsp[-1].minor); yymsp[-2].minor.yy163 = yylhsminor.yy163; break; case 48: /* decl_arg ::= const_decl_type decl_var */ -#line 467 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 467 "src/parser_proc.y" { yylhsminor.yy184 = psi_decl_arg_init(yymsp[-1].minor.yy132, yymsp[0].minor.yy11); } -#line 2372 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2372 "src/parser_proc.c" yymsp[-1].minor.yy184 = yylhsminor.yy184; break; case 49: /* decl_typedef_body ::= const_decl_type indirection LPAREN indirection NAME RPAREN decl_typedef_body_fn_args */ -#line 470 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 470 "src/parser_proc.y" { struct psi_decl_arg *func_ = psi_decl_arg_init( yymsp[-6].minor.yy132, @@ -2388,13 +2388,13 @@ static void yy_reduce( yylhsminor.yy184->type->token = psi_token_copy(func_->token); yylhsminor.yy184->type->real.func = psi_decl_init(psi_decl_abi_init("default"), func_, yymsp[0].minor.yy163); } -#line 2392 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2392 "src/parser_proc.c" yy_destructor(yypParser,65,&yymsp[-4].minor); yy_destructor(yypParser,67,&yymsp[-1].minor); yymsp[-6].minor.yy184 = yylhsminor.yy184; break; case 50: /* decl_arg ::= VOID pointers NAME */ -#line 485 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 485 "src/parser_proc.y" { yylhsminor.yy184 = psi_decl_arg_init( psi_decl_type_init(yymsp[-2].minor.yy0->type, yymsp[-2].minor.yy0->text), @@ -2404,12 +2404,12 @@ static void yy_reduce( yylhsminor.yy184->var->token = yymsp[0].minor.yy0; yylhsminor.yy184->token = yymsp[0].minor.yy0; } -#line 2408 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2408 "src/parser_proc.c" yymsp[-2].minor.yy184 = yylhsminor.yy184; break; case 51: /* decl_arg ::= CONST VOID pointers NAME */ { yy_destructor(yypParser,74,&yymsp[-3].minor); -#line 494 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 494 "src/parser_proc.y" { yymsp[-3].minor.yy184 = psi_decl_arg_init( psi_decl_type_init(yymsp[-2].minor.yy0->type, yymsp[-2].minor.yy0->text), @@ -2419,54 +2419,54 @@ static void yy_reduce( yymsp[-3].minor.yy184->var->token = yymsp[0].minor.yy0; yymsp[-3].minor.yy184->token = yymsp[0].minor.yy0; } -#line 2423 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2423 "src/parser_proc.c" } break; case 52: /* decl_args ::= */ -#line 503 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 503 "src/parser_proc.y" { yymsp[1].minor.yy163 = NULL; } -#line 2431 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2431 "src/parser_proc.c" break; case 53: /* decl_args ::= VOID */ { yy_destructor(yypParser,49,&yymsp[0].minor); -#line 506 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 506 "src/parser_proc.y" { yymsp[0].minor.yy163 = NULL; } -#line 2439 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2439 "src/parser_proc.c" } break; case 54: /* decl_args ::= decl_arg */ case 56: /* struct_args ::= struct_arg */ yytestcase(yyruleno==56); -#line 509 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 509 "src/parser_proc.y" { yylhsminor.yy163 = psi_plist_add(psi_plist_init((psi_plist_dtor) psi_decl_arg_free), &yymsp[0].minor.yy184); } -#line 2449 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2449 "src/parser_proc.c" yymsp[0].minor.yy163 = yylhsminor.yy163; break; case 55: /* decl_args ::= decl_args COMMA decl_arg */ -#line 513 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 513 "src/parser_proc.y" { yylhsminor.yy163 = psi_plist_add(yymsp[-2].minor.yy163, &yymsp[0].minor.yy184); } -#line 2457 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2457 "src/parser_proc.c" yy_destructor(yypParser,66,&yymsp[-1].minor); yymsp[-2].minor.yy163 = yylhsminor.yy163; break; case 57: /* struct_args ::= struct_args struct_arg */ -#line 520 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 520 "src/parser_proc.y" { yylhsminor.yy163 = psi_plist_add(yymsp[-1].minor.yy163, &yymsp[0].minor.yy184); } -#line 2466 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2466 "src/parser_proc.c" yymsp[-1].minor.yy163 = yylhsminor.yy163; break; case 58: /* struct_arg ::= decl_typedef_body_ex EOS */ -#line 523 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 523 "src/parser_proc.y" { yylhsminor.yy184 = yymsp[-1].minor.yy184; switch (yymsp[-1].minor.yy184->type->type) { @@ -2496,36 +2496,36 @@ static void yy_reduce( break; } } -#line 2500 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2500 "src/parser_proc.c" yy_destructor(yypParser,63,&yymsp[0].minor); yymsp[-1].minor.yy184 = yylhsminor.yy184; break; case 59: /* struct_arg ::= decl_arg decl_layout EOS */ -#line 552 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 552 "src/parser_proc.y" { yymsp[-2].minor.yy184->layout = yymsp[-1].minor.yy141; yylhsminor.yy184 = yymsp[-2].minor.yy184; } -#line 2510 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2510 "src/parser_proc.c" yy_destructor(yypParser,63,&yymsp[0].minor); yymsp[-2].minor.yy184 = yylhsminor.yy184; break; case 60: /* decl_layout ::= */ -#line 556 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 556 "src/parser_proc.y" { yymsp[1].minor.yy141 = NULL; } -#line 2519 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2519 "src/parser_proc.c" break; case 61: /* decl_layout ::= COLON COLON LPAREN NUMBER COMMA NUMBER RPAREN */ { yy_destructor(yypParser,64,&yymsp[-6].minor); -#line 559 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 559 "src/parser_proc.y" { yymsp[-6].minor.yy141 = psi_layout_init(atol(yymsp[-3].minor.yy0->text), atol(yymsp[-1].minor.yy0->text)); free(yymsp[-3].minor.yy0); free(yymsp[-1].minor.yy0); } -#line 2529 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2529 "src/parser_proc.c" yy_destructor(yypParser,64,&yymsp[-5].minor); yy_destructor(yypParser,65,&yymsp[-4].minor); yy_destructor(yypParser,66,&yymsp[-2].minor); @@ -2535,7 +2535,7 @@ static void yy_reduce( case 63: /* decl_scalar_type ::= SHORT decl_scalar_type_short */ case 67: /* decl_scalar_type ::= LONG decl_scalar_type_long */ yytestcase(yyruleno==67); case 70: /* decl_scalar_type_long ::= LONG decl_scalar_type_long_long */ yytestcase(yyruleno==70); -#line 567 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 567 "src/parser_proc.y" { if (yymsp[0].minor.yy0) { yylhsminor.yy0 = psi_token_cat(2, yymsp[-1].minor.yy0, yymsp[0].minor.yy0); @@ -2545,12 +2545,12 @@ static void yy_reduce( yylhsminor.yy0 = yymsp[-1].minor.yy0; } } -#line 2549 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2549 "src/parser_proc.c" yymsp[-1].minor.yy0 = yylhsminor.yy0; break; case 73: /* decl_type ::= UNSIGNED decl_scalar_type */ case 74: /* decl_type ::= SIGNED decl_scalar_type */ yytestcase(yyruleno==74); -#line 615 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 615 "src/parser_proc.y" { struct psi_token *T = psi_token_cat(2, yymsp[-1].minor.yy0, yymsp[0].minor.yy0); yylhsminor.yy132 = psi_decl_type_init(T->type, T->text); @@ -2558,89 +2558,89 @@ static void yy_reduce( free(yymsp[-1].minor.yy0); free(yymsp[0].minor.yy0); } -#line 2562 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2562 "src/parser_proc.c" yymsp[-1].minor.yy132 = yylhsminor.yy132; break; case 75: /* decl_type ::= UNSIGNED */ case 76: /* decl_type ::= SIGNED */ yytestcase(yyruleno==76); -#line 629 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 629 "src/parser_proc.y" { yylhsminor.yy132 = psi_decl_type_init(PSI_T_NAME, yymsp[0].minor.yy0->text); yylhsminor.yy132->token = yymsp[0].minor.yy0; } -#line 2572 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2572 "src/parser_proc.c" yymsp[0].minor.yy132 = yylhsminor.yy132; break; case 77: /* decl_type ::= decl_scalar_type */ case 81: /* decl_type ::= FLOAT|DOUBLE|INT8|UINT8|INT16|UINT16|INT32|UINT32|INT64|UINT64|NAME */ yytestcase(yyruleno==81); -#line 637 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 637 "src/parser_proc.y" { yylhsminor.yy132 = psi_decl_type_init(yymsp[0].minor.yy0->type, yymsp[0].minor.yy0->text); yylhsminor.yy132->token = yymsp[0].minor.yy0; } -#line 2582 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2582 "src/parser_proc.c" yymsp[0].minor.yy132 = yylhsminor.yy132; break; case 78: /* decl_type ::= STRUCT NAME */ case 79: /* decl_type ::= UNION NAME */ yytestcase(yyruleno==79); case 80: /* decl_type ::= ENUM NAME */ yytestcase(yyruleno==80); -#line 641 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 641 "src/parser_proc.y" { yylhsminor.yy132 = psi_decl_type_init(yymsp[-1].minor.yy0->type, yymsp[0].minor.yy0->text); yylhsminor.yy132->token = yymsp[0].minor.yy0; free(yymsp[-1].minor.yy0); } -#line 2594 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2594 "src/parser_proc.c" yymsp[-1].minor.yy132 = yylhsminor.yy132; break; case 82: /* const_decl_type ::= decl_type */ -#line 660 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 660 "src/parser_proc.y" { yylhsminor.yy132 = yymsp[0].minor.yy132; } -#line 2602 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2602 "src/parser_proc.c" yymsp[0].minor.yy132 = yylhsminor.yy132; break; case 83: /* const_decl_type ::= CONST decl_type */ { yy_destructor(yypParser,74,&yymsp[-1].minor); -#line 663 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 663 "src/parser_proc.y" { yymsp[-1].minor.yy132 = yymsp[0].minor.yy132; } -#line 2611 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2611 "src/parser_proc.c" } break; case 84: /* impl ::= impl_func LBRACE impl_stmts RBRACE */ -#line 666 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 666 "src/parser_proc.y" { yylhsminor.yy97 = psi_impl_init(yymsp[-3].minor.yy168, yymsp[-1].minor.yy163); } -#line 2619 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2619 "src/parser_proc.c" yy_destructor(yypParser,71,&yymsp[-2].minor); yy_destructor(yypParser,72,&yymsp[0].minor); yymsp[-3].minor.yy97 = yylhsminor.yy97; break; case 85: /* impl ::= STATIC impl_func LBRACE impl_stmts RBRACE */ { yy_destructor(yypParser,84,&yymsp[-4].minor); -#line 669 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 669 "src/parser_proc.y" { yymsp[-3].minor.yy168->static_memory = 1; yymsp[-4].minor.yy97 = psi_impl_init(yymsp[-3].minor.yy168, yymsp[-1].minor.yy163); } -#line 2631 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2631 "src/parser_proc.c" yy_destructor(yypParser,71,&yymsp[-2].minor); yy_destructor(yypParser,72,&yymsp[0].minor); } break; case 86: /* impl_func ::= FUNCTION reference NSNAME LPAREN RPAREN COLON impl_type */ { yy_destructor(yypParser,85,&yymsp[-6].minor); -#line 673 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 673 "src/parser_proc.y" { yymsp[-6].minor.yy168 = psi_impl_func_init(yymsp[-4].minor.yy0->text, NULL, yymsp[0].minor.yy138); yymsp[-6].minor.yy168->token = yymsp[-4].minor.yy0; yymsp[-6].minor.yy168->return_reference = yymsp[-5].minor.yy121; } -#line 2644 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2644 "src/parser_proc.c" yy_destructor(yypParser,65,&yymsp[-3].minor); yy_destructor(yypParser,67,&yymsp[-2].minor); yy_destructor(yypParser,64,&yymsp[-1].minor); @@ -2648,13 +2648,13 @@ static void yy_reduce( break; case 87: /* impl_func ::= FUNCTION reference NSNAME LPAREN impl_args RPAREN COLON impl_type */ { yy_destructor(yypParser,85,&yymsp[-7].minor); -#line 678 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 678 "src/parser_proc.y" { yymsp[-7].minor.yy168 = psi_impl_func_init(yymsp[-5].minor.yy0->text, yymsp[-3].minor.yy163, yymsp[0].minor.yy138); yymsp[-7].minor.yy168->token = yymsp[-5].minor.yy0; yymsp[-7].minor.yy168->return_reference = yymsp[-6].minor.yy121; } -#line 2658 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2658 "src/parser_proc.c" yy_destructor(yypParser,65,&yymsp[-4].minor); yy_destructor(yypParser,67,&yymsp[-2].minor); yy_destructor(yypParser,64,&yymsp[-1].minor); @@ -2662,7 +2662,7 @@ static void yy_reduce( break; case 88: /* impl_func ::= FUNCTION reference NSNAME LPAREN impl_args COMMA impl_type reference ELLIPSIS DOLLAR_NAME RPAREN COLON impl_type */ { yy_destructor(yypParser,85,&yymsp[-12].minor); -#line 683 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 683 "src/parser_proc.y" { yymsp[-12].minor.yy168 = psi_impl_func_init(yymsp[-10].minor.yy0->text, yymsp[-8].minor.yy163, yymsp[0].minor.yy138); yymsp[-12].minor.yy168->token = yymsp[-10].minor.yy0; @@ -2670,7 +2670,7 @@ static void yy_reduce( yymsp[-12].minor.yy168->vararg = psi_impl_arg_init(yymsp[-6].minor.yy138, psi_impl_var_init(yymsp[-3].minor.yy0->text, yymsp[-5].minor.yy121), NULL); free(yymsp[-3].minor.yy0); } -#line 2674 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2674 "src/parser_proc.c" yy_destructor(yypParser,65,&yymsp[-9].minor); yy_destructor(yypParser,66,&yymsp[-7].minor); yy_destructor(yypParser,76,&yymsp[-4].minor); @@ -2679,293 +2679,293 @@ static void yy_reduce( } break; case 89: /* impl_def_val ::= NULL|NUMBER|TRUE|FALSE|QUOTED_STRING */ -#line 690 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 690 "src/parser_proc.y" { yylhsminor.yy93 = psi_impl_def_val_init(yymsp[0].minor.yy0->type, yymsp[0].minor.yy0->text); yylhsminor.yy93->token = yymsp[0].minor.yy0; } -#line 2688 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2688 "src/parser_proc.c" yymsp[0].minor.yy93 = yylhsminor.yy93; break; case 90: /* impl_var ::= reference DOLLAR_NAME */ -#line 694 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 694 "src/parser_proc.y" { yylhsminor.yy37 = psi_impl_var_init(yymsp[0].minor.yy0->text, yymsp[-1].minor.yy121); yylhsminor.yy37->token = yymsp[0].minor.yy0; } -#line 2697 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2697 "src/parser_proc.c" yymsp[-1].minor.yy37 = yylhsminor.yy37; break; case 91: /* impl_type ::= VOID|MIXED|BOOL|INT|FLOAT|STRING|ARRAY|OBJECT|CALLABLE */ -#line 698 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 698 "src/parser_proc.y" { yylhsminor.yy138 = psi_impl_type_init(yymsp[0].minor.yy0->type, yymsp[0].minor.yy0->text); free(yymsp[0].minor.yy0); } -#line 2706 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2706 "src/parser_proc.c" yymsp[0].minor.yy138 = yylhsminor.yy138; break; case 92: /* impl_arg ::= impl_type impl_var */ -#line 702 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 702 "src/parser_proc.y" { yylhsminor.yy210 = psi_impl_arg_init(yymsp[-1].minor.yy138, yymsp[0].minor.yy37, NULL); } -#line 2714 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2714 "src/parser_proc.c" yymsp[-1].minor.yy210 = yylhsminor.yy210; break; case 93: /* impl_arg ::= impl_type impl_var EQUALS impl_def_val */ -#line 705 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 705 "src/parser_proc.y" { yylhsminor.yy210 = psi_impl_arg_init(yymsp[-3].minor.yy138, yymsp[-2].minor.yy37, yymsp[0].minor.yy93); } -#line 2722 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2722 "src/parser_proc.c" yy_destructor(yypParser,73,&yymsp[-1].minor); yymsp[-3].minor.yy210 = yylhsminor.yy210; break; case 94: /* impl_args ::= impl_arg */ -#line 708 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 708 "src/parser_proc.y" { yylhsminor.yy163 = psi_plist_add(psi_plist_init((psi_plist_dtor) psi_impl_arg_free), &yymsp[0].minor.yy210); } -#line 2732 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2732 "src/parser_proc.c" yymsp[0].minor.yy163 = yylhsminor.yy163; break; case 95: /* impl_args ::= impl_args COMMA impl_arg */ -#line 712 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 712 "src/parser_proc.y" { yylhsminor.yy163 = psi_plist_add(yymsp[-2].minor.yy163, &yymsp[0].minor.yy210); } -#line 2740 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2740 "src/parser_proc.c" yy_destructor(yypParser,66,&yymsp[-1].minor); yymsp[-2].minor.yy163 = yylhsminor.yy163; break; case 96: /* impl_stmts ::= impl_stmt */ -#line 715 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 715 "src/parser_proc.y" { yylhsminor.yy163 = psi_plist_add(psi_plist_init((psi_plist_dtor) psi_impl_stmt_free), &yymsp[0].minor.yy78); } -#line 2750 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2750 "src/parser_proc.c" yymsp[0].minor.yy163 = yylhsminor.yy163; break; case 97: /* impl_stmts ::= impl_stmts impl_stmt */ -#line 719 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 719 "src/parser_proc.y" { yylhsminor.yy163 = psi_plist_add(yymsp[-1].minor.yy163, &yymsp[0].minor.yy78); } -#line 2758 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2758 "src/parser_proc.c" yymsp[-1].minor.yy163 = yylhsminor.yy163; break; case 98: /* impl_stmt ::= return_stmt */ -#line 722 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 722 "src/parser_proc.y" { yylhsminor.yy78 = (struct psi_token**) yymsp[0].minor.yy90; } -#line 2766 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2766 "src/parser_proc.c" yymsp[0].minor.yy78 = yylhsminor.yy78; break; case 99: /* impl_stmt ::= let_stmt */ -#line 725 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 725 "src/parser_proc.y" { yylhsminor.yy78 = (struct psi_token**) yymsp[0].minor.yy311; } -#line 2774 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2774 "src/parser_proc.c" yymsp[0].minor.yy78 = yylhsminor.yy78; break; case 100: /* impl_stmt ::= set_stmt */ -#line 728 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 728 "src/parser_proc.y" { yylhsminor.yy78 = (struct psi_token**) yymsp[0].minor.yy98; } -#line 2782 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2782 "src/parser_proc.c" yymsp[0].minor.yy78 = yylhsminor.yy78; break; case 101: /* impl_stmt ::= free_stmt */ -#line 731 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 731 "src/parser_proc.y" { yylhsminor.yy78 = (struct psi_token**) yymsp[0].minor.yy192; } -#line 2790 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2790 "src/parser_proc.c" yymsp[0].minor.yy78 = yylhsminor.yy78; break; case 102: /* number ::= NUMBER|NSNAME */ -#line 734 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 734 "src/parser_proc.y" { yylhsminor.yy188 = psi_number_init(yymsp[0].minor.yy0->type, yymsp[0].minor.yy0->text); yylhsminor.yy188->token = yymsp[0].minor.yy0; } -#line 2799 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2799 "src/parser_proc.c" yymsp[0].minor.yy188 = yylhsminor.yy188; break; case 103: /* number ::= decl_var */ -#line 738 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 738 "src/parser_proc.y" { yylhsminor.yy188 = psi_number_init(PSI_T_NAME, yymsp[0].minor.yy11); yylhsminor.yy188->token = psi_token_copy(yymsp[0].minor.yy11->token); } -#line 2808 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2808 "src/parser_proc.c" yymsp[0].minor.yy188 = yylhsminor.yy188; break; case 104: /* num_exp ::= number */ -#line 742 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 742 "src/parser_proc.y" { yylhsminor.yy259 = psi_num_exp_init_num(yymsp[0].minor.yy188); yylhsminor.yy259->token = psi_token_copy(yymsp[0].minor.yy188->token); } -#line 2817 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2817 "src/parser_proc.c" yymsp[0].minor.yy259 = yylhsminor.yy259; break; case 105: /* num_exp ::= LPAREN num_exp RPAREN */ -#line 746 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 746 "src/parser_proc.y" { yylhsminor.yy259 = psi_num_exp_init_unary(PSI_T_LPAREN, yymsp[-1].minor.yy259); yylhsminor.yy259->token = yymsp[-2].minor.yy0; } -#line 2826 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2826 "src/parser_proc.c" yy_destructor(yypParser,67,&yymsp[0].minor); yymsp[-2].minor.yy259 = yylhsminor.yy259; break; case 106: /* num_exp ::= num_exp PIPE|CARET|AMPERSAND|LSHIFT|RSHIFT|PLUS|MINUS|ASTERISK|SLASH|MODULO num_exp */ -#line 750 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 750 "src/parser_proc.y" { yylhsminor.yy259 = psi_num_exp_init_binary(yymsp[-1].minor.yy0->type, yymsp[-2].minor.yy259, yymsp[0].minor.yy259); yylhsminor.yy259->token = yymsp[-1].minor.yy0; } -#line 2836 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2836 "src/parser_proc.c" yymsp[-2].minor.yy259 = yylhsminor.yy259; break; case 107: /* num_exp ::= TILDE|NOT|PLUS|MINUS num_exp */ -#line 754 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 754 "src/parser_proc.y" { yylhsminor.yy259 = psi_num_exp_init_unary(yymsp[-1].minor.yy0->type, yymsp[0].minor.yy259); yylhsminor.yy259->token = yymsp[-1].minor.yy0; } -#line 2845 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2845 "src/parser_proc.c" yymsp[-1].minor.yy259 = yylhsminor.yy259; break; case 108: /* let_exp ::= NULL */ { yy_destructor(yypParser,15,&yymsp[0].minor); -#line 758 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 758 "src/parser_proc.y" { yymsp[0].minor.yy20 = psi_let_exp_init(PSI_LET_NULL, NULL); } -#line 2854 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2854 "src/parser_proc.c" } break; case 109: /* let_exp ::= AMPERSAND NULL */ { yy_destructor(yypParser,23,&yymsp[-1].minor); -#line 761 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 761 "src/parser_proc.y" { yymsp[-1].minor.yy20 = psi_let_exp_init(PSI_LET_NULL, NULL); yymsp[-1].minor.yy20->is_reference = 1; } -#line 2864 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2864 "src/parser_proc.c" yy_destructor(yypParser,15,&yymsp[0].minor); } break; case 110: /* let_exp ::= let_callback */ -#line 765 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 765 "src/parser_proc.y" { yylhsminor.yy20 = psi_let_exp_init(PSI_LET_CALLBACK, yymsp[0].minor.yy220); } -#line 2873 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2873 "src/parser_proc.c" yymsp[0].minor.yy20 = yylhsminor.yy20; break; case 111: /* let_exp ::= let_calloc */ -#line 768 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 768 "src/parser_proc.y" { yylhsminor.yy20 = psi_let_exp_init(PSI_LET_CALLOC, yymsp[0].minor.yy9); } -#line 2881 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2881 "src/parser_proc.c" yymsp[0].minor.yy20 = yylhsminor.yy20; break; case 112: /* let_exp ::= AMPERSAND let_calloc */ { yy_destructor(yypParser,23,&yymsp[-1].minor); -#line 771 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 771 "src/parser_proc.y" { yymsp[-1].minor.yy20 = psi_let_exp_init(PSI_LET_CALLOC, yymsp[0].minor.yy9); yymsp[-1].minor.yy20->is_reference = 1; } -#line 2891 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2891 "src/parser_proc.c" } break; case 113: /* let_exp ::= let_func */ -#line 775 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 775 "src/parser_proc.y" { yylhsminor.yy20 = psi_let_exp_init_ex(NULL, PSI_LET_FUNC, yymsp[0].minor.yy27); } -#line 2899 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2899 "src/parser_proc.c" yymsp[0].minor.yy20 = yylhsminor.yy20; break; case 114: /* let_exp ::= AMPERSAND let_func */ { yy_destructor(yypParser,23,&yymsp[-1].minor); -#line 778 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 778 "src/parser_proc.y" { yymsp[-1].minor.yy20 = psi_let_exp_init_ex(NULL, PSI_LET_FUNC, yymsp[0].minor.yy27); yymsp[-1].minor.yy20->is_reference = 1; } -#line 2909 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2909 "src/parser_proc.c" } break; case 115: /* let_exp ::= num_exp */ -#line 782 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 782 "src/parser_proc.y" { yylhsminor.yy20 = psi_let_exp_init_ex(NULL, PSI_LET_NUMEXP, yymsp[0].minor.yy259); } -#line 2917 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2917 "src/parser_proc.c" yymsp[0].minor.yy20 = yylhsminor.yy20; break; case 116: /* let_exp ::= AMPERSAND num_exp */ { yy_destructor(yypParser,23,&yymsp[-1].minor); -#line 785 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 785 "src/parser_proc.y" { yymsp[-1].minor.yy20 = psi_let_exp_init_ex(NULL, PSI_LET_NUMEXP, yymsp[0].minor.yy259); yymsp[-1].minor.yy20->is_reference = 1; } -#line 2927 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2927 "src/parser_proc.c" } break; case 117: /* let_exp ::= decl_var EQUALS let_exp */ -#line 789 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 789 "src/parser_proc.y" { yylhsminor.yy20 = yymsp[0].minor.yy20; yylhsminor.yy20->var = yymsp[-2].minor.yy11; } -#line 2936 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2936 "src/parser_proc.c" yy_destructor(yypParser,73,&yymsp[-1].minor); yymsp[-2].minor.yy20 = yylhsminor.yy20; break; case 118: /* let_stmt ::= LET let_exp EOS */ -#line 793 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 793 "src/parser_proc.y" { yylhsminor.yy311 = psi_let_stmt_init(yymsp[-1].minor.yy20); yylhsminor.yy311->token = yymsp[-2].minor.yy0; } -#line 2946 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2946 "src/parser_proc.c" yy_destructor(yypParser,63,&yymsp[0].minor); yymsp[-2].minor.yy311 = yylhsminor.yy311; break; case 119: /* let_stmt ::= TEMP decl_var EQUALS reference decl_var EOS */ -#line 797 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 797 "src/parser_proc.y" { yylhsminor.yy311 = psi_let_stmt_init(psi_let_exp_init_ex(yymsp[-4].minor.yy11, PSI_LET_TMP, yymsp[-1].minor.yy11)); yylhsminor.yy311->token = yymsp[-5].minor.yy0; yylhsminor.yy311->exp->is_reference = yymsp[-2].minor.yy121 ? 1 : 0; } -#line 2957 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2957 "src/parser_proc.c" yy_destructor(yypParser,73,&yymsp[-3].minor); yy_destructor(yypParser,63,&yymsp[0].minor); yymsp[-5].minor.yy311 = yylhsminor.yy311; break; case 120: /* let_callback ::= CALLBACK callback_rval LPAREN impl_var LPAREN callback_arg_list RPAREN RPAREN */ -#line 802 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 802 "src/parser_proc.y" { yylhsminor.yy220 = psi_let_callback_init(psi_let_func_init(yymsp[-6].minor.yy0->type, yymsp[-6].minor.yy0->text, yymsp[-4].minor.yy37), yymsp[-2].minor.yy43); yylhsminor.yy220->token = yymsp[-7].minor.yy0; free(yymsp[-6].minor.yy0); } -#line 2969 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2969 "src/parser_proc.c" yy_destructor(yypParser,65,&yymsp[-5].minor); yy_destructor(yypParser,65,&yymsp[-3].minor); yy_destructor(yypParser,67,&yymsp[-1].minor); @@ -2973,124 +2973,124 @@ static void yy_reduce( yymsp[-7].minor.yy220 = yylhsminor.yy220; break; case 121: /* let_calloc ::= CALLOC LPAREN num_exp COMMA num_exp RPAREN */ -#line 807 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 807 "src/parser_proc.y" { yylhsminor.yy9 = psi_let_calloc_init(yymsp[-3].minor.yy259, yymsp[-1].minor.yy259); yylhsminor.yy9->token = yymsp[-5].minor.yy0; } -#line 2982 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2982 "src/parser_proc.c" yy_destructor(yypParser,65,&yymsp[-4].minor); yy_destructor(yypParser,66,&yymsp[-2].minor); yy_destructor(yypParser,67,&yymsp[0].minor); yymsp[-5].minor.yy9 = yylhsminor.yy9; break; case 122: /* let_func ::= ZVAL|OBJVAL|ARRVAL|PATHVAL|STRLEN|STRVAL|FLOATVAL|INTVAL|BOOLVAL|COUNT LPAREN impl_var RPAREN */ -#line 811 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 811 "src/parser_proc.y" { yylhsminor.yy27 = psi_let_func_init(yymsp[-3].minor.yy0->type, yymsp[-3].minor.yy0->text, yymsp[-1].minor.yy37); yylhsminor.yy27->token = yymsp[-3].minor.yy0; } -#line 2994 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 2994 "src/parser_proc.c" yy_destructor(yypParser,65,&yymsp[-2].minor); yy_destructor(yypParser,67,&yymsp[0].minor); yymsp[-3].minor.yy27 = yylhsminor.yy27; break; case 123: /* let_func ::= ZVAL|OBJVAL|ARRVAL|PATHVAL|STRLEN|STRVAL|FLOATVAL|INTVAL|BOOLVAL|COUNT LPAREN impl_var COMMA let_exps RPAREN */ -#line 815 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 815 "src/parser_proc.y" { yylhsminor.yy27 = psi_let_func_init(yymsp[-5].minor.yy0->type, yymsp[-5].minor.yy0->text, yymsp[-3].minor.yy37); yylhsminor.yy27->token = yymsp[-5].minor.yy0; yylhsminor.yy27->inner = yymsp[-1].minor.yy163; } -#line 3006 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 3006 "src/parser_proc.c" yy_destructor(yypParser,65,&yymsp[-4].minor); yy_destructor(yypParser,66,&yymsp[-2].minor); yy_destructor(yypParser,67,&yymsp[0].minor); yymsp[-5].minor.yy27 = yylhsminor.yy27; break; case 124: /* let_exps ::= let_exp */ -#line 820 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 820 "src/parser_proc.y" { yylhsminor.yy163 = psi_plist_add(psi_plist_init((psi_plist_dtor) psi_let_exp_free), &yymsp[0].minor.yy20); } -#line 3018 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 3018 "src/parser_proc.c" yymsp[0].minor.yy163 = yylhsminor.yy163; break; case 125: /* let_exps ::= let_exps COMMA let_exp */ -#line 824 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 824 "src/parser_proc.y" { yylhsminor.yy163 = psi_plist_add(yymsp[-2].minor.yy163, &yymsp[0].minor.yy20); } -#line 3026 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 3026 "src/parser_proc.c" yy_destructor(yypParser,66,&yymsp[-1].minor); yymsp[-2].minor.yy163 = yylhsminor.yy163; break; case 126: /* callback_arg_list ::= */ -#line 827 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 827 "src/parser_proc.y" { yymsp[1].minor.yy43 = NULL; } -#line 3035 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 3035 "src/parser_proc.c" break; case 127: /* callback_arg_list ::= callback_args */ -#line 830 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 830 "src/parser_proc.y" { yylhsminor.yy43 = yymsp[0].minor.yy43; } -#line 3042 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 3042 "src/parser_proc.c" yymsp[0].minor.yy43 = yylhsminor.yy43; break; case 128: /* callback_args ::= set_exp */ -#line 833 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 833 "src/parser_proc.y" { yylhsminor.yy43 = psi_plist_add(psi_plist_init((psi_plist_dtor) psi_set_exp_free), &yymsp[0].minor.yy147); } -#line 3051 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 3051 "src/parser_proc.c" yymsp[0].minor.yy43 = yylhsminor.yy43; break; case 129: /* callback_args ::= callback_args COMMA set_exp */ -#line 837 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 837 "src/parser_proc.y" { yylhsminor.yy43 = psi_plist_add(yymsp[-2].minor.yy43, &yymsp[0].minor.yy147); } -#line 3059 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 3059 "src/parser_proc.c" yy_destructor(yypParser,66,&yymsp[-1].minor); yymsp[-2].minor.yy43 = yylhsminor.yy43; break; case 132: /* set_func ::= TO_OBJECT|TO_ARRAY|TO_STRING|TO_INT|TO_FLOAT|TO_BOOL|ZVAL|VOID LPAREN decl_var RPAREN */ -#line 846 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 846 "src/parser_proc.y" { yylhsminor.yy26 = psi_set_func_init(yymsp[-3].minor.yy0->type, yymsp[-3].minor.yy0->text, yymsp[-1].minor.yy11); yylhsminor.yy26->token = yymsp[-3].minor.yy0; } -#line 3069 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 3069 "src/parser_proc.c" yy_destructor(yypParser,65,&yymsp[-2].minor); yy_destructor(yypParser,67,&yymsp[0].minor); yymsp[-3].minor.yy26 = yylhsminor.yy26; break; case 133: /* set_func ::= TO_OBJECT|TO_ARRAY|TO_STRING|TO_INT|TO_FLOAT|TO_BOOL|ZVAL|VOID LPAREN decl_var COMMA set_exps RPAREN */ -#line 850 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 850 "src/parser_proc.y" { yylhsminor.yy26 = psi_set_func_init(yymsp[-5].minor.yy0->type, yymsp[-5].minor.yy0->text, yymsp[-3].minor.yy11); yylhsminor.yy26->token = yymsp[-5].minor.yy0; yylhsminor.yy26->inner = yymsp[-1].minor.yy163; } -#line 3081 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 3081 "src/parser_proc.c" yy_destructor(yypParser,65,&yymsp[-4].minor); yy_destructor(yypParser,66,&yymsp[-2].minor); yy_destructor(yypParser,67,&yymsp[0].minor); yymsp[-5].minor.yy26 = yylhsminor.yy26; break; case 134: /* set_func ::= TO_OBJECT|TO_ARRAY|TO_STRING|TO_INT|TO_FLOAT|TO_BOOL|ZVAL|VOID LPAREN decl_var COMMA ELLIPSIS RPAREN */ -#line 855 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 855 "src/parser_proc.y" { yylhsminor.yy26 = psi_set_func_init(yymsp[-5].minor.yy0->type, yymsp[-5].minor.yy0->text, yymsp[-3].minor.yy11); yylhsminor.yy26->token = yymsp[-5].minor.yy0; yylhsminor.yy26->recursive = 1; } -#line 3094 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 3094 "src/parser_proc.c" yy_destructor(yypParser,65,&yymsp[-4].minor); yy_destructor(yypParser,66,&yymsp[-2].minor); yy_destructor(yypParser,76,&yymsp[-1].minor); @@ -3098,196 +3098,196 @@ static void yy_reduce( yymsp[-5].minor.yy26 = yylhsminor.yy26; break; case 135: /* set_exp ::= set_func */ -#line 860 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 860 "src/parser_proc.y" { yylhsminor.yy147 = psi_set_exp_init(PSI_SET_FUNC, yymsp[0].minor.yy26); } -#line 3106 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 3106 "src/parser_proc.c" yymsp[0].minor.yy147 = yylhsminor.yy147; break; case 136: /* set_exp ::= num_exp */ -#line 863 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 863 "src/parser_proc.y" { yylhsminor.yy147 = psi_set_exp_init(PSI_SET_NUMEXP, yymsp[0].minor.yy259); } -#line 3114 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 3114 "src/parser_proc.c" yymsp[0].minor.yy147 = yylhsminor.yy147; break; case 137: /* set_exps ::= set_exp */ -#line 866 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 866 "src/parser_proc.y" { yylhsminor.yy163 = psi_plist_add(psi_plist_init((psi_plist_dtor) psi_set_exp_free), &yymsp[0].minor.yy147); } -#line 3123 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 3123 "src/parser_proc.c" yymsp[0].minor.yy163 = yylhsminor.yy163; break; case 138: /* set_exps ::= set_exps COMMA set_exp */ -#line 870 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 870 "src/parser_proc.y" { yylhsminor.yy163 = psi_plist_add(yymsp[-2].minor.yy163, &yymsp[0].minor.yy147); } -#line 3131 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 3131 "src/parser_proc.c" yy_destructor(yypParser,66,&yymsp[-1].minor); yymsp[-2].minor.yy163 = yylhsminor.yy163; break; case 139: /* set_exp ::= impl_var EQUALS set_exp */ -#line 873 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 873 "src/parser_proc.y" { yylhsminor.yy147 = yymsp[0].minor.yy147; yylhsminor.yy147->var = yymsp[-2].minor.yy37; } -#line 3141 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 3141 "src/parser_proc.c" yy_destructor(yypParser,73,&yymsp[-1].minor); yymsp[-2].minor.yy147 = yylhsminor.yy147; break; case 140: /* set_stmt ::= SET set_exp EOS */ -#line 877 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 877 "src/parser_proc.y" { yylhsminor.yy98 = psi_set_stmt_init(yymsp[-1].minor.yy147); yylhsminor.yy98->token = yymsp[-2].minor.yy0; } -#line 3151 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 3151 "src/parser_proc.c" yy_destructor(yypParser,63,&yymsp[0].minor); yymsp[-2].minor.yy98 = yylhsminor.yy98; break; case 141: /* return_stmt ::= RETURN set_func EOS */ -#line 881 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 881 "src/parser_proc.y" { yylhsminor.yy90 = psi_return_stmt_init(psi_set_exp_init(PSI_SET_FUNC, yymsp[-1].minor.yy26)); yylhsminor.yy90->token = yymsp[-2].minor.yy0; } -#line 3161 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 3161 "src/parser_proc.c" yy_destructor(yypParser,63,&yymsp[0].minor); yymsp[-2].minor.yy90 = yylhsminor.yy90; break; case 142: /* free_stmt ::= FREE free_exps EOS */ -#line 885 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 885 "src/parser_proc.y" { yylhsminor.yy192 = psi_free_stmt_init(yymsp[-1].minor.yy163); yylhsminor.yy192->token = yymsp[-2].minor.yy0; } -#line 3171 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 3171 "src/parser_proc.c" yy_destructor(yypParser,63,&yymsp[0].minor); yymsp[-2].minor.yy192 = yylhsminor.yy192; break; case 143: /* free_exps ::= free_exp */ -#line 889 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 889 "src/parser_proc.y" { yylhsminor.yy163 = psi_plist_add(psi_plist_init((psi_plist_dtor) psi_free_exp_free), &yymsp[0].minor.yy94); } -#line 3181 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 3181 "src/parser_proc.c" yymsp[0].minor.yy163 = yylhsminor.yy163; break; case 144: /* free_exps ::= free_exps COMMA free_exp */ -#line 893 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 893 "src/parser_proc.y" { yylhsminor.yy163 = psi_plist_add(yymsp[-2].minor.yy163, &yymsp[0].minor.yy94); } -#line 3189 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 3189 "src/parser_proc.c" yy_destructor(yypParser,66,&yymsp[-1].minor); yymsp[-2].minor.yy163 = yylhsminor.yy163; break; case 145: /* free_exp ::= NAME LPAREN decl_vars RPAREN */ -#line 896 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 896 "src/parser_proc.y" { yylhsminor.yy94 = psi_free_exp_init(yymsp[-3].minor.yy0->text, yymsp[-1].minor.yy163); yylhsminor.yy94->token = yymsp[-3].minor.yy0; } -#line 3199 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 3199 "src/parser_proc.c" yy_destructor(yypParser,65,&yymsp[-2].minor); yy_destructor(yypParser,67,&yymsp[0].minor); yymsp[-3].minor.yy94 = yylhsminor.yy94; break; case 146: /* reference ::= */ -#line 900 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 900 "src/parser_proc.y" { yymsp[1].minor.yy121 = false; } -#line 3209 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 3209 "src/parser_proc.c" break; case 147: /* reference ::= AMPERSAND */ { yy_destructor(yypParser,23,&yymsp[0].minor); -#line 903 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 903 "src/parser_proc.y" { yymsp[0].minor.yy121 = true; } -#line 3217 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 3217 "src/parser_proc.c" } break; case 148: /* indirection ::= */ -#line 906 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 906 "src/parser_proc.y" { yymsp[1].minor.yy202 = 0; } -#line 3225 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 3225 "src/parser_proc.c" break; case 149: /* indirection ::= pointers */ -#line 909 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 909 "src/parser_proc.y" { yylhsminor.yy202 = yymsp[0].minor.yy202; } -#line 3232 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 3232 "src/parser_proc.c" yymsp[0].minor.yy202 = yylhsminor.yy202; break; case 150: /* pointers ::= ASTERISK */ { yy_destructor(yypParser,28,&yymsp[0].minor); -#line 912 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 912 "src/parser_proc.y" { yymsp[0].minor.yy202 = 1; } -#line 3241 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 3241 "src/parser_proc.c" } break; case 151: /* pointers ::= pointers ASTERISK */ -#line 915 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 915 "src/parser_proc.y" { yylhsminor.yy202 = yymsp[-1].minor.yy202+1; } -#line 3249 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 3249 "src/parser_proc.c" yy_destructor(yypParser,28,&yymsp[0].minor); yymsp[-1].minor.yy202 = yylhsminor.yy202; break; case 152: /* file ::= blocks */ { yy_destructor(yypParser,146,&yymsp[0].minor); -#line 169 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 169 "src/parser_proc.y" { } -#line 3258 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 3258 "src/parser_proc.c" } break; case 153: /* blocks ::= block */ { yy_destructor(yypParser,147,&yymsp[0].minor); -#line 170 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 170 "src/parser_proc.y" { } -#line 3266 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 3266 "src/parser_proc.c" } break; case 154: /* blocks ::= blocks block */ { yy_destructor(yypParser,146,&yymsp[-1].minor); -#line 171 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 171 "src/parser_proc.y" { } -#line 3274 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 3274 "src/parser_proc.c" yy_destructor(yypParser,147,&yymsp[0].minor); } break; case 155: /* block ::= EOF */ { yy_destructor(yypParser,62,&yymsp[0].minor); -#line 172 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 172 "src/parser_proc.y" { } -#line 3283 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 3283 "src/parser_proc.c" } break; case 156: /* block ::= EOS */ { yy_destructor(yypParser,63,&yymsp[0].minor); -#line 173 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 173 "src/parser_proc.y" { } -#line 3291 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 3291 "src/parser_proc.c" } break; default: @@ -3347,9 +3347,9 @@ static void yy_syntax_error( ParseARG_FETCH; #define TOKEN yyminor /************ Begin %syntax_error code ****************************************/ -#line 40 "/home/mike/src/php-master/ext/psi/src/parser_proc.y" +#line 40 "src/parser_proc.y" ++P->errors; if (TOKEN && TOKEN->type != PSI_T_EOF) { psi_error(PSI_WARNING, TOKEN->file, TOKEN->line, "PSI syntax error: Unexpected token '%s' at pos %u", TOKEN->text, TOKEN->col); } else { psi_error(PSI_WARNING, P->file.fn, P->line, "PSI syntax error: Unexpected end of input"); } -#line 3353 "/home/mike/src/php-master/ext/psi/src/parser_proc.c" +#line 3353 "src/parser_proc.c" /************ End %syntax_error code ******************************************/ ParseARG_STORE; /* Suppress warning about unused %extra_argument variable */ } -- 2.30.2