AugustArchive / jink

A simplistic, JavaScript-like programming language built using Python.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

jink

Build Status Discord


Jink is a simplistic, JavaScript-like programming language built using Python.

I've built Jink to prove to myself that I can, not to make the most efficient, useful or mind-bending new language. I plan to support it for as long as I see fit, and contribution is very welcome. Thanks for checking it out!

Progress Checklist

  • Convert to compiler
  • Module support
  • File support
  • I/O support
  • Networking support

Example

fun example_function(input) {
    return ++input
}

let output = example_function(1336)
print(output) // Prints 1337 to the console!

Installation

Assuming you have Python 3.6 or newer, you can get started right away after cloning the project!

To launch the REPL:

python jink.py

To execute your own files:

python jink.py C:/path/to/file.jk

To execute the example files:

python jink.py ./examples/01-hello_world.jk

Building

Prerequisites

  • Python 3.6+

Windows

  1. Clone the project.
  2. Run the included build-executable.bat file; this will install cx_Freeze and build the executable.
cd build/exe.win32-3.x
jink.exe C:/path/to/your_file.jk

Optionally, you can move the contents of the /build/exe.win32-3.x folder to a folder you've added to your PATH. This will allow you to run Jink via your command line.

Contributing

I will set up a contribution guide when I can. In the meantime, feel free to provide feedback in any way you see fit. This project is still fairly new, after all.

Acknowledgements

  • Enormous thanks to king1600 for helping me to better understand interpreter and compiler design and providing me the resources and support I needed to carry out this project.

  • This project also would not have been possible without the incredible resources on PL implementation at Mihai Bazon's blog.

License

This project is distributed under the MIT License - see the license file for details.

Copyright © 2018 Jacob Buzalski

About

A simplistic, JavaScript-like programming language built using Python.

License:MIT License


Languages

Language:Python 99.8%Language:Batchfile 0.2%