New version is much better! Currently in Python, but C++ rewrite planned.
.______ ______ _______. _______ .___ ___. ___ .______ ____ ____
| _ \ / __ \ / || ____|| \/ | / \ | _ \ \ \ / /
| |_) | | | | | | (----`| |__ | \ / | / ^ \ | |_) | \ \/ /
| / | | | | \ \ | __| | |\/| | / /_\ \ | / \_ _/
| |\ \----.| `--' | .----) | | |____ | | | | / _____ \ | |\ \----. | |
| _| `._____| \______/ |_______/ |_______||__| |__| /__/ \__\ | _| `._____| |__|
Like Python, but with brackets.
- Basically: strongly typed, mix of python perl and php syntax
- It uses {} rather than indentation, as I think it allows for more options.
- Check out syntax.txt which I guess is also the docs?
- Extension is .rsmy by default but to be honest it doesn't really matter.
- .rsmy - Rosemary file
- Error checking is pretty good right now, not
- I'll try and fix that.
- The latest version of the software will be compiled for Unix on amd64
- Windows and potentially FreeBSD versions will be released with major updates
- This can be found in the
docs
folder
- Run this installer:
installer.exe
curl https://raw.githubusercontent.com/TheRosemaryProject/Rosemary/main/install.bat -o install.bat;.\install
curl https://raw.githubusercontent.com/TheRosemaryProject/Rosemary/main/install.sh > install.sh;chmod +x install.sh;sh install.sh
- To install, just import the following file into your user-defined langs:
https://raw.githubusercontent.com/TheRosemaryProject/Rosemary/main/npp-extension.xml
- Powerful and yet simple, Rosemary is easy to learn
- If you're a JS, C family, PHP or Ruby developer, learning Rosemary is easy!
- Simple syntax, but with the power of C at your fingertips
- Speed
- Change from Python to C++ for performance ✅
- I'll write my own interpreter, I won't use
Bison or Flex or whatever
- Interpreted for the time being, not compiled cos I don't know enough assembly
- Latest executable is at SRC/rsmy.exe
- You can compile for MacOS if you like
- Provide a command line argument to execute a file, else a shell will boot
- Also strings don't need speech marks,
Rosemary does that for you
- I'll try to implement error handling as best
as I can, but you have to be careful with syntax,
in case catch clause is missing
- If you want to help, great! Make a pull request
or an issue or whatever :)
- Enjoy
- Tokenisation ✅
- Print ✅
- Variables ✅
- Operands ✅
- IF ELIF ELSE ❎ (I think I have a method I just need to implement it)
- WHILE FOR FOREACH ❎
- TRY CATCH ❎
- Sprig Package Manager ✅ find it in src\sprig
- FTP deployment ✅
- git clone this repo
- work on rsmy-dev.cpp
- commit your changes to rsmy.exe
- commit
- PR
- Or make an issue