Giter Site home page Giter Site logo

werdl / rosemary Goto Github PK

View Code? Open in Web Editor NEW
3.0 2.0 0.0 4.73 MB

A quick, easy programming language that's a blend of Python and C

Home Page: https://therosemaryproject.github.io

License: GNU General Public License v3.0

C++ 99.81% Batchfile 0.12% Shell 0.07%
language programming-language interpreter rsmy rosemary

rosemary's Introduction

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.

Latest versions

  • The latest version of the software will be compiled for Unix on amd64
  • Windows and potentially FreeBSD versions will be released with major updates

Documentation

  • This can be found in the docs folder

Installation

Windows

  • Run this installer: installer.exe
  • curl https://raw.githubusercontent.com/TheRosemaryProject/Rosemary/main/install.bat -o install.bat;.\install

Unix based and OS X

  • curl https://raw.githubusercontent.com/TheRosemaryProject/Rosemary/main/install.sh > install.sh;chmod +x install.sh;sh install.sh

Update

  • Just run rsmy --update

Syntax Highlighting

Notepad++

  • To install, just import the following file into your user-defined langs:
  • https://raw.githubusercontent.com/TheRosemaryProject/Rosemary/main/npp-extension.xml

Why use Rosemary?

  • 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

Plans for the project

  • 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

Next Steps

  • 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 ✅

Contribute

  • git clone this repo
  • work on rsmy-dev.cpp
  • commit your changes to rsmy.exe
  • commit
  • PR
  • Or make an issue

rosemary's People

Contributors

portfolioapikey avatar renovate[bot] avatar thisiscoding1234 avatar werdl avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

rosemary's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.