<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Feb 7, 2013 at 10:33 PM, Barry Smith <span dir="ltr"><<a href="mailto:bsmith@mcs.anl.gov" target="_blank">bsmith@mcs.anl.gov</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">> You're proposing manipulating your new language that looks like C with annotations in comments or special keywords or new control structures or something and can be compiled to C by your "preprocessor".<br>

<br>
</div>   You are imagining the "annotations in comments" and the "special keywords" I never said they would be there.<br>
<br>
   I want tools that OPERATE on C code. That is they take a chunk of pure C code as input and return a chunk of pure C code as output<br>
(the transformations I want to perform on the code are completely external to that chunk of code).  You still want to insist that the transformations I want to perform and the C code I want it performed on MUST be in the same file mixed together in a bunch of ASCII (i.e formatted comments or special keywords). I submit that this is absolutely the wrong way to do it (sorry Boyana).</blockquote>
</div><br>I think we agree that PetscTryMethod and PetscOptionsBegin are not expressible in C (without a lot of code duplication), but are an important part of PETSc. That means your preprocessor thingy has to be told when to inject that stuff. Since it can't possibly make the right decision every time without you saying anything, you will have to tell it somehow. How do you propose to do that?</div>
</div>