Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: about 2 months 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/
- Host: GitHub
- URL: https://github.com/Rick-Lang/rickroll-lang
- Owner: Rick-Lang
- License: mit
- Created: 2021-05-16T16:37:07.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-07-26T23:30:59.000Z (5 months ago)
- Last Synced: 2024-08-02T17:37:28.171Z (5 months ago)
- Topics: 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
- Language: Python
- Homepage: https://rick-lang.github.io/rickroll-lang/
- Size: 42.2 MB
- Stars: 738
- Watchers: 13
- Forks: 54
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
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 supportWechat/微信: 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