https://github.com/abdur-rahmaanj/greenberry
A one-line statement language with grammar and infinite look-ahead
https://github.com/abdur-rahmaanj/greenberry
cli compiler hacktoberfest interpreter lexer-parser new-language
Last synced: over 1 year ago
JSON representation
A one-line statement language with grammar and infinite look-ahead
- Host: GitHub
- URL: https://github.com/abdur-rahmaanj/greenberry
- Owner: Abdur-rahmaanJ
- License: apache-2.0
- Created: 2017-12-31T17:37:43.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2025-03-26T22:43:44.000Z (over 1 year ago)
- Last Synced: 2025-04-03T12:19:44.434Z (over 1 year ago)
- Topics: cli, compiler, hacktoberfest, interpreter, lexer-parser, new-language
- Language: Python
- Homepage: https://abdur-rahmaanj.github.io/greenberry/
- Size: 572 KB
- Stars: 52
- Watchers: 10
- Forks: 41
- Open Issues: 17
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://www.firsttimersonly.com/)


# greenberry
A one-line statement programming language, complete with classes, cli and file compatible.

```
python -m pip install greenberry
greenberry file.gb
```
## contributing countries
🇲🇺 🇲🇾 🇸🇮 🇰🇪 🇺🇸 🇮🇳
🇨🇦 🇧🇳
## 🔗 links
- [website](https://abdur-rahmaanj.github.io/greenberry/)
- [lang reference](https://abdur-rahmaanj.github.io/greenberry/syntax.html)
- [we have a Discord channel!](https://discord.gg/pffxfQE) - Join for questions!
## 📖 contributing guidelines
Read [greenberry/theory_notes_simple.py](https://github.com/Abdur-rahmaanJ/greenberry/blob/master/src/greenberry/theory_notes_simple.py)
```
python -m pip install -e .
python -m pip install -r reqs/dev.txt
pre-commit install
```
## 🌄 contribution areas
- syntax : propose new syntax or suggest improvements for existing one
- language : in the way python code is written so as to be more clear, efficient for example
- gui : either ide or others, add new functionalities or improve UX
- cli : improve cli experience, add new features
- compiling engine : improve parser, add new areas of usage (of greenberry, like on arduino? an electronics library?). also add support for approved new syntax
- website : improve website, update changelog (or implement changes to do this automatically)
## 🍂 python version
3.4 (moving to 3.7 if you PR a change using a 3.7 feature)
## 🏢 structure notes
- engine : [greenberry/greenberry.py](https://github.com/Abdur-rahmaanJ/greenberry/blob/master/greenberry/greenberry.py)
- website : [docs/](https://github.com/Abdur-rahmaanJ/greenberry/tree/master/docs)
## 🌊 run files
Read [here](https://github.com/Abdur-rahmaanJ/greenberry/blob/master/code_running_instructions.md) or follow below
### REPL 🔧
Just run `python gb_repl.py`
### .gb file 📁
Write in _main.gb_ and then save and run `python gb_main.py`
### IDE 🖥️
Run `python gb_ide.py` write and run or load a _.gb_ file!
## 📋 TODO
- [ ] Refining print
- [ ] Add more support for eval
- [x] Add parameters to functions and classes
- [ ] Allow non-static referencing of function and classes
- [ ] New syntax and implementation
- [ ] Expand use
## 📧 quick contact
[Abdur-Rahmaanj](https://github.com/TimThuma) : arj.python@gmail.com
[TimThuma](https://github.com/TimThuma) : thumatim@gmail.com
## credits
[@arwinneil](https://github.com/arwinneil) for opensource and madeinmoris badges