New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

pascal-interpreter

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

pascal-interpreter

A lightweight interpreter for Pascal written in JavaScript

latest
Source
npmnpm
Version
1.0.6
Version published
Weekly downloads
19
533.33%
Maintainers
1
Weekly downloads
 
Created
Source

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>

Keywords

interpreter

FAQs

Package last updated on 23 Apr 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts