An almost fully customizable language made in python!

Overview

What is whython?

An almost fully customizable language made in python!

Whython is a project language, the idea of it is that anyone can download and edit the language to make it suitable to what they want. This could be a change that makes it more like a language they know; a change that makes it easier for new people to learn the language; or even a change that makes it into a shitpost, it doesn't matter. You have the control!

How to run

  1. Download whython
  2. Run shell.py
  3. Have fun!

What can whython do?

At the point of writing this (the first main push) you can change anything in the file editable.py. This means you can change all the keywords (except = - / * ^) and all the builtin function names.

Keywords

For example, you may not like creating a variable like this:

var x = 10

and so you can change KEYWORDS_DICT["var"] to "let" and create a variable like this:

let x = 10

img.png
to
img_1.png

If you want to be super quirky you can even use emojis in the KEYWORDS_DICT and make some horrible emoji language!

Builtin functions

You may hate calling print like this:

print("Hello, World!")

and so you can change the global_symbol_table to be "shout" and print like this:

shout("Hello, World!")

img.png
to
img_1.png

Syntax

Sometimes it can be annoying typing out:

var x = 10

so you may want this:

x = 10

To do this change:
img.png
to
img_1.png

Todo

There are a couple of builtin function that have not been created yet, this will be done in the future.

  • to_str
  • to_int

What are the plans?

I am planning to allow more control, for example a way to change all grammar rules and also easily add builtins (right now its kind of tedious).

How can I contribute?

Either create a request on GitHub or message me on discord Nexin#0001 to ask for new features.

Background

This project was meant to be something small to learn about how languages run, but now it's a little more than that. I was originally following codepulse's tutorial on YouTube but have since change a lot of the grammar rules and made it easier to debug.

You might also like...
A simple language for new programmers and a toy language ;)
A simple language for new programmers and a toy language ;)

Yell An extremely simple, yet powerful language for new programmers, as well as a toy language ;) Explore the docs » Report Bug · Request Feature Yell

A C-like hardware description language (HDL) adding high level synthesis(HLS)-like automatic pipelining as a language construct/compiler feature.
A C-like hardware description language (HDL) adding high level synthesis(HLS)-like automatic pipelining as a language construct/compiler feature.

██████╗ ██╗██████╗ ███████╗██╗ ██╗███╗ ██╗███████╗ ██████╗ ██╔══██╗██║██╔══██╗██╔════╝██║ ██║████╗ ██║██╔════╝██╔════╝ ██████╔╝██║██████╔╝█

A Python script made for the Python Discord Pixels event.

Python Discord Pixels A Python script made for the Python Discord Pixels event. Usage Create an image.png RGBA image with your pattern. Transparent pi

this is a basic python project that I made using python

this is a basic python project that I made using python. This project is only for practice because my python skills are still newbie.

Analisador de strings feito em Python // String parser made in Python

Este é um analisador feito em Python, neste programa, estou estudando funções e a sua junção com "if's" e dados colocados pelo usuário. Neste código,

Driving lessons made simpler. Custom scheduling API built with Python.
Driving lessons made simpler. Custom scheduling API built with Python.

NOTE This is a mirror of a GitLab repository. Dryvo Dryvo is a unique solution for the driving lessons industry. Our aim is to save the teacher’s time

A Python utility belt containing simple tools, a stdlib like feel, and extra batteries. Hashing, Caching, Timing, Progress, and more made easy!
A Python utility belt containing simple tools, a stdlib like feel, and extra batteries. Hashing, Caching, Timing, Progress, and more made easy!

Ubelt is a small library of robust, tested, documented, and simple functions that extend the Python standard library. It has a flat API that all behav

python based clash stars made by grade 7 and 5
python based clash stars made by grade 7 and 5

clash_stars python based clash stars made by grade 7 and 5 How to play: PLAYER ONE (LEFT PLAYER) Move: W,A,S,D Shoot: SHIFT PLAYER TWO (RIGHT PLAYER)

Releases(1.3)
  • 1.3(Jan 5, 2022)

  • 0.0.4(Aug 25, 2021)

    The other week I posted a repo about whython, an almost fully customizable language wrote in python. There where a couple of suggestions for additions and during my spare time over the last week I have been slowly adding these. The new features include:

    Evals

    There are things in this language that you can only do in python. If you need to run python eval then you can do: var test = print("This is from python") eval(test)

    You can also use functions and loops in the eval var test = def test(): for i in range(10): print(i) test() eval(test)

    Grammar rules

    Some people didn't like that you needed to use "var" to assign variables. Although this was changeable you can now use turn off this need. For more information check out https://github.com/NexInfinite/whython#syntax but basically it goes from var test = "hello"

    to test = "hello"

    EmOJis

    Someone jokingly suggested that you should be able to use emojis and I decided to make this real so now you can change any keyword to an emoji. For example 😀 x = "test" print(x) -> test

    Builtins

    Builtins can now be edited, for example changing "print" to "shout". Check out https://github.com/NexInfinite/whython#builtin-functions for more.

    Anyway here's the link to the repo's base: https://github.com/NexInfinite/whython Made using python 3.9

    Source code(tar.gz)
    Source code(zip)
  • 0.0.3(Aug 14, 2021)

    You can now use emojis in the keywords section and you can remove "var" from the front of assignment of variables. This can make the language feel more like python if that is something you are after!

    Source code(tar.gz)
    Source code(zip)
  • 0.0.2(Aug 13, 2021)

  • 0.0.1(Aug 12, 2021)

