fork download
  1. import std.stdio;
  2.  
  3. string compile(string code) {
  4. auto result = "";
  5. foreach (c; code) {
  6. switch (c) {
  7. case '>': result ~= "++p;"; break;
  8. case '<': result ~= "--p;"; break;
  9. case '+': result ~= "++*p;"; break;
  10. case '-': result ~= "--*p;"; break;
  11. case '.': result ~= "write(cast(char) *p);"; break;
  12. case ',': result ~= "readf(\"%c\", cast(char*) p);"; break;
  13. case '[': result ~= "while (*p) {"; break;
  14. case ']': result ~= "}"; break;
  15. default: break;
  16. }
  17. }
  18. return "{ byte[30000] buffer; byte* p = &buffer[0]; " ~ result ~ "}";
  19. }
  20.  
  21. void main() {
  22. mixin(compile("++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>."));
  23. }
  24.  
Success #stdin #stdout 0.02s 2120KB
stdin
Standard input is empty
stdout
Hello World!