This Interpreter was inspired by this post on EqD. I have taken some liberties at the language whereever the specification was too unspecified. Most of the basic specs is by DeftCrow.
The interpreter itself is a JavaScript that can be used on any website. To use it, simply download the file fim.js
or fim.min.js
and include it in your HTML.
To run a piece of code, you can use the FiM.interprete
method:
var code = "Dear Princess Celestia: Letter One\nToday I learned how to sing.\nI sang \"Hello World!\"\nYour faithful student, Twilight Sparkle.";
FiM.interprete(code);
The interprete
method takes some options as the second parameter:
FiM.interprete(code, {
stdout: function(str) { alert(str); },
stderr: function(str) { alert(str); },
stdin: function() { prompt(); }
});
For stdout
and stderr
, the interpreter expects functions that take one string and somehow print it. Likewise with stdin
, it expects a function that returns an input string. Per default, stdin
is a prompt like above and stderr
and stdout
point to console.log
, which may not be available on all browsers.
TODO