pascal-interpreter

1.0.6 • Public • Published

JS Pascal Interpreter

Lightweight interpreter for Pascal written in JavaScript

WIP: Currently processes simple programs according to the grammar defined in CFG.md

This Interpreter was built as a learning exercise following Ruslan Spivak's Let's Build a Simple Interpreter series.

repl.js runs a basic REPL that can take simple programs on a single line, and parse and interpret them.

main.js takes the relative path of the program input file as a command-line argument, and parses and interprets it.

Upon a successful parsing, the constructed AST of the program is printed out, followed by the end contents of the Symbol Table, and the GLOBAL_SCOPE of the interpreter.

Most errors are caught by the lexer and the parser. Feel free to open up an issue if you find some errors that I do not report accurately.

Installation

  • Install using npm: npm install --global pascal-interpreter
  • Alias the interpreter: alias pascaljs="node /path/to/global/node_modules/pascal-interpreter/main.js"
  • Alias the REPL: alias pascaljs-repl="node /path/to/global/node_modules/pascal-interpreter/repl.js"

Note: the path to the global node modules will be printed to the console after running the install

Usage:

If in the source directory:

  • Run the REPL with node repl.js
  • Ask the REPL what it can do with help.
  • Exit the REPL with quit

Or

  • Interpret a .pas program file with node main.js <filename.pas>

If aliased:

  • Run the REPL with pascaljs-repl
  • Interpret a .pas program file with pascaljs <filename.pas>

Readme

Keywords

Package Sidebar

Install

npm i pascal-interpreter

Weekly Downloads

2

Version

1.0.6

License

MIT

Unpacked Size

35.5 kB

Total Files

24

Last publish

Collaborators

  • mellow.cobra