external-declaration:
function-definition
declaration
class-interface
class-implementation
category-interface
category-implementation
protocol-declaration
protocol-declaration-list
class-declaration-list
class-interface:
@interfaceclass-name [ : superclass-name ]
[ protocol-reference-list ]
[ instance-variables ]
[ interface-declaration-list ]
@end
class-implementation:
@implementation class-name [ : superclass-name ]
[ implementation-definition-list ]
@end
category-interface:
@interface class-name ( category-name )
[ protocol-reference-list ]
[ interface-declaration-list ]
@end
category-implementation:
@implementation class-name ( category-name )
[ implementation-definition-list ]
@end
protocol-declaration:
@protocol protocol-name
[ protocol-reference-list ]
[ interface-declaration-list ]
@end
protocol-declaration-list:
@protocol protocol-list ;
class-declaration-list:
@class class-list ;
class-list:
class-name
class-list, class-name
protocol-reference-list:
< protocol-list >
protocol-list:
protocol-name
protocol-list, protocol-name
class-name:
identifier
superclass-name:
identifier
category-name:
identifier
protocol-name:
identifier
instance-variables:
{ instance-variable-declaration }
instance-variable-declaration:
visibility-specification
struct-declaration-list instance-variables
instance-variable-declaration visibility-specification
instance-variable-declaration struct-declaration-list instance-variables
visibility-specification:
@private
@protected
@package
@public
interface-declaration-list:
declaration
method-declaration
interface-declaration-list declaration
interface-declaration-list method-declaration
method-declaration:
class-method-declaration
instance-method-declaration
class-method-declaration:
+ [ method-type ] method-selector;
instance-method-declaration:
– [ method-type ] method-selector;
implementation-definition-list:
function-definition
declaration
method-definition
implementation-definition-list function-definition
implementation-definition-list declaration
implementation-definition-list method-definition
method-definition:
class-method-definition
instance-method-definition
class-method-definition:
+ [ method-type ] method-selector [ declaration-list ] compound-statement
instance-method-definition:
– [ method-type ] method-selector [ declaration-list ] compound-statement
method-selector:
unary-selector
keyword-selector [ , ... ]
keyword-selector [ , parameter-type-list ]
unary-selector:
selector
keyword-selector:
keyword-declarator
keyword-selector keyword-declarator
keyword-declarator:
: [ method-type ] identifier
selector: [ [method-type] method-type ] identifier
selector:
identifier
method-type:
( type-name )
Last updated: 2008-02-05