printr-interpreter

1.1.4 • Public • Published

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

Readme

Keywords

Package Sidebar

Install

npm i printr-interpreter

Weekly Downloads

0

Version

1.1.4

License

MIT

Unpacked Size

7.34 kB

Total Files

4

Last publish

Collaborators

  • jshuttler