&gt; - What would you do with code comments? Things like &quot;f(&#x2F;+old_value+&#x2F;new_value)&quot;.<p>Comments are included in the AST, the AST should be reprojectable into canonical plaint text.<p>&gt; - How to store code before preprocessing (C and C++) ?<p>This could get tricky, punt. cdata<p>&gt; - How to store files mixing several languages (PHP, HTML, Javascript) ?<p>Same file format, different semantics. PHP is a DSL.<p>My new language manifesto includes having a mandatory publicly defined AST.