There would be at least two results of the \start/\stop-codeblock: first,
the code would be pretty printed as you sugggested in the resulting program
documentation; second, the code would be written to an external source file
foo.c that could then be compiled with, for example, gcc.

Some other features of literate programming include replacement, where in
one code block you reference another that should be cut-and-pasted at the
point of reference in the resulting source file, and cross-references
between code blocks, where in the typeset program documentation each code
block is typeset with references to the other code blocks that use it.

Right now, we've got a prototype implementation that properly writes the
source files with replacements. In MkIV, right now, the cross-referencing
method is not working. We're eagerly (and patiently) waiting for the new
MkIV reference method that allows arbitrary userdata, for example, for
including a sequence number for code blocks typeset on the same page of the
program documentation.

Thanks for your suggestion,

Kevin

On Fri, Jun 19, 2009 at 3:49 AM, Matthijs Kooijman <matth...@stdin.nl>wrote:

> Hi Kevin,
>
> > A colleague and I are experimenting with strategies to implement a
> literate
> > programming module for ConTeXt, and we'd like to have something like
> Im not exactly sure what you're trying to achieve, but perhaps you could do
> this using a prettyprinter? A pretty printer gets passed each line in the
> \startfoo \stopfoo block and can change the line in any way it wants
> (including removing it). IIRC there is some minimal general preprocessing
> done, something with whitespace I think.
>
> > \startcodeblock[language=c,file=foo.c, etc.][blockname]
> > // This is the main routine...
> > int main()
> > {
> >    return 0;
> > }
> > \stopcodeblock
> Perhaps you could say a bit about what the above should output?
>
> Gr.
>
> Matthijs
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.9 (GNU/Linux)
>
> iEYEARECAAYFAko7XxgACgkQz0nQ5oovr7wedwCZAei/RBocOnmSUdFACNA+qMlU
> yvYAoKl/dtAEsa5ZF7S5dl/h6mQxS/kh
> =nPdm
> -----END PGP SIGNATURE-----
>
>
> ___________________________________________________________________________________
> If your question is of interest to others as well, please add an entry to
> the Wiki!
>
> maillist : ntg-context@ntg.nl /
> http://www.ntg.nl/mailman/listinfo/ntg-context
> webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
> archive  : https://foundry.supelec.fr/projects/contextrev/
> wiki     : http://contextgarden.net
>
> ___________________________________________________________________________________
>
>
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : https://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________

Reply via email to