Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
groteworld
GitHub Repository: groteworld/pikalang
Path: blob/master/README.md
120 views

PIKALANG - The Pikachu Programming Language



A brainfuck derivative based off the vocabulary of Pikachu from Pokémon.

Syntax

pikalangbrainfuckdescription
pi+increment the byte at pointer
ka-decrement the byte at pointer
pika[if pointer is zero, jump to matching chu
chu]if pointer is nonzero, jump to matching pika
pipi>increment the data pointer
pichu<decrement the data pointer
pikapi,input of one byte into pointer
pikachu.output the byte at pointer

Installation

stable:

pip install pikalang

or bleeding edge...

git clone https://github.com/grotewold/pikalang.git cd pikalang python setup.py install

Usage

pikalang path/to/file.pokeball

File Extention

A pikalang program must be stored in a file with a .pokeball extention

API Usage

import pikalang sourcecode = """ pi pi pi pi pi pi pi pi pi pi pika pipi pi pi pi pi pi pi pi pipi pi pi pi pi pi pi pi pi pi pi pipi pi pi pi pipi pi pichu pichu pichu pichu ka chu pipi pi pi pikachu pipi pi pikachu pi pi pi pi pi pi pi pikachu pikachu pi pi pi pikachu pipi pi pi pikachu pichu pichu pi pi pi pi pi pi pi pi pi pi pi pi pi pi pi pikachu pipi pikachu pi pi pi pikachu ka ka ka ka ka ka pikachu ka ka ka ka ka ka ka ka pikachu pipi pi pikachu pipi pikachu """ # or use sourcecode = pikalang.load_source("FILENAME.pokeball") to load from file pikalang.evaluate(sourcecode)

Development

When developing, use pipenv to install needed tools.

pipenv install pipenv run black . pipenv run python -m pikalang tests/hello-world.pokeball

Thanks

Special thanks to Elliot Chance for providing the base implementation of this.

Disclaimer

This is a fan-based parody of themes from Pokémon. The language, as well as its author, is in no way associated with the Pokémon francise and its creators, nor is this project, in any way, for-profit. This is a project to teach myself ply, which is protected under fair use.