Alexander Malakhov wrote:
>  import std.stdio; // 1. will not compile

I wrote a little rund helper program, and a PHP style D interpreter
in another thread a couple days ago, that solves this by a simple
string scan.

http://arsdnet.net/dcode/rund.d
http://arsdnet.net/dcode/dhp.d

It scans the code byLine. If the line starts with "import", cut it out and move 
it
to the top of the final file outputted, above main.


This would break if you indented the import, or if it was in a string literal or
something, but there's a simple solution to that: don't do it!

Example of use:
$ rund
import std.math;

writeln(pow(4, 3));
<EOF>
64

======

$ dhp
<?d
import std.math; ?>  Four to the third power is <?= pow(4, 3) ?>!
<EOF>
  Four to the third power is 64!

=======

You can see the rule at work in the second example. <?d import std.math; ?>
wouldn't have been moved, so I just put a newline on it.

Reply via email to