Fast and Easy
Made with โค๏ธ in ๐น๐ท
tr-lang is a language that aims to bring programming language syntax closer to Turkish. tr-lang has half-stack, half-regional based approach to memory management. tr-lang syntax has become infix from postfix starting with 0.4.0-rc1.
View in Turkish
๐ฉ Table of Contents
- ๐ What Has Been Implemented?
- ๐ Installation
- ๐ป Editor Support
- ๐ See the Docs
- ๐ค Contributing
- ๐ Thanks
- ๐ฎ Plans For Future
๐ What Has Been Implemented?
โ๏ธ All parts of the language seems like they are done!
โ๏ธ tr-lang lexer seems like its done Issue #1
โ๏ธ tr-lang parser is in progress Issue #2
โ๏ธ tr-lang bytecode seems like its done Issue #3
โ๏ธ tr-lang bytecode reader seems like its done Issue #4
โ๏ธ tr-lang runtime seems like its done Issue #5
๐ Installation
๐ช Windows
๐ Pre-Compiled Executable
For windows there is a pre-compiled binary. Just download it, extract the zip and you are ready to go!
Note: This binary won't be in the PATH environment variable by default meaning it won't be globally usable across the system with 'tr-lang'
If you want to add tr-lang to your PATH environment variable you can follow this tutorial by Ryan Hoffman
๐ฆ Cargo
$ cargo install tr-lang
โ๏ธ Build from source
dependencies: rust, cargo
$ git clone https://github.com/kaiserthe13th/tr-lang
$ cd tr-lang
$ cargo install --path .
Note: If you just want to play you can change the last command to
cargo build --release
your file will be in target/release/tr-lang
๐ MacOS
๐บ Homebrew
$ brew tap kaiserthe13th/tr-lang
$ brew install tr-lang
๐ฆ Cargo
$ cargo install tr-lang
โ๏ธ Build from source
dependencies: rust, cargo
$ git clone https://github.com/kaiserthe13th/tr-lang
$ cd tr-lang
$ cargo install --path .
Note: If you just want to play you can change the last command to
cargo build --release
your file will be in target/release/tr-lang
๐ง Linux
๐๏ธ Debian Package
- Go to the Releases tab and download tr-lang_<x.x.x>_amd64.deb
- In the Terminal
$ dpkg -i tr-lang_<x.x.x>_amd64.deb
Note: On some linux systems just clicking or doubke clicking on the file would start install
๐ฉ RPM Package
- Go to the Releases tab and download tr-lang_<x.x.x>.x86_64.rpm
- In the Terminal
$ rpm -i tr-lang_<x.x.x>.x86_64.rpm
Note: On some linux systems just clicking or doubke clicking on the file would start install
๐บ Homebrew
$ brew tap kaiserthe13th/tr-lang
$ brew install tr-lang
๐ฆ Cargo
$ cargo install tr-lang
โ๏ธ Build from source
dependencies: rust, cargo
$ git clone https://github.com/kaiserthe13th/tr-lang
$ cd tr-lang
$ cargo install --path .
Note: If you just want to play you can change the last command to
cargo build --release
your file will be in target/release/tr-lang
๐ป Editor Support
VS Code | Sublime | Atom | Vim/Neovim | Emacs | |
---|---|---|---|---|---|
Highlighthing | With tr-lang Extension | Planned | No | With tr-lang.vim | No |
Snippets | With tr-lang Extension | No | No | No | No |
Note: Feel free to help!
๐ See the Docs
๐ค Contributing
To report bugs, suggest new features or update documentation use the issue tracker
for features use (enhancement | yรผkseltme)
tag, for bugs use (bug)
tag and for documentation updates use (documentation | dรถkรผmantasyon)
tag
๐ Bugfix PR's are welcome!
๐ฎ Plans For Future
- Rust-like implemented structs
- Actual Lists
- Interpolated Strings
- Package Manager (planned to be named one of Trileche, Trill, Tren or Trial)
๐ Thanks
- I give my thanks to user Netwave from stackoverflow.com for helping fix a bug during the creation of the parser.
- I give my thanks to user Chayim Friedman from stackoverflow.com for helping me with closure magic during the making of UnknownIdentifier error message.