May be that ConTeXt is not a 'context free language'  ;-)
than it will be difficult to express something in a BNF grammar
http://en.wikipedia.org/wiki/Backus-Naur_form.
hmm.
Context is a macro package in TeX language which is Turing Complete.


But if (ConTeXt == formal_language), it should be possible to
develop TEXT, NUMBER, DIMENSION, REFERENCE, etc
and also to add examples for "[optional user data]".
hmm
I'm not sure that ConTeXt == TeX (but it seems YES) ,
I'm nor sure that TeX is a context free language too,
in the sense that I never see a BNF grammar of TeX .
I suspect that TeX is not a cfl .

Anyway,
lpeg can make the thing easier

--
luigi