[ << label_name >> [ << label_name >> ] ...]
[ DECLARE ]
[ { type_definition | item_definition }
     [ type_definition | item_definition ] ... ]
[ {function_declaration | procedure_declaration }
     [ function_declaration | procedure_declaration] ... ]
BEGIN 
   statement [statement ...]
   [ EXCEPTION exception_handler [exception_handler ...] ]
END [ label_name ] ;