%}
struct resword { char *name; short token; enum rid rid; };
%%
+@class, CLASS, NORID
+@compatibility_alias, ALIAS, NORID
+@defs, DEFS, NORID
+@encode, ENCODE, NORID
+@end, END, NORID
+@implementation, IMPLEMENTATION, NORID
+@interface, INTERFACE, NORID
+@private, PRIVATE, NORID
+@protected, PROTECTED, NORID
+@protocol, PROTOCOL, NORID
+@public, PUBLIC, NORID
+@selector, SELECTOR, NORID
__alignof, ALIGNOF, NORID
__alignof__, ALIGNOF, NORID
-__asm, ASM, NORID
-__asm__, ASM, NORID
+__asm, ASM_KEYWORD, NORID
+__asm__, ASM_KEYWORD, NORID
__attribute, ATTRIBUTE, NORID
__attribute__, ATTRIBUTE, NORID
+__complex, TYPESPEC, RID_COMPLEX
+__complex__, TYPESPEC, RID_COMPLEX
__const, TYPE_QUAL, RID_CONST
__const__, TYPE_QUAL, RID_CONST
__extension__, EXTENSION, NORID
+__imag, IMAGPART, NORID
+__imag__, IMAGPART, NORID
__inline, SCSPEC, RID_INLINE
__inline__, SCSPEC, RID_INLINE
+__iterator, SCSPEC, RID_ITERATOR
+__iterator__, SCSPEC, RID_ITERATOR
__label__, LABEL, NORID
+__real, REALPART, NORID
+__real__, REALPART, NORID
__signed, TYPESPEC, RID_SIGNED
__signed__, TYPESPEC, RID_SIGNED
__typeof, TYPEOF, NORID
__typeof__, TYPEOF, NORID
__volatile, TYPE_QUAL, RID_VOLATILE
__volatile__, TYPE_QUAL, RID_VOLATILE
-asm, ASM, NORID
+asm, ASM_KEYWORD, NORID
auto, SCSPEC, RID_AUTO
break, BREAK, NORID
+bycopy, TYPE_QUAL, RID_BYCOPY
case, CASE, NORID
char, TYPESPEC, RID_CHAR
const, TYPE_QUAL, RID_CONST
float, TYPESPEC, RID_FLOAT
for, FOR, NORID
goto, GOTO, NORID
+id, OBJECTNAME, RID_ID
if, IF, NORID
+in, TYPE_QUAL, RID_IN
+inout, TYPE_QUAL, RID_INOUT
inline, SCSPEC, RID_INLINE
int, TYPESPEC, RID_INT
long, TYPESPEC, RID_LONG
+oneway, TYPE_QUAL, RID_ONEWAY
+out, TYPE_QUAL, RID_OUT
register, SCSPEC, RID_REGISTER
return, RETURN, NORID
short, TYPESPEC, RID_SHORT