The document presents Codeco, a grammar notation for controlled natural languages in predictive editors. Codeco was designed to address limitations of existing grammar frameworks for expressing concepts important for CNLs, like lookahead features and anaphoric references. The notation is formal and declarative yet implementable in different languages. Codeco grammars can express a large subset of the Attempto Controlled English language and have been evaluated through language generation and parsing tests.