"signed"          L C I(identifier, Identifier("signed"), tk::Signed, hi::Type);
 @end
 
-@begin ObjectiveC
+@begin C
 "@encode"         L C F(tk::AtEncode, hi::Meta);
+@end
+
+@begin ObjectiveC
 "@end"            L C F(tk::AtEnd, hi::Meta);
 "@implementation" L C F(yyextra->no_.AtImplementation ? tk::AtImplementation_ : tk::AtImplementation, hi::Meta);
 "@import"         L C F(tk::AtImport, hi::Special);
 
 %token <identifier_> Signed "signed"
 @end
 
+@begin C
+%token AtEncode "@encode"
+@end
+
 @begin ObjectiveC
 %token AtImplementation "@implementation"
 %token AtImplementation_ ";@implementation"
 %token AtImport "@import"
-%token AtEncode "@encode"
 %token AtEnd "@end"
 %token AtSelector "@selector"
 %token <identifier_> Yes "YES"