Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/Rick-Lang/rickroll-lang

The Rick Roll programming language is a rickroll based, process oriented, dynamic, strong, esoteric programming language. All of the keywords/statements are from Rick Astley's lyrics. Check our tutorial site, https://rick-lang.github.io/programming-language-explainer/
https://github.com/Rick-Lang/rickroll-lang

abstract-syntax-tree ast compiler esoteric-language esoteric-programming-language interpreter language meme memes never-gonna-give-you-up programming-language python python3 rick-astley rick-roll-language rickroll rickroll-lang transpiler youtube

Last synced: 5 days ago
JSON representation

The Rick Roll programming language is a rickroll based, process oriented, dynamic, strong, esoteric programming language. All of the keywords/statements are from Rick Astley's lyrics. Check our tutorial site, https://rick-lang.github.io/programming-language-explainer/

Awesome Lists containing this project

README

        



# Rickroll Programming Language
![License](https://img.shields.io/badge/License-MIT-red?style=for-the-badge&logo=appveyor)
![Build](https://img.shields.io/badge/Build-passing-green?style=for-the-badge&logo=appveyor)
![RickRoll PL Community](https://img.shields.io/discord/1071835028251738184?color=red&label=Community%20Chat&style=for-the-badge)
![Original Server](https://img.shields.io/discord/915760402195959861?color=yellow&label=Original%20Server&style=for-the-badge)
![Python](https://img.shields.io/badge/Python-3.8%2B-brightgreen?style=for-the-badge&logo=appveyor)
![Vscode Installs](https://img.shields.io/visual-studio-marketplace/azure-devops/installs/total/FusionSid.rickroll-lang?label=Vscode%20Installs&style=for-the-badge)
![Vscode Downloads](https://img.shields.io/visual-studio-marketplace/d/FusionSid.rickroll-lang?label=Vscode%20downloads&style=for-the-badge)
![HitCount]( https://img.shields.io/endpoint?url=https%3A%2F%2Fhits.dwyl.com%2FRick-Lang%2Frickroll-lang%3Fcolor%3Dyellow&style=for-the-badge&label=Recent%20Views)


Rick Roll Programming Language, a language that is rickroll-based!

![](https://repository-images.githubusercontent.com/367934588/4a27ae00-b73b-11eb-801b-36dd1756dc93)

## Hello World
**Although Rickroll can be transpiled into Python3, their syntaxes are not completely similar**
1. Rickroll-lang doesn't need indentation
2. The code must be written inside the main method, otherwise the interpreter will not execute
3. **The keywords can be separated freely**

Rickroll-Lang:
```
take me to ur heart
give msg up "Never gonna give you up, never gonna let you down~\n"
i just wanna tell u how im feeling msg
say goodbye
```
Equivalent to Python
```python
if __name__ == '__main__':
msg = "Never gonna give you up, never gonna let you down~\n"
print(msg, end='')

```

Equivalent to C++
```c++
#include
using namespace std;
int main(int argc, char* argv[]){
string msg = "Never gonna give you up, never gonna let you down~\n";
cout<

Sorry, it's this:
```
Never gonna give you up, never gonna let you down~
```
The keywords can be separated freely
```
takemetourheart
give msg up "Never gonna give you up, never gonna let you down~\n"
i justwanna telluhowim feeling msg
say good bye
```
This is also executable

## Run Code
Execute by converting .rickroll to Python
```shell
python RickRoll.py [Source Code File Name]
```
Execute by converting .rickroll to C++ (Requires g++ compiler and has numerous bugs)
```shell
python RickRoll.py -cpp [Source Code File Name]
```
Execute by interpreter
```shell
python RickRoll.py -intpr [Source Code File Name]
```
If you want to know the execution time:
> Add "--time"
```shell
python RickRoll.py [Source Code File Name] --time
```
Generate and play audio from .rickroll
```shell
python RickRoll.py [Source Code File Name] --audio
```

## Requirements
- [Python libraries](https://github.com/Rick-Lang/rickroll-lang/blob/main/requirements.txt)
- [Python 3.8+](https://www.python.org/downloads/release/python-380/)
- G++ compiler (For translating RickRoll to C++)

## Features
- *[Turing-complete](https://en.wikipedia.org/wiki/Turing_completeness)*
- *Support [Python 3.6+](https://www.python.org/downloads/release/python-3610/)*
- *Keywords/statements are all coming from [Rick Astley's](https://en.wikipedia.org/wiki/Rick_Astley) lyrics*
- *Keywords can be separated freely*
- *[Examples](https://github.com/Rick-Lang/rickroll-lang/tree/main/examples) to get started*
- *Translate RickRoll source code to Python3 and C++*
- *[Generate and play audios from .rickroll source code](https://github.com/Rick-Lang/rickroll-lang#Generate-Audio)*
- *Chinese, Russian, and English documentation* (Hope you guys can pull request docs in other languages lol)
- [*An editor for writing .rickroll code*](https://github.com/RedEnder666/RickRoll_IDE)
- [*A Vscode extension*](https://marketplace.visualstudio.com/items?itemName=FusionSid.rickroll-lang)

## Generate Audio
Command:
```
python RickRoll.py [Source Code File Name] --audio
```
After running this command, the generator is gonna generate audio from the .rickroll program and play it on your terminal

![](https://github.com/Rick-Lang/rickroll-lang/blob/main/img/au_generator.PNG)

## Documentation
**[English](Docs/doc.md)**


**[简体中文](Docs/doc-Ch.md)**


**[Русский](Docs/doc-RU.md)**


**[Francais](Docs/doc-FR.md)**


**[हिंदी](Docs/doc-HI.md)**


**[عربي](Docs/doc-AR.md)**


**[Português](Docs/doc-PT-BR.md)**


**[Español](Docs/doc-SP.md)**


**[ภาษาไทย](Docs/doc-TH.md)**

# Rickroll-lang Editor
1. A well-coded code editor by *RedEnder666*: https://github.com/RedEnder666/RickRoll_IDE
2. The VSCode extension by *FusionSid*: https://github.com/FusionSid/Rickroll-Lang-VScode-Extension and https://marketplace.visualstudio.com/items?itemName=FusionSid.rickroll-lang

# Todo!
In order to make RICKROll becoming a world heritage, YOU and I still have a bunch of things to do!
1. Add more keywords and built-in functions
2. Write algorithms in RickRoll-Lang and upload them to [examples folder](examples).
3. Make syntax highlights for [VS Code](https://code.visualstudio.com/api/language-extensions/syntax-highlight-guide) and [Sublime](https://www.sublimetext.com/docs/syntax.html)!
4. Improve the current audio generator!
5. Improve the RickRoll interpreter!
6. Support "writing code by singing"!
7. Design a better icon!
8. [**SPREAD RICKROLL EVERYWHERE!!!**](https://www.bilibili.com/video/BV1uT4y1P7CX)

# Rickroll Language Website
**[https://rickroll-lang.tech/introduction/](https://www.youtube.com/watch?v=dQw4w9WgXcQ)**


**_or_**


**https://rick-lang.github.io/rickroll-lang/**

# Offcial Discord Server/Contact
https://discord.gg/bRrbZPjVDH
Join this server to chat with cool people or for support

Wechat/微信: SatinWuker540


Discord: satinwuker

microsoftenjoyer

# Purpose
Despite the fact that the Rickroll Language is considered an esoteric programming language, it has its unignorable significance. I believe that rickroll is not only the source of happiness for the younger generation but also the most elegant and paramount art in human history, and the cardinal stepping stone to the transition toward a much more advanced civilization. The purpose of the Rickroll Language is to introduce this art to people in a distinctive way – programming.
Just kidding haha, the Rickroll Language is actually an educational project for introducing various ways of implementing programming languages in a humorous and interactive way, without any painful processes of memorizing unfamiliar and complicated concepts! Our website for programming language tutorials: **https://rick-lang.github.io/programming-language-explainer/**.

# Related Repos
Here are the projects that are inspired by Rickroll-lang
1. [Ricky](https://github.com/Rick-Lang/Ricky)
2. [Rickroll-lang API](https://github.com/FusionSid/RicklangAPI)
3. [RickRoll IDE](https://github.com/RedEnder666/RickRoll_IDE)
4. [Rick Astley Bot](https://github.com/FusionSid/Rick-Astley-Bot)
5. [Rickroll Lang Vscode extension](https://github.com/FusionSid/Rickroll-Lang-VScode-Extension)
6. [The Rickroll-language Interpreter and Compiler Kit](https://github.com/Rick-Lang/trick)

# Credit: Rick Astley
Youtube: https://www.youtube.com/channel/UCuAXFkgsw1L7xaCfnd5JJOw

Twitter: https://twitter.com/rickastley

Facebook: https://www.facebook.com/RickAstley

Spotify: https://open.spotify.com/artist/0gxyHStUsqpMadRV0Di1Qt