On Thu, Apr 30, 2009 at 10:16 AM, R. Bastian wrote: > On Thu, 30 Apr 2009 09:48:40 +0200 > luigi scarso scribit: > > > R. Bastian: > > > > > CONTEXT_SOURCE ::= PREAMBLE "\starttext" TEXT "\stoptext" | > CONTEXT_SOURCE > > >>> TEXT ::= STARTSTOPS | SETUPS | DEFINES | OTHERS [ TEXT > > >> > > >> luigi: > > > > > To be general, i think > > >> MY_CONTEXT_SOURCE ::= MACRO* END > > >> > > > > > R. Bastian: > > > > > I dont understand the sense of "\end\starttext" > > > > sense==semantic > > > > "\end""\starttext" is a valid string for a hypothetical bnf grammar of > > ContTeXt > > which is not valid for your bnf ; > > "\end""\starttext""\stoptext" is in your bnf grammar > > and has the same semantic of "\end""\starttext" . > > > > The point is : a bnf for Context can be hard to define > > > > > > luigi: > > > > think that a bnf or lpeg grammar is really useful for a sort of > > >> standard-ConTeXt > > >> or minimal-ConTeXt or light-ConTeXt > > >> ie a ConTeXt to use as "reference" > > >> > > > > > R. Bastian: > > > > > Exactly what I need : standard, minimal and light > > > > > > > Exactly what can be hard to define and capture in a bnf . > > > > wolfgang > > > > > > > > How could a BNF grammar help to learn ConTeXt, > > > > a bnf can help to build a syntax checker, a highlighter etc. > > Actually the only way to say that you have a valid ConTeXt string > > is running context on that string . > > > > The semantic is another story. > > OK - but isn't it not worth to try it ? > sure, and I encourage you to go on and possibly write something x next eurotex. My suggestions to start : 1) define a **simple but significative** domain ,ie "this grammar is for subset of ConTeXt language dedicated to variable-data pdf forms" 2) make a bnf grammar spec 3) build a parser lex/yacc for 2) 4) make a lpeg grammar 5) user lpeg inside context for 3) PS it was just a coincidence , but for other reasons I have found this link http://martinfowler.com/dslwip/ -- luigi