<div dir="ltr">On Tue, Jan 8, 2013 at 9:50 PM, Jed Brown <span dir="ltr"><<a href="mailto:jedbrown@mcs.anl.gov" target="_blank">jedbrown@mcs.anl.gov</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="im"><div class="gmail_extra">On Tue, Jan 8, 2013 at 9:43 PM, Matthew Knepley <span dir="ltr"><<a href="mailto:knepley@gmail.com" target="_blank">knepley@gmail.com</a>></span> wrote:<br>
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="gmail_extra">Those wimps just call cpp instead of writing the preprocessor in Python too (I did this). That means</div>

<div class="gmail_extra">you cannot regenerate properly.</div></blockquote></div><br></div></div><div class="gmail_extra">Well, sort of. You have the original source around and you have the AST for what goes where. Preprocessing throws code transformation for a loop however you shake it. LLVM is a much heavier dependency and the Python interface is not as nice. Pick your poison.</div>

</div>
</blockquote></div><br>I originally was forced into it to get typedefs, which have to be handled by the preprocessor.</div><div class="gmail_extra"><br></div><div class="gmail_extra">   Matt<br clear="all"><div><br></div>
-- <br>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>-- Norbert Wiener
</div></div>