On Feb 7, 2013, at 10:18 PM, Jed Brown <jedbrown at mcs.anl.gov> wrote:

> 
> On Thu, Feb 7, 2013 at 10:05 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:
> The reason I am insistent on minimizing CPP is that it is easy to teach a 
> pure C manipulator stuff. It is very difficult (I submit) to teach a CPP + C 
> manipulator much of anything expecially when "nasty" CPP tricks are used. 
> Plus there are good C manipulation tools coming on line, there are no, and 
> never will be, good CPP + C manipulation tools.
> 
> But you're still not proposing manipulating pure C.

   No, you are saying that I am not proposing manipulating pure C. I did not 
say that. 

> 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".

   You are imagining the "annotations in comments" and the "special keywords" I 
never said they would be there.

   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
(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). 

   For example, with simple C++ templates you imbed in the ASCII text you write 
the C code plus the "special symbols" that can transform to different types. 
The compiler then does the transformation as needed on this beast. This is not 
what I am wanting to do.
> 
> Sure, some (maybe substantial) parts of the code will be equivalent to pure C 
> (with programmable semicolons or whatever, in the sense that error handling 
> gets injected except where it's explicitly told not to), but you can also 
> "manipulate" C+CPP code in the sense that you can expand all the macros and 
> then you'll actually have C semantics so that the manipulations make sense.

Reply via email to