printr-interpreter
v1.1.4
Published
An interpreter for the Printr language, written in JavaScript.
Downloads
13
Readme
JavaScript interpreter for Printr
An interpreter for the Printr language, written in JavaScript.
Build environment
The interpreter was built in the following environment:
- Node version 10.14.0
- NPM version 6.5.0
Installation and usage
npm install printr-interpreter
In the host system, grab the interpreter and pass it source text written in Printr. The text may come from a string constant, a file, the result of a network request or any other source.
The interpreter shall emit 'print
' instructions with text as an argument that can then be interpreted by the host. An example interpretation of a 'print
' instruction may be to route the text argument to stdout
or alert a user on a web page.
const interpreter = new Printr();
interpreter.on('print', (text) => console.log(text));
interpreter.run('"Hello World!"');
Error handling
When running a Printr program, the interpreter will stop when encountering a syntax error. It's possible to handle syntax errors by registering a handler for the error
event:
interpreter.on('error', (error) => console.log(error));
The error handler will receive details of the syntax error as its only argument.
If an error handler has not been registered, a syntax error will be thrown and must be caught within a try/catch
block:
try {
const interpreter = new Printr();
interpreter.on('print', (text) => console.log(text));
interpreter.run('"Hello World!"');
}
catch(syntaxError) {
// ... do something to handle error
}
Notes
Registering a handler for an instruction other than 'print
' will not throw an error, just in case the language is extended in the future.
Running tests
Install test dependencies and run the test command:
npm i
npm test