Owner
Julian
Full stack dev. Python/Rust/Js
Julian
Extrator de dados do jupiterweb

Extrator de dados do jupiterweb O programa é composto de dois arquivos: Um constando apenas de classes complementares que representam as unidades e as

Bruno Aricó 2 Nov 28, 2022
HSPyLib is a Python library that will elevate your experience to another level.

HomeSetup Python Library - HSPyLib Your mature python application HSPyLib is a Python library that will elevate your experience to another level. It r

Hugo Saporetti Junior 4 Dec 14, 2022
Hartree-Fock Workshop for the Han-sur-Lesse Winterschool of 2021

Hartree-Fock course for the Han-sur-Lesse Winterschool of 2021 Requirements For going through these exercises, please install the Anaconda suite. Next

Ivo Filot 2 Nov 16, 2022
Custom SLURM wrapper scripts to make finding job histories and system resource usage more easily accessible

SLURM Wrappers Executables job-history A simple wrapper for grabbing data for completed and running jobs. nodes-busy Developed for the HPC systems at

Sara 2 Dec 13, 2021
A tutorial presents several practical examples of how to build DAGs in Apache Airflow

Apache Airflow - Python Brasil 2021 Este tutorial apresenta vários exemplos práticos de como construir DAGs no Apache Airflow. Background Apache Airfl

Jusbrasil 14 Jun 03, 2022
Simple calculator with random number button and dark gray theme created with PyQt6

Calculator Application Simple calculator with random number button and dark gray theme created with : PyQt6 Python 3.9.7 you can download the dark gra

Flamingo 2 Mar 07, 2022
A function decorator for enforcing function signatures

A function decorator for enforcing function signatures

Emmanuel I. Obi 0 Dec 08, 2021
On this repo, you'll find every codes I made during my NSI classes (informatical courses)

👨‍💻 👩‍💻 school-codes On this repo, you'll find every codes I made during my NSI classes (informatical courses) French for now since this repo is d

EDM 1.15 3 Dec 17, 2022
Schemdule is a tiny tool using script as schema to schedule one day and remind you to do something during a day.

Schemdule is a tiny tool using script as schema to schedule one day and remind you to do something during a day. Platform Python Install Use pip: pip

StardustDL 4 Sep 13, 2021
Pre-1.0 door/chest sound injector for Minecraft

doorjector Pre-1.0 door/chest sound injector for Minecraft. While the game is running, doorjector hotswaps the new sounds for the old right before the

Sam 1 Nov 20, 2021
La version open source du bot Discord Sblerboy

Sblerboy-Open-Source La version open source du bot Discord Sblerboy Sblerboy est un bot Discord permettant de jouer à des jeux de Gameboy directement

15 Nov 19, 2022
A free and open-source chess improvement app that combines the power of Lichess and Anki.

A free and open-source chess improvement app that combines the power of Lichess and Anki. Chessli Project Activity & Issue Tracking PyPI Build & Healt

93 Nov 23, 2022
Taking the fight to the establishment.

Throwdown Taking the fight to the establishment. Wat? I wanted a simple markdown interpreter in python and/or javascript to output html for my website

Trevor van Hoof 1 Feb 01, 2022
firefox session recovery

firefox session recovery

Ahmad Sadraei 5 Nov 29, 2022
A web app that is written entirely in Python

University Project About I made this web app to finish a project assigned by my teacher. It is written entirely in Python, thanks to streamlit to make

15 Nov 27, 2022
Imitate Moulinette written in Python

Imitate Moulinette written in Python

Pumidol Leelerdsakulvong 2 Jul 26, 2022
Calculator in command line using python programming language

Calculator in command line using python programming language University of the People Python fundamental Chapter 5 Conditionals and recursion The main

mark sikaundi 3 Dec 09, 2021
Test to grab m3u from YouTube live.

YouTube_to_m3u https://raw.githubusercontent.com/benmoose39/YouTube_to_m3u/main/youtube.m3u Updated m3u links of YouTube live channels, auto-updated e

136 Jan 06, 2023
Cup Noodle Vending Maching Ordering Queue

Noodle-API Cup Noodle Vending Machine Ordering Queue Install dependencies in virtual environment python3 -m venv

Jonas Kazlauskas 1 Dec 09, 2021
The repository is about 100+ python programming exercise problem discussed, explained, and solved in different ways

Break The Ice With Python A journey of 100+ simple yet interesting problems which are explained, solved, discussed in different pythonic ways Introduc

Abdullah Al Masud Tushar 2.2k Jan 04, 2023