1.1.4 • Published 6 years ago

printr-interpreter v1.1.4

Weekly downloads
2
License
MIT
Repository
github
Last release
6 years ago

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
1.1.4

6 years ago

1.1.3

6 years ago

1.1.2

6 years ago

1.1.1

6 years ago

1.1.0

6 years ago

1.0.0

6 years ago