diff options
author | Andi Gutmans <andi@php.net> | 2001-08-30 15:26:30 +0000 |
---|---|---|
committer | Andi Gutmans <andi@php.net> | 2001-08-30 15:26:30 +0000 |
commit | 29f5dbe10b2f31e9ec12b54faede5b4c19dd30bd (patch) | |
tree | 9e7ce561dfcf59255719f5b002fd7acceaa1dbb1 /Zend/zend_language_parser.y | |
parent | ab48027b3e6af90bbc601dff444bbc397d36b750 (diff) | |
download | php-git-29f5dbe10b2f31e9ec12b54faede5b4c19dd30bd.tar.gz |
- Initial support for exceptions.
Diffstat (limited to 'Zend/zend_language_parser.y')
-rw-r--r-- | Zend/zend_language_parser.y | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/Zend/zend_language_parser.y b/Zend/zend_language_parser.y index 97d4181032..d02ef4f7a7 100644 --- a/Zend/zend_language_parser.y +++ b/Zend/zend_language_parser.y @@ -105,6 +105,9 @@ %token T_FUNCTION %token T_CONST %token T_RETURN +%token T_TRY +%token T_CATCH +%token T_THROW %token T_USE %token T_GLOBAL %token T_STATIC @@ -201,6 +204,9 @@ unticked_statement: | T_FOREACH '(' expr_without_variable T_AS { zend_do_foreach_begin(&$1, &$3, &$2, &$4, 0 TSRMLS_CC); } w_cvar foreach_optional_arg ')' { zend_do_foreach_cont(&$6, &$7, &$4 TSRMLS_CC); } foreach_statement { zend_do_foreach_end(&$1, &$2 TSRMLS_CC); } | T_DECLARE { zend_do_declare_begin(TSRMLS_C); } '(' declare_list ')' declare_statement { zend_do_declare_end(TSRMLS_C); } | ';' /* empty statement */ + | T_TRY { zend_do_try(&$1 CLS_CC); } '{' inner_statement_list '}' + T_CATCH '(' T_VARIABLE ')' { zend_do_begin_catch(&$1, &$8 CLS_CC); } '{' inner_statement_list '}' { zend_do_end_catch(&$1 CLS_CC); } + | T_THROW expr ';' { zend_do_throw(&$2 CLS_CC); } | T_DELETE cvar ';' { zend_do_end_variable_parse(BP_VAR_UNSET, 0 TSRMLS_CC); zend_do_unset(&$1, ZEND_UNSET_OBJ TSRMLS_CC); } ; |