brownben / bang

My Attempt at Creating an Interpreted Language in TypeScript

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Note

I am no longer working on this version of Bang. I have been working on a bytecode interpreter written in Rust

Check it out: https://github.com/brownben/bang2

Bang

Bang is my attempt at creating a programming language, based on the parts I like of languages I have used. It is mostly inspired by JavaScript and Python and is created using TypeScript.

Based on and inspired by the awesome Crafting Interpreters by Robert Nystrom.

Usage

# format code with prettier
npm run format

# type-check code with typescript
npm run type-check

# link code with eslint
npm run lint

# build
npm run build

# open a simple REPL
node cli

# run a bang program
node cli run <file>

# to run vscode with the extension
code --extensionDevelopmentPath="<PATH-TO>/packages/vscode"

Docs

Documentation and a guide to the language can be found here.

License

MIT

About

My Attempt at Creating an Interpreted Language in TypeScript

License:MIT License


Languages

Language:TypeScript 99.6%Language:JavaScript 0.4%