  
  additional_catches:
  		non_empty_additional_catches { $$ = $1; }
-@@ -262,6 +280,14 @@
+@@ -262,6 +280,18 @@
  		unticked_class_declaration_statement	{ zend_do_ticks(TSRMLS_C); }
  ;
  
-+class_declaration_statements:
-+		class_declaration_statement class_declaration_statements
++package_inner_statement_list:
++		package_inner_statement package_inner_statement_list
 +	|   /* empty */
++;
++
++package_inner_statement:
++		class_declaration_statement
 +;
 +
 +package_declaration_statement:

retrieving revision 1.201
diff -u -r1.201 zend_operators.c
--- Zend/zend_operators.c	29 Oct 2004 00:55:11 -0000	1.201
+++ Zend/zend_operators.c	3 Nov 2004 16:30:11 -0000
@@ -101,6 +101,55 @@
 	return result;
 }

+			parameter_list ')' throws method_body { zend_do_abstract_method(&$6, &$2, &$12 TSRMLS_CC); zend_do_end_function_declaration(&$3 TSRMLS_CC); }
+	|	method_modifiers T_OPERATOR { $2.u.opline_num = CG(zend_lineno); } is_reference operator_token { zend_do_begin_function_declaration(&$2, &$5, 1, $4.op_type, &$1 TSRMLS_CC); } '(' 
+			parameter_list ')' throws method_body { zend_do_abstract_method(&$5, &$1, &$11 TSRMLS_CC); zend_do_end_function_declaration(&$2 TSRMLS_CC); }
 ;
 
+throws:
+		/* empty */
+	|	T_THROWS throws_list
+;
+
+throws_list:
+		throws_class_name 					{ zend_do_throws(&$1 TSRMLS_CC); }
+	|	throws_list ',' throws_class_name	{ zend_do_throws(&$3 TSRMLS_CC); }
