Commit f2b5cf97 by David Ayers Committed by Richard Henderson

* c-parse.in: Unify Objective-C token names.

From-SVN: r83296
parent c50a0116
2004-06-17 David Ayers <d.ayers@inode.at>
* c-parse.in: Unify Objective-C token names.
2004-06-17 Zack Weinberg <zack@codesourcery.com> 2004-06-17 Zack Weinberg <zack@codesourcery.com>
Bug 14610 Bug 14610
......
...@@ -174,8 +174,9 @@ do { \ ...@@ -174,8 +174,9 @@ do { \
/* The Objective-C keywords. These are included in C and in /* The Objective-C keywords. These are included in C and in
Objective C, so that the token codes are the same in both. */ Objective C, so that the token codes are the same in both. */
%token INTERFACE IMPLEMENTATION END SELECTOR DEFS ENCODE %token AT_INTERFACE AT_IMPLEMENTATION AT_END AT_SELECTOR AT_DEFS AT_ENCODE
%token CLASSNAME PUBLIC PRIVATE PROTECTED PROTOCOL OBJECTNAME CLASS ALIAS %token CLASSNAME AT_PUBLIC AT_PRIVATE AT_PROTECTED AT_PROTOCOL
%token OBJECTNAME AT_CLASS AT_ALIAS
%token AT_THROW AT_TRY AT_CATCH AT_FINALLY AT_SYNCHRONIZED %token AT_THROW AT_TRY AT_CATCH AT_FINALLY AT_SYNCHRONIZED
%token OBJC_STRING %token OBJC_STRING
...@@ -1760,7 +1761,7 @@ component_decl_list2: /* empty */ ...@@ -1760,7 +1761,7 @@ component_decl_list2: /* empty */
pedwarn ("extra semicolon in struct or union specified"); } pedwarn ("extra semicolon in struct or union specified"); }
@@ifobjc @@ifobjc
/* foo(sizeof(struct{ @defs(ClassName)})); */ /* foo(sizeof(struct{ @defs(ClassName)})); */
| DEFS '(' CLASSNAME ')' | AT_DEFS '(' CLASSNAME ')'
{ $$ = nreverse (get_class_ivars_from_name ($3)); } { $$ = nreverse (get_class_ivars_from_name ($3)); }
@@end_ifobjc @@end_ifobjc
; ;
...@@ -2636,7 +2637,7 @@ objcdef: ...@@ -2636,7 +2637,7 @@ objcdef:
| aliasdecl | aliasdecl
| protocoldef | protocoldef
| methoddef | methoddef
| END | AT_END
{ {
if (objc_implementation_context) if (objc_implementation_context)
{ {
...@@ -2658,14 +2659,14 @@ identifier_list: ...@@ -2658,14 +2659,14 @@ identifier_list:
; ;
classdecl: classdecl:
CLASS identifier_list ';' AT_CLASS identifier_list ';'
{ {
objc_declare_class ($2); objc_declare_class ($2);
} }
; ;
aliasdecl: aliasdecl:
ALIAS identifier identifier ';' AT_ALIAS identifier identifier ';'
{ {
objc_declare_alias ($2, $3); objc_declare_alias ($2, $3);
} }
...@@ -2682,7 +2683,7 @@ class_ivars: ...@@ -2682,7 +2683,7 @@ class_ivars:
; ;
classdef: classdef:
INTERFACE identifier superclass protocolrefs AT_INTERFACE identifier superclass protocolrefs
{ {
objc_interface_context = objc_ivar_context objc_interface_context = objc_ivar_context
= start_class (CLASS_INTERFACE_TYPE, $2, $3, $4); = start_class (CLASS_INTERFACE_TYPE, $2, $3, $4);
...@@ -2692,13 +2693,13 @@ classdef: ...@@ -2692,13 +2693,13 @@ classdef:
{ {
continue_class (objc_interface_context); continue_class (objc_interface_context);
} }
methodprotolist END methodprotolist AT_END
{ {
finish_class (objc_interface_context); finish_class (objc_interface_context);
objc_interface_context = NULL_TREE; objc_interface_context = NULL_TREE;
} }
| IMPLEMENTATION identifier superclass | AT_IMPLEMENTATION identifier superclass
{ {
objc_implementation_context = objc_ivar_context objc_implementation_context = objc_ivar_context
= start_class (CLASS_IMPLEMENTATION_TYPE, $2, $3, NULL_TREE); = start_class (CLASS_IMPLEMENTATION_TYPE, $2, $3, NULL_TREE);
...@@ -2710,19 +2711,19 @@ classdef: ...@@ -2710,19 +2711,19 @@ classdef:
= continue_class (objc_implementation_context); = continue_class (objc_implementation_context);
} }
| INTERFACE identifier '(' identifier ')' protocolrefs | AT_INTERFACE identifier '(' identifier ')' protocolrefs
{ {
objc_interface_context objc_interface_context
= start_class (CATEGORY_INTERFACE_TYPE, $2, $4, $6); = start_class (CATEGORY_INTERFACE_TYPE, $2, $4, $6);
continue_class (objc_interface_context); continue_class (objc_interface_context);
} }
methodprotolist END methodprotolist AT_END
{ {
finish_class (objc_interface_context); finish_class (objc_interface_context);
objc_interface_context = NULL_TREE; objc_interface_context = NULL_TREE;
} }
| IMPLEMENTATION identifier '(' identifier ')' | AT_IMPLEMENTATION identifier '(' identifier ')'
{ {
objc_implementation_context objc_implementation_context
= start_class (CATEGORY_IMPLEMENTATION_TYPE, $2, $4, NULL_TREE); = start_class (CATEGORY_IMPLEMENTATION_TYPE, $2, $4, NULL_TREE);
...@@ -2732,13 +2733,13 @@ classdef: ...@@ -2732,13 +2733,13 @@ classdef:
; ;
protocoldef: protocoldef:
PROTOCOL identifier protocolrefs AT_PROTOCOL identifier protocolrefs
{ {
objc_pq_context = 1; objc_pq_context = 1;
objc_interface_context objc_interface_context
= start_protocol(PROTOCOL_INTERFACE_TYPE, $2, $3); = start_protocol(PROTOCOL_INTERFACE_TYPE, $2, $3);
} }
methodprotolist END methodprotolist AT_END
{ {
objc_pq_context = 0; objc_pq_context = 0;
finish_protocol(objc_interface_context); finish_protocol(objc_interface_context);
...@@ -2747,7 +2748,7 @@ protocoldef: ...@@ -2747,7 +2748,7 @@ protocoldef:
/* The @protocol forward-declaration production introduces a /* The @protocol forward-declaration production introduces a
reduce/reduce conflict on ';', which should be resolved in reduce/reduce conflict on ';', which should be resolved in
favor of the production 'identifier_list -> identifier'. */ favor of the production 'identifier_list -> identifier'. */
| PROTOCOL identifier_list ';' | AT_PROTOCOL identifier_list ';'
{ {
objc_declare_protocols ($2); objc_declare_protocols ($2);
} }
...@@ -2777,9 +2778,9 @@ ivar_decl_list: ...@@ -2777,9 +2778,9 @@ ivar_decl_list:
; ;
visibility_spec: visibility_spec:
PRIVATE { objc_public_flag = 2; } AT_PRIVATE { objc_public_flag = 2; }
| PROTECTED { objc_public_flag = 0; } | AT_PROTECTED { objc_public_flag = 0; }
| PUBLIC { objc_public_flag = 1; } | AT_PUBLIC { objc_public_flag = 1; }
; ;
ivar_decls: ivar_decls:
...@@ -3138,14 +3139,14 @@ keywordname: ...@@ -3138,14 +3139,14 @@ keywordname:
; ;
objcselectorexpr: objcselectorexpr:
SELECTOR '(' selectorarg ')' AT_SELECTOR '(' selectorarg ')'
{ {
$$ = $3; $$ = $3;
} }
; ;
objcprotocolexpr: objcprotocolexpr:
PROTOCOL '(' identifier ')' AT_PROTOCOL '(' identifier ')'
{ {
$$ = $3; $$ = $3;
} }
...@@ -3154,7 +3155,7 @@ objcprotocolexpr: ...@@ -3154,7 +3155,7 @@ objcprotocolexpr:
/* extension to support C-structures in the archiver */ /* extension to support C-structures in the archiver */
objcencodeexpr: objcencodeexpr:
ENCODE '(' typename ')' AT_ENCODE '(' typename ')'
{ {
$$ = groktypename ($3); $$ = groktypename ($3);
} }
...@@ -3411,23 +3412,23 @@ static const short rid_to_yy[RID_MAX] = ...@@ -3411,23 +3412,23 @@ static const short rid_to_yy[RID_MAX] =
/* Objective C */ /* Objective C */
/* RID_ID */ OBJECTNAME, /* RID_ID */ OBJECTNAME,
/* RID_AT_ENCODE */ ENCODE, /* RID_AT_ENCODE */ AT_ENCODE,
/* RID_AT_END */ END, /* RID_AT_END */ AT_END,
/* RID_AT_CLASS */ CLASS, /* RID_AT_CLASS */ AT_CLASS,
/* RID_AT_ALIAS */ ALIAS, /* RID_AT_ALIAS */ AT_ALIAS,
/* RID_AT_DEFS */ DEFS, /* RID_AT_DEFS */ AT_DEFS,
/* RID_AT_PRIVATE */ PRIVATE, /* RID_AT_PRIVATE */ AT_PRIVATE,
/* RID_AT_PROTECTED */ PROTECTED, /* RID_AT_PROTECTED */ AT_PROTECTED,
/* RID_AT_PUBLIC */ PUBLIC, /* RID_AT_PUBLIC */ AT_PUBLIC,
/* RID_AT_PROTOCOL */ PROTOCOL, /* RID_AT_PROTOCOL */ AT_PROTOCOL,
/* RID_AT_SELECTOR */ SELECTOR, /* RID_AT_SELECTOR */ AT_SELECTOR,
/* RID_AT_THROW */ AT_THROW, /* RID_AT_THROW */ AT_THROW,
/* RID_AT_TRY */ AT_TRY, /* RID_AT_TRY */ AT_TRY,
/* RID_AT_CATCH */ AT_CATCH, /* RID_AT_CATCH */ AT_CATCH,
/* RID_AT_FINALLY */ AT_FINALLY, /* RID_AT_FINALLY */ AT_FINALLY,
/* RID_AT_SYNCHRONIZED */ AT_SYNCHRONIZED, /* RID_AT_SYNCHRONIZED */ AT_SYNCHRONIZED,
/* RID_AT_INTERFACE */ INTERFACE, /* RID_AT_INTERFACE */ AT_INTERFACE,
/* RID_AT_IMPLEMENTATION */ IMPLEMENTATION /* RID_AT_IMPLEMENTATION */ AT_IMPLEMENTATION
}; };
static void static void
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment