summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gdbinit54
-rw-r--r--Makefile.frag18
-rw-r--r--NEWS93
-rw-r--r--TSRM/tsrm_virtual_cwd.c6
-rw-r--r--Zend/tests/add_006.phpt2
-rwxr-xr-xZend/tests/bug22725.phpt2
-rwxr-xr-xZend/tests/bug27304.phpt2
-rw-r--r--Zend/tests/bug29104.phpt2
-rw-r--r--Zend/tests/bug29210.phpt2
-rwxr-xr-xZend/tests/bug30519.phpt2
-rw-r--r--Zend/tests/bug30702.phpt2
-rwxr-xr-xZend/tests/bug30791.phpt2
-rw-r--r--Zend/tests/bug30889.phpt2
-rwxr-xr-xZend/tests/bug32296.phpt2
-rw-r--r--Zend/tests/bug32427.phpt2
-rwxr-xr-xZend/tests/bug32660.phpt2
-rw-r--r--Zend/tests/bug32674.phpt2
-rw-r--r--Zend/tests/bug32833.phpt2
-rwxr-xr-xZend/tests/bug33257.phpt2
-rwxr-xr-xZend/tests/bug34712.phpt2
-rwxr-xr-xZend/tests/bug35437.phpt2
-rwxr-xr-xZend/tests/bug37811.phpt2
-rwxr-xr-xZend/tests/bug38220.phpt2
-rwxr-xr-xZend/tests/bug39542.phpt24
-rwxr-xr-xZend/tests/bug39542/bug39542.php7
-rwxr-xr-xZend/tests/bug40236.phpt3
-rwxr-xr-xZend/tests/bug40770.phpt2
-rwxr-xr-xZend/tests/bug40809.phpt2
-rw-r--r--Zend/tests/bug41075.phpt2
-rw-r--r--Zend/tests/bug41351.phpt14
-rw-r--r--Zend/tests/bug41351_2.phpt14
-rw-r--r--Zend/tests/bug41351_3.phpt14
-rwxr-xr-xZend/tests/bug41401.phpt10
-rw-r--r--Zend/tests/bug41421.phpt29
-rw-r--r--Zend/tests/cast_to_double.phpt2
-rw-r--r--Zend/tests/compare_001.phpt389
-rw-r--r--Zend/tests/compare_001_64bit.phpt389
-rw-r--r--Zend/tests/compare_002.phpt341
-rw-r--r--Zend/tests/compare_002_64bit.phpt341
-rw-r--r--Zend/tests/compare_003.phpt389
-rw-r--r--Zend/tests/compare_003_64bit.phpt389
-rw-r--r--Zend/tests/compare_004.phpt389
-rw-r--r--Zend/tests/compare_004_64bit.phpt389
-rw-r--r--Zend/tests/compare_005.phpt389
-rw-r--r--Zend/tests/compare_005_64bit.phpt389
-rw-r--r--Zend/tests/compare_006.phpt389
-rw-r--r--Zend/tests/compare_006_64bit.phpt389
-rw-r--r--Zend/tests/decrement_001.phpt60
-rw-r--r--Zend/tests/decrement_001_64bit.phpt60
-rw-r--r--Zend/tests/double_to_string.phpt2
-rw-r--r--Zend/tests/double_to_string_64bit.phpt2
-rw-r--r--Zend/tests/exception_handler_001.phpt20
-rw-r--r--Zend/tests/exception_handler_002.phpt23
-rw-r--r--Zend/tests/exception_handler_003.phpt24
-rw-r--r--Zend/tests/exception_handler_004.phpt21
-rw-r--r--Zend/tests/exception_handler_005.phpt23
-rw-r--r--Zend/tests/exception_handler_006.phpt25
-rw-r--r--Zend/tests/increment_001.phpt60
-rw-r--r--Zend/tests/settype_double.phpt2
-rw-r--r--Zend/zend_API.c10
-rw-r--r--Zend/zend_alloc.c14
-rw-r--r--Zend/zend_compile.c73
-rw-r--r--Zend/zend_compile.h5
-rw-r--r--Zend/zend_exceptions.c6
-rw-r--r--Zend/zend_execute_API.c10
-rwxr-xr-xZend/zend_interfaces.c10
-rw-r--r--Zend/zend_language_parser.c2454
-rw-r--r--Zend/zend_language_parser.output12607
-rw-r--r--Zend/zend_language_parser.y22
-rw-r--r--Zend/zend_language_scanner.c5494
-rw-r--r--Zend/zend_language_scanner.l556
-rw-r--r--Zend/zend_strtod.c8
-rw-r--r--Zend/zend_ts_hash.c14
-rw-r--r--Zend/zend_vm_def.h34
-rw-r--r--Zend/zend_vm_execute.h109
-rw-r--r--acinclude.m48
-rw-r--r--aclocal.m48
-rwxr-xr-xconfigure4568
-rw-r--r--configure.in18
-rw-r--r--ext/bcmath/bcmath.c4
-rw-r--r--ext/curl/config.m484
-rw-r--r--ext/curl/interface.c14
-rw-r--r--ext/dba/config.m49
-rwxr-xr-xext/dba/tests/bug36436.phpt2
-rw-r--r--ext/dbase/dbf_head.c4
-rw-r--r--ext/dbase/tests/bug31754.phpt2
-rw-r--r--ext/dom/element.c3
-rw-r--r--ext/dom/node.c13
-rw-r--r--ext/dom/tests/bug36756.phpt2
-rw-r--r--ext/dom/tests/bug41257.phpt31
-rw-r--r--ext/dom/tests/bug41374.phpt32
-rw-r--r--ext/dom/text.c25
-rw-r--r--ext/filter/logical_filters.c4
-rw-r--r--ext/filter/tests/031.phpt2
-rw-r--r--ext/filter/tests/033.phpt2
-rw-r--r--ext/filter/tests/044.phpt2
-rw-r--r--ext/filter/tests/PMOPB45.phpt11
-rw-r--r--ext/filter/tests/bug39763.phpt2
-rw-r--r--ext/filter/tests/filter_data.phpt2
-rw-r--r--ext/ftp/tests/bug27809.phpt2
-rw-r--r--ext/ftp/tests/bug37799.phpt2
-rw-r--r--ext/ftp/tests/bug39458-2.phpt2
-rw-r--r--ext/ftp/tests/bug39458.phpt2
-rw-r--r--ext/ftp/tests/bug39583-2.phpt2
-rw-r--r--ext/ftp/tests/bug39583.phpt2
-rw-r--r--ext/ftp/tests/bug7216-2.phpt2
-rw-r--r--ext/ftp/tests/bug7216.phpt2
-rw-r--r--ext/gd/config.m421
-rw-r--r--ext/gd/gd.c22
-rw-r--r--ext/gd/libgd/gd_png.c6
-rw-r--r--ext/gd/tests/bug39780.phpt4
-rw-r--r--ext/gd/tests/bug41442.phpt37
-rw-r--r--ext/gd/tests/createfromstring.phpt1
-rw-r--r--ext/gd/tests/libgd00086.phpt21
-rw-r--r--ext/gd/tests/libgd00086.pngbin0 -> 93 bytes
-rw-r--r--ext/gmp/tests/001.phpt2
-rw-r--r--ext/gmp/tests/011.phpt9
-rw-r--r--ext/gmp/tests/012.phpt2
-rw-r--r--ext/gmp/tests/013.phpt2
-rw-r--r--ext/gmp/tests/014.phpt2
-rw-r--r--ext/gmp/tests/015.phpt2
-rw-r--r--ext/gmp/tests/016.phpt2
-rw-r--r--ext/gmp/tests/017.phpt2
-rw-r--r--ext/gmp/tests/018.phpt2
-rw-r--r--ext/gmp/tests/019.phpt2
-rw-r--r--ext/gmp/tests/020.phpt2
-rw-r--r--ext/gmp/tests/021.phpt2
-rw-r--r--ext/gmp/tests/022.phpt2
-rw-r--r--ext/gmp/tests/023.phpt2
-rw-r--r--ext/gmp/tests/024.phpt2
-rw-r--r--ext/gmp/tests/025.phpt2
-rw-r--r--ext/gmp/tests/026.phpt2
-rw-r--r--ext/gmp/tests/027.phpt2
-rw-r--r--ext/gmp/tests/028.phpt2
-rw-r--r--ext/gmp/tests/029.phpt2
-rw-r--r--ext/gmp/tests/030.phpt2
-rw-r--r--ext/gmp/tests/031.phpt2
-rw-r--r--ext/gmp/tests/032.phpt2
-rw-r--r--ext/gmp/tests/033.phpt2
-rw-r--r--ext/gmp/tests/034.phpt2
-rw-r--r--ext/gmp/tests/035.phpt2
-rw-r--r--ext/gmp/tests/036.phpt2
-rw-r--r--ext/gmp/tests/037.phpt2
-rw-r--r--ext/gmp/tests/038.phpt2
-rw-r--r--ext/gmp/tests/039.phpt2
-rw-r--r--ext/gmp/tests/bug32773.phpt2
-rw-r--r--ext/iconv/iconv.c6
-rw-r--r--ext/iconv/tests/bug16069.phpt2
-rw-r--r--ext/iconv/tests/iconv004.phpt4
-rw-r--r--ext/json/JSON_parser.c10
-rw-r--r--ext/json/json.c8
-rw-r--r--ext/json/tests/bug41403.phpt41
-rw-r--r--ext/json/tests/bug41504.phpt29
-rw-r--r--ext/json/tests/fail001.phpt7
-rw-r--r--ext/json/tests/pass001.1.phpt6
-rw-r--r--ext/json/tests/pass001.phpt6
-rw-r--r--ext/mcrypt/tests/bug37595.phptbin1094 -> 1094 bytes
-rw-r--r--ext/mcrypt/tests/bug8040.phpt2
-rw-r--r--ext/mysql/php_mysql.c40
-rw-r--r--ext/mysql/php_mysql.h5
-rw-r--r--ext/mysqli/tests/019.phpt2
-rw-r--r--ext/mysqli/tests/bug28817.phpt2
-rw-r--r--ext/mysqli/tests/bug30967.phpt2
-rw-r--r--ext/mysqli/tests/bug31141.phpt2
-rw-r--r--ext/mysqli/tests/bug31668.phpt2
-rw-r--r--ext/mysqli/tests/bug32405.phpt2
-rw-r--r--ext/mysqli/tests/bug33090.phpt2
-rw-r--r--ext/mysqli/tests/bug33263.phpt2
-rw-r--r--ext/mysqli/tests/bug34785.phpt2
-rw-r--r--ext/mysqli/tests/bug34810.phpt2
-rw-r--r--ext/mysqli/tests/bug35103.phpt2
-rw-r--r--ext/mysqli/tests/bug35517.phpt2
-rw-r--r--ext/mysqli/tests/bug35759.phpt2
-rw-r--r--ext/mysqli/tests/bug36420.phpt2
-rw-r--r--ext/mysqli/tests/bug36745.phpt2
-rw-r--r--ext/mysqli/tests/bug36802.phpt2
-rw-r--r--ext/mysqli/tests/bug36949.phpt2
-rw-r--r--ext/mysqli/tests/bug37090.phpt2
-rw-r--r--ext/oci8/config.m46
-rw-r--r--ext/oci8/tests/bug27303.phpt4
-rw-r--r--ext/oci8/tests/bug27303_2.phpt2
-rw-r--r--ext/oci8/tests/bug27303_3.phpt2
-rw-r--r--ext/oci8/tests/bug27303_4.phpt2
-rw-r--r--ext/oci8/tests/bug32325.phpt2
-rw-r--r--ext/oci8/tests/bug35973.phpt2
-rw-r--r--ext/oci8/tests/bug36010.phpt2
-rw-r--r--ext/oci8/tests/bug38161.phpt2
-rw-r--r--ext/oci8/tests/pecl_bug10194.phpt2
-rw-r--r--ext/oci8/tests/pecl_bug10194_blob.phpt2
-rw-r--r--ext/openssl/openssl.c24
-rw-r--r--ext/openssl/tests/bug28382.phpt2
-rw-r--r--ext/openssl/tests/bug36732.phpt2
-rw-r--r--ext/openssl/tests/bug37820.phpt3
-rw-r--r--ext/openssl/tests/bug39217.phpt19
-rw-r--r--ext/openssl/tests/bug39217cert1.txt17
-rw-r--r--ext/openssl/tests/bug39217cert2.txt18
-rw-r--r--ext/openssl/tests/bug41353.phpt16
-rw-r--r--ext/openssl/xp_ssl.c14
-rw-r--r--ext/pcre/tests/bug21758.phpt2
-rw-r--r--ext/pcre/tests/bug27011.phpt2
-rw-r--r--ext/pcre/tests/bug38600.phpt2
-rw-r--r--ext/pcre/tests/bug40195.phpt2
-rwxr-xr-xext/pdo/pdo_dbh.c3
-rwxr-xr-xext/pdo/pdo_stmt.c30
-rwxr-xr-xext/pdo/php_pdo_driver.h3
-rw-r--r--ext/pdo/tests/bug_34630.phpt2
-rw-r--r--ext/pdo/tests/bug_34687.phpt2
-rw-r--r--ext/pdo/tests/bug_35671.phpt2
-rwxr-xr-xext/pdo/tests/bug_36428.phpt2
-rw-r--r--ext/pdo/tests/bug_38253.phpt2
-rw-r--r--ext/pdo/tests/bug_38394.phpt2
-rw-r--r--ext/pdo/tests/bug_39398.phpt2
-rw-r--r--ext/pdo/tests/pdo_034.phpt64
-rw-r--r--ext/pdo/tests/pecl_bug_5217.phpt2
-rw-r--r--ext/pdo/tests/pecl_bug_5772.phpt2
-rw-r--r--ext/pdo/tests/pecl_bug_5809.phpt2
-rwxr-xr-xext/pdo_mysql/mysql_statement.c3
-rw-r--r--ext/pdo_mysql/tests/bug_33689.phpt5
-rw-r--r--ext/pdo_mysql/tests/pecl_bug_5200.phpt2
-rw-r--r--ext/pdo_mysql/tests/pecl_bug_5780.phpt2
-rw-r--r--ext/pdo_mysql/tests/pecl_bug_5802.phpt2
-rw-r--r--ext/pdo_oci/tests/bug_33707.phpt2
-rw-r--r--ext/pdo_odbc/php_pdo_odbc.h4
-rw-r--r--ext/pdo_pgsql/tests/bug_33876.phpt2
-rw-r--r--ext/pdo_sqlite/sqlite/VERSION2
-rw-r--r--ext/pdo_sqlite/sqlite/src/btree.c28
-rw-r--r--ext/pdo_sqlite/sqlite/src/expr.c4
-rw-r--r--ext/pdo_sqlite/sqlite/src/keywordhash.h2
-rw-r--r--ext/pdo_sqlite/sqlite/src/legacy.c5
-rw-r--r--ext/pdo_sqlite/sqlite/src/loadext.c42
-rw-r--r--ext/pdo_sqlite/sqlite/src/prepare.c16
-rw-r--r--ext/pdo_sqlite/sqlite/src/test1.c5
-rw-r--r--ext/pdo_sqlite/sqlite/src/vdbe.c6
-rw-r--r--ext/pdo_sqlite/sqlite/src/vtab.c24
-rw-r--r--ext/pdo_sqlite/sqlite/src/where.c9
-rw-r--r--ext/pgsql/tests/80_bug14383.phpt4
-rwxr-xr-xext/pgsql/tests/80_bug24499.phpt2
-rwxr-xr-xext/pgsql/tests/80_bug27597.phpt2
-rw-r--r--ext/reflection/php_reflection.c23
-rw-r--r--ext/session/session.c7
-rw-r--r--ext/session/tests/007.phpt1
-rw-r--r--ext/session/tests/008-php4.2.3.phpt1
-rw-r--r--ext/session/tests/bug31454.phpt2
-rw-r--r--ext/session/tests/bug36459.phpt2
-rw-r--r--ext/session/tests/bug38377.phpt2
-rwxr-xr-xext/simplexml/tests/bug37565.phpt2
-rw-r--r--ext/soap/php_encoding.c12
-rw-r--r--ext/soap/php_http.c6
-rw-r--r--ext/soap/php_sdl.c12
-rw-r--r--ext/soap/soap.c34
-rwxr-xr-xext/soap/tests/any.phpt2
-rw-r--r--ext/soap/tests/bugs/bug28751.phpt2
-rw-r--r--ext/soap/tests/bugs/bug29839.phpt4
-rw-r--r--ext/soap/tests/bugs/bug30106.phpt2
-rw-r--r--ext/soap/tests/bugs/bug30799.phpt2
-rw-r--r--ext/soap/tests/bugs/bug30928.phpt2
-rw-r--r--ext/soap/tests/bugs/bug30994.phpt4
-rw-r--r--ext/soap/tests/bugs/bug31422.phpt4
-rw-r--r--ext/soap/tests/bugs/bug31695.phpt2
-rw-r--r--ext/soap/tests/bugs/bug31755.phpt2
-rw-r--r--ext/soap/tests/bugs/bug32776.phpt2
-rwxr-xr-xext/soap/tests/bugs/bug34453.phpt4
-rwxr-xr-xext/soap/tests/bugs/bug35142.phpt2
-rwxr-xr-xext/soap/tests/bugs/bug35273.phpt2
-rwxr-xr-xext/soap/tests/bugs/bug36226.phpt2
-rwxr-xr-xext/soap/tests/bugs/bug36629.phpt4
-rwxr-xr-xext/soap/tests/bugs/bug39815.phpt2
-rwxr-xr-xext/soap/tests/bugs/bug39832.phpt2
-rwxr-xr-xext/soap/tests/bugs/bug41004.phpt2
-rwxr-xr-xext/soap/tests/bugs/bug41337.phpt12
-rwxr-xr-xext/soap/tests/bugs/bug41337.wsdl63
-rwxr-xr-xext/soap/tests/bugs/bug41337_2.phpt12
-rwxr-xr-xext/soap/tests/bugs/bug41337_2.wsdl36
-rwxr-xr-xext/soap/tests/bugs/bug41337_2_1.wsdl47
-rw-r--r--ext/soap/tests/bugs/bug41477.phpt20
-rw-r--r--ext/soap/tests/classmap001.phpt2
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_012p.phpt2
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_012s.phpt2
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_012w.phpt2
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_013p.phpt2
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_013s.phpt2
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_013w.phpt2
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_014p.phpt2
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_014s.phpt2
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_014w.phpt2
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_015p.phpt2
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_015s.phpt2
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_015w.phpt2
-rw-r--r--ext/soap/tests/interop/Round2/Base/round2_base.inc2
-rw-r--r--ext/soap/tests/interop/Round2/GroupB/r2_groupB_001p.phpt2
-rw-r--r--ext/soap/tests/interop/Round2/GroupB/r2_groupB_001s.phpt2
-rw-r--r--ext/soap/tests/interop/Round2/GroupB/r2_groupB_001w.phpt2
-rw-r--r--ext/soap/tests/interop/Round2/GroupB/r2_groupB_002p.phpt2
-rw-r--r--ext/soap/tests/interop/Round2/GroupB/r2_groupB_002s.phpt2
-rw-r--r--ext/soap/tests/interop/Round2/GroupB/r2_groupB_002w.phpt2
-rw-r--r--ext/soap/tests/interop/Round2/GroupB/r2_groupB_004p.phpt2
-rw-r--r--ext/soap/tests/interop/Round2/GroupB/r2_groupB_004s.phpt2
-rw-r--r--ext/soap/tests/interop/Round2/GroupB/r2_groupB_004w.phpt2
-rw-r--r--ext/soap/tests/interop/Round2/GroupB/r2_groupB_005p.phpt2
-rw-r--r--ext/soap/tests/interop/Round2/GroupB/r2_groupB_005s.phpt2
-rw-r--r--ext/soap/tests/interop/Round2/GroupB/r2_groupB_005w.phpt2
-rw-r--r--ext/soap/tests/interop/Round2/GroupB/round2_groupB.inc2
-rw-r--r--ext/soap/tests/interop/Round3/GroupD/r3_groupD_compound1_001w.phpt2
-rw-r--r--ext/soap/tests/interop/Round3/GroupD/r3_groupD_compound2_001w.phpt2
-rw-r--r--ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclit_003w.phpt2
-rw-r--r--ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclitparams_003w.phpt2
-rw-r--r--ext/soap/tests/interop/Round3/GroupD/r3_groupD_import2_001w.phpt2
-rw-r--r--ext/soap/tests/interop/Round3/GroupD/r3_groupD_import3_001w.phpt2
-rw-r--r--ext/soap/tests/interop/Round3/GroupD/r3_groupD_import3_002w.phpt2
-rw-r--r--ext/soap/tests/interop/Round3/GroupD/r3_groupD_rpcenc_003w.phpt2
-rw-r--r--ext/soap/tests/interop/Round3/GroupD/round3_groupD_compound1.inc2
-rw-r--r--ext/soap/tests/interop/Round3/GroupD/round3_groupD_compound2.inc2
-rw-r--r--ext/soap/tests/interop/Round3/GroupD/round3_groupD_doclit.inc2
-rw-r--r--ext/soap/tests/interop/Round3/GroupD/round3_groupD_doclitparams.inc2
-rw-r--r--ext/soap/tests/interop/Round3/GroupD/round3_groupD_emptysa.inc2
-rw-r--r--ext/soap/tests/interop/Round3/GroupD/round3_groupD_import1.inc2
-rw-r--r--ext/soap/tests/interop/Round3/GroupD/round3_groupD_import2.inc2
-rw-r--r--ext/soap/tests/interop/Round3/GroupD/round3_groupD_import3.inc2
-rw-r--r--ext/soap/tests/interop/Round3/GroupD/round3_groupD_rpcenc.inc2
-rw-r--r--ext/soap/tests/interop/Round3/GroupE/round3_groupE_list.inc2
-rw-r--r--ext/soap/tests/interop/Round3/GroupF/round3_groupF_ext.inc2
-rw-r--r--ext/soap/tests/interop/Round3/GroupF/round3_groupF_headers.inc2
-rw-r--r--ext/soap/tests/interop/Round4/GroupG/round4_groupG_dimedoc.inc2
-rw-r--r--ext/soap/tests/interop/Round4/GroupG/round4_groupG_dimerpc.inc2
-rw-r--r--ext/soap/tests/interop/Round4/GroupG/round4_groupG_mimedoc.inc2
-rw-r--r--ext/soap/tests/interop/Round4/GroupG/round4_groupG_mimerpc.inc2
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_001w.phpt2
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_002w.phpt2
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_003w.phpt2
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_004w.phpt2
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_005w.phpt2
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_006w.phpt2
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_001w.phpt2
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_002w.phpt2
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_003w.phpt2
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_004w.phpt2
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_005w.phpt2
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_006w.phpt2
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_007w.phpt2
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_008w.phpt2
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_009w.phpt2
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_010w.phpt2
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_004w.phpt2
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_005w.phpt2
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_006w.phpt2
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_007w.phpt2
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_008w.phpt2
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_009w.phpt2
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_010w.phpt2
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_011w.phpt2
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_004w.phpt2
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_005w.phpt2
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_006w.phpt2
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_007w.phpt2
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_008w.phpt2
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_009w.phpt2
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_010w.phpt2
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_011w.phpt2
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/round4_groupH_complex_doclit.inc2
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/round4_groupH_complex_rpcenc.inc2
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/round4_groupH_simple_doclit.inc2
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/round4_groupH_simple_rpcenc.inc2
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/round4_groupH_soapfault.inc2
-rw-r--r--ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_003w.phpt2
-rw-r--r--ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_008w.phpt2
-rw-r--r--ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_009w.phpt2
-rw-r--r--ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_011w.phpt2
-rw-r--r--ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_014w.phpt2
-rw-r--r--ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_015w.phpt2
-rw-r--r--ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_019w.phpt2
-rw-r--r--ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_020w.phpt2
-rw-r--r--ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_021w.phpt2
-rw-r--r--ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_022w.phpt2
-rw-r--r--ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_023w.phpt2
-rw-r--r--ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_024w.phpt2
-rw-r--r--ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_025w.phpt2
-rw-r--r--ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_028w.phpt2
-rw-r--r--ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_032w.phpt2
-rw-r--r--ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_033w.phpt2
-rw-r--r--ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_035w.phpt2
-rw-r--r--ext/soap/tests/interop/Round4/GroupI/round4_groupI_xsd.inc2
-rw-r--r--ext/soap/tests/schema/schema004.phpt4
-rw-r--r--ext/soap/tests/schema/schema014.phpt2
-rw-r--r--ext/soap/tests/schema/schema016.phpt2
-rw-r--r--ext/soap/tests/schema/schema017.phpt2
-rw-r--r--ext/soap/tests/schema/schema020.phpt2
-rw-r--r--ext/soap/tests/schema/schema022.phpt2
-rw-r--r--ext/soap/tests/schema/schema054.phpt2
-rw-r--r--ext/soap/tests/schema/schema055.phpt2
-rw-r--r--ext/soap/tests/schema/schema063.phpt2
-rw-r--r--ext/soap/tests/schema/test_schema.inc2
-rw-r--r--ext/soap/tests/server001.phpt2
-rw-r--r--ext/soap/tests/server002.phpt2
-rw-r--r--ext/soap/tests/server003.phpt2
-rw-r--r--ext/soap/tests/server004.phpt2
-rw-r--r--ext/soap/tests/server005.phpt2
-rw-r--r--ext/soap/tests/server006.phpt2
-rw-r--r--ext/soap/tests/server009.phpt4
-rw-r--r--ext/soap/tests/server010.phpt4
-rw-r--r--ext/soap/tests/server013.phpt2
-rw-r--r--ext/soap/tests/server014.phpt2
-rw-r--r--ext/soap/tests/server016.phpt2
-rw-r--r--ext/soap/tests/server017.phpt2
-rw-r--r--ext/soap/tests/server018.phpt2
-rw-r--r--ext/soap/tests/server019.phpt33
-rw-r--r--ext/soap/tests/server020.phpt32
-rw-r--r--ext/soap/tests/server021.phpt2
-rwxr-xr-xext/soap/tests/server022.phpt2
-rwxr-xr-xext/soap/tests/server023.phpt2
-rwxr-xr-xext/soap/tests/server024.phpt2
-rwxr-xr-xext/soap/tests/server025.phpt2
-rwxr-xr-xext/soap/tests/server026.phpt2
-rwxr-xr-xext/soap/tests/server028.phpt2
-rw-r--r--ext/soap/tests/server029.phpt55
-rw-r--r--ext/soap/tests/soap12/T42.phpt2
-rw-r--r--ext/soap/tests/soap12/T47.phpt2
-rw-r--r--ext/soap/tests/soap12/soap12-test.inc2
-rwxr-xr-xext/soap/tests/typemap001.phpt2
-rwxr-xr-xext/soap/tests/typemap002.phpt2
-rwxr-xr-xext/soap/tests/typemap005.phpt2
-rwxr-xr-xext/soap/tests/typemap006.phpt2
-rwxr-xr-xext/soap/tests/typemap009.phpt2
-rwxr-xr-xext/soap/tests/typemap010.phpt2
-rwxr-xr-xext/soap/tests/typemap013.phpt2
-rw-r--r--ext/sockets/php_sockets.h3
-rw-r--r--ext/sockets/sockets.c11
-rwxr-xr-xext/spl/php_spl.c20
-rwxr-xr-xext/spl/spl_iterators.c6
-rwxr-xr-xext/spl/spl_iterators.h3
-rwxr-xr-xext/spl/tests/bug33136.phpt2
-rwxr-xr-xext/spl/tests/bug36287.phpt2
-rw-r--r--ext/sqlite/php_sqlite.h3
-rw-r--r--ext/sqlite/sess_sqlite.c12
-rw-r--r--ext/sqlite/sqlite.c13
-rw-r--r--ext/standard/Makefile.frag2
-rw-r--r--ext/standard/basic_functions.c63
-rw-r--r--ext/standard/basic_functions.h3
-rw-r--r--ext/standard/credits.c3
-rw-r--r--ext/standard/dns.c12
-rw-r--r--ext/standard/file.c15
-rw-r--r--ext/standard/html.c48
-rw-r--r--ext/standard/html.h3
-rw-r--r--ext/standard/image.c10
-rw-r--r--ext/standard/iptc.c10
-rw-r--r--ext/standard/lcg.c10
-rw-r--r--ext/standard/math.c14
-rw-r--r--ext/standard/md5.c21
-rw-r--r--ext/standard/md5.h3
-rw-r--r--ext/standard/php_ext_syslog.h4
-rw-r--r--ext/standard/php_lcg.h3
-rw-r--r--ext/standard/php_var.h46
-rw-r--r--ext/standard/sha1.c16
-rw-r--r--ext/standard/string.c18
-rw-r--r--ext/standard/syslog.c6
-rw-r--r--ext/standard/tests/array/005.phpt309
-rw-r--r--ext/standard/tests/array/009.phpt714
-rw-r--r--ext/standard/tests/array/array_change_key_case.phpt202
-rwxr-xr-xext/standard/tests/array/array_fill_keys.phpt2
-rw-r--r--ext/standard/tests/array/array_key_exists.phpt280
-rw-r--r--ext/standard/tests/array/array_keys.phpt466
-rw-r--r--ext/standard/tests/array/array_keys_64bit.phpt472
-rw-r--r--ext/standard/tests/array/array_map.phpt423
-rw-r--r--ext/standard/tests/array/array_pop.phpt286
-rw-r--r--ext/standard/tests/array/array_search.phpt868
-rw-r--r--ext/standard/tests/array/array_values.phptbin713 -> 5251 bytes
-rw-r--r--ext/standard/tests/array/array_values_64bit.phptbin0 -> 5245 bytes
-rw-r--r--ext/standard/tests/array/bug28974.phpt2
-rwxr-xr-xext/standard/tests/array/bug29253.phpt2
-rwxr-xr-xext/standard/tests/array/bug33940.phpt2
-rwxr-xr-xext/standard/tests/array/bug34982.phpt2
-rw-r--r--ext/standard/tests/array/each.phptbin0 -> 9548 bytes
-rw-r--r--ext/standard/tests/array/end.phpt238
-rw-r--r--ext/standard/tests/array/end_64bit.phpt238
-rw-r--r--ext/standard/tests/array/extract.phpt276
-rw-r--r--ext/standard/tests/array/max.phpt2
-rw-r--r--ext/standard/tests/array/min.phpt2
-rw-r--r--ext/standard/tests/array/range.phpt1920
-rw-r--r--ext/standard/tests/array/range_64bit.phpt1207
-rw-r--r--ext/standard/tests/file/fgetc_basic.phpt543
-rw-r--r--ext/standard/tests/file/fgetc_error.phpt73
-rw-r--r--ext/standard/tests/file/file.inc472
-rw-r--r--ext/standard/tests/file/fileinode_basic.phpt37
-rw-r--r--ext/standard/tests/file/fileinode_error.phpt41
-rw-r--r--ext/standard/tests/file/fileinode_variation.phpt96
-rw-r--r--ext/standard/tests/file/filetype_basic.phpt22
-rw-r--r--ext/standard/tests/file/filetype_error.phpt39
-rw-r--r--ext/standard/tests/file/filetype_variation.phpt73
-rw-r--r--ext/standard/tests/file/flock_basic.phpt44
-rw-r--r--ext/standard/tests/file/flock_error.phpt112
-rw-r--r--ext/standard/tests/file/flock_variation.phpt328
-rw-r--r--ext/standard/tests/file/fnmatch_basic.phpt49
-rw-r--r--ext/standard/tests/file/fnmatch_error.phpt57
-rw-r--r--ext/standard/tests/file/fnmatch_variation.phpt402
-rw-r--r--ext/standard/tests/file/fpassthru_basic.phpt126
-rw-r--r--ext/standard/tests/file/fpassthru_error.phpt40
-rw-r--r--ext/standard/tests/file/fpassthru_variation.phpt114
-rw-r--r--ext/standard/tests/general_functions/bug34794.phpt2
-rw-r--r--ext/standard/tests/general_functions/bug39322.phpt2
-rw-r--r--ext/standard/tests/general_functions/debug_zval_dump_b.phptbin0 -> 7277 bytes
-rw-r--r--ext/standard/tests/general_functions/debug_zval_dump_b_64bit.phptbin0 -> 7277 bytes
-rw-r--r--ext/standard/tests/general_functions/debug_zval_dump_e.phpt23
-rw-r--r--ext/standard/tests/general_functions/debug_zval_dump_o.phpt839
-rw-r--r--ext/standard/tests/general_functions/debug_zval_dump_v.phpt215
-rw-r--r--ext/standard/tests/general_functions/gettype_settype_basic.phpt906
-rw-r--r--ext/standard/tests/general_functions/gettype_settype_error.phpt56
-rw-r--r--ext/standard/tests/general_functions/gettype_settype_variation1.phpt589
-rw-r--r--ext/standard/tests/general_functions/gettype_settype_variation2.phpt1002
-rw-r--r--ext/standard/tests/general_functions/gettype_settype_variation3.phpt1002
-rw-r--r--ext/standard/tests/general_functions/gettype_settype_variation4.phpt1201
-rw-r--r--ext/standard/tests/general_functions/gettype_settype_variation5.phpt714
-rw-r--r--ext/standard/tests/general_functions/gettype_settype_variation6.phpt846
-rw-r--r--ext/standard/tests/general_functions/gettype_settype_variation7.phpt844
-rw-r--r--ext/standard/tests/general_functions/gettype_settype_variation8.phpt595
-rw-r--r--ext/standard/tests/general_functions/import_request.phpt6
-rw-r--r--ext/standard/tests/general_functions/import_request1.phpt99
-rw-r--r--ext/standard/tests/general_functions/import_request2.phpt25
-rw-r--r--ext/standard/tests/general_functions/import_request3.phpt25
-rw-r--r--ext/standard/tests/general_functions/ini_get_all.phpt2
-rw-r--r--ext/standard/tests/general_functions/intval.phpt306
-rw-r--r--ext/standard/tests/general_functions/is_array.phpt215
-rw-r--r--ext/standard/tests/general_functions/is_bool.phpt295
-rw-r--r--ext/standard/tests/general_functions/is_float.phpt441
-rw-r--r--ext/standard/tests/general_functions/is_float_64bit.phpt443
-rw-r--r--ext/standard/tests/general_functions/is_int.phpt466
-rw-r--r--ext/standard/tests/general_functions/is_int_64bit.phpt468
-rw-r--r--ext/standard/tests/general_functions/is_null.phpt297
-rw-r--r--ext/standard/tests/general_functions/is_numeric.phpt388
-rw-r--r--ext/standard/tests/general_functions/is_object.phpt228
-rw-r--r--ext/standard/tests/general_functions/is_resource.phpt2
-rw-r--r--ext/standard/tests/general_functions/is_scalar.phpt241
-rw-r--r--ext/standard/tests/general_functions/is_string.phpt304
-rw-r--r--ext/standard/tests/general_functions/print_r.phpt1736
-rw-r--r--ext/standard/tests/general_functions/print_r_64bit.phpt1737
-rw-r--r--ext/standard/tests/general_functions/strval.phpt310
-rw-r--r--ext/standard/tests/general_functions/var_dump.phpt1911
-rw-r--r--ext/standard/tests/general_functions/var_dump_64bit.phpt1911
-rw-r--r--ext/standard/tests/general_functions/var_export.phpt1054
-rw-r--r--ext/standard/tests/image/iptcembed_001.phpt18
-rw-r--r--ext/standard/tests/math/bug25694.phpt2
-rw-r--r--ext/standard/tests/network/bug41347.phpt19
-rw-r--r--ext/standard/tests/strings/005.phpt24
-rw-r--r--ext/standard/tests/strings/006.phpt19
-rw-r--r--ext/standard/tests/strings/007.phpt17
-rw-r--r--ext/standard/tests/strings/addcslashes.phptbin0 -> 4128 bytes
-rw-r--r--ext/standard/tests/strings/basename_basic.phptbin0 -> 3225 bytes
-rw-r--r--ext/standard/tests/strings/basename_error.phpt58
-rw-r--r--ext/standard/tests/strings/basename_variation.phpt235
-rw-r--r--ext/standard/tests/strings/bug36306.phpt2
-rw-r--r--ext/standard/tests/strings/chr_ord.phptbin191 -> 3181 bytes
-rw-r--r--ext/standard/tests/strings/chunk_split.phpt7
-rw-r--r--ext/standard/tests/strings/dirname_basic.phpt153
-rw-r--r--ext/standard/tests/strings/dirname_error.phpt25
-rw-r--r--ext/standard/tests/strings/dirname_variation.phpt143
-rw-r--r--ext/standard/tests/strings/explode1.phpt509
-rw-r--r--ext/standard/tests/strings/htmlentities18.phpt40
-rw-r--r--ext/standard/tests/strings/implode1.phptbin707 -> 5836 bytes
-rw-r--r--ext/standard/tests/strings/md5_file.phptbin0 -> 3030 bytes
-rwxr-xr-xext/standard/tests/strings/printf_64bit.phpt2
-rwxr-xr-xext/standard/tests/strings/sprintf_f_2.phpt2
-rw-r--r--ext/standard/tests/strings/str_pad.phptbin9070 -> 9091 bytes
-rw-r--r--ext/standard/tests/strings/str_repeat.phptbin332 -> 10822 bytes
-rw-r--r--ext/standard/tests/strings/str_replace.phpt904
-rw-r--r--ext/standard/tests/strings/strpos.phptbin612 -> 9401 bytes
-rw-r--r--ext/standard/tests/strings/strripos_offset.phpt45
-rw-r--r--ext/standard/tests/strings/strstr.phptbin764 -> 10390 bytes
-rw-r--r--ext/standard/tests/strings/substr.phptbin0 -> 4536 bytes
-rw-r--r--ext/standard/tests/strings/substr_count.phpt158
-rw-r--r--ext/standard/tests/strings/trim1.phptbin0 -> 2010 bytes
-rw-r--r--ext/sybase_ct/tests/bug22403.phpt6
-rw-r--r--ext/sybase_ct/tests/bug26407.phpt4
-rw-r--r--ext/sybase_ct/tests/bug27843.phpt4
-rw-r--r--ext/sybase_ct/tests/bug28354.phpt4
-rw-r--r--ext/sybase_ct/tests/test.inc3
-rw-r--r--ext/sybase_ct/tests/test_fetch_object.phpt4
-rw-r--r--ext/sybase_ct/tests/test_long.phpt4
-rw-r--r--ext/sybase_ct/tests/test_msghandler.phpt6
-rw-r--r--ext/sybase_ct/tests/test_msghandler_handled.phpt7
-rw-r--r--ext/sybase_ct/tests/test_unbuffered_query.phpt4
-rw-r--r--ext/sysvsem/sysvsem.c7
-rw-r--r--ext/tidy/tidy.c20
-rw-r--r--ext/tokenizer/Makefile.frag4
-rw-r--r--ext/tokenizer/php_tokenizer.h3
-rw-r--r--ext/tokenizer/tests/001.phpt4
-rw-r--r--ext/tokenizer/tokenizer.c15
-rw-r--r--ext/wddx/tests/001.phpt2
-rw-r--r--ext/wddx/tests/bug41283.phpt27
-rw-r--r--ext/wddx/wddx.c5
-rw-r--r--ext/xmlrpc/libxmlrpc/xml_to_xmlrpc.c6
-rw-r--r--ext/xmlwriter/php_xmlwriter.c58
-rw-r--r--ext/xmlwriter/tests/bug41287.phpt43
-rw-r--r--ext/xmlwriter/tests/bug41326.phpt50
-rw-r--r--ext/zip/php_zip.c61
-rw-r--r--ext/zip/tests/bug7214.phpt6
-rw-r--r--ext/zip/tests/bug7658.phpt4
-rw-r--r--ext/zip/tests/bug8009.phpt4
-rw-r--r--ext/zip/tests/bug8700.phpt4
-rw-r--r--ext/zlib/zlib_fopen_wrapper.c6
-rw-r--r--main/SAPI.c12
-rw-r--r--main/php_config.h.in9
-rw-r--r--main/php_content_types.c23
-rw-r--r--main/php_ini.c31
-rw-r--r--main/php_version.h6
-rwxr-xr-xmain/streams/streams.c5
-rw-r--r--main/streams/userspace.c6
-rw-r--r--pear/install-pear-nozlib.phar6015
-rw-r--r--php.ini-dist9
-rw-r--r--php.ini-recommended12
-rwxr-xr-xrun-tests.php19
-rwxr-xr-xsapi/apache2filter/config.w3210
-rw-r--r--sapi/apache2handler/config.w3210
-rw-r--r--sapi/cgi/cgi_main.c35
-rw-r--r--sapi/cgi/config9.m411
-rw-r--r--sapi/cgi/fastcgi.c17
-rw-r--r--sapi/cgi/fastcgi.h3
-rw-r--r--sapi/cgi/tests/009.phpt28
-rw-r--r--sapi/cgi/tests/include.inc4
-rw-r--r--sapi/cli/php_cli.c42
-rw-r--r--sapi/cli/tests/004.phpt2
-rw-r--r--sapi/cli/tests/006.phpt100
-rw-r--r--tests/basic/024.phpt30
-rw-r--r--tests/basic/025.phpt19
-rw-r--r--tests/basic/026.phpt19
-rw-r--r--tests/lang/031.phpt2
-rw-r--r--tests/lang/034.phpt2
-rwxr-xr-xtests/lang/bug23524.phpt2
625 files changed, 57577 insertions, 17482 deletions
diff --git a/.gdbinit b/.gdbinit
index 067613f..596f32e 100644
--- a/.gdbinit
+++ b/.gdbinit
@@ -8,7 +8,7 @@ define ____executor_globals
end
document ____executor_globals
- portable way of accessing executor_globals
+ portable way of accessing executor_globals, set $eg
ZTS detection is automatically based on ext/standard module struct
end
@@ -39,14 +39,18 @@ define printzv
end
document printzv
- prints content of zval
+ prints zval contents
end
define ____printzv_contents
set $zvalue = $arg0
set $type = $zvalue->type
- printf "(refcount=%d) ", $zvalue->refcount
+ printf "(refcount=%d", $zvalue->refcount
+ if $zvalue->is_ref
+ printf ",is_ref"
+ end
+ printf ") "
if $type == 0
printf "NULL"
end
@@ -69,7 +73,7 @@ define ____printzv_contents
if ! $arg1
printf "{\n"
set $ind = $ind + 1
- ____print_ht $zvalue->value.ht
+ ____print_ht $zvalue->value.ht 1
set $ind = $ind - 1
set $i = $ind
while $i > 0
@@ -103,7 +107,7 @@ define ____printzv_contents
printf "(%d): ", $ht->nNumOfElements
printf "{\n"
set $ind = $ind + 1
- ____print_ht $ht
+ ____print_ht $ht 1
set $ind = $ind - 1
set $i = $ind
while $i > 0
@@ -188,12 +192,10 @@ define print_const_table
end
define ____print_ht
- set $ht = $arg0
+ set $ht = (HashTable*)$arg0
set $p = $ht->pListHead
while $p != 0
- set $zval = *(zval **)$p->pData
-
set $i = $ind
while $i > 0
printf " "
@@ -206,8 +208,18 @@ define ____print_ht
else
printf "%d => ", $p->h
end
+
+ if $arg1 == 0
+ printf "%p\n", (void*)$p->pData
+ end
+ if $arg1 == 1
+ set $zval = *(zval **)$p->pData
+ ____printzv $zval 1
+ end
+ if $arg1 == 2
+ printf "%s\n", (char*)$p->pData
+ end
- ____printzv $zval 1
set $p = $p->pListNext
end
end
@@ -215,7 +227,7 @@ end
define print_ht
set $ind = 1
printf "[0x%08x] {\n", $arg0
- ____print_ht $arg0
+ ____print_ht $arg0 1
printf "}\n"
end
@@ -223,6 +235,28 @@ document print_ht
dumps elements of HashTable made of zval
end
+define print_htptr
+ set $ind = 1
+ printf "[0x%08x] {\n", $arg0
+ ____print_ht $arg0 0
+ printf "}\n"
+end
+
+document print_htptr
+ dumps elements of HashTable made of pointers
+end
+
+define print_htstr
+ set $ind = 1
+ printf "[0x%08x] {\n", $arg0
+ ____print_ht $arg0 2
+ printf "}\n"
+end
+
+document print_htstr
+ dumps elements of HashTable made of strings
+end
+
define ____print_ft
set $ht = $arg0
set $p = $ht->pListHead
diff --git a/Makefile.frag b/Makefile.frag
index a5da9c3..81d5428 100644
--- a/Makefile.frag
+++ b/Makefile.frag
@@ -3,21 +3,21 @@
# Zend
#
-$(builddir)/zend_language_scanner.lo: $(builddir)/zend_language_parser.h
-$(builddir)/zend_ini_scanner.lo: $(builddir)/zend_ini_parser.h
+$(builddir)/zend_language_scanner.lo: $(srcdir)/zend_language_parser.h
+$(builddir)/zend_ini_scanner.lo: $(srcdir)/zend_ini_parser.h
-$(builddir)/zend_language_scanner.c: $(srcdir)/zend_language_scanner.l
+$(srcdir)/zend_language_scanner.c: $(srcdir)/zend_language_scanner.l
@$(LEX) -Pzend -S$(srcdir)/flex.skl -o$@ -i $(srcdir)/zend_language_scanner.l
-$(builddir)/zend_language_parser.h: $(builddir)/zend_language_parser.c
-$(builddir)/zend_language_parser.c: $(srcdir)/zend_language_parser.y
+$(srcdir)/zend_language_parser.h: $(srcdir)/zend_language_parser.c
+$(srcdir)/zend_language_parser.c: $(srcdir)/zend_language_parser.y
@$(YACC) -p zend -v -d $(srcdir)/zend_language_parser.y -o $@
-$(builddir)/zend_ini_parser.h: $(builddir)/zend_ini_parser.c
-$(builddir)/zend_ini_parser.c: $(srcdir)/zend_ini_parser.y
+$(srcdir)/zend_ini_parser.h: $(srcdir)/zend_ini_parser.c
+$(srcdir)/zend_ini_parser.c: $(srcdir)/zend_ini_parser.y
@$(YACC) -p ini_ -v -d $(srcdir)/zend_ini_parser.y -o $@
-$(builddir)/zend_ini_scanner.c: $(srcdir)/zend_ini_scanner.l
+$(srcdir)/zend_ini_scanner.c: $(srcdir)/zend_ini_scanner.l
@$(LEX) -Pini_ -S$(srcdir)/flex.skl -o$@ -i $(srcdir)/zend_ini_scanner.l
-$(builddir)/zend_indent.lo $(builddir)/zend_highlight.lo $(builddir)/zend_compile.lo: $(builddir)/zend_language_parser.h
+$(builddir)/zend_indent.lo $(builddir)/zend_highlight.lo $(builddir)/zend_compile.lo: $(srcdir)/zend_language_parser.h
diff --git a/NEWS b/NEWS
index 5d3822c..523621c 100644
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,96 @@
PHP NEWS
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+31 May 2007, PHP 5.2.3
+- Changed CGI install target to php-cgi and 'make install' to install CLI
+ when CGI is selected. (Jani)
+- Changed JSON maximum nesting depth from 20 to 128. (Rasmus)
+
+- Improved compilation of heredocs and interpolated strings. (Matt, Dmitry)
+- Optimized out a couple of per-request syscalls. (Rasmus)
+- Optimized digest generation in md5() and sha1() functions. (Ilia)
+- Upgraded bundled SQLite 3 to version 3.3.17. (Ilia)
+
+- Addded "max_input_nesting_level" php.ini option to limit nesting level of
+ input variables. Fix for MOPB-03-2007. (Stas)
+- Added a 4th parameter flag to htmlspecialchars() and htmlentities() that
+ makes the function not encode existing html entities. (Ilia)
+- Added PDO::FETCH_KEY_PAIR mode that will fetch a 2 column result set into
+ an associated array. (Ilia)
+- Added CURLOPT_TIMEOUT_MS and CURLOPT_CONNECTTIMEOUT_MS cURL constants. (Sara)
+- Added --ini switch to CLI that prints out configuration file names. (Marcus)
+- Added mysql_set_charset() to allow runtime altering of connection encoding.
+ (Scott)
+
+- Implemented FR #41416 (getColumnMeta() should also return table name). (Tony)
+
+- Fixed an interger overflow inside chunk_split(), identified by Gerhard
+ Wagner (Ilia)
+- Fixed SOAP extension's handler() to work even when
+ "always_populate_raw_post_data" is off. (Ilia)
+- Fixed possible infinite loop in imagecreatefrompng. (libgd #86)
+ (by Xavier Roche, CVE-2007-2756). (Pierre)
+- Fixed ext/filter Email Validation Vulnerability (MOPB-45 by Stefan Esser).
+ (Ilia)
+- Fixed altering $this via argument named "this". (Dmitry)
+- Fixed PHP CLI usage of php.ini from the binary location. (Hannes)
+- Fixed segfault in strripos(). (Tony, Joxean Koret)
+- Fixed bug #41525 (ReflectionParameter::getPosition() not available). (Marcus)
+- Fixed bug #41511 (Compile failure under IRIX 6.5.30 building md5.c). (Jani)
+- Fixed bug #41504 (json_decode() incorrectly decodes JSON arrays with empty
+ string keys). (Ilia)
+- Fixed bug #41492 (open_basedir/safe_mode bypass inside realpath()). (Ilia)
+- Fixed bug #41477 (no arginfo about SoapClient::__soapCall()). (Ilia)
+- Fixed bug #41455 (ext/dba/config.m4 pollutes global $LIBS and $LDFLAGS).
+ (mmarek at suse dot cz, Tony)
+- Fixed bug #41442 (imagegd2() under output control). (Tony)
+- Fixed bug #41430 (Fatal error with negative values of maxlen parameter of
+ file_get_contents()). (Tony)
+- Fixed bug #41423 (PHP assumes wrongly that certain ciphers are enabled in
+ OpenSSL). (Pierre)
+- Fixed bug #41421 (Uncaught exception from a stream wrapper segfaults).
+ (Tony, Dmitry)
+- Fixed bug #41403 (json_decode cannot decode floats if localeconv
+ decimal_point is not '.'). (Tony)
+- Fixed bug #41401 (wrong unary operator precedence). (Stas)
+- Fixed bug #41394 (dbase_create creates file with corrupted header). (Tony)
+- Fixed bug #41390 (Clarify error message with invalid protocol scheme).
+ (Scott)
+- Fixed bug #41378 (fastcgi protocol lacks support for Reason-Phrase in
+ "Status:" header). (anight at eyelinkmedia dot com, Dmitry)
+- Fixed bug #41374 (whole text concats values of wrong nodes). (Rob)
+- Fixed bug #41358 (configure cannot determine SSL lib with libcurl >= 7.16.2).
+ (Mike)
+- Fixed bug #41353 (crash in openssl_pkcs12_read() on invalid input). (Ilia)
+- Fixed bug #41351 (Invalid opcode with foreach ($a[] as $b)). (Dmitry, Tony)
+- Fixed bug #41347 (checkdnsrr() segfaults on empty hostname). (Scott)
+- Fixed bug #41337 (WSDL parsing doesn't ignore non soap bindings). (Dmitry)
+- Fixed bug #41326 (Writing empty tags with Xmlwriter::WriteElement[ns])
+ (Pierre)
+- Fixed bug #41321 (downgrade read errors in getimagesize() to E_NOTICE).
+ (Ilia)
+- Fixed bug #41304 (compress.zlib temp files left). (Dmitry)
+- Fixed bug #41293 (Fixed creation of HTTP_RAW_POST_DATA when there is no
+ default post handler). (Ilia)
+- Fixed bug #41291 (FastCGI does not set SO_REUSEADDR).
+ (fmajid at kefta dot com, Dmitry)
+- Fixed gd build when used with freetype 1.x (Pierre, Tony)
+- Fixed bug #41287 (Namespace functions don't allow xmlns definition to be
+ optional). (Rob)
+- Fixed bug #41285 (Improved fix for CVE-2007-1887 to work with non-bundled
+ sqlite2 lib). (Ilia)
+- Fixed bug #41283 (Bug with deserializing array key that are doubles or
+ floats in wddx). (Ilia)
+- Fixed bug #41257 (lookupNamespaceURI does not work as expected). (Rob)
+- Fixed bug #41236 (Regression in timeout handling of non-blocking SSL
+ connections during reads and writes). (Ilia)
+- Fixed bug #41134 (zend_ts_hash_clean not thread-safe).
+ (marco dot cova at gmail dot com, Tony)
+- Fixed bug #41097 (ext/soap returning associative array as indexed without
+ using WSDL). (Dmitry)
+- Fixed bug #41004 (minOccurs="0" and null class member variable). (Dmitry)
+- Fixed bug #39542 (Behavior of require/include different to < 5.2.0).
+ (Dmitry)
+
03 May 2007, PHP 5.2.2
- Improved bundled GD
. Sync to 2.0.35
@@ -211,8 +302,6 @@ PHP NEWS
(jdolecek at netbsd dot org, Nuno)
- Fixed PECL bug #10194 (crash in Oracle client when memory limit reached in
the callback). (Tony)
-- Limit nesting level of input variables with max_input_nesting_level
- as fix for MOPB-03-2007 (Stas)
- Fixed substr_compare and substr_count information leak (MOPB-14) (Stas, Ilia)
- Fixed crash on op-assign where argument is string offset (Brian, Stas)
- Fixed bug #38710 (data leakage because of nonexisting boundary checking in
diff --git a/TSRM/tsrm_virtual_cwd.c b/TSRM/tsrm_virtual_cwd.c
index d364c46..7cb2a66 100644
--- a/TSRM/tsrm_virtual_cwd.c
+++ b/TSRM/tsrm_virtual_cwd.c
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: tsrm_virtual_cwd.c,v 1.74.2.9.2.26 2007/04/12 15:28:58 dmitry Exp $ */
+/* $Id: tsrm_virtual_cwd.c,v 1.74.2.9.2.29 2007/05/30 10:50:47 tony2001 Exp $ */
#include <sys/types.h>
#include <sys/stat.h>
@@ -518,7 +518,7 @@ CWD_API int virtual_file_ex(cwd_state *state, const char *path, verify_path_func
}
if (use_cache) {
- t = CWDG(realpath_cache_ttl)?time(NULL):0;
+ t = CWDG(realpath_cache_ttl)?time(0):0;
if ((bucket = realpath_cache_find(path, path_length, t TSRMLS_CC)) != NULL) {
int len = bucket->realpath_len;
@@ -1009,7 +1009,7 @@ CWD_API int virtual_lstat(const char *path, struct stat *buf TSRMLS_DC)
int retval;
CWD_STATE_COPY(&new_state, &CWDG(cwd));
- if (virtual_file_ex(&new_state, path, NULL, CWD_REALPATH)) {
+ if (virtual_file_ex(&new_state, path, NULL, CWD_EXPAND)) {
CWD_STATE_FREE(&new_state);
return -1;
}
diff --git a/Zend/tests/add_006.phpt b/Zend/tests/add_006.phpt
index c3f127e..d56df2f 100644
--- a/Zend/tests/add_006.phpt
+++ b/Zend/tests/add_006.phpt
@@ -1,5 +1,7 @@
--TEST--
adding numbers to strings
+--INI--
+precision=14
--FILE--
<?php
diff --git a/Zend/tests/bug22725.phpt b/Zend/tests/bug22725.phpt
index aadd81b..5f3c258 100755
--- a/Zend/tests/bug22725.phpt
+++ b/Zend/tests/bug22725.phpt
@@ -1,5 +1,5 @@
--TEST--
-bug #22725 (A derived class can call a parent's protected method that calls a private method)
+Bug #22725 (A derived class can call a parent's protected method that calls a private method)
--SKIPIF--
<?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 needed'); ?>
--FILE--
diff --git a/Zend/tests/bug27304.phpt b/Zend/tests/bug27304.phpt
index 51e392d..0f24834 100755
--- a/Zend/tests/bug27304.phpt
+++ b/Zend/tests/bug27304.phpt
@@ -1,5 +1,5 @@
--TEST--
-Bug #27304
+Bug #27304 (Static functions don't function properly)
--FILE--
<?php
diff --git a/Zend/tests/bug29104.phpt b/Zend/tests/bug29104.phpt
index 4b39488..e1de58e 100644
--- a/Zend/tests/bug29104.phpt
+++ b/Zend/tests/bug29104.phpt
@@ -1,5 +1,5 @@
--TEST--
-Bug #29104 Function declaration in method doesn't work
+Bug #29104 (Function declaration in method doesn't work)
--FILE--
<?php
class A
diff --git a/Zend/tests/bug29210.phpt b/Zend/tests/bug29210.phpt
index c0f0460..d0de543 100644
--- a/Zend/tests/bug29210.phpt
+++ b/Zend/tests/bug29210.phpt
@@ -1,5 +1,5 @@
--TEST--
-Bug #29210 Function: is_callable - no support for private and protected classes
+Bug #29210 (Function is_callable does not support private and protected methods)
--FILE--
<?php
class test_class {
diff --git a/Zend/tests/bug30519.phpt b/Zend/tests/bug30519.phpt
index a499a3f..0fe7b6b 100755
--- a/Zend/tests/bug30519.phpt
+++ b/Zend/tests/bug30519.phpt
@@ -1,5 +1,5 @@
--TEST--
-Bug #30519 Interface not existing says Class not found
+Bug #30519 (Interface not existing says Class not found)
--FILE--
<?php
class test implements a {
diff --git a/Zend/tests/bug30702.phpt b/Zend/tests/bug30702.phpt
index e3e8f59..90a1ee8 100644
--- a/Zend/tests/bug30702.phpt
+++ b/Zend/tests/bug30702.phpt
@@ -1,5 +1,5 @@
--TEST--
-Bug #30702 cannot initialize class variable from class constant
+Bug #30702 (cannot initialize class variable from class constant)
--FILE--
<?php
class foo {
diff --git a/Zend/tests/bug30791.phpt b/Zend/tests/bug30791.phpt
index 52261a0..ce270c0 100755
--- a/Zend/tests/bug30791.phpt
+++ b/Zend/tests/bug30791.phpt
@@ -1,5 +1,5 @@
--TEST--
-Bug #30791 magic methods (__sleep/__wakeup/__toString) call __call if object is overloaded
+Bug #30791 (magic methods (__sleep/__wakeup/__toString) call __call if object is overloaded)
--FILE--
<?php
diff --git a/Zend/tests/bug30889.phpt b/Zend/tests/bug30889.phpt
index 4578516..c80dbde 100644
--- a/Zend/tests/bug30889.phpt
+++ b/Zend/tests/bug30889.phpt
@@ -1,5 +1,5 @@
--TEST--
-Bug #30889 Conflict between __get/__set and ++ operator
+Bug #30889 (Conflict between __get/__set and ++ operator)
--FILE--
<?php
class overloaded
diff --git a/Zend/tests/bug32296.phpt b/Zend/tests/bug32296.phpt
index 1b15f53..d2e6d0c 100755
--- a/Zend/tests/bug32296.phpt
+++ b/Zend/tests/bug32296.phpt
@@ -1,5 +1,5 @@
--TEST--
-Bug #32296 get_class_methods output has changed between 5.0.2 and 5.0.3
+Bug #32296 (get_class_methods output has changed between 5.0.2 and 5.0.3)
--FILE--
<?php
abstract class space{
diff --git a/Zend/tests/bug32427.phpt b/Zend/tests/bug32427.phpt
index 1745912..b7b478d 100644
--- a/Zend/tests/bug32427.phpt
+++ b/Zend/tests/bug32427.phpt
@@ -1,5 +1,5 @@
--TEST--
-Bug #32427 Interfaces are not allowed 'static' access modifier
+Bug #32427 (Interfaces are not allowed 'static' access modifier)
--FILE--
<?php
diff --git a/Zend/tests/bug32660.phpt b/Zend/tests/bug32660.phpt
index b075e19..5e28df4 100755
--- a/Zend/tests/bug32660.phpt
+++ b/Zend/tests/bug32660.phpt
@@ -1,5 +1,5 @@
--TEST--
-Bug #32660 Assignment by reference causes crash when field access is overloaded (__get)
+Bug #32660 (Assignment by reference causes crash when field access is overloaded (__get))
--FILE--
<?php
class A
diff --git a/Zend/tests/bug32674.phpt b/Zend/tests/bug32674.phpt
index 700e3b4..f986132 100644
--- a/Zend/tests/bug32674.phpt
+++ b/Zend/tests/bug32674.phpt
@@ -1,5 +1,5 @@
--TEST--
-Bug #32674 exception in iterator causes crash
+Bug #32674 (exception in iterator causes crash)
--FILE--
<?php
class collection implements Iterator {
diff --git a/Zend/tests/bug32833.phpt b/Zend/tests/bug32833.phpt
index a9a7cc6..b8a8bbe 100644
--- a/Zend/tests/bug32833.phpt
+++ b/Zend/tests/bug32833.phpt
@@ -1,5 +1,5 @@
--TEST--
-Bug #32833 Invalid opcode
+Bug #32833 (Invalid opcode with $a[] .= '')
--FILE--
<?php
$test = array();
diff --git a/Zend/tests/bug33257.phpt b/Zend/tests/bug33257.phpt
index 2d85d3a..5c5061b 100755
--- a/Zend/tests/bug33257.phpt
+++ b/Zend/tests/bug33257.phpt
@@ -1,5 +1,5 @@
--TEST--
-Bug #33257 array_splice() inconsistent when passed function instead of variable
+Bug #33257 (array_splice() inconsistent when passed function instead of variable)
--INI--
error_reporting=4095
--FILE--
diff --git a/Zend/tests/bug34712.phpt b/Zend/tests/bug34712.phpt
index 3d81759..d280c26 100755
--- a/Zend/tests/bug34712.phpt
+++ b/Zend/tests/bug34712.phpt
@@ -1,5 +1,5 @@
--TEST--
-Bug #34712 zend.ze1_compatibility_mode = on segfault
+Bug #34712 (zend.ze1_compatibility_mode = on segfault)
--INI--
zend.ze1_compatibility_mode=1
error_reporting=4095
diff --git a/Zend/tests/bug35437.phpt b/Zend/tests/bug35437.phpt
index 7d6241b..965acf5 100755
--- a/Zend/tests/bug35437.phpt
+++ b/Zend/tests/bug35437.phpt
@@ -1,5 +1,5 @@
--TEST--
-Bug #35437 Segfault or Invalid Opcode 137/1/4
+Bug #35437 (Segfault or Invalid Opcode 137/1/4)
--FILE--
<?php
function err2exception($errno, $errstr)
diff --git a/Zend/tests/bug37811.phpt b/Zend/tests/bug37811.phpt
index dc3ef93..70c4c90 100755
--- a/Zend/tests/bug37811.phpt
+++ b/Zend/tests/bug37811.phpt
@@ -1,5 +1,5 @@
--TEST--
-Bug #37811 define not using toString on objects
+Bug #37811 (define not using toString on objects)
--FILE--
<?php
diff --git a/Zend/tests/bug38220.phpt b/Zend/tests/bug38220.phpt
index 5b0a717..3e1b2dc 100755
--- a/Zend/tests/bug38220.phpt
+++ b/Zend/tests/bug38220.phpt
@@ -1,5 +1,5 @@
--TEST--
-Bug #38220 Crash on some object operations
+Bug #38220 (Crash on some object operations)
--FILE--
<?php
class drv {
diff --git a/Zend/tests/bug39542.phpt b/Zend/tests/bug39542.phpt
new file mode 100755
index 0000000..1b8ae33
--- /dev/null
+++ b/Zend/tests/bug39542.phpt
@@ -0,0 +1,24 @@
+--TEST--
+Bug #39542 (Behaviour of require_once/include_once different to < 5.2.0)
+--FILE--
+<?php
+$oldcwd = getcwd();
+chdir(dirname(__FILE__));
+if (substr(PHP_OS, 0, 3) == 'WIN') {
+ set_include_path(dirname(__FILE__).'/bug39542;.');
+} else {
+ set_include_path(dirname(__FILE__).'/bug39542:.');
+}
+
+function __autoload($class) {
+ if (!require_once($class.'.php')) {
+ error_log('Error: Autoload class: '.$class.' not found!');
+ }
+}
+
+new bug39542();
+
+chdir($oldcwd);
+?>
+--EXPECT--
+ok
diff --git a/Zend/tests/bug39542/bug39542.php b/Zend/tests/bug39542/bug39542.php
new file mode 100755
index 0000000..1109517
--- /dev/null
+++ b/Zend/tests/bug39542/bug39542.php
@@ -0,0 +1,7 @@
+<?php
+class bug39542 {
+ function bug39542() {
+ echo "ok\n";
+ }
+}
+?>
diff --git a/Zend/tests/bug40236.phpt b/Zend/tests/bug40236.phpt
index 9d8f486..dfaa51f 100755
--- a/Zend/tests/bug40236.phpt
+++ b/Zend/tests/bug40236.phpt
@@ -1,7 +1,10 @@
--TEST--
Bug #40236 (php -a function allocation eats memory)
--SKIPIF--
+<?php
if (php_sapi_name() != "cli") die("skip CLI only");
+if (extension_loaded("readline")) die("skip Test doesn't support readline");
+?>
--FILE--
<?php
$php = getenv('TEST_PHP_EXECUTABLE');
diff --git a/Zend/tests/bug40770.phpt b/Zend/tests/bug40770.phpt
index a733385..432a27a 100755
--- a/Zend/tests/bug40770.phpt
+++ b/Zend/tests/bug40770.phpt
@@ -1,5 +1,5 @@
--TEST--
-Bug #40770 Apache child exits when PHP memory limit reached
+Bug #40770 (Apache child exits when PHP memory limit reached)
--INI--
memory_limit=8M
--SKIPIF--
diff --git a/Zend/tests/bug40809.phpt b/Zend/tests/bug40809.phpt
index be27dbd..a90754d 100755
--- a/Zend/tests/bug40809.phpt
+++ b/Zend/tests/bug40809.phpt
@@ -1,5 +1,5 @@
--TEST--
-Bug #40809 Poor perfomance of ".="
+Bug #40809 (Poor perfomance of ".=")
--FILE--
<?php
error_reporting(E_ALL|E_STRICT);
diff --git a/Zend/tests/bug41075.phpt b/Zend/tests/bug41075.phpt
index ddeb7cc..0751cbd 100644
--- a/Zend/tests/bug41075.phpt
+++ b/Zend/tests/bug41075.phpt
@@ -1,5 +1,5 @@
--TEST--
-Bug #41075(memleak when creating default object caused exception)
+Bug #41075 (memleak when creating default object caused exception)
--FILE--
<?php
diff --git a/Zend/tests/bug41351.phpt b/Zend/tests/bug41351.phpt
new file mode 100644
index 0000000..62af6a0
--- /dev/null
+++ b/Zend/tests/bug41351.phpt
@@ -0,0 +1,14 @@
+--TEST--
+Bug #41351 (Invalid opcode with foreach ($a[] as $b))
+--FILE--
+<?php
+
+$a = array();
+
+foreach($a[] as $b) {
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+Fatal error: Cannot use [] for reading in %s on line %d
diff --git a/Zend/tests/bug41351_2.phpt b/Zend/tests/bug41351_2.phpt
new file mode 100644
index 0000000..7009eaa
--- /dev/null
+++ b/Zend/tests/bug41351_2.phpt
@@ -0,0 +1,14 @@
+--TEST--
+Bug #41351 (Invalid opcode with foreach ($a[] as $b)) - 2
+--FILE--
+<?php
+
+$a = array();
+
+foreach($a[]['test'] as $b) {
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+Fatal error: Cannot use [] for reading in %s on line %d
diff --git a/Zend/tests/bug41351_3.phpt b/Zend/tests/bug41351_3.phpt
new file mode 100644
index 0000000..9cb2388
--- /dev/null
+++ b/Zend/tests/bug41351_3.phpt
@@ -0,0 +1,14 @@
+--TEST--
+Bug #41351 (Invalid opcode with foreach ($a[] as $b)) - 3
+--FILE--
+<?php
+
+$a = array();
+
+foreach($a['test'][] as $b) {
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+Fatal error: Cannot use [] for reading in %s on line %d
diff --git a/Zend/tests/bug41401.phpt b/Zend/tests/bug41401.phpt
new file mode 100755
index 0000000..50d2109
--- /dev/null
+++ b/Zend/tests/bug41401.phpt
@@ -0,0 +1,10 @@
+--TEST--
+Bug #41401 (wrong precedence for unary minus)
+--FILE--
+<?php
+echo 1/-2*5;
+echo "\n";
+echo 6/+2*-3;
+--EXPECT--
+-2.5
+-9 \ No newline at end of file
diff --git a/Zend/tests/bug41421.phpt b/Zend/tests/bug41421.phpt
new file mode 100644
index 0000000..f10db10
--- /dev/null
+++ b/Zend/tests/bug41421.phpt
@@ -0,0 +1,29 @@
+--TEST--
+Bug #41421 (Uncaught exception from a stream wrapper segfaults)
+--FILE--
+<?php
+
+class wrapper {
+ function stream_open() {
+ return true;
+ }
+ function stream_eof() {
+ throw new exception();
+ }
+}
+
+stream_wrapper_register("wrap", "wrapper");
+$fp = fopen("wrap://...", "r");
+feof($fp);
+
+echo "Done\n";
+?>
+--EXPECTF--
+Warning: feof(): wrapper::stream_eof is not implemented! Assuming EOF in %s on line %d
+
+Fatal error: Uncaught exception 'Exception' in %s:%d
+Stack trace:
+#0 [internal function]: wrapper->stream_eof()
+#1 %s(%d): feof(Resource id #6)
+#2 {main}
+ thrown in %s on line %d
diff --git a/Zend/tests/cast_to_double.phpt b/Zend/tests/cast_to_double.phpt
index 7afc270..a5b9819 100644
--- a/Zend/tests/cast_to_double.phpt
+++ b/Zend/tests/cast_to_double.phpt
@@ -1,5 +1,7 @@
--TEST--
casting different variables to double
+--INI--
+precision=14
--FILE--
<?php
diff --git a/Zend/tests/compare_001.phpt b/Zend/tests/compare_001.phpt
new file mode 100644
index 0000000..1d42c63
--- /dev/null
+++ b/Zend/tests/compare_001.phpt
@@ -0,0 +1,389 @@
+--TEST--
+comparing different variables for equality
+--SKIPIF--
+<?php if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platform only"); ?>
+--FILE--
+<?php
+
+class test {
+}
+
+$a = array(
+ array(1,2,3),
+ "",
+ 1,
+ 2.5,
+ 0,
+ "string",
+ "123",
+ "2.5",
+ NULL,
+ true,
+ false,
+ new stdclass,
+ new stdclass,
+ new test,
+ array(),
+ -PHP_INT_MAX-1,
+ (string)(-PHP_INT_MAX-1),
+);
+
+$var_cnt = count($a);
+
+function my_dump($var) {
+ ob_start();
+ var_dump($var);
+ $buf = ob_get_clean();
+ echo str_replace("\n", "", $buf);
+}
+
+foreach($a as $var) {
+ for ($i = 0; $i < $var_cnt; $i++) {
+ my_dump($var);
+ echo ($var == $a[$i]) ? " == " : " != ";
+ my_dump($a[$i]);
+ echo "\n";
+ }
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} == array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != string(0) ""
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != int(1)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != float(2.5)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != int(0)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != string(6) "string"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != string(3) "123"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != string(3) "2.5"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != NULL
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} == bool(true)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != bool(false)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != object(stdClass)#1 (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != object(stdClass)#2 (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != object(test)#3 (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != array(0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != int(-2147483648)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != string(11) "-2147483648"
+string(0) "" != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(0) "" == string(0) ""
+string(0) "" != int(1)
+string(0) "" != float(2.5)
+string(0) "" == int(0)
+string(0) "" != string(6) "string"
+string(0) "" != string(3) "123"
+string(0) "" != string(3) "2.5"
+string(0) "" == NULL
+string(0) "" != bool(true)
+string(0) "" == bool(false)
+string(0) "" != object(stdClass)#1 (0) {}
+string(0) "" != object(stdClass)#2 (0) {}
+string(0) "" != object(test)#3 (0) {}
+string(0) "" != array(0) {}
+string(0) "" != int(-2147483648)
+string(0) "" != string(11) "-2147483648"
+int(1) != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+int(1) != string(0) ""
+int(1) == int(1)
+int(1) != float(2.5)
+int(1) != int(0)
+int(1) != string(6) "string"
+int(1) != string(3) "123"
+int(1) != string(3) "2.5"
+int(1) != NULL
+int(1) == bool(true)
+int(1) != bool(false)
+int(1)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ == object(stdClass)#1 (0) {}
+int(1)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ == object(stdClass)#2 (0) {}
+int(1)
+Notice: Object of class test could not be converted to int in %s on line %d
+ == object(test)#3 (0) {}
+int(1) != array(0) {}
+int(1) != int(-2147483648)
+int(1) != string(11) "-2147483648"
+float(2.5) != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+float(2.5) != string(0) ""
+float(2.5) != int(1)
+float(2.5) == float(2.5)
+float(2.5) != int(0)
+float(2.5) != string(6) "string"
+float(2.5) != string(3) "123"
+float(2.5) == string(3) "2.5"
+float(2.5) != NULL
+float(2.5) == bool(true)
+float(2.5) != bool(false)
+float(2.5)
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ != object(stdClass)#1 (0) {}
+float(2.5)
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ != object(stdClass)#2 (0) {}
+float(2.5)
+Notice: Object of class test could not be converted to double in %s on line %d
+ != object(test)#3 (0) {}
+float(2.5) != array(0) {}
+float(2.5) != int(-2147483648)
+float(2.5) != string(11) "-2147483648"
+int(0) != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+int(0) == string(0) ""
+int(0) != int(1)
+int(0) != float(2.5)
+int(0) == int(0)
+int(0) == string(6) "string"
+int(0) != string(3) "123"
+int(0) != string(3) "2.5"
+int(0) == NULL
+int(0) != bool(true)
+int(0) == bool(false)
+int(0)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ != object(stdClass)#1 (0) {}
+int(0)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ != object(stdClass)#2 (0) {}
+int(0)
+Notice: Object of class test could not be converted to int in %s on line %d
+ != object(test)#3 (0) {}
+int(0) != array(0) {}
+int(0) != int(-2147483648)
+int(0) != string(11) "-2147483648"
+string(6) "string" != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(6) "string" != string(0) ""
+string(6) "string" != int(1)
+string(6) "string" != float(2.5)
+string(6) "string" == int(0)
+string(6) "string" == string(6) "string"
+string(6) "string" != string(3) "123"
+string(6) "string" != string(3) "2.5"
+string(6) "string" != NULL
+string(6) "string" == bool(true)
+string(6) "string" != bool(false)
+string(6) "string" != object(stdClass)#1 (0) {}
+string(6) "string" != object(stdClass)#2 (0) {}
+string(6) "string" != object(test)#3 (0) {}
+string(6) "string" != array(0) {}
+string(6) "string" != int(-2147483648)
+string(6) "string" != string(11) "-2147483648"
+string(3) "123" != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(3) "123" != string(0) ""
+string(3) "123" != int(1)
+string(3) "123" != float(2.5)
+string(3) "123" != int(0)
+string(3) "123" != string(6) "string"
+string(3) "123" == string(3) "123"
+string(3) "123" != string(3) "2.5"
+string(3) "123" != NULL
+string(3) "123" == bool(true)
+string(3) "123" != bool(false)
+string(3) "123" != object(stdClass)#1 (0) {}
+string(3) "123" != object(stdClass)#2 (0) {}
+string(3) "123" != object(test)#3 (0) {}
+string(3) "123" != array(0) {}
+string(3) "123" != int(-2147483648)
+string(3) "123" != string(11) "-2147483648"
+string(3) "2.5" != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(3) "2.5" != string(0) ""
+string(3) "2.5" != int(1)
+string(3) "2.5" == float(2.5)
+string(3) "2.5" != int(0)
+string(3) "2.5" != string(6) "string"
+string(3) "2.5" != string(3) "123"
+string(3) "2.5" == string(3) "2.5"
+string(3) "2.5" != NULL
+string(3) "2.5" == bool(true)
+string(3) "2.5" != bool(false)
+string(3) "2.5" != object(stdClass)#1 (0) {}
+string(3) "2.5" != object(stdClass)#2 (0) {}
+string(3) "2.5" != object(test)#3 (0) {}
+string(3) "2.5" != array(0) {}
+string(3) "2.5" != int(-2147483648)
+string(3) "2.5" != string(11) "-2147483648"
+NULL != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+NULL == string(0) ""
+NULL != int(1)
+NULL != float(2.5)
+NULL == int(0)
+NULL != string(6) "string"
+NULL != string(3) "123"
+NULL != string(3) "2.5"
+NULL == NULL
+NULL != bool(true)
+NULL == bool(false)
+NULL != object(stdClass)#1 (0) {}
+NULL != object(stdClass)#2 (0) {}
+NULL != object(test)#3 (0) {}
+NULL == array(0) {}
+NULL != int(-2147483648)
+NULL != string(11) "-2147483648"
+bool(true) == array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+bool(true) != string(0) ""
+bool(true) == int(1)
+bool(true) == float(2.5)
+bool(true) != int(0)
+bool(true) == string(6) "string"
+bool(true) == string(3) "123"
+bool(true) == string(3) "2.5"
+bool(true) != NULL
+bool(true) == bool(true)
+bool(true) != bool(false)
+bool(true) == object(stdClass)#1 (0) {}
+bool(true) == object(stdClass)#2 (0) {}
+bool(true) == object(test)#3 (0) {}
+bool(true) != array(0) {}
+bool(true) == int(-2147483648)
+bool(true) == string(11) "-2147483648"
+bool(false) != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+bool(false) == string(0) ""
+bool(false) != int(1)
+bool(false) != float(2.5)
+bool(false) == int(0)
+bool(false) != string(6) "string"
+bool(false) != string(3) "123"
+bool(false) != string(3) "2.5"
+bool(false) == NULL
+bool(false) != bool(true)
+bool(false) == bool(false)
+bool(false) != object(stdClass)#1 (0) {}
+bool(false) != object(stdClass)#2 (0) {}
+bool(false) != object(test)#3 (0) {}
+bool(false) == array(0) {}
+bool(false) != int(-2147483648)
+bool(false) != string(11) "-2147483648"
+object(stdClass)#1 (0) {} != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(stdClass)#1 (0) {} != string(0) ""
+object(stdClass)#1 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ == int(1)
+object(stdClass)#1 (0) {}
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ != float(2.5)
+object(stdClass)#1 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ != int(0)
+object(stdClass)#1 (0) {} != string(6) "string"
+object(stdClass)#1 (0) {} != string(3) "123"
+object(stdClass)#1 (0) {} != string(3) "2.5"
+object(stdClass)#1 (0) {} != NULL
+object(stdClass)#1 (0) {} == bool(true)
+object(stdClass)#1 (0) {} != bool(false)
+object(stdClass)#1 (0) {} == object(stdClass)#1 (0) {}
+object(stdClass)#1 (0) {} == object(stdClass)#2 (0) {}
+object(stdClass)#1 (0) {} != object(test)#3 (0) {}
+object(stdClass)#1 (0) {} != array(0) {}
+object(stdClass)#1 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ != int(-2147483648)
+object(stdClass)#1 (0) {} != string(11) "-2147483648"
+object(stdClass)#2 (0) {} != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(stdClass)#2 (0) {} != string(0) ""
+object(stdClass)#2 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ == int(1)
+object(stdClass)#2 (0) {}
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ != float(2.5)
+object(stdClass)#2 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ != int(0)
+object(stdClass)#2 (0) {} != string(6) "string"
+object(stdClass)#2 (0) {} != string(3) "123"
+object(stdClass)#2 (0) {} != string(3) "2.5"
+object(stdClass)#2 (0) {} != NULL
+object(stdClass)#2 (0) {} == bool(true)
+object(stdClass)#2 (0) {} != bool(false)
+object(stdClass)#2 (0) {} == object(stdClass)#1 (0) {}
+object(stdClass)#2 (0) {} == object(stdClass)#2 (0) {}
+object(stdClass)#2 (0) {} != object(test)#3 (0) {}
+object(stdClass)#2 (0) {} != array(0) {}
+object(stdClass)#2 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ != int(-2147483648)
+object(stdClass)#2 (0) {} != string(11) "-2147483648"
+object(test)#3 (0) {} != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(test)#3 (0) {} != string(0) ""
+object(test)#3 (0) {}
+Notice: Object of class test could not be converted to int in %s on line %d
+ == int(1)
+object(test)#3 (0) {}
+Notice: Object of class test could not be converted to double in %s on line %d
+ != float(2.5)
+object(test)#3 (0) {}
+Notice: Object of class test could not be converted to int in %s on line %d
+ != int(0)
+object(test)#3 (0) {} != string(6) "string"
+object(test)#3 (0) {} != string(3) "123"
+object(test)#3 (0) {} != string(3) "2.5"
+object(test)#3 (0) {} != NULL
+object(test)#3 (0) {} == bool(true)
+object(test)#3 (0) {} != bool(false)
+object(test)#3 (0) {} != object(stdClass)#1 (0) {}
+object(test)#3 (0) {} != object(stdClass)#2 (0) {}
+object(test)#3 (0) {} == object(test)#3 (0) {}
+object(test)#3 (0) {} != array(0) {}
+object(test)#3 (0) {}
+Notice: Object of class test could not be converted to int in %s on line %d
+ != int(-2147483648)
+object(test)#3 (0) {} != string(11) "-2147483648"
+array(0) {} != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+array(0) {} != string(0) ""
+array(0) {} != int(1)
+array(0) {} != float(2.5)
+array(0) {} != int(0)
+array(0) {} != string(6) "string"
+array(0) {} != string(3) "123"
+array(0) {} != string(3) "2.5"
+array(0) {} == NULL
+array(0) {} != bool(true)
+array(0) {} == bool(false)
+array(0) {} != object(stdClass)#1 (0) {}
+array(0) {} != object(stdClass)#2 (0) {}
+array(0) {} != object(test)#3 (0) {}
+array(0) {} == array(0) {}
+array(0) {} != int(-2147483648)
+array(0) {} != string(11) "-2147483648"
+int(-2147483648) != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+int(-2147483648) != string(0) ""
+int(-2147483648) != int(1)
+int(-2147483648) != float(2.5)
+int(-2147483648) != int(0)
+int(-2147483648) != string(6) "string"
+int(-2147483648) != string(3) "123"
+int(-2147483648) != string(3) "2.5"
+int(-2147483648) != NULL
+int(-2147483648) == bool(true)
+int(-2147483648) != bool(false)
+int(-2147483648)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ != object(stdClass)#1 (0) {}
+int(-2147483648)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ != object(stdClass)#2 (0) {}
+int(-2147483648)
+Notice: Object of class test could not be converted to int in %s on line %d
+ != object(test)#3 (0) {}
+int(-2147483648) != array(0) {}
+int(-2147483648) == int(-2147483648)
+int(-2147483648) == string(11) "-2147483648"
+string(11) "-2147483648" != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(11) "-2147483648" != string(0) ""
+string(11) "-2147483648" != int(1)
+string(11) "-2147483648" != float(2.5)
+string(11) "-2147483648" != int(0)
+string(11) "-2147483648" != string(6) "string"
+string(11) "-2147483648" != string(3) "123"
+string(11) "-2147483648" != string(3) "2.5"
+string(11) "-2147483648" != NULL
+string(11) "-2147483648" == bool(true)
+string(11) "-2147483648" != bool(false)
+string(11) "-2147483648" != object(stdClass)#1 (0) {}
+string(11) "-2147483648" != object(stdClass)#2 (0) {}
+string(11) "-2147483648" != object(test)#3 (0) {}
+string(11) "-2147483648" != array(0) {}
+string(11) "-2147483648" == int(-2147483648)
+string(11) "-2147483648" == string(11) "-2147483648"
+Done
diff --git a/Zend/tests/compare_001_64bit.phpt b/Zend/tests/compare_001_64bit.phpt
new file mode 100644
index 0000000..bc57d0f
--- /dev/null
+++ b/Zend/tests/compare_001_64bit.phpt
@@ -0,0 +1,389 @@
+--TEST--
+comparing different variables for equality
+--SKIPIF--
+<?php if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only"); ?>
+--FILE--
+<?php
+
+class test {
+}
+
+$a = array(
+ array(1,2,3),
+ "",
+ 1,
+ 2.5,
+ 0,
+ "string",
+ "123",
+ "2.5",
+ NULL,
+ true,
+ false,
+ new stdclass,
+ new stdclass,
+ new test,
+ array(),
+ -PHP_INT_MAX-1,
+ (string)(-PHP_INT_MAX-1),
+);
+
+$var_cnt = count($a);
+
+function my_dump($var) {
+ ob_start();
+ var_dump($var);
+ $buf = ob_get_clean();
+ echo str_replace("\n", "", $buf);
+}
+
+foreach($a as $var) {
+ for ($i = 0; $i < $var_cnt; $i++) {
+ my_dump($var);
+ echo ($var == $a[$i]) ? " == " : " != ";
+ my_dump($a[$i]);
+ echo "\n";
+ }
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} == array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != string(0) ""
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != int(1)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != float(2.5)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != int(0)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != string(6) "string"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != string(3) "123"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != string(3) "2.5"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != NULL
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} == bool(true)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != bool(false)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != object(stdClass)#%d (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != object(stdClass)#%d (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != object(test)#%d (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != array(0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != int(-9223372036854775808)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != string(20) "-9223372036854775808"
+string(0) "" != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(0) "" == string(0) ""
+string(0) "" != int(1)
+string(0) "" != float(2.5)
+string(0) "" == int(0)
+string(0) "" != string(6) "string"
+string(0) "" != string(3) "123"
+string(0) "" != string(3) "2.5"
+string(0) "" == NULL
+string(0) "" != bool(true)
+string(0) "" == bool(false)
+string(0) "" != object(stdClass)#%d (0) {}
+string(0) "" != object(stdClass)#%d (0) {}
+string(0) "" != object(test)#%d (0) {}
+string(0) "" != array(0) {}
+string(0) "" != int(-9223372036854775808)
+string(0) "" != string(20) "-9223372036854775808"
+int(1) != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+int(1) != string(0) ""
+int(1) == int(1)
+int(1) != float(2.5)
+int(1) != int(0)
+int(1) != string(6) "string"
+int(1) != string(3) "123"
+int(1) != string(3) "2.5"
+int(1) != NULL
+int(1) == bool(true)
+int(1) != bool(false)
+int(1)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ == object(stdClass)#%d (0) {}
+int(1)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ == object(stdClass)#%d (0) {}
+int(1)
+Notice: Object of class test could not be converted to int in %s on line %d
+ == object(test)#%d (0) {}
+int(1) != array(0) {}
+int(1) != int(-9223372036854775808)
+int(1) != string(20) "-9223372036854775808"
+float(2.5) != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+float(2.5) != string(0) ""
+float(2.5) != int(1)
+float(2.5) == float(2.5)
+float(2.5) != int(0)
+float(2.5) != string(6) "string"
+float(2.5) != string(3) "123"
+float(2.5) == string(3) "2.5"
+float(2.5) != NULL
+float(2.5) == bool(true)
+float(2.5) != bool(false)
+float(2.5)
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ != object(stdClass)#%d (0) {}
+float(2.5)
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ != object(stdClass)#%d (0) {}
+float(2.5)
+Notice: Object of class test could not be converted to double in %s on line %d
+ != object(test)#%d (0) {}
+float(2.5) != array(0) {}
+float(2.5) != int(-9223372036854775808)
+float(2.5) != string(20) "-9223372036854775808"
+int(0) != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+int(0) == string(0) ""
+int(0) != int(1)
+int(0) != float(2.5)
+int(0) == int(0)
+int(0) == string(6) "string"
+int(0) != string(3) "123"
+int(0) != string(3) "2.5"
+int(0) == NULL
+int(0) != bool(true)
+int(0) == bool(false)
+int(0)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ != object(stdClass)#%d (0) {}
+int(0)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ != object(stdClass)#%d (0) {}
+int(0)
+Notice: Object of class test could not be converted to int in %s on line %d
+ != object(test)#%d (0) {}
+int(0) != array(0) {}
+int(0) != int(-9223372036854775808)
+int(0) != string(20) "-9223372036854775808"
+string(6) "string" != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(6) "string" != string(0) ""
+string(6) "string" != int(1)
+string(6) "string" != float(2.5)
+string(6) "string" == int(0)
+string(6) "string" == string(6) "string"
+string(6) "string" != string(3) "123"
+string(6) "string" != string(3) "2.5"
+string(6) "string" != NULL
+string(6) "string" == bool(true)
+string(6) "string" != bool(false)
+string(6) "string" != object(stdClass)#%d (0) {}
+string(6) "string" != object(stdClass)#%d (0) {}
+string(6) "string" != object(test)#%d (0) {}
+string(6) "string" != array(0) {}
+string(6) "string" != int(-9223372036854775808)
+string(6) "string" != string(20) "-9223372036854775808"
+string(3) "123" != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(3) "123" != string(0) ""
+string(3) "123" != int(1)
+string(3) "123" != float(2.5)
+string(3) "123" != int(0)
+string(3) "123" != string(6) "string"
+string(3) "123" == string(3) "123"
+string(3) "123" != string(3) "2.5"
+string(3) "123" != NULL
+string(3) "123" == bool(true)
+string(3) "123" != bool(false)
+string(3) "123" != object(stdClass)#%d (0) {}
+string(3) "123" != object(stdClass)#%d (0) {}
+string(3) "123" != object(test)#%d (0) {}
+string(3) "123" != array(0) {}
+string(3) "123" != int(-9223372036854775808)
+string(3) "123" != string(20) "-9223372036854775808"
+string(3) "2.5" != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(3) "2.5" != string(0) ""
+string(3) "2.5" != int(1)
+string(3) "2.5" == float(2.5)
+string(3) "2.5" != int(0)
+string(3) "2.5" != string(6) "string"
+string(3) "2.5" != string(3) "123"
+string(3) "2.5" == string(3) "2.5"
+string(3) "2.5" != NULL
+string(3) "2.5" == bool(true)
+string(3) "2.5" != bool(false)
+string(3) "2.5" != object(stdClass)#%d (0) {}
+string(3) "2.5" != object(stdClass)#%d (0) {}
+string(3) "2.5" != object(test)#%d (0) {}
+string(3) "2.5" != array(0) {}
+string(3) "2.5" != int(-9223372036854775808)
+string(3) "2.5" != string(20) "-9223372036854775808"
+NULL != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+NULL == string(0) ""
+NULL != int(1)
+NULL != float(2.5)
+NULL == int(0)
+NULL != string(6) "string"
+NULL != string(3) "123"
+NULL != string(3) "2.5"
+NULL == NULL
+NULL != bool(true)
+NULL == bool(false)
+NULL != object(stdClass)#%d (0) {}
+NULL != object(stdClass)#%d (0) {}
+NULL != object(test)#%d (0) {}
+NULL == array(0) {}
+NULL != int(-9223372036854775808)
+NULL != string(20) "-9223372036854775808"
+bool(true) == array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+bool(true) != string(0) ""
+bool(true) == int(1)
+bool(true) == float(2.5)
+bool(true) != int(0)
+bool(true) == string(6) "string"
+bool(true) == string(3) "123"
+bool(true) == string(3) "2.5"
+bool(true) != NULL
+bool(true) == bool(true)
+bool(true) != bool(false)
+bool(true) == object(stdClass)#%d (0) {}
+bool(true) == object(stdClass)#%d (0) {}
+bool(true) == object(test)#%d (0) {}
+bool(true) != array(0) {}
+bool(true) == int(-9223372036854775808)
+bool(true) == string(20) "-9223372036854775808"
+bool(false) != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+bool(false) == string(0) ""
+bool(false) != int(1)
+bool(false) != float(2.5)
+bool(false) == int(0)
+bool(false) != string(6) "string"
+bool(false) != string(3) "123"
+bool(false) != string(3) "2.5"
+bool(false) == NULL
+bool(false) != bool(true)
+bool(false) == bool(false)
+bool(false) != object(stdClass)#%d (0) {}
+bool(false) != object(stdClass)#%d (0) {}
+bool(false) != object(test)#%d (0) {}
+bool(false) == array(0) {}
+bool(false) != int(-9223372036854775808)
+bool(false) != string(20) "-9223372036854775808"
+object(stdClass)#%d (0) {} != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(stdClass)#%d (0) {} != string(0) ""
+object(stdClass)#%d (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ == int(1)
+object(stdClass)#%d (0) {}
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ != float(2.5)
+object(stdClass)#%d (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ != int(0)
+object(stdClass)#%d (0) {} != string(6) "string"
+object(stdClass)#%d (0) {} != string(3) "123"
+object(stdClass)#%d (0) {} != string(3) "2.5"
+object(stdClass)#%d (0) {} != NULL
+object(stdClass)#%d (0) {} == bool(true)
+object(stdClass)#%d (0) {} != bool(false)
+object(stdClass)#%d (0) {} == object(stdClass)#%d (0) {}
+object(stdClass)#%d (0) {} == object(stdClass)#%d (0) {}
+object(stdClass)#%d (0) {} != object(test)#%d (0) {}
+object(stdClass)#%d (0) {} != array(0) {}
+object(stdClass)#%d (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ != int(-9223372036854775808)
+object(stdClass)#%d (0) {} != string(20) "-9223372036854775808"
+object(stdClass)#%d (0) {} != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(stdClass)#%d (0) {} != string(0) ""
+object(stdClass)#%d (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ == int(1)
+object(stdClass)#%d (0) {}
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ != float(2.5)
+object(stdClass)#%d (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ != int(0)
+object(stdClass)#%d (0) {} != string(6) "string"
+object(stdClass)#%d (0) {} != string(3) "123"
+object(stdClass)#%d (0) {} != string(3) "2.5"
+object(stdClass)#%d (0) {} != NULL
+object(stdClass)#%d (0) {} == bool(true)
+object(stdClass)#%d (0) {} != bool(false)
+object(stdClass)#%d (0) {} == object(stdClass)#%d (0) {}
+object(stdClass)#%d (0) {} == object(stdClass)#%d (0) {}
+object(stdClass)#%d (0) {} != object(test)#%d (0) {}
+object(stdClass)#%d (0) {} != array(0) {}
+object(stdClass)#%d (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ != int(-9223372036854775808)
+object(stdClass)#%d (0) {} != string(20) "-9223372036854775808"
+object(test)#%d (0) {} != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(test)#%d (0) {} != string(0) ""
+object(test)#%d (0) {}
+Notice: Object of class test could not be converted to int in %s on line %d
+ == int(1)
+object(test)#%d (0) {}
+Notice: Object of class test could not be converted to double in %s on line %d
+ != float(2.5)
+object(test)#%d (0) {}
+Notice: Object of class test could not be converted to int in %s on line %d
+ != int(0)
+object(test)#%d (0) {} != string(6) "string"
+object(test)#%d (0) {} != string(3) "123"
+object(test)#%d (0) {} != string(3) "2.5"
+object(test)#%d (0) {} != NULL
+object(test)#%d (0) {} == bool(true)
+object(test)#%d (0) {} != bool(false)
+object(test)#%d (0) {} != object(stdClass)#%d (0) {}
+object(test)#%d (0) {} != object(stdClass)#%d (0) {}
+object(test)#%d (0) {} == object(test)#%d (0) {}
+object(test)#%d (0) {} != array(0) {}
+object(test)#%d (0) {}
+Notice: Object of class test could not be converted to int in %s on line %d
+ != int(-9223372036854775808)
+object(test)#%d (0) {} != string(20) "-9223372036854775808"
+array(0) {} != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+array(0) {} != string(0) ""
+array(0) {} != int(1)
+array(0) {} != float(2.5)
+array(0) {} != int(0)
+array(0) {} != string(6) "string"
+array(0) {} != string(3) "123"
+array(0) {} != string(3) "2.5"
+array(0) {} == NULL
+array(0) {} != bool(true)
+array(0) {} == bool(false)
+array(0) {} != object(stdClass)#%d (0) {}
+array(0) {} != object(stdClass)#%d (0) {}
+array(0) {} != object(test)#%d (0) {}
+array(0) {} == array(0) {}
+array(0) {} != int(-9223372036854775808)
+array(0) {} != string(20) "-9223372036854775808"
+int(-9223372036854775808) != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+int(-9223372036854775808) != string(0) ""
+int(-9223372036854775808) != int(1)
+int(-9223372036854775808) != float(2.5)
+int(-9223372036854775808) != int(0)
+int(-9223372036854775808) != string(6) "string"
+int(-9223372036854775808) != string(3) "123"
+int(-9223372036854775808) != string(3) "2.5"
+int(-9223372036854775808) != NULL
+int(-9223372036854775808) == bool(true)
+int(-9223372036854775808) != bool(false)
+int(-9223372036854775808)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ != object(stdClass)#%d (0) {}
+int(-9223372036854775808)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ != object(stdClass)#%d (0) {}
+int(-9223372036854775808)
+Notice: Object of class test could not be converted to int in %s on line %d
+ != object(test)#%d (0) {}
+int(-9223372036854775808) != array(0) {}
+int(-9223372036854775808) == int(-9223372036854775808)
+int(-9223372036854775808) == string(20) "-9223372036854775808"
+string(20) "-9223372036854775808" != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(20) "-9223372036854775808" != string(0) ""
+string(20) "-9223372036854775808" != int(1)
+string(20) "-9223372036854775808" != float(2.5)
+string(20) "-9223372036854775808" != int(0)
+string(20) "-9223372036854775808" != string(6) "string"
+string(20) "-9223372036854775808" != string(3) "123"
+string(20) "-9223372036854775808" != string(3) "2.5"
+string(20) "-9223372036854775808" != NULL
+string(20) "-9223372036854775808" == bool(true)
+string(20) "-9223372036854775808" != bool(false)
+string(20) "-9223372036854775808" != object(stdClass)#%d (0) {}
+string(20) "-9223372036854775808" != object(stdClass)#%d (0) {}
+string(20) "-9223372036854775808" != object(test)#%d (0) {}
+string(20) "-9223372036854775808" != array(0) {}
+string(20) "-9223372036854775808" == int(-9223372036854775808)
+string(20) "-9223372036854775808" == string(20) "-9223372036854775808"
+Done
diff --git a/Zend/tests/compare_002.phpt b/Zend/tests/compare_002.phpt
new file mode 100644
index 0000000..5e5009c
--- /dev/null
+++ b/Zend/tests/compare_002.phpt
@@ -0,0 +1,341 @@
+--TEST--
+comparing different variables for identity
+--SKIPIF--
+<?php if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platform only"); ?>
+--FILE--
+<?php
+
+class test {
+}
+
+$a = array(
+ array(1,2,3),
+ "",
+ 1,
+ 2.5,
+ 0,
+ "string",
+ "123",
+ "2.5",
+ NULL,
+ true,
+ false,
+ new stdclass,
+ new stdclass,
+ new test,
+ array(),
+ -PHP_INT_MAX-1,
+ (string)(-PHP_INT_MAX-1),
+);
+
+$var_cnt = count($a);
+
+function my_dump($var) {
+ ob_start();
+ var_dump($var);
+ $buf = ob_get_clean();
+ echo str_replace("\n", "", $buf);
+}
+
+foreach($a as $var) {
+ for ($i = 0; $i < $var_cnt; $i++) {
+ my_dump($var);
+ echo ($var === $a[$i]) ? " === " : " !== ";
+ my_dump($a[$i]);
+ echo "\n";
+ }
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} === array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== string(0) ""
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== int(1)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== float(2.5)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== int(0)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== string(6) "string"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== string(3) "123"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== string(3) "2.5"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== NULL
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== bool(true)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== bool(false)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== object(stdClass)#1 (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== object(stdClass)#2 (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== object(test)#3 (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== array(0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== int(-2147483648)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== string(11) "-2147483648"
+string(0) "" !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(0) "" === string(0) ""
+string(0) "" !== int(1)
+string(0) "" !== float(2.5)
+string(0) "" !== int(0)
+string(0) "" !== string(6) "string"
+string(0) "" !== string(3) "123"
+string(0) "" !== string(3) "2.5"
+string(0) "" !== NULL
+string(0) "" !== bool(true)
+string(0) "" !== bool(false)
+string(0) "" !== object(stdClass)#1 (0) {}
+string(0) "" !== object(stdClass)#2 (0) {}
+string(0) "" !== object(test)#3 (0) {}
+string(0) "" !== array(0) {}
+string(0) "" !== int(-2147483648)
+string(0) "" !== string(11) "-2147483648"
+int(1) !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+int(1) !== string(0) ""
+int(1) === int(1)
+int(1) !== float(2.5)
+int(1) !== int(0)
+int(1) !== string(6) "string"
+int(1) !== string(3) "123"
+int(1) !== string(3) "2.5"
+int(1) !== NULL
+int(1) !== bool(true)
+int(1) !== bool(false)
+int(1) !== object(stdClass)#1 (0) {}
+int(1) !== object(stdClass)#2 (0) {}
+int(1) !== object(test)#3 (0) {}
+int(1) !== array(0) {}
+int(1) !== int(-2147483648)
+int(1) !== string(11) "-2147483648"
+float(2.5) !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+float(2.5) !== string(0) ""
+float(2.5) !== int(1)
+float(2.5) === float(2.5)
+float(2.5) !== int(0)
+float(2.5) !== string(6) "string"
+float(2.5) !== string(3) "123"
+float(2.5) !== string(3) "2.5"
+float(2.5) !== NULL
+float(2.5) !== bool(true)
+float(2.5) !== bool(false)
+float(2.5) !== object(stdClass)#1 (0) {}
+float(2.5) !== object(stdClass)#2 (0) {}
+float(2.5) !== object(test)#3 (0) {}
+float(2.5) !== array(0) {}
+float(2.5) !== int(-2147483648)
+float(2.5) !== string(11) "-2147483648"
+int(0) !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+int(0) !== string(0) ""
+int(0) !== int(1)
+int(0) !== float(2.5)
+int(0) === int(0)
+int(0) !== string(6) "string"
+int(0) !== string(3) "123"
+int(0) !== string(3) "2.5"
+int(0) !== NULL
+int(0) !== bool(true)
+int(0) !== bool(false)
+int(0) !== object(stdClass)#1 (0) {}
+int(0) !== object(stdClass)#2 (0) {}
+int(0) !== object(test)#3 (0) {}
+int(0) !== array(0) {}
+int(0) !== int(-2147483648)
+int(0) !== string(11) "-2147483648"
+string(6) "string" !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(6) "string" !== string(0) ""
+string(6) "string" !== int(1)
+string(6) "string" !== float(2.5)
+string(6) "string" !== int(0)
+string(6) "string" === string(6) "string"
+string(6) "string" !== string(3) "123"
+string(6) "string" !== string(3) "2.5"
+string(6) "string" !== NULL
+string(6) "string" !== bool(true)
+string(6) "string" !== bool(false)
+string(6) "string" !== object(stdClass)#1 (0) {}
+string(6) "string" !== object(stdClass)#2 (0) {}
+string(6) "string" !== object(test)#3 (0) {}
+string(6) "string" !== array(0) {}
+string(6) "string" !== int(-2147483648)
+string(6) "string" !== string(11) "-2147483648"
+string(3) "123" !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(3) "123" !== string(0) ""
+string(3) "123" !== int(1)
+string(3) "123" !== float(2.5)
+string(3) "123" !== int(0)
+string(3) "123" !== string(6) "string"
+string(3) "123" === string(3) "123"
+string(3) "123" !== string(3) "2.5"
+string(3) "123" !== NULL
+string(3) "123" !== bool(true)
+string(3) "123" !== bool(false)
+string(3) "123" !== object(stdClass)#1 (0) {}
+string(3) "123" !== object(stdClass)#2 (0) {}
+string(3) "123" !== object(test)#3 (0) {}
+string(3) "123" !== array(0) {}
+string(3) "123" !== int(-2147483648)
+string(3) "123" !== string(11) "-2147483648"
+string(3) "2.5" !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(3) "2.5" !== string(0) ""
+string(3) "2.5" !== int(1)
+string(3) "2.5" !== float(2.5)
+string(3) "2.5" !== int(0)
+string(3) "2.5" !== string(6) "string"
+string(3) "2.5" !== string(3) "123"
+string(3) "2.5" === string(3) "2.5"
+string(3) "2.5" !== NULL
+string(3) "2.5" !== bool(true)
+string(3) "2.5" !== bool(false)
+string(3) "2.5" !== object(stdClass)#1 (0) {}
+string(3) "2.5" !== object(stdClass)#2 (0) {}
+string(3) "2.5" !== object(test)#3 (0) {}
+string(3) "2.5" !== array(0) {}
+string(3) "2.5" !== int(-2147483648)
+string(3) "2.5" !== string(11) "-2147483648"
+NULL !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+NULL !== string(0) ""
+NULL !== int(1)
+NULL !== float(2.5)
+NULL !== int(0)
+NULL !== string(6) "string"
+NULL !== string(3) "123"
+NULL !== string(3) "2.5"
+NULL === NULL
+NULL !== bool(true)
+NULL !== bool(false)
+NULL !== object(stdClass)#1 (0) {}
+NULL !== object(stdClass)#2 (0) {}
+NULL !== object(test)#3 (0) {}
+NULL !== array(0) {}
+NULL !== int(-2147483648)
+NULL !== string(11) "-2147483648"
+bool(true) !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+bool(true) !== string(0) ""
+bool(true) !== int(1)
+bool(true) !== float(2.5)
+bool(true) !== int(0)
+bool(true) !== string(6) "string"
+bool(true) !== string(3) "123"
+bool(true) !== string(3) "2.5"
+bool(true) !== NULL
+bool(true) === bool(true)
+bool(true) !== bool(false)
+bool(true) !== object(stdClass)#1 (0) {}
+bool(true) !== object(stdClass)#2 (0) {}
+bool(true) !== object(test)#3 (0) {}
+bool(true) !== array(0) {}
+bool(true) !== int(-2147483648)
+bool(true) !== string(11) "-2147483648"
+bool(false) !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+bool(false) !== string(0) ""
+bool(false) !== int(1)
+bool(false) !== float(2.5)
+bool(false) !== int(0)
+bool(false) !== string(6) "string"
+bool(false) !== string(3) "123"
+bool(false) !== string(3) "2.5"
+bool(false) !== NULL
+bool(false) !== bool(true)
+bool(false) === bool(false)
+bool(false) !== object(stdClass)#1 (0) {}
+bool(false) !== object(stdClass)#2 (0) {}
+bool(false) !== object(test)#3 (0) {}
+bool(false) !== array(0) {}
+bool(false) !== int(-2147483648)
+bool(false) !== string(11) "-2147483648"
+object(stdClass)#1 (0) {} !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(stdClass)#1 (0) {} !== string(0) ""
+object(stdClass)#1 (0) {} !== int(1)
+object(stdClass)#1 (0) {} !== float(2.5)
+object(stdClass)#1 (0) {} !== int(0)
+object(stdClass)#1 (0) {} !== string(6) "string"
+object(stdClass)#1 (0) {} !== string(3) "123"
+object(stdClass)#1 (0) {} !== string(3) "2.5"
+object(stdClass)#1 (0) {} !== NULL
+object(stdClass)#1 (0) {} !== bool(true)
+object(stdClass)#1 (0) {} !== bool(false)
+object(stdClass)#1 (0) {} === object(stdClass)#1 (0) {}
+object(stdClass)#1 (0) {} !== object(stdClass)#2 (0) {}
+object(stdClass)#1 (0) {} !== object(test)#3 (0) {}
+object(stdClass)#1 (0) {} !== array(0) {}
+object(stdClass)#1 (0) {} !== int(-2147483648)
+object(stdClass)#1 (0) {} !== string(11) "-2147483648"
+object(stdClass)#2 (0) {} !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(stdClass)#2 (0) {} !== string(0) ""
+object(stdClass)#2 (0) {} !== int(1)
+object(stdClass)#2 (0) {} !== float(2.5)
+object(stdClass)#2 (0) {} !== int(0)
+object(stdClass)#2 (0) {} !== string(6) "string"
+object(stdClass)#2 (0) {} !== string(3) "123"
+object(stdClass)#2 (0) {} !== string(3) "2.5"
+object(stdClass)#2 (0) {} !== NULL
+object(stdClass)#2 (0) {} !== bool(true)
+object(stdClass)#2 (0) {} !== bool(false)
+object(stdClass)#2 (0) {} !== object(stdClass)#1 (0) {}
+object(stdClass)#2 (0) {} === object(stdClass)#2 (0) {}
+object(stdClass)#2 (0) {} !== object(test)#3 (0) {}
+object(stdClass)#2 (0) {} !== array(0) {}
+object(stdClass)#2 (0) {} !== int(-2147483648)
+object(stdClass)#2 (0) {} !== string(11) "-2147483648"
+object(test)#3 (0) {} !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(test)#3 (0) {} !== string(0) ""
+object(test)#3 (0) {} !== int(1)
+object(test)#3 (0) {} !== float(2.5)
+object(test)#3 (0) {} !== int(0)
+object(test)#3 (0) {} !== string(6) "string"
+object(test)#3 (0) {} !== string(3) "123"
+object(test)#3 (0) {} !== string(3) "2.5"
+object(test)#3 (0) {} !== NULL
+object(test)#3 (0) {} !== bool(true)
+object(test)#3 (0) {} !== bool(false)
+object(test)#3 (0) {} !== object(stdClass)#1 (0) {}
+object(test)#3 (0) {} !== object(stdClass)#2 (0) {}
+object(test)#3 (0) {} === object(test)#3 (0) {}
+object(test)#3 (0) {} !== array(0) {}
+object(test)#3 (0) {} !== int(-2147483648)
+object(test)#3 (0) {} !== string(11) "-2147483648"
+array(0) {} !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+array(0) {} !== string(0) ""
+array(0) {} !== int(1)
+array(0) {} !== float(2.5)
+array(0) {} !== int(0)
+array(0) {} !== string(6) "string"
+array(0) {} !== string(3) "123"
+array(0) {} !== string(3) "2.5"
+array(0) {} !== NULL
+array(0) {} !== bool(true)
+array(0) {} !== bool(false)
+array(0) {} !== object(stdClass)#1 (0) {}
+array(0) {} !== object(stdClass)#2 (0) {}
+array(0) {} !== object(test)#3 (0) {}
+array(0) {} === array(0) {}
+array(0) {} !== int(-2147483648)
+array(0) {} !== string(11) "-2147483648"
+int(-2147483648) !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+int(-2147483648) !== string(0) ""
+int(-2147483648) !== int(1)
+int(-2147483648) !== float(2.5)
+int(-2147483648) !== int(0)
+int(-2147483648) !== string(6) "string"
+int(-2147483648) !== string(3) "123"
+int(-2147483648) !== string(3) "2.5"
+int(-2147483648) !== NULL
+int(-2147483648) !== bool(true)
+int(-2147483648) !== bool(false)
+int(-2147483648) !== object(stdClass)#1 (0) {}
+int(-2147483648) !== object(stdClass)#2 (0) {}
+int(-2147483648) !== object(test)#3 (0) {}
+int(-2147483648) !== array(0) {}
+int(-2147483648) === int(-2147483648)
+int(-2147483648) !== string(11) "-2147483648"
+string(11) "-2147483648" !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(11) "-2147483648" !== string(0) ""
+string(11) "-2147483648" !== int(1)
+string(11) "-2147483648" !== float(2.5)
+string(11) "-2147483648" !== int(0)
+string(11) "-2147483648" !== string(6) "string"
+string(11) "-2147483648" !== string(3) "123"
+string(11) "-2147483648" !== string(3) "2.5"
+string(11) "-2147483648" !== NULL
+string(11) "-2147483648" !== bool(true)
+string(11) "-2147483648" !== bool(false)
+string(11) "-2147483648" !== object(stdClass)#1 (0) {}
+string(11) "-2147483648" !== object(stdClass)#2 (0) {}
+string(11) "-2147483648" !== object(test)#3 (0) {}
+string(11) "-2147483648" !== array(0) {}
+string(11) "-2147483648" !== int(-2147483648)
+string(11) "-2147483648" === string(11) "-2147483648"
+Done
diff --git a/Zend/tests/compare_002_64bit.phpt b/Zend/tests/compare_002_64bit.phpt
new file mode 100644
index 0000000..517e7b9
--- /dev/null
+++ b/Zend/tests/compare_002_64bit.phpt
@@ -0,0 +1,341 @@
+--TEST--
+comparing different variables for identity
+--SKIPIF--
+<?php if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only"); ?>
+--FILE--
+<?php
+
+class test {
+}
+
+$a = array(
+ array(1,2,3),
+ "",
+ 1,
+ 2.5,
+ 0,
+ "string",
+ "123",
+ "2.5",
+ NULL,
+ true,
+ false,
+ new stdclass,
+ new stdclass,
+ new test,
+ array(),
+ -PHP_INT_MAX-1,
+ (string)(-PHP_INT_MAX-1),
+);
+
+$var_cnt = count($a);
+
+function my_dump($var) {
+ ob_start();
+ var_dump($var);
+ $buf = ob_get_clean();
+ echo str_replace("\n", "", $buf);
+}
+
+foreach($a as $var) {
+ for ($i = 0; $i < $var_cnt; $i++) {
+ my_dump($var);
+ echo ($var === $a[$i]) ? " === " : " !== ";
+ my_dump($a[$i]);
+ echo "\n";
+ }
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} === array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== string(0) ""
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== int(1)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== float(2.5)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== int(0)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== string(6) "string"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== string(3) "123"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== string(3) "2.5"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== NULL
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== bool(true)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== bool(false)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== object(stdClass)#%d (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== object(stdClass)#%d (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== object(test)#%d (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== array(0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== int(-9223372036854775808)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== string(20) "-9223372036854775808"
+string(0) "" !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(0) "" === string(0) ""
+string(0) "" !== int(1)
+string(0) "" !== float(2.5)
+string(0) "" !== int(0)
+string(0) "" !== string(6) "string"
+string(0) "" !== string(3) "123"
+string(0) "" !== string(3) "2.5"
+string(0) "" !== NULL
+string(0) "" !== bool(true)
+string(0) "" !== bool(false)
+string(0) "" !== object(stdClass)#%d (0) {}
+string(0) "" !== object(stdClass)#%d (0) {}
+string(0) "" !== object(test)#%d (0) {}
+string(0) "" !== array(0) {}
+string(0) "" !== int(-9223372036854775808)
+string(0) "" !== string(20) "-9223372036854775808"
+int(1) !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+int(1) !== string(0) ""
+int(1) === int(1)
+int(1) !== float(2.5)
+int(1) !== int(0)
+int(1) !== string(6) "string"
+int(1) !== string(3) "123"
+int(1) !== string(3) "2.5"
+int(1) !== NULL
+int(1) !== bool(true)
+int(1) !== bool(false)
+int(1) !== object(stdClass)#%d (0) {}
+int(1) !== object(stdClass)#%d (0) {}
+int(1) !== object(test)#%d (0) {}
+int(1) !== array(0) {}
+int(1) !== int(-9223372036854775808)
+int(1) !== string(20) "-9223372036854775808"
+float(2.5) !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+float(2.5) !== string(0) ""
+float(2.5) !== int(1)
+float(2.5) === float(2.5)
+float(2.5) !== int(0)
+float(2.5) !== string(6) "string"
+float(2.5) !== string(3) "123"
+float(2.5) !== string(3) "2.5"
+float(2.5) !== NULL
+float(2.5) !== bool(true)
+float(2.5) !== bool(false)
+float(2.5) !== object(stdClass)#%d (0) {}
+float(2.5) !== object(stdClass)#%d (0) {}
+float(2.5) !== object(test)#%d (0) {}
+float(2.5) !== array(0) {}
+float(2.5) !== int(-9223372036854775808)
+float(2.5) !== string(20) "-9223372036854775808"
+int(0) !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+int(0) !== string(0) ""
+int(0) !== int(1)
+int(0) !== float(2.5)
+int(0) === int(0)
+int(0) !== string(6) "string"
+int(0) !== string(3) "123"
+int(0) !== string(3) "2.5"
+int(0) !== NULL
+int(0) !== bool(true)
+int(0) !== bool(false)
+int(0) !== object(stdClass)#%d (0) {}
+int(0) !== object(stdClass)#%d (0) {}
+int(0) !== object(test)#%d (0) {}
+int(0) !== array(0) {}
+int(0) !== int(-9223372036854775808)
+int(0) !== string(20) "-9223372036854775808"
+string(6) "string" !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(6) "string" !== string(0) ""
+string(6) "string" !== int(1)
+string(6) "string" !== float(2.5)
+string(6) "string" !== int(0)
+string(6) "string" === string(6) "string"
+string(6) "string" !== string(3) "123"
+string(6) "string" !== string(3) "2.5"
+string(6) "string" !== NULL
+string(6) "string" !== bool(true)
+string(6) "string" !== bool(false)
+string(6) "string" !== object(stdClass)#%d (0) {}
+string(6) "string" !== object(stdClass)#%d (0) {}
+string(6) "string" !== object(test)#%d (0) {}
+string(6) "string" !== array(0) {}
+string(6) "string" !== int(-9223372036854775808)
+string(6) "string" !== string(20) "-9223372036854775808"
+string(3) "123" !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(3) "123" !== string(0) ""
+string(3) "123" !== int(1)
+string(3) "123" !== float(2.5)
+string(3) "123" !== int(0)
+string(3) "123" !== string(6) "string"
+string(3) "123" === string(3) "123"
+string(3) "123" !== string(3) "2.5"
+string(3) "123" !== NULL
+string(3) "123" !== bool(true)
+string(3) "123" !== bool(false)
+string(3) "123" !== object(stdClass)#%d (0) {}
+string(3) "123" !== object(stdClass)#%d (0) {}
+string(3) "123" !== object(test)#%d (0) {}
+string(3) "123" !== array(0) {}
+string(3) "123" !== int(-9223372036854775808)
+string(3) "123" !== string(20) "-9223372036854775808"
+string(3) "2.5" !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(3) "2.5" !== string(0) ""
+string(3) "2.5" !== int(1)
+string(3) "2.5" !== float(2.5)
+string(3) "2.5" !== int(0)
+string(3) "2.5" !== string(6) "string"
+string(3) "2.5" !== string(3) "123"
+string(3) "2.5" === string(3) "2.5"
+string(3) "2.5" !== NULL
+string(3) "2.5" !== bool(true)
+string(3) "2.5" !== bool(false)
+string(3) "2.5" !== object(stdClass)#%d (0) {}
+string(3) "2.5" !== object(stdClass)#%d (0) {}
+string(3) "2.5" !== object(test)#%d (0) {}
+string(3) "2.5" !== array(0) {}
+string(3) "2.5" !== int(-9223372036854775808)
+string(3) "2.5" !== string(20) "-9223372036854775808"
+NULL !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+NULL !== string(0) ""
+NULL !== int(1)
+NULL !== float(2.5)
+NULL !== int(0)
+NULL !== string(6) "string"
+NULL !== string(3) "123"
+NULL !== string(3) "2.5"
+NULL === NULL
+NULL !== bool(true)
+NULL !== bool(false)
+NULL !== object(stdClass)#%d (0) {}
+NULL !== object(stdClass)#%d (0) {}
+NULL !== object(test)#%d (0) {}
+NULL !== array(0) {}
+NULL !== int(-9223372036854775808)
+NULL !== string(20) "-9223372036854775808"
+bool(true) !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+bool(true) !== string(0) ""
+bool(true) !== int(1)
+bool(true) !== float(2.5)
+bool(true) !== int(0)
+bool(true) !== string(6) "string"
+bool(true) !== string(3) "123"
+bool(true) !== string(3) "2.5"
+bool(true) !== NULL
+bool(true) === bool(true)
+bool(true) !== bool(false)
+bool(true) !== object(stdClass)#%d (0) {}
+bool(true) !== object(stdClass)#%d (0) {}
+bool(true) !== object(test)#%d (0) {}
+bool(true) !== array(0) {}
+bool(true) !== int(-9223372036854775808)
+bool(true) !== string(20) "-9223372036854775808"
+bool(false) !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+bool(false) !== string(0) ""
+bool(false) !== int(1)
+bool(false) !== float(2.5)
+bool(false) !== int(0)
+bool(false) !== string(6) "string"
+bool(false) !== string(3) "123"
+bool(false) !== string(3) "2.5"
+bool(false) !== NULL
+bool(false) !== bool(true)
+bool(false) === bool(false)
+bool(false) !== object(stdClass)#%d (0) {}
+bool(false) !== object(stdClass)#%d (0) {}
+bool(false) !== object(test)#%d (0) {}
+bool(false) !== array(0) {}
+bool(false) !== int(-9223372036854775808)
+bool(false) !== string(20) "-9223372036854775808"
+object(stdClass)#%d (0) {} !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(stdClass)#%d (0) {} !== string(0) ""
+object(stdClass)#%d (0) {} !== int(1)
+object(stdClass)#%d (0) {} !== float(2.5)
+object(stdClass)#%d (0) {} !== int(0)
+object(stdClass)#%d (0) {} !== string(6) "string"
+object(stdClass)#%d (0) {} !== string(3) "123"
+object(stdClass)#%d (0) {} !== string(3) "2.5"
+object(stdClass)#%d (0) {} !== NULL
+object(stdClass)#%d (0) {} !== bool(true)
+object(stdClass)#%d (0) {} !== bool(false)
+object(stdClass)#%d (0) {} === object(stdClass)#%d (0) {}
+object(stdClass)#%d (0) {} !== object(stdClass)#%d (0) {}
+object(stdClass)#%d (0) {} !== object(test)#%d (0) {}
+object(stdClass)#%d (0) {} !== array(0) {}
+object(stdClass)#%d (0) {} !== int(-9223372036854775808)
+object(stdClass)#%d (0) {} !== string(20) "-9223372036854775808"
+object(stdClass)#%d (0) {} !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(stdClass)#%d (0) {} !== string(0) ""
+object(stdClass)#%d (0) {} !== int(1)
+object(stdClass)#%d (0) {} !== float(2.5)
+object(stdClass)#%d (0) {} !== int(0)
+object(stdClass)#%d (0) {} !== string(6) "string"
+object(stdClass)#%d (0) {} !== string(3) "123"
+object(stdClass)#%d (0) {} !== string(3) "2.5"
+object(stdClass)#%d (0) {} !== NULL
+object(stdClass)#%d (0) {} !== bool(true)
+object(stdClass)#%d (0) {} !== bool(false)
+object(stdClass)#%d (0) {} !== object(stdClass)#%d (0) {}
+object(stdClass)#%d (0) {} === object(stdClass)#%d (0) {}
+object(stdClass)#%d (0) {} !== object(test)#%d (0) {}
+object(stdClass)#%d (0) {} !== array(0) {}
+object(stdClass)#%d (0) {} !== int(-9223372036854775808)
+object(stdClass)#%d (0) {} !== string(20) "-9223372036854775808"
+object(test)#%d (0) {} !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(test)#%d (0) {} !== string(0) ""
+object(test)#%d (0) {} !== int(1)
+object(test)#%d (0) {} !== float(2.5)
+object(test)#%d (0) {} !== int(0)
+object(test)#%d (0) {} !== string(6) "string"
+object(test)#%d (0) {} !== string(3) "123"
+object(test)#%d (0) {} !== string(3) "2.5"
+object(test)#%d (0) {} !== NULL
+object(test)#%d (0) {} !== bool(true)
+object(test)#%d (0) {} !== bool(false)
+object(test)#%d (0) {} !== object(stdClass)#%d (0) {}
+object(test)#%d (0) {} !== object(stdClass)#%d (0) {}
+object(test)#%d (0) {} === object(test)#%d (0) {}
+object(test)#%d (0) {} !== array(0) {}
+object(test)#%d (0) {} !== int(-9223372036854775808)
+object(test)#%d (0) {} !== string(20) "-9223372036854775808"
+array(0) {} !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+array(0) {} !== string(0) ""
+array(0) {} !== int(1)
+array(0) {} !== float(2.5)
+array(0) {} !== int(0)
+array(0) {} !== string(6) "string"
+array(0) {} !== string(3) "123"
+array(0) {} !== string(3) "2.5"
+array(0) {} !== NULL
+array(0) {} !== bool(true)
+array(0) {} !== bool(false)
+array(0) {} !== object(stdClass)#%d (0) {}
+array(0) {} !== object(stdClass)#%d (0) {}
+array(0) {} !== object(test)#%d (0) {}
+array(0) {} === array(0) {}
+array(0) {} !== int(-9223372036854775808)
+array(0) {} !== string(20) "-9223372036854775808"
+int(-9223372036854775808) !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+int(-9223372036854775808) !== string(0) ""
+int(-9223372036854775808) !== int(1)
+int(-9223372036854775808) !== float(2.5)
+int(-9223372036854775808) !== int(0)
+int(-9223372036854775808) !== string(6) "string"
+int(-9223372036854775808) !== string(3) "123"
+int(-9223372036854775808) !== string(3) "2.5"
+int(-9223372036854775808) !== NULL
+int(-9223372036854775808) !== bool(true)
+int(-9223372036854775808) !== bool(false)
+int(-9223372036854775808) !== object(stdClass)#%d (0) {}
+int(-9223372036854775808) !== object(stdClass)#%d (0) {}
+int(-9223372036854775808) !== object(test)#%d (0) {}
+int(-9223372036854775808) !== array(0) {}
+int(-9223372036854775808) === int(-9223372036854775808)
+int(-9223372036854775808) !== string(20) "-9223372036854775808"
+string(20) "-9223372036854775808" !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(20) "-9223372036854775808" !== string(0) ""
+string(20) "-9223372036854775808" !== int(1)
+string(20) "-9223372036854775808" !== float(2.5)
+string(20) "-9223372036854775808" !== int(0)
+string(20) "-9223372036854775808" !== string(6) "string"
+string(20) "-9223372036854775808" !== string(3) "123"
+string(20) "-9223372036854775808" !== string(3) "2.5"
+string(20) "-9223372036854775808" !== NULL
+string(20) "-9223372036854775808" !== bool(true)
+string(20) "-9223372036854775808" !== bool(false)
+string(20) "-9223372036854775808" !== object(stdClass)#%d (0) {}
+string(20) "-9223372036854775808" !== object(stdClass)#%d (0) {}
+string(20) "-9223372036854775808" !== object(test)#%d (0) {}
+string(20) "-9223372036854775808" !== array(0) {}
+string(20) "-9223372036854775808" !== int(-9223372036854775808)
+string(20) "-9223372036854775808" === string(20) "-9223372036854775808"
+Done
diff --git a/Zend/tests/compare_003.phpt b/Zend/tests/compare_003.phpt
new file mode 100644
index 0000000..9327ee5
--- /dev/null
+++ b/Zend/tests/compare_003.phpt
@@ -0,0 +1,389 @@
+--TEST--
+comparing different variables (greater than)
+--SKIPIF--
+<?php if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platform only"); ?>
+--FILE--
+<?php
+
+class test {
+}
+
+$a = array(
+ array(1,2,3),
+ "",
+ 1,
+ 2.5,
+ 0,
+ "string",
+ "123",
+ "2.5",
+ NULL,
+ true,
+ false,
+ new stdclass,
+ new stdclass,
+ new test,
+ array(),
+ -PHP_INT_MAX-1,
+ (string)(-PHP_INT_MAX-1),
+);
+
+$var_cnt = count($a);
+
+function my_dump($var) {
+ ob_start();
+ var_dump($var);
+ $buf = ob_get_clean();
+ echo str_replace("\n", "", $buf);
+}
+
+foreach($a as $var) {
+ for ($i = 0; $i < $var_cnt; $i++) {
+ my_dump($var);
+ echo ($var > $a[$i]) ? " > " : " <= ";
+ my_dump($a[$i]);
+ echo "\n";
+ }
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(0) ""
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > int(1)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > float(2.5)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > int(0)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(6) "string"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(3) "123"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(3) "2.5"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > NULL
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= bool(true)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > bool(false)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= object(stdClass)#1 (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= object(stdClass)#2 (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= object(test)#3 (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > array(0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > int(-2147483648)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(11) "-2147483648"
+string(0) "" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(0) "" <= string(0) ""
+string(0) "" <= int(1)
+string(0) "" <= float(2.5)
+string(0) "" <= int(0)
+string(0) "" <= string(6) "string"
+string(0) "" <= string(3) "123"
+string(0) "" <= string(3) "2.5"
+string(0) "" <= NULL
+string(0) "" <= bool(true)
+string(0) "" <= bool(false)
+string(0) "" <= object(stdClass)#1 (0) {}
+string(0) "" <= object(stdClass)#2 (0) {}
+string(0) "" <= object(test)#3 (0) {}
+string(0) "" <= array(0) {}
+string(0) "" > int(-2147483648)
+string(0) "" <= string(11) "-2147483648"
+int(1) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+int(1) > string(0) ""
+int(1) <= int(1)
+int(1) <= float(2.5)
+int(1) > int(0)
+int(1) > string(6) "string"
+int(1) <= string(3) "123"
+int(1) <= string(3) "2.5"
+int(1) > NULL
+int(1) <= bool(true)
+int(1) > bool(false)
+int(1)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ <= object(stdClass)#1 (0) {}
+int(1)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ <= object(stdClass)#2 (0) {}
+int(1)
+Notice: Object of class test could not be converted to int in %s on line %d
+ <= object(test)#3 (0) {}
+int(1) <= array(0) {}
+int(1) > int(-2147483648)
+int(1) > string(11) "-2147483648"
+float(2.5) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+float(2.5) > string(0) ""
+float(2.5) > int(1)
+float(2.5) <= float(2.5)
+float(2.5) > int(0)
+float(2.5) > string(6) "string"
+float(2.5) <= string(3) "123"
+float(2.5) <= string(3) "2.5"
+float(2.5) > NULL
+float(2.5) <= bool(true)
+float(2.5) > bool(false)
+float(2.5)
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ > object(stdClass)#1 (0) {}
+float(2.5)
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ > object(stdClass)#2 (0) {}
+float(2.5)
+Notice: Object of class test could not be converted to double in %s on line %d
+ > object(test)#3 (0) {}
+float(2.5) <= array(0) {}
+float(2.5) > int(-2147483648)
+float(2.5) > string(11) "-2147483648"
+int(0) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+int(0) <= string(0) ""
+int(0) <= int(1)
+int(0) <= float(2.5)
+int(0) <= int(0)
+int(0) <= string(6) "string"
+int(0) <= string(3) "123"
+int(0) <= string(3) "2.5"
+int(0) <= NULL
+int(0) <= bool(true)
+int(0) <= bool(false)
+int(0)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ <= object(stdClass)#1 (0) {}
+int(0)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ <= object(stdClass)#2 (0) {}
+int(0)
+Notice: Object of class test could not be converted to int in %s on line %d
+ <= object(test)#3 (0) {}
+int(0) <= array(0) {}
+int(0) > int(-2147483648)
+int(0) > string(11) "-2147483648"
+string(6) "string" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(6) "string" > string(0) ""
+string(6) "string" <= int(1)
+string(6) "string" <= float(2.5)
+string(6) "string" <= int(0)
+string(6) "string" <= string(6) "string"
+string(6) "string" > string(3) "123"
+string(6) "string" > string(3) "2.5"
+string(6) "string" > NULL
+string(6) "string" <= bool(true)
+string(6) "string" > bool(false)
+string(6) "string" <= object(stdClass)#1 (0) {}
+string(6) "string" <= object(stdClass)#2 (0) {}
+string(6) "string" <= object(test)#3 (0) {}
+string(6) "string" <= array(0) {}
+string(6) "string" > int(-2147483648)
+string(6) "string" > string(11) "-2147483648"
+string(3) "123" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(3) "123" > string(0) ""
+string(3) "123" > int(1)
+string(3) "123" > float(2.5)
+string(3) "123" > int(0)
+string(3) "123" <= string(6) "string"
+string(3) "123" <= string(3) "123"
+string(3) "123" > string(3) "2.5"
+string(3) "123" > NULL
+string(3) "123" <= bool(true)
+string(3) "123" > bool(false)
+string(3) "123" <= object(stdClass)#1 (0) {}
+string(3) "123" <= object(stdClass)#2 (0) {}
+string(3) "123" <= object(test)#3 (0) {}
+string(3) "123" <= array(0) {}
+string(3) "123" > int(-2147483648)
+string(3) "123" > string(11) "-2147483648"
+string(3) "2.5" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(3) "2.5" > string(0) ""
+string(3) "2.5" > int(1)
+string(3) "2.5" <= float(2.5)
+string(3) "2.5" > int(0)
+string(3) "2.5" <= string(6) "string"
+string(3) "2.5" <= string(3) "123"
+string(3) "2.5" <= string(3) "2.5"
+string(3) "2.5" > NULL
+string(3) "2.5" <= bool(true)
+string(3) "2.5" > bool(false)
+string(3) "2.5" <= object(stdClass)#1 (0) {}
+string(3) "2.5" <= object(stdClass)#2 (0) {}
+string(3) "2.5" <= object(test)#3 (0) {}
+string(3) "2.5" <= array(0) {}
+string(3) "2.5" > int(-2147483648)
+string(3) "2.5" > string(11) "-2147483648"
+NULL <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+NULL <= string(0) ""
+NULL <= int(1)
+NULL <= float(2.5)
+NULL <= int(0)
+NULL <= string(6) "string"
+NULL <= string(3) "123"
+NULL <= string(3) "2.5"
+NULL <= NULL
+NULL <= bool(true)
+NULL <= bool(false)
+NULL <= object(stdClass)#1 (0) {}
+NULL <= object(stdClass)#2 (0) {}
+NULL <= object(test)#3 (0) {}
+NULL <= array(0) {}
+NULL <= int(-2147483648)
+NULL <= string(11) "-2147483648"
+bool(true) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+bool(true) > string(0) ""
+bool(true) <= int(1)
+bool(true) <= float(2.5)
+bool(true) > int(0)
+bool(true) <= string(6) "string"
+bool(true) <= string(3) "123"
+bool(true) <= string(3) "2.5"
+bool(true) > NULL
+bool(true) <= bool(true)
+bool(true) > bool(false)
+bool(true) <= object(stdClass)#1 (0) {}
+bool(true) <= object(stdClass)#2 (0) {}
+bool(true) <= object(test)#3 (0) {}
+bool(true) > array(0) {}
+bool(true) <= int(-2147483648)
+bool(true) <= string(11) "-2147483648"
+bool(false) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+bool(false) <= string(0) ""
+bool(false) <= int(1)
+bool(false) <= float(2.5)
+bool(false) <= int(0)
+bool(false) <= string(6) "string"
+bool(false) <= string(3) "123"
+bool(false) <= string(3) "2.5"
+bool(false) <= NULL
+bool(false) <= bool(true)
+bool(false) <= bool(false)
+bool(false) <= object(stdClass)#1 (0) {}
+bool(false) <= object(stdClass)#2 (0) {}
+bool(false) <= object(test)#3 (0) {}
+bool(false) <= array(0) {}
+bool(false) <= int(-2147483648)
+bool(false) <= string(11) "-2147483648"
+object(stdClass)#1 (0) {} > array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(stdClass)#1 (0) {} > string(0) ""
+object(stdClass)#1 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ <= int(1)
+object(stdClass)#1 (0) {}
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ <= float(2.5)
+object(stdClass)#1 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ > int(0)
+object(stdClass)#1 (0) {} > string(6) "string"
+object(stdClass)#1 (0) {} > string(3) "123"
+object(stdClass)#1 (0) {} > string(3) "2.5"
+object(stdClass)#1 (0) {} > NULL
+object(stdClass)#1 (0) {} <= bool(true)
+object(stdClass)#1 (0) {} > bool(false)
+object(stdClass)#1 (0) {} <= object(stdClass)#1 (0) {}
+object(stdClass)#1 (0) {} <= object(stdClass)#2 (0) {}
+object(stdClass)#1 (0) {} <= object(test)#3 (0) {}
+object(stdClass)#1 (0) {} > array(0) {}
+object(stdClass)#1 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ > int(-2147483648)
+object(stdClass)#1 (0) {} > string(11) "-2147483648"
+object(stdClass)#2 (0) {} > array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(stdClass)#2 (0) {} > string(0) ""
+object(stdClass)#2 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ <= int(1)
+object(stdClass)#2 (0) {}
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ <= float(2.5)
+object(stdClass)#2 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ > int(0)
+object(stdClass)#2 (0) {} > string(6) "string"
+object(stdClass)#2 (0) {} > string(3) "123"
+object(stdClass)#2 (0) {} > string(3) "2.5"
+object(stdClass)#2 (0) {} > NULL
+object(stdClass)#2 (0) {} <= bool(true)
+object(stdClass)#2 (0) {} > bool(false)
+object(stdClass)#2 (0) {} <= object(stdClass)#1 (0) {}
+object(stdClass)#2 (0) {} <= object(stdClass)#2 (0) {}
+object(stdClass)#2 (0) {} <= object(test)#3 (0) {}
+object(stdClass)#2 (0) {} > array(0) {}
+object(stdClass)#2 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ > int(-2147483648)
+object(stdClass)#2 (0) {} > string(11) "-2147483648"
+object(test)#3 (0) {} > array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(test)#3 (0) {} > string(0) ""
+object(test)#3 (0) {}
+Notice: Object of class test could not be converted to int in %s on line %d
+ <= int(1)
+object(test)#3 (0) {}
+Notice: Object of class test could not be converted to double in %s on line %d
+ <= float(2.5)
+object(test)#3 (0) {}
+Notice: Object of class test could not be converted to int in %s on line %d
+ > int(0)
+object(test)#3 (0) {} > string(6) "string"
+object(test)#3 (0) {} > string(3) "123"
+object(test)#3 (0) {} > string(3) "2.5"
+object(test)#3 (0) {} > NULL
+object(test)#3 (0) {} <= bool(true)
+object(test)#3 (0) {} > bool(false)
+object(test)#3 (0) {} <= object(stdClass)#1 (0) {}
+object(test)#3 (0) {} <= object(stdClass)#2 (0) {}
+object(test)#3 (0) {} <= object(test)#3 (0) {}
+object(test)#3 (0) {} > array(0) {}
+object(test)#3 (0) {}
+Notice: Object of class test could not be converted to int in %s on line %d
+ > int(-2147483648)
+object(test)#3 (0) {} > string(11) "-2147483648"
+array(0) {} <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+array(0) {} > string(0) ""
+array(0) {} > int(1)
+array(0) {} > float(2.5)
+array(0) {} > int(0)
+array(0) {} > string(6) "string"
+array(0) {} > string(3) "123"
+array(0) {} > string(3) "2.5"
+array(0) {} <= NULL
+array(0) {} <= bool(true)
+array(0) {} <= bool(false)
+array(0) {} <= object(stdClass)#1 (0) {}
+array(0) {} <= object(stdClass)#2 (0) {}
+array(0) {} <= object(test)#3 (0) {}
+array(0) {} <= array(0) {}
+array(0) {} > int(-2147483648)
+array(0) {} > string(11) "-2147483648"
+int(-2147483648) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+int(-2147483648) <= string(0) ""
+int(-2147483648) <= int(1)
+int(-2147483648) <= float(2.5)
+int(-2147483648) <= int(0)
+int(-2147483648) <= string(6) "string"
+int(-2147483648) <= string(3) "123"
+int(-2147483648) <= string(3) "2.5"
+int(-2147483648) > NULL
+int(-2147483648) <= bool(true)
+int(-2147483648) > bool(false)
+int(-2147483648)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ <= object(stdClass)#1 (0) {}
+int(-2147483648)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ <= object(stdClass)#2 (0) {}
+int(-2147483648)
+Notice: Object of class test could not be converted to int in %s on line %d
+ <= object(test)#3 (0) {}
+int(-2147483648) <= array(0) {}
+int(-2147483648) <= int(-2147483648)
+int(-2147483648) <= string(11) "-2147483648"
+string(11) "-2147483648" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(11) "-2147483648" > string(0) ""
+string(11) "-2147483648" <= int(1)
+string(11) "-2147483648" <= float(2.5)
+string(11) "-2147483648" <= int(0)
+string(11) "-2147483648" <= string(6) "string"
+string(11) "-2147483648" <= string(3) "123"
+string(11) "-2147483648" <= string(3) "2.5"
+string(11) "-2147483648" > NULL
+string(11) "-2147483648" <= bool(true)
+string(11) "-2147483648" > bool(false)
+string(11) "-2147483648" <= object(stdClass)#1 (0) {}
+string(11) "-2147483648" <= object(stdClass)#2 (0) {}
+string(11) "-2147483648" <= object(test)#3 (0) {}
+string(11) "-2147483648" <= array(0) {}
+string(11) "-2147483648" <= int(-2147483648)
+string(11) "-2147483648" <= string(11) "-2147483648"
+Done
diff --git a/Zend/tests/compare_003_64bit.phpt b/Zend/tests/compare_003_64bit.phpt
new file mode 100644
index 0000000..1f936c6
--- /dev/null
+++ b/Zend/tests/compare_003_64bit.phpt
@@ -0,0 +1,389 @@
+--TEST--
+comparing different variables (greater than)
+--SKIPIF--
+<?php if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only"); ?>
+--FILE--
+<?php
+
+class test {
+}
+
+$a = array(
+ array(1,2,3),
+ "",
+ 1,
+ 2.5,
+ 0,
+ "string",
+ "123",
+ "2.5",
+ NULL,
+ true,
+ false,
+ new stdclass,
+ new stdclass,
+ new test,
+ array(),
+ -PHP_INT_MAX-1,
+ (string)(-PHP_INT_MAX-1),
+);
+
+$var_cnt = count($a);
+
+function my_dump($var) {
+ ob_start();
+ var_dump($var);
+ $buf = ob_get_clean();
+ echo str_replace("\n", "", $buf);
+}
+
+foreach($a as $var) {
+ for ($i = 0; $i < $var_cnt; $i++) {
+ my_dump($var);
+ echo ($var > $a[$i]) ? " > " : " <= ";
+ my_dump($a[$i]);
+ echo "\n";
+ }
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(0) ""
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > int(1)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > float(2.5)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > int(0)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(6) "string"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(3) "123"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(3) "2.5"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > NULL
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= bool(true)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > bool(false)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= object(stdClass)#%d (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= object(stdClass)#%d (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= object(test)#%d (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > array(0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > int(-9223372036854775808)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(20) "-9223372036854775808"
+string(0) "" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(0) "" <= string(0) ""
+string(0) "" <= int(1)
+string(0) "" <= float(2.5)
+string(0) "" <= int(0)
+string(0) "" <= string(6) "string"
+string(0) "" <= string(3) "123"
+string(0) "" <= string(3) "2.5"
+string(0) "" <= NULL
+string(0) "" <= bool(true)
+string(0) "" <= bool(false)
+string(0) "" <= object(stdClass)#%d (0) {}
+string(0) "" <= object(stdClass)#%d (0) {}
+string(0) "" <= object(test)#%d (0) {}
+string(0) "" <= array(0) {}
+string(0) "" > int(-9223372036854775808)
+string(0) "" <= string(20) "-9223372036854775808"
+int(1) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+int(1) > string(0) ""
+int(1) <= int(1)
+int(1) <= float(2.5)
+int(1) > int(0)
+int(1) > string(6) "string"
+int(1) <= string(3) "123"
+int(1) <= string(3) "2.5"
+int(1) > NULL
+int(1) <= bool(true)
+int(1) > bool(false)
+int(1)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ <= object(stdClass)#%d (0) {}
+int(1)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ <= object(stdClass)#%d (0) {}
+int(1)
+Notice: Object of class test could not be converted to int in %s on line %d
+ <= object(test)#%d (0) {}
+int(1) <= array(0) {}
+int(1) > int(-9223372036854775808)
+int(1) > string(20) "-9223372036854775808"
+float(2.5) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+float(2.5) > string(0) ""
+float(2.5) > int(1)
+float(2.5) <= float(2.5)
+float(2.5) > int(0)
+float(2.5) > string(6) "string"
+float(2.5) <= string(3) "123"
+float(2.5) <= string(3) "2.5"
+float(2.5) > NULL
+float(2.5) <= bool(true)
+float(2.5) > bool(false)
+float(2.5)
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ > object(stdClass)#%d (0) {}
+float(2.5)
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ > object(stdClass)#%d (0) {}
+float(2.5)
+Notice: Object of class test could not be converted to double in %s on line %d
+ > object(test)#%d (0) {}
+float(2.5) <= array(0) {}
+float(2.5) > int(-9223372036854775808)
+float(2.5) > string(20) "-9223372036854775808"
+int(0) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+int(0) <= string(0) ""
+int(0) <= int(1)
+int(0) <= float(2.5)
+int(0) <= int(0)
+int(0) <= string(6) "string"
+int(0) <= string(3) "123"
+int(0) <= string(3) "2.5"
+int(0) <= NULL
+int(0) <= bool(true)
+int(0) <= bool(false)
+int(0)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ <= object(stdClass)#%d (0) {}
+int(0)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ <= object(stdClass)#%d (0) {}
+int(0)
+Notice: Object of class test could not be converted to int in %s on line %d
+ <= object(test)#%d (0) {}
+int(0) <= array(0) {}
+int(0) > int(-9223372036854775808)
+int(0) > string(20) "-9223372036854775808"
+string(6) "string" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(6) "string" > string(0) ""
+string(6) "string" <= int(1)
+string(6) "string" <= float(2.5)
+string(6) "string" <= int(0)
+string(6) "string" <= string(6) "string"
+string(6) "string" > string(3) "123"
+string(6) "string" > string(3) "2.5"
+string(6) "string" > NULL
+string(6) "string" <= bool(true)
+string(6) "string" > bool(false)
+string(6) "string" <= object(stdClass)#%d (0) {}
+string(6) "string" <= object(stdClass)#%d (0) {}
+string(6) "string" <= object(test)#%d (0) {}
+string(6) "string" <= array(0) {}
+string(6) "string" > int(-9223372036854775808)
+string(6) "string" > string(20) "-9223372036854775808"
+string(3) "123" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(3) "123" > string(0) ""
+string(3) "123" > int(1)
+string(3) "123" > float(2.5)
+string(3) "123" > int(0)
+string(3) "123" <= string(6) "string"
+string(3) "123" <= string(3) "123"
+string(3) "123" > string(3) "2.5"
+string(3) "123" > NULL
+string(3) "123" <= bool(true)
+string(3) "123" > bool(false)
+string(3) "123" <= object(stdClass)#%d (0) {}
+string(3) "123" <= object(stdClass)#%d (0) {}
+string(3) "123" <= object(test)#%d (0) {}
+string(3) "123" <= array(0) {}
+string(3) "123" > int(-9223372036854775808)
+string(3) "123" > string(20) "-9223372036854775808"
+string(3) "2.5" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(3) "2.5" > string(0) ""
+string(3) "2.5" > int(1)
+string(3) "2.5" <= float(2.5)
+string(3) "2.5" > int(0)
+string(3) "2.5" <= string(6) "string"
+string(3) "2.5" <= string(3) "123"
+string(3) "2.5" <= string(3) "2.5"
+string(3) "2.5" > NULL
+string(3) "2.5" <= bool(true)
+string(3) "2.5" > bool(false)
+string(3) "2.5" <= object(stdClass)#%d (0) {}
+string(3) "2.5" <= object(stdClass)#%d (0) {}
+string(3) "2.5" <= object(test)#%d (0) {}
+string(3) "2.5" <= array(0) {}
+string(3) "2.5" > int(-9223372036854775808)
+string(3) "2.5" > string(20) "-9223372036854775808"
+NULL <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+NULL <= string(0) ""
+NULL <= int(1)
+NULL <= float(2.5)
+NULL <= int(0)
+NULL <= string(6) "string"
+NULL <= string(3) "123"
+NULL <= string(3) "2.5"
+NULL <= NULL
+NULL <= bool(true)
+NULL <= bool(false)
+NULL <= object(stdClass)#%d (0) {}
+NULL <= object(stdClass)#%d (0) {}
+NULL <= object(test)#%d (0) {}
+NULL <= array(0) {}
+NULL <= int(-9223372036854775808)
+NULL <= string(20) "-9223372036854775808"
+bool(true) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+bool(true) > string(0) ""
+bool(true) <= int(1)
+bool(true) <= float(2.5)
+bool(true) > int(0)
+bool(true) <= string(6) "string"
+bool(true) <= string(3) "123"
+bool(true) <= string(3) "2.5"
+bool(true) > NULL
+bool(true) <= bool(true)
+bool(true) > bool(false)
+bool(true) <= object(stdClass)#%d (0) {}
+bool(true) <= object(stdClass)#%d (0) {}
+bool(true) <= object(test)#%d (0) {}
+bool(true) > array(0) {}
+bool(true) <= int(-9223372036854775808)
+bool(true) <= string(20) "-9223372036854775808"
+bool(false) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+bool(false) <= string(0) ""
+bool(false) <= int(1)
+bool(false) <= float(2.5)
+bool(false) <= int(0)
+bool(false) <= string(6) "string"
+bool(false) <= string(3) "123"
+bool(false) <= string(3) "2.5"
+bool(false) <= NULL
+bool(false) <= bool(true)
+bool(false) <= bool(false)
+bool(false) <= object(stdClass)#%d (0) {}
+bool(false) <= object(stdClass)#%d (0) {}
+bool(false) <= object(test)#%d (0) {}
+bool(false) <= array(0) {}
+bool(false) <= int(-9223372036854775808)
+bool(false) <= string(20) "-9223372036854775808"
+object(stdClass)#%d (0) {} > array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(stdClass)#%d (0) {} > string(0) ""
+object(stdClass)#%d (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ <= int(1)
+object(stdClass)#%d (0) {}
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ <= float(2.5)
+object(stdClass)#%d (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ > int(0)
+object(stdClass)#%d (0) {} > string(6) "string"
+object(stdClass)#%d (0) {} > string(3) "123"
+object(stdClass)#%d (0) {} > string(3) "2.5"
+object(stdClass)#%d (0) {} > NULL
+object(stdClass)#%d (0) {} <= bool(true)
+object(stdClass)#%d (0) {} > bool(false)
+object(stdClass)#%d (0) {} <= object(stdClass)#%d (0) {}
+object(stdClass)#%d (0) {} <= object(stdClass)#%d (0) {}
+object(stdClass)#%d (0) {} <= object(test)#%d (0) {}
+object(stdClass)#%d (0) {} > array(0) {}
+object(stdClass)#%d (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ > int(-9223372036854775808)
+object(stdClass)#%d (0) {} > string(20) "-9223372036854775808"
+object(stdClass)#%d (0) {} > array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(stdClass)#%d (0) {} > string(0) ""
+object(stdClass)#%d (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ <= int(1)
+object(stdClass)#%d (0) {}
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ <= float(2.5)
+object(stdClass)#%d (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ > int(0)
+object(stdClass)#%d (0) {} > string(6) "string"
+object(stdClass)#%d (0) {} > string(3) "123"
+object(stdClass)#%d (0) {} > string(3) "2.5"
+object(stdClass)#%d (0) {} > NULL
+object(stdClass)#%d (0) {} <= bool(true)
+object(stdClass)#%d (0) {} > bool(false)
+object(stdClass)#%d (0) {} <= object(stdClass)#%d (0) {}
+object(stdClass)#%d (0) {} <= object(stdClass)#%d (0) {}
+object(stdClass)#%d (0) {} <= object(test)#%d (0) {}
+object(stdClass)#%d (0) {} > array(0) {}
+object(stdClass)#%d (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ > int(-9223372036854775808)
+object(stdClass)#%d (0) {} > string(20) "-9223372036854775808"
+object(test)#%d (0) {} > array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(test)#%d (0) {} > string(0) ""
+object(test)#%d (0) {}
+Notice: Object of class test could not be converted to int in %s on line %d
+ <= int(1)
+object(test)#%d (0) {}
+Notice: Object of class test could not be converted to double in %s on line %d
+ <= float(2.5)
+object(test)#%d (0) {}
+Notice: Object of class test could not be converted to int in %s on line %d
+ > int(0)
+object(test)#%d (0) {} > string(6) "string"
+object(test)#%d (0) {} > string(3) "123"
+object(test)#%d (0) {} > string(3) "2.5"
+object(test)#%d (0) {} > NULL
+object(test)#%d (0) {} <= bool(true)
+object(test)#%d (0) {} > bool(false)
+object(test)#%d (0) {} <= object(stdClass)#%d (0) {}
+object(test)#%d (0) {} <= object(stdClass)#%d (0) {}
+object(test)#%d (0) {} <= object(test)#%d (0) {}
+object(test)#%d (0) {} > array(0) {}
+object(test)#%d (0) {}
+Notice: Object of class test could not be converted to int in %s on line %d
+ > int(-9223372036854775808)
+object(test)#%d (0) {} > string(20) "-9223372036854775808"
+array(0) {} <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+array(0) {} > string(0) ""
+array(0) {} > int(1)
+array(0) {} > float(2.5)
+array(0) {} > int(0)
+array(0) {} > string(6) "string"
+array(0) {} > string(3) "123"
+array(0) {} > string(3) "2.5"
+array(0) {} <= NULL
+array(0) {} <= bool(true)
+array(0) {} <= bool(false)
+array(0) {} <= object(stdClass)#%d (0) {}
+array(0) {} <= object(stdClass)#%d (0) {}
+array(0) {} <= object(test)#%d (0) {}
+array(0) {} <= array(0) {}
+array(0) {} > int(-9223372036854775808)
+array(0) {} > string(20) "-9223372036854775808"
+int(-9223372036854775808) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+int(-9223372036854775808) <= string(0) ""
+int(-9223372036854775808) <= int(1)
+int(-9223372036854775808) <= float(2.5)
+int(-9223372036854775808) <= int(0)
+int(-9223372036854775808) <= string(6) "string"
+int(-9223372036854775808) <= string(3) "123"
+int(-9223372036854775808) <= string(3) "2.5"
+int(-9223372036854775808) > NULL
+int(-9223372036854775808) <= bool(true)
+int(-9223372036854775808) > bool(false)
+int(-9223372036854775808)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ <= object(stdClass)#%d (0) {}
+int(-9223372036854775808)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ <= object(stdClass)#%d (0) {}
+int(-9223372036854775808)
+Notice: Object of class test could not be converted to int in %s on line %d
+ <= object(test)#%d (0) {}
+int(-9223372036854775808) <= array(0) {}
+int(-9223372036854775808) <= int(-9223372036854775808)
+int(-9223372036854775808) <= string(20) "-9223372036854775808"
+string(20) "-9223372036854775808" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(20) "-9223372036854775808" > string(0) ""
+string(20) "-9223372036854775808" <= int(1)
+string(20) "-9223372036854775808" <= float(2.5)
+string(20) "-9223372036854775808" <= int(0)
+string(20) "-9223372036854775808" <= string(6) "string"
+string(20) "-9223372036854775808" <= string(3) "123"
+string(20) "-9223372036854775808" <= string(3) "2.5"
+string(20) "-9223372036854775808" > NULL
+string(20) "-9223372036854775808" <= bool(true)
+string(20) "-9223372036854775808" > bool(false)
+string(20) "-9223372036854775808" <= object(stdClass)#%d (0) {}
+string(20) "-9223372036854775808" <= object(stdClass)#%d (0) {}
+string(20) "-9223372036854775808" <= object(test)#%d (0) {}
+string(20) "-9223372036854775808" <= array(0) {}
+string(20) "-9223372036854775808" <= int(-9223372036854775808)
+string(20) "-9223372036854775808" <= string(20) "-9223372036854775808"
+Done
diff --git a/Zend/tests/compare_004.phpt b/Zend/tests/compare_004.phpt
new file mode 100644
index 0000000..69131cd
--- /dev/null
+++ b/Zend/tests/compare_004.phpt
@@ -0,0 +1,389 @@
+--TEST--
+comparing different variables (less than)
+--SKIPIF--
+<?php if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platform only"); ?>
+--FILE--
+<?php
+
+class test {
+}
+
+$a = array(
+ array(1,2,3),
+ "",
+ 1,
+ 2.5,
+ 0,
+ "string",
+ "123",
+ "2.5",
+ NULL,
+ true,
+ false,
+ new stdclass,
+ new stdclass,
+ new test,
+ array(),
+ -PHP_INT_MAX-1,
+ (string)(-PHP_INT_MAX-1),
+);
+
+$var_cnt = count($a);
+
+function my_dump($var) {
+ ob_start();
+ var_dump($var);
+ $buf = ob_get_clean();
+ echo str_replace("\n", "", $buf);
+}
+
+foreach($a as $var) {
+ for ($i = 0; $i < $var_cnt; $i++) {
+ my_dump($var);
+ echo ($var < $a[$i]) ? " < " : " >= ";
+ my_dump($a[$i]);
+ echo "\n";
+ }
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(0) ""
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= int(1)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= float(2.5)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= int(0)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(6) "string"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(3) "123"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(3) "2.5"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= NULL
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= bool(true)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= bool(false)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} < object(stdClass)#1 (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} < object(stdClass)#2 (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} < object(test)#3 (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= array(0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= int(-2147483648)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(11) "-2147483648"
+string(0) "" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(0) "" >= string(0) ""
+string(0) "" < int(1)
+string(0) "" < float(2.5)
+string(0) "" >= int(0)
+string(0) "" < string(6) "string"
+string(0) "" < string(3) "123"
+string(0) "" < string(3) "2.5"
+string(0) "" >= NULL
+string(0) "" < bool(true)
+string(0) "" >= bool(false)
+string(0) "" < object(stdClass)#1 (0) {}
+string(0) "" < object(stdClass)#2 (0) {}
+string(0) "" < object(test)#3 (0) {}
+string(0) "" < array(0) {}
+string(0) "" >= int(-2147483648)
+string(0) "" < string(11) "-2147483648"
+int(1) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+int(1) >= string(0) ""
+int(1) >= int(1)
+int(1) < float(2.5)
+int(1) >= int(0)
+int(1) >= string(6) "string"
+int(1) < string(3) "123"
+int(1) < string(3) "2.5"
+int(1) >= NULL
+int(1) >= bool(true)
+int(1) >= bool(false)
+int(1)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ >= object(stdClass)#1 (0) {}
+int(1)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ >= object(stdClass)#2 (0) {}
+int(1)
+Notice: Object of class test could not be converted to int in %s on line %d
+ >= object(test)#3 (0) {}
+int(1) < array(0) {}
+int(1) >= int(-2147483648)
+int(1) >= string(11) "-2147483648"
+float(2.5) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+float(2.5) >= string(0) ""
+float(2.5) >= int(1)
+float(2.5) >= float(2.5)
+float(2.5) >= int(0)
+float(2.5) >= string(6) "string"
+float(2.5) < string(3) "123"
+float(2.5) >= string(3) "2.5"
+float(2.5) >= NULL
+float(2.5) >= bool(true)
+float(2.5) >= bool(false)
+float(2.5)
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ >= object(stdClass)#1 (0) {}
+float(2.5)
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ >= object(stdClass)#2 (0) {}
+float(2.5)
+Notice: Object of class test could not be converted to double in %s on line %d
+ >= object(test)#3 (0) {}
+float(2.5) < array(0) {}
+float(2.5) >= int(-2147483648)
+float(2.5) >= string(11) "-2147483648"
+int(0) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+int(0) >= string(0) ""
+int(0) < int(1)
+int(0) < float(2.5)
+int(0) >= int(0)
+int(0) >= string(6) "string"
+int(0) < string(3) "123"
+int(0) < string(3) "2.5"
+int(0) >= NULL
+int(0) < bool(true)
+int(0) >= bool(false)
+int(0)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ < object(stdClass)#1 (0) {}
+int(0)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ < object(stdClass)#2 (0) {}
+int(0)
+Notice: Object of class test could not be converted to int in %s on line %d
+ < object(test)#3 (0) {}
+int(0) < array(0) {}
+int(0) >= int(-2147483648)
+int(0) >= string(11) "-2147483648"
+string(6) "string" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(6) "string" >= string(0) ""
+string(6) "string" < int(1)
+string(6) "string" < float(2.5)
+string(6) "string" >= int(0)
+string(6) "string" >= string(6) "string"
+string(6) "string" >= string(3) "123"
+string(6) "string" >= string(3) "2.5"
+string(6) "string" >= NULL
+string(6) "string" >= bool(true)
+string(6) "string" >= bool(false)
+string(6) "string" < object(stdClass)#1 (0) {}
+string(6) "string" < object(stdClass)#2 (0) {}
+string(6) "string" < object(test)#3 (0) {}
+string(6) "string" < array(0) {}
+string(6) "string" >= int(-2147483648)
+string(6) "string" >= string(11) "-2147483648"
+string(3) "123" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(3) "123" >= string(0) ""
+string(3) "123" >= int(1)
+string(3) "123" >= float(2.5)
+string(3) "123" >= int(0)
+string(3) "123" < string(6) "string"
+string(3) "123" >= string(3) "123"
+string(3) "123" >= string(3) "2.5"
+string(3) "123" >= NULL
+string(3) "123" >= bool(true)
+string(3) "123" >= bool(false)
+string(3) "123" < object(stdClass)#1 (0) {}
+string(3) "123" < object(stdClass)#2 (0) {}
+string(3) "123" < object(test)#3 (0) {}
+string(3) "123" < array(0) {}
+string(3) "123" >= int(-2147483648)
+string(3) "123" >= string(11) "-2147483648"
+string(3) "2.5" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(3) "2.5" >= string(0) ""
+string(3) "2.5" >= int(1)
+string(3) "2.5" >= float(2.5)
+string(3) "2.5" >= int(0)
+string(3) "2.5" < string(6) "string"
+string(3) "2.5" < string(3) "123"
+string(3) "2.5" >= string(3) "2.5"
+string(3) "2.5" >= NULL
+string(3) "2.5" >= bool(true)
+string(3) "2.5" >= bool(false)
+string(3) "2.5" < object(stdClass)#1 (0) {}
+string(3) "2.5" < object(stdClass)#2 (0) {}
+string(3) "2.5" < object(test)#3 (0) {}
+string(3) "2.5" < array(0) {}
+string(3) "2.5" >= int(-2147483648)
+string(3) "2.5" >= string(11) "-2147483648"
+NULL < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+NULL >= string(0) ""
+NULL < int(1)
+NULL < float(2.5)
+NULL >= int(0)
+NULL < string(6) "string"
+NULL < string(3) "123"
+NULL < string(3) "2.5"
+NULL >= NULL
+NULL < bool(true)
+NULL >= bool(false)
+NULL < object(stdClass)#1 (0) {}
+NULL < object(stdClass)#2 (0) {}
+NULL < object(test)#3 (0) {}
+NULL >= array(0) {}
+NULL < int(-2147483648)
+NULL < string(11) "-2147483648"
+bool(true) >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+bool(true) >= string(0) ""
+bool(true) >= int(1)
+bool(true) >= float(2.5)
+bool(true) >= int(0)
+bool(true) >= string(6) "string"
+bool(true) >= string(3) "123"
+bool(true) >= string(3) "2.5"
+bool(true) >= NULL
+bool(true) >= bool(true)
+bool(true) >= bool(false)
+bool(true) >= object(stdClass)#1 (0) {}
+bool(true) >= object(stdClass)#2 (0) {}
+bool(true) >= object(test)#3 (0) {}
+bool(true) >= array(0) {}
+bool(true) >= int(-2147483648)
+bool(true) >= string(11) "-2147483648"
+bool(false) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+bool(false) >= string(0) ""
+bool(false) < int(1)
+bool(false) < float(2.5)
+bool(false) >= int(0)
+bool(false) < string(6) "string"
+bool(false) < string(3) "123"
+bool(false) < string(3) "2.5"
+bool(false) >= NULL
+bool(false) < bool(true)
+bool(false) >= bool(false)
+bool(false) < object(stdClass)#1 (0) {}
+bool(false) < object(stdClass)#2 (0) {}
+bool(false) < object(test)#3 (0) {}
+bool(false) >= array(0) {}
+bool(false) < int(-2147483648)
+bool(false) < string(11) "-2147483648"
+object(stdClass)#1 (0) {} >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(stdClass)#1 (0) {} >= string(0) ""
+object(stdClass)#1 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ >= int(1)
+object(stdClass)#1 (0) {}
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ < float(2.5)
+object(stdClass)#1 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ >= int(0)
+object(stdClass)#1 (0) {} >= string(6) "string"
+object(stdClass)#1 (0) {} >= string(3) "123"
+object(stdClass)#1 (0) {} >= string(3) "2.5"
+object(stdClass)#1 (0) {} >= NULL
+object(stdClass)#1 (0) {} >= bool(true)
+object(stdClass)#1 (0) {} >= bool(false)
+object(stdClass)#1 (0) {} >= object(stdClass)#1 (0) {}
+object(stdClass)#1 (0) {} >= object(stdClass)#2 (0) {}
+object(stdClass)#1 (0) {} >= object(test)#3 (0) {}
+object(stdClass)#1 (0) {} >= array(0) {}
+object(stdClass)#1 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ >= int(-2147483648)
+object(stdClass)#1 (0) {} >= string(11) "-2147483648"
+object(stdClass)#2 (0) {} >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(stdClass)#2 (0) {} >= string(0) ""
+object(stdClass)#2 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ >= int(1)
+object(stdClass)#2 (0) {}
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ < float(2.5)
+object(stdClass)#2 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ >= int(0)
+object(stdClass)#2 (0) {} >= string(6) "string"
+object(stdClass)#2 (0) {} >= string(3) "123"
+object(stdClass)#2 (0) {} >= string(3) "2.5"
+object(stdClass)#2 (0) {} >= NULL
+object(stdClass)#2 (0) {} >= bool(true)
+object(stdClass)#2 (0) {} >= bool(false)
+object(stdClass)#2 (0) {} >= object(stdClass)#1 (0) {}
+object(stdClass)#2 (0) {} >= object(stdClass)#2 (0) {}
+object(stdClass)#2 (0) {} >= object(test)#3 (0) {}
+object(stdClass)#2 (0) {} >= array(0) {}
+object(stdClass)#2 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ >= int(-2147483648)
+object(stdClass)#2 (0) {} >= string(11) "-2147483648"
+object(test)#3 (0) {} >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(test)#3 (0) {} >= string(0) ""
+object(test)#3 (0) {}
+Notice: Object of class test could not be converted to int in %s on line %d
+ >= int(1)
+object(test)#3 (0) {}
+Notice: Object of class test could not be converted to double in %s on line %d
+ < float(2.5)
+object(test)#3 (0) {}
+Notice: Object of class test could not be converted to int in %s on line %d
+ >= int(0)
+object(test)#3 (0) {} >= string(6) "string"
+object(test)#3 (0) {} >= string(3) "123"
+object(test)#3 (0) {} >= string(3) "2.5"
+object(test)#3 (0) {} >= NULL
+object(test)#3 (0) {} >= bool(true)
+object(test)#3 (0) {} >= bool(false)
+object(test)#3 (0) {} >= object(stdClass)#1 (0) {}
+object(test)#3 (0) {} >= object(stdClass)#2 (0) {}
+object(test)#3 (0) {} >= object(test)#3 (0) {}
+object(test)#3 (0) {} >= array(0) {}
+object(test)#3 (0) {}
+Notice: Object of class test could not be converted to int in %s on line %d
+ >= int(-2147483648)
+object(test)#3 (0) {} >= string(11) "-2147483648"
+array(0) {} < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+array(0) {} >= string(0) ""
+array(0) {} >= int(1)
+array(0) {} >= float(2.5)
+array(0) {} >= int(0)
+array(0) {} >= string(6) "string"
+array(0) {} >= string(3) "123"
+array(0) {} >= string(3) "2.5"
+array(0) {} >= NULL
+array(0) {} < bool(true)
+array(0) {} >= bool(false)
+array(0) {} < object(stdClass)#1 (0) {}
+array(0) {} < object(stdClass)#2 (0) {}
+array(0) {} < object(test)#3 (0) {}
+array(0) {} >= array(0) {}
+array(0) {} >= int(-2147483648)
+array(0) {} >= string(11) "-2147483648"
+int(-2147483648) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+int(-2147483648) < string(0) ""
+int(-2147483648) < int(1)
+int(-2147483648) < float(2.5)
+int(-2147483648) < int(0)
+int(-2147483648) < string(6) "string"
+int(-2147483648) < string(3) "123"
+int(-2147483648) < string(3) "2.5"
+int(-2147483648) >= NULL
+int(-2147483648) >= bool(true)
+int(-2147483648) >= bool(false)
+int(-2147483648)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ < object(stdClass)#1 (0) {}
+int(-2147483648)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ < object(stdClass)#2 (0) {}
+int(-2147483648)
+Notice: Object of class test could not be converted to int in %s on line %d
+ < object(test)#3 (0) {}
+int(-2147483648) < array(0) {}
+int(-2147483648) >= int(-2147483648)
+int(-2147483648) >= string(11) "-2147483648"
+string(11) "-2147483648" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(11) "-2147483648" >= string(0) ""
+string(11) "-2147483648" < int(1)
+string(11) "-2147483648" < float(2.5)
+string(11) "-2147483648" < int(0)
+string(11) "-2147483648" < string(6) "string"
+string(11) "-2147483648" < string(3) "123"
+string(11) "-2147483648" < string(3) "2.5"
+string(11) "-2147483648" >= NULL
+string(11) "-2147483648" >= bool(true)
+string(11) "-2147483648" >= bool(false)
+string(11) "-2147483648" < object(stdClass)#1 (0) {}
+string(11) "-2147483648" < object(stdClass)#2 (0) {}
+string(11) "-2147483648" < object(test)#3 (0) {}
+string(11) "-2147483648" < array(0) {}
+string(11) "-2147483648" >= int(-2147483648)
+string(11) "-2147483648" >= string(11) "-2147483648"
+Done
diff --git a/Zend/tests/compare_004_64bit.phpt b/Zend/tests/compare_004_64bit.phpt
new file mode 100644
index 0000000..36bdaa7
--- /dev/null
+++ b/Zend/tests/compare_004_64bit.phpt
@@ -0,0 +1,389 @@
+--TEST--
+comparing different variables (less than)
+--SKIPIF--
+<?php if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only"); ?>
+--FILE--
+<?php
+
+class test {
+}
+
+$a = array(
+ array(1,2,3),
+ "",
+ 1,
+ 2.5,
+ 0,
+ "string",
+ "123",
+ "2.5",
+ NULL,
+ true,
+ false,
+ new stdclass,
+ new stdclass,
+ new test,
+ array(),
+ -PHP_INT_MAX-1,
+ (string)(-PHP_INT_MAX-1),
+);
+
+$var_cnt = count($a);
+
+function my_dump($var) {
+ ob_start();
+ var_dump($var);
+ $buf = ob_get_clean();
+ echo str_replace("\n", "", $buf);
+}
+
+foreach($a as $var) {
+ for ($i = 0; $i < $var_cnt; $i++) {
+ my_dump($var);
+ echo ($var < $a[$i]) ? " < " : " >= ";
+ my_dump($a[$i]);
+ echo "\n";
+ }
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(0) ""
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= int(1)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= float(2.5)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= int(0)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(6) "string"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(3) "123"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(3) "2.5"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= NULL
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= bool(true)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= bool(false)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} < object(stdClass)#%d (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} < object(stdClass)#%d (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} < object(test)#%d (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= array(0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= int(-9223372036854775808)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(20) "-9223372036854775808"
+string(0) "" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(0) "" >= string(0) ""
+string(0) "" < int(1)
+string(0) "" < float(2.5)
+string(0) "" >= int(0)
+string(0) "" < string(6) "string"
+string(0) "" < string(3) "123"
+string(0) "" < string(3) "2.5"
+string(0) "" >= NULL
+string(0) "" < bool(true)
+string(0) "" >= bool(false)
+string(0) "" < object(stdClass)#%d (0) {}
+string(0) "" < object(stdClass)#%d (0) {}
+string(0) "" < object(test)#%d (0) {}
+string(0) "" < array(0) {}
+string(0) "" >= int(-9223372036854775808)
+string(0) "" < string(20) "-9223372036854775808"
+int(1) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+int(1) >= string(0) ""
+int(1) >= int(1)
+int(1) < float(2.5)
+int(1) >= int(0)
+int(1) >= string(6) "string"
+int(1) < string(3) "123"
+int(1) < string(3) "2.5"
+int(1) >= NULL
+int(1) >= bool(true)
+int(1) >= bool(false)
+int(1)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ >= object(stdClass)#%d (0) {}
+int(1)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ >= object(stdClass)#%d (0) {}
+int(1)
+Notice: Object of class test could not be converted to int in %s on line %d
+ >= object(test)#%d (0) {}
+int(1) < array(0) {}
+int(1) >= int(-9223372036854775808)
+int(1) >= string(20) "-9223372036854775808"
+float(2.5) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+float(2.5) >= string(0) ""
+float(2.5) >= int(1)
+float(2.5) >= float(2.5)
+float(2.5) >= int(0)
+float(2.5) >= string(6) "string"
+float(2.5) < string(3) "123"
+float(2.5) >= string(3) "2.5"
+float(2.5) >= NULL
+float(2.5) >= bool(true)
+float(2.5) >= bool(false)
+float(2.5)
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ >= object(stdClass)#%d (0) {}
+float(2.5)
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ >= object(stdClass)#%d (0) {}
+float(2.5)
+Notice: Object of class test could not be converted to double in %s on line %d
+ >= object(test)#%d (0) {}
+float(2.5) < array(0) {}
+float(2.5) >= int(-9223372036854775808)
+float(2.5) >= string(20) "-9223372036854775808"
+int(0) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+int(0) >= string(0) ""
+int(0) < int(1)
+int(0) < float(2.5)
+int(0) >= int(0)
+int(0) >= string(6) "string"
+int(0) < string(3) "123"
+int(0) < string(3) "2.5"
+int(0) >= NULL
+int(0) < bool(true)
+int(0) >= bool(false)
+int(0)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ < object(stdClass)#%d (0) {}
+int(0)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ < object(stdClass)#%d (0) {}
+int(0)
+Notice: Object of class test could not be converted to int in %s on line %d
+ < object(test)#%d (0) {}
+int(0) < array(0) {}
+int(0) >= int(-9223372036854775808)
+int(0) >= string(20) "-9223372036854775808"
+string(6) "string" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(6) "string" >= string(0) ""
+string(6) "string" < int(1)
+string(6) "string" < float(2.5)
+string(6) "string" >= int(0)
+string(6) "string" >= string(6) "string"
+string(6) "string" >= string(3) "123"
+string(6) "string" >= string(3) "2.5"
+string(6) "string" >= NULL
+string(6) "string" >= bool(true)
+string(6) "string" >= bool(false)
+string(6) "string" < object(stdClass)#%d (0) {}
+string(6) "string" < object(stdClass)#%d (0) {}
+string(6) "string" < object(test)#%d (0) {}
+string(6) "string" < array(0) {}
+string(6) "string" >= int(-9223372036854775808)
+string(6) "string" >= string(20) "-9223372036854775808"
+string(3) "123" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(3) "123" >= string(0) ""
+string(3) "123" >= int(1)
+string(3) "123" >= float(2.5)
+string(3) "123" >= int(0)
+string(3) "123" < string(6) "string"
+string(3) "123" >= string(3) "123"
+string(3) "123" >= string(3) "2.5"
+string(3) "123" >= NULL
+string(3) "123" >= bool(true)
+string(3) "123" >= bool(false)
+string(3) "123" < object(stdClass)#%d (0) {}
+string(3) "123" < object(stdClass)#%d (0) {}
+string(3) "123" < object(test)#%d (0) {}
+string(3) "123" < array(0) {}
+string(3) "123" >= int(-9223372036854775808)
+string(3) "123" >= string(20) "-9223372036854775808"
+string(3) "2.5" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(3) "2.5" >= string(0) ""
+string(3) "2.5" >= int(1)
+string(3) "2.5" >= float(2.5)
+string(3) "2.5" >= int(0)
+string(3) "2.5" < string(6) "string"
+string(3) "2.5" < string(3) "123"
+string(3) "2.5" >= string(3) "2.5"
+string(3) "2.5" >= NULL
+string(3) "2.5" >= bool(true)
+string(3) "2.5" >= bool(false)
+string(3) "2.5" < object(stdClass)#%d (0) {}
+string(3) "2.5" < object(stdClass)#%d (0) {}
+string(3) "2.5" < object(test)#%d (0) {}
+string(3) "2.5" < array(0) {}
+string(3) "2.5" >= int(-9223372036854775808)
+string(3) "2.5" >= string(20) "-9223372036854775808"
+NULL < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+NULL >= string(0) ""
+NULL < int(1)
+NULL < float(2.5)
+NULL >= int(0)
+NULL < string(6) "string"
+NULL < string(3) "123"
+NULL < string(3) "2.5"
+NULL >= NULL
+NULL < bool(true)
+NULL >= bool(false)
+NULL < object(stdClass)#%d (0) {}
+NULL < object(stdClass)#%d (0) {}
+NULL < object(test)#%d (0) {}
+NULL >= array(0) {}
+NULL < int(-9223372036854775808)
+NULL < string(20) "-9223372036854775808"
+bool(true) >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+bool(true) >= string(0) ""
+bool(true) >= int(1)
+bool(true) >= float(2.5)
+bool(true) >= int(0)
+bool(true) >= string(6) "string"
+bool(true) >= string(3) "123"
+bool(true) >= string(3) "2.5"
+bool(true) >= NULL
+bool(true) >= bool(true)
+bool(true) >= bool(false)
+bool(true) >= object(stdClass)#%d (0) {}
+bool(true) >= object(stdClass)#%d (0) {}
+bool(true) >= object(test)#%d (0) {}
+bool(true) >= array(0) {}
+bool(true) >= int(-9223372036854775808)
+bool(true) >= string(20) "-9223372036854775808"
+bool(false) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+bool(false) >= string(0) ""
+bool(false) < int(1)
+bool(false) < float(2.5)
+bool(false) >= int(0)
+bool(false) < string(6) "string"
+bool(false) < string(3) "123"
+bool(false) < string(3) "2.5"
+bool(false) >= NULL
+bool(false) < bool(true)
+bool(false) >= bool(false)
+bool(false) < object(stdClass)#%d (0) {}
+bool(false) < object(stdClass)#%d (0) {}
+bool(false) < object(test)#%d (0) {}
+bool(false) >= array(0) {}
+bool(false) < int(-9223372036854775808)
+bool(false) < string(20) "-9223372036854775808"
+object(stdClass)#%d (0) {} >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(stdClass)#%d (0) {} >= string(0) ""
+object(stdClass)#%d (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ >= int(1)
+object(stdClass)#%d (0) {}
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ < float(2.5)
+object(stdClass)#%d (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ >= int(0)
+object(stdClass)#%d (0) {} >= string(6) "string"
+object(stdClass)#%d (0) {} >= string(3) "123"
+object(stdClass)#%d (0) {} >= string(3) "2.5"
+object(stdClass)#%d (0) {} >= NULL
+object(stdClass)#%d (0) {} >= bool(true)
+object(stdClass)#%d (0) {} >= bool(false)
+object(stdClass)#%d (0) {} >= object(stdClass)#%d (0) {}
+object(stdClass)#%d (0) {} >= object(stdClass)#%d (0) {}
+object(stdClass)#%d (0) {} >= object(test)#%d (0) {}
+object(stdClass)#%d (0) {} >= array(0) {}
+object(stdClass)#%d (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ >= int(-9223372036854775808)
+object(stdClass)#%d (0) {} >= string(20) "-9223372036854775808"
+object(stdClass)#%d (0) {} >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(stdClass)#%d (0) {} >= string(0) ""
+object(stdClass)#%d (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ >= int(1)
+object(stdClass)#%d (0) {}
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ < float(2.5)
+object(stdClass)#%d (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ >= int(0)
+object(stdClass)#%d (0) {} >= string(6) "string"
+object(stdClass)#%d (0) {} >= string(3) "123"
+object(stdClass)#%d (0) {} >= string(3) "2.5"
+object(stdClass)#%d (0) {} >= NULL
+object(stdClass)#%d (0) {} >= bool(true)
+object(stdClass)#%d (0) {} >= bool(false)
+object(stdClass)#%d (0) {} >= object(stdClass)#%d (0) {}
+object(stdClass)#%d (0) {} >= object(stdClass)#%d (0) {}
+object(stdClass)#%d (0) {} >= object(test)#%d (0) {}
+object(stdClass)#%d (0) {} >= array(0) {}
+object(stdClass)#%d (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ >= int(-9223372036854775808)
+object(stdClass)#%d (0) {} >= string(20) "-9223372036854775808"
+object(test)#%d (0) {} >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(test)#%d (0) {} >= string(0) ""
+object(test)#%d (0) {}
+Notice: Object of class test could not be converted to int in %s on line %d
+ >= int(1)
+object(test)#%d (0) {}
+Notice: Object of class test could not be converted to double in %s on line %d
+ < float(2.5)
+object(test)#%d (0) {}
+Notice: Object of class test could not be converted to int in %s on line %d
+ >= int(0)
+object(test)#%d (0) {} >= string(6) "string"
+object(test)#%d (0) {} >= string(3) "123"
+object(test)#%d (0) {} >= string(3) "2.5"
+object(test)#%d (0) {} >= NULL
+object(test)#%d (0) {} >= bool(true)
+object(test)#%d (0) {} >= bool(false)
+object(test)#%d (0) {} >= object(stdClass)#%d (0) {}
+object(test)#%d (0) {} >= object(stdClass)#%d (0) {}
+object(test)#%d (0) {} >= object(test)#%d (0) {}
+object(test)#%d (0) {} >= array(0) {}
+object(test)#%d (0) {}
+Notice: Object of class test could not be converted to int in %s on line %d
+ >= int(-9223372036854775808)
+object(test)#%d (0) {} >= string(20) "-9223372036854775808"
+array(0) {} < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+array(0) {} >= string(0) ""
+array(0) {} >= int(1)
+array(0) {} >= float(2.5)
+array(0) {} >= int(0)
+array(0) {} >= string(6) "string"
+array(0) {} >= string(3) "123"
+array(0) {} >= string(3) "2.5"
+array(0) {} >= NULL
+array(0) {} < bool(true)
+array(0) {} >= bool(false)
+array(0) {} < object(stdClass)#%d (0) {}
+array(0) {} < object(stdClass)#%d (0) {}
+array(0) {} < object(test)#%d (0) {}
+array(0) {} >= array(0) {}
+array(0) {} >= int(-9223372036854775808)
+array(0) {} >= string(20) "-9223372036854775808"
+int(-9223372036854775808) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+int(-9223372036854775808) < string(0) ""
+int(-9223372036854775808) < int(1)
+int(-9223372036854775808) < float(2.5)
+int(-9223372036854775808) < int(0)
+int(-9223372036854775808) < string(6) "string"
+int(-9223372036854775808) < string(3) "123"
+int(-9223372036854775808) < string(3) "2.5"
+int(-9223372036854775808) >= NULL
+int(-9223372036854775808) >= bool(true)
+int(-9223372036854775808) >= bool(false)
+int(-9223372036854775808)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ < object(stdClass)#%d (0) {}
+int(-9223372036854775808)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ < object(stdClass)#%d (0) {}
+int(-9223372036854775808)
+Notice: Object of class test could not be converted to int in %s on line %d
+ < object(test)#%d (0) {}
+int(-9223372036854775808) < array(0) {}
+int(-9223372036854775808) >= int(-9223372036854775808)
+int(-9223372036854775808) >= string(20) "-9223372036854775808"
+string(20) "-9223372036854775808" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(20) "-9223372036854775808" >= string(0) ""
+string(20) "-9223372036854775808" < int(1)
+string(20) "-9223372036854775808" < float(2.5)
+string(20) "-9223372036854775808" < int(0)
+string(20) "-9223372036854775808" < string(6) "string"
+string(20) "-9223372036854775808" < string(3) "123"
+string(20) "-9223372036854775808" < string(3) "2.5"
+string(20) "-9223372036854775808" >= NULL
+string(20) "-9223372036854775808" >= bool(true)
+string(20) "-9223372036854775808" >= bool(false)
+string(20) "-9223372036854775808" < object(stdClass)#%d (0) {}
+string(20) "-9223372036854775808" < object(stdClass)#%d (0) {}
+string(20) "-9223372036854775808" < object(test)#%d (0) {}
+string(20) "-9223372036854775808" < array(0) {}
+string(20) "-9223372036854775808" >= int(-9223372036854775808)
+string(20) "-9223372036854775808" >= string(20) "-9223372036854775808"
+Done
diff --git a/Zend/tests/compare_005.phpt b/Zend/tests/compare_005.phpt
new file mode 100644
index 0000000..4f5cd80
--- /dev/null
+++ b/Zend/tests/compare_005.phpt
@@ -0,0 +1,389 @@
+--TEST--
+comparing different variables (greater or equal than)
+--SKIPIF--
+<?php if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platform only"); ?>
+--FILE--
+<?php
+
+class test {
+}
+
+$a = array(
+ array(1,2,3),
+ "",
+ 1,
+ 2.5,
+ 0,
+ "string",
+ "123",
+ "2.5",
+ NULL,
+ true,
+ false,
+ new stdclass,
+ new stdclass,
+ new test,
+ array(),
+ -PHP_INT_MAX-1,
+ (string)(-PHP_INT_MAX-1),
+);
+
+$var_cnt = count($a);
+
+function my_dump($var) {
+ ob_start();
+ var_dump($var);
+ $buf = ob_get_clean();
+ echo str_replace("\n", "", $buf);
+}
+
+foreach($a as $var) {
+ for ($i = 0; $i < $var_cnt; $i++) {
+ my_dump($var);
+ echo ($var >= $a[$i]) ? " >= " : " < ";
+ my_dump($a[$i]);
+ echo "\n";
+ }
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(0) ""
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= int(1)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= float(2.5)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= int(0)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(6) "string"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(3) "123"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(3) "2.5"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= NULL
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= bool(true)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= bool(false)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} < object(stdClass)#1 (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} < object(stdClass)#2 (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} < object(test)#3 (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= array(0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= int(-2147483648)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(11) "-2147483648"
+string(0) "" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(0) "" >= string(0) ""
+string(0) "" < int(1)
+string(0) "" < float(2.5)
+string(0) "" >= int(0)
+string(0) "" < string(6) "string"
+string(0) "" < string(3) "123"
+string(0) "" < string(3) "2.5"
+string(0) "" >= NULL
+string(0) "" < bool(true)
+string(0) "" >= bool(false)
+string(0) "" < object(stdClass)#1 (0) {}
+string(0) "" < object(stdClass)#2 (0) {}
+string(0) "" < object(test)#3 (0) {}
+string(0) "" < array(0) {}
+string(0) "" >= int(-2147483648)
+string(0) "" < string(11) "-2147483648"
+int(1) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+int(1) >= string(0) ""
+int(1) >= int(1)
+int(1) < float(2.5)
+int(1) >= int(0)
+int(1) >= string(6) "string"
+int(1) < string(3) "123"
+int(1) < string(3) "2.5"
+int(1) >= NULL
+int(1) >= bool(true)
+int(1) >= bool(false)
+int(1)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ >= object(stdClass)#1 (0) {}
+int(1)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ >= object(stdClass)#2 (0) {}
+int(1)
+Notice: Object of class test could not be converted to int in %s on line %d
+ >= object(test)#3 (0) {}
+int(1) < array(0) {}
+int(1) >= int(-2147483648)
+int(1) >= string(11) "-2147483648"
+float(2.5) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+float(2.5) >= string(0) ""
+float(2.5) >= int(1)
+float(2.5) >= float(2.5)
+float(2.5) >= int(0)
+float(2.5) >= string(6) "string"
+float(2.5) < string(3) "123"
+float(2.5) >= string(3) "2.5"
+float(2.5) >= NULL
+float(2.5) >= bool(true)
+float(2.5) >= bool(false)
+float(2.5)
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ >= object(stdClass)#1 (0) {}
+float(2.5)
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ >= object(stdClass)#2 (0) {}
+float(2.5)
+Notice: Object of class test could not be converted to double in %s on line %d
+ >= object(test)#3 (0) {}
+float(2.5) < array(0) {}
+float(2.5) >= int(-2147483648)
+float(2.5) >= string(11) "-2147483648"
+int(0) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+int(0) >= string(0) ""
+int(0) < int(1)
+int(0) < float(2.5)
+int(0) >= int(0)
+int(0) >= string(6) "string"
+int(0) < string(3) "123"
+int(0) < string(3) "2.5"
+int(0) >= NULL
+int(0) < bool(true)
+int(0) >= bool(false)
+int(0)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ < object(stdClass)#1 (0) {}
+int(0)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ < object(stdClass)#2 (0) {}
+int(0)
+Notice: Object of class test could not be converted to int in %s on line %d
+ < object(test)#3 (0) {}
+int(0) < array(0) {}
+int(0) >= int(-2147483648)
+int(0) >= string(11) "-2147483648"
+string(6) "string" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(6) "string" >= string(0) ""
+string(6) "string" < int(1)
+string(6) "string" < float(2.5)
+string(6) "string" >= int(0)
+string(6) "string" >= string(6) "string"
+string(6) "string" >= string(3) "123"
+string(6) "string" >= string(3) "2.5"
+string(6) "string" >= NULL
+string(6) "string" >= bool(true)
+string(6) "string" >= bool(false)
+string(6) "string" < object(stdClass)#1 (0) {}
+string(6) "string" < object(stdClass)#2 (0) {}
+string(6) "string" < object(test)#3 (0) {}
+string(6) "string" < array(0) {}
+string(6) "string" >= int(-2147483648)
+string(6) "string" >= string(11) "-2147483648"
+string(3) "123" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(3) "123" >= string(0) ""
+string(3) "123" >= int(1)
+string(3) "123" >= float(2.5)
+string(3) "123" >= int(0)
+string(3) "123" < string(6) "string"
+string(3) "123" >= string(3) "123"
+string(3) "123" >= string(3) "2.5"
+string(3) "123" >= NULL
+string(3) "123" >= bool(true)
+string(3) "123" >= bool(false)
+string(3) "123" < object(stdClass)#1 (0) {}
+string(3) "123" < object(stdClass)#2 (0) {}
+string(3) "123" < object(test)#3 (0) {}
+string(3) "123" < array(0) {}
+string(3) "123" >= int(-2147483648)
+string(3) "123" >= string(11) "-2147483648"
+string(3) "2.5" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(3) "2.5" >= string(0) ""
+string(3) "2.5" >= int(1)
+string(3) "2.5" >= float(2.5)
+string(3) "2.5" >= int(0)
+string(3) "2.5" < string(6) "string"
+string(3) "2.5" < string(3) "123"
+string(3) "2.5" >= string(3) "2.5"
+string(3) "2.5" >= NULL
+string(3) "2.5" >= bool(true)
+string(3) "2.5" >= bool(false)
+string(3) "2.5" < object(stdClass)#1 (0) {}
+string(3) "2.5" < object(stdClass)#2 (0) {}
+string(3) "2.5" < object(test)#3 (0) {}
+string(3) "2.5" < array(0) {}
+string(3) "2.5" >= int(-2147483648)
+string(3) "2.5" >= string(11) "-2147483648"
+NULL < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+NULL >= string(0) ""
+NULL < int(1)
+NULL < float(2.5)
+NULL >= int(0)
+NULL < string(6) "string"
+NULL < string(3) "123"
+NULL < string(3) "2.5"
+NULL >= NULL
+NULL < bool(true)
+NULL >= bool(false)
+NULL < object(stdClass)#1 (0) {}
+NULL < object(stdClass)#2 (0) {}
+NULL < object(test)#3 (0) {}
+NULL >= array(0) {}
+NULL < int(-2147483648)
+NULL < string(11) "-2147483648"
+bool(true) >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+bool(true) >= string(0) ""
+bool(true) >= int(1)
+bool(true) >= float(2.5)
+bool(true) >= int(0)
+bool(true) >= string(6) "string"
+bool(true) >= string(3) "123"
+bool(true) >= string(3) "2.5"
+bool(true) >= NULL
+bool(true) >= bool(true)
+bool(true) >= bool(false)
+bool(true) >= object(stdClass)#1 (0) {}
+bool(true) >= object(stdClass)#2 (0) {}
+bool(true) >= object(test)#3 (0) {}
+bool(true) >= array(0) {}
+bool(true) >= int(-2147483648)
+bool(true) >= string(11) "-2147483648"
+bool(false) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+bool(false) >= string(0) ""
+bool(false) < int(1)
+bool(false) < float(2.5)
+bool(false) >= int(0)
+bool(false) < string(6) "string"
+bool(false) < string(3) "123"
+bool(false) < string(3) "2.5"
+bool(false) >= NULL
+bool(false) < bool(true)
+bool(false) >= bool(false)
+bool(false) < object(stdClass)#1 (0) {}
+bool(false) < object(stdClass)#2 (0) {}
+bool(false) < object(test)#3 (0) {}
+bool(false) >= array(0) {}
+bool(false) < int(-2147483648)
+bool(false) < string(11) "-2147483648"
+object(stdClass)#1 (0) {} >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(stdClass)#1 (0) {} >= string(0) ""
+object(stdClass)#1 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ >= int(1)
+object(stdClass)#1 (0) {}
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ < float(2.5)
+object(stdClass)#1 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ >= int(0)
+object(stdClass)#1 (0) {} >= string(6) "string"
+object(stdClass)#1 (0) {} >= string(3) "123"
+object(stdClass)#1 (0) {} >= string(3) "2.5"
+object(stdClass)#1 (0) {} >= NULL
+object(stdClass)#1 (0) {} >= bool(true)
+object(stdClass)#1 (0) {} >= bool(false)
+object(stdClass)#1 (0) {} >= object(stdClass)#1 (0) {}
+object(stdClass)#1 (0) {} >= object(stdClass)#2 (0) {}
+object(stdClass)#1 (0) {} < object(test)#3 (0) {}
+object(stdClass)#1 (0) {} >= array(0) {}
+object(stdClass)#1 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ >= int(-2147483648)
+object(stdClass)#1 (0) {} >= string(11) "-2147483648"
+object(stdClass)#2 (0) {} >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(stdClass)#2 (0) {} >= string(0) ""
+object(stdClass)#2 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ >= int(1)
+object(stdClass)#2 (0) {}
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ < float(2.5)
+object(stdClass)#2 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ >= int(0)
+object(stdClass)#2 (0) {} >= string(6) "string"
+object(stdClass)#2 (0) {} >= string(3) "123"
+object(stdClass)#2 (0) {} >= string(3) "2.5"
+object(stdClass)#2 (0) {} >= NULL
+object(stdClass)#2 (0) {} >= bool(true)
+object(stdClass)#2 (0) {} >= bool(false)
+object(stdClass)#2 (0) {} >= object(stdClass)#1 (0) {}
+object(stdClass)#2 (0) {} >= object(stdClass)#2 (0) {}
+object(stdClass)#2 (0) {} < object(test)#3 (0) {}
+object(stdClass)#2 (0) {} >= array(0) {}
+object(stdClass)#2 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ >= int(-2147483648)
+object(stdClass)#2 (0) {} >= string(11) "-2147483648"
+object(test)#3 (0) {} >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(test)#3 (0) {} >= string(0) ""
+object(test)#3 (0) {}
+Notice: Object of class test could not be converted to int in %s on line %d
+ >= int(1)
+object(test)#3 (0) {}
+Notice: Object of class test could not be converted to double in %s on line %d
+ < float(2.5)
+object(test)#3 (0) {}
+Notice: Object of class test could not be converted to int in %s on line %d
+ >= int(0)
+object(test)#3 (0) {} >= string(6) "string"
+object(test)#3 (0) {} >= string(3) "123"
+object(test)#3 (0) {} >= string(3) "2.5"
+object(test)#3 (0) {} >= NULL
+object(test)#3 (0) {} >= bool(true)
+object(test)#3 (0) {} >= bool(false)
+object(test)#3 (0) {} < object(stdClass)#1 (0) {}
+object(test)#3 (0) {} < object(stdClass)#2 (0) {}
+object(test)#3 (0) {} >= object(test)#3 (0) {}
+object(test)#3 (0) {} >= array(0) {}
+object(test)#3 (0) {}
+Notice: Object of class test could not be converted to int in %s on line %d
+ >= int(-2147483648)
+object(test)#3 (0) {} >= string(11) "-2147483648"
+array(0) {} < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+array(0) {} >= string(0) ""
+array(0) {} >= int(1)
+array(0) {} >= float(2.5)
+array(0) {} >= int(0)
+array(0) {} >= string(6) "string"
+array(0) {} >= string(3) "123"
+array(0) {} >= string(3) "2.5"
+array(0) {} >= NULL
+array(0) {} < bool(true)
+array(0) {} >= bool(false)
+array(0) {} < object(stdClass)#1 (0) {}
+array(0) {} < object(stdClass)#2 (0) {}
+array(0) {} < object(test)#3 (0) {}
+array(0) {} >= array(0) {}
+array(0) {} >= int(-2147483648)
+array(0) {} >= string(11) "-2147483648"
+int(-2147483648) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+int(-2147483648) < string(0) ""
+int(-2147483648) < int(1)
+int(-2147483648) < float(2.5)
+int(-2147483648) < int(0)
+int(-2147483648) < string(6) "string"
+int(-2147483648) < string(3) "123"
+int(-2147483648) < string(3) "2.5"
+int(-2147483648) >= NULL
+int(-2147483648) >= bool(true)
+int(-2147483648) >= bool(false)
+int(-2147483648)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ < object(stdClass)#1 (0) {}
+int(-2147483648)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ < object(stdClass)#2 (0) {}
+int(-2147483648)
+Notice: Object of class test could not be converted to int in %s on line %d
+ < object(test)#3 (0) {}
+int(-2147483648) < array(0) {}
+int(-2147483648) >= int(-2147483648)
+int(-2147483648) >= string(11) "-2147483648"
+string(11) "-2147483648" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(11) "-2147483648" >= string(0) ""
+string(11) "-2147483648" < int(1)
+string(11) "-2147483648" < float(2.5)
+string(11) "-2147483648" < int(0)
+string(11) "-2147483648" < string(6) "string"
+string(11) "-2147483648" < string(3) "123"
+string(11) "-2147483648" < string(3) "2.5"
+string(11) "-2147483648" >= NULL
+string(11) "-2147483648" >= bool(true)
+string(11) "-2147483648" >= bool(false)
+string(11) "-2147483648" < object(stdClass)#1 (0) {}
+string(11) "-2147483648" < object(stdClass)#2 (0) {}
+string(11) "-2147483648" < object(test)#3 (0) {}
+string(11) "-2147483648" < array(0) {}
+string(11) "-2147483648" >= int(-2147483648)
+string(11) "-2147483648" >= string(11) "-2147483648"
+Done
diff --git a/Zend/tests/compare_005_64bit.phpt b/Zend/tests/compare_005_64bit.phpt
new file mode 100644
index 0000000..69492b3
--- /dev/null
+++ b/Zend/tests/compare_005_64bit.phpt
@@ -0,0 +1,389 @@
+--TEST--
+comparing different variables (greater or equal than)
+--SKIPIF--
+<?php if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only"); ?>
+--FILE--
+<?php
+
+class test {
+}
+
+$a = array(
+ array(1,2,3),
+ "",
+ 1,
+ 2.5,
+ 0,
+ "string",
+ "123",
+ "2.5",
+ NULL,
+ true,
+ false,
+ new stdclass,
+ new stdclass,
+ new test,
+ array(),
+ -PHP_INT_MAX-1,
+ (string)(-PHP_INT_MAX-1),
+);
+
+$var_cnt = count($a);
+
+function my_dump($var) {
+ ob_start();
+ var_dump($var);
+ $buf = ob_get_clean();
+ echo str_replace("\n", "", $buf);
+}
+
+foreach($a as $var) {
+ for ($i = 0; $i < $var_cnt; $i++) {
+ my_dump($var);
+ echo ($var >= $a[$i]) ? " >= " : " < ";
+ my_dump($a[$i]);
+ echo "\n";
+ }
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(0) ""
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= int(1)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= float(2.5)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= int(0)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(6) "string"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(3) "123"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(3) "2.5"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= NULL
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= bool(true)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= bool(false)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} < object(stdClass)#%d (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} < object(stdClass)#%d (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} < object(test)#%d (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= array(0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= int(-9223372036854775808)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(20) "-9223372036854775808"
+string(0) "" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(0) "" >= string(0) ""
+string(0) "" < int(1)
+string(0) "" < float(2.5)
+string(0) "" >= int(0)
+string(0) "" < string(6) "string"
+string(0) "" < string(3) "123"
+string(0) "" < string(3) "2.5"
+string(0) "" >= NULL
+string(0) "" < bool(true)
+string(0) "" >= bool(false)
+string(0) "" < object(stdClass)#%d (0) {}
+string(0) "" < object(stdClass)#%d (0) {}
+string(0) "" < object(test)#%d (0) {}
+string(0) "" < array(0) {}
+string(0) "" >= int(-9223372036854775808)
+string(0) "" < string(20) "-9223372036854775808"
+int(1) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+int(1) >= string(0) ""
+int(1) >= int(1)
+int(1) < float(2.5)
+int(1) >= int(0)
+int(1) >= string(6) "string"
+int(1) < string(3) "123"
+int(1) < string(3) "2.5"
+int(1) >= NULL
+int(1) >= bool(true)
+int(1) >= bool(false)
+int(1)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ >= object(stdClass)#%d (0) {}
+int(1)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ >= object(stdClass)#%d (0) {}
+int(1)
+Notice: Object of class test could not be converted to int in %s on line %d
+ >= object(test)#%d (0) {}
+int(1) < array(0) {}
+int(1) >= int(-9223372036854775808)
+int(1) >= string(20) "-9223372036854775808"
+float(2.5) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+float(2.5) >= string(0) ""
+float(2.5) >= int(1)
+float(2.5) >= float(2.5)
+float(2.5) >= int(0)
+float(2.5) >= string(6) "string"
+float(2.5) < string(3) "123"
+float(2.5) >= string(3) "2.5"
+float(2.5) >= NULL
+float(2.5) >= bool(true)
+float(2.5) >= bool(false)
+float(2.5)
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ >= object(stdClass)#%d (0) {}
+float(2.5)
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ >= object(stdClass)#%d (0) {}
+float(2.5)
+Notice: Object of class test could not be converted to double in %s on line %d
+ >= object(test)#%d (0) {}
+float(2.5) < array(0) {}
+float(2.5) >= int(-9223372036854775808)
+float(2.5) >= string(20) "-9223372036854775808"
+int(0) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+int(0) >= string(0) ""
+int(0) < int(1)
+int(0) < float(2.5)
+int(0) >= int(0)
+int(0) >= string(6) "string"
+int(0) < string(3) "123"
+int(0) < string(3) "2.5"
+int(0) >= NULL
+int(0) < bool(true)
+int(0) >= bool(false)
+int(0)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ < object(stdClass)#%d (0) {}
+int(0)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ < object(stdClass)#%d (0) {}
+int(0)
+Notice: Object of class test could not be converted to int in %s on line %d
+ < object(test)#%d (0) {}
+int(0) < array(0) {}
+int(0) >= int(-9223372036854775808)
+int(0) >= string(20) "-9223372036854775808"
+string(6) "string" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(6) "string" >= string(0) ""
+string(6) "string" < int(1)
+string(6) "string" < float(2.5)
+string(6) "string" >= int(0)
+string(6) "string" >= string(6) "string"
+string(6) "string" >= string(3) "123"
+string(6) "string" >= string(3) "2.5"
+string(6) "string" >= NULL
+string(6) "string" >= bool(true)
+string(6) "string" >= bool(false)
+string(6) "string" < object(stdClass)#%d (0) {}
+string(6) "string" < object(stdClass)#%d (0) {}
+string(6) "string" < object(test)#%d (0) {}
+string(6) "string" < array(0) {}
+string(6) "string" >= int(-9223372036854775808)
+string(6) "string" >= string(20) "-9223372036854775808"
+string(3) "123" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(3) "123" >= string(0) ""
+string(3) "123" >= int(1)
+string(3) "123" >= float(2.5)
+string(3) "123" >= int(0)
+string(3) "123" < string(6) "string"
+string(3) "123" >= string(3) "123"
+string(3) "123" >= string(3) "2.5"
+string(3) "123" >= NULL
+string(3) "123" >= bool(true)
+string(3) "123" >= bool(false)
+string(3) "123" < object(stdClass)#%d (0) {}
+string(3) "123" < object(stdClass)#%d (0) {}
+string(3) "123" < object(test)#%d (0) {}
+string(3) "123" < array(0) {}
+string(3) "123" >= int(-9223372036854775808)
+string(3) "123" >= string(20) "-9223372036854775808"
+string(3) "2.5" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(3) "2.5" >= string(0) ""
+string(3) "2.5" >= int(1)
+string(3) "2.5" >= float(2.5)
+string(3) "2.5" >= int(0)
+string(3) "2.5" < string(6) "string"
+string(3) "2.5" < string(3) "123"
+string(3) "2.5" >= string(3) "2.5"
+string(3) "2.5" >= NULL
+string(3) "2.5" >= bool(true)
+string(3) "2.5" >= bool(false)
+string(3) "2.5" < object(stdClass)#%d (0) {}
+string(3) "2.5" < object(stdClass)#%d (0) {}
+string(3) "2.5" < object(test)#%d (0) {}
+string(3) "2.5" < array(0) {}
+string(3) "2.5" >= int(-9223372036854775808)
+string(3) "2.5" >= string(20) "-9223372036854775808"
+NULL < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+NULL >= string(0) ""
+NULL < int(1)
+NULL < float(2.5)
+NULL >= int(0)
+NULL < string(6) "string"
+NULL < string(3) "123"
+NULL < string(3) "2.5"
+NULL >= NULL
+NULL < bool(true)
+NULL >= bool(false)
+NULL < object(stdClass)#%d (0) {}
+NULL < object(stdClass)#%d (0) {}
+NULL < object(test)#%d (0) {}
+NULL >= array(0) {}
+NULL < int(-9223372036854775808)
+NULL < string(20) "-9223372036854775808"
+bool(true) >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+bool(true) >= string(0) ""
+bool(true) >= int(1)
+bool(true) >= float(2.5)
+bool(true) >= int(0)
+bool(true) >= string(6) "string"
+bool(true) >= string(3) "123"
+bool(true) >= string(3) "2.5"
+bool(true) >= NULL
+bool(true) >= bool(true)
+bool(true) >= bool(false)
+bool(true) >= object(stdClass)#%d (0) {}
+bool(true) >= object(stdClass)#%d (0) {}
+bool(true) >= object(test)#%d (0) {}
+bool(true) >= array(0) {}
+bool(true) >= int(-9223372036854775808)
+bool(true) >= string(20) "-9223372036854775808"
+bool(false) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+bool(false) >= string(0) ""
+bool(false) < int(1)
+bool(false) < float(2.5)
+bool(false) >= int(0)
+bool(false) < string(6) "string"
+bool(false) < string(3) "123"
+bool(false) < string(3) "2.5"
+bool(false) >= NULL
+bool(false) < bool(true)
+bool(false) >= bool(false)
+bool(false) < object(stdClass)#%d (0) {}
+bool(false) < object(stdClass)#%d (0) {}
+bool(false) < object(test)#%d (0) {}
+bool(false) >= array(0) {}
+bool(false) < int(-9223372036854775808)
+bool(false) < string(20) "-9223372036854775808"
+object(stdClass)#%d (0) {} >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(stdClass)#%d (0) {} >= string(0) ""
+object(stdClass)#%d (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ >= int(1)
+object(stdClass)#%d (0) {}
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ < float(2.5)
+object(stdClass)#%d (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ >= int(0)
+object(stdClass)#%d (0) {} >= string(6) "string"
+object(stdClass)#%d (0) {} >= string(3) "123"
+object(stdClass)#%d (0) {} >= string(3) "2.5"
+object(stdClass)#%d (0) {} >= NULL
+object(stdClass)#%d (0) {} >= bool(true)
+object(stdClass)#%d (0) {} >= bool(false)
+object(stdClass)#%d (0) {} >= object(stdClass)#%d (0) {}
+object(stdClass)#%d (0) {} >= object(stdClass)#%d (0) {}
+object(stdClass)#%d (0) {} < object(test)#%d (0) {}
+object(stdClass)#%d (0) {} >= array(0) {}
+object(stdClass)#%d (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ >= int(-9223372036854775808)
+object(stdClass)#%d (0) {} >= string(20) "-9223372036854775808"
+object(stdClass)#%d (0) {} >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(stdClass)#%d (0) {} >= string(0) ""
+object(stdClass)#%d (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ >= int(1)
+object(stdClass)#%d (0) {}
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ < float(2.5)
+object(stdClass)#%d (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ >= int(0)
+object(stdClass)#%d (0) {} >= string(6) "string"
+object(stdClass)#%d (0) {} >= string(3) "123"
+object(stdClass)#%d (0) {} >= string(3) "2.5"
+object(stdClass)#%d (0) {} >= NULL
+object(stdClass)#%d (0) {} >= bool(true)
+object(stdClass)#%d (0) {} >= bool(false)
+object(stdClass)#%d (0) {} >= object(stdClass)#%d (0) {}
+object(stdClass)#%d (0) {} >= object(stdClass)#%d (0) {}
+object(stdClass)#%d (0) {} < object(test)#%d (0) {}
+object(stdClass)#%d (0) {} >= array(0) {}
+object(stdClass)#%d (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ >= int(-9223372036854775808)
+object(stdClass)#%d (0) {} >= string(20) "-9223372036854775808"
+object(test)#%d (0) {} >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(test)#%d (0) {} >= string(0) ""
+object(test)#%d (0) {}
+Notice: Object of class test could not be converted to int in %s on line %d
+ >= int(1)
+object(test)#%d (0) {}
+Notice: Object of class test could not be converted to double in %s on line %d
+ < float(2.5)
+object(test)#%d (0) {}
+Notice: Object of class test could not be converted to int in %s on line %d
+ >= int(0)
+object(test)#%d (0) {} >= string(6) "string"
+object(test)#%d (0) {} >= string(3) "123"
+object(test)#%d (0) {} >= string(3) "2.5"
+object(test)#%d (0) {} >= NULL
+object(test)#%d (0) {} >= bool(true)
+object(test)#%d (0) {} >= bool(false)
+object(test)#%d (0) {} < object(stdClass)#%d (0) {}
+object(test)#%d (0) {} < object(stdClass)#%d (0) {}
+object(test)#%d (0) {} >= object(test)#%d (0) {}
+object(test)#%d (0) {} >= array(0) {}
+object(test)#%d (0) {}
+Notice: Object of class test could not be converted to int in %s on line %d
+ >= int(-9223372036854775808)
+object(test)#%d (0) {} >= string(20) "-9223372036854775808"
+array(0) {} < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+array(0) {} >= string(0) ""
+array(0) {} >= int(1)
+array(0) {} >= float(2.5)
+array(0) {} >= int(0)
+array(0) {} >= string(6) "string"
+array(0) {} >= string(3) "123"
+array(0) {} >= string(3) "2.5"
+array(0) {} >= NULL
+array(0) {} < bool(true)
+array(0) {} >= bool(false)
+array(0) {} < object(stdClass)#%d (0) {}
+array(0) {} < object(stdClass)#%d (0) {}
+array(0) {} < object(test)#%d (0) {}
+array(0) {} >= array(0) {}
+array(0) {} >= int(-9223372036854775808)
+array(0) {} >= string(20) "-9223372036854775808"
+int(-9223372036854775808) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+int(-9223372036854775808) < string(0) ""
+int(-9223372036854775808) < int(1)
+int(-9223372036854775808) < float(2.5)
+int(-9223372036854775808) < int(0)
+int(-9223372036854775808) < string(6) "string"
+int(-9223372036854775808) < string(3) "123"
+int(-9223372036854775808) < string(3) "2.5"
+int(-9223372036854775808) >= NULL
+int(-9223372036854775808) >= bool(true)
+int(-9223372036854775808) >= bool(false)
+int(-9223372036854775808)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ < object(stdClass)#%d (0) {}
+int(-9223372036854775808)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ < object(stdClass)#%d (0) {}
+int(-9223372036854775808)
+Notice: Object of class test could not be converted to int in %s on line %d
+ < object(test)#%d (0) {}
+int(-9223372036854775808) < array(0) {}
+int(-9223372036854775808) >= int(-9223372036854775808)
+int(-9223372036854775808) >= string(20) "-9223372036854775808"
+string(20) "-9223372036854775808" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(20) "-9223372036854775808" >= string(0) ""
+string(20) "-9223372036854775808" < int(1)
+string(20) "-9223372036854775808" < float(2.5)
+string(20) "-9223372036854775808" < int(0)
+string(20) "-9223372036854775808" < string(6) "string"
+string(20) "-9223372036854775808" < string(3) "123"
+string(20) "-9223372036854775808" < string(3) "2.5"
+string(20) "-9223372036854775808" >= NULL
+string(20) "-9223372036854775808" >= bool(true)
+string(20) "-9223372036854775808" >= bool(false)
+string(20) "-9223372036854775808" < object(stdClass)#%d (0) {}
+string(20) "-9223372036854775808" < object(stdClass)#%d (0) {}
+string(20) "-9223372036854775808" < object(test)#%d (0) {}
+string(20) "-9223372036854775808" < array(0) {}
+string(20) "-9223372036854775808" >= int(-9223372036854775808)
+string(20) "-9223372036854775808" >= string(20) "-9223372036854775808"
+Done
diff --git a/Zend/tests/compare_006.phpt b/Zend/tests/compare_006.phpt
new file mode 100644
index 0000000..743983b
--- /dev/null
+++ b/Zend/tests/compare_006.phpt
@@ -0,0 +1,389 @@
+--TEST--
+comparing different variables (smaller or equal than)
+--SKIPIF--
+<?php if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platform only"); ?>
+--FILE--
+<?php
+
+class test {
+}
+
+$a = array(
+ array(1,2,3),
+ "",
+ 1,
+ 2.5,
+ 0,
+ "string",
+ "123",
+ "2.5",
+ NULL,
+ true,
+ false,
+ new stdclass,
+ new stdclass,
+ new test,
+ array(),
+ -PHP_INT_MAX-1,
+ (string)(-PHP_INT_MAX-1),
+);
+
+$var_cnt = count($a);
+
+function my_dump($var) {
+ ob_start();
+ var_dump($var);
+ $buf = ob_get_clean();
+ echo str_replace("\n", "", $buf);
+}
+
+foreach($a as $var) {
+ for ($i = 0; $i < $var_cnt; $i++) {
+ my_dump($var);
+ echo ($var <= $a[$i]) ? " <= " : " > ";
+ my_dump($a[$i]);
+ echo "\n";
+ }
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(0) ""
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > int(1)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > float(2.5)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > int(0)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(6) "string"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(3) "123"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(3) "2.5"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > NULL
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= bool(true)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > bool(false)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= object(stdClass)#1 (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= object(stdClass)#2 (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= object(test)#3 (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > array(0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > int(-2147483648)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(11) "-2147483648"
+string(0) "" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(0) "" <= string(0) ""
+string(0) "" <= int(1)
+string(0) "" <= float(2.5)
+string(0) "" <= int(0)
+string(0) "" <= string(6) "string"
+string(0) "" <= string(3) "123"
+string(0) "" <= string(3) "2.5"
+string(0) "" <= NULL
+string(0) "" <= bool(true)
+string(0) "" <= bool(false)
+string(0) "" <= object(stdClass)#1 (0) {}
+string(0) "" <= object(stdClass)#2 (0) {}
+string(0) "" <= object(test)#3 (0) {}
+string(0) "" <= array(0) {}
+string(0) "" > int(-2147483648)
+string(0) "" <= string(11) "-2147483648"
+int(1) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+int(1) > string(0) ""
+int(1) <= int(1)
+int(1) <= float(2.5)
+int(1) > int(0)
+int(1) > string(6) "string"
+int(1) <= string(3) "123"
+int(1) <= string(3) "2.5"
+int(1) > NULL
+int(1) <= bool(true)
+int(1) > bool(false)
+int(1)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ <= object(stdClass)#1 (0) {}
+int(1)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ <= object(stdClass)#2 (0) {}
+int(1)
+Notice: Object of class test could not be converted to int in %s on line %d
+ <= object(test)#3 (0) {}
+int(1) <= array(0) {}
+int(1) > int(-2147483648)
+int(1) > string(11) "-2147483648"
+float(2.5) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+float(2.5) > string(0) ""
+float(2.5) > int(1)
+float(2.5) <= float(2.5)
+float(2.5) > int(0)
+float(2.5) > string(6) "string"
+float(2.5) <= string(3) "123"
+float(2.5) <= string(3) "2.5"
+float(2.5) > NULL
+float(2.5) <= bool(true)
+float(2.5) > bool(false)
+float(2.5)
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ > object(stdClass)#1 (0) {}
+float(2.5)
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ > object(stdClass)#2 (0) {}
+float(2.5)
+Notice: Object of class test could not be converted to double in %s on line %d
+ > object(test)#3 (0) {}
+float(2.5) <= array(0) {}
+float(2.5) > int(-2147483648)
+float(2.5) > string(11) "-2147483648"
+int(0) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+int(0) <= string(0) ""
+int(0) <= int(1)
+int(0) <= float(2.5)
+int(0) <= int(0)
+int(0) <= string(6) "string"
+int(0) <= string(3) "123"
+int(0) <= string(3) "2.5"
+int(0) <= NULL
+int(0) <= bool(true)
+int(0) <= bool(false)
+int(0)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ <= object(stdClass)#1 (0) {}
+int(0)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ <= object(stdClass)#2 (0) {}
+int(0)
+Notice: Object of class test could not be converted to int in %s on line %d
+ <= object(test)#3 (0) {}
+int(0) <= array(0) {}
+int(0) > int(-2147483648)
+int(0) > string(11) "-2147483648"
+string(6) "string" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(6) "string" > string(0) ""
+string(6) "string" <= int(1)
+string(6) "string" <= float(2.5)
+string(6) "string" <= int(0)
+string(6) "string" <= string(6) "string"
+string(6) "string" > string(3) "123"
+string(6) "string" > string(3) "2.5"
+string(6) "string" > NULL
+string(6) "string" <= bool(true)
+string(6) "string" > bool(false)
+string(6) "string" <= object(stdClass)#1 (0) {}
+string(6) "string" <= object(stdClass)#2 (0) {}
+string(6) "string" <= object(test)#3 (0) {}
+string(6) "string" <= array(0) {}
+string(6) "string" > int(-2147483648)
+string(6) "string" > string(11) "-2147483648"
+string(3) "123" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(3) "123" > string(0) ""
+string(3) "123" > int(1)
+string(3) "123" > float(2.5)
+string(3) "123" > int(0)
+string(3) "123" <= string(6) "string"
+string(3) "123" <= string(3) "123"
+string(3) "123" > string(3) "2.5"
+string(3) "123" > NULL
+string(3) "123" <= bool(true)
+string(3) "123" > bool(false)
+string(3) "123" <= object(stdClass)#1 (0) {}
+string(3) "123" <= object(stdClass)#2 (0) {}
+string(3) "123" <= object(test)#3 (0) {}
+string(3) "123" <= array(0) {}
+string(3) "123" > int(-2147483648)
+string(3) "123" > string(11) "-2147483648"
+string(3) "2.5" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(3) "2.5" > string(0) ""
+string(3) "2.5" > int(1)
+string(3) "2.5" <= float(2.5)
+string(3) "2.5" > int(0)
+string(3) "2.5" <= string(6) "string"
+string(3) "2.5" <= string(3) "123"
+string(3) "2.5" <= string(3) "2.5"
+string(3) "2.5" > NULL
+string(3) "2.5" <= bool(true)
+string(3) "2.5" > bool(false)
+string(3) "2.5" <= object(stdClass)#1 (0) {}
+string(3) "2.5" <= object(stdClass)#2 (0) {}
+string(3) "2.5" <= object(test)#3 (0) {}
+string(3) "2.5" <= array(0) {}
+string(3) "2.5" > int(-2147483648)
+string(3) "2.5" > string(11) "-2147483648"
+NULL <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+NULL <= string(0) ""
+NULL <= int(1)
+NULL <= float(2.5)
+NULL <= int(0)
+NULL <= string(6) "string"
+NULL <= string(3) "123"
+NULL <= string(3) "2.5"
+NULL <= NULL
+NULL <= bool(true)
+NULL <= bool(false)
+NULL <= object(stdClass)#1 (0) {}
+NULL <= object(stdClass)#2 (0) {}
+NULL <= object(test)#3 (0) {}
+NULL <= array(0) {}
+NULL <= int(-2147483648)
+NULL <= string(11) "-2147483648"
+bool(true) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+bool(true) > string(0) ""
+bool(true) <= int(1)
+bool(true) <= float(2.5)
+bool(true) > int(0)
+bool(true) <= string(6) "string"
+bool(true) <= string(3) "123"
+bool(true) <= string(3) "2.5"
+bool(true) > NULL
+bool(true) <= bool(true)
+bool(true) > bool(false)
+bool(true) <= object(stdClass)#1 (0) {}
+bool(true) <= object(stdClass)#2 (0) {}
+bool(true) <= object(test)#3 (0) {}
+bool(true) > array(0) {}
+bool(true) <= int(-2147483648)
+bool(true) <= string(11) "-2147483648"
+bool(false) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+bool(false) <= string(0) ""
+bool(false) <= int(1)
+bool(false) <= float(2.5)
+bool(false) <= int(0)
+bool(false) <= string(6) "string"
+bool(false) <= string(3) "123"
+bool(false) <= string(3) "2.5"
+bool(false) <= NULL
+bool(false) <= bool(true)
+bool(false) <= bool(false)
+bool(false) <= object(stdClass)#1 (0) {}
+bool(false) <= object(stdClass)#2 (0) {}
+bool(false) <= object(test)#3 (0) {}
+bool(false) <= array(0) {}
+bool(false) <= int(-2147483648)
+bool(false) <= string(11) "-2147483648"
+object(stdClass)#1 (0) {} > array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(stdClass)#1 (0) {} > string(0) ""
+object(stdClass)#1 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ <= int(1)
+object(stdClass)#1 (0) {}
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ <= float(2.5)
+object(stdClass)#1 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ > int(0)
+object(stdClass)#1 (0) {} > string(6) "string"
+object(stdClass)#1 (0) {} > string(3) "123"
+object(stdClass)#1 (0) {} > string(3) "2.5"
+object(stdClass)#1 (0) {} > NULL
+object(stdClass)#1 (0) {} <= bool(true)
+object(stdClass)#1 (0) {} > bool(false)
+object(stdClass)#1 (0) {} <= object(stdClass)#1 (0) {}
+object(stdClass)#1 (0) {} <= object(stdClass)#2 (0) {}
+object(stdClass)#1 (0) {} > object(test)#3 (0) {}
+object(stdClass)#1 (0) {} > array(0) {}
+object(stdClass)#1 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ > int(-2147483648)
+object(stdClass)#1 (0) {} > string(11) "-2147483648"
+object(stdClass)#2 (0) {} > array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(stdClass)#2 (0) {} > string(0) ""
+object(stdClass)#2 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ <= int(1)
+object(stdClass)#2 (0) {}
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ <= float(2.5)
+object(stdClass)#2 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ > int(0)
+object(stdClass)#2 (0) {} > string(6) "string"
+object(stdClass)#2 (0) {} > string(3) "123"
+object(stdClass)#2 (0) {} > string(3) "2.5"
+object(stdClass)#2 (0) {} > NULL
+object(stdClass)#2 (0) {} <= bool(true)
+object(stdClass)#2 (0) {} > bool(false)
+object(stdClass)#2 (0) {} <= object(stdClass)#1 (0) {}
+object(stdClass)#2 (0) {} <= object(stdClass)#2 (0) {}
+object(stdClass)#2 (0) {} > object(test)#3 (0) {}
+object(stdClass)#2 (0) {} > array(0) {}
+object(stdClass)#2 (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ > int(-2147483648)
+object(stdClass)#2 (0) {} > string(11) "-2147483648"
+object(test)#3 (0) {} > array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(test)#3 (0) {} > string(0) ""
+object(test)#3 (0) {}
+Notice: Object of class test could not be converted to int in %s on line %d
+ <= int(1)
+object(test)#3 (0) {}
+Notice: Object of class test could not be converted to double in %s on line %d
+ <= float(2.5)
+object(test)#3 (0) {}
+Notice: Object of class test could not be converted to int in %s on line %d
+ > int(0)
+object(test)#3 (0) {} > string(6) "string"
+object(test)#3 (0) {} > string(3) "123"
+object(test)#3 (0) {} > string(3) "2.5"
+object(test)#3 (0) {} > NULL
+object(test)#3 (0) {} <= bool(true)
+object(test)#3 (0) {} > bool(false)
+object(test)#3 (0) {} > object(stdClass)#1 (0) {}
+object(test)#3 (0) {} > object(stdClass)#2 (0) {}
+object(test)#3 (0) {} <= object(test)#3 (0) {}
+object(test)#3 (0) {} > array(0) {}
+object(test)#3 (0) {}
+Notice: Object of class test could not be converted to int in %s on line %d
+ > int(-2147483648)
+object(test)#3 (0) {} > string(11) "-2147483648"
+array(0) {} <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+array(0) {} > string(0) ""
+array(0) {} > int(1)
+array(0) {} > float(2.5)
+array(0) {} > int(0)
+array(0) {} > string(6) "string"
+array(0) {} > string(3) "123"
+array(0) {} > string(3) "2.5"
+array(0) {} <= NULL
+array(0) {} <= bool(true)
+array(0) {} <= bool(false)
+array(0) {} <= object(stdClass)#1 (0) {}
+array(0) {} <= object(stdClass)#2 (0) {}
+array(0) {} <= object(test)#3 (0) {}
+array(0) {} <= array(0) {}
+array(0) {} > int(-2147483648)
+array(0) {} > string(11) "-2147483648"
+int(-2147483648) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+int(-2147483648) <= string(0) ""
+int(-2147483648) <= int(1)
+int(-2147483648) <= float(2.5)
+int(-2147483648) <= int(0)
+int(-2147483648) <= string(6) "string"
+int(-2147483648) <= string(3) "123"
+int(-2147483648) <= string(3) "2.5"
+int(-2147483648) > NULL
+int(-2147483648) <= bool(true)
+int(-2147483648) > bool(false)
+int(-2147483648)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ <= object(stdClass)#1 (0) {}
+int(-2147483648)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ <= object(stdClass)#2 (0) {}
+int(-2147483648)
+Notice: Object of class test could not be converted to int in %s on line %d
+ <= object(test)#3 (0) {}
+int(-2147483648) <= array(0) {}
+int(-2147483648) <= int(-2147483648)
+int(-2147483648) <= string(11) "-2147483648"
+string(11) "-2147483648" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(11) "-2147483648" > string(0) ""
+string(11) "-2147483648" <= int(1)
+string(11) "-2147483648" <= float(2.5)
+string(11) "-2147483648" <= int(0)
+string(11) "-2147483648" <= string(6) "string"
+string(11) "-2147483648" <= string(3) "123"
+string(11) "-2147483648" <= string(3) "2.5"
+string(11) "-2147483648" > NULL
+string(11) "-2147483648" <= bool(true)
+string(11) "-2147483648" > bool(false)
+string(11) "-2147483648" <= object(stdClass)#1 (0) {}
+string(11) "-2147483648" <= object(stdClass)#2 (0) {}
+string(11) "-2147483648" <= object(test)#3 (0) {}
+string(11) "-2147483648" <= array(0) {}
+string(11) "-2147483648" <= int(-2147483648)
+string(11) "-2147483648" <= string(11) "-2147483648"
+Done
diff --git a/Zend/tests/compare_006_64bit.phpt b/Zend/tests/compare_006_64bit.phpt
new file mode 100644
index 0000000..56aad8d
--- /dev/null
+++ b/Zend/tests/compare_006_64bit.phpt
@@ -0,0 +1,389 @@
+--TEST--
+comparing different variables (smaller or equal than)
+--SKIPIF--
+<?php if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only"); ?>
+--FILE--
+<?php
+
+class test {
+}
+
+$a = array(
+ array(1,2,3),
+ "",
+ 1,
+ 2.5,
+ 0,
+ "string",
+ "123",
+ "2.5",
+ NULL,
+ true,
+ false,
+ new stdclass,
+ new stdclass,
+ new test,
+ array(),
+ -PHP_INT_MAX-1,
+ (string)(-PHP_INT_MAX-1),
+);
+
+$var_cnt = count($a);
+
+function my_dump($var) {
+ ob_start();
+ var_dump($var);
+ $buf = ob_get_clean();
+ echo str_replace("\n", "", $buf);
+}
+
+foreach($a as $var) {
+ for ($i = 0; $i < $var_cnt; $i++) {
+ my_dump($var);
+ echo ($var <= $a[$i]) ? " <= " : " > ";
+ my_dump($a[$i]);
+ echo "\n";
+ }
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(0) ""
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > int(1)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > float(2.5)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > int(0)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(6) "string"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(3) "123"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(3) "2.5"
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > NULL
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= bool(true)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > bool(false)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= object(stdClass)#%d (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= object(stdClass)#%d (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= object(test)#%d (0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > array(0) {}
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > int(-9223372036854775808)
+array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(20) "-9223372036854775808"
+string(0) "" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(0) "" <= string(0) ""
+string(0) "" <= int(1)
+string(0) "" <= float(2.5)
+string(0) "" <= int(0)
+string(0) "" <= string(6) "string"
+string(0) "" <= string(3) "123"
+string(0) "" <= string(3) "2.5"
+string(0) "" <= NULL
+string(0) "" <= bool(true)
+string(0) "" <= bool(false)
+string(0) "" <= object(stdClass)#%d (0) {}
+string(0) "" <= object(stdClass)#%d (0) {}
+string(0) "" <= object(test)#%d (0) {}
+string(0) "" <= array(0) {}
+string(0) "" > int(-9223372036854775808)
+string(0) "" <= string(20) "-9223372036854775808"
+int(1) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+int(1) > string(0) ""
+int(1) <= int(1)
+int(1) <= float(2.5)
+int(1) > int(0)
+int(1) > string(6) "string"
+int(1) <= string(3) "123"
+int(1) <= string(3) "2.5"
+int(1) > NULL
+int(1) <= bool(true)
+int(1) > bool(false)
+int(1)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ <= object(stdClass)#%d (0) {}
+int(1)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ <= object(stdClass)#%d (0) {}
+int(1)
+Notice: Object of class test could not be converted to int in %s on line %d
+ <= object(test)#%d (0) {}
+int(1) <= array(0) {}
+int(1) > int(-9223372036854775808)
+int(1) > string(20) "-9223372036854775808"
+float(2.5) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+float(2.5) > string(0) ""
+float(2.5) > int(1)
+float(2.5) <= float(2.5)
+float(2.5) > int(0)
+float(2.5) > string(6) "string"
+float(2.5) <= string(3) "123"
+float(2.5) <= string(3) "2.5"
+float(2.5) > NULL
+float(2.5) <= bool(true)
+float(2.5) > bool(false)
+float(2.5)
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ > object(stdClass)#%d (0) {}
+float(2.5)
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ > object(stdClass)#%d (0) {}
+float(2.5)
+Notice: Object of class test could not be converted to double in %s on line %d
+ > object(test)#%d (0) {}
+float(2.5) <= array(0) {}
+float(2.5) > int(-9223372036854775808)
+float(2.5) > string(20) "-9223372036854775808"
+int(0) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+int(0) <= string(0) ""
+int(0) <= int(1)
+int(0) <= float(2.5)
+int(0) <= int(0)
+int(0) <= string(6) "string"
+int(0) <= string(3) "123"
+int(0) <= string(3) "2.5"
+int(0) <= NULL
+int(0) <= bool(true)
+int(0) <= bool(false)
+int(0)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ <= object(stdClass)#%d (0) {}
+int(0)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ <= object(stdClass)#%d (0) {}
+int(0)
+Notice: Object of class test could not be converted to int in %s on line %d
+ <= object(test)#%d (0) {}
+int(0) <= array(0) {}
+int(0) > int(-9223372036854775808)
+int(0) > string(20) "-9223372036854775808"
+string(6) "string" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(6) "string" > string(0) ""
+string(6) "string" <= int(1)
+string(6) "string" <= float(2.5)
+string(6) "string" <= int(0)
+string(6) "string" <= string(6) "string"
+string(6) "string" > string(3) "123"
+string(6) "string" > string(3) "2.5"
+string(6) "string" > NULL
+string(6) "string" <= bool(true)
+string(6) "string" > bool(false)
+string(6) "string" <= object(stdClass)#%d (0) {}
+string(6) "string" <= object(stdClass)#%d (0) {}
+string(6) "string" <= object(test)#%d (0) {}
+string(6) "string" <= array(0) {}
+string(6) "string" > int(-9223372036854775808)
+string(6) "string" > string(20) "-9223372036854775808"
+string(3) "123" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(3) "123" > string(0) ""
+string(3) "123" > int(1)
+string(3) "123" > float(2.5)
+string(3) "123" > int(0)
+string(3) "123" <= string(6) "string"
+string(3) "123" <= string(3) "123"
+string(3) "123" > string(3) "2.5"
+string(3) "123" > NULL
+string(3) "123" <= bool(true)
+string(3) "123" > bool(false)
+string(3) "123" <= object(stdClass)#%d (0) {}
+string(3) "123" <= object(stdClass)#%d (0) {}
+string(3) "123" <= object(test)#%d (0) {}
+string(3) "123" <= array(0) {}
+string(3) "123" > int(-9223372036854775808)
+string(3) "123" > string(20) "-9223372036854775808"
+string(3) "2.5" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(3) "2.5" > string(0) ""
+string(3) "2.5" > int(1)
+string(3) "2.5" <= float(2.5)
+string(3) "2.5" > int(0)
+string(3) "2.5" <= string(6) "string"
+string(3) "2.5" <= string(3) "123"
+string(3) "2.5" <= string(3) "2.5"
+string(3) "2.5" > NULL
+string(3) "2.5" <= bool(true)
+string(3) "2.5" > bool(false)
+string(3) "2.5" <= object(stdClass)#%d (0) {}
+string(3) "2.5" <= object(stdClass)#%d (0) {}
+string(3) "2.5" <= object(test)#%d (0) {}
+string(3) "2.5" <= array(0) {}
+string(3) "2.5" > int(-9223372036854775808)
+string(3) "2.5" > string(20) "-9223372036854775808"
+NULL <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+NULL <= string(0) ""
+NULL <= int(1)
+NULL <= float(2.5)
+NULL <= int(0)
+NULL <= string(6) "string"
+NULL <= string(3) "123"
+NULL <= string(3) "2.5"
+NULL <= NULL
+NULL <= bool(true)
+NULL <= bool(false)
+NULL <= object(stdClass)#%d (0) {}
+NULL <= object(stdClass)#%d (0) {}
+NULL <= object(test)#%d (0) {}
+NULL <= array(0) {}
+NULL <= int(-9223372036854775808)
+NULL <= string(20) "-9223372036854775808"
+bool(true) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+bool(true) > string(0) ""
+bool(true) <= int(1)
+bool(true) <= float(2.5)
+bool(true) > int(0)
+bool(true) <= string(6) "string"
+bool(true) <= string(3) "123"
+bool(true) <= string(3) "2.5"
+bool(true) > NULL
+bool(true) <= bool(true)
+bool(true) > bool(false)
+bool(true) <= object(stdClass)#%d (0) {}
+bool(true) <= object(stdClass)#%d (0) {}
+bool(true) <= object(test)#%d (0) {}
+bool(true) > array(0) {}
+bool(true) <= int(-9223372036854775808)
+bool(true) <= string(20) "-9223372036854775808"
+bool(false) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+bool(false) <= string(0) ""
+bool(false) <= int(1)
+bool(false) <= float(2.5)
+bool(false) <= int(0)
+bool(false) <= string(6) "string"
+bool(false) <= string(3) "123"
+bool(false) <= string(3) "2.5"
+bool(false) <= NULL
+bool(false) <= bool(true)
+bool(false) <= bool(false)
+bool(false) <= object(stdClass)#%d (0) {}
+bool(false) <= object(stdClass)#%d (0) {}
+bool(false) <= object(test)#%d (0) {}
+bool(false) <= array(0) {}
+bool(false) <= int(-9223372036854775808)
+bool(false) <= string(20) "-9223372036854775808"
+object(stdClass)#%d (0) {} > array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(stdClass)#%d (0) {} > string(0) ""
+object(stdClass)#%d (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ <= int(1)
+object(stdClass)#%d (0) {}
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ <= float(2.5)
+object(stdClass)#%d (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ > int(0)
+object(stdClass)#%d (0) {} > string(6) "string"
+object(stdClass)#%d (0) {} > string(3) "123"
+object(stdClass)#%d (0) {} > string(3) "2.5"
+object(stdClass)#%d (0) {} > NULL
+object(stdClass)#%d (0) {} <= bool(true)
+object(stdClass)#%d (0) {} > bool(false)
+object(stdClass)#%d (0) {} <= object(stdClass)#%d (0) {}
+object(stdClass)#%d (0) {} <= object(stdClass)#%d (0) {}
+object(stdClass)#%d (0) {} > object(test)#%d (0) {}
+object(stdClass)#%d (0) {} > array(0) {}
+object(stdClass)#%d (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ > int(-9223372036854775808)
+object(stdClass)#%d (0) {} > string(20) "-9223372036854775808"
+object(stdClass)#%d (0) {} > array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(stdClass)#%d (0) {} > string(0) ""
+object(stdClass)#%d (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ <= int(1)
+object(stdClass)#%d (0) {}
+Notice: Object of class stdClass could not be converted to double in %s on line %d
+ <= float(2.5)
+object(stdClass)#%d (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ > int(0)
+object(stdClass)#%d (0) {} > string(6) "string"
+object(stdClass)#%d (0) {} > string(3) "123"
+object(stdClass)#%d (0) {} > string(3) "2.5"
+object(stdClass)#%d (0) {} > NULL
+object(stdClass)#%d (0) {} <= bool(true)
+object(stdClass)#%d (0) {} > bool(false)
+object(stdClass)#%d (0) {} <= object(stdClass)#%d (0) {}
+object(stdClass)#%d (0) {} <= object(stdClass)#%d (0) {}
+object(stdClass)#%d (0) {} > object(test)#%d (0) {}
+object(stdClass)#%d (0) {} > array(0) {}
+object(stdClass)#%d (0) {}
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ > int(-9223372036854775808)
+object(stdClass)#%d (0) {} > string(20) "-9223372036854775808"
+object(test)#%d (0) {} > array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+object(test)#%d (0) {} > string(0) ""
+object(test)#%d (0) {}
+Notice: Object of class test could not be converted to int in %s on line %d
+ <= int(1)
+object(test)#%d (0) {}
+Notice: Object of class test could not be converted to double in %s on line %d
+ <= float(2.5)
+object(test)#%d (0) {}
+Notice: Object of class test could not be converted to int in %s on line %d
+ > int(0)
+object(test)#%d (0) {} > string(6) "string"
+object(test)#%d (0) {} > string(3) "123"
+object(test)#%d (0) {} > string(3) "2.5"
+object(test)#%d (0) {} > NULL
+object(test)#%d (0) {} <= bool(true)
+object(test)#%d (0) {} > bool(false)
+object(test)#%d (0) {} > object(stdClass)#%d (0) {}
+object(test)#%d (0) {} > object(stdClass)#%d (0) {}
+object(test)#%d (0) {} <= object(test)#%d (0) {}
+object(test)#%d (0) {} > array(0) {}
+object(test)#%d (0) {}
+Notice: Object of class test could not be converted to int in %s on line %d
+ > int(-9223372036854775808)
+object(test)#%d (0) {} > string(20) "-9223372036854775808"
+array(0) {} <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+array(0) {} > string(0) ""
+array(0) {} > int(1)
+array(0) {} > float(2.5)
+array(0) {} > int(0)
+array(0) {} > string(6) "string"
+array(0) {} > string(3) "123"
+array(0) {} > string(3) "2.5"
+array(0) {} <= NULL
+array(0) {} <= bool(true)
+array(0) {} <= bool(false)
+array(0) {} <= object(stdClass)#%d (0) {}
+array(0) {} <= object(stdClass)#%d (0) {}
+array(0) {} <= object(test)#%d (0) {}
+array(0) {} <= array(0) {}
+array(0) {} > int(-9223372036854775808)
+array(0) {} > string(20) "-9223372036854775808"
+int(-9223372036854775808) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+int(-9223372036854775808) <= string(0) ""
+int(-9223372036854775808) <= int(1)
+int(-9223372036854775808) <= float(2.5)
+int(-9223372036854775808) <= int(0)
+int(-9223372036854775808) <= string(6) "string"
+int(-9223372036854775808) <= string(3) "123"
+int(-9223372036854775808) <= string(3) "2.5"
+int(-9223372036854775808) > NULL
+int(-9223372036854775808) <= bool(true)
+int(-9223372036854775808) > bool(false)
+int(-9223372036854775808)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ <= object(stdClass)#%d (0) {}
+int(-9223372036854775808)
+Notice: Object of class stdClass could not be converted to int in %s on line %d
+ <= object(stdClass)#%d (0) {}
+int(-9223372036854775808)
+Notice: Object of class test could not be converted to int in %s on line %d
+ <= object(test)#%d (0) {}
+int(-9223372036854775808) <= array(0) {}
+int(-9223372036854775808) <= int(-9223372036854775808)
+int(-9223372036854775808) <= string(20) "-9223372036854775808"
+string(20) "-9223372036854775808" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}
+string(20) "-9223372036854775808" > string(0) ""
+string(20) "-9223372036854775808" <= int(1)
+string(20) "-9223372036854775808" <= float(2.5)
+string(20) "-9223372036854775808" <= int(0)
+string(20) "-9223372036854775808" <= string(6) "string"
+string(20) "-9223372036854775808" <= string(3) "123"
+string(20) "-9223372036854775808" <= string(3) "2.5"
+string(20) "-9223372036854775808" > NULL
+string(20) "-9223372036854775808" <= bool(true)
+string(20) "-9223372036854775808" > bool(false)
+string(20) "-9223372036854775808" <= object(stdClass)#%d (0) {}
+string(20) "-9223372036854775808" <= object(stdClass)#%d (0) {}
+string(20) "-9223372036854775808" <= object(test)#%d (0) {}
+string(20) "-9223372036854775808" <= array(0) {}
+string(20) "-9223372036854775808" <= int(-9223372036854775808)
+string(20) "-9223372036854775808" <= string(20) "-9223372036854775808"
+Done
diff --git a/Zend/tests/decrement_001.phpt b/Zend/tests/decrement_001.phpt
new file mode 100644
index 0000000..6ade8ad
--- /dev/null
+++ b/Zend/tests/decrement_001.phpt
@@ -0,0 +1,60 @@
+--TEST--
+decrementing different variables
+--SKIPIF--
+<?php if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platform only"); ?>
+--INI--
+precision=14
+--FILE--
+<?php
+
+$a = array(
+ array(1,2,3),
+ "",
+ 1,
+ 2.5,
+ 0,
+ "string",
+ "123",
+ "2.5",
+ NULL,
+ true,
+ false,
+ new stdclass,
+ array(),
+ -PHP_INT_MAX-1,
+ (string)(-PHP_INT_MAX-1),
+);
+
+foreach ($a as $var) {
+ $var--;
+ var_dump($var);
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+array(3) {
+ [0]=>
+ int(1)
+ [1]=>
+ int(2)
+ [2]=>
+ int(3)
+}
+int(-1)
+int(0)
+float(1.5)
+int(-1)
+string(6) "string"
+int(122)
+float(1.5)
+NULL
+bool(true)
+bool(false)
+object(stdClass)#%d (0) {
+}
+array(0) {
+}
+float(-2147483649)
+float(-2147483649)
+Done
diff --git a/Zend/tests/decrement_001_64bit.phpt b/Zend/tests/decrement_001_64bit.phpt
new file mode 100644
index 0000000..7ad24b7
--- /dev/null
+++ b/Zend/tests/decrement_001_64bit.phpt
@@ -0,0 +1,60 @@
+--TEST--
+decrementing different variables
+--SKIPIF--
+<?php if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only"); ?>
+--INI--
+precision=14
+--FILE--
+<?php
+
+$a = array(
+ array(1,2,3),
+ "",
+ 1,
+ 2.5,
+ 0,
+ "string",
+ "123",
+ "2.5",
+ NULL,
+ true,
+ false,
+ new stdclass,
+ array(),
+ -PHP_INT_MAX-1,
+ (string)(-PHP_INT_MAX-1),
+);
+
+foreach ($a as $var) {
+ $var--;
+ var_dump($var);
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+array(3) {
+ [0]=>
+ int(1)
+ [1]=>
+ int(2)
+ [2]=>
+ int(3)
+}
+int(-1)
+int(0)
+float(1.5)
+int(-1)
+string(6) "string"
+int(122)
+float(1.5)
+NULL
+bool(true)
+bool(false)
+object(stdClass)#%d (0) {
+}
+array(0) {
+}
+float(-9.2233720368548E+18)
+float(-9.2233720368548E+18)
+Done
diff --git a/Zend/tests/double_to_string.phpt b/Zend/tests/double_to_string.phpt
index d1098e7..e799093 100644
--- a/Zend/tests/double_to_string.phpt
+++ b/Zend/tests/double_to_string.phpt
@@ -36,7 +36,7 @@ echo "Done\n";
string(7) "2.9E+17"
string(7) "2.9E+14"
string(14) "29000000000000"
-string(14) "29000000000000"
+string(%d) "2%s"
string(14) "29000000000001"
string(13) "29000.7123123"
string(15) "239234242.71231"
diff --git a/Zend/tests/double_to_string_64bit.phpt b/Zend/tests/double_to_string_64bit.phpt
index c52c38c..5ecb1a6 100644
--- a/Zend/tests/double_to_string_64bit.phpt
+++ b/Zend/tests/double_to_string_64bit.phpt
@@ -2,6 +2,8 @@
double to string conversion tests (64bit)
--SKIPIF--
<?php if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only"); ?>
+--INI--
+precision=14
--FILE--
<?php
diff --git a/Zend/tests/exception_handler_001.phpt b/Zend/tests/exception_handler_001.phpt
new file mode 100644
index 0000000..8f6572e
--- /dev/null
+++ b/Zend/tests/exception_handler_001.phpt
@@ -0,0 +1,20 @@
+--TEST--
+exception handler tests - 1
+--FILE--
+<?php
+
+set_exception_handler("foo");
+
+function foo($e) {
+ var_dump(get_class($e)." thrown!");
+}
+
+class test extends Exception {
+}
+
+throw new test();
+
+echo "Done\n";
+?>
+--EXPECTF--
+string(12) "test thrown!"
diff --git a/Zend/tests/exception_handler_002.phpt b/Zend/tests/exception_handler_002.phpt
new file mode 100644
index 0000000..3e0e4f0
--- /dev/null
+++ b/Zend/tests/exception_handler_002.phpt
@@ -0,0 +1,23 @@
+--TEST--
+exception handler tests - 2
+--FILE--
+<?php
+
+set_exception_handler("foo");
+
+function foo($e) {
+ var_dump(get_class($e)." thrown!");
+ throw new Exception();
+}
+
+class test extends Exception {
+}
+
+throw new test();
+
+echo "Done\n";
+?>
+--EXPECTF--
+string(12) "test thrown!"
+
+Fatal error: Exception thrown without a stack frame in Unknown on line 0
diff --git a/Zend/tests/exception_handler_003.phpt b/Zend/tests/exception_handler_003.phpt
new file mode 100644
index 0000000..137a6ca
--- /dev/null
+++ b/Zend/tests/exception_handler_003.phpt
@@ -0,0 +1,24 @@
+--TEST--
+exception handler tests - 3
+--FILE--
+<?php
+
+class test {
+
+ function foo () {
+ set_exception_handler(array($this, "bar"));
+ }
+
+ function bar($e) {
+ var_dump(get_class($e)." thrown!");
+ }
+}
+
+$a = new test;
+$a->foo();
+throw new Exception();
+
+echo "Done\n";
+?>
+--EXPECTF--
+string(17) "Exception thrown!"
diff --git a/Zend/tests/exception_handler_004.phpt b/Zend/tests/exception_handler_004.phpt
new file mode 100644
index 0000000..2f36781
--- /dev/null
+++ b/Zend/tests/exception_handler_004.phpt
@@ -0,0 +1,21 @@
+--TEST--
+exception handler tests - 4
+--FILE--
+<?php
+
+set_exception_handler("fo");
+set_exception_handler(array("", ""));
+set_exception_handler();
+set_exception_handler("foo", "bar");
+
+echo "Done\n";
+?>
+--EXPECTF--
+Warning: set_exception_handler() expects the argument (fo) to be a valid callback in %s on line %d
+
+Warning: set_exception_handler() expects the argument (::) to be a valid callback in %s on line %d
+
+Warning: Wrong parameter count for set_exception_handler() in %s on line %d
+
+Warning: Wrong parameter count for set_exception_handler() in %s on line %d
+Done
diff --git a/Zend/tests/exception_handler_005.phpt b/Zend/tests/exception_handler_005.phpt
new file mode 100644
index 0000000..cc99bc6
--- /dev/null
+++ b/Zend/tests/exception_handler_005.phpt
@@ -0,0 +1,23 @@
+--TEST--
+exception handler tests - 5
+--FILE--
+<?php
+
+set_exception_handler("foo");
+set_exception_handler("foo1");
+
+function foo($e) {
+ var_dump(__FUNCTION__."(): ".get_class($e)." thrown!");
+}
+
+function foo1($e) {
+ var_dump(__FUNCTION__."(): ".get_class($e)." thrown!");
+}
+
+
+throw new excEption();
+
+echo "Done\n";
+?>
+--EXPECTF--
+string(25) "foo1(): Exception thrown!"
diff --git a/Zend/tests/exception_handler_006.phpt b/Zend/tests/exception_handler_006.phpt
new file mode 100644
index 0000000..05a5d92
--- /dev/null
+++ b/Zend/tests/exception_handler_006.phpt
@@ -0,0 +1,25 @@
+--TEST--
+exception handler tests - 6
+--FILE--
+<?php
+
+set_exception_handler("foo");
+set_exception_handler("foo1");
+
+restore_exception_handler();
+
+function foo($e) {
+ var_dump(__FUNCTION__."(): ".get_class($e)." thrown!");
+}
+
+function foo1($e) {
+ var_dump(__FUNCTION__."(): ".get_class($e)." thrown!");
+}
+
+
+throw new excEption();
+
+echo "Done\n";
+?>
+--EXPECTF--
+string(24) "foo(): Exception thrown!"
diff --git a/Zend/tests/increment_001.phpt b/Zend/tests/increment_001.phpt
new file mode 100644
index 0000000..3638474
--- /dev/null
+++ b/Zend/tests/increment_001.phpt
@@ -0,0 +1,60 @@
+--TEST--
+incrementing different variables
+--SKIPIF--
+<?php if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platform only"); ?>
+--INI--
+precision=14
+--FILE--
+<?php
+
+$a = array(
+ array(1,2,3),
+ "",
+ 1,
+ 2.5,
+ 0,
+ "string",
+ "123",
+ "2.5",
+ NULL,
+ true,
+ false,
+ new stdclass,
+ array(),
+ PHP_INT_MAX,
+ (string)PHP_INT_MAX
+);
+
+foreach ($a as $var) {
+ $var++;
+ var_dump($var);
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+array(3) {
+ [0]=>
+ int(1)
+ [1]=>
+ int(2)
+ [2]=>
+ int(3)
+}
+string(1) "1"
+int(2)
+float(3.5)
+int(1)
+string(6) "strinh"
+int(124)
+float(3.5)
+int(1)
+bool(true)
+bool(false)
+object(stdClass)#%d (0) {
+}
+array(0) {
+}
+float(2147483648)
+float(2147483648)
+Done
diff --git a/Zend/tests/settype_double.phpt b/Zend/tests/settype_double.phpt
index 931a3d9..ed63f8a 100644
--- a/Zend/tests/settype_double.phpt
+++ b/Zend/tests/settype_double.phpt
@@ -1,5 +1,7 @@
--TEST--
casting different variables to double using settype()
+--INI--
+precision=14
--FILE--
<?php
diff --git a/Zend/zend_API.c b/Zend/zend_API.c
index 7d63ff3..2da877b 100644
--- a/Zend/zend_API.c
+++ b/Zend/zend_API.c
@@ -18,7 +18,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_API.c,v 1.296.2.27.2.29 2007/04/30 19:54:41 johannes Exp $ */
+/* $Id: zend_API.c,v 1.296.2.27.2.31 2007/05/30 10:17:43 tony2001 Exp $ */
#include "zend.h"
#include "zend_execute.h"
@@ -1629,6 +1629,7 @@ ZEND_API int zend_register_functions(zend_class_entry *scope, zend_function_entr
target_function_table = CG(function_table);
}
internal_function->type = ZEND_INTERNAL_FUNCTION;
+ internal_function->module = EG(current_module);
if (scope) {
class_name_len = strlen(scope->name);
@@ -2465,12 +2466,17 @@ ZEND_API int zend_fcall_info_call(zend_fcall_info *fci, zend_fcall_info_cache *f
ZEND_API char *zend_get_module_version(char *module_name)
{
+ char *lname;
+ int name_len = strlen(module_name);
zend_module_entry *module;
- if (zend_hash_find(&module_registry, module_name, strlen(module_name) + 1,
+ lname = zend_str_tolower_dup(module_name, name_len);
+ if (zend_hash_find(&module_registry, lname, name_len + 1,
(void**)&module) == FAILURE) {
+ efree(lname);
return NULL;
}
+ efree(lname);
return module->version;
}
diff --git a/Zend/zend_alloc.c b/Zend/zend_alloc.c
index ce6b06b..df455ed 100644
--- a/Zend/zend_alloc.c
+++ b/Zend/zend_alloc.c
@@ -18,7 +18,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_alloc.c,v 1.144.2.3.2.41 2007/04/16 08:09:54 dmitry Exp $ */
+/* $Id: zend_alloc.c,v 1.144.2.3.2.42 2007/05/28 10:07:50 tony2001 Exp $ */
#include "zend.h"
#include "zend_alloc.h"
@@ -1796,9 +1796,9 @@ static void *_zend_mm_alloc_int(zend_mm_heap *heap, size_t size ZEND_FILE_LINE_D
#endif
HANDLE_UNBLOCK_INTERRUPTIONS();
#if ZEND_DEBUG
- zend_mm_safe_error(heap, "Allowed memory size of %ld bytes exhausted at %s:%d (tried to allocate %ld bytes)", heap->limit, __zend_filename, __zend_lineno, size);
+ zend_mm_safe_error(heap, "Allowed memory size of %ld bytes exhausted at %s:%d (tried to allocate %lu bytes)", heap->limit, __zend_filename, __zend_lineno, size);
#else
- zend_mm_safe_error(heap, "Allowed memory size of %ld bytes exhausted (tried to allocate %ld bytes)", heap->limit, size);
+ zend_mm_safe_error(heap, "Allowed memory size of %ld bytes exhausted (tried to allocate %lu bytes)", heap->limit, size);
#endif
}
@@ -1812,9 +1812,9 @@ static void *_zend_mm_alloc_int(zend_mm_heap *heap, size_t size ZEND_FILE_LINE_D
HANDLE_UNBLOCK_INTERRUPTIONS();
out_of_memory:
#if ZEND_DEBUG
- zend_mm_safe_error(heap, "Out of memory (allocated %ld) at %s:%d (tried to allocate %ld bytes)", heap->real_size, __zend_filename, __zend_lineno, size);
+ zend_mm_safe_error(heap, "Out of memory (allocated %ld) at %s:%d (tried to allocate %lu bytes)", heap->real_size, __zend_filename, __zend_lineno, size);
#else
- zend_mm_safe_error(heap, "Out of memory (allocated %ld) (tried to allocate %ld bytes)", heap->real_size, size);
+ zend_mm_safe_error(heap, "Out of memory (allocated %ld) (tried to allocate %lu bytes)", heap->real_size, size);
#endif
return NULL;
}
@@ -2286,7 +2286,7 @@ static inline size_t safe_address(size_t nmemb, size_t size, size_t offset)
"rm"(offset));
if (UNEXPECTED(overflow)) {
- zend_error_noreturn(E_ERROR, "Possible integer overflow in memory allocation (%zd * %zd + %zd)", nmemb, size, offset);
+ zend_error_noreturn(E_ERROR, "Possible integer overflow in memory allocation (%zu * %zu + %zu)", nmemb, size, offset);
return 0;
}
return res;
@@ -2301,7 +2301,7 @@ static inline size_t safe_address(size_t nmemb, size_t size, size_t offset)
double _delta = (double)res - _d;
if (UNEXPECTED((_d + _delta ) != _d)) {
- zend_error_noreturn(E_ERROR, "Possible integer overflow in memory allocation (%zd * %zd + %zd)", nmemb, size, offset);
+ zend_error_noreturn(E_ERROR, "Possible integer overflow in memory allocation (%zu * %zu + %zu)", nmemb, size, offset);
return 0;
}
return res;
diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c
index b928e27..5437610 100644
--- a/Zend/zend_compile.c
+++ b/Zend/zend_compile.c
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_compile.c,v 1.647.2.27.2.37 2007/05/02 17:24:15 dmitry Exp $ */
+/* $Id: zend_compile.c,v 1.647.2.27.2.40 2007/05/18 13:12:03 dmitry Exp $ */
#include <zend_language_parser.h>
#include "zend.h"
@@ -941,24 +941,25 @@ void zend_do_init_string(znode *result TSRMLS_DC)
}
-void zend_do_add_char(znode *result, znode *op1, znode *op2 TSRMLS_DC)
-{
- zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC);
-
- opline->opcode = ZEND_ADD_CHAR;
- opline->op1 = *op1;
- opline->op2 = *op2;
- opline->op2.op_type = IS_CONST;
- opline->result = opline->op1;
- *result = opline->result;
-}
-
-
void zend_do_add_string(znode *result, znode *op1, znode *op2 TSRMLS_DC)
{
- zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC);
+ zend_op *opline;
- opline->opcode = ZEND_ADD_STRING;
+ if (Z_STRLEN(op2->u.constant) > 1) {
+ opline = get_next_op(CG(active_op_array) TSRMLS_CC);
+ opline->opcode = ZEND_ADD_STRING;
+ } else if (Z_STRLEN(op2->u.constant) == 1) {
+ int ch = *Z_STRVAL(op2->u.constant);
+
+ /* Free memory and use ZEND_ADD_CHAR in case of 1 character strings */
+ efree(Z_STRVAL(op2->u.constant));
+ ZVAL_LONG(&op2->u.constant, ch);
+ opline = get_next_op(CG(active_op_array) TSRMLS_CC);
+ opline->opcode = ZEND_ADD_CHAR;
+ } else { /* String can be empty after a variable at the end of a heredoc */
+ efree(Z_STRVAL(op2->u.constant));
+ return;
+ }
opline->op1 = *op1;
opline->op2 = *op2;
opline->op2.op_type = IS_CONST;
@@ -1265,9 +1266,18 @@ void zend_do_end_function_declaration(znode *function_token TSRMLS_DC)
void zend_do_receive_arg(zend_uchar op, znode *var, znode *offset, znode *initialization, znode *class_type, znode *varname, zend_uchar pass_by_reference TSRMLS_DC)
{
- zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC);
+ zend_op *opline;
zend_arg_info *cur_arg_info;
+ if (CG(active_op_array)->scope &&
+ ((CG(active_op_array)->fn_flags & ZEND_ACC_STATIC) == 0) &&
+ (Z_TYPE(varname->u.constant) == IS_STRING) &&
+ (Z_STRLEN(varname->u.constant) == sizeof("this")-1) &&
+ (memcmp(Z_STRVAL(varname->u.constant), "this", sizeof("this")) == 0)) {
+ zend_error(E_COMPILE_ERROR, "Cannot re-assign $this");
+ }
+
+ opline = get_next_op(CG(active_op_array) TSRMLS_CC);
CG(active_op_array)->num_args++;
opline->opcode = op;
opline->result = *var;
@@ -3801,7 +3811,11 @@ void zend_do_foreach_cont(znode *foreach_token, znode *open_brackets_token, znod
/* Change "write context" into "read context" */
fetch->extended_value = 0; /* reset ZEND_FE_RESET_VARIABLE */
while (fetch != end) {
- (--fetch)->opcode -= 3; /* FETCH_W -> FETCH_R */
+ --fetch;
+ if (fetch->opcode == ZEND_FETCH_DIM_W && fetch->op2.op_type == IS_UNUSED) {
+ zend_error(E_COMPILE_ERROR, "Cannot use [] for reading");
+ }
+ fetch->opcode -= 3; /* FETCH_W -> FETCH_R */
}
/* prevent double SWITCH_FREE */
zend_stack_top(&CG(foreach_copy_stack), (void **) &foreach_copy);
@@ -3917,24 +3931,6 @@ void zend_do_declare_end(znode *declare_token TSRMLS_DC)
}
-void zend_do_end_heredoc(TSRMLS_D)
-{
- int opline_num = get_next_op_number(CG(active_op_array))-1;
- zend_op *opline = &CG(active_op_array)->opcodes[opline_num];
-
- if (opline->opcode != ZEND_ADD_STRING) {
- return;
- }
-
- opline->op2.u.constant.value.str.val[(opline->op2.u.constant.value.str.len--)-1] = 0;
- if (opline->op2.u.constant.value.str.len>0) {
- if (opline->op2.u.constant.value.str.val[opline->op2.u.constant.value.str.len-1]=='\r') {
- opline->op2.u.constant.value.str.val[(opline->op2.u.constant.value.str.len--)-1] = 0;
- }
- }
-}
-
-
void zend_do_exit(znode *result, znode *message TSRMLS_DC)
{
zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC);
@@ -4123,12 +4119,12 @@ int zendlex(znode *zendlval TSRMLS_DC)
{
int retval;
-again:
if (CG(increment_lineno)) {
CG(zend_lineno)++;
CG(increment_lineno) = 0;
}
+again:
Z_TYPE(zendlval->u.constant) = IS_LONG;
retval = lex_scan(&zendlval->u.constant TSRMLS_CC);
switch (retval) {
@@ -4139,8 +4135,7 @@ again:
goto again;
case T_CLOSE_TAG:
- if (LANG_SCNG(yy_text)[LANG_SCNG(yy_leng)-1]=='\n'
- || (LANG_SCNG(yy_text)[LANG_SCNG(yy_leng)-2]=='\r' && LANG_SCNG(yy_text)[LANG_SCNG(yy_leng)-1])) {
+ if (LANG_SCNG(yy_text)[LANG_SCNG(yy_leng)-1] != '>') {
CG(increment_lineno) = 1;
}
retval = ';'; /* implicit ; */
diff --git a/Zend/zend_compile.h b/Zend/zend_compile.h
index ee20491..9966e75 100644
--- a/Zend/zend_compile.h
+++ b/Zend/zend_compile.h
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_compile.h,v 1.316.2.8.2.11 2007/04/04 00:42:42 iliaa Exp $ */
+/* $Id: zend_compile.h,v 1.316.2.8.2.12 2007/05/18 13:12:04 dmitry Exp $ */
#ifndef ZEND_COMPILE_H
#define ZEND_COMPILE_H
@@ -392,7 +392,6 @@ void zend_check_writable_variable(znode *variable);
void zend_do_free(znode *op1 TSRMLS_DC);
void zend_do_init_string(znode *result TSRMLS_DC);
-void zend_do_add_char(znode *result, znode *op1, znode *op2 TSRMLS_DC);
void zend_do_add_string(znode *result, znode *op1, znode *op2 TSRMLS_DC);
void zend_do_add_variable(znode *result, znode *op1, znode *op2 TSRMLS_DC);
@@ -488,8 +487,6 @@ void zend_do_declare_begin(TSRMLS_D);
void zend_do_declare_stmt(znode *var, znode *val TSRMLS_DC);
void zend_do_declare_end(znode *declare_token TSRMLS_DC);
-void zend_do_end_heredoc(TSRMLS_D);
-
void zend_do_exit(znode *result, znode *message TSRMLS_DC);
void zend_do_begin_silence(znode *strudel_token TSRMLS_DC);
diff --git a/Zend/zend_exceptions.c b/Zend/zend_exceptions.c
index fe0bf41..aed98e0 100644
--- a/Zend/zend_exceptions.c
+++ b/Zend/zend_exceptions.c
@@ -19,7 +19,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_exceptions.c,v 1.79.2.6.2.8 2007/01/18 12:20:15 tony2001 Exp $ */
+/* $Id: zend_exceptions.c,v 1.79.2.6.2.9 2007/05/30 16:32:02 tony2001 Exp $ */
#include "zend.h"
#include "zend_API.h"
@@ -532,7 +532,7 @@ static
ZEND_BEGIN_ARG_INFO_EX(arginfo_exception___construct, 0, 0, 0)
ZEND_ARG_INFO(0, message)
ZEND_ARG_INFO(0, code)
-ZEND_END_ARG_INFO();
+ZEND_END_ARG_INFO()
static zend_function_entry default_exception_functions[] = {
ZEND_ME(exception, __clone, NULL, ZEND_ACC_PRIVATE|ZEND_ACC_FINAL)
@@ -554,7 +554,7 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_error_exception___construct, 0, 0, 0)
ZEND_ARG_INFO(0, severity)
ZEND_ARG_INFO(0, filename)
ZEND_ARG_INFO(0, lineno)
-ZEND_END_ARG_INFO();
+ZEND_END_ARG_INFO()
static zend_function_entry error_exception_functions[] = {
ZEND_ME(error_exception, __construct, arginfo_error_exception___construct, ZEND_ACC_PUBLIC)
diff --git a/Zend/zend_execute_API.c b/Zend/zend_execute_API.c
index b7b9cef..00841dc 100644
--- a/Zend/zend_execute_API.c
+++ b/Zend/zend_execute_API.c
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_execute_API.c,v 1.331.2.20.2.19 2007/04/27 08:12:24 tony2001 Exp $ */
+/* $Id: zend_execute_API.c,v 1.331.2.20.2.21 2007/05/21 07:12:41 tony2001 Exp $ */
#include <stdio.h>
#include <signal.h>
@@ -675,6 +675,10 @@ int zend_call_function(zend_fcall_info *fci, zend_fcall_info_cache *fci_cache TS
}
if (fci->object_pp) {
+ if (Z_TYPE_PP(fci->object_pp) == IS_OBJECT
+ && (!EG(objects_store).object_buckets || !EG(objects_store).object_buckets[Z_OBJ_HANDLE_PP(fci->object_pp)].valid)) {
+ return FAILURE;
+ }
/* TBI!! new object handlers */
if (Z_TYPE_PP(fci->object_pp) == IS_OBJECT) {
if (!IS_ZEND_STD_OBJECT(**fci->object_pp)) {
@@ -839,6 +843,10 @@ int zend_call_function(zend_fcall_info *fci, zend_fcall_info_cache *fci_cache TS
calling_scope = fci_cache->calling_scope;
fci->object_pp = fci_cache->object_pp;
EX(object) = fci->object_pp ? *fci->object_pp : NULL;
+ if (fci->object_pp && *fci->object_pp && Z_TYPE_PP(fci->object_pp) == IS_OBJECT
+ && (!EG(objects_store).object_buckets || !EG(objects_store).object_buckets[Z_OBJ_HANDLE_PP(fci->object_pp)].valid)) {
+ return FAILURE;
+ }
}
if (EX(function_state).function->common.fn_flags & (ZEND_ACC_ABSTRACT|ZEND_ACC_DEPRECATED)) {
diff --git a/Zend/zend_interfaces.c b/Zend/zend_interfaces.c
index 0b38609..1c8259b 100755
--- a/Zend/zend_interfaces.c
+++ b/Zend/zend_interfaces.c
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_interfaces.c,v 1.33.2.4.2.5 2007/01/01 09:35:46 sebastian Exp $ */
+/* $Id: zend_interfaces.c,v 1.33.2.4.2.6 2007/05/30 16:32:02 tony2001 Exp $ */
#include "zend.h"
#include "zend_API.h"
@@ -496,18 +496,18 @@ zend_function_entry *zend_funcs_traversable = NULL;
static
ZEND_BEGIN_ARG_INFO_EX(arginfo_arrayaccess_offset, 0, 0, 1)
ZEND_ARG_INFO(0, offset)
-ZEND_END_ARG_INFO();
+ZEND_END_ARG_INFO()
static
ZEND_BEGIN_ARG_INFO_EX(arginfo_arrayaccess_offset_get, 0, 0, 1) /* actually this should be return by ref but atm cannot be */
ZEND_ARG_INFO(0, offset)
-ZEND_END_ARG_INFO();
+ZEND_END_ARG_INFO()
static
ZEND_BEGIN_ARG_INFO_EX(arginfo_arrayaccess_offset_value, 0, 0, 2)
ZEND_ARG_INFO(0, offset)
ZEND_ARG_INFO(0, value)
-ZEND_END_ARG_INFO();
+ZEND_END_ARG_INFO()
zend_function_entry zend_funcs_arrayaccess[] = {
ZEND_ABSTRACT_ME(arrayaccess, offsetExists, arginfo_arrayaccess_offset)
@@ -520,7 +520,7 @@ zend_function_entry zend_funcs_arrayaccess[] = {
static
ZEND_BEGIN_ARG_INFO(arginfo_serializable_serialize, 0)
ZEND_ARG_INFO(0, serialized)
-ZEND_END_ARG_INFO();
+ZEND_END_ARG_INFO()
zend_function_entry zend_funcs_serializable[] = {
ZEND_ABSTRACT_ME(serializable, serialize, NULL)
diff --git a/Zend/zend_language_parser.c b/Zend/zend_language_parser.c
index 28af779..c793b56 100644
--- a/Zend/zend_language_parser.c
+++ b/Zend/zend_language_parser.c
@@ -339,14 +339,12 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_language_parser.y,v 1.160.2.4.2.4 2007/04/04 00:42:42 iliaa Exp $ */
+/* $Id: zend_language_parser.y,v 1.160.2.4.2.6 2007/05/18 18:36:04 stas Exp $ */
/*
* LALR shift/reduce conflicts and how they are resolved:
*
* - 2 shift/reduce conflicts due to the dangeling elseif/else ambiguity. Solved by shift.
- * - 1 shift/reduce conflict due to arrays within encapsulated strings. Solved by shift.
- * - 1 shift/reduce conflict due to objects within encapsulated strings. Solved by shift.
*
*/
@@ -615,16 +613,16 @@ union yyalloc
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 3
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 4077
+#define YYLAST 4099
/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 150
+#define YYNTOKENS 149
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 168
/* YYNRULES -- Number of rules. */
-#define YYNRULES 422
+#define YYNRULES 412
/* YYNRULES -- Number of states. */
-#define YYNSTATES 785
+#define YYNSTATES 773
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
@@ -639,13 +637,13 @@ static const yytype_uint8 yytranslate[] =
0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 48, 147, 2, 145, 47, 31, 148,
+ 2, 2, 2, 48, 147, 2, 145, 47, 31, 2,
140, 141, 45, 42, 8, 43, 44, 46, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 26, 142,
36, 13, 37, 25, 51, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 61, 2, 149, 30, 2, 146, 2, 2, 2,
+ 2, 61, 2, 148, 30, 2, 146, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 143, 29, 144, 50, 2, 2, 2,
@@ -713,206 +711,201 @@ static const yytype_uint16 yyprhs[] =
971, 972, 979, 981, 984, 985, 988, 989, 992, 996,
997, 1001, 1003, 1005, 1007, 1009, 1011, 1013, 1015, 1017,
1019, 1021, 1024, 1027, 1032, 1034, 1038, 1040, 1042, 1044,
- 1046, 1050, 1054, 1058, 1059, 1062, 1063, 1065, 1071, 1075,
- 1079, 1081, 1083, 1085, 1087, 1088, 1091, 1092, 1095, 1096,
- 1097, 1105, 1107, 1110, 1111, 1112, 1117, 1118, 1123, 1124,
- 1126, 1129, 1133, 1135, 1137, 1139, 1142, 1144, 1149, 1154,
- 1156, 1158, 1163, 1164, 1166, 1168, 1169, 1172, 1177, 1182,
- 1184, 1186, 1190, 1192, 1195, 1199, 1201, 1203, 1204, 1210,
- 1211, 1212, 1215, 1221, 1225, 1229, 1231, 1238, 1243, 1248,
- 1251, 1254, 1257, 1260, 1263, 1266, 1269, 1272, 1275, 1278,
- 1281, 1284, 1285, 1287, 1288, 1294, 1298, 1302, 1309, 1313,
- 1315, 1317, 1319, 1324, 1329, 1332, 1335, 1340, 1343, 1346,
- 1348, 1349, 1354
+ 1046, 1050, 1054, 1055, 1058, 1059, 1061, 1067, 1071, 1075,
+ 1077, 1079, 1081, 1083, 1084, 1087, 1088, 1091, 1092, 1093,
+ 1101, 1103, 1106, 1107, 1108, 1113, 1114, 1119, 1120, 1122,
+ 1125, 1129, 1131, 1133, 1135, 1138, 1140, 1145, 1150, 1152,
+ 1154, 1159, 1160, 1162, 1164, 1165, 1168, 1173, 1178, 1180,
+ 1182, 1186, 1188, 1191, 1195, 1197, 1199, 1200, 1206, 1207,
+ 1208, 1211, 1217, 1221, 1225, 1227, 1234, 1239, 1244, 1247,
+ 1250, 1253, 1254, 1256, 1257, 1263, 1267, 1271, 1278, 1282,
+ 1284, 1286, 1288, 1293, 1298, 1301, 1304, 1309, 1312, 1315,
+ 1317, 1318, 1323
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
static const yytype_int16 yyrhs[] =
{
- 151, 0, -1, 152, -1, -1, 152, 153, 154, -1,
- -1, 158, -1, 190, -1, 191, -1, 115, 140, 141,
- 142, -1, -1, 155, 156, 157, -1, -1, 158, -1,
- 190, -1, 191, -1, 115, 140, 141, 142, -1, 159,
- -1, 143, 155, 144, -1, -1, -1, 65, 140, 279,
- 141, 160, 158, 161, 217, 221, -1, -1, -1, 65,
- 140, 279, 141, 26, 162, 155, 163, 219, 222, 68,
- 142, -1, -1, -1, 82, 140, 164, 279, 141, 165,
- 216, -1, -1, -1, 81, 166, 158, 82, 140, 167,
- 279, 141, 142, -1, -1, -1, -1, 84, 140, 244,
- 142, 168, 244, 142, 169, 244, 141, 170, 207, -1,
- -1, 91, 140, 279, 141, 171, 211, -1, 95, 142,
- -1, 95, 279, 142, -1, 96, 142, -1, 96, 279,
- 142, -1, 99, 142, -1, 99, 247, 142, -1, 99,
- 285, 142, -1, 104, 228, 142, -1, 110, 230, 142,
- -1, 80, 243, 142, -1, 75, -1, 279, 142, -1,
- 103, 189, 142, -1, 112, 140, 187, 141, 142, -1,
- -1, -1, 86, 140, 285, 90, 172, 206, 205, 141,
- 173, 208, -1, -1, -1, 86, 140, 247, 90, 174,
- 285, 205, 141, 175, 208, -1, -1, 88, 176, 140,
- 210, 141, 209, -1, 142, -1, -1, -1, -1, -1,
- -1, 100, 177, 143, 155, 144, 101, 140, 178, 263,
- 179, 73, 141, 180, 143, 155, 144, 181, 182, -1,
- 102, 279, 142, -1, 183, -1, -1, 184, -1, 183,
- 184, -1, -1, -1, 101, 140, 263, 185, 73, 141,
- 186, 143, 155, 144, -1, 188, -1, 187, 8, 188,
- -1, 285, -1, 79, -1, 140, 79, 141, -1, 193,
- -1, 196, -1, -1, 31, -1, -1, -1, 97, 194,
- 192, 71, 195, 140, 223, 141, 143, 155, 144, -1,
- -1, 199, 71, 200, 197, 203, 143, 231, 144, -1,
- -1, 201, 71, 198, 202, 143, 231, 144, -1, 116,
- -1, 109, 116, -1, 108, 116, -1, -1, 118, 263,
- -1, 117, -1, -1, 118, 204, -1, -1, 119, 204,
- -1, 263, -1, 204, 8, 263, -1, -1, 121, 206,
- -1, 285, -1, 31, 285, -1, 158, -1, 26, 155,
- 85, 142, -1, 158, -1, 26, 155, 87, 142, -1,
- 158, -1, 26, 155, 89, 142, -1, 71, 13, 273,
- -1, 210, 8, 71, 13, 273, -1, 143, 212, 144,
- -1, 143, 142, 212, 144, -1, 26, 212, 92, 142,
- -1, 26, 142, 212, 92, 142, -1, -1, -1, 212,
- 93, 279, 215, 213, 155, -1, -1, 212, 94, 215,
- 214, 155, -1, 26, -1, 142, -1, 158, -1, 26,
- 155, 83, 142, -1, -1, -1, 217, 66, 140, 279,
- 141, 218, 158, -1, -1, -1, 219, 66, 140, 279,
- 141, 26, 220, 155, -1, -1, 67, 158, -1, -1,
- 67, 26, 155, -1, 224, -1, -1, 225, 73, -1,
- 225, 31, 73, -1, 225, 31, 73, 13, 273, -1,
- 225, 73, 13, 273, -1, 224, 8, 225, 73, -1,
- 224, 8, 225, 31, 73, -1, 224, 8, 225, 31,
- 73, 13, 273, -1, 224, 8, 225, 73, 13, 273,
- -1, -1, 71, -1, 123, -1, 227, -1, -1, 247,
- -1, 285, -1, 31, 281, -1, 227, 8, 247, -1,
- 227, 8, 285, -1, 227, 8, 31, 281, -1, 228,
- 8, 229, -1, 229, -1, 73, -1, 145, 280, -1,
- 145, 143, 279, 144, -1, 230, 8, 73, -1, 230,
- 8, 73, 13, 273, -1, 73, -1, 73, 13, 273,
- -1, 231, 232, -1, -1, -1, 237, 233, 241, 142,
- -1, 242, 142, -1, -1, -1, 238, 97, 234, 192,
- 71, 235, 140, 223, 141, 236, -1, 142, -1, 143,
- 155, 144, -1, 239, -1, 111, -1, -1, 239, -1,
- 240, -1, 239, 240, -1, 105, -1, 106, -1, 107,
- -1, 110, -1, 109, -1, 108, -1, 241, 8, 73,
- -1, 241, 8, 73, 13, 273, -1, 73, -1, 73,
- 13, 273, -1, 242, 8, 71, 13, 273, -1, 98,
- 71, 13, 273, -1, 243, 8, 279, -1, 279, -1,
- -1, 245, -1, -1, 245, 8, 246, 279, -1, 279,
- -1, -1, 122, 140, 248, 305, 141, 13, 279, -1,
- 285, 13, 279, -1, 285, 13, 31, 285, -1, -1,
- 285, 13, 31, 63, 264, 249, 271, -1, -1, 63,
- 264, 250, 271, -1, 62, 279, -1, 285, 24, 279,
- -1, 285, 23, 279, -1, 285, 22, 279, -1, 285,
- 21, 279, -1, 285, 20, 279, -1, 285, 19, 279,
- -1, 285, 18, 279, -1, 285, 17, 279, -1, 285,
- 16, 279, -1, 285, 15, 279, -1, 285, 14, 279,
- -1, 283, 60, -1, 60, 283, -1, 283, 59, -1,
- 59, 283, -1, -1, 279, 27, 251, 279, -1, -1,
- 279, 28, 252, 279, -1, -1, 279, 9, 253, 279,
- -1, -1, 279, 11, 254, 279, -1, 279, 10, 279,
- -1, 279, 29, 279, -1, 279, 31, 279, -1, 279,
- 30, 279, -1, 279, 44, 279, -1, 279, 42, 279,
- -1, 279, 43, 279, -1, 279, 45, 279, -1, 279,
- 46, 279, -1, 279, 47, 279, -1, 279, 41, 279,
- -1, 279, 40, 279, -1, 42, 279, -1, 43, 279,
- -1, 48, 279, -1, 50, 279, -1, 279, 33, 279,
- -1, 279, 32, 279, -1, 279, 35, 279, -1, 279,
- 34, 279, -1, 279, 36, 279, -1, 279, 39, 279,
- -1, 279, 37, 279, -1, 279, 38, 279, -1, 279,
- 49, 264, -1, 140, 279, 141, -1, -1, -1, 279,
- 25, 255, 279, 26, 256, 279, -1, 314, -1, 58,
- 279, -1, 57, 279, -1, 56, 279, -1, 55, 279,
- -1, 54, 279, -1, 53, 279, -1, 52, 279, -1,
- 64, 270, -1, -1, 51, 257, 279, -1, 275, -1,
- 123, 140, 308, 141, -1, 146, 310, 146, -1, 12,
- 279, -1, -1, 71, 140, 259, 226, 141, -1, -1,
- 263, 139, 71, 140, 260, 226, 141, -1, -1, 263,
- 139, 293, 140, 261, 226, 141, -1, -1, 293, 140,
- 262, 226, 141, -1, 71, -1, 71, -1, 265, -1,
- -1, -1, 296, 120, 266, 300, 267, 268, -1, 296,
- -1, 268, 269, -1, -1, 120, 300, -1, -1, 140,
- 141, -1, 140, 279, 141, -1, -1, 140, 226, 141,
+ 150, 0, -1, 151, -1, -1, 151, 152, 153, -1,
+ -1, 157, -1, 189, -1, 190, -1, 115, 140, 141,
+ 142, -1, -1, 154, 155, 156, -1, -1, 157, -1,
+ 189, -1, 190, -1, 115, 140, 141, 142, -1, 158,
+ -1, 143, 154, 144, -1, -1, -1, 65, 140, 278,
+ 141, 159, 157, 160, 216, 220, -1, -1, -1, 65,
+ 140, 278, 141, 26, 161, 154, 162, 218, 221, 68,
+ 142, -1, -1, -1, 82, 140, 163, 278, 141, 164,
+ 215, -1, -1, -1, 81, 165, 157, 82, 140, 166,
+ 278, 141, 142, -1, -1, -1, -1, 84, 140, 243,
+ 142, 167, 243, 142, 168, 243, 141, 169, 206, -1,
+ -1, 91, 140, 278, 141, 170, 210, -1, 95, 142,
+ -1, 95, 278, 142, -1, 96, 142, -1, 96, 278,
+ 142, -1, 99, 142, -1, 99, 246, 142, -1, 99,
+ 284, 142, -1, 104, 227, 142, -1, 110, 229, 142,
+ -1, 80, 242, 142, -1, 75, -1, 278, 142, -1,
+ 103, 188, 142, -1, 112, 140, 186, 141, 142, -1,
+ -1, -1, 86, 140, 284, 90, 171, 205, 204, 141,
+ 172, 207, -1, -1, -1, 86, 140, 246, 90, 173,
+ 284, 204, 141, 174, 207, -1, -1, 88, 175, 140,
+ 209, 141, 208, -1, 142, -1, -1, -1, -1, -1,
+ -1, 100, 176, 143, 154, 144, 101, 140, 177, 262,
+ 178, 73, 141, 179, 143, 154, 144, 180, 181, -1,
+ 102, 278, 142, -1, 182, -1, -1, 183, -1, 182,
+ 183, -1, -1, -1, 101, 140, 262, 184, 73, 141,
+ 185, 143, 154, 144, -1, 187, -1, 186, 8, 187,
+ -1, 284, -1, 79, -1, 140, 79, 141, -1, 192,
+ -1, 195, -1, -1, 31, -1, -1, -1, 97, 193,
+ 191, 71, 194, 140, 222, 141, 143, 154, 144, -1,
+ -1, 198, 71, 199, 196, 202, 143, 230, 144, -1,
+ -1, 200, 71, 197, 201, 143, 230, 144, -1, 116,
+ -1, 109, 116, -1, 108, 116, -1, -1, 118, 262,
+ -1, 117, -1, -1, 118, 203, -1, -1, 119, 203,
+ -1, 262, -1, 203, 8, 262, -1, -1, 121, 205,
+ -1, 284, -1, 31, 284, -1, 157, -1, 26, 154,
+ 85, 142, -1, 157, -1, 26, 154, 87, 142, -1,
+ 157, -1, 26, 154, 89, 142, -1, 71, 13, 272,
+ -1, 209, 8, 71, 13, 272, -1, 143, 211, 144,
+ -1, 143, 142, 211, 144, -1, 26, 211, 92, 142,
+ -1, 26, 142, 211, 92, 142, -1, -1, -1, 211,
+ 93, 278, 214, 212, 154, -1, -1, 211, 94, 214,
+ 213, 154, -1, 26, -1, 142, -1, 157, -1, 26,
+ 154, 83, 142, -1, -1, -1, 216, 66, 140, 278,
+ 141, 217, 157, -1, -1, -1, 218, 66, 140, 278,
+ 141, 26, 219, 154, -1, -1, 67, 157, -1, -1,
+ 67, 26, 154, -1, 223, -1, -1, 224, 73, -1,
+ 224, 31, 73, -1, 224, 31, 73, 13, 272, -1,
+ 224, 73, 13, 272, -1, 223, 8, 224, 73, -1,
+ 223, 8, 224, 31, 73, -1, 223, 8, 224, 31,
+ 73, 13, 272, -1, 223, 8, 224, 73, 13, 272,
+ -1, -1, 71, -1, 123, -1, 226, -1, -1, 246,
+ -1, 284, -1, 31, 280, -1, 226, 8, 246, -1,
+ 226, 8, 284, -1, 226, 8, 31, 280, -1, 227,
+ 8, 228, -1, 228, -1, 73, -1, 145, 279, -1,
+ 145, 143, 278, 144, -1, 229, 8, 73, -1, 229,
+ 8, 73, 13, 272, -1, 73, -1, 73, 13, 272,
+ -1, 230, 231, -1, -1, -1, 236, 232, 240, 142,
+ -1, 241, 142, -1, -1, -1, 237, 97, 233, 191,
+ 71, 234, 140, 222, 141, 235, -1, 142, -1, 143,
+ 154, 144, -1, 238, -1, 111, -1, -1, 238, -1,
+ 239, -1, 238, 239, -1, 105, -1, 106, -1, 107,
+ -1, 110, -1, 109, -1, 108, -1, 240, 8, 73,
+ -1, 240, 8, 73, 13, 272, -1, 73, -1, 73,
+ 13, 272, -1, 241, 8, 71, 13, 272, -1, 98,
+ 71, 13, 272, -1, 242, 8, 278, -1, 278, -1,
+ -1, 244, -1, -1, 244, 8, 245, 278, -1, 278,
+ -1, -1, 122, 140, 247, 304, 141, 13, 278, -1,
+ 284, 13, 278, -1, 284, 13, 31, 284, -1, -1,
+ 284, 13, 31, 63, 263, 248, 270, -1, -1, 63,
+ 263, 249, 270, -1, 62, 278, -1, 284, 24, 278,
+ -1, 284, 23, 278, -1, 284, 22, 278, -1, 284,
+ 21, 278, -1, 284, 20, 278, -1, 284, 19, 278,
+ -1, 284, 18, 278, -1, 284, 17, 278, -1, 284,
+ 16, 278, -1, 284, 15, 278, -1, 284, 14, 278,
+ -1, 282, 60, -1, 60, 282, -1, 282, 59, -1,
+ 59, 282, -1, -1, 278, 27, 250, 278, -1, -1,
+ 278, 28, 251, 278, -1, -1, 278, 9, 252, 278,
+ -1, -1, 278, 11, 253, 278, -1, 278, 10, 278,
+ -1, 278, 29, 278, -1, 278, 31, 278, -1, 278,
+ 30, 278, -1, 278, 44, 278, -1, 278, 42, 278,
+ -1, 278, 43, 278, -1, 278, 45, 278, -1, 278,
+ 46, 278, -1, 278, 47, 278, -1, 278, 41, 278,
+ -1, 278, 40, 278, -1, 42, 278, -1, 43, 278,
+ -1, 48, 278, -1, 50, 278, -1, 278, 33, 278,
+ -1, 278, 32, 278, -1, 278, 35, 278, -1, 278,
+ 34, 278, -1, 278, 36, 278, -1, 278, 39, 278,
+ -1, 278, 37, 278, -1, 278, 38, 278, -1, 278,
+ 49, 263, -1, 140, 278, 141, -1, -1, -1, 278,
+ 25, 254, 278, 26, 255, 278, -1, 313, -1, 58,
+ 278, -1, 57, 278, -1, 56, 278, -1, 55, 278,
+ -1, 54, 278, -1, 53, 278, -1, 52, 278, -1,
+ 64, 269, -1, -1, 51, 256, 278, -1, 274, -1,
+ 123, 140, 307, 141, -1, 146, 309, 146, -1, 12,
+ 278, -1, -1, 71, 140, 258, 225, 141, -1, -1,
+ 262, 139, 71, 140, 259, 225, 141, -1, -1, 262,
+ 139, 292, 140, 260, 225, 141, -1, -1, 292, 140,
+ 261, 225, 141, -1, 71, -1, 71, -1, 264, -1,
+ -1, -1, 295, 120, 265, 299, 266, 267, -1, 295,
+ -1, 267, 268, -1, -1, 120, 299, -1, -1, 140,
+ 141, -1, 140, 278, 141, -1, -1, 140, 225, 141,
-1, 69, -1, 70, -1, 79, -1, 127, -1, 128,
- -1, 124, -1, 125, -1, 126, -1, 272, -1, 71,
- -1, 42, 273, -1, 43, 273, -1, 123, 140, 276,
- 141, -1, 274, -1, 71, 139, 71, -1, 71, -1,
- 72, -1, 317, -1, 272, -1, 147, 310, 147, -1,
- 148, 310, 148, -1, 135, 310, 136, -1, -1, 278,
- 277, -1, -1, 8, -1, 278, 8, 273, 121, 273,
- -1, 278, 8, 273, -1, 273, 121, 273, -1, 273,
- -1, 280, -1, 247, -1, 285, -1, -1, 285, 282,
- -1, -1, 285, 284, -1, -1, -1, 295, 120, 286,
- 300, 287, 291, 288, -1, 295, -1, 288, 289, -1,
- -1, -1, 120, 300, 290, 291, -1, -1, 140, 292,
- 226, 141, -1, -1, 297, -1, 304, 297, -1, 263,
- 139, 293, -1, 296, -1, 258, -1, 297, -1, 304,
- 297, -1, 294, -1, 297, 61, 299, 149, -1, 297,
- 143, 279, 144, -1, 298, -1, 73, -1, 145, 143,
- 279, 144, -1, -1, 279, -1, 302, -1, -1, 293,
- 301, -1, 302, 61, 299, 149, -1, 302, 143, 279,
- 144, -1, 303, -1, 71, -1, 143, 279, 144, -1,
- 145, -1, 304, 145, -1, 305, 8, 306, -1, 306,
- -1, 285, -1, -1, 122, 140, 307, 305, 141, -1,
- -1, -1, 309, 277, -1, 309, 8, 279, 121, 279,
- -1, 309, 8, 279, -1, 279, 121, 279, -1, 279,
- -1, 309, 8, 279, 121, 31, 281, -1, 309, 8,
- 31, 281, -1, 279, 121, 31, 281, -1, 31, 281,
- -1, 310, 311, -1, 310, 71, -1, 310, 74, -1,
- 310, 78, -1, 310, 76, -1, 310, 77, -1, 310,
- 61, -1, 310, 149, -1, 310, 143, -1, 310, 144,
- -1, 310, 120, -1, -1, 73, -1, -1, 73, 61,
- 312, 313, 149, -1, 73, 120, 71, -1, 137, 279,
- 144, -1, 137, 72, 61, 279, 149, 144, -1, 138,
- 285, 144, -1, 71, -1, 74, -1, 73, -1, 113,
- 140, 315, 141, -1, 114, 140, 285, 141, -1, 7,
- 279, -1, 6, 279, -1, 5, 140, 279, 141, -1,
- 4, 279, -1, 3, 279, -1, 285, -1, -1, 315,
- 8, 316, 285, -1, 263, 139, 71, -1
+ -1, 124, -1, 125, -1, 126, -1, 271, -1, 71,
+ -1, 42, 272, -1, 43, 272, -1, 123, 140, 275,
+ 141, -1, 273, -1, 71, 139, 71, -1, 71, -1,
+ 72, -1, 316, -1, 271, -1, 147, 309, 147, -1,
+ 135, 309, 136, -1, -1, 277, 276, -1, -1, 8,
+ -1, 277, 8, 272, 121, 272, -1, 277, 8, 272,
+ -1, 272, 121, 272, -1, 272, -1, 279, -1, 246,
+ -1, 284, -1, -1, 284, 281, -1, -1, 284, 283,
+ -1, -1, -1, 294, 120, 285, 299, 286, 290, 287,
+ -1, 294, -1, 287, 288, -1, -1, -1, 120, 299,
+ 289, 290, -1, -1, 140, 291, 225, 141, -1, -1,
+ 296, -1, 303, 296, -1, 262, 139, 292, -1, 295,
+ -1, 257, -1, 296, -1, 303, 296, -1, 293, -1,
+ 296, 61, 298, 148, -1, 296, 143, 278, 144, -1,
+ 297, -1, 73, -1, 145, 143, 278, 144, -1, -1,
+ 278, -1, 301, -1, -1, 292, 300, -1, 301, 61,
+ 298, 148, -1, 301, 143, 278, 144, -1, 302, -1,
+ 71, -1, 143, 278, 144, -1, 145, -1, 303, 145,
+ -1, 304, 8, 305, -1, 305, -1, 284, -1, -1,
+ 122, 140, 306, 304, 141, -1, -1, -1, 308, 276,
+ -1, 308, 8, 278, 121, 278, -1, 308, 8, 278,
+ -1, 278, 121, 278, -1, 278, -1, 308, 8, 278,
+ 121, 31, 280, -1, 308, 8, 31, 280, -1, 278,
+ 121, 31, 280, -1, 31, 280, -1, 309, 310, -1,
+ 309, 78, -1, -1, 73, -1, -1, 73, 61, 311,
+ 312, 148, -1, 73, 120, 71, -1, 137, 278, 144,
+ -1, 137, 72, 61, 278, 148, 144, -1, 138, 284,
+ 144, -1, 71, -1, 74, -1, 73, -1, 113, 140,
+ 314, 141, -1, 114, 140, 284, 141, -1, 7, 278,
+ -1, 6, 278, -1, 5, 140, 278, 141, -1, 4,
+ 278, -1, 3, 278, -1, 284, -1, -1, 314, 8,
+ 315, 284, -1, 262, 139, 71, -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 152, 152, 156, 156, 157, 162, 163, 164, 165,
- 170, 170, 171, 176, 177, 178, 179, 184, 188, 189,
- 189, 189, 190, 190, 190, 191, 191, 191, 192, 192,
- 192, 196, 198, 200, 193, 202, 202, 203, 204, 205,
- 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
- 216, 218, 219, 217, 222, 223, 221, 225, 225, 226,
- 227, 228, 229, 230, 231, 227, 233, 238, 239, 243,
- 244, 249, 249, 249, 254, 255, 259, 263, 264, 269,
- 273, 278, 279, 284, 284, 284, 290, 289, 296, 295,
- 305, 306, 307, 311, 312, 316, 319, 321, 324, 326,
- 330, 331, 335, 336, 341, 342, 346, 347, 352, 353,
- 358, 359, 364, 365, 370, 371, 372, 373, 378, 379,
- 379, 380, 380, 385, 386, 391, 392, 397, 399, 399,
- 403, 405, 405, 409, 411, 415, 417, 422, 423, 428,
- 429, 430, 431, 432, 433, 434, 435, 440, 441, 442,
- 447, 448, 453, 454, 455, 456, 457, 458, 462, 463,
- 468, 469, 470, 475, 476, 477, 478, 484, 485, 490,
- 490, 491, 492, 492, 492, 498, 499, 503, 504, 508,
- 509, 513, 514, 518, 519, 520, 521, 522, 523, 527,
- 528, 529, 530, 534, 535, 539, 540, 545, 546, 550,
- 550, 551, 555, 555, 556, 557, 558, 558, 559, 559,
- 560, 561, 562, 563, 564, 565, 566, 567, 568, 569,
- 570, 571, 572, 573, 574, 575, 576, 576, 577, 577,
- 578, 578, 579, 579, 580, 581, 582, 583, 584, 585,
- 586, 587, 588, 589, 590, 591, 592, 593, 594, 595,
- 596, 597, 598, 599, 600, 601, 602, 603, 604, 605,
- 606, 607, 606, 609, 610, 611, 612, 613, 614, 615,
- 616, 617, 618, 618, 619, 620, 621, 622, 626, 626,
- 629, 629, 632, 632, 635, 635, 641, 645, 646, 651,
- 652, 651, 654, 659, 660, 665, 669, 670, 671, 676,
- 677, 682, 683, 684, 685, 686, 687, 688, 689, 694,
- 695, 696, 697, 698, 699, 703, 707, 708, 709, 710,
- 711, 712, 713, 718, 719, 722, 724, 728, 729, 730,
- 731, 735, 736, 741, 746, 746, 751, 751, 756, 757,
- 756, 759, 763, 764, 769, 769, 773, 773, 777, 781,
- 782, 786, 791, 792, 797, 798, 799, 803, 804, 805,
- 810, 811, 815, 816, 821, 822, 822, 826, 827, 828,
- 832, 833, 837, 838, 842, 843, 848, 849, 849, 850,
- 855, 856, 860, 861, 862, 863, 864, 865, 866, 867,
- 871, 872, 873, 874, 875, 876, 877, 878, 879, 880,
- 881, 882, 889, 890, 890, 891, 892, 893, 894, 899,
- 900, 901, 906, 907, 908, 909, 910, 911, 912, 916,
- 917, 917, 921
+ 0, 150, 150, 154, 154, 155, 160, 161, 162, 163,
+ 168, 168, 169, 174, 175, 176, 177, 182, 186, 187,
+ 187, 187, 188, 188, 188, 189, 189, 189, 190, 190,
+ 190, 194, 196, 198, 191, 200, 200, 201, 202, 203,
+ 204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
+ 214, 216, 217, 215, 220, 221, 219, 223, 223, 224,
+ 225, 226, 227, 228, 229, 225, 231, 236, 237, 241,
+ 242, 247, 247, 247, 252, 253, 257, 261, 262, 267,
+ 271, 276, 277, 282, 282, 282, 288, 287, 294, 293,
+ 303, 304, 305, 309, 310, 314, 317, 319, 322, 324,
+ 328, 329, 333, 334, 339, 340, 344, 345, 350, 351,
+ 356, 357, 362, 363, 368, 369, 370, 371, 376, 377,
+ 377, 378, 378, 383, 384, 389, 390, 395, 397, 397,
+ 401, 403, 403, 407, 409, 413, 415, 420, 421, 426,
+ 427, 428, 429, 430, 431, 432, 433, 438, 439, 440,
+ 445, 446, 451, 452, 453, 454, 455, 456, 460, 461,
+ 466, 467, 468, 473, 474, 475, 476, 482, 483, 488,
+ 488, 489, 490, 490, 490, 496, 497, 501, 502, 506,
+ 507, 511, 512, 516, 517, 518, 519, 520, 521, 525,
+ 526, 527, 528, 532, 533, 537, 538, 543, 544, 548,
+ 548, 549, 553, 553, 554, 555, 556, 556, 557, 557,
+ 558, 559, 560, 561, 562, 563, 564, 565, 566, 567,
+ 568, 569, 570, 571, 572, 573, 574, 574, 575, 575,
+ 576, 576, 577, 577, 578, 579, 580, 581, 582, 583,
+ 584, 585, 586, 587, 588, 589, 590, 591, 592, 593,
+ 594, 595, 596, 597, 598, 599, 600, 601, 602, 603,
+ 604, 605, 604, 607, 608, 609, 610, 611, 612, 613,
+ 614, 615, 616, 616, 617, 618, 619, 620, 624, 624,
+ 627, 627, 630, 630, 633, 633, 639, 643, 644, 649,
+ 650, 649, 652, 657, 658, 663, 667, 668, 669, 674,
+ 675, 680, 681, 682, 683, 684, 685, 686, 687, 692,
+ 693, 694, 695, 696, 697, 701, 705, 706, 707, 708,
+ 709, 710, 715, 716, 719, 721, 725, 726, 727, 728,
+ 732, 733, 738, 743, 743, 748, 748, 753, 754, 753,
+ 756, 760, 761, 766, 766, 770, 770, 774, 778, 779,
+ 783, 788, 789, 794, 795, 796, 800, 801, 802, 807,
+ 808, 812, 813, 818, 819, 819, 823, 824, 825, 829,
+ 830, 834, 835, 839, 840, 845, 846, 846, 847, 852,
+ 853, 857, 858, 859, 860, 861, 862, 863, 864, 868,
+ 869, 870, 877, 878, 878, 879, 880, 881, 882, 887,
+ 888, 889, 894, 895, 896, 897, 898, 899, 900, 904,
+ 905, 905, 909
};
#endif
@@ -949,7 +942,7 @@ static const char *const yytname[] =
"T_DOC_COMMENT", "T_OPEN_TAG", "T_OPEN_TAG_WITH_ECHO", "T_CLOSE_TAG",
"T_WHITESPACE", "T_START_HEREDOC", "T_END_HEREDOC",
"T_DOLLAR_OPEN_CURLY_BRACES", "T_CURLY_OPEN", "T_PAAMAYIM_NEKUDOTAYIM",
- "'('", "')'", "';'", "'{'", "'}'", "'$'", "'`'", "'\"'", "'''", "']'",
+ "'('", "')'", "';'", "'{'", "'}'", "'$'", "'`'", "'\"'", "']'",
"$accept", "start", "top_statement_list", "@1", "top_statement",
"inner_statement_list", "@2", "inner_statement", "statement",
"unticked_statement", "@3", "@4", "@5", "@6", "@7", "@8", "@9", "@10",
@@ -1016,56 +1009,55 @@ static const yytype_uint16 yytoknum[] =
346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, 359, 360, 361, 362, 363, 364, 365,
366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
- 40, 41, 59, 123, 125, 36, 96, 34, 39, 93
+ 40, 41, 59, 123, 125, 36, 96, 34, 93
};
# endif
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const yytype_uint16 yyr1[] =
{
- 0, 150, 151, 153, 152, 152, 154, 154, 154, 154,
- 156, 155, 155, 157, 157, 157, 157, 158, 159, 160,
- 161, 159, 162, 163, 159, 164, 165, 159, 166, 167,
- 159, 168, 169, 170, 159, 171, 159, 159, 159, 159,
- 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
- 159, 172, 173, 159, 174, 175, 159, 176, 159, 159,
- 177, 178, 179, 180, 181, 159, 159, 182, 182, 183,
- 183, 185, 186, 184, 187, 187, 188, 189, 189, 190,
- 191, 192, 192, 194, 195, 193, 197, 196, 198, 196,
- 199, 199, 199, 200, 200, 201, 202, 202, 203, 203,
- 204, 204, 205, 205, 206, 206, 207, 207, 208, 208,
- 209, 209, 210, 210, 211, 211, 211, 211, 212, 213,
- 212, 214, 212, 215, 215, 216, 216, 217, 218, 217,
- 219, 220, 219, 221, 221, 222, 222, 223, 223, 224,
- 224, 224, 224, 224, 224, 224, 224, 225, 225, 225,
- 226, 226, 227, 227, 227, 227, 227, 227, 228, 228,
- 229, 229, 229, 230, 230, 230, 230, 231, 231, 233,
- 232, 232, 234, 235, 232, 236, 236, 237, 237, 238,
- 238, 239, 239, 240, 240, 240, 240, 240, 240, 241,
- 241, 241, 241, 242, 242, 243, 243, 244, 244, 246,
- 245, 245, 248, 247, 247, 247, 249, 247, 250, 247,
- 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
- 247, 247, 247, 247, 247, 247, 251, 247, 252, 247,
- 253, 247, 254, 247, 247, 247, 247, 247, 247, 247,
- 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
- 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
- 255, 256, 247, 247, 247, 247, 247, 247, 247, 247,
- 247, 247, 257, 247, 247, 247, 247, 247, 259, 258,
- 260, 258, 261, 258, 262, 258, 263, 264, 264, 266,
- 267, 265, 265, 268, 268, 269, 270, 270, 270, 271,
- 271, 272, 272, 272, 272, 272, 272, 272, 272, 273,
- 273, 273, 273, 273, 273, 274, 275, 275, 275, 275,
- 275, 275, 275, 276, 276, 277, 277, 278, 278, 278,
- 278, 279, 279, 280, 282, 281, 284, 283, 286, 287,
- 285, 285, 288, 288, 290, 289, 292, 291, 291, 293,
- 293, 294, 295, 295, 296, 296, 296, 297, 297, 297,
- 298, 298, 299, 299, 300, 301, 300, 302, 302, 302,
- 303, 303, 304, 304, 305, 305, 306, 307, 306, 306,
- 308, 308, 309, 309, 309, 309, 309, 309, 309, 309,
- 310, 310, 310, 310, 310, 310, 310, 310, 310, 310,
- 310, 310, 311, 312, 311, 311, 311, 311, 311, 313,
- 313, 313, 314, 314, 314, 314, 314, 314, 314, 315,
- 316, 315, 317
+ 0, 149, 150, 152, 151, 151, 153, 153, 153, 153,
+ 155, 154, 154, 156, 156, 156, 156, 157, 158, 159,
+ 160, 158, 161, 162, 158, 163, 164, 158, 165, 166,
+ 158, 167, 168, 169, 158, 170, 158, 158, 158, 158,
+ 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
+ 158, 171, 172, 158, 173, 174, 158, 175, 158, 158,
+ 176, 177, 178, 179, 180, 158, 158, 181, 181, 182,
+ 182, 184, 185, 183, 186, 186, 187, 188, 188, 189,
+ 190, 191, 191, 193, 194, 192, 196, 195, 197, 195,
+ 198, 198, 198, 199, 199, 200, 201, 201, 202, 202,
+ 203, 203, 204, 204, 205, 205, 206, 206, 207, 207,
+ 208, 208, 209, 209, 210, 210, 210, 210, 211, 212,
+ 211, 213, 211, 214, 214, 215, 215, 216, 217, 216,
+ 218, 219, 218, 220, 220, 221, 221, 222, 222, 223,
+ 223, 223, 223, 223, 223, 223, 223, 224, 224, 224,
+ 225, 225, 226, 226, 226, 226, 226, 226, 227, 227,
+ 228, 228, 228, 229, 229, 229, 229, 230, 230, 232,
+ 231, 231, 233, 234, 231, 235, 235, 236, 236, 237,
+ 237, 238, 238, 239, 239, 239, 239, 239, 239, 240,
+ 240, 240, 240, 241, 241, 242, 242, 243, 243, 245,
+ 244, 244, 247, 246, 246, 246, 248, 246, 249, 246,
+ 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
+ 246, 246, 246, 246, 246, 246, 250, 246, 251, 246,
+ 252, 246, 253, 246, 246, 246, 246, 246, 246, 246,
+ 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
+ 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
+ 254, 255, 246, 246, 246, 246, 246, 246, 246, 246,
+ 246, 246, 256, 246, 246, 246, 246, 246, 258, 257,
+ 259, 257, 260, 257, 261, 257, 262, 263, 263, 265,
+ 266, 264, 264, 267, 267, 268, 269, 269, 269, 270,
+ 270, 271, 271, 271, 271, 271, 271, 271, 271, 272,
+ 272, 272, 272, 272, 272, 273, 274, 274, 274, 274,
+ 274, 274, 275, 275, 276, 276, 277, 277, 277, 277,
+ 278, 278, 279, 281, 280, 283, 282, 285, 286, 284,
+ 284, 287, 287, 289, 288, 291, 290, 290, 292, 292,
+ 293, 294, 294, 295, 295, 295, 296, 296, 296, 297,
+ 297, 298, 298, 299, 300, 299, 301, 301, 301, 302,
+ 302, 303, 303, 304, 304, 305, 306, 305, 305, 307,
+ 307, 308, 308, 308, 308, 308, 308, 308, 308, 309,
+ 309, 309, 310, 311, 310, 310, 310, 310, 310, 312,
+ 312, 312, 313, 313, 313, 313, 313, 313, 313, 314,
+ 315, 314, 316
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
@@ -1103,14 +1095,13 @@ static const yytype_uint8 yyr2[] =
0, 6, 1, 2, 0, 2, 0, 2, 3, 0,
3, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 2, 2, 4, 1, 3, 1, 1, 1, 1,
- 3, 3, 3, 0, 2, 0, 1, 5, 3, 3,
- 1, 1, 1, 1, 0, 2, 0, 2, 0, 0,
- 7, 1, 2, 0, 0, 4, 0, 4, 0, 1,
- 2, 3, 1, 1, 1, 2, 1, 4, 4, 1,
- 1, 4, 0, 1, 1, 0, 2, 4, 4, 1,
- 1, 3, 1, 2, 3, 1, 1, 0, 5, 0,
- 0, 2, 5, 3, 3, 1, 6, 4, 4, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 3, 3, 0, 2, 0, 1, 5, 3, 3, 1,
+ 1, 1, 1, 0, 2, 0, 2, 0, 0, 7,
+ 1, 2, 0, 0, 4, 0, 4, 0, 1, 2,
+ 3, 1, 1, 1, 2, 1, 4, 4, 1, 1,
+ 4, 0, 1, 1, 0, 2, 4, 4, 1, 1,
+ 3, 1, 2, 3, 1, 1, 0, 5, 0, 0,
+ 2, 5, 3, 3, 1, 6, 4, 4, 2, 2,
2, 0, 1, 0, 5, 3, 3, 6, 3, 1,
1, 1, 4, 4, 2, 2, 4, 2, 2, 1,
0, 4, 3
@@ -1124,370 +1115,333 @@ static const yytype_uint16 yydefact[] =
5, 0, 3, 1, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 272, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 296, 0, 301,
- 302, 316, 317, 360, 47, 303, 0, 28, 0, 0,
+ 302, 316, 317, 359, 47, 303, 0, 28, 0, 0,
0, 57, 0, 0, 0, 83, 0, 60, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 90, 95,
- 0, 0, 306, 307, 308, 304, 305, 401, 0, 59,
- 12, 372, 401, 401, 401, 4, 6, 17, 7, 8,
- 79, 80, 0, 0, 332, 353, 0, 319, 274, 0,
- 331, 0, 333, 0, 356, 341, 352, 354, 359, 0,
- 263, 318, 418, 417, 0, 415, 414, 277, 246, 247,
- 248, 249, 0, 270, 269, 268, 267, 266, 265, 264,
- 286, 0, 225, 336, 223, 210, 287, 0, 208, 288,
- 292, 354, 0, 0, 271, 0, 278, 0, 196, 0,
- 25, 197, 0, 0, 0, 37, 0, 39, 0, 81,
- 41, 332, 0, 333, 0, 0, 77, 0, 0, 160,
- 0, 0, 159, 92, 91, 165, 0, 0, 0, 0,
- 0, 202, 380, 0, 0, 10, 0, 0, 0, 0,
- 93, 88, 0, 230, 0, 232, 260, 226, 228, 0,
+ 0, 0, 306, 307, 308, 304, 305, 391, 0, 59,
+ 12, 371, 391, 391, 4, 6, 17, 7, 8, 79,
+ 80, 0, 0, 331, 352, 0, 319, 274, 0, 330,
+ 0, 332, 0, 355, 340, 351, 353, 358, 0, 263,
+ 318, 408, 407, 0, 405, 404, 277, 246, 247, 248,
+ 249, 0, 270, 269, 268, 267, 266, 265, 264, 286,
+ 0, 225, 335, 223, 210, 287, 0, 208, 288, 292,
+ 353, 0, 0, 271, 0, 278, 0, 196, 0, 25,
+ 197, 0, 0, 0, 37, 0, 39, 0, 81, 41,
+ 331, 0, 332, 0, 0, 77, 0, 0, 160, 0,
+ 0, 159, 92, 91, 165, 0, 0, 0, 0, 0,
+ 202, 379, 0, 0, 10, 0, 0, 0, 93, 88,
+ 0, 230, 0, 232, 260, 226, 228, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 48, 224, 222,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 48,
- 224, 222, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 337, 284, 338, 362, 0, 373,
- 355, 0, 273, 0, 0, 299, 289, 355, 297, 0,
- 0, 151, 0, 46, 0, 0, 0, 198, 201, 332,
- 333, 0, 0, 38, 40, 82, 0, 42, 43, 12,
- 66, 0, 49, 0, 161, 333, 0, 44, 0, 0,
- 45, 0, 74, 76, 419, 0, 0, 0, 379, 0,
- 385, 0, 325, 396, 391, 402, 392, 394, 395, 393,
- 400, 322, 0, 0, 398, 399, 397, 390, 259, 18,
- 0, 0, 276, 320, 321, 0, 86, 96, 422, 351,
- 349, 0, 0, 234, 0, 0, 0, 0, 235, 237,
- 236, 251, 250, 253, 252, 254, 256, 257, 255, 245,
- 244, 239, 240, 238, 241, 242, 243, 258, 0, 204,
- 221, 220, 219, 218, 217, 216, 215, 214, 213, 212,
- 211, 151, 0, 363, 0, 0, 416, 0, 351, 151,
- 209, 0, 298, 19, 0, 0, 150, 332, 333, 195,
- 0, 0, 31, 199, 54, 51, 0, 0, 35, 84,
- 10, 78, 0, 158, 0, 0, 310, 0, 309, 166,
- 314, 163, 0, 0, 420, 412, 413, 9, 0, 376,
- 0, 375, 389, 334, 0, 275, 326, 381, 403, 0,
- 317, 0, 0, 0, 11, 13, 14, 15, 361, 286,
- 94, 98, 0, 0, 280, 282, 350, 231, 233, 0,
- 227, 229, 0, 205, 0, 370, 0, 365, 339, 364,
- 369, 357, 358, 0, 290, 22, 0, 154, 279, 0,
- 29, 26, 197, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 162, 311, 312, 0, 323, 0, 75, 50,
- 0, 377, 379, 0, 335, 0, 384, 0, 383, 0,
- 405, 0, 406, 408, 0, 0, 0, 97, 100, 168,
- 151, 151, 261, 206, 285, 0, 366, 348, 362, 0,
- 300, 294, 12, 20, 0, 332, 333, 0, 0, 0,
- 200, 102, 0, 102, 104, 112, 0, 12, 110, 58,
- 118, 118, 36, 147, 0, 315, 330, 0, 325, 164,
- 421, 379, 374, 0, 388, 387, 0, 409, 411, 410,
- 0, 0, 0, 99, 168, 0, 179, 0, 0, 0,
- 299, 371, 346, 343, 0, 0, 291, 10, 127, 157,
- 0, 12, 125, 27, 32, 0, 0, 105, 0, 0,
- 10, 118, 0, 118, 0, 148, 149, 0, 137, 0,
- 61, 0, 313, 326, 324, 0, 203, 0, 382, 404,
- 0, 16, 179, 101, 0, 183, 184, 185, 188, 187,
- 186, 178, 89, 167, 169, 0, 177, 181, 0, 281,
- 283, 262, 207, 151, 340, 367, 368, 0, 293, 130,
- 133, 0, 10, 197, 103, 55, 52, 113, 0, 0,
- 0, 0, 0, 0, 114, 0, 147, 0, 139, 0,
- 329, 328, 378, 386, 407, 87, 0, 0, 172, 182,
- 0, 171, 0, 0, 342, 295, 135, 0, 0, 21,
- 30, 0, 0, 0, 0, 111, 0, 116, 0, 123,
- 124, 121, 115, 12, 0, 140, 0, 62, 0, 0,
- 191, 0, 81, 0, 347, 344, 0, 0, 0, 0,
- 134, 126, 33, 12, 108, 56, 53, 117, 119, 12,
- 10, 0, 143, 0, 142, 0, 327, 194, 0, 0,
- 170, 0, 0, 348, 0, 12, 0, 0, 0, 10,
- 12, 10, 85, 144, 0, 141, 0, 192, 189, 173,
- 193, 345, 0, 10, 24, 128, 12, 106, 34, 0,
- 10, 0, 146, 63, 0, 0, 0, 0, 10, 109,
- 145, 0, 190, 147, 131, 129, 0, 12, 0, 12,
- 107, 10, 0, 10, 64, 175, 12, 174, 68, 10,
- 0, 65, 67, 69, 176, 0, 70, 71, 0, 0,
- 72, 0, 12, 10, 73
+ 0, 0, 336, 284, 337, 361, 0, 372, 354, 0,
+ 273, 0, 0, 299, 289, 354, 297, 0, 0, 151,
+ 0, 46, 0, 0, 0, 198, 201, 331, 332, 0,
+ 0, 38, 40, 82, 0, 42, 43, 12, 66, 0,
+ 49, 0, 161, 332, 0, 44, 0, 0, 45, 0,
+ 74, 76, 409, 0, 0, 0, 378, 0, 384, 0,
+ 324, 392, 390, 321, 0, 0, 389, 259, 18, 0,
+ 0, 276, 320, 0, 86, 96, 412, 350, 348, 0,
+ 0, 234, 0, 0, 0, 0, 235, 237, 236, 251,
+ 250, 253, 252, 254, 256, 257, 255, 245, 244, 239,
+ 240, 238, 241, 242, 243, 258, 0, 204, 221, 220,
+ 219, 218, 217, 216, 215, 214, 213, 212, 211, 151,
+ 0, 362, 0, 0, 406, 0, 350, 151, 209, 0,
+ 298, 19, 0, 0, 150, 331, 332, 195, 0, 0,
+ 31, 199, 54, 51, 0, 0, 35, 84, 10, 78,
+ 0, 158, 0, 0, 310, 0, 309, 166, 314, 163,
+ 0, 0, 410, 402, 403, 9, 0, 375, 0, 374,
+ 388, 333, 0, 275, 325, 380, 393, 0, 317, 0,
+ 0, 0, 11, 13, 14, 15, 360, 286, 94, 98,
+ 0, 0, 280, 282, 349, 231, 233, 0, 227, 229,
+ 0, 205, 0, 369, 0, 364, 338, 363, 368, 356,
+ 357, 0, 290, 22, 0, 154, 279, 0, 29, 26,
+ 197, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 162, 311, 312, 0, 322, 0, 75, 50, 0, 376,
+ 378, 0, 334, 0, 383, 0, 382, 0, 395, 0,
+ 396, 398, 0, 0, 0, 97, 100, 168, 151, 151,
+ 261, 206, 285, 0, 365, 347, 361, 0, 300, 294,
+ 12, 20, 0, 331, 332, 0, 0, 0, 200, 102,
+ 0, 102, 104, 112, 0, 12, 110, 58, 118, 118,
+ 36, 147, 0, 315, 329, 0, 324, 164, 411, 378,
+ 373, 0, 387, 386, 0, 399, 401, 400, 0, 0,
+ 0, 99, 168, 0, 179, 0, 0, 0, 299, 370,
+ 345, 342, 0, 0, 291, 10, 127, 157, 0, 12,
+ 125, 27, 32, 0, 0, 105, 0, 0, 10, 118,
+ 0, 118, 0, 148, 149, 0, 137, 0, 61, 0,
+ 313, 325, 323, 0, 203, 0, 381, 394, 0, 16,
+ 179, 101, 0, 183, 184, 185, 188, 187, 186, 178,
+ 89, 167, 169, 0, 177, 181, 0, 281, 283, 262,
+ 207, 151, 339, 366, 367, 0, 293, 130, 133, 0,
+ 10, 197, 103, 55, 52, 113, 0, 0, 0, 0,
+ 0, 0, 114, 0, 147, 0, 139, 0, 328, 327,
+ 377, 385, 397, 87, 0, 0, 172, 182, 0, 171,
+ 0, 0, 341, 295, 135, 0, 0, 21, 30, 0,
+ 0, 0, 0, 111, 0, 116, 0, 123, 124, 121,
+ 115, 12, 0, 140, 0, 62, 0, 0, 191, 0,
+ 81, 0, 346, 343, 0, 0, 0, 0, 134, 126,
+ 33, 12, 108, 56, 53, 117, 119, 12, 10, 0,
+ 143, 0, 142, 0, 326, 194, 0, 0, 170, 0,
+ 0, 347, 0, 12, 0, 0, 0, 10, 12, 10,
+ 85, 144, 0, 141, 0, 192, 189, 173, 193, 344,
+ 0, 10, 24, 128, 12, 106, 34, 0, 10, 0,
+ 146, 63, 0, 0, 0, 0, 10, 109, 145, 0,
+ 190, 147, 131, 129, 0, 12, 0, 12, 107, 10,
+ 0, 10, 64, 175, 12, 174, 68, 10, 0, 65,
+ 67, 69, 176, 0, 70, 71, 0, 0, 72, 0,
+ 12, 10, 73
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
- -1, 1, 2, 4, 75, 175, 300, 414, 694, 77,
- 446, 558, 502, 619, 245, 508, 139, 507, 452, 623,
- 718, 459, 455, 664, 454, 663, 143, 154, 639, 705,
- 751, 768, 771, 772, 773, 778, 781, 271, 272, 158,
- 78, 79, 256, 80, 149, 460, 81, 421, 307, 82,
- 306, 83, 423, 486, 487, 566, 513, 738, 695, 519,
- 377, 522, 572, 720, 699, 671, 563, 620, 747, 656,
- 759, 659, 688, 577, 578, 579, 365, 366, 161, 162,
- 166, 546, 603, 647, 682, 745, 767, 604, 605, 606,
- 607, 681, 608, 137, 246, 247, 453, 84, 278, 550,
- 235, 316, 317, 312, 314, 315, 549, 112, 85, 241,
- 490, 491, 351, 86, 128, 129, 361, 501, 556, 618,
- 134, 360, 87, 389, 390, 88, 527, 407, 528, 89,
- 90, 402, 474, 91, 224, 92, 352, 497, 614, 654,
- 713, 553, 613, 93, 94, 95, 96, 97, 98, 354,
- 438, 496, 439, 440, 99, 400, 401, 531, 281, 282,
- 173, 297, 479, 540, 100, 275, 470, 101
+ -1, 1, 2, 4, 74, 174, 289, 402, 682, 76,
+ 434, 546, 490, 607, 243, 496, 138, 495, 440, 611,
+ 706, 447, 443, 652, 442, 651, 142, 153, 627, 693,
+ 739, 756, 759, 760, 761, 766, 769, 269, 270, 157,
+ 77, 78, 254, 79, 148, 448, 80, 409, 295, 81,
+ 294, 82, 411, 474, 475, 554, 501, 726, 683, 507,
+ 365, 510, 560, 708, 687, 659, 551, 608, 735, 644,
+ 747, 647, 676, 565, 566, 567, 353, 354, 160, 161,
+ 165, 534, 591, 635, 670, 733, 755, 592, 593, 594,
+ 595, 669, 596, 136, 244, 245, 441, 83, 276, 538,
+ 233, 304, 305, 300, 302, 303, 537, 111, 84, 239,
+ 478, 479, 339, 85, 127, 128, 349, 489, 544, 606,
+ 133, 348, 86, 377, 378, 87, 515, 395, 516, 88,
+ 89, 390, 462, 90, 222, 91, 340, 485, 602, 642,
+ 701, 541, 601, 92, 93, 94, 95, 96, 97, 342,
+ 426, 484, 427, 428, 98, 388, 389, 519, 279, 280,
+ 172, 286, 467, 528, 99, 273, 458, 100
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
-#define YYPACT_NINF -445
+#define YYPACT_NINF -456
static const yytype_int16 yypact[] =
{
- -445, 51, 83, -445, 814, 3082, 3082, -115, 3082, 3082,
- 3082, 3082, 3082, 3082, 3082, -445, 3082, 3082, 3082, 3082,
- 3082, 3082, 3082, 15, 15, 3082, 28, -40, -20, -445,
- -445, 159, -445, -445, -445, -445, 3082, -445, -11, -8,
- 3, -445, 26, 1696, 1822, -445, 1948, -445, 3082, 24,
- -37, 22, 56, 53, 52, 54, 63, 120, -445, -445,
- 124, 127, -445, -445, -445, -445, -445, -445, 3082, -445,
- -445, -7, -445, -445, -445, -445, -445, -445, -445, -445,
- -445, -445, 119, 125, -445, -445, 130, -445, -445, 3335,
- -445, 246, 1209, 139, -445, 163, -445, -50, -445, -26,
- -445, -445, 2760, 2760, 3082, 2760, 2760, 3135, 64, 64,
- 254, -445, 3082, -445, -445, -445, -445, -445, -445, -445,
- 168, 171, -445, -445, -445, -445, 173, 175, -445, -445,
- 206, -46, -26, 2074, -445, 3082, -445, 5, 2760, 1570,
- -445, 3082, 3082, 194, 3082, -445, 3380, -445, 3421, 318,
- -445, 212, 2760, 579, 213, 3462, -445, 279, 226, -445,
- -21, 8, -445, -445, -445, 360, 10, 15, 15, 15,
- 233, -445, 2200, 547, 3503, 232, 3082, 830, 654, 956,
- 259, -445, 43, -445, 3082, -445, -445, -445, -445, 3082,
- 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082,
- 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 28, -445,
- -445, -445, 2326, 3082, 3082, 3082, 3082, 3082, 3082, 3082,
- 3082, 3082, 3082, 3082, -445, -445, -445, 3082, 3082, -7,
- -49, 3544, -445, 50, -14, 238, -445, -46, -445, 3585,
- 3626, 2452, 3082, -445, 297, 3082, 239, 375, 2760, 295,
- 723, 316, 3667, -445, -445, -445, 317, -445, -445, -445,
- -445, 265, -445, 3082, -445, -445, -37, -445, 1734, 325,
- -445, -1, -445, -445, -445, 20, 269, 270, -10, 15,
- 3872, 274, 403, -445, -445, 31, -445, -445, -445, -445,
- -445, -445, 3208, 15, -445, -445, -445, -445, -445, -445,
- 940, 1878, -445, -445, -445, 343, -445, 298, 277, 278,
- -46, -26, 3082, 3011, 3082, 3082, 3082, 3082, 3943, 1562,
- 1687, 1939, 1939, 1939, 1939, 718, 718, 718, 718, 358,
- 358, 64, 64, 64, 254, 254, 254, -445, -3, 3135,
- 3135, 3135, 3135, 3135, 3135, 3135, 3135, 3135, 3135, 3135,
- 3135, 2452, 25, 2760, 271, 2004, -445, 277, -445, 2452,
- -445, 25, -445, 393, 15, 281, 413, 36, 58, 2760,
- 283, 3708, -445, -445, -445, -445, 411, 40, -445, -445,
- 282, -445, 2130, -445, 1734, 1734, 290, 293, -445, -445,
- -445, 421, 15, 294, -445, -445, -445, -445, 300, -445,
- 41, -445, -445, -445, 2578, -445, 2704, -445, -445, 364,
- 376, 2256, 299, 301, -445, -445, -445, -445, -445, -445,
- -445, 319, 343, 302, -445, -445, -46, 2885, 3135, 2634,
- 4007, 4028, 28, -445, 303, -445, 3082, -445, -445, -41,
- -445, -445, -445, 305, -445, -445, 1570, -445, -445, 2830,
- -445, -445, 3082, 3082, 15, 14, 1734, 371, 1066, -16,
- 310, 350, -445, -445, -445, 382, 1734, 1734, -445, -445,
- 15, -445, -10, 442, -445, 15, 2760, 15, 3913, 33,
- -445, 3082, -445, -445, 315, 343, 321, 450, -445, -445,
- 2452, 2452, -445, -445, -445, 2382, -445, 326, 3082, 3082,
- -445, -445, -445, -445, 15, 45, 272, 3082, 1192, 327,
- 2760, 338, 15, 338, -445, -445, 448, -445, -445, -445,
- 329, 330, -445, 34, 328, -445, 346, 337, 471, -445,
- -445, -10, -445, 3082, -445, -445, 2956, -445, -445, -445,
- 331, 1753, 340, 450, -445, 343, 167, 344, 345, 3082,
- 238, -445, -445, -445, 339, 2508, 367, 257, -445, -445,
- 3749, -445, -445, -445, -445, 14, 349, -445, 351, 1734,
- 402, -445, 236, -445, 157, -445, -445, 352, 486, 103,
- -445, 1734, -445, 1734, -445, 46, 3135, 15, 2760, -445,
- 353, -445, 211, -445, 424, -445, -445, -445, -445, -445,
- -445, -445, -445, -445, -445, 399, 287, -445, 11, -445,
- -445, 3967, -445, 2452, 379, -445, -445, 25, -445, -445,
- 273, 361, 422, 3082, -445, -445, -445, -445, 362, 251,
- 372, 3082, -12, 160, -445, 366, 44, 440, 503, 343,
- -445, 396, -445, -445, -445, -445, 508, 452, -445, -445,
- 455, -445, 386, 25, -445, -445, 280, 383, 1570, -445,
- -445, 387, 389, 1318, 1318, -445, 390, -445, 3264, -445,
- -445, -445, -445, -445, 227, 518, 1734, -445, 1734, 1734,
- 520, 13, 318, 521, -445, -445, 395, 510, 469, 3082,
- -445, -445, -445, -445, -445, -445, -445, -445, -445, -445,
- 394, 466, 528, 1734, -445, 470, -445, -445, 1734, 473,
- -445, 476, 1734, 326, 3082, -445, 407, 3790, 1444, 457,
- -445, 108, -445, 537, 1734, -445, 410, -445, 539, -445,
- -445, -445, 3831, 485, -445, -445, -445, -445, -445, 414,
- 115, 1734, -445, -445, 1734, 423, 536, 1570, 482, -445,
- -445, 425, -445, 34, -445, -445, 427, -445, 430, -445,
- -445, 428, 223, 285, -445, -445, -445, -445, 474, 432,
- 434, -445, 474, -445, -445, 343, -445, -445, 504, 437,
- -445, 436, -445, 439, -445
+ -456, 63, 66, -456, 842, 2902, 2902, -68, 2902, 2902,
+ 2902, 2902, 2902, 2902, 2902, -456, 2902, 2902, 2902, 2902,
+ 2902, 2902, 2902, 25, 25, 2902, 28, -54, -52, -456,
+ -456, 45, -456, -456, -456, -456, 2902, -456, -50, 31,
+ 51, -456, 57, 1724, 1850, -456, 1976, -456, 2902, 12,
+ 49, 129, 139, 208, 119, 149, 161, 164, -456, -456,
+ 166, 174, -456, -456, -456, -456, -456, -456, 2902, -456,
+ -456, 179, -456, -456, -456, -456, -456, -456, -456, -456,
+ -456, 257, 266, -456, -456, 207, -456, -456, 3302, -456,
+ 189, 985, 210, -456, 232, -456, -33, -456, 99, -456,
+ -456, 3973, 3973, 2902, 3973, 3973, 2155, -456, -456, 302,
+ -456, 2902, -456, -456, -456, -456, -456, -456, -456, 213,
+ 216, -456, -456, -456, -456, 219, 220, -456, -456, 242,
+ -46, 99, 2102, -456, 2902, -456, -3, 3973, 1598, -456,
+ 2902, 2902, 221, 2902, -456, 3343, -456, 3384, 332, -456,
+ 222, 3973, 504, 223, 3425, -456, 286, 225, -456, -22,
+ 0, -456, -456, -456, 356, 4, 25, 25, 25, 233,
+ -456, 2202, -20, 3466, 229, 2902, 120, 52, 270, -456,
+ 29, -456, 2902, -456, -456, -456, -456, 2902, 2902, 2902,
+ 2902, 2902, 2902, 2902, 2902, 2902, 2902, 2902, 2902, 2902,
+ 2902, 2902, 2902, 2902, 2902, 2902, 28, -456, -456, -456,
+ 2302, 2902, 2902, 2902, 2902, 2902, 2902, 2902, 2902, 2902,
+ 2902, 2902, -456, -456, -456, 2902, 2902, 179, -5, 3507,
+ -456, 42, 122, 249, -456, -46, -456, 3548, 3589, 2402,
+ 2902, -456, 309, 2902, 248, 384, 3973, 303, 739, 323,
+ 3630, -456, -456, -456, 324, -456, -456, -456, -456, 258,
+ -456, 2902, -456, -456, 49, -456, 546, 325, -456, 10,
+ -456, -456, -456, 13, 260, 261, 41, 25, 3835, 263,
+ 394, 80, -456, -456, 3002, 25, -456, -456, -456, 968,
+ 1906, -456, -456, 335, -456, 289, 268, 269, -46, 99,
+ 2902, 4050, 2902, 2902, 2902, 2902, 1590, 1715, 1840, 1966,
+ 1966, 1966, 1966, 1085, 1085, 1085, 1085, 241, 241, 247,
+ 247, 247, 302, 302, 302, -456, -11, 2155, 2155, 2155,
+ 2155, 2155, 2155, 2155, 2155, 2155, 2155, 2155, 2155, 2402,
+ 22, 3973, 262, 2032, -456, 268, -456, 2402, -456, 22,
+ -456, 385, 25, 271, 406, 15, 60, 3973, 283, 3671,
+ -456, -456, -456, -456, 418, 17, -456, -456, 288, -456,
+ 3058, -456, 546, 546, 294, 298, -456, -456, -456, 421,
+ 25, 297, -456, -456, -456, -456, 301, -456, 36, -456,
+ -456, -456, 2502, -456, 2602, -456, -456, 380, 391, 3125,
+ 311, 317, -456, -456, -456, -456, -456, -456, -456, 337,
+ 335, 321, -456, -456, -46, 4013, 2155, 3932, 2354, 833,
+ 28, -456, 318, -456, 2902, -456, -456, -6, -456, -456,
+ -456, 327, -456, -456, 1598, -456, -456, 2702, -456, -456,
+ 2902, 2902, 25, 14, 546, 389, 1094, -15, 326, 364,
+ -456, -456, -456, 399, 546, 546, -456, -456, 25, -456,
+ 41, 458, -456, 25, 3973, 25, 3876, 95, -456, 2902,
+ -456, -456, 331, 335, 330, 470, -456, -456, 2402, 2402,
+ -456, -456, -456, 3176, -456, 339, 2902, 2902, -456, -456,
+ -456, -456, 25, 39, 362, 2902, 1220, 340, 3973, 360,
+ 25, 360, -456, -456, 472, -456, -456, -456, 344, 345,
+ -456, -12, 348, -456, 368, 350, 484, -456, -456, 41,
+ -456, 2902, -456, -456, 2802, -456, -456, -456, 346, 1780,
+ 351, 470, -456, 335, 319, 354, 361, 2902, 249, -456,
+ -456, -456, 349, 3217, 381, 206, -456, -456, 3712, -456,
+ -456, -456, -456, 14, 363, -456, 365, 546, 416, -456,
+ 224, -456, 112, -456, -456, 370, 505, 19, -456, 546,
+ -456, 546, -456, 40, 2155, 25, 3973, -456, 371, -456,
+ 501, -456, 438, -456, -456, -456, -456, -456, -456, -456,
+ -456, -456, -456, 417, 203, -456, 5, -456, -456, 2255,
+ -456, 2402, 409, -456, -456, 22, -456, -456, 202, 392,
+ 448, 2902, -456, -456, -456, -456, 393, 250, 395, 2902,
+ -16, 158, -456, 390, 34, 463, 526, 335, -456, 419,
+ -456, -456, -456, -456, 528, 471, -456, -456, 475, -456,
+ 402, 22, -456, -456, 231, 408, 1598, -456, -456, 407,
+ 410, 1346, 1346, -456, 411, -456, 3261, -456, -456, -456,
+ -456, -456, 30, 537, 546, -456, 546, 546, 544, 8,
+ 332, 547, -456, -456, 422, 535, 499, 2902, -456, -456,
+ -456, -456, -456, -456, -456, -456, -456, -456, 427, 500,
+ 559, 546, -456, 503, -456, -456, 546, 506, -456, 507,
+ 546, 339, 2902, -456, 432, 3753, 1472, 490, -456, 183,
+ -456, 567, 546, -456, 440, -456, 569, -456, -456, -456,
+ 3794, 515, -456, -456, -456, -456, -456, 444, 186, 546,
+ -456, -456, 546, 447, 564, 1598, 509, -456, -456, 449,
+ -456, -12, -456, -456, 453, -456, 450, -456, -456, 456,
+ 177, 267, -456, -456, -456, -456, 496, 469, 462, -456,
+ 496, -456, -456, 335, -456, -456, 541, 477, -456, 476,
+ -456, 479, -456
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -445, -445, -445, -445, -445, -175, -445, -445, 2, -445,
- -445, -445, -445, -445, -445, -445, -445, -445, -445, -445,
- -445, -445, -445, -445, -445, -445, -445, -445, -445, -445,
- -445, -445, -445, -445, -192, -445, -445, -445, 193, -445,
- 288, 304, -95, -445, -445, -445, -445, -445, -445, -445,
- -445, -445, -445, -445, 104, 77, 47, -445, -59, -445,
- -445, -445, -382, -445, -445, -62, -445, -445, -445, -445,
- -445, -445, -445, -144, -445, -25, -342, -445, -445, 356,
- -445, 66, -445, -445, -445, -445, -445, -445, -445, -445,
- 27, -445, -445, -445, -444, -445, -445, 16, -445, -445,
- -445, -445, -445, -445, -445, -445, -445, -445, -445, -445,
- -445, -445, -445, -23, -185, -445, -445, -445, -445, -445,
- -445, 67, 92, 99, -445, -445, -445, 91, -445, 21,
- 467, -306, -445, 347, -445, 222, -445, -445, -445, -445,
- -445, -87, -445, -178, -445, -445, -24, -4, -445, 132,
- -356, -445, -445, -445, -2, 97, 164, -445, -445, -445,
- 289, -445, -445, -445, -445, -445, -445, -445
+ -456, -456, -456, -456, -456, -149, -456, -456, 2, -456,
+ -456, -456, -456, -456, -456, -456, -456, -456, -456, -456,
+ -456, -456, -456, -456, -456, -456, -456, -456, -456, -456,
+ -456, -456, -456, -456, -140, -456, -456, -456, 244, -456,
+ 338, 341, -44, -456, -456, -456, -456, -456, -456, -456,
+ -456, -456, -456, -456, 155, 128, 78, -456, -19, -456,
+ -456, -456, -455, -456, -456, -21, -456, -456, -456, -456,
+ -456, -456, -456, -105, -456, 18, -330, -456, -456, 374,
+ -456, 109, -456, -456, -456, -456, -456, -456, -456, -456,
+ 50, -456, -456, -456, -436, -456, -456, -32, -456, -456,
+ -456, -456, -456, -456, -456, -456, -456, -456, -456, -456,
+ -456, -456, -456, -23, -170, -456, -456, -456, -456, -456,
+ -456, 105, -1, 111, -456, -456, -456, 133, -456, 21,
+ 491, -332, -456, 316, -456, 308, -456, -456, -456, -456,
+ -456, -49, -456, -161, -456, -456, -24, -4, -456, 165,
+ -342, -456, -456, -456, -2, 134, 194, -456, -456, -456,
+ 276, -456, -456, -456, -456, -456, -456, -456
};
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
positive, shift that token. If negative, reduce the rule which
number is the opposite. If zero, do what YYDEFACT says.
If YYTABLE_NINF, syntax error. */
-#define YYTABLE_NINF -351
+#define YYTABLE_NINF -350
static const yytype_int16 yytable[] =
{
- 121, 121, 130, 127, 309, 444, 76, 392, 509, 434,
- 520, 227, 227, 242, 669, 227, 266, 443, 269, 650,
- 498, 709, 131, 337, 132, 104, 102, 103, 394, 105,
- 106, 107, 108, 109, 110, 111, 159, 113, 114, 115,
- 116, 117, 118, 119, -152, 512, 125, 33, 457, 472,
- 120, 3, 33, -155, 472, 309, 358, 138, 447, 33,
- 432, 120, 151, 33, 146, 148, -153, 152, 120, 155,
- 33, 212, 213, 214, 215, 216, 217, 218, 219, 220,
- 221, 222, 223, -2, 380, 120, 120, 33, 33, 174,
- -349, -350, 408, 228, 228, 230, 435, 228, 33, 126,
- 133, 33, 499, 156, 537, 575, 538, 539, 160, 205,
- 206, 207, 398, 208, 308, 575, 33, -336, -336, 229,
- 135, 357, 263, 33, 71, 231, 165, 521, 237, 140,
- 670, 71, 141, 232, 637, 71, 176, 121, 163, 574,
- 393, 244, 71, 142, 121, 121, 121, 243, 547, 548,
- 267, 409, 270, 651, 239, 710, 240, 576, 249, 71,
- 71, 395, 248, 152, 157, 252, 144, 576, 436, 534,
- 71, 535, 164, 71, 437, -138, 638, -152, 310, 662,
- 311, 458, 473, 437, 130, 127, -155, 642, 71, 629,
- 180, 633, 167, 280, 168, 71, 181, 301, 559, -153,
- -122, -122, -122, 169, 131, 313, 132, -120, -120, -120,
- 318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
- 328, 329, 330, 331, 332, 333, 334, 335, 336, 310,
- 310, 311, 311, 339, 340, 341, 342, 343, 344, 345,
- 346, 347, 348, 349, 350, 123, 123, 493, 353, 355,
- 631, 632, -122, 631, 632, 121, 121, 367, 701, -120,
- 170, 655, 152, 369, 171, 594, 371, 172, 153, 182,
- 121, 652, 595, 596, 597, 598, 599, 600, 601, 225,
- -156, 643, 420, 226, 382, 212, 213, 214, 215, 216,
- 217, 218, 219, 220, 221, 222, 223, 685, -286, 136,
- 702, 634, 415, 208, 672, 210, 211, 426, 136, 594,
- 233, 602, -286, 411, 234, 121, 595, 596, 597, 598,
- 599, 600, 601, -23, -23, -23, 236, 557, 630, 631,
- 632, -336, -336, 427, 251, 428, 429, 430, 431, 657,
- 658, 121, 570, 666, 631, 632, 686, 687, 310, 255,
- 311, -132, -132, -132, 257, 645, 259, 310, 261, 311,
- 388, 177, 178, 179, 250, 765, 766, 367, 262, 121,
- 122, 124, 152, 268, 277, 367, 299, 305, 359, 370,
- 152, 372, 265, 373, -180, 374, 622, 376, 379, 273,
- 274, 276, 595, 596, 597, 598, 599, 600, 391, 488,
- 202, 203, 204, 205, 206, 207, 381, 208, 130, 127,
- 396, 406, 397, -156, 419, 405, 422, 424, 425, 445,
- 441, 449, 448, 450, 456, 476, 461, 478, 131, 465,
- 132, 121, 121, 466, 467, 480, 469, 481, 485, 437,
- 471, 484, 516, 483, 494, 489, 500, 121, 503, 121,
- 523, 524, 121, 525, 121, 533, 542, 495, 545, 565,
- 518, 569, 488, 368, 544, 505, 552, 581, 580, 564,
- 152, 571, 573, 248, 510, 437, 388, 388, 582, 583,
- 589, 121, 591, 463, 464, 609, 610, 617, 615, 121,
- 625, 628, 626, 635, 636, 646, 648, 644, 700, 653,
- 399, 403, 541, 660, 665, 661, 367, 367, 121, 673,
- 562, 152, 152, 675, 667, 412, 676, 678, 719, 353,
- 555, 679, 593, 689, 721, 680, 683, 684, 560, 691,
- 692, 703, 697, 708, 712, 714, 715, 716, 722, 723,
- 733, 724, 121, 726, 739, 740, 728, 729, 388, 734,
- 741, 743, 744, -136, 586, 515, 749, 588, 388, 388,
- 433, 748, 754, 753, 121, 526, 529, 756, 757, 760,
- 611, 762, 764, 368, 775, 770, 774, 779, 780, 782,
- 776, 368, 761, 784, 763, 468, 403, 711, 416, 543,
- 568, 769, 212, 213, 214, 215, 216, 217, 218, 219,
- 220, 221, 222, 223, 417, 696, 698, 783, 283, 758,
- 592, 674, 624, 310, 273, 311, 677, 612, 284, 584,
- 285, 286, 383, 287, 288, 289, 731, 264, 585, 367,
- 554, 0, 0, 649, 152, 0, 532, 0, -336, -336,
- 0, 0, 0, 0, 248, 0, 0, 0, 0, 310,
- 0, 311, 668, 0, 0, 0, 0, 0, 0, 0,
- 690, 388, 0, 0, 0, 0, 0, 290, 627, 0,
- 0, 506, 0, 388, 0, 388, 511, 514, 0, 0,
- 640, 0, 641, 291, 292, 293, 0, 0, 0, 0,
- 294, 295, 530, 0, 399, 0, 296, 403, 0, 403,
+ 120, 120, 129, 126, 497, 240, 75, 432, 264, 422,
+ 657, 508, 267, 638, 150, 225, 697, 431, 380, 297,
+ 435, 382, 130, -152, 131, 445, 101, 102, 225, 104,
+ 105, 106, 107, 108, 109, 110, 325, 112, 113, 114,
+ 115, 116, 117, 118, 460, 500, 124, -155, 460, 119,
+ 625, 33, 420, 281, 562, 486, 225, 137, 282, 563,
+ 119, 689, 33, 3, 145, 147, -2, 151, -153, 154,
+ 297, 346, 103, 210, 211, 212, 213, 214, 215, 216,
+ 217, 218, 219, 220, 221, 119, 132, 33, 134, 173,
+ 139, 155, 626, 423, 228, 33, 119, 226, 33, 125,
+ 296, 33, 33, 690, 617, 563, 621, -348, 368, 247,
+ 226, 564, 119, 345, 33, 33, 283, 284, 285, -335,
+ -335, 261, 158, 71, 229, 281, 658, 235, 509, -138,
+ 282, 522, 230, 523, 71, -349, 120, 487, 226, 241,
+ 242, 396, 265, 120, 120, 120, 268, 639, 535, 536,
+ 698, 381, 156, 237, 383, 238, -152, 564, 446, 71,
+ 547, 246, 151, 386, 250, 424, 525, 71, 526, 527,
+ 71, 140, 33, 71, 71, 650, 298, 461, 299, 425,
+ -155, 630, 129, 126, -286, 135, 71, 71, 425, 284,
+ 285, 141, 278, 281, 159, 33, 290, 143, 282, 292,
+ 397, -153, 130, 301, 131, 619, 620, 355, 306, 307,
+ 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
+ 318, 319, 320, 321, 322, 323, 324, 298, 298, 299,
+ 299, 327, 328, 329, 330, 331, 332, 333, 334, 335,
+ 336, 337, 338, 631, 227, 162, 341, 343, 208, 209,
+ 481, 619, 620, 120, 120, 163, 622, 284, 285, 166,
+ 151, 357, 120, 643, 359, 376, 291, 71, 645, 646,
+ 408, 640, -23, -23, -23, -122, -122, -122, -120, -120,
+ -120, 164, 370, 200, 201, 202, 203, 204, 205, 167,
+ 206, 403, 203, 204, 205, 414, 206, 674, 675, 673,
+ -180, 168, 660, 120, 169, 399, 170, 355, 583, 584,
+ 585, 586, 587, 588, 171, 355, 618, 619, 620, 753,
+ 754, 415, 175, 416, 417, 418, 419, -122, 178, 120,
+ -120, 122, 122, -132, -132, -132, 298, 179, 299, 121,
+ 123, 545, 654, 619, 620, 298, 180, 299, 176, 177,
+ 223, 206, 224, 135, 152, 231, 558, 120, -286, 232,
+ 151, 249, 234, 253, 255, 259, 257, 260, 151, 266,
+ -156, 376, 376, 288, 275, 210, 211, 212, 213, 214,
+ 215, 216, 217, 218, 219, 220, 221, 476, 293, 347,
+ 360, 358, 361, 362, 364, 367, 129, 126, 379, 369,
+ 610, 384, 394, 385, 393, 493, 407, 410, 412, 413,
+ 429, 433, 436, 464, 437, 466, 130, 582, 131, 120,
+ 120, -335, -335, 438, 583, 584, 585, 586, 587, 588,
+ 589, 444, 449, 453, 455, 120, 491, 120, 454, 457,
+ 120, 459, 120, 376, 425, 483, 355, 355, 506, 248,
+ 476, 468, 469, 376, 376, 471, 473, 472, 151, 482,
+ 504, 246, 498, 590, 477, 512, 511, 263, 488, 120,
+ 513, 521, 530, 532, 271, 272, 274, 120, 533, 540,
+ 425, 553, 552, 451, 452, 557, 559, 561, 568, 569,
+ 529, 570, 571, 579, 577, 597, 120, 603, 550, 151,
+ 151, 605, 598, -156, 613, 616, 614, 341, 543, 634,
+ 581, 623, 688, 624, 636, 632, 548, 210, 211, 212,
+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 641,
+ 120, 649, 707, 661, 648, 653, 663, 655, 709, 664,
+ 666, 667, 574, 672, 668, 576, 671, 356, 677, 679,
+ 691, 680, 120, 685, 721, 503, 376, 696, 599, 728,
+ 700, 703, 702, -335, -335, 514, 517, 704, 376, 355,
+ 376, 710, 712, 711, 722, 736, 714, 727, 717, 716,
+ 729, 731, 732, -136, 387, 391, 737, 741, 372, 373,
+ 742, 750, 745, 400, 744, 748, 749, 758, 751, 582,
+ 752, 298, 763, 299, 665, 757, 583, 584, 585, 586,
+ 587, 588, 589, 762, 767, 29, 30, 374, 768, 770,
+ 764, 771, 151, 772, 456, 35, 699, 404, 531, 556,
+ 405, 612, 246, 684, 421, 686, 746, 298, 371, 299,
+ 656, 580, 662, 600, 637, 633, 256, 356, 678, 572,
+ 262, 542, 719, 573, 520, 356, 0, 0, 0, 0,
+ 391, 0, 0, 376, 0, 376, 376, 0, 615, 375,
+ 62, 63, 64, 65, 66, 0, 0, 0, 0, 0,
+ 628, 0, 629, 0, 0, 0, 0, 0, 271, 0,
+ 376, 0, 0, 0, 0, 376, 0, 0, 705, 376,
+ 0, 0, 0, 0, 0, 0, 0, 0, 725, 0,
+ 0, 376, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 720, 0, 0, 0, 0, 376, 0,
+ 0, 376, 0, 0, 0, 0, 0, 743, 0, 0,
+ 765, 0, 0, 0, 0, 494, 0, 0, 0, 0,
+ 499, 502, 210, 211, 212, 213, 214, 215, 216, 217,
+ 218, 219, 220, 221, 0, 0, 518, 0, 387, 0,
+ 0, 391, 0, 391, 0, 692, 0, 694, 695, 0,
+ 0, 0, 0, 0, 0, 0, 356, 356, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, -335, -335,
+ 391, 0, 713, 0, 0, 0, 0, 715, 555, 0,
+ 0, 718, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 730, 0, 0, 0, 387, 0, 363,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 717, 0, 368, 368, 0, 283, 0, 0, 0, 0,
- 737, 258, 0, 0, 0, 284, 403, 285, 286, 0,
- 287, 288, 289, 0, 567, 732, 212, 213, 214, 215,
- 216, 217, 218, 219, 220, 221, 222, 223, 0, 755,
- 0, 0, 777, 399, -351, -351, -351, -351, 200, 201,
- 202, 203, 204, 205, 206, 207, 0, 208, 388, 0,
- 388, 388, 0, 0, 290, 704, 0, 706, 707, 0,
- 0, 0, -336, -336, 0, 0, 0, 514, 0, 0,
- 0, 292, 293, 0, 0, 388, 0, 294, 295, 0,
- 388, 303, 725, 296, 388, 0, 0, 727, 0, 403,
- 0, 730, 0, 375, 0, 0, 388, 5, 6, 7,
- 8, 9, 0, 742, 0, 0, 10, 0, 0, 0,
- 0, 0, 0, 388, 0, 368, 388, 0, 0, 0,
- 750, 0, 0, 752, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 11, 12, 0, 0,
- 0, 0, 13, 0, 14, 15, 16, 17, 18, 19,
- 20, 21, 22, 23, 24, 0, 25, 26, 27, 28,
- 0, 0, 0, 29, 30, 31, 32, 33, 0, 34,
- 0, 283, 0, 35, 36, 37, 38, 0, 39, 0,
- 40, 284, 41, 285, 286, 42, 287, 288, 289, 43,
- 44, 45, 0, 46, 47, 0, 48, 49, 50, 0,
- 0, 0, 51, 52, 53, 0, 54, 55, 56, 57,
- 58, 59, 0, 0, 0, 0, 60, 61, 62, 63,
- 64, 65, 66, 5, 6, 7, 8, 9, 0, 67,
- 290, 0, 10, 0, 68, 0, 69, 70, 0, 71,
- 72, 73, 74, 0, 0, 0, 0, 292, 293, 0,
- 0, 0, 0, 294, 295, 0, 302, 0, 0, 296,
- 0, 0, 11, 12, 0, 0, 0, 0, 13, 0,
- 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
- 24, 0, 25, 26, 27, 28, 0, 0, 0, 29,
- 30, 31, 32, 33, 0, 34, 0, 283, 0, 35,
- 36, 37, 38, 0, 39, 0, 40, 284, 41, 285,
- 286, 42, 287, 288, 289, 43, 44, 45, 0, 46,
- 47, 0, 48, 49, 50, 0, 0, 0, 51, 52,
- 53, 0, 54, 55, 56, 413, 58, 59, 0, 0,
- 0, 0, 60, 61, 62, 63, 64, 65, 66, 5,
- 6, 7, 8, 9, 0, 67, 290, 0, 10, 0,
- 68, 0, 69, 70, 0, 71, 72, 73, 74, 0,
- 0, 0, 517, 292, 293, 0, 0, 0, 0, 294,
- 295, 0, 0, 0, 304, 296, 0, 0, 11, 12,
- 0, 0, 0, 0, 13, 0, 14, 15, 16, 17,
- 18, 19, 20, 21, 22, 23, 24, 0, 25, 26,
- 27, 28, 0, 0, 0, 29, 30, 31, 32, 33,
- 0, 34, 0, 0, 0, 35, 36, 37, 38, 0,
- 39, 0, 40, 0, 41, 0, 0, 42, 0, 0,
- 0, 43, 44, 0, 0, 46, 47, 0, 48, 49,
- 50, 0, 0, 0, 0, 0, 53, 0, 54, 55,
- 56, 0, 0, 0, 0, 0, 0, 0, 60, 61,
- 62, 63, 64, 65, 66, 5, 6, 7, 8, 9,
- 0, 67, 0, 0, 10, 0, 68, 0, 69, 70,
- 0, 71, 72, 73, 74, 0, 0, 0, 561, 0,
- 0, 0, 212, 213, 214, 215, 216, 217, 218, 219,
- 220, 221, 222, 223, 11, 12, 0, 0, 0, 0,
+ 738, 0, 0, 740, 0, 5, 6, 7, 8, 9,
+ 0, 0, 0, 0, 10, 0, 0, 0, 0, 0,
+ 0, 502, 187, 188, 189, 190, 191, 192, 193, 194,
+ 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
+ 205, 0, 206, 391, 11, 12, 0, 0, 0, 0,
13, 0, 14, 15, 16, 17, 18, 19, 20, 21,
- 22, 23, 24, 0, 25, 26, 27, 28, 0, 0,
- 0, 29, 30, 31, 32, 33, 0, 34, -336, -336,
+ 22, 23, 24, 0, 25, 26, 27, 28, 0, 356,
+ 0, 29, 30, 31, 32, 33, 0, 34, 0, 0,
0, 35, 36, 37, 38, 0, 39, 0, 40, 0,
- 41, 0, 0, 42, 0, 0, 0, 43, 44, 0,
+ 41, 0, 0, 42, 0, 0, 0, 43, 44, 45,
0, 46, 47, 0, 48, 49, 50, 0, 0, 0,
- 0, 0, 53, 0, 54, 55, 56, 0, 0, 0,
+ 51, 52, 53, 0, 54, 55, 56, 57, 58, 59,
0, 0, 0, 0, 60, 61, 62, 63, 64, 65,
66, 5, 6, 7, 8, 9, 0, 67, 0, 0,
10, 0, 68, 0, 69, 70, 0, 71, 72, 73,
- 74, 0, 0, 0, 693, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 210, 211,
+ 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
11, 12, 0, 0, 0, 0, 13, 0, 14, 15,
16, 17, 18, 19, 20, 21, 22, 23, 24, 0,
25, 26, 27, 28, 0, 0, 0, 29, 30, 31,
- 32, 33, 0, 34, 0, 0, 0, 35, 36, 37,
+ 32, 33, 0, 34, -335, -335, 0, 35, 36, 37,
38, 0, 39, 0, 40, 0, 41, 0, 0, 42,
- 0, 0, 0, 43, 44, 0, 0, 46, 47, 0,
- 48, 49, 50, 0, 0, 0, 0, 0, 53, 0,
- 54, 55, 56, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 43, 44, 45, 0, 46, 47, 0,
+ 48, 49, 50, 0, 0, 0, 51, 52, 53, 0,
+ 54, 55, 56, 401, 58, 59, 0, 0, 0, 0,
60, 61, 62, 63, 64, 65, 66, 5, 6, 7,
8, 9, 0, 67, 0, 0, 10, 0, 68, 0,
- 69, 70, 0, 71, 72, 73, 74, 0, 0, 0,
- 736, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 11, 12, 0, 0,
+ 69, 70, 0, 71, 72, 73, 0, 0, 0, 0,
+ 505, -350, -350, -350, -350, 198, 199, 200, 201, 202,
+ 203, 204, 205, 0, 206, 0, 11, 12, 0, 0,
0, 0, 13, 0, 14, 15, 16, 17, 18, 19,
20, 21, 22, 23, 24, 0, 25, 26, 27, 28,
0, 0, 0, 29, 30, 31, 32, 33, 0, 34,
@@ -1498,9 +1452,9 @@ static const yytype_int16 yytable[] =
0, 0, 0, 0, 0, 0, 60, 61, 62, 63,
64, 65, 66, 5, 6, 7, 8, 9, 0, 67,
0, 0, 10, 0, 68, 0, 69, 70, 0, 71,
- 72, 73, 74, 191, 192, 193, 194, 195, 196, 197,
- 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
- 0, 208, 11, 12, 0, 0, 0, 0, 13, 0,
+ 72, 73, 0, 0, 0, 0, 549, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 11, 12, 0, 0, 0, 0, 13, 0,
14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
24, 0, 25, 26, 27, 28, 0, 0, 0, 29,
30, 31, 32, 33, 0, 34, 0, 0, 0, 35,
@@ -1510,396 +1464,398 @@ static const yytype_int16 yytable[] =
53, 0, 54, 55, 56, 0, 0, 0, 0, 0,
0, 0, 60, 61, 62, 63, 64, 65, 66, 5,
6, 7, 8, 9, 0, 67, 0, 0, 10, 0,
- 68, 0, 69, 70, 0, 71, 72, 73, 74, 192,
- 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
- 203, 204, 205, 206, 207, 0, 208, 0, 11, 12,
- 0, 0, 0, 0, 13, 0, 14, 15, 16, 17,
- 18, 19, 20, 21, 22, 23, 24, 0, 25, 26,
- 27, 0, 183, 184, 185, 29, 30, 31, 32, 33,
- 0, 0, 0, 0, 0, 35, 384, 385, 186, 0,
- 187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
- 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
- 207, 0, 208, 29, 30, 386, 0, 0, 0, 55,
- 56, 0, 0, 35, 0, 0, 0, 0, 60, 61,
- 62, 63, 64, 65, 66, 5, 6, 7, 8, 9,
- 0, 67, 0, 0, 10, 0, 68, 0, 145, 0,
- 0, 71, 72, 73, 74, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 387, 62, 63,
- 64, 65, 66, 0, 11, 12, 0, 0, 0, 0,
- 13, 0, 14, 15, 16, 17, 18, 19, 20, 21,
- 22, 23, 24, 0, 25, 26, 27, 183, 184, 185,
- 0, 29, 30, 31, 32, 33, 0, 0, 0, 0,
- 0, 35, 590, 186, 0, 187, 188, 189, 190, 191,
- 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
- 202, 203, 204, 205, 206, 207, 0, 208, 0, 0,
- 0, 0, 0, 0, 0, 55, 56, 0, 0, 0,
- 0, 0, 0, 0, 60, 61, 62, 63, 64, 65,
- 66, 5, 6, 7, 8, 9, 0, 67, 0, 0,
- 10, 0, 68, 0, 147, 0, 0, 71, 72, 73,
- 74, -351, -351, -351, -351, 196, 197, 198, 199, 200,
- 201, 202, 203, 204, 205, 206, 207, 0, 208, 0,
- 11, 12, 0, 0, 0, 0, 13, 0, 14, 15,
- 16, 17, 18, 19, 20, 21, 22, 23, 24, 0,
- 25, 26, 27, 183, 184, 185, 0, 29, 30, 31,
- 32, 33, 418, 0, 0, 0, 0, 35, 0, 186,
- 0, 187, 188, 189, 190, 191, 192, 193, 194, 195,
- 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
- 206, 207, 0, 208, 0, 0, 0, 0, 0, 0,
- 0, 55, 56, 0, 0, 0, 0, 0, 0, 0,
- 60, 61, 62, 63, 64, 65, 66, 5, 6, 7,
- 8, 9, 0, 67, 0, 0, 10, 0, 68, 0,
- 150, 0, 0, 71, 72, 73, 74, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 11, 12, 0, 0,
- 0, 0, 13, 0, 14, 15, 16, 17, 18, 19,
- 20, 21, 22, 23, 24, 0, 25, 26, 27, 183,
- 184, 185, 0, 29, 30, 31, 32, 33, 442, 0,
- 0, 0, 0, 35, 0, 186, 0, 187, 188, 189,
- 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
- 200, 201, 202, 203, 204, 205, 206, 207, 0, 208,
- 0, 0, 0, 0, 0, 0, 0, 55, 56, 0,
- 0, 0, 0, 0, 0, 0, 60, 61, 62, 63,
- 64, 65, 66, 5, 6, 7, 8, 9, 0, 67,
- 0, 0, 10, 0, 68, 238, 0, 0, 0, 71,
- 72, 73, 74, 0, 0, 0, 0, 0, 0, 0,
- 0, 279, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 11, 12, 0, 0, 0, 0, 13, 0,
- 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
- 24, 0, 25, 26, 27, 183, 184, 185, 0, 29,
- 30, 31, 32, 33, 462, 0, 0, 0, 0, 35,
- 0, 186, 0, 187, 188, 189, 190, 191, 192, 193,
- 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
- 204, 205, 206, 207, 0, 208, 0, 0, 0, 0,
- 0, 0, 0, 55, 56, 0, 0, 0, 0, 0,
- 0, 0, 60, 61, 62, 63, 64, 65, 66, 5,
- 6, 7, 8, 9, 0, 67, 0, 0, 10, 0,
- 68, 0, 0, 0, 0, 71, 72, 73, 74, 0,
- 0, 0, 0, 0, 0, 0, 0, 338, 0, 0,
+ 68, 0, 69, 70, 0, 71, 72, 73, 0, 0,
+ 0, 0, 681, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 11, 12,
0, 0, 0, 0, 13, 0, 14, 15, 16, 17,
18, 19, 20, 21, 22, 23, 24, 0, 25, 26,
- 27, 183, 184, 185, 0, 29, 30, 31, 32, 33,
- 482, 0, 0, 0, 0, 35, 0, 186, 0, 187,
- 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
- 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
- 0, 208, 0, 0, 0, 0, 0, 0, 0, 55,
+ 27, 28, 0, 0, 0, 29, 30, 31, 32, 33,
+ 0, 34, 0, 0, 0, 35, 36, 37, 38, 0,
+ 39, 0, 40, 0, 41, 0, 0, 42, 0, 0,
+ 0, 43, 44, 0, 0, 46, 47, 0, 48, 49,
+ 50, 0, 0, 0, 0, 0, 53, 0, 54, 55,
56, 0, 0, 0, 0, 0, 0, 0, 60, 61,
62, 63, 64, 65, 66, 5, 6, 7, 8, 9,
- 0, 67, 0, 0, 10, 0, 68, 0, 0, 0,
- 0, 71, 72, 73, 74, 0, 0, 0, 0, 0,
- 0, 0, 0, 364, 0, 0, 0, 0, 0, 0,
+ 0, 67, 0, 0, 10, 0, 68, 0, 69, 70,
+ 0, 71, 72, 73, 0, 0, 0, 0, 724, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 11, 12, 0, 0, 0, 0,
13, 0, 14, 15, 16, 17, 18, 19, 20, 21,
- 22, 23, 24, 0, 25, 26, 27, 183, 184, 185,
- 0, 29, 30, 31, 32, 33, 551, 0, 0, 0,
- 0, 35, 0, 186, 0, 187, 188, 189, 190, 191,
- 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
- 202, 203, 204, 205, 206, 207, 0, 208, 0, 0,
- 0, 0, 0, 0, 0, 55, 56, 0, 0, 0,
+ 22, 23, 24, 0, 25, 26, 27, 28, 0, 0,
+ 0, 29, 30, 31, 32, 33, 0, 34, 0, 0,
+ 0, 35, 36, 37, 38, 0, 39, 0, 40, 0,
+ 41, 0, 0, 42, 0, 0, 0, 43, 44, 0,
+ 0, 46, 47, 0, 48, 49, 50, 0, 0, 0,
+ 0, 0, 53, 0, 54, 55, 56, 0, 0, 0,
0, 0, 0, 0, 60, 61, 62, 63, 64, 65,
66, 5, 6, 7, 8, 9, 0, 67, 0, 0,
- 10, 0, 68, 0, 0, 0, 0, 71, 72, 73,
- 74, 0, 0, 0, 0, 0, 0, 0, 0, 475,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 10, 0, 68, 0, 69, 70, 0, 71, 72, 73,
+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
+ 198, 199, 200, 201, 202, 203, 204, 205, 0, 206,
11, 12, 0, 0, 0, 0, 13, 0, 14, 15,
16, 17, 18, 19, 20, 21, 22, 23, 24, 0,
- 25, 26, 27, 183, 184, 185, 0, 29, 30, 31,
- 32, 33, 616, 0, 0, 0, 0, 35, 0, 186,
- 492, 187, 188, 189, 190, 191, 192, 193, 194, 195,
- 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
- 206, 207, 0, 208, 0, 0, 0, 0, 0, 0,
- 0, 55, 56, 0, 0, 0, 0, 0, 0, 0,
+ 25, 26, 27, 28, 0, 0, 0, 29, 30, 31,
+ 32, 33, 0, 34, 0, 0, 0, 35, 36, 37,
+ 38, 0, 39, 0, 40, 0, 41, 0, 0, 42,
+ 0, 0, 0, 43, 44, 0, 0, 46, 47, 0,
+ 48, 49, 50, 0, 0, 0, 0, 0, 53, 0,
+ 54, 55, 56, 0, 0, 0, 0, 0, 0, 0,
60, 61, 62, 63, 64, 65, 66, 5, 6, 7,
8, 9, 0, 67, 0, 0, 10, 0, 68, 0,
- 0, 0, 0, 71, 72, 73, 74, 0, 0, 0,
- 0, 0, 0, 0, 0, 477, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 11, 12, 0, 0,
+ 69, 70, 0, 71, 72, 73, 189, 190, 191, 192,
+ 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
+ 203, 204, 205, 0, 206, 0, 11, 12, 0, 0,
0, 0, 13, 0, 14, 15, 16, 17, 18, 19,
- 20, 21, 22, 23, 24, 0, 25, 26, 27, 183,
- 184, 185, 0, 29, 30, 31, 32, 33, 0, 0,
- 0, 0, 0, 35, 0, 186, 0, 187, 188, 189,
- 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
- 200, 201, 202, 203, 204, 205, 206, 207, 0, 208,
+ 20, 21, 22, 23, 24, 0, 25, 26, 27, 181,
+ 182, 183, 0, 29, 30, 31, 32, 33, 0, 0,
+ 0, 0, 0, 35, 0, 184, 0, 185, 186, 187,
+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
+ 198, 199, 200, 201, 202, 203, 204, 205, 0, 206,
0, 0, 0, 0, 0, 0, 0, 55, 56, 0,
0, 0, 0, 0, 0, 0, 60, 61, 62, 63,
64, 65, 66, 5, 6, 7, 8, 9, 0, 67,
- 0, 0, 10, 0, 68, 0, 0, 0, 0, 71,
- 72, 73, 74, 0, 0, 0, 0, 0, 0, 0,
- 0, 504, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 10, 0, 68, 0, 144, 0, 0, 71,
+ 72, 73, 190, 191, 192, 193, 194, 195, 196, 197,
+ 198, 199, 200, 201, 202, 203, 204, 205, 0, 206,
0, 0, 11, 12, 0, 0, 0, 0, 13, 0,
14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
- 24, 0, 25, 26, 27, 184, 185, 0, 0, 29,
- 30, 31, 32, 33, 0, 0, 0, 0, 0, 35,
- 186, 0, 187, 188, 189, 190, 191, 192, 193, 194,
- 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
- 205, 206, 207, 0, 208, 0, 0, 0, 0, 0,
+ 24, 0, 25, 26, 27, 181, 182, 183, 0, 29,
+ 30, 31, 32, 33, 0, 0, 0, 0, 578, 35,
+ 0, 184, 0, 185, 186, 187, 188, 189, 190, 191,
+ 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
+ 202, 203, 204, 205, 0, 206, 0, 0, 0, 0,
0, 0, 0, 55, 56, 0, 0, 0, 0, 0,
0, 0, 60, 61, 62, 63, 64, 65, 66, 5,
6, 7, 8, 9, 0, 67, 0, 0, 10, 0,
- 68, 0, 0, 0, 0, 71, 72, 73, 74, 0,
- 0, 0, 0, 0, 0, 0, 0, 587, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 11, 12,
+ 68, 0, 146, 0, 0, 71, 72, 73, -350, -350,
+ -350, -350, 194, 195, 196, 197, 198, 199, 200, 201,
+ 202, 203, 204, 205, 0, 206, 0, 0, 11, 12,
0, 0, 0, 0, 13, 0, 14, 15, 16, 17,
18, 19, 20, 21, 22, 23, 24, 0, 25, 26,
- 27, 0, 185, 0, 0, 29, 30, 31, 32, 33,
- 0, 0, 0, 0, 0, 35, 186, 0, 187, 188,
- 189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
- 199, 200, 201, 202, 203, 204, 205, 206, 207, 0,
- 208, 0, 0, 0, 0, 0, 0, 0, 0, 55,
+ 27, 181, 182, 183, 0, 29, 30, 31, 32, 33,
+ 406, 0, 0, 0, 0, 35, 0, 184, 0, 185,
+ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
+ 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
+ 0, 206, 0, 0, 0, 0, 0, 0, 0, 55,
56, 0, 0, 0, 0, 0, 0, 0, 60, 61,
62, 63, 64, 65, 66, 5, 6, 7, 8, 9,
- 0, 67, 0, 0, 10, 0, 68, 0, 0, 0,
- 0, 71, 72, 73, 74, 0, 0, 0, 0, 0,
+ 0, 67, 0, 0, 10, 0, 68, 0, 149, 0,
+ 0, 71, 72, 73, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 11, 12, 0, 0, 0, 0,
13, 0, 14, 15, 16, 17, 18, 19, 20, 21,
22, 23, 24, 0, 25, 26, 27, 0, 0, 0,
+ 0, 29, 30, 31, 32, 33, 430, 0, 0, 0,
+ 184, 35, 185, 186, 187, 188, 189, 190, 191, 192,
+ 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
+ 203, 204, 205, 0, 206, 5, 6, 7, 8, 9,
+ 0, 0, 0, 0, 10, 55, 56, 0, 0, 0,
+ 0, 0, 0, 0, 60, 61, 62, 63, 64, 65,
+ 66, 0, 0, 277, 0, 0, 0, 67, 0, 0,
+ 0, 0, 68, 236, 11, 12, 0, 71, 72, 73,
+ 13, 0, 14, 15, 16, 17, 18, 19, 20, 21,
+ 22, 23, 24, 0, 25, 26, 27, 0, 0, 0,
0, 29, 30, 31, 32, 33, 0, 0, 0, 0,
- 186, 35, 187, 188, 189, 190, 191, 192, 193, 194,
- 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
- 205, 206, 207, 0, 208, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 55, 56, 0, 0, 0,
+ 0, 35, 185, 186, 187, 188, 189, 190, 191, 192,
+ 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
+ 203, 204, 205, 0, 206, 5, 6, 7, 8, 9,
+ 0, 0, 0, 0, 10, 55, 56, 0, 0, 0,
0, 0, 0, 0, 60, 61, 62, 63, 64, 65,
- 66, 5, 6, 7, 8, 9, 0, 67, 0, 0,
- 10, 0, 68, 0, 0, 0, 0, 71, 72, 73,
- 74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 66, 0, 0, 326, 0, 0, 0, 67, 0, 0,
+ 0, 0, 68, 0, 11, 12, 0, 71, 72, 73,
+ 13, 0, 14, 15, 16, 17, 18, 19, 20, 21,
+ 22, 23, 24, 0, 25, 26, 27, 0, 0, 0,
+ 0, 29, 30, 31, 32, 33, 0, 0, 0, 0,
+ 0, 35, 186, 187, 188, 189, 190, 191, 192, 193,
+ 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
+ 204, 205, 0, 206, 0, 5, 6, 7, 8, 9,
+ 0, 0, 0, 0, 10, 55, 56, 0, 0, 0,
+ 0, 0, 0, 0, 60, 61, 62, 63, 64, 65,
+ 66, 0, 0, 352, 0, 0, 0, 67, 0, 0,
+ 0, 0, 68, 0, 11, 12, 0, 71, 72, 73,
+ 13, 0, 14, 15, 16, 17, 18, 19, 20, 21,
+ 22, 23, 24, 0, 25, 26, 27, 0, 0, 0,
+ 0, 29, 30, 31, 32, 33, 0, 0, 0, 0,
+ 0, 35, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 11, 12, 0, 0, 0, 0, 13, 0, 14, 15,
- 16, 17, 18, 19, 20, 21, 22, 23, 24, 0,
- 25, 26, 27, 183, 184, 185, 0, 29, 30, 31,
- 410, 33, 0, 0, 0, 0, 0, 35, 0, 186,
- 669, 187, 188, 189, 190, 191, 192, 193, 194, 195,
- 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
- 206, 207, 0, 208, 0, 0, 0, 0, 0, 0,
- 0, 55, 56, 0, 0, 0, 0, 0, 0, 0,
- 60, 61, 62, 63, 64, 65, 66, 0, 0, 0,
- 0, 0, 0, 67, 183, 184, 185, 0, 68, 0,
- 0, 0, 0, 71, 72, 73, 74, 0, 0, 0,
- 186, 0, 187, 188, 189, 190, 191, 192, 193, 194,
- 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
- 205, 206, 207, 0, 208, 0, 0, 0, 0, 183,
- 184, 185, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 186, 670, 187, 188, 189,
+ 0, 0, 0, 0, 0, 5, 6, 7, 8, 9,
+ 0, 0, 0, 0, 10, 55, 56, 0, 0, 0,
+ 0, 0, 0, 0, 60, 61, 62, 63, 64, 65,
+ 66, 0, 0, 463, 0, 0, 0, 67, 0, 0,
+ 0, 0, 68, 0, 11, 12, 0, 71, 72, 73,
+ 13, 0, 14, 15, 16, 17, 18, 19, 20, 21,
+ 22, 23, 24, 0, 25, 26, 27, 0, 0, 0,
+ 0, 29, 30, 31, 32, 33, 0, 0, 0, 0,
+ 0, 35, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 5, 6, 7, 8, 9,
+ 0, 0, 0, 0, 10, 55, 56, 0, 0, 0,
+ 0, 0, 0, 0, 60, 61, 62, 63, 64, 65,
+ 66, 0, 0, 465, 0, 0, 0, 67, 0, 0,
+ 0, 0, 68, 0, 11, 12, 0, 71, 72, 73,
+ 13, 0, 14, 15, 16, 17, 18, 19, 20, 21,
+ 22, 23, 24, 0, 25, 26, 27, 0, 0, 0,
+ 0, 29, 30, 31, 32, 33, 0, 0, 0, 0,
+ 0, 35, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 5, 6, 7, 8, 9,
+ 0, 0, 0, 0, 10, 55, 56, 0, 0, 0,
+ 0, 0, 0, 0, 60, 61, 62, 63, 64, 65,
+ 66, 0, 0, 492, 0, 0, 0, 67, 0, 0,
+ 0, 0, 68, 0, 11, 12, 0, 71, 72, 73,
+ 13, 0, 14, 15, 16, 17, 18, 19, 20, 21,
+ 22, 23, 24, 0, 25, 26, 27, 0, 0, 0,
+ 0, 29, 30, 31, 32, 33, 0, 0, 0, 0,
+ 0, 35, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 5, 6, 7, 8, 9,
+ 0, 0, 0, 0, 10, 55, 56, 0, 0, 0,
+ 0, 0, 0, 0, 60, 61, 62, 63, 64, 65,
+ 66, 0, 0, 575, 0, 0, 0, 67, 0, 0,
+ 0, 0, 68, 0, 11, 12, 0, 71, 72, 73,
+ 13, 0, 14, 15, 16, 17, 18, 19, 20, 21,
+ 22, 23, 24, 0, 25, 26, 27, 0, 0, 0,
+ 0, 29, 30, 31, 32, 33, 0, 0, 0, 0,
+ 0, 35, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 5, 6, 7, 8, 9,
+ 0, 0, 0, 0, 10, 55, 56, 0, 0, 0,
+ 0, 0, 0, 0, 60, 61, 62, 63, 64, 65,
+ 66, 0, 0, 0, 0, 0, 0, 67, 0, 0,
+ 0, 0, 68, 0, 11, 12, 0, 71, 72, 73,
+ 13, 0, 14, 15, 16, 17, 18, 19, 20, 21,
+ 22, 23, 24, 0, 25, 26, 27, 0, 0, 0,
+ 0, 29, 30, 31, 32, 33, 0, 0, 0, 0,
+ 0, 35, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 5, 6, 7, 8, 9,
+ 0, 0, 0, 0, 10, 55, 56, 0, 0, 0,
+ 0, 0, 0, 0, 60, 61, 62, 63, 64, 65,
+ 66, 0, 0, 0, 0, 0, 0, 67, 0, 0,
+ 0, 0, 68, 0, 11, 12, 0, 71, 72, 73,
+ 13, 0, 14, 15, 16, 17, 18, 19, 20, 21,
+ 22, 23, 24, 0, 25, 26, 27, 181, 182, 183,
+ 0, 29, 30, 31, 398, 33, 0, 0, 0, 0,
+ 0, 35, 0, 184, 0, 185, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
- 200, 201, 202, 203, 204, 205, 206, 207, 0, 208,
- 183, 184, 185, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 186, 0, 187, 188,
- 189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
- 199, 200, 201, 202, 203, 204, 205, 206, 207, 0,
- 208, 183, 184, 185, 0, 0, 0, 209, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 186, 0, 187,
- 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
- 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
- 0, 208, 183, 184, 185, 0, 0, 0, 0, 0,
- 0, 0, 253, 0, 0, 0, 0, 0, 186, 0,
+ 200, 201, 202, 203, 204, 205, 0, 206, 0, 0,
+ 0, 0, 0, 0, 0, 55, 56, 0, 0, 0,
+ 0, 0, 0, 0, 60, 61, 62, 63, 64, 65,
+ 66, 0, 0, 0, 181, 182, 183, 67, 0, 0,
+ 0, 0, 68, 0, 0, 0, 0, 71, 72, 73,
+ 184, 0, 185, 186, 187, 188, 189, 190, 191, 192,
+ 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
+ 203, 204, 205, 0, 206, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 181, 182, 183, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 184, 450, 185, 186, 187, 188, 189, 190, 191,
+ 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
+ 202, 203, 204, 205, 0, 206, 181, 182, 183, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 184, 0, 185, 186, 187, 188, 189, 190,
+ 191, 192, 193, 194, 195, 196, 197, 198, 199, 200,
+ 201, 202, 203, 204, 205, 0, 206, 0, 0, 470,
+ 181, 182, 183, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 184, 657, 185, 186,
187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
- 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
- 207, 0, 208, 183, 184, 185, 0, 0, 0, 0,
- 0, 0, 0, 254, 0, 0, 0, 0, 0, 186,
- 0, 187, 188, 189, 190, 191, 192, 193, 194, 195,
+ 197, 198, 199, 200, 201, 202, 203, 204, 205, 0,
+ 206, 181, 182, 183, 0, 0, 0, 0, 0, 0,
+ 539, 0, 0, 0, 0, 0, 0, 184, 0, 185,
+ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
- 206, 207, 0, 208, 183, 184, 185, 0, 0, 0,
- 0, 0, 0, 0, 260, 0, 0, 0, 0, 0,
- 186, 0, 187, 188, 189, 190, 191, 192, 193, 194,
+ 0, 206, 181, 182, 183, 0, 0, 0, 0, 0,
+ 0, 604, 0, 0, 0, 0, 0, 0, 184, 0,
+ 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
- 205, 206, 207, 0, 208, 183, 184, 185, 0, 0,
- 0, 0, 0, 0, 298, 0, 0, 0, 0, 0,
- 0, 186, 0, 187, 188, 189, 190, 191, 192, 193,
+ 205, 0, 206, 181, 182, 183, 0, 0, 0, 0,
+ 0, 0, 0, 658, 0, 0, 0, 0, 0, 184,
+ 0, 185, 186, 187, 188, 189, 190, 191, 192, 193,
194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
- 204, 205, 206, 207, 0, 208, 183, 184, 185, 0,
- 0, 0, 0, 0, 0, 356, 0, 0, 0, 0,
- 0, 0, 186, 0, 187, 188, 189, 190, 191, 192,
+ 204, 205, 0, 206, 181, 182, 183, 0, 0, 0,
+ 0, 0, 0, 0, 207, 0, 0, 0, 0, 0,
+ 184, 0, 185, 186, 187, 188, 189, 190, 191, 192,
193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
- 203, 204, 205, 206, 207, 0, 208, 183, 184, 185,
- 0, 0, 0, 0, 0, 0, 362, 0, 0, 0,
- 0, 0, 0, 186, 0, 187, 188, 189, 190, 191,
+ 203, 204, 205, 0, 206, 181, 182, 183, 0, 0,
+ 0, 0, 0, 0, 0, 251, 0, 0, 0, 0,
+ 0, 184, 0, 185, 186, 187, 188, 189, 190, 191,
192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
- 202, 203, 204, 205, 206, 207, 0, 208, 183, 184,
- 185, 0, 0, 0, 0, 0, 0, 363, 0, 0,
- 0, 0, 0, 0, 186, 0, 187, 188, 189, 190,
+ 202, 203, 204, 205, 0, 206, 181, 182, 183, 0,
+ 0, 0, 0, 0, 0, 0, 252, 0, 0, 0,
+ 0, 0, 184, 0, 185, 186, 187, 188, 189, 190,
191, 192, 193, 194, 195, 196, 197, 198, 199, 200,
- 201, 202, 203, 204, 205, 206, 207, 0, 208, 183,
- 184, 185, 0, 0, 0, 0, 0, 0, 378, 0,
- 0, 0, 0, 0, 0, 186, 0, 187, 188, 189,
+ 201, 202, 203, 204, 205, 0, 206, 181, 182, 183,
+ 0, 0, 0, 0, 0, 0, 0, 258, 0, 0,
+ 0, 0, 0, 184, 0, 185, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
- 200, 201, 202, 203, 204, 205, 206, 207, 0, 208,
- 183, 184, 185, 0, 0, 0, 0, 0, 0, 451,
- 0, 0, 0, 0, 0, 0, 186, 0, 187, 188,
+ 200, 201, 202, 203, 204, 205, 0, 206, 181, 182,
+ 183, 0, 0, 0, 0, 0, 0, 287, 0, 0,
+ 0, 0, 0, 0, 184, 0, 185, 186, 187, 188,
189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
- 199, 200, 201, 202, 203, 204, 205, 206, 207, 0,
- 208, 183, 184, 185, 0, 0, 0, 0, 0, 0,
- 621, 0, 0, 0, 0, 0, 0, 186, 0, 187,
+ 199, 200, 201, 202, 203, 204, 205, 0, 206, 181,
+ 182, 183, 0, 0, 0, 0, 0, 0, 344, 0,
+ 0, 0, 0, 0, 0, 184, 0, 185, 186, 187,
188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
- 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
- 0, 208, 183, 184, 185, 0, 0, 0, 0, 0,
- 0, 735, 0, 0, 0, 0, 0, 0, 186, 0,
+ 198, 199, 200, 201, 202, 203, 204, 205, 0, 206,
+ 181, 182, 183, 0, 0, 0, 0, 0, 0, 350,
+ 0, 0, 0, 0, 0, 0, 184, 0, 185, 186,
187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
- 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
- 207, 0, 208, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 746, 190, 191, 192, 193, 194, 195, 196,
- 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
- 207, 0, 208, 404, 187, 188, 189, 190, 191, 192,
- 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
- 203, 204, 205, 206, 207, 0, 208, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 536, 188, 189, 190, 191, 192,
+ 197, 198, 199, 200, 201, 202, 203, 204, 205, 0,
+ 206, 181, 182, 183, 0, 0, 0, 0, 0, 0,
+ 351, 0, 0, 0, 0, 0, 0, 184, 0, 185,
+ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
+ 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
+ 0, 206, 181, 182, 183, 0, 0, 0, 0, 0,
+ 0, 366, 0, 0, 0, 0, 0, 0, 184, 0,
+ 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
+ 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
+ 205, 0, 206, 181, 182, 183, 0, 0, 0, 0,
+ 0, 0, 439, 0, 0, 0, 0, 0, 0, 184,
+ 0, 185, 186, 187, 188, 189, 190, 191, 192, 193,
+ 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
+ 204, 205, 0, 206, 181, 182, 183, 0, 0, 0,
+ 0, 0, 0, 609, 0, 0, 0, 0, 0, 0,
+ 184, 0, 185, 186, 187, 188, 189, 190, 191, 192,
193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
- 203, 204, 205, 206, 207, 0, 208, 189, 190, 191,
+ 203, 204, 205, 0, 206, 181, 182, 183, 0, 0,
+ 0, 0, 0, 0, 723, 0, 0, 0, 0, 0,
+ 0, 184, 0, 185, 186, 187, 188, 189, 190, 191,
192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
- 202, 203, 204, 205, 206, 207, 0, 208
+ 202, 203, 204, 205, 0, 206, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 734, 0, 0, 0, 0,
+ 0, 181, 182, 183, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 392, 184, 480, 185,
+ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
+ 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
+ 0, 206, 181, 182, 183, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 524, 184, 0,
+ 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
+ 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
+ 205, 0, 206, 182, 183, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 184, 0,
+ 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
+ 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
+ 205, 183, 206, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 184, 0, 185, 186, 187,
+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
+ 198, 199, 200, 201, 202, 203, 204, 205, 0, 206
};
static const yytype_int16 yycheck[] =
{
- 23, 24, 26, 26, 182, 361, 4, 8, 452, 351,
- 26, 61, 61, 8, 26, 61, 8, 359, 8, 8,
- 61, 8, 26, 208, 26, 140, 5, 6, 8, 8,
- 9, 10, 11, 12, 13, 14, 73, 16, 17, 18,
- 19, 20, 21, 22, 8, 31, 25, 73, 8, 8,
- 71, 0, 73, 8, 8, 233, 234, 36, 364, 73,
- 63, 71, 46, 73, 43, 44, 8, 46, 71, 48,
- 73, 13, 14, 15, 16, 17, 18, 19, 20, 21,
- 22, 23, 24, 0, 259, 71, 71, 73, 73, 68,
- 140, 140, 61, 143, 143, 99, 71, 143, 73, 71,
- 140, 73, 143, 79, 71, 71, 73, 74, 145, 45,
- 46, 47, 122, 49, 71, 71, 73, 59, 60, 145,
- 140, 71, 143, 73, 145, 104, 73, 143, 132, 140,
- 142, 145, 140, 112, 31, 145, 143, 160, 116, 521,
- 141, 139, 145, 140, 167, 168, 169, 142, 490, 491,
- 142, 120, 142, 142, 133, 142, 135, 123, 142, 145,
- 145, 141, 141, 142, 140, 144, 140, 123, 143, 475,
- 145, 477, 116, 145, 352, 141, 73, 141, 182, 623,
- 182, 141, 141, 361, 208, 208, 141, 141, 145, 571,
- 71, 573, 140, 172, 140, 145, 71, 176, 504, 141,
- 92, 93, 94, 140, 208, 184, 208, 92, 93, 94,
+ 23, 24, 26, 26, 440, 8, 4, 349, 8, 339,
+ 26, 26, 8, 8, 46, 61, 8, 347, 8, 180,
+ 352, 8, 26, 8, 26, 8, 5, 6, 61, 8,
+ 9, 10, 11, 12, 13, 14, 206, 16, 17, 18,
+ 19, 20, 21, 22, 8, 31, 25, 8, 8, 71,
+ 31, 73, 63, 73, 509, 61, 61, 36, 78, 71,
+ 71, 31, 73, 0, 43, 44, 0, 46, 8, 48,
+ 231, 232, 140, 13, 14, 15, 16, 17, 18, 19,
+ 20, 21, 22, 23, 24, 71, 140, 73, 140, 68,
+ 140, 79, 73, 71, 98, 73, 71, 143, 73, 71,
+ 71, 73, 73, 73, 559, 71, 561, 140, 257, 141,
+ 143, 123, 71, 71, 73, 73, 136, 137, 138, 59,
+ 60, 143, 73, 145, 103, 73, 142, 131, 143, 141,
+ 78, 463, 111, 465, 145, 140, 159, 143, 143, 142,
+ 138, 61, 142, 166, 167, 168, 142, 142, 478, 479,
+ 142, 141, 140, 132, 141, 134, 141, 123, 141, 145,
+ 492, 140, 141, 122, 143, 143, 71, 145, 73, 74,
+ 145, 140, 73, 145, 145, 611, 180, 141, 180, 340,
+ 141, 141, 206, 206, 139, 140, 145, 145, 349, 137,
+ 138, 140, 171, 73, 145, 73, 175, 140, 78, 147,
+ 120, 141, 206, 182, 206, 93, 94, 239, 187, 188,
189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
- 199, 200, 201, 202, 203, 204, 205, 206, 207, 233,
- 234, 233, 234, 212, 213, 214, 215, 216, 217, 218,
- 219, 220, 221, 222, 223, 23, 24, 432, 227, 228,
- 93, 94, 144, 93, 94, 278, 279, 241, 31, 144,
- 140, 617, 241, 242, 140, 98, 245, 140, 46, 139,
- 293, 613, 105, 106, 107, 108, 109, 110, 111, 140,
- 8, 587, 305, 120, 263, 13, 14, 15, 16, 17,
- 18, 19, 20, 21, 22, 23, 24, 653, 139, 140,
- 73, 144, 300, 49, 144, 59, 60, 311, 140, 98,
- 139, 144, 139, 292, 139, 338, 105, 106, 107, 108,
- 109, 110, 111, 66, 67, 68, 120, 502, 92, 93,
- 94, 59, 60, 312, 140, 314, 315, 316, 317, 66,
- 67, 364, 517, 92, 93, 94, 66, 67, 352, 31,
- 352, 66, 67, 68, 142, 144, 143, 361, 79, 361,
- 268, 72, 73, 74, 142, 142, 143, 351, 142, 392,
- 23, 24, 351, 13, 141, 359, 144, 118, 140, 82,
- 359, 142, 160, 8, 97, 90, 561, 71, 71, 167,
- 168, 169, 105, 106, 107, 108, 109, 110, 73, 422,
- 42, 43, 44, 45, 46, 47, 141, 49, 432, 432,
- 141, 8, 142, 141, 71, 141, 118, 140, 140, 26,
- 149, 8, 141, 140, 13, 404, 144, 406, 432, 139,
- 432, 454, 455, 140, 13, 71, 142, 61, 119, 617,
- 140, 140, 71, 144, 141, 143, 141, 470, 446, 472,
- 140, 101, 475, 71, 477, 13, 141, 436, 8, 121,
- 458, 13, 485, 241, 143, 449, 140, 121, 140, 142,
- 449, 142, 142, 452, 453, 653, 384, 385, 141, 8,
- 149, 504, 142, 384, 385, 141, 141, 120, 149, 512,
- 141, 89, 141, 141, 8, 71, 97, 144, 673, 120,
- 278, 279, 481, 142, 142, 83, 490, 491, 531, 143,
- 508, 490, 491, 73, 142, 293, 13, 121, 693, 498,
- 499, 13, 545, 140, 699, 73, 71, 141, 507, 142,
- 141, 13, 142, 13, 13, 140, 26, 68, 144, 73,
- 715, 13, 565, 73, 87, 720, 73, 71, 456, 142,
- 13, 141, 13, 68, 533, 456, 142, 536, 466, 467,
- 338, 736, 26, 140, 587, 466, 467, 85, 143, 142,
- 549, 141, 144, 351, 140, 101, 144, 73, 141, 143,
- 772, 359, 757, 144, 759, 392, 364, 682, 300, 485,
- 513, 766, 13, 14, 15, 16, 17, 18, 19, 20,
- 21, 22, 23, 24, 300, 664, 668, 782, 61, 753,
- 544, 636, 565, 617, 392, 617, 639, 550, 71, 528,
- 73, 74, 266, 76, 77, 78, 713, 160, 531, 613,
- 498, -1, -1, 606, 613, -1, 472, -1, 59, 60,
- -1, -1, -1, -1, 623, -1, -1, -1, -1, 653,
- -1, 653, 631, -1, -1, -1, -1, -1, -1, -1,
- 658, 569, -1, -1, -1, -1, -1, 120, 569, -1,
- -1, 449, -1, 581, -1, 583, 454, 455, -1, -1,
- 581, -1, 583, 136, 137, 138, -1, -1, -1, -1,
- 143, 144, 470, -1, 472, -1, 149, 475, -1, 477,
+ 199, 200, 201, 202, 203, 204, 205, 231, 232, 231,
+ 232, 210, 211, 212, 213, 214, 215, 216, 217, 218,
+ 219, 220, 221, 575, 145, 116, 225, 226, 59, 60,
+ 420, 93, 94, 276, 277, 116, 144, 137, 138, 140,
+ 239, 240, 285, 605, 243, 266, 146, 145, 66, 67,
+ 293, 601, 66, 67, 68, 92, 93, 94, 92, 93,
+ 94, 73, 261, 42, 43, 44, 45, 46, 47, 140,
+ 49, 289, 45, 46, 47, 299, 49, 66, 67, 641,
+ 97, 140, 144, 326, 140, 284, 140, 339, 105, 106,
+ 107, 108, 109, 110, 140, 347, 92, 93, 94, 142,
+ 143, 300, 143, 302, 303, 304, 305, 144, 71, 352,
+ 144, 23, 24, 66, 67, 68, 340, 71, 340, 23,
+ 24, 490, 92, 93, 94, 349, 139, 349, 72, 73,
+ 140, 49, 120, 140, 46, 139, 505, 380, 139, 139,
+ 339, 140, 120, 31, 142, 79, 143, 142, 347, 13,
+ 8, 372, 373, 144, 141, 13, 14, 15, 16, 17,
+ 18, 19, 20, 21, 22, 23, 24, 410, 118, 140,
+ 142, 82, 8, 90, 71, 71, 420, 420, 73, 141,
+ 549, 141, 8, 142, 141, 437, 71, 118, 140, 140,
+ 148, 26, 141, 392, 8, 394, 420, 98, 420, 442,
+ 443, 59, 60, 140, 105, 106, 107, 108, 109, 110,
+ 111, 13, 144, 139, 13, 458, 434, 460, 140, 142,
+ 463, 140, 465, 444, 605, 424, 478, 479, 446, 141,
+ 473, 71, 61, 454, 455, 144, 119, 140, 437, 141,
+ 71, 440, 441, 144, 143, 101, 140, 159, 141, 492,
+ 71, 13, 141, 143, 166, 167, 168, 500, 8, 140,
+ 641, 121, 142, 372, 373, 13, 142, 142, 140, 121,
+ 469, 141, 8, 142, 148, 141, 519, 148, 496, 478,
+ 479, 120, 141, 141, 141, 89, 141, 486, 487, 71,
+ 533, 141, 661, 8, 97, 144, 495, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 120,
+ 553, 83, 681, 143, 142, 142, 73, 142, 687, 13,
+ 121, 13, 521, 141, 73, 524, 71, 239, 140, 142,
+ 13, 141, 575, 142, 703, 444, 557, 13, 537, 708,
+ 13, 26, 140, 59, 60, 454, 455, 68, 569, 601,
+ 571, 144, 13, 73, 142, 724, 73, 87, 71, 73,
+ 13, 141, 13, 68, 276, 277, 142, 140, 42, 43,
+ 26, 141, 143, 285, 85, 142, 745, 101, 747, 98,
+ 144, 605, 140, 605, 627, 754, 105, 106, 107, 108,
+ 109, 110, 111, 144, 73, 69, 70, 71, 141, 143,
+ 760, 770, 601, 144, 380, 79, 670, 289, 473, 501,
+ 289, 553, 611, 652, 326, 656, 741, 641, 264, 641,
+ 619, 532, 624, 538, 594, 144, 142, 339, 646, 516,
+ 159, 486, 701, 519, 460, 347, -1, -1, -1, -1,
+ 352, -1, -1, 664, -1, 666, 667, -1, 557, 123,
+ 124, 125, 126, 127, 128, -1, -1, -1, -1, -1,
+ 569, -1, 571, -1, -1, -1, -1, -1, 380, -1,
+ 691, -1, -1, -1, -1, 696, -1, -1, 677, 700,
+ -1, -1, -1, -1, -1, -1, -1, -1, 706, -1,
+ -1, 712, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 702, -1, -1, -1, -1, 729, -1,
+ -1, 732, -1, -1, -1, -1, -1, 735, -1, -1,
+ 763, -1, -1, -1, -1, 437, -1, -1, -1, -1,
+ 442, 443, 13, 14, 15, 16, 17, 18, 19, 20,
+ 21, 22, 23, 24, -1, -1, 458, -1, 460, -1,
+ -1, 463, -1, 465, -1, 664, -1, 666, 667, -1,
+ -1, -1, -1, -1, -1, -1, 478, 479, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 59, 60,
+ 492, -1, 691, -1, -1, -1, -1, 696, 500, -1,
+ -1, 700, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 712, -1, -1, -1, 519, -1, 90,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 689, -1, 490, 491, -1, 61, -1, -1, -1, -1,
- 718, 142, -1, -1, -1, 71, 504, 73, 74, -1,
- 76, 77, 78, -1, 512, 714, 13, 14, 15, 16,
- 17, 18, 19, 20, 21, 22, 23, 24, -1, 747,
- -1, -1, 775, 531, 36, 37, 38, 39, 40, 41,
- 42, 43, 44, 45, 46, 47, -1, 49, 676, -1,
- 678, 679, -1, -1, 120, 676, -1, 678, 679, -1,
- -1, -1, 59, 60, -1, -1, -1, 565, -1, -1,
- -1, 137, 138, -1, -1, 703, -1, 143, 144, -1,
- 708, 147, 703, 149, 712, -1, -1, 708, -1, 587,
- -1, 712, -1, 90, -1, -1, 724, 3, 4, 5,
- 6, 7, -1, 724, -1, -1, 12, -1, -1, -1,
- -1, -1, -1, 741, -1, 613, 744, -1, -1, -1,
- 741, -1, -1, 744, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 42, 43, -1, -1,
- -1, -1, 48, -1, 50, 51, 52, 53, 54, 55,
- 56, 57, 58, 59, 60, -1, 62, 63, 64, 65,
- -1, -1, -1, 69, 70, 71, 72, 73, -1, 75,
- -1, 61, -1, 79, 80, 81, 82, -1, 84, -1,
- 86, 71, 88, 73, 74, 91, 76, 77, 78, 95,
- 96, 97, -1, 99, 100, -1, 102, 103, 104, -1,
- -1, -1, 108, 109, 110, -1, 112, 113, 114, 115,
- 116, 117, -1, -1, -1, -1, 122, 123, 124, 125,
- 126, 127, 128, 3, 4, 5, 6, 7, -1, 135,
- 120, -1, 12, -1, 140, -1, 142, 143, -1, 145,
- 146, 147, 148, -1, -1, -1, -1, 137, 138, -1,
- -1, -1, -1, 143, 144, -1, 146, -1, -1, 149,
- -1, -1, 42, 43, -1, -1, -1, -1, 48, -1,
- 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
- 60, -1, 62, 63, 64, 65, -1, -1, -1, 69,
- 70, 71, 72, 73, -1, 75, -1, 61, -1, 79,
- 80, 81, 82, -1, 84, -1, 86, 71, 88, 73,
- 74, 91, 76, 77, 78, 95, 96, 97, -1, 99,
- 100, -1, 102, 103, 104, -1, -1, -1, 108, 109,
- 110, -1, 112, 113, 114, 115, 116, 117, -1, -1,
- -1, -1, 122, 123, 124, 125, 126, 127, 128, 3,
- 4, 5, 6, 7, -1, 135, 120, -1, 12, -1,
- 140, -1, 142, 143, -1, 145, 146, 147, 148, -1,
- -1, -1, 26, 137, 138, -1, -1, -1, -1, 143,
- 144, -1, -1, -1, 148, 149, -1, -1, 42, 43,
- -1, -1, -1, -1, 48, -1, 50, 51, 52, 53,
- 54, 55, 56, 57, 58, 59, 60, -1, 62, 63,
- 64, 65, -1, -1, -1, 69, 70, 71, 72, 73,
- -1, 75, -1, -1, -1, 79, 80, 81, 82, -1,
- 84, -1, 86, -1, 88, -1, -1, 91, -1, -1,
- -1, 95, 96, -1, -1, 99, 100, -1, 102, 103,
- 104, -1, -1, -1, -1, -1, 110, -1, 112, 113,
- 114, -1, -1, -1, -1, -1, -1, -1, 122, 123,
- 124, 125, 126, 127, 128, 3, 4, 5, 6, 7,
- -1, 135, -1, -1, 12, -1, 140, -1, 142, 143,
- -1, 145, 146, 147, 148, -1, -1, -1, 26, -1,
- -1, -1, 13, 14, 15, 16, 17, 18, 19, 20,
- 21, 22, 23, 24, 42, 43, -1, -1, -1, -1,
+ 729, -1, -1, 732, -1, 3, 4, 5, 6, 7,
+ -1, -1, -1, -1, 12, -1, -1, -1, -1, -1,
+ -1, 553, 29, 30, 31, 32, 33, 34, 35, 36,
+ 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
+ 47, -1, 49, 575, 42, 43, -1, -1, -1, -1,
48, -1, 50, 51, 52, 53, 54, 55, 56, 57,
- 58, 59, 60, -1, 62, 63, 64, 65, -1, -1,
- -1, 69, 70, 71, 72, 73, -1, 75, 59, 60,
+ 58, 59, 60, -1, 62, 63, 64, 65, -1, 601,
+ -1, 69, 70, 71, 72, 73, -1, 75, -1, -1,
-1, 79, 80, 81, 82, -1, 84, -1, 86, -1,
- 88, -1, -1, 91, -1, -1, -1, 95, 96, -1,
+ 88, -1, -1, 91, -1, -1, -1, 95, 96, 97,
-1, 99, 100, -1, 102, 103, 104, -1, -1, -1,
- -1, -1, 110, -1, 112, 113, 114, -1, -1, -1,
+ 108, 109, 110, -1, 112, 113, 114, 115, 116, 117,
-1, -1, -1, -1, 122, 123, 124, 125, 126, 127,
128, 3, 4, 5, 6, 7, -1, 135, -1, -1,
12, -1, 140, -1, 142, 143, -1, 145, 146, 147,
- 148, -1, -1, -1, 26, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
42, 43, -1, -1, -1, -1, 48, -1, 50, 51,
52, 53, 54, 55, 56, 57, 58, 59, 60, -1,
62, 63, 64, 65, -1, -1, -1, 69, 70, 71,
- 72, 73, -1, 75, -1, -1, -1, 79, 80, 81,
+ 72, 73, -1, 75, 59, 60, -1, 79, 80, 81,
82, -1, 84, -1, 86, -1, 88, -1, -1, 91,
- -1, -1, -1, 95, 96, -1, -1, 99, 100, -1,
- 102, 103, 104, -1, -1, -1, -1, -1, 110, -1,
- 112, 113, 114, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 95, 96, 97, -1, 99, 100, -1,
+ 102, 103, 104, -1, -1, -1, 108, 109, 110, -1,
+ 112, 113, 114, 115, 116, 117, -1, -1, -1, -1,
122, 123, 124, 125, 126, 127, 128, 3, 4, 5,
6, 7, -1, 135, -1, -1, 12, -1, 140, -1,
- 142, 143, -1, 145, 146, 147, 148, -1, -1, -1,
- 26, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 42, 43, -1, -1,
+ 142, 143, -1, 145, 146, 147, -1, -1, -1, -1,
+ 26, 36, 37, 38, 39, 40, 41, 42, 43, 44,
+ 45, 46, 47, -1, 49, -1, 42, 43, -1, -1,
-1, -1, 48, -1, 50, 51, 52, 53, 54, 55,
56, 57, 58, 59, 60, -1, 62, 63, 64, 65,
-1, -1, -1, 69, 70, 71, 72, 73, -1, 75,
@@ -1910,9 +1866,9 @@ static const yytype_int16 yycheck[] =
-1, -1, -1, -1, -1, -1, 122, 123, 124, 125,
126, 127, 128, 3, 4, 5, 6, 7, -1, 135,
-1, -1, 12, -1, 140, -1, 142, 143, -1, 145,
- 146, 147, 148, 31, 32, 33, 34, 35, 36, 37,
- 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
- -1, 49, 42, 43, -1, -1, -1, -1, 48, -1,
+ 146, 147, -1, -1, -1, -1, 26, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 42, 43, -1, -1, -1, -1, 48, -1,
50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
60, -1, 62, 63, 64, 65, -1, -1, -1, 69,
70, 71, 72, 73, -1, 75, -1, -1, -1, 79,
@@ -1922,72 +1878,72 @@ static const yytype_int16 yycheck[] =
110, -1, 112, 113, 114, -1, -1, -1, -1, -1,
-1, -1, 122, 123, 124, 125, 126, 127, 128, 3,
4, 5, 6, 7, -1, 135, -1, -1, 12, -1,
- 140, -1, 142, 143, -1, 145, 146, 147, 148, 32,
- 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, 47, -1, 49, -1, 42, 43,
+ 140, -1, 142, 143, -1, 145, 146, 147, -1, -1,
+ -1, -1, 26, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 42, 43,
-1, -1, -1, -1, 48, -1, 50, 51, 52, 53,
54, 55, 56, 57, 58, 59, 60, -1, 62, 63,
- 64, -1, 9, 10, 11, 69, 70, 71, 72, 73,
- -1, -1, -1, -1, -1, 79, 42, 43, 25, -1,
- 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
- 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
- 47, -1, 49, 69, 70, 71, -1, -1, -1, 113,
- 114, -1, -1, 79, -1, -1, -1, -1, 122, 123,
+ 64, 65, -1, -1, -1, 69, 70, 71, 72, 73,
+ -1, 75, -1, -1, -1, 79, 80, 81, 82, -1,
+ 84, -1, 86, -1, 88, -1, -1, 91, -1, -1,
+ -1, 95, 96, -1, -1, 99, 100, -1, 102, 103,
+ 104, -1, -1, -1, -1, -1, 110, -1, 112, 113,
+ 114, -1, -1, -1, -1, -1, -1, -1, 122, 123,
124, 125, 126, 127, 128, 3, 4, 5, 6, 7,
- -1, 135, -1, -1, 12, -1, 140, -1, 142, -1,
- -1, 145, 146, 147, 148, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 123, 124, 125,
- 126, 127, 128, -1, 42, 43, -1, -1, -1, -1,
+ -1, 135, -1, -1, 12, -1, 140, -1, 142, 143,
+ -1, 145, 146, 147, -1, -1, -1, -1, 26, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 42, 43, -1, -1, -1, -1,
48, -1, 50, 51, 52, 53, 54, 55, 56, 57,
- 58, 59, 60, -1, 62, 63, 64, 9, 10, 11,
- -1, 69, 70, 71, 72, 73, -1, -1, -1, -1,
- -1, 79, 149, 25, -1, 27, 28, 29, 30, 31,
- 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
- 42, 43, 44, 45, 46, 47, -1, 49, -1, -1,
- -1, -1, -1, -1, -1, 113, 114, -1, -1, -1,
+ 58, 59, 60, -1, 62, 63, 64, 65, -1, -1,
+ -1, 69, 70, 71, 72, 73, -1, 75, -1, -1,
+ -1, 79, 80, 81, 82, -1, 84, -1, 86, -1,
+ 88, -1, -1, 91, -1, -1, -1, 95, 96, -1,
+ -1, 99, 100, -1, 102, 103, 104, -1, -1, -1,
+ -1, -1, 110, -1, 112, 113, 114, -1, -1, -1,
-1, -1, -1, -1, 122, 123, 124, 125, 126, 127,
128, 3, 4, 5, 6, 7, -1, 135, -1, -1,
- 12, -1, 140, -1, 142, -1, -1, 145, 146, 147,
- 148, 32, 33, 34, 35, 36, 37, 38, 39, 40,
- 41, 42, 43, 44, 45, 46, 47, -1, 49, -1,
+ 12, -1, 140, -1, 142, 143, -1, 145, 146, 147,
+ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
+ 40, 41, 42, 43, 44, 45, 46, 47, -1, 49,
42, 43, -1, -1, -1, -1, 48, -1, 50, 51,
52, 53, 54, 55, 56, 57, 58, 59, 60, -1,
- 62, 63, 64, 9, 10, 11, -1, 69, 70, 71,
- 72, 73, 144, -1, -1, -1, -1, 79, -1, 25,
- -1, 27, 28, 29, 30, 31, 32, 33, 34, 35,
- 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
- 46, 47, -1, 49, -1, -1, -1, -1, -1, -1,
- -1, 113, 114, -1, -1, -1, -1, -1, -1, -1,
+ 62, 63, 64, 65, -1, -1, -1, 69, 70, 71,
+ 72, 73, -1, 75, -1, -1, -1, 79, 80, 81,
+ 82, -1, 84, -1, 86, -1, 88, -1, -1, 91,
+ -1, -1, -1, 95, 96, -1, -1, 99, 100, -1,
+ 102, 103, 104, -1, -1, -1, -1, -1, 110, -1,
+ 112, 113, 114, -1, -1, -1, -1, -1, -1, -1,
122, 123, 124, 125, 126, 127, 128, 3, 4, 5,
6, 7, -1, 135, -1, -1, 12, -1, 140, -1,
- 142, -1, -1, 145, 146, 147, 148, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 42, 43, -1, -1,
+ 142, 143, -1, 145, 146, 147, 31, 32, 33, 34,
+ 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
+ 45, 46, 47, -1, 49, -1, 42, 43, -1, -1,
-1, -1, 48, -1, 50, 51, 52, 53, 54, 55,
56, 57, 58, 59, 60, -1, 62, 63, 64, 9,
- 10, 11, -1, 69, 70, 71, 72, 73, 144, -1,
+ 10, 11, -1, 69, 70, 71, 72, 73, -1, -1,
-1, -1, -1, 79, -1, 25, -1, 27, 28, 29,
30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
40, 41, 42, 43, 44, 45, 46, 47, -1, 49,
-1, -1, -1, -1, -1, -1, -1, 113, 114, -1,
-1, -1, -1, -1, -1, -1, 122, 123, 124, 125,
126, 127, 128, 3, 4, 5, 6, 7, -1, 135,
- -1, -1, 12, -1, 140, 141, -1, -1, -1, 145,
- 146, 147, 148, -1, -1, -1, -1, -1, -1, -1,
- -1, 31, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 12, -1, 140, -1, 142, -1, -1, 145,
+ 146, 147, 32, 33, 34, 35, 36, 37, 38, 39,
+ 40, 41, 42, 43, 44, 45, 46, 47, -1, 49,
-1, -1, 42, 43, -1, -1, -1, -1, 48, -1,
50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
60, -1, 62, 63, 64, 9, 10, 11, -1, 69,
- 70, 71, 72, 73, 144, -1, -1, -1, -1, 79,
+ 70, 71, 72, 73, -1, -1, -1, -1, 148, 79,
-1, 25, -1, 27, 28, 29, 30, 31, 32, 33,
34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
44, 45, 46, 47, -1, 49, -1, -1, -1, -1,
-1, -1, -1, 113, 114, -1, -1, -1, -1, -1,
-1, -1, 122, 123, 124, 125, 126, 127, 128, 3,
4, 5, 6, 7, -1, 135, -1, -1, 12, -1,
- 140, -1, -1, -1, -1, 145, 146, 147, 148, -1,
- -1, -1, -1, -1, -1, -1, -1, 31, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 42, 43,
+ 140, -1, 142, -1, -1, 145, 146, 147, 32, 33,
+ 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
+ 44, 45, 46, 47, -1, 49, -1, -1, 42, 43,
-1, -1, -1, -1, 48, -1, 50, 51, 52, 53,
54, 55, 56, 57, 58, 59, 60, -1, 62, 63,
64, 9, 10, 11, -1, 69, 70, 71, 72, 73,
@@ -1997,113 +1953,132 @@ static const yytype_int16 yycheck[] =
-1, 49, -1, -1, -1, -1, -1, -1, -1, 113,
114, -1, -1, -1, -1, -1, -1, -1, 122, 123,
124, 125, 126, 127, 128, 3, 4, 5, 6, 7,
- -1, 135, -1, -1, 12, -1, 140, -1, -1, -1,
- -1, 145, 146, 147, 148, -1, -1, -1, -1, -1,
- -1, -1, -1, 31, -1, -1, -1, -1, -1, -1,
+ -1, 135, -1, -1, 12, -1, 140, -1, 142, -1,
+ -1, 145, 146, 147, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 42, 43, -1, -1, -1, -1,
48, -1, 50, 51, 52, 53, 54, 55, 56, 57,
- 58, 59, 60, -1, 62, 63, 64, 9, 10, 11,
+ 58, 59, 60, -1, 62, 63, 64, -1, -1, -1,
-1, 69, 70, 71, 72, 73, 144, -1, -1, -1,
- -1, 79, -1, 25, -1, 27, 28, 29, 30, 31,
- 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
- 42, 43, 44, 45, 46, 47, -1, 49, -1, -1,
- -1, -1, -1, -1, -1, 113, 114, -1, -1, -1,
+ 25, 79, 27, 28, 29, 30, 31, 32, 33, 34,
+ 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
+ 45, 46, 47, -1, 49, 3, 4, 5, 6, 7,
+ -1, -1, -1, -1, 12, 113, 114, -1, -1, -1,
-1, -1, -1, -1, 122, 123, 124, 125, 126, 127,
- 128, 3, 4, 5, 6, 7, -1, 135, -1, -1,
- 12, -1, 140, -1, -1, -1, -1, 145, 146, 147,
- 148, -1, -1, -1, -1, -1, -1, -1, -1, 31,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 42, 43, -1, -1, -1, -1, 48, -1, 50, 51,
- 52, 53, 54, 55, 56, 57, 58, 59, 60, -1,
- 62, 63, 64, 9, 10, 11, -1, 69, 70, 71,
- 72, 73, 144, -1, -1, -1, -1, 79, -1, 25,
- 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
- 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
- 46, 47, -1, 49, -1, -1, -1, -1, -1, -1,
- -1, 113, 114, -1, -1, -1, -1, -1, -1, -1,
- 122, 123, 124, 125, 126, 127, 128, 3, 4, 5,
- 6, 7, -1, 135, -1, -1, 12, -1, 140, -1,
- -1, -1, -1, 145, 146, 147, 148, -1, -1, -1,
- -1, -1, -1, -1, -1, 31, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 42, 43, -1, -1,
- -1, -1, 48, -1, 50, 51, 52, 53, 54, 55,
- 56, 57, 58, 59, 60, -1, 62, 63, 64, 9,
- 10, 11, -1, 69, 70, 71, 72, 73, -1, -1,
- -1, -1, -1, 79, -1, 25, -1, 27, 28, 29,
- 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
- 40, 41, 42, 43, 44, 45, 46, 47, -1, 49,
- -1, -1, -1, -1, -1, -1, -1, 113, 114, -1,
- -1, -1, -1, -1, -1, -1, 122, 123, 124, 125,
- 126, 127, 128, 3, 4, 5, 6, 7, -1, 135,
- -1, -1, 12, -1, 140, -1, -1, -1, -1, 145,
- 146, 147, 148, -1, -1, -1, -1, -1, -1, -1,
- -1, 31, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 42, 43, -1, -1, -1, -1, 48, -1,
- 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
- 60, -1, 62, 63, 64, 10, 11, -1, -1, 69,
- 70, 71, 72, 73, -1, -1, -1, -1, -1, 79,
- 25, -1, 27, 28, 29, 30, 31, 32, 33, 34,
+ 128, -1, -1, 31, -1, -1, -1, 135, -1, -1,
+ -1, -1, 140, 141, 42, 43, -1, 145, 146, 147,
+ 48, -1, 50, 51, 52, 53, 54, 55, 56, 57,
+ 58, 59, 60, -1, 62, 63, 64, -1, -1, -1,
+ -1, 69, 70, 71, 72, 73, -1, -1, -1, -1,
+ -1, 79, 27, 28, 29, 30, 31, 32, 33, 34,
35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
- 45, 46, 47, -1, 49, -1, -1, -1, -1, -1,
- -1, -1, -1, 113, 114, -1, -1, -1, -1, -1,
- -1, -1, 122, 123, 124, 125, 126, 127, 128, 3,
- 4, 5, 6, 7, -1, 135, -1, -1, 12, -1,
- 140, -1, -1, -1, -1, 145, 146, 147, 148, -1,
- -1, -1, -1, -1, -1, -1, -1, 31, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 42, 43,
- -1, -1, -1, -1, 48, -1, 50, 51, 52, 53,
- 54, 55, 56, 57, 58, 59, 60, -1, 62, 63,
- 64, -1, 11, -1, -1, 69, 70, 71, 72, 73,
- -1, -1, -1, -1, -1, 79, 25, -1, 27, 28,
- 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
- 39, 40, 41, 42, 43, 44, 45, 46, 47, -1,
- 49, -1, -1, -1, -1, -1, -1, -1, -1, 113,
- 114, -1, -1, -1, -1, -1, -1, -1, 122, 123,
- 124, 125, 126, 127, 128, 3, 4, 5, 6, 7,
- -1, 135, -1, -1, 12, -1, 140, -1, -1, -1,
- -1, 145, 146, 147, 148, -1, -1, -1, -1, -1,
+ 45, 46, 47, -1, 49, 3, 4, 5, 6, 7,
+ -1, -1, -1, -1, 12, 113, 114, -1, -1, -1,
+ -1, -1, -1, -1, 122, 123, 124, 125, 126, 127,
+ 128, -1, -1, 31, -1, -1, -1, 135, -1, -1,
+ -1, -1, 140, -1, 42, 43, -1, 145, 146, 147,
+ 48, -1, 50, 51, 52, 53, 54, 55, 56, 57,
+ 58, 59, 60, -1, 62, 63, 64, -1, -1, -1,
+ -1, 69, 70, 71, 72, 73, -1, -1, -1, -1,
+ -1, 79, 28, 29, 30, 31, 32, 33, 34, 35,
+ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
+ 46, 47, -1, 49, -1, 3, 4, 5, 6, 7,
+ -1, -1, -1, -1, 12, 113, 114, -1, -1, -1,
+ -1, -1, -1, -1, 122, 123, 124, 125, 126, 127,
+ 128, -1, -1, 31, -1, -1, -1, 135, -1, -1,
+ -1, -1, 140, -1, 42, 43, -1, 145, 146, 147,
+ 48, -1, 50, 51, 52, 53, 54, 55, 56, 57,
+ 58, 59, 60, -1, 62, 63, 64, -1, -1, -1,
+ -1, 69, 70, 71, 72, 73, -1, -1, -1, -1,
+ -1, 79, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 42, 43, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 3, 4, 5, 6, 7,
+ -1, -1, -1, -1, 12, 113, 114, -1, -1, -1,
+ -1, -1, -1, -1, 122, 123, 124, 125, 126, 127,
+ 128, -1, -1, 31, -1, -1, -1, 135, -1, -1,
+ -1, -1, 140, -1, 42, 43, -1, 145, 146, 147,
48, -1, 50, 51, 52, 53, 54, 55, 56, 57,
58, 59, 60, -1, 62, 63, 64, -1, -1, -1,
-1, 69, 70, 71, 72, 73, -1, -1, -1, -1,
- 25, 79, 27, 28, 29, 30, 31, 32, 33, 34,
- 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
- 45, 46, 47, -1, 49, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 113, 114, -1, -1, -1,
+ -1, 79, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 3, 4, 5, 6, 7,
+ -1, -1, -1, -1, 12, 113, 114, -1, -1, -1,
-1, -1, -1, -1, 122, 123, 124, 125, 126, 127,
- 128, 3, 4, 5, 6, 7, -1, 135, -1, -1,
- 12, -1, 140, -1, -1, -1, -1, 145, 146, 147,
- 148, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 128, -1, -1, 31, -1, -1, -1, 135, -1, -1,
+ -1, -1, 140, -1, 42, 43, -1, 145, 146, 147,
+ 48, -1, 50, 51, 52, 53, 54, 55, 56, 57,
+ 58, 59, 60, -1, 62, 63, 64, -1, -1, -1,
+ -1, 69, 70, 71, 72, 73, -1, -1, -1, -1,
+ -1, 79, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 42, 43, -1, -1, -1, -1, 48, -1, 50, 51,
- 52, 53, 54, 55, 56, 57, 58, 59, 60, -1,
- 62, 63, 64, 9, 10, 11, -1, 69, 70, 71,
- 72, 73, -1, -1, -1, -1, -1, 79, -1, 25,
- 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
- 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
- 46, 47, -1, 49, -1, -1, -1, -1, -1, -1,
- -1, 113, 114, -1, -1, -1, -1, -1, -1, -1,
- 122, 123, 124, 125, 126, 127, 128, -1, -1, -1,
- -1, -1, -1, 135, 9, 10, 11, -1, 140, -1,
- -1, -1, -1, 145, 146, 147, 148, -1, -1, -1,
+ -1, -1, -1, -1, -1, 3, 4, 5, 6, 7,
+ -1, -1, -1, -1, 12, 113, 114, -1, -1, -1,
+ -1, -1, -1, -1, 122, 123, 124, 125, 126, 127,
+ 128, -1, -1, 31, -1, -1, -1, 135, -1, -1,
+ -1, -1, 140, -1, 42, 43, -1, 145, 146, 147,
+ 48, -1, 50, 51, 52, 53, 54, 55, 56, 57,
+ 58, 59, 60, -1, 62, 63, 64, -1, -1, -1,
+ -1, 69, 70, 71, 72, 73, -1, -1, -1, -1,
+ -1, 79, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 3, 4, 5, 6, 7,
+ -1, -1, -1, -1, 12, 113, 114, -1, -1, -1,
+ -1, -1, -1, -1, 122, 123, 124, 125, 126, 127,
+ 128, -1, -1, 31, -1, -1, -1, 135, -1, -1,
+ -1, -1, 140, -1, 42, 43, -1, 145, 146, 147,
+ 48, -1, 50, 51, 52, 53, 54, 55, 56, 57,
+ 58, 59, 60, -1, 62, 63, 64, -1, -1, -1,
+ -1, 69, 70, 71, 72, 73, -1, -1, -1, -1,
+ -1, 79, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 3, 4, 5, 6, 7,
+ -1, -1, -1, -1, 12, 113, 114, -1, -1, -1,
+ -1, -1, -1, -1, 122, 123, 124, 125, 126, 127,
+ 128, -1, -1, -1, -1, -1, -1, 135, -1, -1,
+ -1, -1, 140, -1, 42, 43, -1, 145, 146, 147,
+ 48, -1, 50, 51, 52, 53, 54, 55, 56, 57,
+ 58, 59, 60, -1, 62, 63, 64, -1, -1, -1,
+ -1, 69, 70, 71, 72, 73, -1, -1, -1, -1,
+ -1, 79, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 3, 4, 5, 6, 7,
+ -1, -1, -1, -1, 12, 113, 114, -1, -1, -1,
+ -1, -1, -1, -1, 122, 123, 124, 125, 126, 127,
+ 128, -1, -1, -1, -1, -1, -1, 135, -1, -1,
+ -1, -1, 140, -1, 42, 43, -1, 145, 146, 147,
+ 48, -1, 50, 51, 52, 53, 54, 55, 56, 57,
+ 58, 59, 60, -1, 62, 63, 64, 9, 10, 11,
+ -1, 69, 70, 71, 72, 73, -1, -1, -1, -1,
+ -1, 79, -1, 25, -1, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
+ 42, 43, 44, 45, 46, 47, -1, 49, -1, -1,
+ -1, -1, -1, -1, -1, 113, 114, -1, -1, -1,
+ -1, -1, -1, -1, 122, 123, 124, 125, 126, 127,
+ 128, -1, -1, -1, 9, 10, 11, 135, -1, -1,
+ -1, -1, 140, -1, -1, -1, -1, 145, 146, 147,
25, -1, 27, 28, 29, 30, 31, 32, 33, 34,
35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
- 45, 46, 47, -1, 49, -1, -1, -1, -1, 9,
- 10, 11, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 25, 142, 27, 28, 29,
- 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
- 40, 41, 42, 43, 44, 45, 46, 47, -1, 49,
+ 45, 46, 47, -1, 49, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 9, 10, 11, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 25, 144, 27, 28, 29, 30, 31, 32, 33,
+ 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
+ 44, 45, 46, 47, -1, 49, 9, 10, 11, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 25, -1, 27, 28, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
+ 43, 44, 45, 46, 47, -1, 49, -1, -1, 144,
9, 10, 11, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 25, -1, 27, 28,
+ -1, -1, -1, -1, -1, -1, 25, 26, 27, 28,
29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
39, 40, 41, 42, 43, 44, 45, 46, 47, -1,
- 49, 9, 10, 11, -1, -1, -1, 142, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 25, -1, 27,
+ 49, 9, 10, 11, -1, -1, -1, -1, -1, -1,
+ 144, -1, -1, -1, -1, -1, -1, 25, -1, 27,
28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
-1, 49, 9, 10, 11, -1, -1, -1, -1, -1,
- -1, -1, 142, -1, -1, -1, -1, -1, 25, -1,
+ -1, 144, -1, -1, -1, -1, -1, -1, 25, -1,
27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
47, -1, 49, 9, 10, 11, -1, -1, -1, -1,
@@ -2115,15 +2090,15 @@ static const yytype_int16 yycheck[] =
25, -1, 27, 28, 29, 30, 31, 32, 33, 34,
35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
45, 46, 47, -1, 49, 9, 10, 11, -1, -1,
- -1, -1, -1, -1, 141, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 142, -1, -1, -1, -1,
-1, 25, -1, 27, 28, 29, 30, 31, 32, 33,
34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
44, 45, 46, 47, -1, 49, 9, 10, 11, -1,
- -1, -1, -1, -1, -1, 141, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 142, -1, -1, -1,
-1, -1, 25, -1, 27, 28, 29, 30, 31, 32,
33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
43, 44, 45, 46, 47, -1, 49, 9, 10, 11,
- -1, -1, -1, -1, -1, -1, 141, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 142, -1, -1,
-1, -1, -1, 25, -1, 27, 28, 29, 30, 31,
32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
42, 43, 44, 45, 46, 47, -1, 49, 9, 10,
@@ -2147,103 +2122,120 @@ static const yytype_int16 yycheck[] =
-1, 141, -1, -1, -1, -1, -1, -1, 25, -1,
27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
- 47, -1, 49, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 141, 30, 31, 32, 33, 34, 35, 36,
+ 47, -1, 49, 9, 10, 11, -1, -1, -1, -1,
+ -1, -1, 141, -1, -1, -1, -1, -1, -1, 25,
+ -1, 27, 28, 29, 30, 31, 32, 33, 34, 35,
+ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
+ 46, 47, -1, 49, 9, 10, 11, -1, -1, -1,
+ -1, -1, -1, 141, -1, -1, -1, -1, -1, -1,
+ 25, -1, 27, 28, 29, 30, 31, 32, 33, 34,
+ 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
+ 45, 46, 47, -1, 49, 9, 10, 11, -1, -1,
+ -1, -1, -1, -1, 141, -1, -1, -1, -1, -1,
+ -1, 25, -1, 27, 28, 29, 30, 31, 32, 33,
+ 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
+ 44, 45, 46, 47, -1, 49, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 141, -1, -1, -1, -1,
+ -1, 9, 10, 11, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 121, 25, 26, 27,
+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
+ 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ -1, 49, 9, 10, 11, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 121, 25, -1,
+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
- 47, -1, 49, 121, 27, 28, 29, 30, 31, 32,
- 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, 47, -1, 49, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 121, 28, 29, 30, 31, 32,
- 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, 47, -1, 49, 29, 30, 31,
- 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
- 42, 43, 44, 45, 46, 47, -1, 49
+ 47, -1, 49, 10, 11, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 25, -1,
+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
+ 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
+ 47, 11, 49, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 25, -1, 27, 28, 29,
+ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
+ 40, 41, 42, 43, 44, 45, 46, 47, -1, 49
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
symbol of state STATE-NUM. */
static const yytype_uint16 yystos[] =
{
- 0, 151, 152, 0, 153, 3, 4, 5, 6, 7,
+ 0, 150, 151, 0, 152, 3, 4, 5, 6, 7,
12, 42, 43, 48, 50, 51, 52, 53, 54, 55,
56, 57, 58, 59, 60, 62, 63, 64, 65, 69,
70, 71, 72, 73, 75, 79, 80, 81, 82, 84,
86, 88, 91, 95, 96, 97, 99, 100, 102, 103,
104, 108, 109, 110, 112, 113, 114, 115, 116, 117,
122, 123, 124, 125, 126, 127, 128, 135, 140, 142,
- 143, 145, 146, 147, 148, 154, 158, 159, 190, 191,
- 193, 196, 199, 201, 247, 258, 263, 272, 275, 279,
- 280, 283, 285, 293, 294, 295, 296, 297, 298, 304,
- 314, 317, 279, 279, 140, 279, 279, 279, 279, 279,
- 279, 279, 257, 279, 279, 279, 279, 279, 279, 279,
- 71, 263, 283, 285, 283, 279, 71, 263, 264, 265,
- 296, 297, 304, 140, 270, 140, 140, 243, 279, 166,
- 140, 140, 140, 176, 140, 142, 279, 142, 279, 194,
- 142, 247, 279, 285, 177, 279, 79, 140, 189, 73,
- 145, 228, 229, 116, 116, 73, 230, 140, 140, 140,
- 140, 140, 140, 310, 279, 155, 143, 310, 310, 310,
- 71, 71, 139, 9, 10, 11, 25, 27, 28, 29,
- 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
- 40, 41, 42, 43, 44, 45, 46, 47, 49, 142,
- 59, 60, 13, 14, 15, 16, 17, 18, 19, 20,
- 21, 22, 23, 24, 284, 140, 120, 61, 143, 145,
- 297, 279, 279, 139, 139, 250, 120, 297, 141, 279,
- 279, 259, 8, 142, 158, 164, 244, 245, 279, 247,
- 285, 140, 279, 142, 142, 31, 192, 142, 142, 143,
- 142, 79, 142, 143, 280, 285, 8, 142, 13, 8,
- 142, 187, 188, 285, 285, 315, 285, 141, 248, 31,
- 279, 308, 309, 61, 71, 73, 74, 76, 77, 78,
- 120, 136, 137, 138, 143, 144, 149, 311, 141, 144,
- 156, 279, 146, 147, 148, 118, 200, 198, 71, 293,
- 297, 304, 253, 279, 254, 255, 251, 252, 279, 279,
- 279, 279, 279, 279, 279, 279, 279, 279, 279, 279,
- 279, 279, 279, 279, 279, 279, 279, 264, 31, 279,
- 279, 279, 279, 279, 279, 279, 279, 279, 279, 279,
- 279, 262, 286, 279, 299, 279, 141, 71, 293, 140,
- 271, 266, 141, 141, 31, 226, 227, 247, 285, 279,
- 82, 279, 142, 8, 90, 90, 71, 210, 141, 71,
- 155, 141, 279, 229, 42, 43, 71, 123, 272, 273,
- 274, 73, 8, 141, 8, 141, 141, 142, 122, 285,
- 305, 306, 281, 285, 121, 141, 8, 277, 61, 120,
- 72, 279, 285, 115, 157, 158, 190, 191, 144, 71,
- 263, 197, 118, 202, 140, 140, 297, 279, 279, 279,
- 279, 279, 63, 285, 226, 71, 143, 293, 300, 302,
- 303, 149, 144, 226, 300, 26, 160, 281, 141, 8,
- 140, 141, 168, 246, 174, 172, 13, 8, 141, 171,
- 195, 144, 144, 273, 273, 139, 140, 13, 188, 142,
- 316, 140, 8, 141, 282, 31, 279, 31, 279, 312,
- 71, 61, 144, 144, 140, 119, 203, 204, 263, 143,
- 260, 261, 26, 264, 141, 279, 301, 287, 61, 143,
- 141, 267, 162, 158, 31, 247, 285, 167, 165, 244,
- 279, 285, 31, 206, 285, 273, 71, 26, 158, 209,
- 26, 143, 211, 140, 101, 71, 273, 276, 278, 273,
- 285, 307, 306, 13, 281, 281, 121, 71, 73, 74,
- 313, 279, 141, 204, 143, 8, 231, 226, 226, 256,
- 249, 144, 140, 291, 299, 279, 268, 155, 161, 281,
- 279, 26, 158, 216, 142, 121, 205, 285, 205, 13,
- 155, 142, 212, 142, 212, 71, 123, 223, 224, 225,
- 140, 121, 141, 8, 277, 305, 279, 31, 279, 149,
- 149, 142, 231, 263, 98, 105, 106, 107, 108, 109,
- 110, 111, 144, 232, 237, 238, 239, 240, 242, 141,
- 141, 279, 271, 292, 288, 149, 144, 120, 269, 163,
- 217, 141, 155, 169, 206, 141, 141, 273, 89, 212,
- 92, 93, 94, 212, 144, 141, 8, 31, 73, 178,
- 273, 273, 141, 281, 144, 144, 71, 233, 97, 240,
- 8, 142, 226, 120, 289, 300, 219, 66, 67, 221,
- 142, 83, 244, 175, 173, 142, 92, 142, 279, 26,
- 142, 215, 144, 143, 225, 73, 13, 263, 121, 13,
- 73, 241, 234, 71, 141, 300, 66, 67, 222, 140,
- 158, 142, 141, 26, 158, 208, 208, 142, 215, 214,
- 155, 31, 73, 13, 273, 179, 273, 273, 13, 8,
- 142, 192, 13, 290, 140, 26, 68, 279, 170, 155,
- 213, 155, 144, 73, 13, 273, 73, 273, 73, 71,
- 273, 291, 279, 155, 142, 141, 26, 158, 207, 87,
- 155, 13, 273, 141, 13, 235, 141, 218, 155, 142,
- 273, 180, 273, 140, 26, 158, 85, 143, 223, 220,
- 142, 155, 141, 155, 144, 142, 143, 236, 181, 155,
- 101, 182, 183, 184, 144, 140, 184, 263, 185, 73,
- 141, 186, 143, 155, 144
+ 143, 145, 146, 147, 153, 157, 158, 189, 190, 192,
+ 195, 198, 200, 246, 257, 262, 271, 274, 278, 279,
+ 282, 284, 292, 293, 294, 295, 296, 297, 303, 313,
+ 316, 278, 278, 140, 278, 278, 278, 278, 278, 278,
+ 278, 256, 278, 278, 278, 278, 278, 278, 278, 71,
+ 262, 282, 284, 282, 278, 71, 262, 263, 264, 295,
+ 296, 303, 140, 269, 140, 140, 242, 278, 165, 140,
+ 140, 140, 175, 140, 142, 278, 142, 278, 193, 142,
+ 246, 278, 284, 176, 278, 79, 140, 188, 73, 145,
+ 227, 228, 116, 116, 73, 229, 140, 140, 140, 140,
+ 140, 140, 309, 278, 154, 143, 309, 309, 71, 71,
+ 139, 9, 10, 11, 25, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
+ 42, 43, 44, 45, 46, 47, 49, 142, 59, 60,
+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
+ 23, 24, 283, 140, 120, 61, 143, 145, 296, 278,
+ 278, 139, 139, 249, 120, 296, 141, 278, 278, 258,
+ 8, 142, 157, 163, 243, 244, 278, 246, 284, 140,
+ 278, 142, 142, 31, 191, 142, 142, 143, 142, 79,
+ 142, 143, 279, 284, 8, 142, 13, 8, 142, 186,
+ 187, 284, 284, 314, 284, 141, 247, 31, 278, 307,
+ 308, 73, 78, 136, 137, 138, 310, 141, 144, 155,
+ 278, 146, 147, 118, 199, 197, 71, 292, 296, 303,
+ 252, 278, 253, 254, 250, 251, 278, 278, 278, 278,
+ 278, 278, 278, 278, 278, 278, 278, 278, 278, 278,
+ 278, 278, 278, 278, 278, 263, 31, 278, 278, 278,
+ 278, 278, 278, 278, 278, 278, 278, 278, 278, 261,
+ 285, 278, 298, 278, 141, 71, 292, 140, 270, 265,
+ 141, 141, 31, 225, 226, 246, 284, 278, 82, 278,
+ 142, 8, 90, 90, 71, 209, 141, 71, 154, 141,
+ 278, 228, 42, 43, 71, 123, 271, 272, 273, 73,
+ 8, 141, 8, 141, 141, 142, 122, 284, 304, 305,
+ 280, 284, 121, 141, 8, 276, 61, 120, 72, 278,
+ 284, 115, 156, 157, 189, 190, 144, 71, 262, 196,
+ 118, 201, 140, 140, 296, 278, 278, 278, 278, 278,
+ 63, 284, 225, 71, 143, 292, 299, 301, 302, 148,
+ 144, 225, 299, 26, 159, 280, 141, 8, 140, 141,
+ 167, 245, 173, 171, 13, 8, 141, 170, 194, 144,
+ 144, 272, 272, 139, 140, 13, 187, 142, 315, 140,
+ 8, 141, 281, 31, 278, 31, 278, 311, 71, 61,
+ 144, 144, 140, 119, 202, 203, 262, 143, 259, 260,
+ 26, 263, 141, 278, 300, 286, 61, 143, 141, 266,
+ 161, 157, 31, 246, 284, 166, 164, 243, 278, 284,
+ 31, 205, 284, 272, 71, 26, 157, 208, 26, 143,
+ 210, 140, 101, 71, 272, 275, 277, 272, 284, 306,
+ 305, 13, 280, 280, 121, 71, 73, 74, 312, 278,
+ 141, 203, 143, 8, 230, 225, 225, 255, 248, 144,
+ 140, 290, 298, 278, 267, 154, 160, 280, 278, 26,
+ 157, 215, 142, 121, 204, 284, 204, 13, 154, 142,
+ 211, 142, 211, 71, 123, 222, 223, 224, 140, 121,
+ 141, 8, 276, 304, 278, 31, 278, 148, 148, 142,
+ 230, 262, 98, 105, 106, 107, 108, 109, 110, 111,
+ 144, 231, 236, 237, 238, 239, 241, 141, 141, 278,
+ 270, 291, 287, 148, 144, 120, 268, 162, 216, 141,
+ 154, 168, 205, 141, 141, 272, 89, 211, 92, 93,
+ 94, 211, 144, 141, 8, 31, 73, 177, 272, 272,
+ 141, 280, 144, 144, 71, 232, 97, 239, 8, 142,
+ 225, 120, 288, 299, 218, 66, 67, 220, 142, 83,
+ 243, 174, 172, 142, 92, 142, 278, 26, 142, 214,
+ 144, 143, 224, 73, 13, 262, 121, 13, 73, 240,
+ 233, 71, 141, 299, 66, 67, 221, 140, 157, 142,
+ 141, 26, 157, 207, 207, 142, 214, 213, 154, 31,
+ 73, 13, 272, 178, 272, 272, 13, 8, 142, 191,
+ 13, 289, 140, 26, 68, 278, 169, 154, 212, 154,
+ 144, 73, 13, 272, 73, 272, 73, 71, 272, 290,
+ 278, 154, 142, 141, 26, 157, 206, 87, 154, 13,
+ 272, 141, 13, 234, 141, 217, 154, 142, 272, 179,
+ 272, 140, 26, 157, 85, 143, 222, 219, 142, 154,
+ 141, 154, 144, 142, 143, 235, 180, 154, 101, 181,
+ 182, 183, 144, 140, 183, 262, 184, 73, 141, 185,
+ 143, 154, 144
};
#define yyerrok (yyerrstatus = 0)
@@ -4444,486 +4436,436 @@ yyreduce:
case 322:
- { (yyval) = (yyvsp[(2) - (3)]); zend_do_end_heredoc(TSRMLS_C); }
- break;
-
- case 323:
-
{ (yyval).op_type = IS_CONST; INIT_PZVAL(&(yyval).u.constant); array_init(&(yyval).u.constant); }
break;
- case 324:
+ case 323:
{ (yyval) = (yyvsp[(1) - (2)]); }
break;
- case 327:
+ case 326:
{ zend_do_add_static_array_element(&(yyval), &(yyvsp[(3) - (5)]), &(yyvsp[(5) - (5)])); }
break;
- case 328:
+ case 327:
{ zend_do_add_static_array_element(&(yyval), NULL, &(yyvsp[(3) - (3)])); }
break;
- case 329:
+ case 328:
{ (yyval).op_type = IS_CONST; INIT_PZVAL(&(yyval).u.constant); array_init(&(yyval).u.constant); zend_do_add_static_array_element(&(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)])); }
break;
- case 330:
+ case 329:
{ (yyval).op_type = IS_CONST; INIT_PZVAL(&(yyval).u.constant); array_init(&(yyval).u.constant); zend_do_add_static_array_element(&(yyval), NULL, &(yyvsp[(1) - (1)])); }
break;
- case 331:
+ case 330:
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
- case 332:
+ case 331:
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
- case 333:
+ case 332:
{ zend_do_end_variable_parse(BP_VAR_R, 0 TSRMLS_CC); (yyval) = (yyvsp[(1) - (1)]); }
break;
- case 334:
+ case 333:
{ zend_do_end_variable_parse(BP_VAR_W, 0 TSRMLS_CC); (yyval) = (yyvsp[(1) - (1)]); }
break;
- case 335:
+ case 334:
{ zend_check_writable_variable(&(yyvsp[(1) - (2)])); }
break;
- case 336:
+ case 335:
{ zend_do_end_variable_parse(BP_VAR_RW, 0 TSRMLS_CC); (yyval) = (yyvsp[(1) - (1)]); }
break;
- case 337:
+ case 336:
{ zend_check_writable_variable(&(yyvsp[(1) - (2)])); }
break;
- case 338:
+ case 337:
{ zend_do_push_object(&(yyvsp[(1) - (2)]) TSRMLS_CC); }
break;
- case 339:
+ case 338:
{ zend_do_push_object(&(yyvsp[(4) - (4)]) TSRMLS_CC); }
break;
- case 340:
+ case 339:
{ zend_do_pop_object(&(yyval) TSRMLS_CC); (yyval).u.EA.type = (yyvsp[(1) - (7)]).u.EA.type | ((yyvsp[(7) - (7)]).u.EA.type ? (yyvsp[(7) - (7)]).u.EA.type : (yyvsp[(6) - (7)]).u.EA.type); }
break;
- case 341:
+ case 340:
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
- case 342:
+ case 341:
{ (yyval).u.EA.type = (yyvsp[(2) - (2)]).u.EA.type; }
break;
- case 343:
+ case 342:
{ (yyval).u.EA.type = 0; }
break;
- case 344:
+ case 343:
{ zend_do_push_object(&(yyvsp[(2) - (2)]) TSRMLS_CC); }
break;
- case 345:
+ case 344:
{ (yyval).u.EA.type = (yyvsp[(4) - (4)]).u.EA.type; }
break;
- case 346:
+ case 345:
{ zend_do_pop_object(&(yyvsp[(1) - (1)]) TSRMLS_CC); zend_do_begin_method_call(&(yyvsp[(1) - (1)]) TSRMLS_CC); }
break;
- case 347:
+ case 346:
{ zend_do_end_function_call(&(yyvsp[(1) - (4)]), &(yyval), &(yyvsp[(3) - (4)]), 1, 1 TSRMLS_CC); zend_do_extended_fcall_end(TSRMLS_C);
zend_do_push_object(&(yyval) TSRMLS_CC); (yyval).u.EA.type = ZEND_PARSED_METHOD_CALL; }
break;
- case 348:
+ case 347:
{ zend_do_declare_implicit_property(TSRMLS_C); (yyval).u.EA.type = ZEND_PARSED_MEMBER; }
break;
- case 349:
+ case 348:
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
- case 350:
+ case 349:
{ zend_do_indirect_references(&(yyval), &(yyvsp[(1) - (2)]), &(yyvsp[(2) - (2)]) TSRMLS_CC); }
break;
- case 351:
+ case 350:
{ (yyval) = (yyvsp[(3) - (3)]); zend_do_fetch_static_member(&(yyval), &(yyvsp[(1) - (3)]) TSRMLS_CC); }
break;
- case 352:
+ case 351:
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
- case 353:
+ case 352:
{ zend_do_begin_variable_parse(TSRMLS_C); (yyval) = (yyvsp[(1) - (1)]); (yyval).u.EA.type = ZEND_PARSED_FUNCTION_CALL; }
break;
- case 354:
+ case 353:
{ (yyval) = (yyvsp[(1) - (1)]); (yyval).u.EA.type = ZEND_PARSED_VARIABLE; }
break;
- case 355:
+ case 354:
{ zend_do_indirect_references(&(yyval), &(yyvsp[(1) - (2)]), &(yyvsp[(2) - (2)]) TSRMLS_CC); (yyval).u.EA.type = ZEND_PARSED_VARIABLE; }
break;
- case 356:
+ case 355:
{ (yyval) = (yyvsp[(1) - (1)]); (yyval).u.EA.type = ZEND_PARSED_STATIC_MEMBER; }
break;
- case 357:
+ case 356:
{ fetch_array_dim(&(yyval), &(yyvsp[(1) - (4)]), &(yyvsp[(3) - (4)]) TSRMLS_CC); }
break;
- case 358:
+ case 357:
{ fetch_string_offset(&(yyval), &(yyvsp[(1) - (4)]), &(yyvsp[(3) - (4)]) TSRMLS_CC); }
break;
- case 359:
+ case 358:
{ zend_do_begin_variable_parse(TSRMLS_C); fetch_simple_variable(&(yyval), &(yyvsp[(1) - (1)]), 1 TSRMLS_CC); }
break;
- case 360:
+ case 359:
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
- case 361:
+ case 360:
{ (yyval) = (yyvsp[(3) - (4)]); }
break;
- case 362:
+ case 361:
{ (yyval).op_type = IS_UNUSED; }
break;
- case 363:
+ case 362:
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
- case 364:
+ case 363:
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
- case 365:
+ case 364:
{ zend_do_end_variable_parse(BP_VAR_R, 0 TSRMLS_CC); }
break;
- case 366:
+ case 365:
{ znode tmp_znode; zend_do_pop_object(&tmp_znode TSRMLS_CC); zend_do_fetch_property(&(yyval), &tmp_znode, &(yyvsp[(1) - (2)]) TSRMLS_CC);}
break;
- case 367:
+ case 366:
{ fetch_array_dim(&(yyval), &(yyvsp[(1) - (4)]), &(yyvsp[(3) - (4)]) TSRMLS_CC); }
break;
- case 368:
+ case 367:
{ fetch_string_offset(&(yyval), &(yyvsp[(1) - (4)]), &(yyvsp[(3) - (4)]) TSRMLS_CC); }
break;
- case 369:
+ case 368:
{ znode tmp_znode; zend_do_pop_object(&tmp_znode TSRMLS_CC); zend_do_fetch_property(&(yyval), &tmp_znode, &(yyvsp[(1) - (1)]) TSRMLS_CC);}
break;
- case 370:
+ case 369:
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
- case 371:
+ case 370:
{ (yyval) = (yyvsp[(2) - (3)]); }
break;
- case 372:
+ case 371:
{ Z_LVAL((yyval).u.constant) = 1; }
break;
- case 373:
+ case 372:
{ Z_LVAL((yyval).u.constant)++; }
break;
- case 376:
+ case 375:
{ zend_do_add_list_element(&(yyvsp[(1) - (1)]) TSRMLS_CC); }
break;
- case 377:
+ case 376:
{ zend_do_new_list_begin(TSRMLS_C); }
break;
- case 378:
+ case 377:
{ zend_do_new_list_end(TSRMLS_C); }
break;
- case 379:
+ case 378:
{ zend_do_add_list_element(NULL TSRMLS_CC); }
break;
- case 380:
+ case 379:
{ zend_do_init_array(&(yyval), NULL, NULL, 0 TSRMLS_CC); }
break;
- case 381:
+ case 380:
{ (yyval) = (yyvsp[(1) - (2)]); }
break;
- case 382:
+ case 381:
{ zend_do_add_array_element(&(yyval), &(yyvsp[(5) - (5)]), &(yyvsp[(3) - (5)]), 0 TSRMLS_CC); }
break;
- case 383:
+ case 382:
{ zend_do_add_array_element(&(yyval), &(yyvsp[(3) - (3)]), NULL, 0 TSRMLS_CC); }
break;
- case 384:
+ case 383:
{ zend_do_init_array(&(yyval), &(yyvsp[(3) - (3)]), &(yyvsp[(1) - (3)]), 0 TSRMLS_CC); }
break;
- case 385:
+ case 384:
{ zend_do_init_array(&(yyval), &(yyvsp[(1) - (1)]), NULL, 0 TSRMLS_CC); }
break;
- case 386:
+ case 385:
{ zend_do_add_array_element(&(yyval), &(yyvsp[(6) - (6)]), &(yyvsp[(3) - (6)]), 1 TSRMLS_CC); }
break;
- case 387:
+ case 386:
{ zend_do_add_array_element(&(yyval), &(yyvsp[(4) - (4)]), NULL, 1 TSRMLS_CC); }
break;
- case 388:
+ case 387:
{ zend_do_init_array(&(yyval), &(yyvsp[(4) - (4)]), &(yyvsp[(1) - (4)]), 1 TSRMLS_CC); }
break;
- case 389:
+ case 388:
{ zend_do_init_array(&(yyval), &(yyvsp[(2) - (2)]), NULL, 1 TSRMLS_CC); }
break;
- case 390:
+ case 389:
{ zend_do_end_variable_parse(BP_VAR_R, 0 TSRMLS_CC); zend_do_add_variable(&(yyval), &(yyvsp[(1) - (2)]), &(yyvsp[(2) - (2)]) TSRMLS_CC); }
break;
- case 391:
-
- { zend_do_add_string(&(yyval), &(yyvsp[(1) - (2)]), &(yyvsp[(2) - (2)]) TSRMLS_CC); }
- break;
-
- case 392:
-
- { zend_do_add_string(&(yyval), &(yyvsp[(1) - (2)]), &(yyvsp[(2) - (2)]) TSRMLS_CC); }
- break;
-
- case 393:
-
- { zend_do_add_string(&(yyval), &(yyvsp[(1) - (2)]), &(yyvsp[(2) - (2)]) TSRMLS_CC); }
- break;
-
- case 394:
-
- { zend_do_add_char(&(yyval), &(yyvsp[(1) - (2)]), &(yyvsp[(2) - (2)]) TSRMLS_CC); }
- break;
-
- case 395:
+ case 390:
{ zend_do_add_string(&(yyval), &(yyvsp[(1) - (2)]), &(yyvsp[(2) - (2)]) TSRMLS_CC); }
break;
- case 396:
-
- { Z_LVAL((yyvsp[(2) - (2)]).u.constant) = (long) '['; zend_do_add_char(&(yyval), &(yyvsp[(1) - (2)]), &(yyvsp[(2) - (2)]) TSRMLS_CC); }
- break;
-
- case 397:
-
- { Z_LVAL((yyvsp[(2) - (2)]).u.constant) = (long) ']'; zend_do_add_char(&(yyval), &(yyvsp[(1) - (2)]), &(yyvsp[(2) - (2)]) TSRMLS_CC); }
- break;
-
- case 398:
-
- { Z_LVAL((yyvsp[(2) - (2)]).u.constant) = (long) '{'; zend_do_add_char(&(yyval), &(yyvsp[(1) - (2)]), &(yyvsp[(2) - (2)]) TSRMLS_CC); }
- break;
-
- case 399:
-
- { Z_LVAL((yyvsp[(2) - (2)]).u.constant) = (long) '}'; zend_do_add_char(&(yyval), &(yyvsp[(1) - (2)]), &(yyvsp[(2) - (2)]) TSRMLS_CC); }
- break;
-
- case 400:
-
- { znode tmp; Z_LVAL((yyvsp[(2) - (2)]).u.constant) = (long) '-'; zend_do_add_char(&tmp, &(yyvsp[(1) - (2)]), &(yyvsp[(2) - (2)]) TSRMLS_CC); Z_LVAL((yyvsp[(2) - (2)]).u.constant) = (long) '>'; zend_do_add_char(&(yyval), &tmp, &(yyvsp[(2) - (2)]) TSRMLS_CC); }
- break;
-
- case 401:
+ case 391:
{ zend_do_init_string(&(yyval) TSRMLS_CC); }
break;
- case 402:
+ case 392:
{ zend_do_begin_variable_parse(TSRMLS_C); fetch_simple_variable(&(yyval), &(yyvsp[(1) - (1)]), 1 TSRMLS_CC); }
break;
- case 403:
+ case 393:
{ zend_do_begin_variable_parse(TSRMLS_C); }
break;
- case 404:
+ case 394:
{ fetch_array_begin(&(yyval), &(yyvsp[(1) - (5)]), &(yyvsp[(4) - (5)]) TSRMLS_CC); }
break;
- case 405:
+ case 395:
{ zend_do_begin_variable_parse(TSRMLS_C); fetch_simple_variable(&(yyvsp[(2) - (3)]), &(yyvsp[(1) - (3)]), 1 TSRMLS_CC); zend_do_fetch_property(&(yyval), &(yyvsp[(2) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
break;
- case 406:
+ case 396:
{ zend_do_begin_variable_parse(TSRMLS_C); fetch_simple_variable(&(yyval), &(yyvsp[(2) - (3)]), 1 TSRMLS_CC); }
break;
- case 407:
+ case 397:
{ zend_do_begin_variable_parse(TSRMLS_C); fetch_array_begin(&(yyval), &(yyvsp[(2) - (6)]), &(yyvsp[(4) - (6)]) TSRMLS_CC); }
break;
- case 408:
+ case 398:
{ (yyval) = (yyvsp[(2) - (3)]); }
break;
- case 409:
+ case 399:
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
- case 410:
+ case 400:
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
- case 411:
+ case 401:
{ fetch_simple_variable(&(yyval), &(yyvsp[(1) - (1)]), 1 TSRMLS_CC); }
break;
- case 412:
+ case 402:
{ (yyval) = (yyvsp[(3) - (4)]); }
break;
- case 413:
+ case 403:
{ zend_do_isset_or_isempty(ZEND_ISEMPTY, &(yyval), &(yyvsp[(3) - (4)]) TSRMLS_CC); }
break;
- case 414:
+ case 404:
{ zend_do_include_or_eval(ZEND_INCLUDE, &(yyval), &(yyvsp[(2) - (2)]) TSRMLS_CC); }
break;
- case 415:
+ case 405:
{ zend_do_include_or_eval(ZEND_INCLUDE_ONCE, &(yyval), &(yyvsp[(2) - (2)]) TSRMLS_CC); }
break;
- case 416:
+ case 406:
{ zend_do_include_or_eval(ZEND_EVAL, &(yyval), &(yyvsp[(3) - (4)]) TSRMLS_CC); }
break;
- case 417:
+ case 407:
{ zend_do_include_or_eval(ZEND_REQUIRE, &(yyval), &(yyvsp[(2) - (2)]) TSRMLS_CC); }
break;
- case 418:
+ case 408:
{ zend_do_include_or_eval(ZEND_REQUIRE_ONCE, &(yyval), &(yyvsp[(2) - (2)]) TSRMLS_CC); }
break;
- case 419:
+ case 409:
{ zend_do_isset_or_isempty(ZEND_ISSET, &(yyval), &(yyvsp[(1) - (1)]) TSRMLS_CC); }
break;
- case 420:
+ case 410:
{ zend_do_boolean_and_begin(&(yyvsp[(1) - (2)]), &(yyvsp[(2) - (2)]) TSRMLS_CC); }
break;
- case 421:
+ case 411:
{ znode tmp; zend_do_isset_or_isempty(ZEND_ISSET, &tmp, &(yyvsp[(4) - (4)]) TSRMLS_CC); zend_do_boolean_and_end(&(yyval), &(yyvsp[(1) - (4)]), &tmp, &(yyvsp[(2) - (4)]) TSRMLS_CC); }
break;
- case 422:
+ case 412:
{ zend_do_fetch_constant(&(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]), ZEND_RT TSRMLS_CC); }
break;
diff --git a/Zend/zend_language_parser.output b/Zend/zend_language_parser.output
index 6c306aa..976ef39 100644
--- a/Zend/zend_language_parser.output
+++ b/Zend/zend_language_parser.output
@@ -1,5 +1,7 @@
Terminals which are not used
+ T_CHARACTER
+ T_BAD_CHARACTER
T_COMMENT
T_DOC_COMMENT
T_OPEN_TAG
@@ -8,8 +10,7 @@ Terminals which are not used
T_WHITESPACE
-State 285 conflicts: 2 shift/reduce
-State 620 conflicts: 2 shift/reduce
+State 608 conflicts: 2 shift/reduce
Grammar
@@ -486,154 +487,144 @@ Grammar
317 | class_constant
318 | common_scalar
319 | '"' encaps_list '"'
- 320 | ''' encaps_list '''
- 321 | T_START_HEREDOC encaps_list T_END_HEREDOC
+ 320 | T_START_HEREDOC encaps_list T_END_HEREDOC
- 322 static_array_pair_list: /* empty */
- 323 | non_empty_static_array_pair_list possible_comma
+ 321 static_array_pair_list: /* empty */
+ 322 | non_empty_static_array_pair_list possible_comma
- 324 possible_comma: /* empty */
- 325 | ','
+ 323 possible_comma: /* empty */
+ 324 | ','
- 326 non_empty_static_array_pair_list: non_empty_static_array_pair_list ',' static_scalar T_DOUBLE_ARROW static_scalar
- 327 | non_empty_static_array_pair_list ',' static_scalar
- 328 | static_scalar T_DOUBLE_ARROW static_scalar
- 329 | static_scalar
+ 325 non_empty_static_array_pair_list: non_empty_static_array_pair_list ',' static_scalar T_DOUBLE_ARROW static_scalar
+ 326 | non_empty_static_array_pair_list ',' static_scalar
+ 327 | static_scalar T_DOUBLE_ARROW static_scalar
+ 328 | static_scalar
- 330 expr: r_variable
- 331 | expr_without_variable
+ 329 expr: r_variable
+ 330 | expr_without_variable
- 332 r_variable: variable
+ 331 r_variable: variable
- 333 @55: /* empty */
+ 332 @55: /* empty */
- 334 w_variable: variable @55
+ 333 w_variable: variable @55
- 335 @56: /* empty */
+ 334 @56: /* empty */
- 336 rw_variable: variable @56
+ 335 rw_variable: variable @56
- 337 @57: /* empty */
+ 336 @57: /* empty */
- 338 @58: /* empty */
+ 337 @58: /* empty */
- 339 variable: base_variable_with_function_calls T_OBJECT_OPERATOR @57 object_property @58 method_or_not variable_properties
- 340 | base_variable_with_function_calls
+ 338 variable: base_variable_with_function_calls T_OBJECT_OPERATOR @57 object_property @58 method_or_not variable_properties
+ 339 | base_variable_with_function_calls
- 341 variable_properties: variable_properties variable_property
- 342 | /* empty */
+ 340 variable_properties: variable_properties variable_property
+ 341 | /* empty */
- 343 @59: /* empty */
+ 342 @59: /* empty */
- 344 variable_property: T_OBJECT_OPERATOR object_property @59 method_or_not
+ 343 variable_property: T_OBJECT_OPERATOR object_property @59 method_or_not
- 345 @60: /* empty */
+ 344 @60: /* empty */
- 346 method_or_not: '(' @60 function_call_parameter_list ')'
- 347 | /* empty */
+ 345 method_or_not: '(' @60 function_call_parameter_list ')'
+ 346 | /* empty */
- 348 variable_without_objects: reference_variable
- 349 | simple_indirect_reference reference_variable
+ 347 variable_without_objects: reference_variable
+ 348 | simple_indirect_reference reference_variable
- 350 static_member: fully_qualified_class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects
+ 349 static_member: fully_qualified_class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects
- 351 base_variable_with_function_calls: base_variable
- 352 | function_call
+ 350 base_variable_with_function_calls: base_variable
+ 351 | function_call
- 353 base_variable: reference_variable
- 354 | simple_indirect_reference reference_variable
- 355 | static_member
+ 352 base_variable: reference_variable
+ 353 | simple_indirect_reference reference_variable
+ 354 | static_member
- 356 reference_variable: reference_variable '[' dim_offset ']'
- 357 | reference_variable '{' expr '}'
- 358 | compound_variable
+ 355 reference_variable: reference_variable '[' dim_offset ']'
+ 356 | reference_variable '{' expr '}'
+ 357 | compound_variable
- 359 compound_variable: T_VARIABLE
- 360 | '$' '{' expr '}'
+ 358 compound_variable: T_VARIABLE
+ 359 | '$' '{' expr '}'
- 361 dim_offset: /* empty */
- 362 | expr
+ 360 dim_offset: /* empty */
+ 361 | expr
- 363 object_property: object_dim_list
+ 362 object_property: object_dim_list
- 364 @61: /* empty */
+ 363 @61: /* empty */
- 365 object_property: variable_without_objects @61
+ 364 object_property: variable_without_objects @61
- 366 object_dim_list: object_dim_list '[' dim_offset ']'
- 367 | object_dim_list '{' expr '}'
- 368 | variable_name
+ 365 object_dim_list: object_dim_list '[' dim_offset ']'
+ 366 | object_dim_list '{' expr '}'
+ 367 | variable_name
- 369 variable_name: T_STRING
- 370 | '{' expr '}'
+ 368 variable_name: T_STRING
+ 369 | '{' expr '}'
- 371 simple_indirect_reference: '$'
- 372 | simple_indirect_reference '$'
+ 370 simple_indirect_reference: '$'
+ 371 | simple_indirect_reference '$'
- 373 assignment_list: assignment_list ',' assignment_list_element
- 374 | assignment_list_element
+ 372 assignment_list: assignment_list ',' assignment_list_element
+ 373 | assignment_list_element
- 375 assignment_list_element: variable
+ 374 assignment_list_element: variable
- 376 @62: /* empty */
+ 375 @62: /* empty */
- 377 assignment_list_element: T_LIST '(' @62 assignment_list ')'
- 378 | /* empty */
+ 376 assignment_list_element: T_LIST '(' @62 assignment_list ')'
+ 377 | /* empty */
- 379 array_pair_list: /* empty */
- 380 | non_empty_array_pair_list possible_comma
+ 378 array_pair_list: /* empty */
+ 379 | non_empty_array_pair_list possible_comma
- 381 non_empty_array_pair_list: non_empty_array_pair_list ',' expr T_DOUBLE_ARROW expr
- 382 | non_empty_array_pair_list ',' expr
- 383 | expr T_DOUBLE_ARROW expr
- 384 | expr
- 385 | non_empty_array_pair_list ',' expr T_DOUBLE_ARROW '&' w_variable
- 386 | non_empty_array_pair_list ',' '&' w_variable
- 387 | expr T_DOUBLE_ARROW '&' w_variable
- 388 | '&' w_variable
+ 380 non_empty_array_pair_list: non_empty_array_pair_list ',' expr T_DOUBLE_ARROW expr
+ 381 | non_empty_array_pair_list ',' expr
+ 382 | expr T_DOUBLE_ARROW expr
+ 383 | expr
+ 384 | non_empty_array_pair_list ',' expr T_DOUBLE_ARROW '&' w_variable
+ 385 | non_empty_array_pair_list ',' '&' w_variable
+ 386 | expr T_DOUBLE_ARROW '&' w_variable
+ 387 | '&' w_variable
- 389 encaps_list: encaps_list encaps_var
- 390 | encaps_list T_STRING
- 391 | encaps_list T_NUM_STRING
- 392 | encaps_list T_ENCAPSED_AND_WHITESPACE
- 393 | encaps_list T_CHARACTER
- 394 | encaps_list T_BAD_CHARACTER
- 395 | encaps_list '['
- 396 | encaps_list ']'
- 397 | encaps_list '{'
- 398 | encaps_list '}'
- 399 | encaps_list T_OBJECT_OPERATOR
- 400 | /* empty */
+ 388 encaps_list: encaps_list encaps_var
+ 389 | encaps_list T_ENCAPSED_AND_WHITESPACE
+ 390 | /* empty */
- 401 encaps_var: T_VARIABLE
+ 391 encaps_var: T_VARIABLE
- 402 @63: /* empty */
+ 392 @63: /* empty */
- 403 encaps_var: T_VARIABLE '[' @63 encaps_var_offset ']'
- 404 | T_VARIABLE T_OBJECT_OPERATOR T_STRING
- 405 | T_DOLLAR_OPEN_CURLY_BRACES expr '}'
- 406 | T_DOLLAR_OPEN_CURLY_BRACES T_STRING_VARNAME '[' expr ']' '}'
- 407 | T_CURLY_OPEN variable '}'
+ 393 encaps_var: T_VARIABLE '[' @63 encaps_var_offset ']'
+ 394 | T_VARIABLE T_OBJECT_OPERATOR T_STRING
+ 395 | T_DOLLAR_OPEN_CURLY_BRACES expr '}'
+ 396 | T_DOLLAR_OPEN_CURLY_BRACES T_STRING_VARNAME '[' expr ']' '}'
+ 397 | T_CURLY_OPEN variable '}'
- 408 encaps_var_offset: T_STRING
- 409 | T_NUM_STRING
- 410 | T_VARIABLE
+ 398 encaps_var_offset: T_STRING
+ 399 | T_NUM_STRING
+ 400 | T_VARIABLE
- 411 internal_functions_in_yacc: T_ISSET '(' isset_variables ')'
- 412 | T_EMPTY '(' variable ')'
- 413 | T_INCLUDE expr
- 414 | T_INCLUDE_ONCE expr
- 415 | T_EVAL '(' expr ')'
- 416 | T_REQUIRE expr
- 417 | T_REQUIRE_ONCE expr
+ 401 internal_functions_in_yacc: T_ISSET '(' isset_variables ')'
+ 402 | T_EMPTY '(' variable ')'
+ 403 | T_INCLUDE expr
+ 404 | T_INCLUDE_ONCE expr
+ 405 | T_EVAL '(' expr ')'
+ 406 | T_REQUIRE expr
+ 407 | T_REQUIRE_ONCE expr
- 418 isset_variables: variable
+ 408 isset_variables: variable
- 419 @64: /* empty */
+ 409 @64: /* empty */
- 420 isset_variables: isset_variables ',' @64 variable
+ 410 isset_variables: isset_variables ',' @64 variable
- 421 class_constant: fully_qualified_class_name T_PAAMAYIM_NEKUDOTAYIM T_STRING
+ 411 class_constant: fully_qualified_class_name T_PAAMAYIM_NEKUDOTAYIM T_STRING
Terminals, with rules where they appear
@@ -641,18 +632,17 @@ Terminals, with rules where they appear
$end (0) 0
'!' (33) 247
'"' (34) 319
-'$' (36) 160 161 360 371 372
+'$' (36) 160 161 359 370 371
'%' (37) 242
-'&' (38) 81 104 139 140 143 144 153 156 204 206 235 385 386 387 388
-''' (39) 320
+'&' (38) 81 104 139 140 143 144 153 156 204 206 235 384 385 386 387
'(' (40) 8 15 20 23 26 29 33 35 49 52 55 57 64 72 77 84 128 131 173
- 202 258 274 278 280 282 284 296 297 299 312 346 377 411 412 415
+ 202 258 274 278 280 282 284 296 297 299 312 345 376 401 402 405
')' (41) 8 15 20 23 26 29 33 35 49 52 55 57 64 72 77 84 128 131 173
- 202 258 274 278 280 282 284 296 297 299 312 346 377 411 412 415
+ 202 258 274 278 280 282 284 296 297 299 312 345 376 401 402 405
'*' (42) 240
'+' (43) 238 245 310
',' (44) 74 100 112 142 143 144 145 154 155 156 157 162 163 188 189
- 192 194 199 325 326 327 373 381 382 385 386 420
+ 192 194 199 324 325 326 372 380 381 384 385 410
'-' (45) 239 246 311
'.' (46) 237
'/' (47) 241
@@ -665,21 +655,21 @@ $end (0) 0
'>' (62) 255
'?' (63) 261
'@' (64) 272
-'[' (91) 356 366 395 403 406
-']' (93) 356 366 396 403 406
+'[' (91) 355 365 393 396
+']' (93) 355 365 393 396
'^' (94) 236
'`' (96) 275
-'{' (123) 17 64 72 84 86 88 113 114 161 175 357 360 367 370 397
+'{' (123) 17 64 72 84 86 88 113 114 161 175 356 359 366 369
'|' (124) 234
-'}' (125) 17 64 72 84 86 88 113 114 161 175 357 360 367 370 398 405
- 406 407
+'}' (125) 17 64 72 84 86 88 113 114 161 175 356 359 366 369 395 396
+ 397
'~' (126) 248
error (256)
-T_REQUIRE_ONCE (258) 417
-T_REQUIRE (259) 416
-T_EVAL (260) 415
-T_INCLUDE_ONCE (261) 414
-T_INCLUDE (262) 413
+T_REQUIRE_ONCE (258) 407
+T_REQUIRE (259) 406
+T_EVAL (260) 405
+T_INCLUDE_ONCE (261) 404
+T_INCLUDE (262) 403
T_LOGICAL_OR (263) 230
T_LOGICAL_XOR (264) 233
T_LOGICAL_AND (265) 232
@@ -725,15 +715,15 @@ T_ENDIF (304) 23
T_LNUMBER (305) 300
T_DNUMBER (306) 301
T_STRING (307) 84 86 88 111 112 147 173 192 193 278 280 285 286 309
- 314 315 369 390 404 408 421
-T_STRING_VARNAME (308) 316 406
+ 314 315 368 394 398 411
+T_STRING_VARNAME (308) 316 396
T_VARIABLE (309) 64 72 138 139 140 141 142 143 144 145 159 162 163
- 164 165 188 189 190 191 359 401 403 404 410
-T_NUM_STRING (310) 391 409
+ 164 165 188 189 190 191 358 391 393 394 400
+T_NUM_STRING (310) 399
T_INLINE_HTML (311) 46
-T_CHARACTER (312) 393
-T_BAD_CHARACTER (313) 394
-T_ENCAPSED_AND_WHITESPACE (314) 392
+T_CHARACTER (312)
+T_BAD_CHARACTER (313)
+T_ENCAPSED_AND_WHITESPACE (314) 389
T_CONSTANT_ENCAPSED_STRING (315) 76 77 302
T_ECHO (316) 45
T_DO (317) 29
@@ -768,16 +758,16 @@ T_ABSTRACT (345) 90 186
T_STATIC (346) 44 185
T_VAR (347) 177
T_UNSET (348) 49
-T_ISSET (349) 411
-T_EMPTY (350) 412
+T_ISSET (349) 401
+T_EMPTY (350) 402
T_HALT_COMPILER (351) 8 15
T_CLASS (352) 89 90 91
T_INTERFACE (353) 94
T_EXTENDS (354) 93 96
T_IMPLEMENTS (355) 98
-T_OBJECT_OPERATOR (356) 290 294 339 344 399 404
-T_DOUBLE_ARROW (357) 102 326 328 381 383 385 387
-T_LIST (358) 202 377
+T_OBJECT_OPERATOR (356) 290 294 338 343 394
+T_DOUBLE_ARROW (357) 102 325 327 380 382 384 386
+T_LIST (358) 202 376
T_ARRAY (359) 148 274 312
T_CLASS_C (360) 305
T_METHOD_C (361) 306
@@ -790,369 +780,367 @@ T_OPEN_TAG (367)
T_OPEN_TAG_WITH_ECHO (368)
T_CLOSE_TAG (369)
T_WHITESPACE (370)
-T_START_HEREDOC (371) 321
-T_END_HEREDOC (372) 321
-T_DOLLAR_OPEN_CURLY_BRACES (373) 405 406
-T_CURLY_OPEN (374) 407
-T_PAAMAYIM_NEKUDOTAYIM (375) 280 282 314 350 421
+T_START_HEREDOC (371) 320
+T_END_HEREDOC (372) 320
+T_DOLLAR_OPEN_CURLY_BRACES (373) 395 396
+T_CURLY_OPEN (374) 397
+T_PAAMAYIM_NEKUDOTAYIM (375) 280 282 314 349 411
Nonterminals, with rules where they appear
-$accept (150)
+$accept (149)
on left: 0
-start (151)
+start (150)
on left: 1, on right: 0
-top_statement_list (152)
+top_statement_list (151)
on left: 3 4, on right: 1 3
-@1 (153)
+@1 (152)
on left: 2, on right: 3
-top_statement (154)
+top_statement (153)
on left: 5 6 7 8, on right: 3
-inner_statement_list (155)
+inner_statement_list (154)
on left: 10 11, on right: 10 17 23 64 72 84 106 108 110 119 121
125 131 135 175
-@2 (156)
+@2 (155)
on left: 9, on right: 10
-inner_statement (157)
+inner_statement (156)
on left: 12 13 14 15, on right: 10
-statement (158)
+statement (157)
on left: 16, on right: 5 12 20 29 105 107 109 124 128 133
-unticked_statement (159)
+unticked_statement (158)
on left: 17 20 23 26 29 33 35 36 37 38 39 40 41 42 43 44 45 46
47 48 49 52 55 57 58 64 65, on right: 16
-@3 (160)
+@3 (159)
on left: 18, on right: 20
-@4 (161)
+@4 (160)
on left: 19, on right: 20
-@5 (162)
+@5 (161)
on left: 21, on right: 23
-@6 (163)
+@6 (162)
on left: 22, on right: 23
-@7 (164)
+@7 (163)
on left: 24, on right: 26
-@8 (165)
+@8 (164)
on left: 25, on right: 26
-@9 (166)
+@9 (165)
on left: 27, on right: 29
-@10 (167)
+@10 (166)
on left: 28, on right: 29
-@11 (168)
+@11 (167)
on left: 30, on right: 33
-@12 (169)
+@12 (168)
on left: 31, on right: 33
-@13 (170)
+@13 (169)
on left: 32, on right: 33
-@14 (171)
+@14 (170)
on left: 34, on right: 35
-@15 (172)
+@15 (171)
on left: 50, on right: 52
-@16 (173)
+@16 (172)
on left: 51, on right: 52
-@17 (174)
+@17 (173)
on left: 53, on right: 55
-@18 (175)
+@18 (174)
on left: 54, on right: 55
-@19 (176)
+@19 (175)
on left: 56, on right: 57
-@20 (177)
+@20 (176)
on left: 59, on right: 64
-@21 (178)
+@21 (177)
on left: 60, on right: 64
-@22 (179)
+@22 (178)
on left: 61, on right: 64
-@23 (180)
+@23 (179)
on left: 62, on right: 64
-@24 (181)
+@24 (180)
on left: 63, on right: 64
-additional_catches (182)
+additional_catches (181)
on left: 66 67, on right: 64
-non_empty_additional_catches (183)
+non_empty_additional_catches (182)
on left: 68 69, on right: 66 69
-additional_catch (184)
+additional_catch (183)
on left: 72, on right: 68 69
-@25 (185)
+@25 (184)
on left: 70, on right: 72
-@26 (186)
+@26 (185)
on left: 71, on right: 72
-unset_variables (187)
+unset_variables (186)
on left: 73 74, on right: 49 74
-unset_variable (188)
+unset_variable (187)
on left: 75, on right: 73 74
-use_filename (189)
+use_filename (188)
on left: 76 77, on right: 48
-function_declaration_statement (190)
+function_declaration_statement (189)
on left: 78, on right: 6 13
-class_declaration_statement (191)
+class_declaration_statement (190)
on left: 79, on right: 7 14
-is_reference (192)
+is_reference (191)
on left: 80 81, on right: 84 173
-unticked_function_declaration_statement (193)
+unticked_function_declaration_statement (192)
on left: 84, on right: 78
-@27 (194)
+@27 (193)
on left: 82, on right: 84
-@28 (195)
+@28 (194)
on left: 83, on right: 84
-unticked_class_declaration_statement (196)
+unticked_class_declaration_statement (195)
on left: 86 88, on right: 79
-@29 (197)
+@29 (196)
on left: 85, on right: 86
-@30 (198)
+@30 (197)
on left: 87, on right: 88
-class_entry_type (199)
+class_entry_type (198)
on left: 89 90 91, on right: 86
-extends_from (200)
+extends_from (199)
on left: 92 93, on right: 86
-interface_entry (201)
+interface_entry (200)
on left: 94, on right: 88
-interface_extends_list (202)
+interface_extends_list (201)
on left: 95 96, on right: 88
-implements_list (203)
+implements_list (202)
on left: 97 98, on right: 86
-interface_list (204)
+interface_list (203)
on left: 99 100, on right: 96 98 100
-foreach_optional_arg (205)
+foreach_optional_arg (204)
on left: 101 102, on right: 52 55
-foreach_variable (206)
+foreach_variable (205)
on left: 103 104, on right: 52 102
-for_statement (207)
+for_statement (206)
on left: 105 106, on right: 33
-foreach_statement (208)
+foreach_statement (207)
on left: 107 108, on right: 52 55
-declare_statement (209)
+declare_statement (208)
on left: 109 110, on right: 57
-declare_list (210)
+declare_list (209)
on left: 111 112, on right: 57 112
-switch_case_list (211)
+switch_case_list (210)
on left: 113 114 115 116, on right: 35
-case_list (212)
+case_list (211)
on left: 117 119 121, on right: 113 114 115 116 119 121
-@31 (213)
+@31 (212)
on left: 118, on right: 119
-@32 (214)
+@32 (213)
on left: 120, on right: 121
-case_separator (215)
+case_separator (214)
on left: 122 123, on right: 119 121
-while_statement (216)
+while_statement (215)
on left: 124 125, on right: 26
-elseif_list (217)
+elseif_list (216)
on left: 126 128, on right: 20 128
-@33 (218)
+@33 (217)
on left: 127, on right: 128
-new_elseif_list (219)
+new_elseif_list (218)
on left: 129 131, on right: 23 131
-@34 (220)
+@34 (219)
on left: 130, on right: 131
-else_single (221)
+else_single (220)
on left: 132 133, on right: 20
-new_else_single (222)
+new_else_single (221)
on left: 134 135, on right: 23
-parameter_list (223)
+parameter_list (222)
on left: 136 137, on right: 84 173
-non_empty_parameter_list (224)
+non_empty_parameter_list (223)
on left: 138 139 140 141 142 143 144 145, on right: 136 142 143
144 145
-optional_class_type (225)
+optional_class_type (224)
on left: 146 147 148, on right: 138 139 140 141 142 143 144 145
-function_call_parameter_list (226)
- on left: 149 150, on right: 278 280 282 284 299 346
-non_empty_function_call_parameter_list (227)
+function_call_parameter_list (225)
+ on left: 149 150, on right: 278 280 282 284 299 345
+non_empty_function_call_parameter_list (226)
on left: 151 152 153 154 155 156, on right: 149 154 155 156
-global_var_list (228)
+global_var_list (227)
on left: 157 158, on right: 43 157
-global_var (229)
+global_var (228)
on left: 159 160 161, on right: 157 158
-static_var_list (230)
+static_var_list (229)
on left: 162 163 164 165, on right: 44 162 163
-class_statement_list (231)
+class_statement_list (230)
on left: 166 167, on right: 86 88 166
-class_statement (232)
+class_statement (231)
on left: 169 170 173, on right: 166
-@35 (233)
+@35 (232)
on left: 168, on right: 169
-@36 (234)
+@36 (233)
on left: 171, on right: 173
-@37 (235)
+@37 (234)
on left: 172, on right: 173
-method_body (236)
+method_body (235)
on left: 174 175, on right: 173
-variable_modifiers (237)
+variable_modifiers (236)
on left: 176 177, on right: 169
-method_modifiers (238)
+method_modifiers (237)
on left: 178 179, on right: 173
-non_empty_member_modifiers (239)
+non_empty_member_modifiers (238)
on left: 180 181, on right: 176 179 181
-member_modifier (240)
+member_modifier (239)
on left: 182 183 184 185 186 187, on right: 180 181
-class_variable_declaration (241)
+class_variable_declaration (240)
on left: 188 189 190 191, on right: 169 188 189
-class_constant_declaration (242)
+class_constant_declaration (241)
on left: 192 193, on right: 170 192
-echo_expr_list (243)
+echo_expr_list (242)
on left: 194 195, on right: 45 194
-for_expr (244)
+for_expr (243)
on left: 196 197, on right: 33
-non_empty_for_expr (245)
+non_empty_for_expr (244)
on left: 199 200, on right: 197 199
-@38 (246)
+@38 (245)
on left: 198, on right: 199
-expr_without_variable (247)
+expr_without_variable (246)
on left: 202 203 204 206 208 209 210 211 212 213 214 215 216 217
218 219 220 221 222 223 224 226 228 230 232 233 234 235 236 237
238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253
254 255 256 257 258 261 262 263 264 265 266 267 268 269 270 272
- 273 274 275 276, on right: 41 55 151 154 331
-@39 (248)
+ 273 274 275 276, on right: 41 55 151 154 330
+@39 (247)
on left: 201, on right: 202
-@40 (249)
+@40 (248)
on left: 205, on right: 206
-@41 (250)
+@41 (249)
on left: 207, on right: 208
-@42 (251)
+@42 (250)
on left: 225, on right: 226
-@43 (252)
+@43 (251)
on left: 227, on right: 228
-@44 (253)
+@44 (252)
on left: 229, on right: 230
-@45 (254)
+@45 (253)
on left: 231, on right: 232
-@46 (255)
+@46 (254)
on left: 259, on right: 261
-@47 (256)
+@47 (255)
on left: 260, on right: 261
-@48 (257)
+@48 (256)
on left: 271, on right: 272
-function_call (258)
- on left: 278 280 282 284, on right: 352
-@49 (259)
+function_call (257)
+ on left: 278 280 282 284, on right: 351
+@49 (258)
on left: 277, on right: 278
-@50 (260)
+@50 (259)
on left: 279, on right: 280
-@51 (261)
+@51 (260)
on left: 281, on right: 282
-@52 (262)
+@52 (261)
on left: 283, on right: 284
-fully_qualified_class_name (263)
- on left: 285, on right: 64 72 93 99 100 280 282 350 421
-class_name_reference (264)
+fully_qualified_class_name (262)
+ on left: 285, on right: 64 72 93 99 100 280 282 349 411
+class_name_reference (263)
on left: 286 287, on right: 206 208 257
-dynamic_class_name_reference (265)
+dynamic_class_name_reference (264)
on left: 290 291, on right: 287
-@53 (266)
+@53 (265)
on left: 288, on right: 290
-@54 (267)
+@54 (266)
on left: 289, on right: 290
-dynamic_class_name_variable_properties (268)
+dynamic_class_name_variable_properties (267)
on left: 292 293, on right: 290 292
-dynamic_class_name_variable_property (269)
+dynamic_class_name_variable_property (268)
on left: 294, on right: 292
-exit_expr (270)
+exit_expr (269)
on left: 295 296 297, on right: 270
-ctor_arguments (271)
+ctor_arguments (270)
on left: 298 299, on right: 206 208
-common_scalar (272)
+common_scalar (271)
on left: 300 301 302 303 304 305 306 307, on right: 308 318
-static_scalar (273)
+static_scalar (272)
on left: 308 309 310 311 312 313, on right: 111 112 140 141 144
- 145 163 165 189 191 192 193 310 311 326 327 328 329
-static_class_constant (274)
+ 145 163 165 189 191 192 193 310 311 325 326 327 328
+static_class_constant (273)
on left: 314, on right: 313
-scalar (275)
- on left: 315 316 317 318 319 320 321, on right: 273
-static_array_pair_list (276)
- on left: 322 323, on right: 312
-possible_comma (277)
- on left: 324 325, on right: 323 380
-non_empty_static_array_pair_list (278)
- on left: 326 327 328 329, on right: 323 326 327
-expr (279)
- on left: 330 331, on right: 20 23 26 29 35 37 39 47 65 119 128
+scalar (274)
+ on left: 315 316 317 318 319 320, on right: 273
+static_array_pair_list (275)
+ on left: 321 322, on right: 312
+possible_comma (276)
+ on left: 323 324, on right: 322 379
+non_empty_static_array_pair_list (277)
+ on left: 325 326 327 328, on right: 322 325 326
+expr (278)
+ on left: 329 330, on right: 20 23 26 29 35 37 39 47 65 119 128
131 161 194 195 199 200 202 203 209 210 211 212 213 214 215 216
217 218 219 220 226 228 230 232 233 234 235 236 237 238 239 240
241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256
- 257 258 261 263 264 265 266 267 268 269 272 276 297 357 360 362
- 367 370 381 382 383 384 385 387 405 406 413 414 415 416 417
-r_variable (280)
- on left: 332, on right: 160 330
-w_variable (281)
- on left: 334, on right: 153 156 385 386 387 388
-@55 (282)
- on left: 333, on right: 334
-rw_variable (283)
- on left: 336, on right: 221 222 223 224
-@56 (284)
- on left: 335, on right: 336
-variable (285)
- on left: 339 340, on right: 42 52 55 75 103 104 152 155 203 204
- 206 210 211 212 213 214 215 216 217 218 219 220 332 334 336 375
- 407 412 418 420
-@57 (286)
- on left: 337, on right: 339
-@58 (287)
- on left: 338, on right: 339
-variable_properties (288)
- on left: 341 342, on right: 339 341
-variable_property (289)
- on left: 344, on right: 341
-@59 (290)
- on left: 343, on right: 344
-method_or_not (291)
- on left: 346 347, on right: 339 344
-@60 (292)
- on left: 345, on right: 346
-variable_without_objects (293)
- on left: 348 349, on right: 282 284 350 365
-static_member (294)
- on left: 350, on right: 355
-base_variable_with_function_calls (295)
- on left: 351 352, on right: 339 340
-base_variable (296)
- on left: 353 354 355, on right: 290 291 351
-reference_variable (297)
- on left: 356 357 358, on right: 348 349 353 354 356 357
-compound_variable (298)
- on left: 359 360, on right: 358
-dim_offset (299)
- on left: 361 362, on right: 356 366
-object_property (300)
- on left: 363 365, on right: 290 294 339 344
-@61 (301)
- on left: 364, on right: 365
-object_dim_list (302)
- on left: 366 367 368, on right: 363 366 367
-variable_name (303)
- on left: 369 370, on right: 368
-simple_indirect_reference (304)
- on left: 371 372, on right: 349 354 372
-assignment_list (305)
- on left: 373 374, on right: 202 373 377
-assignment_list_element (306)
- on left: 375 377 378, on right: 373 374
-@62 (307)
- on left: 376, on right: 377
-array_pair_list (308)
- on left: 379 380, on right: 274
-non_empty_array_pair_list (309)
- on left: 381 382 383 384 385 386 387 388, on right: 380 381 382
- 385 386
-encaps_list (310)
- on left: 389 390 391 392 393 394 395 396 397 398 399 400,
- on right: 275 319 320 321 389 390 391 392 393 394 395 396 397 398
- 399
-encaps_var (311)
- on left: 401 403 404 405 406 407, on right: 389
-@63 (312)
- on left: 402, on right: 403
-encaps_var_offset (313)
- on left: 408 409 410, on right: 403
-internal_functions_in_yacc (314)
- on left: 411 412 413 414 415 416 417, on right: 262
-isset_variables (315)
- on left: 418 420, on right: 411 420
-@64 (316)
- on left: 419, on right: 420
-class_constant (317)
- on left: 421, on right: 317
+ 257 258 261 263 264 265 266 267 268 269 272 276 297 356 359 361
+ 366 369 380 381 382 383 384 386 395 396 403 404 405 406 407
+r_variable (279)
+ on left: 331, on right: 160 329
+w_variable (280)
+ on left: 333, on right: 153 156 384 385 386 387
+@55 (281)
+ on left: 332, on right: 333
+rw_variable (282)
+ on left: 335, on right: 221 222 223 224
+@56 (283)
+ on left: 334, on right: 335
+variable (284)
+ on left: 338 339, on right: 42 52 55 75 103 104 152 155 203 204
+ 206 210 211 212 213 214 215 216 217 218 219 220 331 333 335 374
+ 397 402 408 410
+@57 (285)
+ on left: 336, on right: 338
+@58 (286)
+ on left: 337, on right: 338
+variable_properties (287)
+ on left: 340 341, on right: 338 340
+variable_property (288)
+ on left: 343, on right: 340
+@59 (289)
+ on left: 342, on right: 343
+method_or_not (290)
+ on left: 345 346, on right: 338 343
+@60 (291)
+ on left: 344, on right: 345
+variable_without_objects (292)
+ on left: 347 348, on right: 282 284 349 364
+static_member (293)
+ on left: 349, on right: 354
+base_variable_with_function_calls (294)
+ on left: 350 351, on right: 338 339
+base_variable (295)
+ on left: 352 353 354, on right: 290 291 350
+reference_variable (296)
+ on left: 355 356 357, on right: 347 348 352 353 355 356
+compound_variable (297)
+ on left: 358 359, on right: 357
+dim_offset (298)
+ on left: 360 361, on right: 355 365
+object_property (299)
+ on left: 362 364, on right: 290 294 338 343
+@61 (300)
+ on left: 363, on right: 364
+object_dim_list (301)
+ on left: 365 366 367, on right: 362 365 366
+variable_name (302)
+ on left: 368 369, on right: 367
+simple_indirect_reference (303)
+ on left: 370 371, on right: 348 353 371
+assignment_list (304)
+ on left: 372 373, on right: 202 372 376
+assignment_list_element (305)
+ on left: 374 376 377, on right: 372 373
+@62 (306)
+ on left: 375, on right: 376
+array_pair_list (307)
+ on left: 378 379, on right: 274
+non_empty_array_pair_list (308)
+ on left: 380 381 382 383 384 385 386 387, on right: 379 380 381
+ 384 385
+encaps_list (309)
+ on left: 388 389 390, on right: 275 319 320 388 389
+encaps_var (310)
+ on left: 391 393 394 395 396 397, on right: 388
+@63 (311)
+ on left: 392, on right: 393
+encaps_var_offset (312)
+ on left: 398 399 400, on right: 393
+internal_functions_in_yacc (313)
+ on left: 401 402 403 404 405 406 407, on right: 262
+isset_variables (314)
+ on left: 408 410, on right: 401 410
+@64 (315)
+ on left: 409, on right: 410
+class_constant (316)
+ on left: 411, on right: 317
state 0
@@ -1263,40 +1251,39 @@ state 4
'$' shift, and go to state 71
'`' shift, and go to state 72
'"' shift, and go to state 73
- ''' shift, and go to state 74
-
- top_statement go to state 75
- statement go to state 76
- unticked_statement go to state 77
- function_declaration_statement go to state 78
- class_declaration_statement go to state 79
- unticked_function_declaration_statement go to state 80
- unticked_class_declaration_statement go to state 81
- class_entry_type go to state 82
- interface_entry go to state 83
- expr_without_variable go to state 84
- function_call go to state 85
- fully_qualified_class_name go to state 86
- common_scalar go to state 87
- scalar go to state 88
- expr go to state 89
- r_variable go to state 90
- rw_variable go to state 91
- variable go to state 92
- variable_without_objects go to state 93
- static_member go to state 94
- base_variable_with_function_calls go to state 95
- base_variable go to state 96
- reference_variable go to state 97
- compound_variable go to state 98
- simple_indirect_reference go to state 99
- internal_functions_in_yacc go to state 100
- class_constant go to state 101
+
+ top_statement go to state 74
+ statement go to state 75
+ unticked_statement go to state 76
+ function_declaration_statement go to state 77
+ class_declaration_statement go to state 78
+ unticked_function_declaration_statement go to state 79
+ unticked_class_declaration_statement go to state 80
+ class_entry_type go to state 81
+ interface_entry go to state 82
+ expr_without_variable go to state 83
+ function_call go to state 84
+ fully_qualified_class_name go to state 85
+ common_scalar go to state 86
+ scalar go to state 87
+ expr go to state 88
+ r_variable go to state 89
+ rw_variable go to state 90
+ variable go to state 91
+ variable_without_objects go to state 92
+ static_member go to state 93
+ base_variable_with_function_calls go to state 94
+ base_variable go to state 95
+ reference_variable go to state 96
+ compound_variable go to state 97
+ simple_indirect_reference go to state 98
+ internal_functions_in_yacc go to state 99
+ class_constant go to state 100
state 5
- 417 internal_functions_in_yacc: T_REQUIRE_ONCE . expr
+ 407 internal_functions_in_yacc: T_REQUIRE_ONCE . expr
T_REQUIRE_ONCE shift, and go to state 5
T_REQUIRE shift, and go to state 6
@@ -1341,31 +1328,30 @@ state 5
'$' shift, and go to state 71
'`' shift, and go to state 72
'"' shift, and go to state 73
- ''' shift, and go to state 74
- expr_without_variable go to state 84
- function_call go to state 85
- fully_qualified_class_name go to state 86
- common_scalar go to state 87
- scalar go to state 88
- expr go to state 102
- r_variable go to state 90
- rw_variable go to state 91
- variable go to state 92
- variable_without_objects go to state 93
- static_member go to state 94
- base_variable_with_function_calls go to state 95
- base_variable go to state 96
- reference_variable go to state 97
- compound_variable go to state 98
- simple_indirect_reference go to state 99
- internal_functions_in_yacc go to state 100
- class_constant go to state 101
+ expr_without_variable go to state 83
+ function_call go to state 84
+ fully_qualified_class_name go to state 85
+ common_scalar go to state 86
+ scalar go to state 87
+ expr go to state 101
+ r_variable go to state 89
+ rw_variable go to state 90
+ variable go to state 91
+ variable_without_objects go to state 92
+ static_member go to state 93
+ base_variable_with_function_calls go to state 94
+ base_variable go to state 95
+ reference_variable go to state 96
+ compound_variable go to state 97
+ simple_indirect_reference go to state 98
+ internal_functions_in_yacc go to state 99
+ class_constant go to state 100
state 6
- 416 internal_functions_in_yacc: T_REQUIRE . expr
+ 406 internal_functions_in_yacc: T_REQUIRE . expr
T_REQUIRE_ONCE shift, and go to state 5
T_REQUIRE shift, and go to state 6
@@ -1410,38 +1396,37 @@ state 6
'$' shift, and go to state 71
'`' shift, and go to state 72
'"' shift, and go to state 73
- ''' shift, and go to state 74
-
- expr_without_variable go to state 84
- function_call go to state 85
- fully_qualified_class_name go to state 86
- common_scalar go to state 87
- scalar go to state 88
- expr go to state 103
- r_variable go to state 90
- rw_variable go to state 91
- variable go to state 92
- variable_without_objects go to state 93
- static_member go to state 94
- base_variable_with_function_calls go to state 95
- base_variable go to state 96
- reference_variable go to state 97
- compound_variable go to state 98
- simple_indirect_reference go to state 99
- internal_functions_in_yacc go to state 100
- class_constant go to state 101
+
+ expr_without_variable go to state 83
+ function_call go to state 84
+ fully_qualified_class_name go to state 85
+ common_scalar go to state 86
+ scalar go to state 87
+ expr go to state 102
+ r_variable go to state 89
+ rw_variable go to state 90
+ variable go to state 91
+ variable_without_objects go to state 92
+ static_member go to state 93
+ base_variable_with_function_calls go to state 94
+ base_variable go to state 95
+ reference_variable go to state 96
+ compound_variable go to state 97
+ simple_indirect_reference go to state 98
+ internal_functions_in_yacc go to state 99
+ class_constant go to state 100
state 7
- 415 internal_functions_in_yacc: T_EVAL . '(' expr ')'
+ 405 internal_functions_in_yacc: T_EVAL . '(' expr ')'
- '(' shift, and go to state 104
+ '(' shift, and go to state 103
state 8
- 414 internal_functions_in_yacc: T_INCLUDE_ONCE . expr
+ 404 internal_functions_in_yacc: T_INCLUDE_ONCE . expr
T_REQUIRE_ONCE shift, and go to state 5
T_REQUIRE shift, and go to state 6
@@ -1486,31 +1471,30 @@ state 8
'$' shift, and go to state 71
'`' shift, and go to state 72
'"' shift, and go to state 73
- ''' shift, and go to state 74
- expr_without_variable go to state 84
- function_call go to state 85
- fully_qualified_class_name go to state 86
- common_scalar go to state 87
- scalar go to state 88
- expr go to state 105
- r_variable go to state 90
- rw_variable go to state 91
- variable go to state 92
- variable_without_objects go to state 93
- static_member go to state 94
- base_variable_with_function_calls go to state 95
- base_variable go to state 96
- reference_variable go to state 97
- compound_variable go to state 98
- simple_indirect_reference go to state 99
- internal_functions_in_yacc go to state 100
- class_constant go to state 101
+ expr_without_variable go to state 83
+ function_call go to state 84
+ fully_qualified_class_name go to state 85
+ common_scalar go to state 86
+ scalar go to state 87
+ expr go to state 104
+ r_variable go to state 89
+ rw_variable go to state 90
+ variable go to state 91
+ variable_without_objects go to state 92
+ static_member go to state 93
+ base_variable_with_function_calls go to state 94
+ base_variable go to state 95
+ reference_variable go to state 96
+ compound_variable go to state 97
+ simple_indirect_reference go to state 98
+ internal_functions_in_yacc go to state 99
+ class_constant go to state 100
state 9
- 413 internal_functions_in_yacc: T_INCLUDE . expr
+ 403 internal_functions_in_yacc: T_INCLUDE . expr
T_REQUIRE_ONCE shift, and go to state 5
T_REQUIRE shift, and go to state 6
@@ -1555,26 +1539,25 @@ state 9
'$' shift, and go to state 71
'`' shift, and go to state 72
'"' shift, and go to state 73
- ''' shift, and go to state 74
- expr_without_variable go to state 84
- function_call go to state 85
- fully_qualified_class_name go to state 86
- common_scalar go to state 87
- scalar go to state 88
- expr go to state 106
- r_variable go to state 90
- rw_variable go to state 91
- variable go to state 92
- variable_without_objects go to state 93
- static_member go to state 94
- base_variable_with_function_calls go to state 95
- base_variable go to state 96
- reference_variable go to state 97
- compound_variable go to state 98
- simple_indirect_reference go to state 99
- internal_functions_in_yacc go to state 100
- class_constant go to state 101
+ expr_without_variable go to state 83
+ function_call go to state 84
+ fully_qualified_class_name go to state 85
+ common_scalar go to state 86
+ scalar go to state 87
+ expr go to state 105
+ r_variable go to state 89
+ rw_variable go to state 90
+ variable go to state 91
+ variable_without_objects go to state 92
+ static_member go to state 93
+ base_variable_with_function_calls go to state 94
+ base_variable go to state 95
+ reference_variable go to state 96
+ compound_variable go to state 97
+ simple_indirect_reference go to state 98
+ internal_functions_in_yacc go to state 99
+ class_constant go to state 100
state 10
@@ -1624,26 +1607,25 @@ state 10
'$' shift, and go to state 71
'`' shift, and go to state 72
'"' shift, and go to state 73
- ''' shift, and go to state 74
- expr_without_variable go to state 84
- function_call go to state 85
- fully_qualified_class_name go to state 86
- common_scalar go to state 87
- scalar go to state 88
- expr go to state 107
- r_variable go to state 90
- rw_variable go to state 91
- variable go to state 92
- variable_without_objects go to state 93
- static_member go to state 94
- base_variable_with_function_calls go to state 95
- base_variable go to state 96
- reference_variable go to state 97
- compound_variable go to state 98
- simple_indirect_reference go to state 99
- internal_functions_in_yacc go to state 100
- class_constant go to state 101
+ expr_without_variable go to state 83
+ function_call go to state 84
+ fully_qualified_class_name go to state 85
+ common_scalar go to state 86
+ scalar go to state 87
+ expr go to state 106
+ r_variable go to state 89
+ rw_variable go to state 90
+ variable go to state 91
+ variable_without_objects go to state 92
+ static_member go to state 93
+ base_variable_with_function_calls go to state 94
+ base_variable go to state 95
+ reference_variable go to state 96
+ compound_variable go to state 97
+ simple_indirect_reference go to state 98
+ internal_functions_in_yacc go to state 99
+ class_constant go to state 100
state 11
@@ -1693,26 +1675,25 @@ state 11
'$' shift, and go to state 71
'`' shift, and go to state 72
'"' shift, and go to state 73
- ''' shift, and go to state 74
- expr_without_variable go to state 84
- function_call go to state 85
- fully_qualified_class_name go to state 86
- common_scalar go to state 87
- scalar go to state 88
- expr go to state 108
- r_variable go to state 90
- rw_variable go to state 91
- variable go to state 92
- variable_without_objects go to state 93
- static_member go to state 94
- base_variable_with_function_calls go to state 95
- base_variable go to state 96
- reference_variable go to state 97
- compound_variable go to state 98
- simple_indirect_reference go to state 99
- internal_functions_in_yacc go to state 100
- class_constant go to state 101
+ expr_without_variable go to state 83
+ function_call go to state 84
+ fully_qualified_class_name go to state 85
+ common_scalar go to state 86
+ scalar go to state 87
+ expr go to state 107
+ r_variable go to state 89
+ rw_variable go to state 90
+ variable go to state 91
+ variable_without_objects go to state 92
+ static_member go to state 93
+ base_variable_with_function_calls go to state 94
+ base_variable go to state 95
+ reference_variable go to state 96
+ compound_variable go to state 97
+ simple_indirect_reference go to state 98
+ internal_functions_in_yacc go to state 99
+ class_constant go to state 100
state 12
@@ -1762,26 +1743,25 @@ state 12
'$' shift, and go to state 71
'`' shift, and go to state 72
'"' shift, and go to state 73
- ''' shift, and go to state 74
- expr_without_variable go to state 84
- function_call go to state 85
- fully_qualified_class_name go to state 86
- common_scalar go to state 87
- scalar go to state 88
- expr go to state 109
- r_variable go to state 90
- rw_variable go to state 91
- variable go to state 92
- variable_without_objects go to state 93
- static_member go to state 94
- base_variable_with_function_calls go to state 95
- base_variable go to state 96
- reference_variable go to state 97
- compound_variable go to state 98
- simple_indirect_reference go to state 99
- internal_functions_in_yacc go to state 100
- class_constant go to state 101
+ expr_without_variable go to state 83
+ function_call go to state 84
+ fully_qualified_class_name go to state 85
+ common_scalar go to state 86
+ scalar go to state 87
+ expr go to state 108
+ r_variable go to state 89
+ rw_variable go to state 90
+ variable go to state 91
+ variable_without_objects go to state 92
+ static_member go to state 93
+ base_variable_with_function_calls go to state 94
+ base_variable go to state 95
+ reference_variable go to state 96
+ compound_variable go to state 97
+ simple_indirect_reference go to state 98
+ internal_functions_in_yacc go to state 99
+ class_constant go to state 100
state 13
@@ -1831,26 +1811,25 @@ state 13
'$' shift, and go to state 71
'`' shift, and go to state 72
'"' shift, and go to state 73
- ''' shift, and go to state 74
- expr_without_variable go to state 84
- function_call go to state 85
- fully_qualified_class_name go to state 86
- common_scalar go to state 87
- scalar go to state 88
- expr go to state 110
- r_variable go to state 90
- rw_variable go to state 91
- variable go to state 92
- variable_without_objects go to state 93
- static_member go to state 94
- base_variable_with_function_calls go to state 95
- base_variable go to state 96
- reference_variable go to state 97
- compound_variable go to state 98
- simple_indirect_reference go to state 99
- internal_functions_in_yacc go to state 100
- class_constant go to state 101
+ expr_without_variable go to state 83
+ function_call go to state 84
+ fully_qualified_class_name go to state 85
+ common_scalar go to state 86
+ scalar go to state 87
+ expr go to state 109
+ r_variable go to state 89
+ rw_variable go to state 90
+ variable go to state 91
+ variable_without_objects go to state 92
+ static_member go to state 93
+ base_variable_with_function_calls go to state 94
+ base_variable go to state 95
+ reference_variable go to state 96
+ compound_variable go to state 97
+ simple_indirect_reference go to state 98
+ internal_functions_in_yacc go to state 99
+ class_constant go to state 100
state 14
@@ -1900,26 +1879,25 @@ state 14
'$' shift, and go to state 71
'`' shift, and go to state 72
'"' shift, and go to state 73
- ''' shift, and go to state 74
-
- expr_without_variable go to state 84
- function_call go to state 85
- fully_qualified_class_name go to state 86
- common_scalar go to state 87
- scalar go to state 88
- expr go to state 111
- r_variable go to state 90
- rw_variable go to state 91
- variable go to state 92
- variable_without_objects go to state 93
- static_member go to state 94
- base_variable_with_function_calls go to state 95
- base_variable go to state 96
- reference_variable go to state 97
- compound_variable go to state 98
- simple_indirect_reference go to state 99
- internal_functions_in_yacc go to state 100
- class_constant go to state 101
+
+ expr_without_variable go to state 83
+ function_call go to state 84
+ fully_qualified_class_name go to state 85
+ common_scalar go to state 86
+ scalar go to state 87
+ expr go to state 110
+ r_variable go to state 89
+ rw_variable go to state 90
+ variable go to state 91
+ variable_without_objects go to state 92
+ static_member go to state 93
+ base_variable_with_function_calls go to state 94
+ base_variable go to state 95
+ reference_variable go to state 96
+ compound_variable go to state 97
+ simple_indirect_reference go to state 98
+ internal_functions_in_yacc go to state 99
+ class_constant go to state 100
state 15
@@ -1928,7 +1906,7 @@ state 15
$default reduce using rule 271 (@48)
- @48 go to state 112
+ @48 go to state 111
state 16
@@ -1978,26 +1956,25 @@ state 16
'$' shift, and go to state 71
'`' shift, and go to state 72
'"' shift, and go to state 73
- ''' shift, and go to state 74
- expr_without_variable go to state 84
- function_call go to state 85
- fully_qualified_class_name go to state 86
- common_scalar go to state 87
- scalar go to state 88
- expr go to state 113
- r_variable go to state 90
- rw_variable go to state 91
- variable go to state 92
- variable_without_objects go to state 93
- static_member go to state 94
- base_variable_with_function_calls go to state 95
- base_variable go to state 96
- reference_variable go to state 97
- compound_variable go to state 98
- simple_indirect_reference go to state 99
- internal_functions_in_yacc go to state 100
- class_constant go to state 101
+ expr_without_variable go to state 83
+ function_call go to state 84
+ fully_qualified_class_name go to state 85
+ common_scalar go to state 86
+ scalar go to state 87
+ expr go to state 112
+ r_variable go to state 89
+ rw_variable go to state 90
+ variable go to state 91
+ variable_without_objects go to state 92
+ static_member go to state 93
+ base_variable_with_function_calls go to state 94
+ base_variable go to state 95
+ reference_variable go to state 96
+ compound_variable go to state 97
+ simple_indirect_reference go to state 98
+ internal_functions_in_yacc go to state 99
+ class_constant go to state 100
state 17
@@ -2047,26 +2024,25 @@ state 17
'$' shift, and go to state 71
'`' shift, and go to state 72
'"' shift, and go to state 73
- ''' shift, and go to state 74
- expr_without_variable go to state 84
- function_call go to state 85
- fully_qualified_class_name go to state 86
- common_scalar go to state 87
- scalar go to state 88
- expr go to state 114
- r_variable go to state 90
- rw_variable go to state 91
- variable go to state 92
- variable_without_objects go to state 93
- static_member go to state 94
- base_variable_with_function_calls go to state 95
- base_variable go to state 96
- reference_variable go to state 97
- compound_variable go to state 98
- simple_indirect_reference go to state 99
- internal_functions_in_yacc go to state 100
- class_constant go to state 101
+ expr_without_variable go to state 83
+ function_call go to state 84
+ fully_qualified_class_name go to state 85
+ common_scalar go to state 86
+ scalar go to state 87
+ expr go to state 113
+ r_variable go to state 89
+ rw_variable go to state 90
+ variable go to state 91
+ variable_without_objects go to state 92
+ static_member go to state 93
+ base_variable_with_function_calls go to state 94
+ base_variable go to state 95
+ reference_variable go to state 96
+ compound_variable go to state 97
+ simple_indirect_reference go to state 98
+ internal_functions_in_yacc go to state 99
+ class_constant go to state 100
state 18
@@ -2116,26 +2092,25 @@ state 18
'$' shift, and go to state 71
'`' shift, and go to state 72
'"' shift, and go to state 73
- ''' shift, and go to state 74
- expr_without_variable go to state 84
- function_call go to state 85
- fully_qualified_class_name go to state 86
- common_scalar go to state 87
- scalar go to state 88
- expr go to state 115
- r_variable go to state 90
- rw_variable go to state 91
- variable go to state 92
- variable_without_objects go to state 93
- static_member go to state 94
- base_variable_with_function_calls go to state 95
- base_variable go to state 96
- reference_variable go to state 97
- compound_variable go to state 98
- simple_indirect_reference go to state 99
- internal_functions_in_yacc go to state 100
- class_constant go to state 101
+ expr_without_variable go to state 83
+ function_call go to state 84
+ fully_qualified_class_name go to state 85
+ common_scalar go to state 86
+ scalar go to state 87
+ expr go to state 114
+ r_variable go to state 89
+ rw_variable go to state 90
+ variable go to state 91
+ variable_without_objects go to state 92
+ static_member go to state 93
+ base_variable_with_function_calls go to state 94
+ base_variable go to state 95
+ reference_variable go to state 96
+ compound_variable go to state 97
+ simple_indirect_reference go to state 98
+ internal_functions_in_yacc go to state 99
+ class_constant go to state 100
state 19
@@ -2185,26 +2160,25 @@ state 19
'$' shift, and go to state 71
'`' shift, and go to state 72
'"' shift, and go to state 73
- ''' shift, and go to state 74
- expr_without_variable go to state 84
- function_call go to state 85
- fully_qualified_class_name go to state 86
- common_scalar go to state 87
- scalar go to state 88
- expr go to state 116
- r_variable go to state 90
- rw_variable go to state 91
- variable go to state 92
- variable_without_objects go to state 93
- static_member go to state 94
- base_variable_with_function_calls go to state 95
- base_variable go to state 96
- reference_variable go to state 97
- compound_variable go to state 98
- simple_indirect_reference go to state 99
- internal_functions_in_yacc go to state 100
- class_constant go to state 101
+ expr_without_variable go to state 83
+ function_call go to state 84
+ fully_qualified_class_name go to state 85
+ common_scalar go to state 86
+ scalar go to state 87
+ expr go to state 115
+ r_variable go to state 89
+ rw_variable go to state 90
+ variable go to state 91
+ variable_without_objects go to state 92
+ static_member go to state 93
+ base_variable_with_function_calls go to state 94
+ base_variable go to state 95
+ reference_variable go to state 96
+ compound_variable go to state 97
+ simple_indirect_reference go to state 98
+ internal_functions_in_yacc go to state 99
+ class_constant go to state 100
state 20
@@ -2254,26 +2228,25 @@ state 20
'$' shift, and go to state 71
'`' shift, and go to state 72
'"' shift, and go to state 73
- ''' shift, and go to state 74
- expr_without_variable go to state 84
- function_call go to state 85
- fully_qualified_class_name go to state 86
- common_scalar go to state 87
- scalar go to state 88
- expr go to state 117
- r_variable go to state 90
- rw_variable go to state 91
- variable go to state 92
- variable_without_objects go to state 93
- static_member go to state 94
- base_variable_with_function_calls go to state 95
- base_variable go to state 96
- reference_variable go to state 97
- compound_variable go to state 98
- simple_indirect_reference go to state 99
- internal_functions_in_yacc go to state 100
- class_constant go to state 101
+ expr_without_variable go to state 83
+ function_call go to state 84
+ fully_qualified_class_name go to state 85
+ common_scalar go to state 86
+ scalar go to state 87
+ expr go to state 116
+ r_variable go to state 89
+ rw_variable go to state 90
+ variable go to state 91
+ variable_without_objects go to state 92
+ static_member go to state 93
+ base_variable_with_function_calls go to state 94
+ base_variable go to state 95
+ reference_variable go to state 96
+ compound_variable go to state 97
+ simple_indirect_reference go to state 98
+ internal_functions_in_yacc go to state 99
+ class_constant go to state 100
state 21
@@ -2323,26 +2296,25 @@ state 21
'$' shift, and go to state 71
'`' shift, and go to state 72
'"' shift, and go to state 73
- ''' shift, and go to state 74
- expr_without_variable go to state 84
- function_call go to state 85
- fully_qualified_class_name go to state 86
- common_scalar go to state 87
- scalar go to state 88
- expr go to state 118
- r_variable go to state 90
- rw_variable go to state 91
- variable go to state 92
- variable_without_objects go to state 93
- static_member go to state 94
- base_variable_with_function_calls go to state 95
- base_variable go to state 96
- reference_variable go to state 97
- compound_variable go to state 98
- simple_indirect_reference go to state 99
- internal_functions_in_yacc go to state 100
- class_constant go to state 101
+ expr_without_variable go to state 83
+ function_call go to state 84
+ fully_qualified_class_name go to state 85
+ common_scalar go to state 86
+ scalar go to state 87
+ expr go to state 117
+ r_variable go to state 89
+ rw_variable go to state 90
+ variable go to state 91
+ variable_without_objects go to state 92
+ static_member go to state 93
+ base_variable_with_function_calls go to state 94
+ base_variable go to state 95
+ reference_variable go to state 96
+ compound_variable go to state 97
+ simple_indirect_reference go to state 98
+ internal_functions_in_yacc go to state 99
+ class_constant go to state 100
state 22
@@ -2392,68 +2364,67 @@ state 22
'$' shift, and go to state 71
'`' shift, and go to state 72
'"' shift, and go to state 73
- ''' shift, and go to state 74
-
- expr_without_variable go to state 84
- function_call go to state 85
- fully_qualified_class_name go to state 86
- common_scalar go to state 87
- scalar go to state 88
- expr go to state 119
- r_variable go to state 90
- rw_variable go to state 91
- variable go to state 92
- variable_without_objects go to state 93
- static_member go to state 94
- base_variable_with_function_calls go to state 95
- base_variable go to state 96
- reference_variable go to state 97
- compound_variable go to state 98
- simple_indirect_reference go to state 99
- internal_functions_in_yacc go to state 100
- class_constant go to state 101
+
+ expr_without_variable go to state 83
+ function_call go to state 84
+ fully_qualified_class_name go to state 85
+ common_scalar go to state 86
+ scalar go to state 87
+ expr go to state 118
+ r_variable go to state 89
+ rw_variable go to state 90
+ variable go to state 91
+ variable_without_objects go to state 92
+ static_member go to state 93
+ base_variable_with_function_calls go to state 94
+ base_variable go to state 95
+ reference_variable go to state 96
+ compound_variable go to state 97
+ simple_indirect_reference go to state 98
+ internal_functions_in_yacc go to state 99
+ class_constant go to state 100
state 23
224 expr_without_variable: T_DEC . rw_variable
- T_STRING shift, and go to state 120
+ T_STRING shift, and go to state 119
T_VARIABLE shift, and go to state 33
'$' shift, and go to state 71
- function_call go to state 85
- fully_qualified_class_name go to state 121
- rw_variable go to state 122
- variable go to state 123
- variable_without_objects go to state 93
- static_member go to state 94
- base_variable_with_function_calls go to state 95
- base_variable go to state 96
- reference_variable go to state 97
- compound_variable go to state 98
- simple_indirect_reference go to state 99
+ function_call go to state 84
+ fully_qualified_class_name go to state 120
+ rw_variable go to state 121
+ variable go to state 122
+ variable_without_objects go to state 92
+ static_member go to state 93
+ base_variable_with_function_calls go to state 94
+ base_variable go to state 95
+ reference_variable go to state 96
+ compound_variable go to state 97
+ simple_indirect_reference go to state 98
state 24
222 expr_without_variable: T_INC . rw_variable
- T_STRING shift, and go to state 120
+ T_STRING shift, and go to state 119
T_VARIABLE shift, and go to state 33
'$' shift, and go to state 71
- function_call go to state 85
- fully_qualified_class_name go to state 121
- rw_variable go to state 124
- variable go to state 123
- variable_without_objects go to state 93
- static_member go to state 94
- base_variable_with_function_calls go to state 95
- base_variable go to state 96
- reference_variable go to state 97
- compound_variable go to state 98
- simple_indirect_reference go to state 99
+ function_call go to state 84
+ fully_qualified_class_name go to state 120
+ rw_variable go to state 123
+ variable go to state 122
+ variable_without_objects go to state 92
+ static_member go to state 93
+ base_variable_with_function_calls go to state 94
+ base_variable go to state 95
+ reference_variable go to state 96
+ compound_variable go to state 97
+ simple_indirect_reference go to state 98
state 25
@@ -2503,55 +2474,54 @@ state 25
'$' shift, and go to state 71
'`' shift, and go to state 72
'"' shift, and go to state 73
- ''' shift, and go to state 74
-
- expr_without_variable go to state 84
- function_call go to state 85
- fully_qualified_class_name go to state 86
- common_scalar go to state 87
- scalar go to state 88
- expr go to state 125
- r_variable go to state 90
- rw_variable go to state 91
- variable go to state 92
- variable_without_objects go to state 93
- static_member go to state 94
- base_variable_with_function_calls go to state 95
- base_variable go to state 96
- reference_variable go to state 97
- compound_variable go to state 98
- simple_indirect_reference go to state 99
- internal_functions_in_yacc go to state 100
- class_constant go to state 101
+
+ expr_without_variable go to state 83
+ function_call go to state 84
+ fully_qualified_class_name go to state 85
+ common_scalar go to state 86
+ scalar go to state 87
+ expr go to state 124
+ r_variable go to state 89
+ rw_variable go to state 90
+ variable go to state 91
+ variable_without_objects go to state 92
+ static_member go to state 93
+ base_variable_with_function_calls go to state 94
+ base_variable go to state 95
+ reference_variable go to state 96
+ compound_variable go to state 97
+ simple_indirect_reference go to state 98
+ internal_functions_in_yacc go to state 99
+ class_constant go to state 100
state 26
208 expr_without_variable: T_NEW . class_name_reference @41 ctor_arguments
- T_STRING shift, and go to state 126
+ T_STRING shift, and go to state 125
T_VARIABLE shift, and go to state 33
'$' shift, and go to state 71
- fully_qualified_class_name go to state 127
- class_name_reference go to state 128
- dynamic_class_name_reference go to state 129
- static_member go to state 94
- base_variable go to state 130
- reference_variable go to state 131
- compound_variable go to state 98
- simple_indirect_reference go to state 132
+ fully_qualified_class_name go to state 126
+ class_name_reference go to state 127
+ dynamic_class_name_reference go to state 128
+ static_member go to state 93
+ base_variable go to state 129
+ reference_variable go to state 130
+ compound_variable go to state 97
+ simple_indirect_reference go to state 131
state 27
270 expr_without_variable: T_EXIT . exit_expr
- '(' shift, and go to state 133
+ '(' shift, and go to state 132
$default reduce using rule 295 (exit_expr)
- exit_expr go to state 134
+ exit_expr go to state 133
state 28
@@ -2559,7 +2529,7 @@ state 28
20 unticked_statement: T_IF . '(' expr ')' @3 statement @4 elseif_list else_single
23 | T_IF . '(' expr ')' ':' @5 inner_statement_list @6 new_elseif_list new_else_single T_ENDIF ';'
- '(' shift, and go to state 135
+ '(' shift, and go to state 134
state 29
@@ -2582,7 +2552,7 @@ state 31
285 fully_qualified_class_name: T_STRING .
315 scalar: T_STRING .
- '(' shift, and go to state 136
+ '(' shift, and go to state 135
T_PAAMAYIM_NEKUDOTAYIM reduce using rule 285 (fully_qualified_class_name)
$default reduce using rule 315 (scalar)
@@ -2597,9 +2567,9 @@ state 32
state 33
- 359 compound_variable: T_VARIABLE .
+ 358 compound_variable: T_VARIABLE .
- $default reduce using rule 359 (compound_variable)
+ $default reduce using rule 358 (compound_variable)
state 34
@@ -2663,27 +2633,26 @@ state 36
'$' shift, and go to state 71
'`' shift, and go to state 72
'"' shift, and go to state 73
- ''' shift, and go to state 74
-
- echo_expr_list go to state 137
- expr_without_variable go to state 84
- function_call go to state 85
- fully_qualified_class_name go to state 86
- common_scalar go to state 87
- scalar go to state 88
- expr go to state 138
- r_variable go to state 90
- rw_variable go to state 91
- variable go to state 92
- variable_without_objects go to state 93
- static_member go to state 94
- base_variable_with_function_calls go to state 95
- base_variable go to state 96
- reference_variable go to state 97
- compound_variable go to state 98
- simple_indirect_reference go to state 99
- internal_functions_in_yacc go to state 100
- class_constant go to state 101
+
+ echo_expr_list go to state 136
+ expr_without_variable go to state 83
+ function_call go to state 84
+ fully_qualified_class_name go to state 85
+ common_scalar go to state 86
+ scalar go to state 87
+ expr go to state 137
+ r_variable go to state 89
+ rw_variable go to state 90
+ variable go to state 91
+ variable_without_objects go to state 92
+ static_member go to state 93
+ base_variable_with_function_calls go to state 94
+ base_variable go to state 95
+ reference_variable go to state 96
+ compound_variable go to state 97
+ simple_indirect_reference go to state 98
+ internal_functions_in_yacc go to state 99
+ class_constant go to state 100
state 37
@@ -2692,21 +2661,21 @@ state 37
$default reduce using rule 27 (@9)
- @9 go to state 139
+ @9 go to state 138
state 38
26 unticked_statement: T_WHILE . '(' @7 expr ')' @8 while_statement
- '(' shift, and go to state 140
+ '(' shift, and go to state 139
state 39
33 unticked_statement: T_FOR . '(' for_expr ';' @11 for_expr ';' @12 for_expr ')' @13 for_statement
- '(' shift, and go to state 141
+ '(' shift, and go to state 140
state 40
@@ -2714,7 +2683,7 @@ state 40
52 unticked_statement: T_FOREACH . '(' variable T_AS @15 foreach_variable foreach_optional_arg ')' @16 foreach_statement
55 | T_FOREACH . '(' expr_without_variable T_AS @17 variable foreach_optional_arg ')' @18 foreach_statement
- '(' shift, and go to state 142
+ '(' shift, and go to state 141
state 41
@@ -2723,14 +2692,14 @@ state 41
$default reduce using rule 56 (@19)
- @19 go to state 143
+ @19 go to state 142
state 42
35 unticked_statement: T_SWITCH . '(' expr ')' @14 switch_case_list
- '(' shift, and go to state 144
+ '(' shift, and go to state 143
state 43
@@ -2778,30 +2747,29 @@ state 43
T_FILE shift, and go to state 66
T_START_HEREDOC shift, and go to state 67
'(' shift, and go to state 68
- ';' shift, and go to state 145
+ ';' shift, and go to state 144
'$' shift, and go to state 71
'`' shift, and go to state 72
'"' shift, and go to state 73
- ''' shift, and go to state 74
-
- expr_without_variable go to state 84
- function_call go to state 85
- fully_qualified_class_name go to state 86
- common_scalar go to state 87
- scalar go to state 88
- expr go to state 146
- r_variable go to state 90
- rw_variable go to state 91
- variable go to state 92
- variable_without_objects go to state 93
- static_member go to state 94
- base_variable_with_function_calls go to state 95
- base_variable go to state 96
- reference_variable go to state 97
- compound_variable go to state 98
- simple_indirect_reference go to state 99
- internal_functions_in_yacc go to state 100
- class_constant go to state 101
+
+ expr_without_variable go to state 83
+ function_call go to state 84
+ fully_qualified_class_name go to state 85
+ common_scalar go to state 86
+ scalar go to state 87
+ expr go to state 145
+ r_variable go to state 89
+ rw_variable go to state 90
+ variable go to state 91
+ variable_without_objects